Skip to main content

Campos

CampoTipoDescrição
tripIdUUIDIdentificador único
companyIdUUIDReferência à empresa
routeIdUUIDReferência à rota
vehicleIdUUIDReferência ao veículo
driverIdUUIDReferência ao motorista
departureAtDateTimeData e hora de partida
estimatedArrivalAtDateTimeData e hora estimada de chegada
statusTripStatusStatus da viagem
createdByUUID?Usuário que criou o registro, quando aplicável
createdAtDateTimeData de criação
updatedByUUID?Usuário que fez a última atualização, quando aplicável
updatedAtDateTimeData da última atualização
deletedByUUID?Usuário que removeu o registro, quando aplicável
deletedAtDateTime?Data de remoção

Relacionamentos

Regras de Negócio

  • Representa uma partida programada combinando rota + veículo + motorista.
  • Criada pela empresa de transporte (avulsa ou materializada por uma TripSchedule) e disponibilizada para venda.
  • A chave companyId + departureAt + routeId + vehicleId + driverId identifica uma viagem materializada e evita duplicidade.
  • O último ping GPS aceito fica em TripTracking.
  • Trip não guarda campos de tracking diretamente.
  • A Trip só deve aceitar atualização de tracking enquanto status = IN_PROGRESS.
  • Se o app do motorista parar de enviar localização por tempo acima da tolerância operacional, TripTracking.acceptedAt fica como fonte para detectar tracking desatualizado.

Enums

TripStatus

ValorDescrição
SCHEDULEDViagem agendada, ainda não iniciada
IN_PROGRESSViagem em andamento
COMPLETEDViagem concluída
CANCELLEDViagem cancelada

Example

{
  "tripId": "0197a80f-2d8f-7710-b243-b67fb477a1c0",
  "companyId": "0197a801-6a42-79aa-9e56-d3c85148c0fa",
  "routeId": "0197a80c-4204-7b77-9005-48cc23677587",
  "vehicleId": "0197a809-3eb8-7eb8-9c4f-8a6c2e7e5b1a",
  "driverId": "0197a807-1ec7-75e8-8ff8-df64dd070046",
  "departureAt": "2026-07-04T08:00:00.000Z",
  "estimatedArrivalAt": "2026-07-04T12:30:00.000Z",
  "status": "IN_PROGRESS",
  "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "createdAt": "2026-07-03T15:30:00.000Z",
  "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "updatedAt": "2026-07-03T15:30:00.000Z",
  "deletedBy": null,
  "deletedAt": null
}