Campos
| Campo | Tipo | Descrição |
|---|---|---|
transportOperatorId | UUID | Identificador único |
cooperativeId | UUID | Cooperativa responsável pelo permissionário |
legalName | String | Nome legal do permissionário |
tradeName | String? | Nome fantasia, quando existir |
document | String | Documento normalizado |
documentType | DocumentType | Tipo do documento |
status | TransportOperatorStatus | Status cadastral e operacional |
regularityStatus | TransportOperatorRegularityStatus | Situação de regularidade para operação |
blockedReason | String? | Motivo do bloqueio, quando aplicável |
approvedBy | UUID? | Usuário que aprovou o permissionário |
approvedAt | DateTime? | Data de aprovaçã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
- Relaciona-se com Cooperative por
cooperativeId. - Relaciona-se com múltiplos TransportOperatorRoute.
- Relaciona-se com múltiplos TransportOperatorQuota.
- Relaciona-se com múltiplas TransportOperatorSubsidyRule.
- Relaciona-se com múltiplos DriverTransportOperator.
- Relaciona-se com múltiplos VehicleTransportOperator.
- Relaciona-se com múltiplas Trip.
- Relaciona-se com múltiplas TripReview.
Regras de Negócio
- Representa o permissionário: quem tem autorização operacional para executar transporte dentro da cooperativa.
- Pode representar pessoa física, MEI ou empresa permissionária, conforme regra do negócio.
- Não é o mesmo que
User: usuários acessam o sistema; o TransportOperator recebe autorização, bloqueio, cota, subsídio e auditoria operacional. - Não é o mesmo que
Driver: motorista dirige uma Trip; TransportOperator é o titular autorizado da operação. - A relação principal é
Cooperative 1:N TransportOperator. - Um TransportOperator só pode operar uma rota se existir TransportOperatorRoute ativo.
- A materialização e o start da Trip devem bloquear operação quando
status = BLOCKEDouregularityStatus = IRREGULAR. - Cotas e subsídios são configurados por TransportOperator e, quando aplicável, por rota/período.
Enums
TransportOperatorStatus
| Valor | Descrição |
|---|---|
PENDING_APPROVAL | Cadastro criado e aguardando análise |
ACTIVE | Permissionário ativo |
INACTIVE | Permissionário inativo para novas operações |
BLOCKED | Permissionário bloqueado operacionalmente |
REJECTED | Cadastro rejeitado |
TransportOperatorRegularityStatus
| Valor | Descrição |
|---|---|
PENDING_REVIEW | Regularidade ainda em análise |
REGULAR | Apto a operar, respeitando demais regras |
IRREGULAR | Irregular; operação deve ser bloqueada |