DriverTransportOperator indica que um motorista pode atuar por um TransportOperator.
Campos
| Campo | Tipo | Descrição |
|---|---|---|
driverTransportOperatorId | UUID | Identificador único |
cooperativeId | UUID | Cooperativa do vínculo |
driverId | UUID | Referência ao motorista |
transportOperatorId | UUID | Permissionário vinculado |
status | DriverTransportOperatorStatus | Status operacional do vínculo |
approvedBy | UUID? | Usuário que aprovou o vínculo |
approvedAt | DateTime? | Data de aprovação |
admittedAt | DateTime? | Data de admissão operacional do motorista no permissionário |
startsAt | DateTime? | Início opcional da vigência |
endsAt | DateTime? | Fim opcional da vigência |
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 Driver por
driverId. - Relaciona-se com TransportOperator por
transportOperatorId. - É validado por Trip antes de iniciar a viagem.
Regras de Negócio
- Um
Driverpode estar vinculado a múltiplosTransportOperator. - O par
driverId + transportOperatorIddeve ser único enquanto ativo. cooperativeIddeve ser o mesmo do TransportOperator.ACTIVEindica que o motorista pode executar Trips daquele TransportOperator, respeitando CNH, escala e demais regras.admittedAtregistra a data operacional de admissão;startsAteendsAtcontrolam a vigência da autorização.- A autorização por rota só deve existir em tabela própria se o negócio exigir motorista por rota. Por padrão, a validação é motorista ativo no TransportOperator + TransportOperator autorizado na Route.
driverIdnão fica em Route; ele fica em Trip.
Enums
DriverTransportOperatorStatus
| Valor | Descrição |
|---|---|
PENDING_APPROVAL | Vínculo aguardando aprovação |
ACTIVE | Motorista ativo para o permissionário |
INACTIVE | Motorista inativo para o permissionário |
SUSPENDED | Vínculo temporariamente suspenso |