Skip to main content

Overview

O Driver representa o perfil operacional do motorista. Ele está ligado 1:1 a um User e carrega os dados de habilitação. O vínculo operacional fica em DriverTransportOperator. Isso permite que o mesmo motorista atue para mais de um permissionário, com status independente em cada vínculo.

Registration Flow

O cadastro de motorista ocorre via convite. O operador OPS dispara o convite, e o motorista (ou um User já existente com aquele email) o aceita informando os dados de habilitação se ainda não tiver Driver criado.

Cenários de aceite

A habilitação é informada pelo motorista no aceite, não pelo operador OPS na criação do convite. Quem tem os dados de habilitação em mãos é o motorista — o operador informa apenas o contato do motorista (telefone; email opcional).

Driver license validation

DriverLicenseCategory

licenseExpiresAt representa a validade da licença/habilitação e pode ser usado para filtros e monitoramento operacional.

Status por vínculo

O status operacional é por vínculo com permissionário (DriverTransportOperator.status) — não global. Desativar um motorista em um permissionário não afeta outros vínculos.

Capacidades OPS

A listagem aceita filtro de texto (licenseNumber, name, email), filtros por licenseCategory, transportOperatorStatus (DriverTransportOperator.status), status (do User), transportOperatorId e ranges de data (licenseExpiresAt, createdAt); ordenação por createdAt ou licenseExpiresAt.

Business Rules

O vínculo Driver → User permite que o motorista acesse o sistema com sua própria conta (Driver API), visualizando viagens atribuídas ao seu driverId.