Skip to main content
O TripEvent registra ocorrências operacionais durante o ciclo de vida de uma viagem. Eventos podem ser globais (afetam toda a viagem) ou escopados a uma parada (TripStop) específica.

Campos

Tipos de Evento

TripEventType

Eventos Globais vs Escopados

Evento Global (tripStopId = null)

Afeta a viagem inteira. Exemplos:
  • Troca de motorista — impacta todos os passageiros.
  • Troca de veículo — impacta todos os passageiros.
  • Atraso na partida da viagem — afeta todas as paradas.

Evento Escopado a Parada

Afeta apenas passageiros que embarcam ou desembarcam em uma parada específica. Exemplos:
  • Embarque iniciado na parada de Volta Redonda — relevante apenas para passageiros que embarcam ou desembarcam ali.
  • Atraso de chegada em Juiz de Fora — impacta apenas itinerários que passam por esse ponto.

Dados Adicionais (metadata)

O campo metadata armazena dados estruturados específicos do tipo de evento (união discriminada por type):

Efeitos do registro

Registrar uma ocorrência cria um TripEvent vinculado à viagem. Quando o tipo é BOARDING_COMPLETED, o registro representa a conclusão de embarque daquela viagem/parada.
Registrar um evento não altera o status da viagem. Em particular, BOARDING_COMPLETED não move a viagem para IN_PROGRESS.
TripEvents não recebem edição de conteúdo no fluxo de negócio. Eles formam um histórico operacional da viagem.