Domains
Identity
Usuários, credenciais, autenticação e segurança. Quem é o usuário no sistema.
Tenant
Organizações, cooperativas, empresas, memberships e convites. Estrutura organizacional.
Authorization
RBAC com roles e permissions por organização. O que cada usuário pode fazer.
Fleet
Frota de veículos, layout de assentos, categorias de assento e motoristas.
Operations
Rotas, viagens, itinerários, disponibilidade de assentos e eventos operacionais.
Sales
Pedidos e passagens. O fluxo comercial de venda até a emissão da passagem.
Benefits
Gratuidades e descontos tarifários: catálogo, programas, documentos e uso no pedido.
Credit Grant
Créditos corporativos comprados por Company e usados por Customer em tickets.
Support
Chamados, mensagens, anexos, atribuições e satisfação de atendimento.
Communication
Notificações persistidas para inbox e realtime dentro do produto.
Export
Exportação de dados por catálogo, job assíncrono e agendamento.
Billing
Pagamentos, recebíveis e transferências.
Observability
Logs de auditoria para rastreabilidade.
Platform
Capacidades transversais: configuração global, armazenamento de arquivos e relatórios.
Como os Domains se Relacionam
O fluxo principal do sistema segue esta sequência:- Identity define quem são os usuários (dados pessoais, credenciais).
- Tenant organiza os usuários em organizações, cooperativas e empresas.
- Authorization define o que cada usuário pode fazer dentro de cada organização.
- Fleet permite que cooperativas cadastrem veículos, layouts de assento e motoristas vinculados a permissionários.
- Operations usa a frota para criar rotas, autorizar permissionários e agendar viagens com paradas (TripStop) e itinerários compráveis.
- Sales permite vender passagens para os itinerários das viagens. Cada Order pertence a uma cooperativa.
- Benefits reduz o preço conforme suas regras; Credit Grant compõe pagamento, mas o uso definitivo do crédito sempre acontece por Ticket.
- Billing processa pagamentos, sincroniza recebíveis e registra transferências no provedor de billing. O gateway fee é recebido via webhook, não pré-configurado.
- Support, Communication e Export cobrem atendimento, notificações persistidas e exportação operacional.
Cada domain possui suas próprias entidades, regras de negócio e invariantes. Operações críticas que cruzam domains devem preservar consistência entre os dados envolvidos. Eventos assíncronos são usados para efeitos complementares, como notificações e atualizações vindas de integrações externas.