Skip to main content
TransportOperatorQuota controla o teto operacional de viagens permitidas para um permissionário em uma rota e período.

Campos

CampoTipoDescrição
transportOperatorQuotaIdUUIDIdentificador único
cooperativeIdUUIDCooperativa da regra
transportOperatorIdUUIDPermissionário controlado
routeIdUUIDRota controlada
periodTypeQuotaPeriodTypeTipo do período
periodStartDateTimeInício do período
periodEndDateTimeFim do período
maxTripsIntQuantidade máxima de viagens permitidas
reservedTripsIntViagens em andamento ou reservadas
consumedTripsIntViagens concluídas que consumiram cota
statusTransportOperatorQuotaStatusStatus da regra
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

Regras de Negócio

  • A cota é definida por transportOperatorId + routeId + período.
  • Trip criada ou agendada não consome cota.
  • Trip iniciada pode reservar cota em reservedTrips.
  • Trip concluída consome cota definitiva em consumedTrips.
  • Trip cancelada ou não executada libera a reserva e não consome cota definitiva.
  • A operação deve bloquear ou exigir revisão quando reservedTrips + consumedTrips >= maxTrips.
  • Cada reserva, consumo ou liberação deve criar um TransportOperatorQuotaUsage idempotente por Trip.

Enums

QuotaPeriodType

ValorDescrição
DAILYCota diária
WEEKLYCota semanal
MONTHLYCota mensal
CUSTOMPeríodo definido manualmente

TransportOperatorQuotaStatus

ValorDescrição
ACTIVERegra ativa
INACTIVERegra inativa
EXHAUSTEDCota atingida no período

Example

{
  "transportOperatorQuotaId": "01980d35-99f1-76f9-a0c9-5c5ff0ea8cf6",
  "cooperativeId": "0197a800-24e6-76a2-90ed-ff0f6fba7b0c",
  "transportOperatorId": "01980d30-6a3c-7a42-9182-17ad6324d3aa",
  "routeId": "0197a80c-4204-7b77-9005-48cc23677587",
  "periodType": "MONTHLY",
  "periodStart": "2026-07-01T00:00:00.000Z",
  "periodEnd": "2026-07-31T23:59:59.999Z",
  "maxTrips": 80,
  "reservedTrips": 1,
  "consumedTrips": 24,
  "status": "ACTIVE",
  "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "createdAt": "2026-07-01T09:00:00.000Z",
  "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "updatedAt": "2026-07-04T08:00:00.000Z",
  "deletedBy": null,
  "deletedAt": null
}