Skip to main content

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çãoDescrição
IdentificadoresIDs são opacos e ordenáveis, adequados para paginação por cursor
Valores monetáriosArmazenados em centavos (Int) — ex.: R$ 15,50 = 1550
Rates derivadosQuando documentados, usam basis points (Int) — ex.: 10.00% = 1000
TimestampsFormato ISO 8601 (DateTime)
Remoção lógicaCampo deletedAt indica quando um recurso foi removido logicamente
Audit trailRegistra 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.