TransportOperatorSubsidySettlement registra o cálculo de subsídio devido a um permissionário após trips executadas e auditadas.
Campos
| Campo | Tipo | Descrição |
|---|---|---|
transportOperatorSubsidySettlementId | UUID | Identificador único |
cooperativeId | UUID | Cooperativa responsável pela operação |
transportOperatorId | UUID | Permissionário contemplado |
routeId | UUID? | Rota consolidada, quando o fechamento for por rota |
tripId | UUID? | Trip específica, quando o fechamento for unitário |
subsidyRuleId | UUID | Regra de subsídio usada no cálculo |
periodStart | DateTime | Início do período auditado |
periodEnd | DateTime | Fim do período auditado |
tripCount | Int | Quantidade de trips consideradas |
auditedDistanceKm | Float | Quilometragem auditada usada no cálculo |
amountPerKm | Int | Valor por quilômetro em centavos no momento do cálculo |
grossAmount | Int | Valor bruto calculado em centavos |
status | TransportOperatorSubsidySettlementStatus | Status do fechamento |
approvedBy | UUID? | Usuário que aprovou o fechamento |
approvedAt | DateTime? | Data de aprovação |
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 |
Relacionamentos
- Relaciona-se com Cooperative por
cooperativeId. - Relaciona-se com TransportOperator por
transportOperatorId. - Relaciona-se com Route por
routeId, quando aplicável. - Relaciona-se com Trip por
tripId, quando o fechamento for unitário. - Relaciona-se com TransportOperatorSubsidyRule por
subsidyRuleId.
Regras de Negócio
- O fechamento só considera trips
COMPLETEDe auditadas. - O cálculo usa
auditedDistanceKm * amountPerKm. - Quando a regra usar
PLANNED_ROUTE,auditedDistanceKmnormalmente replicaRoute.distanceKm. - Quando a regra usar GPS, hodômetro ou auditoria combinada, divergências podem deixar o fechamento em
UNDER_REVIEW. - O fechamento pode ser unitário por Trip ou consolidado por período.
- Fechamentos aprovados não devem ser recalculados silenciosamente; ajustes devem gerar novo fechamento ou revisão auditável.
Enums
TransportOperatorSubsidySettlementStatus
| Valor | Descrição |
|---|---|
PENDING | Fechamento criado e aguardando análise |
UNDER_REVIEW | Fechamento em revisão por divergência |
APPROVED | Fechamento aprovado |
REJECTED | Fechamento rejeitado |
PAID | Fechamento pago ou liquidado |