Skip to main content

Overview

O Driver representa o perfil operacional do motorista — está ligado 1:1 a um User e carrega os dados de habilitação do motorista. O vínculo com cada empresa vive em DriverCompany, o que permite que o mesmo motorista atue em várias empresas simultaneamente, com status operacional independente em cada uma.

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

Estado prévio do UserEstado prévio do DriverEfeitos no aceite
AusenteUser cadastrado no aceite, Driver recebe dados de habilitação e vínculo com a empresa fica ativo
Existe, sem DriverAusenteUser é reutilizado, Driver recebe dados de habilitação e vínculo com a empresa fica ativo
Existe, já é Driver em outra empresaExisteUser e Driver são reutilizados; apenas o vínculo com a nova empresa fica ativo, e os dados de habilitação do aceite são ignorados
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

CampoTipoDescrição
licenseNumberstringNúmero da licença/habilitação
licenseCategoryDriverLicenseCategoryCategoria da habilitação
licenseExpiresAtdateData de validade da licença/habilitação

DriverLicenseCategory

ValorDescrição
DHabilitação para veículos de transporte de passageiros
EHabilitação para veículos articulados/reboque
licenseExpiresAt representa a validade da licença/habilitação e pode ser usado para filtros e monitoramento operacional.

Status por Empresa

O status operacional é por empresa (DriverCompany.status) — não global. Desativar um motorista numa empresa não afeta os vínculos dele em outras.
DriverCompany.statusSemântica atual
ACTIVEMotorista ativo nesta empresa
INACTIVEMotorista desativado nesta empresa

Capacidades OPS

CapacidadePermissãoDescrição
Listar motoristasread:driverLista paginada de motoristas da organização
Convidar motoristacreate:driverCria o convite de motorista com telefone e email opcional
Desvincular motoristaupdate:driverDesativa o vínculo (DriverCompanyINACTIVE) na empresa do operador
A listagem aceita filtro de texto (licenseNumber, name, email), filtros por licenseCategory, companyStatus (DriverCompany.status), status (do User) e ranges de data (licenseExpiresAt, createdAt); ordenação por createdAt ou licenseExpiresAt.

Business Rules

RegraDescrição
Cadastro via conviteO Driver passa pelo fluxo de convite tipo DRIVER.
User 1:1 DriverCada User pode ter no máximo um Driver.
Vínculo N:N com CompanyDriver pode estar em várias empresas via DriverCompany.
Status por empresaDriverCompany.status é independente em cada empresa.
Licença monitorávellicenseExpiresAt representa a validade da licença/habilitação.
Status por vínculounlink marca o DriverCompany como INACTIVE.
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.