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

# DriverTransportOperator

> Vínculo operacional entre motorista e permissionário

`DriverTransportOperator` indica que um motorista pode atuar por um [TransportOperator](/data-modelling/tenant/transport-operator).

## 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](/data-modelling/tenant/cooperative) por `cooperativeId`.
* Relaciona-se com [Driver](/data-modelling/fleet/driver) por `driverId`.
* 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 `Driver` pode estar vinculado a múltiplos `TransportOperator`.
* O par `driverId + transportOperatorId` deve ser único enquanto ativo.
* `cooperativeId` deve ser o mesmo do TransportOperator.
* `ACTIVE` indica que o motorista pode executar Trips daquele TransportOperator, respeitando CNH, escala e demais regras.
* `admittedAt` registra a data operacional de admissão; `startsAt` e `endsAt` controlam 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.
* `driverId` não fica em [Route](/data-modelling/operations/route); ele fica em [Trip](/data-modelling/operations/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        |

## Example

```json theme={null}
{
  "driverTransportOperatorId": "01980d38-04ef-774b-a533-df2927594896",
  "cooperativeId": "0197a800-24e6-76a2-90ed-ff0f6fba7b0c",
  "driverId": "0197a807-1ec7-75e8-8ff8-df64dd070046",
  "transportOperatorId": "01980d30-6a3c-7a42-9182-17ad6324d3aa",
  "status": "ACTIVE",
  "approvedBy": "0197a806-7a50-7d8d-b2ea-07748f4e38f7",
  "approvedAt": "2026-07-03T15:20:00.000Z",
  "admittedAt": "2026-07-01T09:00:00.000Z",
  "startsAt": "2026-07-03T15:20:00.000Z",
  "endsAt": null,
  "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "createdAt": "2026-07-03T15:10:00.000Z",
  "updatedBy": "0197a806-7a50-7d8d-b2ea-07748f4e38f7",
  "updatedAt": "2026-07-03T15:20:00.000Z",
  "deletedBy": null,
  "deletedAt": null
}
```
