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

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: Os itinerários possíveis seriam:

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.