Skip to main content
TransportOperatorQuotaUsage registra cada movimento do limite de viagens gerado por uma Trip. Ele evita dupla contagem e permite auditar por que uma vaga foi reservada, consumida ou liberada.

Campos

Relacionamentos

Regras de Negócio

  • RESERVE é criado quando uma Trip entra em IN_PROGRESS.
  • CONSUME é criado quando uma Trip entra em COMPLETED.
  • RELEASE é criado quando uma Trip reservada é cancelada antes de consumir cota definitiva.
  • idempotencyKey deve ser única para transportOperatorRoutePolicyId + tripId + type.
  • A mesma Trip não pode consumir a mesma cota mais de uma vez.
  • Movimentos são append-only. Correções devem criar novo movimento compensatório.

Enums

TransportOperatorQuotaUsageType

TransportOperatorQuotaUsageStatus

Example