TripTrackingPoint registra o histórico completo dos pings GPS aceitos durante uma Trip.
Ele não substitui TripTracking. TripTracking guarda apenas o último ping aceito para leitura rápida; TripTrackingPoint guarda o trajeto completo para mapa, auditoria, análise de quilometragem e investigação posterior.
Campos
Relacionamentos
- Relaciona-se com Trip.
- Relaciona-se com TripTracking, quando o ponto também atualiza o último ping.
- Relaciona-se com Cooperative.
- Relaciona-se com TransportOperator.
- Relaciona-se com Driver.
Regras de Negócio
- Cada ping GPS aceito cria um TripTrackingPoint.
- TripTrackingPoint é append-only: não deve ser atualizado para corrigir trajeto.
sequencedeve ser incremental portripId.acceptedAtordena o histórico quando houver diferença entre relógio do dispositivo e backend.- O histórico só recebe pings quando a Trip está
IN_PROGRESS. - Pings rejeitados por status, coordenada inválida ou autorização não entram no histórico aceito.
cooperativeId,transportOperatorIdedriverIddevem repetir o contexto da Trip no momento do aceite.- O último TripTrackingPoint aceito deve refletir os mesmos dados do TripTracking da Trip.
- Retenção, compactação ou arquivamento de pontos antigos deve preservar a rastreabilidade exigida pela operação.