Skip to main content
DriverTransportOperator indica que um motorista pode atuar por um TransportOperator.

Campos

CampoTipoDescrição
driverTransportOperatorIdUUIDIdentificador único
cooperativeIdUUIDCooperativa do vínculo
driverIdUUIDReferência ao motorista
transportOperatorIdUUIDPermissionário vinculado
statusDriverTransportOperatorStatusStatus operacional do vínculo
approvedByUUID?Usuário que aprovou o vínculo
approvedAtDateTime?Data de aprovação
admittedAtDateTime?Data de admissão operacional do motorista no permissionário
startsAtDateTime?Início opcional da vigência
endsAtDateTime?Fim opcional da vigência
createdByUUID?Usuário que criou o registro, quando aplicável
createdAtDateTimeData de criação
updatedByUUID?Usuário que fez a última atualização, quando aplicável
updatedAtDateTimeData da última atualização
deletedByUUID?Usuário que removeu o registro, quando aplicável
deletedAtDateTime?Data de remoção

Relacionamentos

  • Relaciona-se com Cooperative por cooperativeId.
  • Relaciona-se com Driver por driverId.
  • Relaciona-se com TransportOperator por transportOperatorId.
  • É validado por 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; ele fica em Trip.

Enums

DriverTransportOperatorStatus

ValorDescrição
PENDING_APPROVALVínculo aguardando aprovação
ACTIVEMotorista ativo para o permissionário
INACTIVEMotorista inativo para o permissionário
SUSPENDEDVínculo temporariamente suspenso

Example

{
  "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
}