Campos
| Campo | Tipo | Descrição |
|---|---|---|
organizationId | UUID | Identificador único |
type | OrganizationType | Tipo da organização |
name | String | Razão social ou nome fantasia |
document | String | CNPJ da organização |
documentType | DocumentType | Tipo do documento |
logo | String? | Chave do objeto de armazenamento do logotipo |
phoneIso | String? | Código ISO do país do telefone |
phoneDdi | String? | DDI do telefone |
phoneNumber | String? | Número do telefone |
phoneVerified | Boolean | Indica se o telefone foi verificado |
email | String? | Email de contato da organização |
emailVerified | Boolean | Indica se o email foi verificado |
status | OrganizationStatus | Status operacional da organização |
createdBy | UUID? | Usuário que criou o registro, quando aplicável |
createdAt | DateTime | Data de criação |
updatedBy | UUID? | Usuário que fez a última atualização, quando aplicável |
updatedAt | DateTime | Data da última atualização |
deletedBy | UUID? | Usuário que removeu o registro, quando aplicável |
deletedAt | DateTime? | Data de remoção |
Relacionamentos
- Has one (optional) Company
- Has one (optional) Cooperative
- Has one (optional) OrganizationAddress
- Relaciona-se com múltiplos Role
- Relaciona-se com múltiplos Membership
- Relaciona-se com múltiplos Invite
- Relaciona-se com múltiplos AuditLog
- Relaciona-se com múltiplos Payment quando representa uma empresa
- Relaciona-se com múltiplos Receivable quando representa uma empresa
- Relaciona-se com múltiplos Transfer quando representa uma empresa
Regras de Negócio
- A
Organizationé a entidade base de tenant e RBAC do sistema. - O campo
document(CNPJ) deve ser único. - O campo
typerepresenta o tipo da organização, podendo serCOOPERATIVEouCOMPANY. - Cooperativas administram empresas, mas não participam do fluxo de billing.
- Empresas são a unidade operacional e financeira do domínio de transporte.
- A relação Cooperativa -> Empresa é modelada em Company.cooperativeId, mantendo cada entidade com sua própria
Organization. statuscentraliza bloqueio e inativação administrativa para Company e Cooperative.- Organizações
BLOCKEDnão devem permitir novas operações no escopo afetado.
Enums
OrganizationType
| Valor | Descrição |
|---|---|
COOPERATIVE | Cooperativa que administra empresas afiliadas |
COMPANY | Empresa de transporte |
OrganizationStatus
| Valor | Descrição |
|---|---|
ACTIVE | Organização ativa |
INACTIVE | Organização inativa para operação |
BLOCKED | Organização bloqueada administrativamente |