PassengerBenefitRequest representa uma solicitação de elegibilidade feita por um passageiro para um FareBenefitProgram. A solicitação não é por empresa, exceto quando o próprio programa for comercial e pertencer a uma empresa.
Campos
| Campo | Tipo | Descrição |
|---|---|---|
passengerBenefitRequestId | UUID | Identificador único |
customerId | UUID | Cliente/passageiro solicitante |
fareBenefitProgramId | UUID | Programa de benefício solicitado |
requestedByUserId | UUID | Usuário que abriu a solicitação |
reviewedByUserId | UUID? | Usuário que analisou a solicitação |
code | String | Código legível da solicitação |
notes | String? | Observações informadas pelo passageiro |
rejectionReason | String? | Motivo de rejeição, quando aplicável |
status | PassengerBenefitRequestStatus | Status atual da solicitação |
validFrom | DateTime? | Início da validade do benefício aprovado |
validUntil | DateTime? | Fim da validade do benefício aprovado |
reviewedAt | DateTime? | Data de análise da solicitaçã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 |
deletedBy | UUID? | Usuário que removeu o registro, quando aplicável |
deletedAt | DateTime? | Data de remoção lógica |
Relacionamentos
- Relaciona-se com Customer.
- Relaciona-se com FareBenefitProgram.
- Relaciona-se com User como solicitante e revisor.
- Relaciona-se com múltiplas BenefitDocumentValidation.
- Relaciona-se com múltiplos BenefitUsageHistory, quando aprovado e utilizado.
Regras de Negócio
- Uma solicitação só pode ser aprovada se os documentos obrigatórios da categoria estiverem aprovados.
- O responsável pela análise é definido por
reviewOwnerTypedo FareBenefitProgram. - Quando
reviewOwnerType = PLATFORM, a análise é feita pelo BackOffice/plataforma. - Quando
reviewOwnerType = COMPANY, a análise é feita pela empresa dona do programa. rejectionReasoné obrigatório quandostatusforREJECTED.validFromevalidUntildefinem a janela em que o benefício pode ser aplicado.- Um passageiro não deve ter duas solicitações aprovadas e ativas para o mesmo programa.
- Solicitações
APPROVED,REJECTED,CANCELEDouEXPIREDsão terminais para o fluxo de análise. requestedByUserIdindica quem abriu a solicitação;createdBy,updatedByedeletedByregistram a auditoria da mutação do registro.
Enums
PassengerBenefitRequestStatus
| Valor | Descrição |
|---|---|
PENDING | Solicitação criada, aguardando documentos ou triagem |
IN_REVIEW | Solicitação em análise |
APPROVED | Solicitação aprovada |
REJECTED | Solicitação rejeitada |
CANCELED | Solicitação cancelada pelo passageiro ou operador |
EXPIRED | Benefício aprovado expirou |