Skip to main content
VehicleTransportOperator indica que um veículo da cooperativa pode ser usado por um permissionário.

Campos

CampoTipoDescrição
vehicleTransportOperatorIdUUIDIdentificador único
cooperativeIdUUIDCooperativa do vínculo
vehicleIdUUIDVeículo autorizado
transportOperatorIdUUIDPermissionário autorizado
statusVehicleTransportOperatorStatusStatus operacional do vínculo
approvedByUUID?Usuário que aprovou o vínculo
approvedAtDateTime?Data de aprovação
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 Vehicle por vehicleId.
  • Relaciona-se com TransportOperator por transportOperatorId.
  • É validado por Trip antes de iniciar a viagem.

Regras de Negócio

  • Um veículo pode ser autorizado para múltiplos permissionários, conforme a operação permitir.
  • O par vehicleId + transportOperatorId deve ser único enquanto ativo.
  • cooperativeId deve ser o mesmo do veículo e do TransportOperator.
  • A Trip só pode iniciar se o veículo estiver ACTIVE e autorizado para o TransportOperator da Trip.
  • Bloqueios administrativos do veículo devem impedir novas Trips, mesmo quando o vínculo com o TransportOperator estiver ativo.

Enums

VehicleTransportOperatorStatus

ValorDescrição
PENDING_APPROVALVínculo aguardando aprovação
ACTIVEVeículo autorizado para o permissionário
INACTIVEVeículo inativo para o permissionário
SUSPENDEDVínculo temporariamente suspenso

Example

{
  "vehicleTransportOperatorId": "01980d39-0598-7f1d-8553-10875e6052d3",
  "cooperativeId": "0197a800-24e6-76a2-90ed-ff0f6fba7b0c",
  "vehicleId": "0197a809-3eb8-7eb8-9c4f-8a6c2e7e5b1a",
  "transportOperatorId": "01980d30-6a3c-7a42-9182-17ad6324d3aa",
  "status": "ACTIVE",
  "approvedBy": "0197a806-7a50-7d8d-b2ea-07748f4e38f7",
  "approvedAt": "2026-07-03T15:25:00.000Z",
  "startsAt": "2026-07-03T15:25:00.000Z",
  "endsAt": null,
  "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "createdAt": "2026-07-03T15:15:00.000Z",
  "updatedBy": "0197a806-7a50-7d8d-b2ea-07748f4e38f7",
  "updatedAt": "2026-07-03T15:25:00.000Z",
  "deletedBy": null,
  "deletedAt": null
}