TransportOperatorRoute define quais rotas um TransportOperator pode operar dentro de uma Cooperative.
Campos
| Campo | Tipo | Descrição |
|---|---|---|
transportOperatorRouteId | UUID | Identificador único |
cooperativeId | UUID | Cooperativa da autorização |
transportOperatorId | UUID | Permissionário autorizado |
routeId | UUID | Rota autorizada |
status | TransportOperatorRouteStatus | Status da autorização |
approvedBy | UUID? | Usuário que aprovou a autorização |
approvedAt | DateTime? | Data da aprovação |
rejectionReason | String? | Motivo da rejeição, quando aplicável |
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 TransportOperator por
transportOperatorId. - Relaciona-se com Route por
routeId. - Relaciona-se indiretamente com Trip quando a Trip usa o mesmo
transportOperatorIderouteId.
Regras de Negócio
- Não aprova a rota em si. A rota é aprovada em RouteApproval.
- Autoriza um permissionário a operar uma rota já aprovada.
- O par
transportOperatorId + routeIddeve ser único enquanto o vínculo estiver ativo. cooperativeIddeve ser o mesmo da Route e do TransportOperator.- Uma Trip só pode iniciar se existir autorização
ACTIVEpara o partransportOperatorId + routeId. - A aprovação pode ser feita por MOB/BKO ou por fluxo administrativo equivalente, conforme permission de Authorization.
Enums
TransportOperatorRouteStatus
| Valor | Descrição |
|---|---|
PENDING_APPROVAL | Autorização solicitada e aguardando análise |
ACTIVE | Permissionário autorizado a operar a rota |
REJECTED | Autorização rejeitada |
SUSPENDED | Autorização temporariamente suspensa |
EXPIRED | Autorização encerrada por prazo ou regra administrativa |