Overview
Esta página centraliza a representação atual dos relacionamentos entre as entities documentadas em Data Modelling. Os diagramas mostram ownership, cardinalidade e dependências principais por domain.
Domains
| Domain | Entities e views documentadas |
|---|
| Identity | User, UserSession, Customer, CustomerAddress, OTP, Profile |
| Tenant | Organization, OrganizationAddress, Cooperative, Company, Employee, Invite, Membership |
| Authorization | Role, RolePermission |
| Fleet | Driver, DriverCompany, Vehicle, Seat, SeatType |
| Operations | Point, Route, RouteApproval, TripSchedule, TripScheduleStop, TripScheduleItinerary, Trip, TripReview, TripTracking, TripStop, TripItinerary, TripEvent, TripSeatSegment |
| Sales | Checkout, Order, Ticket, TicketActivity, Passenger |
| Benefits | FareBenefitCategory, FareBenefitProgram, PassengerBenefitRequest, BenefitDocumentValidation, BenefitUsageHistory |
| Credit Grant | CreditGrant, CreditLedgerEntry |
| Promotion | Promotional, PromotionalRouteRule, PromotionalRoundTripRule, PromotionalMultiTicketRule, PromotionalLowDemandTimeRule, PromotionalUsageHistory |
| Support | SupportCase, SupportCaseMessage, SupportCaseAttachment, SupportCaseAssignment, SupportCaseCategory, SupportCaseSatisfactionRating |
| Communication | Notification, NotificationRecipient |
| Export | ExportResource, ExportScheduled, ExportJob |
| Billing | CompanyPaymentSettings, Payment, PaymentMethod, Receivable, BankAccount, Transfer |
| Webhooks | Webhook |
| Observability | AuditLog |
ERD global
ERD por domain
| Domain | Representação atual |
|---|
| Identity | User centraliza autenticação. UserSession registra sessões revogáveis. Customer, CustomerAddress, OTP e a view Profile derivam identidade, contato, endereço e escopo autenticado. |
| Tenant | Organization é a raiz multi-tenant. Cooperative e Company especializam a organização, com Cooperative administrando múltiplas companies. Membership, Invite e Employee modelam acesso, convite e vínculo operacional. |
| Authorization | Role pertence à organização e agrega RolePermission. Membership e Invite apontam para a role que concede acesso. |
| Fleet | Company mantém veículos, motoristas por empresa e mapa de assentos. Driver nasce do User; DriverCompany guarda o vínculo operacional por company. |
| Operations | Route, RouteApproval, TripSchedule, Trip, TripReview e TripTracking organizam rota, aprovação, programação, execução, avaliação da viagem, último tracking GPS, paradas, itinerários vendáveis, eventos e ocupação de assentos por trecho. |
| Sales | Checkout agrupa Order. Order contém Ticket, referencia comprador, company e pagamento. TicketActivity registra tentativas de uso, validações e reimpressões. |
| Benefits | FareBenefitCategory define tipos gerais. FareBenefitProgram configura aplicação por contexto. PassengerBenefitRequest, BenefitDocumentValidation e BenefitUsageHistory registram solicitação, validação e uso aplicado ao pedido. |
| Credit Grant | CreditGrant registra crédito concedido por company a Customer. CreditLedgerEntry registra concessão, reserva, consumo, estorno e expiração do crédito. Regras de funcionário validam elegibilidade antes da concessão, mas não criam FK para Employee no crédito. |
| Promotion | Promotional é a promoção configurada pela company. As regras fixas vivem em tabelas próprias por tipo, e PromotionalUsageHistory registra a aplicação no checkout, order ou ticket. |
| Support | SupportCase organiza chamado, categoria, mensagens, anexos, atribuições e avaliação de satisfação. Pode apontar para order, trip review, ticket ou trip conforme o contexto. |
| Communication | Notification guarda conteúdo e contexto da notificação. NotificationRecipient guarda leitura, entrega, arquivamento e remoção por usuário. |
| Export | ExportResource cataloga recursos exportáveis. ExportScheduled define recorrência. ExportJob registra a execução e o arquivo gerado. |
| Billing | Payment registra cobrança da order. Receivable detalha valores a receber por company. BankAccount, Transfer, PaymentMethod e CompanyPaymentSettings sustentam pagamento, repasse e configuração financeira. |
| Webhooks | Webhook guarda eventos externos por provider, identificadores externos, payload e status de processamento, sem FK local documentada. |
| Observability | AuditLog registra ações por organização e usuário para rastreabilidade operacional. |
Identity, Tenant e Authorization
Profile é uma view consolidada do usuário autenticado. Ele deriva dados de User, Customer, roles, memberships e vínculos operacionais.
Fleet e Operations
TripScheduleItinerary referencia paradas por stopOrder dentro da mesma programação. O vínculo direto com TripScheduleStop não é FK documentada hoje.
Sales e Billing
Benefits
PromotionalUsageHistory.validatedRuleId aponta para a tabela de regra compatível com validatedRuleType: PromotionalRouteRule, PromotionalRoundTripRule, PromotionalMultiTicketRule ou PromotionalLowDemandTimeRule.
Support
Communication
Notification.resourceDomain, Notification.resource e Notification.resourceId apontam para o recurso relacionado sem FK direta. O front resolve a rota de abertura pelo type da notificação e pelo recurso relacionado.
Export
Webhooks e Observability
Webhook referencia recursos externos pelo payload e pelos identificadores do provider. Ele não possui FK local documentada hoje.