Skip to main content

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

DomainEntities e views documentadas
IdentityUser, UserSession, Customer, CustomerAddress, OTP, Profile
TenantOrganization, OrganizationAddress, Cooperative, Company, Employee, Invite, Membership
AuthorizationRole, RolePermission
FleetDriver, DriverCompany, Vehicle, Seat, SeatType
OperationsPoint, Route, RouteApproval, TripSchedule, TripScheduleStop, TripScheduleItinerary, Trip, TripReview, TripTracking, TripStop, TripItinerary, TripEvent, TripSeatSegment
SalesCheckout, Order, Ticket, TicketActivity, Passenger
BenefitsFareBenefitCategory, FareBenefitProgram, PassengerBenefitRequest, BenefitDocumentValidation, BenefitUsageHistory
Credit GrantCreditGrant, CreditLedgerEntry
PromotionPromotional, PromotionalRouteRule, PromotionalRoundTripRule, PromotionalMultiTicketRule, PromotionalLowDemandTimeRule, PromotionalUsageHistory
SupportSupportCase, SupportCaseMessage, SupportCaseAttachment, SupportCaseAssignment, SupportCaseCategory, SupportCaseSatisfactionRating
CommunicationNotification, NotificationRecipient
ExportExportResource, ExportScheduled, ExportJob
BillingCompanyPaymentSettings, Payment, PaymentMethod, Receivable, BankAccount, Transfer
WebhooksWebhook
ObservabilityAuditLog

ERD global

ERD por domain

DomainRepresentação atual
IdentityUser centraliza autenticação. UserSession registra sessões revogáveis. Customer, CustomerAddress, OTP e a view Profile derivam identidade, contato, endereço e escopo autenticado.
TenantOrganization é 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.
AuthorizationRole pertence à organização e agrega RolePermission. Membership e Invite apontam para a role que concede acesso.
FleetCompany mantém veículos, motoristas por empresa e mapa de assentos. Driver nasce do User; DriverCompany guarda o vínculo operacional por company.
OperationsRoute, 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.
SalesCheckout agrupa Order. Order contém Ticket, referencia comprador, company e pagamento. TicketActivity registra tentativas de uso, validações e reimpressões.
BenefitsFareBenefitCategory define tipos gerais. FareBenefitProgram configura aplicação por contexto. PassengerBenefitRequest, BenefitDocumentValidation e BenefitUsageHistory registram solicitação, validação e uso aplicado ao pedido.
Credit GrantCreditGrant 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.
PromotionPromotional é 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.
SupportSupportCase 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.
CommunicationNotification guarda conteúdo e contexto da notificação. NotificationRecipient guarda leitura, entrega, arquivamento e remoção por usuário.
ExportExportResource cataloga recursos exportáveis. ExportScheduled define recorrência. ExportJob registra a execução e o arquivo gerado.
BillingPayment registra cobrança da order. Receivable detalha valores a receber por company. BankAccount, Transfer, PaymentMethod e CompanyPaymentSettings sustentam pagamento, repasse e configuração financeira.
WebhooksWebhook guarda eventos externos por provider, identificadores externos, payload e status de processamento, sem FK local documentada.
ObservabilityAuditLog 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

Credit Grant e Promotion

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.