> ## 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.

# VehicleTransportOperator

> Autorização de veículo para operar por um permissionário

`VehicleTransportOperator` indica que um veículo da cooperativa pode ser usado por um permissionário.

## Campos

| Campo                        | Tipo                             | Descrição                                              |
| ---------------------------- | -------------------------------- | ------------------------------------------------------ |
| `vehicleTransportOperatorId` | `UUID`                           | Identificador único                                    |
| `cooperativeId`              | `UUID`                           | Cooperativa do vínculo                                 |
| `vehicleId`                  | `UUID`                           | Veículo autorizado                                     |
| `transportOperatorId`        | `UUID`                           | Permissionário autorizado                              |
| `status`                     | `VehicleTransportOperatorStatus` | Status operacional do vínculo                          |
| `approvedBy`                 | `UUID?`                          | Usuário que aprovou o vínculo                          |
| `approvedAt`                 | `DateTime?`                      | Data de aprovação                                      |
| `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](/data-modelling/tenant/cooperative) por `cooperativeId`.
* Relaciona-se com [Vehicle](/data-modelling/fleet/vehicle) por `vehicleId`.
* Relaciona-se com [TransportOperator](/data-modelling/tenant/transport-operator) por `transportOperatorId`.
* É validado por [Trip](/data-modelling/operations/trip) antes de iniciar a viagem.

## Regras de Negócio

* Um veículo pode ser autorizado para múltiplos permissionários, conforme a operação permitir.
* O par `vehicleId + transportOperatorId` deve ser único enquanto ativo.
* `cooperativeId` deve ser o mesmo do veículo e do TransportOperator.
* A Trip só pode iniciar se o veículo estiver `ACTIVE` e autorizado para o TransportOperator da Trip.
* Bloqueios administrativos do veículo devem impedir novas Trips, mesmo quando o vínculo com o TransportOperator estiver ativo.

## Enums

### VehicleTransportOperatorStatus

| Valor              | Descrição                                |
| ------------------ | ---------------------------------------- |
| `PENDING_APPROVAL` | Vínculo aguardando aprovação             |
| `ACTIVE`           | Veículo autorizado para o permissionário |
| `INACTIVE`         | Veículo inativo para o permissionário    |
| `SUSPENDED`        | Vínculo temporariamente suspenso         |

## Example

```json theme={null}
{
  "vehicleTransportOperatorId": "01980d39-0598-7f1d-8553-10875e6052d3",
  "cooperativeId": "0197a800-24e6-76a2-90ed-ff0f6fba7b0c",
  "vehicleId": "0197a809-3eb8-7eb8-9c4f-8a6c2e7e5b1a",
  "transportOperatorId": "01980d30-6a3c-7a42-9182-17ad6324d3aa",
  "status": "ACTIVE",
  "approvedBy": "0197a806-7a50-7d8d-b2ea-07748f4e38f7",
  "approvedAt": "2026-07-03T15:25:00.000Z",
  "startsAt": "2026-07-03T15:25:00.000Z",
  "endsAt": null,
  "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "createdAt": "2026-07-03T15:15:00.000Z",
  "updatedBy": "0197a806-7a50-7d8d-b2ea-07748f4e38f7",
  "updatedAt": "2026-07-03T15:25:00.000Z",
  "deletedBy": null,
  "deletedAt": null
}
```
