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

# Driver

> Identidade e habilitação do motorista (vínculo com empresas via DriverCompany)

## Campos

| Campo              | Tipo                    | Descrição                                              |
| ------------------ | ----------------------- | ------------------------------------------------------ |
| `driverId`         | `UUID`                  | Identificador único                                    |
| `userId`           | `UUID`                  | Referência ao usuário                                  |
| `licenseNumber`    | `String`                | Número da licença/habilitação do motorista             |
| `licenseCategory`  | `DriverLicenseCategory` | Categoria da licença/habilitação                       |
| `licenseExpiresAt` | `Date`                  | Data de validade da licença/habilitação                |
| `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 [User](/data-modelling/identity/user) (1:1)
* Relaciona-se com múltiplos [DriverCompany](/data-modelling/fleet/driver-company)
* Relaciona-se com múltiplos [Trip](/data-modelling/operations/trip)
* Relaciona-se com múltiplos TripSchedule (modelos de geração automática de viagens)
* Relaciona-se com múltiplos [TripReview](/domain/operations/trip-reviews) (avaliações recebidas do motorista)

## Regras de Negócio

* O `Driver` representa apenas o **perfil operacional do motorista** (User + dados de habilitação). O vínculo com empresas vive em [DriverCompany](/data-modelling/fleet/driver-company), permitindo que o mesmo motorista atue em várias empresas.
* Cada `User` pode ter no máximo um `Driver` (relação 1:1). A habilitação vale para todos os vínculos empresariais do motorista.
* A licença/habilitação deve ser de categoria `D` ou `E`, obrigatórias para transporte de passageiros.
* A validade da licença/habilitação é representada por `licenseExpiresAt`.
* Status operacional **não** vive aqui — é por empresa, em [DriverCompany.status](/data-modelling/fleet/driver-company).

## Enums

### DriverLicenseCategory

| Valor | Descrição                                                       |
| ----- | --------------------------------------------------------------- |
| `D`   | Habilitação categoria D — veículos de transporte de passageiros |
| `E`   | Habilitação categoria E — veículos articulados e combinados     |

## Example

```json theme={null}
{
  "driverId": "0197a807-1ec7-75e8-8ff8-df64dd070046",
  "userId": "0197a808-3650-73da-ac7c-c3bb9a56f053",
  "licenseNumber": "12345678901",
  "licenseCategory": "D",
  "licenseExpiresAt": "2029-05-20",
  "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "createdAt": "2026-07-03T14:00:00.000Z",
  "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "updatedAt": "2026-07-03T14:00:00.000Z",
  "deletedBy": null,
  "deletedAt": null
}
```
