Skip to main content

Campos

CampoTipoDescrição
companyIdUUIDIdentificador único
organizationIdUUIDReferência à organização
cooperativeIdUUIDReferência obrigatória à cooperativa administradora
anttCodeString?Código regulatório da ANTT
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

  • Estende a Organization para empresas de transporte rodoviário.
  • Toda empresa pertence obrigatoriamente a uma única cooperativa.
  • A empresa é afiliada à cooperativa indicada por cooperativeId.
  • A cooperativa pode administrar múltiplas empresas, mas não assume o companyId delas.
  • É a proprietária da frota (veículos e motoristas).
  • É dona dos vínculos de funcionários (Employee) originados por Memberships na sua Organization.
  • Responsável por criar viagens (Trip) e vender passagens dos seus próprios itinerários.
  • Responsável pelas promoções que exibe e pelos créditos que concede a Customers, inclusive quando a concessão usa regra de funcionário.
  • É a unidade financeira do sistema: pagamentos, recebíveis, contas bancárias e transferências pertencem a uma empresa.
  • A configuração externa de billing fica em CompanyPaymentSettings.
  • O campo anttCode armazena o código de registro na Agência Nacional de Transportes Terrestres.

Integridade do vínculo

RegraDetalhe
FKcooperativeId deve apontar para uma Cooperative existente e ativa.
TenantorganizationId da Company é diferente do organizationId da Cooperative.
Query por cooperativaTelas da Cooperative devem listar empresas por Company.cooperativeId.
Query operacionalTelas da Company devem operar por Company.companyId.
HistóricoTrocar cooperativeId não altera registros históricos que apontam para companyId.
O vínculo Cooperative -> Company define administração e agrupamento. Ele não muda a regra de ownership operacional: frota, rotas, viagens, vendas e financeiro continuam no escopo da Company.

Example

{
  "companyId": "0197a801-6a42-79aa-9e56-d3c85148c0fa",
  "organizationId": "0197a801-1690-7590-b3cf-19599b9be3e4",
  "cooperativeId": "0197a800-24e6-76a2-90ed-ff0f6fba7b0c",
  "anttCode": "ANTT-445566",
  "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "createdAt": "2026-07-03T13:20:00.000Z",
  "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "updatedAt": "2026-07-03T13:20:00.000Z",
  "deletedBy": null,
  "deletedAt": null
}