> For the complete documentation index, see [llms.txt](https://resources.atriptech.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://resources.atriptech.com/api-document/readme/webhook-overview/void-notification.md).

# Void Notification

{% hint style="info" %}
💬 **Need help?** If you're stuck, ask Eva on ATRIP for instant diagnostics.

<a href="https://www.atriptech.com/" class="button primary" data-icon="comments">Ask Eva</a>
{% endhint %}

Use this webhook when you need near-real-time void lifecycle updates.

Start here when you need to:

* detect successful void submission
* track void progress and final outcome
* capture rejection or retry-failure reasons

### FAQ

#### When is this webhook sent?

Atlas sends `order.void` after `void.do` succeeds.

Atlas also sends it when void status changes.

Atlas sends it again when automatic processing fails after 10 retries.

#### Should this replace void query?

No.

Use this webhook as a fast signal.

Use `queryVoidOrders.do` for final reconciliation.

#### How fast should we expect the first void result?

In most cases, Atlas returns within about 5 minutes whether the void request was accepted for processing.

Final completion or rejection can still take longer.

Use this webhook for progress changes.

### Trigger

Atlas sends `order.void` for these scenarios:

* successful void submission
* void status changes
* automatic failure after 10 retries

### What you should do

When you receive this event:

* match `data.orderNo` and `data.voidCode`
* update the case with `data.voidStatus`
* store `data.message` for operations follow-up

### Recommended handling

Process the event in this order:

1. Read `type` and confirm `order.void`.
2. Match `data.orderNo` to your order.
3. Match `data.voidCode` to the void case.
4. Update internal status from `data.voidStatus`.
5. Store `data.message` for audit and support.
6. Query void status if the case stays open.

### Endpoint

POST to the webhook URL you registered with Atlas.

Use the existing webhook registration flow.

No extra registration is required for `order.void`.

### Fields to read first

* `type`
* `data.orderNo`
* `data.voidCode`
* `data.voidStatus`
* `data.message`

### Void status values

* `0`: Atlas Processing
* `1`: Airline Processing
* `2`: Voided / Refunded
* `3`: Airline Voiding
* `4`: Rejected
* `5`: Completed
* `6`: Withdrew

### Typical payload

```json
{
  "cid": "XXXXXXX",
  "type": "order.void",
  "status": -1,
  "data": {
    "orderNo": "TESTA20250512100600259",
    "voidCode": "202505-0012",
    "voidStatus": 2,
    "message": "Void successful and confirmed by the airline."
  }
}
```

### Retry failure behavior

If automatic processing still fails after 10 retries, Atlas sends another `order.void` event.

In that case, expect `data.voidStatus = 4`.

Use `data.message` to route manual follow-up.

### Notes

* `status` is internal and is normally `-1`
* `message` is descriptive and can vary by case
* first submission feedback usually appears within about 5 minutes
* use void query if refund completion is still unclear

{% tabs %}
{% tab title="Schema" %}
**cid**

* **Type:** String
* **Required:** Yes
* **Description:** Unique client identifier.
* **Example:** `"XXXXXXX"`

**type**

* **Type:** String
* **Required:** Yes
* **Description:** Notification type. Always `order.void`.
* **Example:** `"order.void"`

**status**

* **Type:** Integer
* **Required:** Yes
* **Description:** Internal status field. `-1` means normal delivery.
* **Example:** `-1`

**data**

* **Type:** Object
* **Required:** Yes
* **Description:** Void event payload.

**data.orderNo**

* **Type:** String
* **Required:** Yes
* **Description:** Atlas order number.
* **Example:** `"TESTA20250512100600259"`

**data.voidCode**

* **Type:** String
* **Required:** Yes
* **Description:** Void case number returned by `void.do`.
* **Example:** `"202505-0012"`

**data.voidStatus**

* **Type:** Integer
* **Required:** Yes
* **Description:** Current void processing status.
* **Valid values:**
  * `0`: Atlas Processing
  * `1`: Airline Processing
  * `2`: Voided / Refunded
  * `3`: Airline Voiding
  * `4`: Rejected
  * `5`: Completed
  * `6`: Withdrew
* **Example:** `2`

**data.message**

* **Type:** String
* **Required:** No
* **Description:** Human-readable status or failure detail.
* **Example:** `"Void successful and confirmed by the airline."`
  {% endtab %}

{% tab title="Samples" %}
**Success**

```json
{
  "cid": "XXXXXXX",
  "type": "order.void",
  "status": -1,
  "data": {
    "orderNo": "TESTA20250512100600259",
    "voidCode": "202505-0012",
    "voidStatus": 2,
    "message": "Void successful and confirmed by the airline."
  }
}
```

**Retry failure**

```json
{
  "cid": "XXXXXXX",
  "type": "order.void",
  "status": -1,
  "data": {
    "orderNo": "TESTA20250512100600259",
    "voidCode": "202505-0012",
    "voidStatus": 4,
    "message": "Automatic void processing failed after 10 retries."
  }
}
```

{% endtab %}
{% endtabs %}

### Related pages

* [Webhook Overview](/api-document/readme/webhook-overview.md)
* [Webhook Registration & Incidents](/api-document/api-reference/webhook-and-incident-apis/webhook-registration-and-incidents.md)
* [Void](/api-document/api-reference/post-booking-apis/void.md)
* [Void workflow](/api-document/readme/post-booking-overview/post-booking-operations/void.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://resources.atriptech.com/api-document/readme/webhook-overview/void-notification.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
