BenefitDocumentValidation representa um documento enviado para validar uma solicitação de gratuidade ou desconto. O responsável pela análise é definido pelo reviewOwnerType do FareBenefitProgram associado à solicitação.
Campos
| Campo | Tipo | Descrição |
|---|---|---|
benefitDocumentValidationId | UUID | Identificador único |
passengerBenefitRequestId | UUID | Solicitação de benefício relacionada |
customerId | UUID | Cliente/passageiro dono do documento |
validatedByUserId | UUID? | Usuário que analisou o documento |
documentType | String | Tipo do documento enviado |
storageKey | String | Chave do arquivo no storage |
fileName | String | Nome original do arquivo |
contentType | String | MIME type do arquivo |
status | BenefitDocumentValidationStatus | Status da validação |
rejectionReason | String? | Motivo de rejeição do documento |
expiresAt | DateTime? | Data de expiração do documento validado |
validatedAt | DateTime? | Data em que o documento foi analisado |
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 PassengerBenefitRequest.
- Relaciona-se com Customer.
- Relaciona-se com User por
validatedByUserId. - O arquivo é referenciado por
storageKeye segue as regras de Storage.
Regras de Negócio
storageKeydeve guardar a chave do objeto, nunca uma URL assinada.documentTypedeve corresponder a um item exigido porrequiredDocumentTypesda categoria.- Se o programa tiver
reviewOwnerType = PLATFORM, o documento deve ser analisado pelo BackOffice/plataforma. - Se o programa tiver
reviewOwnerType = COMPANY, o documento deve ser analisado pela empresa dona do programa. rejectionReasoné obrigatório quandostatusforREJECTED.- Documentos expirados não devem permitir aprovação ou uso do benefício.
- A solicitação só pode avançar para aprovação quando todos os documentos obrigatórios estiverem aprovados.
validatedByUserIdindica quem analisou o documento;createdBy,updatedByedeletedByregistram a auditoria da mutação do registro.
Enums
BenefitDocumentValidationStatus
| Valor | Descrição |
|---|---|
PENDING | Documento enviado, aguardando análise |
APPROVED | Documento aprovado |
REJECTED | Documento rejeitado |
EXPIRED | Documento expirado |