Skip to main content
O 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

CampoTipoDescrição
benefitDocumentValidationIdUUIDIdentificador único
passengerBenefitRequestIdUUIDSolicitação de benefício relacionada
customerIdUUIDCliente/passageiro dono do documento
validatedByUserIdUUID?Usuário que analisou o documento
documentTypeStringTipo do documento enviado
storageKeyStringChave do arquivo no storage
fileNameStringNome original do arquivo
contentTypeStringMIME type do arquivo
statusBenefitDocumentValidationStatusStatus da validação
rejectionReasonString?Motivo de rejeição do documento
expiresAtDateTime?Data de expiração do documento validado
validatedAtDateTime?Data em que o documento foi analisado
createdByUUID?Usuário que criou o registro, quando aplicável
createdAtDateTimeData de criação
updatedByUUID?Usuário que fez a última atualização, quando aplicável
updatedAtDateTimeData da última atualização
deletedByUUID?Usuário que removeu o registro, quando aplicável
deletedAtDateTime?Data de remoção lógica

Relacionamentos

Regras de Negócio

  • storageKey deve guardar a chave do objeto, nunca uma URL assinada.
  • documentType deve corresponder a um item exigido por requiredDocumentTypes da 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 quando status for REJECTED.
  • 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.
  • validatedByUserId indica quem analisou o documento; createdBy, updatedBy e deletedBy registram a auditoria da mutação do registro.

Enums

BenefitDocumentValidationStatus

ValorDescrição
PENDINGDocumento enviado, aguardando análise
APPROVEDDocumento aprovado
REJECTEDDocumento rejeitado
EXPIREDDocumento expirado

Example

{
  "benefitDocumentValidationId": "0197f713-cd5f-77d9-b8d5-9751e96f2b39",
  "passengerBenefitRequestId": "0197f712-8a7e-7a53-9d28-51f8f3c77d41",
  "customerId": "0197a7f6-4d36-7c0a-a7cb-54fcb33a3148",
  "validatedByUserId": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "documentType": "STUDENT_ID",
  "storageKey": "benefits/0197f712-8a7e-7a53-9d28-51f8f3c77d41/student-id.pdf",
  "fileName": "carteirinha-estudantil.pdf",
  "contentType": "application/pdf",
  "status": "APPROVED",
  "rejectionReason": null,
  "expiresAt": "2027-01-04T12:00:00.000Z",
  "validatedAt": "2026-07-04T11:55:00.000Z",
  "createdBy": "0197a7f6-2c4d-74ae-b89b-9d36d9c341f2",
  "createdAt": "2026-07-04T11:35:00.000Z",
  "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "updatedAt": "2026-07-04T11:55:00.000Z",
  "deletedBy": null,
  "deletedAt": null
}