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

# trip.event_recorded

> Evento emitido após registro de ocorrência de viagem

`trip.event_recorded` é emitido depois que um [TripEvent](/data-modelling/operations/trip-event) é registrado.

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

## Detalhes do Evento

| Propriedade    | Valor                                    |
| -------------- | ---------------------------------------- |
| **Tipo**       | `trip.event_recorded`                    |
| **Origem**     | Criação de TripEvent                     |
| **Publicação** | Após commit do TripEvent                 |
| **Quando**     | Uma ocorrência operacional é registrada. |

## Handlers

| Handler                      | Responsabilidade                        | Dados usados | Execução    |
| ---------------------------- | --------------------------------------- | ------------ | ----------- |
| `notify-trip-event-recorded` | Comunica a ocorrência quando aplicável. | `data`       | Assíncrona. |

## Payload

| Campo  | Tipo        | Descrição                 |
| ------ | ----------- | ------------------------- |
| `data` | `TripEvent` | Entidade TripEvent criada |

## Regras dos handlers

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

## Exemplo

```json theme={null}
{
  "type": "trip.event_recorded",
  "data": {
    "tripEventId": "0197a811-5d1b-7e6a-acd5-1dc2e8f2d6c8",
    "tripId": "0197a80f-2d8f-7710-b243-b67fb477a1c0",
    "tripStopId": "0197a810-1ec9-7a9a-9a41-df98334b870e",
    "type": "BOARDING_STARTED",
    "description": "Embarque iniciado no Terminal Rodoviário Tietê",
    "metadata": {
      "stopName": "Terminal Rodoviário Tietê",
      "expectedPassengers": 12
    },
    "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
    "createdAt": "2026-07-04T07:45:00.000Z",
    "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
    "updatedAt": "2026-07-04T07:45:00.000Z"
  }
}
```
