> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devmob.app.br/llms.txt
> Use this file to discover all available pages before exploring further.

# TransportOperatorRoute

> Autorização de um permissionário para operar uma rota aprovada

`TransportOperatorRoute` define quais rotas um [TransportOperator](/data-modelling/tenant/transport-operator) pode operar dentro de uma [Cooperative](/data-modelling/tenant/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](/data-modelling/tenant/cooperative) por `cooperativeId`.
* Relaciona-se com [TransportOperator](/data-modelling/tenant/transport-operator) por `transportOperatorId`.
* Relaciona-se com [Route](/data-modelling/operations/route) por `routeId`.
* Relaciona-se indiretamente com [Trip](/data-modelling/operations/trip) quando a Trip usa o mesmo `transportOperatorId` e `routeId`.

## Regras de Negócio

* Não aprova a rota em si. A rota é aprovada em [RouteApproval](/data-modelling/operations/route-approval).
* Autoriza um permissionário a operar uma rota já aprovada.
* O par `transportOperatorId + routeId` deve ser único enquanto o vínculo estiver ativo.
* `cooperativeId` deve ser o mesmo da Route e do TransportOperator.
* Uma Trip só pode iniciar se existir autorização `ACTIVE` para o par `transportOperatorId + 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 |

## Example

```json theme={null}
{
  "transportOperatorRouteId": "01980d34-4a94-76ef-b826-5c77dc16ca49",
  "cooperativeId": "0197a800-24e6-76a2-90ed-ff0f6fba7b0c",
  "transportOperatorId": "01980d30-6a3c-7a42-9182-17ad6324d3aa",
  "routeId": "0197a80c-4204-7b77-9005-48cc23677587",
  "status": "ACTIVE",
  "approvedBy": "0197a806-7a50-7d8d-b2ea-07748f4e38f7",
  "approvedAt": "2026-07-03T15:45:00.000Z",
  "rejectionReason": null,
  "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "createdAt": "2026-07-03T15:35:00.000Z",
  "updatedBy": "0197a806-7a50-7d8d-b2ea-07748f4e38f7",
  "updatedAt": "2026-07-03T15:45:00.000Z",
  "deletedBy": null,
  "deletedAt": null
}
```
