Skip to main content

Campos

CampoTipoDescrição
tripStopIdUUIDIdentificador único
tripIdUUIDReferência à viagem
pointIdUUIDReferência ao Point do catálogo global
stopOrderIntPosição ordinal da parada na sequência da viagem
arrivalAtDateTime?Data/hora de chegada (null para primeira parada)
departureAtDateTime?Data/hora de partida (null para última parada)
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

Relacionamentos

  • Relaciona-se com Trip
  • Relaciona-se com Point
  • Relaciona-se com múltiplos TripItinerary (como origem via fromStopId)
  • Relaciona-se com múltiplos TripItinerary (como destino via toStopId)
  • Relaciona-se com múltiplos TripEvent

Regras de Negócio

  • Cada posição ordinal é única dentro de uma viagem.
  • Nome e coordenadas da parada vivem em Point — TripStop só referencia via pointId.
  • A primeira parada (stopOrder = 0) tem arrivalAt = null (é o ponto de partida).
  • A última parada tem departureAt = null (é o destino final).
  • Os horários são preenchidos conforme a viagem progride — na criação, representam estimativas.
  • Paradas definem a timeline real da viagem; dados geográficos são centralizados no catálogo global de Points.

Sequência de paradas

Viagem SP → Campinas → Ribeirão Preto (nomes resolvidos via Point):
stopOrderPointarrivalAtdepartureAt
0São Paulonull08:00
1Campinas09:3009:45
2Ribeirão Preto12:00null

Example

{
  "tripStopId": "0197a810-1ec9-7a9a-9a41-df98334b870e",
  "tripId": "0197a80f-2d8f-7710-b243-b67fb477a1c0",
  "pointId": "0197a80b-3f5c-7f5c-86e9-ff4f8a6ce1dc",
  "stopOrder": 0,
  "arrivalAt": null,
  "departureAt": "2026-07-04T08:00:00.000Z",
  "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "createdAt": "2026-07-03T15:31:00.000Z",
  "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "updatedAt": "2026-07-03T15:31:00.000Z"
}