Skip to main content

Campos

CampoTipoDescrição
tripTrackingIdUUIDIdentificador único
tripIdUUIDReferência única à viagem
driverIdUUIDReferência ao motorista que enviou o último ping
latitudeFloatLatitude do último ping aceito
longitudeFloatLongitude do último ping aceito
accuracyMetersInt?Precisão do último ping em metros
speedKmhFloat?Velocidade reportada no último ping
headingDegreesFloat?Direção reportada no último ping, em graus
sourceTripTrackingSourceOrigem do último ping
recordedAtDateTime?Data/hora do último ping informada pelo dispositivo
acceptedAtDateTimeData/hora em que o backend aceitou o último ping
createdByUUID?Usuário que criou o registro, quando aplicável
createdAtDateTimeData de criação
updatedByUUID?Usuário que atualizou o registro, quando aplicável
updatedAtDateTimeData da última atualização

Relacionamentos

  • Relaciona-se 1:1 com Trip
  • Relaciona-se com Driver

Regras de Negócio

  • TripTracking pertence ao domínio de Operations junto de Trip.
  • TripTracking é a tabela auxiliar 1:1 da Trip para o último ping GPS aceito.
  • tripId deve ser único em TripTracking.
  • Cada Trip pode ter no máximo um TripTracking.
  • Cada ping aceito atualiza o mesmo TripTracking da viagem.
  • TripTracking não guarda histórico de pings.
  • Um ping só pode atualizar TripTracking quando a Trip está IN_PROGRESS.
  • latitude deve estar entre -90 e 90.
  • longitude deve estar entre -180 e 180.
  • acceptedAt é a fonte para detectar tracking desatualizado.

Enums

TripTrackingSource

ValorDescrição
DRIVER_APP_FOREGROUNDPing enviado com o app do motorista em primeiro plano
DRIVER_APP_BACKGROUNDPing enviado pelo app do motorista em segundo plano

Example

{
  "tripTrackingId": "0197a812-12e1-77fb-a2d1-b6fbf0570f89",
  "tripId": "0197a80f-2d8f-7710-b243-b67fb477a1c0",
  "driverId": "0197a807-1ec7-75e8-8ff8-df64dd070046",
  "latitude": -23.55052,
  "longitude": -46.63331,
  "accuracyMeters": 12,
  "speedKmh": 42.7,
  "headingDegrees": 126.4,
  "source": "DRIVER_APP_BACKGROUND",
  "recordedAt": "2026-07-04T08:15:08.000Z",
  "acceptedAt": "2026-07-04T08:15:10.000Z",
  "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "createdAt": "2026-07-04T08:00:00.000Z",
  "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "updatedAt": "2026-07-04T08:15:10.000Z"
}