> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devmob.app.br/llms.txt
> Use this file to discover all available pages before exploring further.

# benefit_request.approved

> Evento emitido após aprovação de benefício

`benefit_request.approved` é emitido depois que um [PassengerBenefitRequest](/data-modelling/benefits/passenger-benefit-request) é aprovado.

Handlers usam este evento para executar efeitos assíncronos fora do fluxo síncrono.

## Detalhes do Evento

| Propriedade    | Valor                                  |
| -------------- | -------------------------------------- |
| **Tipo**       | `benefit_request.approved`             |
| **Origem**     | Atualização de PassengerBenefitRequest |
| **Publicação** | Após commit da solicitação             |
| **Quando**     | `status = APPROVED`.                   |

## Handlers

| Handler                                 | Responsabilidade    | Dados usados | Execução    |
| --------------------------------------- | ------------------- | ------------ | ----------- |
| `send-benefit-request-approved-message` | Avisa o passageiro. | `data`       | Assíncrona. |

## Payload

| Campo  | Tipo                      | Descrição                                 |
| ------ | ------------------------- | ----------------------------------------- |
| `data` | `PassengerBenefitRequest` | Entidade PassengerBenefitRequest aprovada |

## Regras dos handlers

* Handlers não rodam na transação que publicou a solicitação.
* Falha em handler não desfaz a solicitação.
* Cada handler deve ser idempotente.
* Novos handlers podem ser adicionados sem mudar o fluxo síncrono.

## Exemplo

```json theme={null}
{
  "type": "benefit_request.approved",
  "data": {
    "passengerBenefitRequestId": "0197f712-8a7e-7a53-9d28-51f8f3c77d41",
    "customerId": "0197a7f6-4d36-7c0a-a7cb-54fcb33a3148",
    "fareBenefitProgramId": "0197f711-bf5b-7b90-a45b-577e6269a061",
    "requestedByUserId": "0197a7f6-2c4d-74ae-b89b-9d36d9c341f2",
    "reviewedByUserId": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
    "code": "BEN-20260704-0001",
    "notes": "Solicitação de meia passagem estudantil",
    "rejectionReason": null,
    "status": "APPROVED",
    "validFrom": "2026-07-04T12:00:00.000Z",
    "validUntil": "2027-01-04T12:00:00.000Z",
    "reviewedAt": "2026-07-04T12:00:00.000Z",
    "createdBy": "0197a7f6-2c4d-74ae-b89b-9d36d9c341f2",
    "createdAt": "2026-07-04T11:30:00.000Z",
    "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
    "updatedAt": "2026-07-04T12:00:00.000Z",
    "deletedBy": null,
    "deletedAt": null
  }
}
```
