Entidades
Points
Catálogo global de localidades reutilizáveis com nome, descrição e coordenadas opcionais. Padroniza filtros de busca entre empresas.
Routes
Pares fixos de origem-destino definidos por empresa, com aprovação antes de uso operacional.
Trips
Viagem agendada = rota + veículo + motorista. Ciclo de vida, disponibilidade e último GPS conhecido.
Trip Review
Avaliação da viagem pelo cliente: motorista e empresa.
Trip Schedules
Programações recorrentes que materializam viagens vendáveis em um horizonte móvel de 90 dias.
Itineraries
Trechos compráveis dentro de uma viagem, referenciando pares de paradas (TripStops) com preços independentes.
Seat Availability
Ocupação por segmento via TripSeatSegment; disponibilidade = capacidade do veículo − assentos vendidos.
Trip Events
Eventos operacionais: atrasos, trocas de motorista/veículo, embarque e incidentes.
Routing
Preview de rota (polyline, distância, duração) sobre Points.
Places
Busca externa que alimenta a criação de Points com nome e coordenadas.
Fluxo Geral
Conceitos-Chave
- Point é o catálogo global de localidades — compartilhado entre todas as empresas para padronizar nomes, coordenadas e o filtro de busca no app do passageiro. Coordenadas são opcionais.
- Place é a busca externa usada para descobrir e geocodificar um local antes de criar um Point.
- Route é fixa — define um par origem-destino (referenciando Points) reutilizável em múltiplas viagens. Ela nasce em
PENDING_APPROVALe precisa ser aprovada para virarACTIVE. - Routing calcula o preview de uma rota (polyline/distância/duração) sobre uma sequência de Points. Trechos com Points sem coordenadas viram
GAP. - Trip é uma instância de viagem agendada, com data/hora, veículo, motorista e último ponto GPS aceito enquanto estiver em andamento.
- TripReview registra a avaliação de uma Trip comprada dentro de um Order.
- TripSchedule é o template recorrente que materializa viagens futuras em lote.
- TripStop define as paradas físicas da viagem referenciando Points do catálogo global, com horários por viagem.
- TripItinerary referencia pares de TripStops como trechos compráveis com preços independentes.
- TripSeatSegment garante que um assento não seja vendido duas vezes para o mesmo trecho.
- TripEvent registra ocorrências operacionais durante a viagem, escopadas a uma parada ou globais.
O domínio de Operations não processa vendas diretamente — ele disponibiliza itinerários e assentos que serão comercializados pelo domínio de Sales.