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 (1:1)
- Relaciona-se com múltiplos DriverCompany
- Relaciona-se com múltiplos Trip
- Relaciona-se com múltiplos TripSchedule (modelos de geração automática de viagens)
- Relaciona-se com múltiplos TripReview (avaliações recebidas do motorista)
Regras de Negócio
- O
Driverrepresenta apenas o perfil operacional do motorista (User + dados de habilitação). O vínculo com empresas vive em DriverCompany, permitindo que o mesmo motorista atue em várias empresas. - Cada
Userpode ter no máximo umDriver(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
DouE, 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.
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 |