Introdução
A modelagem de dados do DEVMOB segue uma arquitetura baseada em Domains do Domain-Driven Design. Cada domain agrupa entidades relacionadas a um domínio específico do negócio de transporte rodoviário de passageiros.Convenções
| Convenção | Descrição |
|---|---|
| Identificadores | IDs são opacos e ordenáveis, adequados para paginação por cursor |
| Valores monetários | Armazenados em centavos (Int) — ex.: R$ 15,50 = 1550 |
| Rates derivados | Quando documentados, usam basis points (Int) — ex.: 10.00% = 1000 |
| Timestamps | Formato ISO 8601 (DateTime) |
| Remoção lógica | Campo deletedAt indica quando um recurso foi removido logicamente |
| Audit trail | Registra mutações relevantes para rastreabilidade |
Domains
O sistema está organizado em 14 grupos de modelagem e uma seção transversal de webhooks:Identity
Usuários, sessões, passageiros (Customer), endereços, OTP e Profile. 6 entidades.
Tenant
Organizações, cooperativas, empresas, funcionários, memberships e convites. 7 entidades.
Authorization
Roles e atribuição de permissions do catálogo estático exposto via API. 2 entidades.
Fleet
Motoristas, veículos, tipos de assento e mapa de assentos. 4 entidades.
Operations
Pontos, rotas, aprovações, viagens, avaliações, tracking, paradas, itinerários, eventos, ocupação de assentos e programações recorrentes. 13 entidades.
Sales
Checkouts, pedidos, bilhetes, atividades de bilhete e passageiros. 5 entidades.
Benefits
Gratuidades, descontos, solicitações, validação documental e histórico de uso.
Credit Grant
Créditos concedidos por Company e movimentos de uso. 2 entidades.
Promotion
Catálogo, regras fixas de validação e histórico de aplicação de promoções. 6 entidades.
Support
Chamados, mensagens, anexos, atribuições, categorias e avaliação do atendimento.
Communication
Notificações persistidas, inbox e estado por destinatário. 2 entidades.
Export
Catálogo, agendamentos e jobs para exportação assíncrona de dados.
Billing
Configuração de billing da empresa, pagamentos, métodos de pagamento, recebíveis, contas bancárias e transferências.
Webhooks
Registro de eventos externos recebidos com idempotência e status de processamento.
Observability
Log de auditoria para rastreabilidade. 1 entidade.