> ## 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.

# route.approval_requested

> Evento emitido após uma rota ficar pendente de aprovação

`route.approval_requested` é emitido depois que uma [Route](/data-modelling/operations/route) fica pendente de aprovação.

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

## Detalhes do Evento

| Propriedade    | Valor                                         |
| -------------- | --------------------------------------------- |
| **Tipo**       | `route.approval_requested`                    |
| **Origem**     | Criação de Route                              |
| **Publicação** | Após commit da Route                          |
| **Quando**     | A rota nasce com `status = PENDING_APPROVAL`. |

## Handlers

| Handler                  | Responsabilidade            | Dados usados | Execução    |
| ------------------------ | --------------------------- | ------------ | ----------- |
| `notify-route-approvers` | Avisa usuários autorizados. | `data`       | Assíncrona. |

## Payload

| Campo  | Tipo    | Descrição               |
| ------ | ------- | ----------------------- |
| `data` | `Route` | Entidade Route pendente |

## Regras dos handlers

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

## Exemplo

```json theme={null}
{
  "type": "route.approval_requested",
  "data": {
    "routeId": "0197a80c-4204-7b77-9005-48cc23677587",
    "companyId": "0197a801-6a42-79aa-9e56-d3c85148c0fa",
    "originId": "0197a80b-3f5c-7f5c-86e9-ff4f8a6ce1dc",
    "destinationId": "0197a80c-a9dd-75e6-b5fa-72876924256d",
    "distanceKm": 315.4,
    "estimatedDuration": 270,
    "status": "PENDING_APPROVAL",
    "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
    "createdAt": "2026-07-03T15:10:00.000Z",
    "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
    "updatedAt": "2026-07-03T15:10:00.000Z",
    "deletedBy": null,
    "deletedAt": null
  }
}
```
