Skip to main content

Campos

CampoTipoDescrição
organizationIdUUIDIdentificador único
typeOrganizationTypeTipo da organização
nameStringRazão social ou nome fantasia
documentStringCNPJ da organização
documentTypeDocumentTypeTipo do documento
logoString?Chave do objeto de armazenamento do logotipo
phoneIsoString?Código ISO do país do telefone
phoneDdiString?DDI do telefone
phoneNumberString?Número do telefone
phoneVerifiedBooleanIndica se o telefone foi verificado
emailString?Email de contato da organização
emailVerifiedBooleanIndica se o email foi verificado
statusOrganizationStatusStatus operacional da organização
createdByUUID?Usuário que criou o registro, quando aplicável
createdAtDateTimeData de criação
updatedByUUID?Usuário que fez a última atualização, quando aplicável
updatedAtDateTimeData da última atualização
deletedByUUID?Usuário que removeu o registro, quando aplicável
deletedAtDateTime?Data de remoção

Relacionamentos

Regras de Negócio

  • A Organization é a entidade base de tenant e RBAC do sistema.
  • O campo document (CNPJ) deve ser único.
  • O campo type representa o tipo da organização, podendo ser COOPERATIVE ou COMPANY.
  • 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.
  • status centraliza bloqueio e inativação administrativa para Company e Cooperative.
  • Organizações BLOCKED não devem permitir novas operações no escopo afetado.

Enums

OrganizationType

ValorDescrição
COOPERATIVECooperativa que administra empresas afiliadas
COMPANYEmpresa de transporte

OrganizationStatus

ValorDescrição
ACTIVEOrganização ativa
INACTIVEOrganização inativa para operação
BLOCKEDOrganização bloqueada administrativamente

Example

{
  "organizationId": "0197a7f7-7291-7a43-96db-2c8580b80c5d",
  "type": "COOPERATIVE",
  "name": "Cooperativa Metropolitana",
  "document": "12345678000190",
  "documentType": "CNPJ",
  "logo": "organizations/0197a7f7-7291-7a43-96db-2c8580b80c5d/logo.webp",
  "phoneIso": "BR",
  "phoneDdi": "55",
  "phoneNumber": "1133224455",
  "phoneVerified": true,
  "email": "contato@metropolitana.example.com",
  "emailVerified": true,
  "status": "ACTIVE",
  "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "createdAt": "2026-07-03T13:00:00.000Z",
  "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "updatedAt": "2026-07-03T13:15:00.000Z",
  "deletedBy": null,
  "deletedAt": null
}