TransportOperatorSubsidyRule define quanto um permissionário recebe por quilômetro executado e auditado.
Campos
| Campo | Tipo | Descrição |
|---|---|---|
transportOperatorSubsidyRuleId | UUID | Identificador único |
cooperativeId | UUID | Cooperativa da regra |
transportOperatorId | UUID | Permissionário contemplado |
routeId | UUID? | Rota específica, quando a regra for por rota |
amountPerKm | Int | Valor por quilômetro em centavos |
distanceSource | SubsidyDistanceSource | Fonte usada para calcular a distância subsidiada |
startsAt | DateTime | Início da vigência |
endsAt | DateTime? | Fim da vigência |
status | TransportOperatorSubsidyRuleStatus | Status da regra |
createdBy | UUID? | Usuário que criou o registro, quando aplicável |
createdAt | DateTime | Data de criação |
updatedBy | UUID? | Usuário que fez a última atualização, quando aplicável |
updatedAt | DateTime | Data da última atualização |
deletedBy | UUID? | Usuário que removeu o registro, quando aplicável |
deletedAt | DateTime? | Data de remoção |
Relacionamentos
- Relaciona-se com Cooperative por
cooperativeId. - Relaciona-se com TransportOperator por
transportOperatorId. - Relaciona-se com Route por
routeId, quando a regra for específica. - Origina TransportOperatorSubsidySettlement.
Regras de Negócio
- A regra pode ser geral para o permissionário ou específica para uma rota.
- Quando existir regra específica para a rota, ela tem prioridade sobre a regra geral do permissionário.
- O subsídio só é calculado para Trip concluída e auditada.
- A distância subsidiada deve vir da fonte definida em
distanceSource. - O valor é armazenado em centavos por quilômetro.
- Exemplo:
amountPerKm = 200representa R$ 2,00 por km.
Enums
SubsidyDistanceSource
| 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 |
TransportOperatorSubsidyRuleStatus
| Valor | Descrição |
|---|---|
ACTIVE | Regra ativa |
INACTIVE | Regra inativa |
EXPIRED | Regra vencida |