Entidades
Order Lifecycle
Checkout, Orders por empresa, atualização de pagamento e cancelamento.
Ticket Pricing
Como o preço final do ticket é composto a partir de seatPrice e tripItineraryPrice.
Ticket Activity
Histórico de validação, embarque, rejeição, falha e reimpressão de passagens.
Modelo de Dados
Conceitos-Chave
- Checkout agrupa a compra do cliente e pode gerar um ou mais Orders.
- Order é o agrupador de passagens de uma única empresa — um pedido pode conter um ou mais tickets e sempre possui Customer.
- Ticket é o item individual do pedido — representa uma passagem para um itinerário específico em um assento específico, com um passageiro associado.
- TicketActivity registra tentativas de validação, embarque, rejeições, falhas e reimpressões.
- O
companyIdidentifica a empresa responsável pelos tickets e pelo fluxo financeiro daquele Order. - Cada Order registra o cliente (
customerId→ Customer) e o usuário responsável pela criação do pedido (soldById→ User). - Os preços são congelados no momento da compra — alterações posteriores no itinerário ou categoria de assento não afetam passagens já emitidas. Cada Ticket também guarda um
snapshotdenormalizado para exibição. - Benefícios, promoções e créditos podem participar do checkout conforme suas próprias regras de domínio.
O Sales é o ponto de integração entre Operations e Billing. A venda de um Ticket ocupa assentos no TripSeatSegment (Operations) e gera obrigações de pagamento (Billing).