Skip to main content
Um TripItinerary representa um segmento comprável dentro de uma viagem (Trip). Enquanto a Route define o trajeto completo (origem-destino), os itinerários permitem que trechos parciais sejam vendidos separadamente com preços independentes.

Campos

CampoTipoDescrição
tripItineraryIdUUIDIdentificador único
tripIdUUIDViagem à qual pertence
fromStopIdUUIDReferência à parada de embarque relacionada a TripStop
toStopIdUUIDReferência à parada de desembarque relacionada a TripStop
priceintegerPreço do itinerário em centavos
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 de última atualização
deletedByUUID?Usuário que removeu o registro, quando aplicável
deletedAtdatetime?Data de remoção

Relação com TripStop

Os campos fromStopId e toStopId referenciam paradas físicas (TripStop) da viagem. Cada TripStop possui um stopOrder que define sua posição na sequência. Os dados geográficos (nome, lat, lng) e temporais (arrivalAt, departureAt) são centralizados na TripStop.

Exemplo

Considere uma viagem com 4 paradas:
TripStopstopOrdername
stop-a0São Paulo
stop-b1Volta Redonda
stop-c2Juiz de Fora
stop-d3Rio de Janeiro
Os itinerários possíveis seriam:
TripItineraryfromStoptoStopSegmentos ocupados
SP → Volta Redondastop-a (0)stop-b (1)0-1
SP → Juiz de Forastop-a (0)stop-c (2)0-1, 1-2
SP → Rio de Janeirostop-a (0)stop-d (3)0-1, 1-2, 2-3
Volta Redonda → Juiz de Forastop-b (1)stop-c (2)1-2
Volta Redonda → Rio de Janeirostop-b (1)stop-d (3)1-2, 2-3
Juiz de Fora → Rio de Janeirostop-c (2)stop-d (3)2-3

Precificação Independente

Cada itinerário tem seu próprio preço, independente dos demais. O preço do trecho SP → Rio não precisa ser a soma de SP → VR + VR → JF + JF → Rio.
A precificação independente permite estratégias comerciais flexíveis. Por exemplo, o trecho completo pode ter desconto em relação à soma dos trechos parciais para incentivar viagens longas.

Relação com TripSeatSegment

Os segmentos ocupados por um itinerário são determinados pelo range de stopOrder entre as paradas referenciadas. Isso garante que assentos não sejam vendidos em duplicidade para trechos sobrepostos.
Se um passageiro compra SP → Rio (segmentos 0-1-2-3) no assento 5, ninguém mais pode comprar VR → JF no assento 5, pois o segmento 1-2 já está ocupado.