TransportOperatorRoutePolicy centraliza a vigência, o subsídio por quilômetro e o limite de viagens de um permissionário em uma rota.
Persistência
| Propriedade | Valor |
|---|---|
| Tabela | transport_operator_route_policies |
| Exclusão | Lógica, por deletedAt |
Campos
| Campo | Tipo | Descrição |
|---|---|---|
transportOperatorRoutePolicyId | UUID | Identificador único |
transportOperatorId | UUID | Permissionário ao qual a política se aplica |
routeId | UUID | Rota à qual a política se aplica |
startAt | DateTime | Início da vigência |
endAt | DateTime | Fim da vigência |
subsidyAmountPerKm | Int | Valor do subsídio por quilômetro em centavos |
distanceSource | DistanceSource | Fonte da distância usada no cálculo do subsídio |
tripLimit | Int | Quantidade máxima de viagens na vigência |
createdAt | DateTime | Data de criação |
updatedAt | DateTime | Data da última atualização |
deletedAt | DateTime? | Data de remoção lógica |
Relacionamentos
- Relaciona-se com TransportOperator por
transportOperatorId. - Relaciona-se com Route por
routeId. - Pode ser referenciada por TransportOperatorQuotaUsage para auditar o consumo do limite.
- Origina TransportOperatorSubsidySettlement.
Regras de Negócio
- A política é única por
transportOperatorId,routeIde vigência. - Vigências ativas do mesmo permissionário e rota não podem se sobrepor.
endAtdeve ser posterior astartAt.subsidyAmountPerKmé armazenado em centavos;200representa R$ 2,00 por quilômetro.tripLimitdeve ser maior que zero.- Apenas Trips dentro da vigência participam do limite e do cálculo de subsídio.
- Uma Trip concluída usa a mesma política para consumir o limite operacional e gerar a apuração financeira.
Enums
DistanceSource
| Valor | Descrição |
|---|---|
PLANNED_ROUTE | Usa Route.distanceKm aprovado |
GPS_AUDITED | Usa distância auditada por GPS |
ODOMETER_AUDITED | Usa distância auditada por hodômetro |
COMBINED_AUDIT | Usa regra combinada entre rota, GPS e hodômetro |