# terminalOrder.status.changed

Explains the terminalOrder.status.changed webhook event, which fires when Payroc updates the status of a terminal order such as shipping or cancellation.

**Event type:** terminalOrder.status.changed  
**Version:** 1.0.0  
**Resource:** Boarding

We trigger this event when we change the status of a terminal order, for example, when we ship the items in the terminal order.

If we ship items to the merchant as part of the terminal order, the final status is `dispatched`. We don’t trigger a status of `fulfilled`.

<a id="notification-payload"></a>
### Notification payload

| Attribute | Description |
| --- | --- |
| **terminalOrderId** | Unique identifier that we assigned to the terminal order. |
| **processingAccountId** | Unique identifier that we assigned to the processing account. |
| **status** | Status of the terminal order. The status is one of the following values:  • **open** – We are currently working on the terminal order.  • **dispatched** – We have shipped the items in the terminal order.  • **fulfilled** – We have completed the terminal order.  • **cancelled** – We have canceled the terminal order. For more information about why we have canceled the order, see the reason parameter.  • **held** – We have placed the terminal order is on hold. For more information about why we have held the order, see the reason parameter. |
| **reason** | If the status of the terminal order is `cancelled` or `held`, we provide a reason to explain why we have canceled or held the terminal order. |

<a id="example"></a>
### Example

```json
{
  "specversion": "1.0",
  "type": "terminalOrder.status.changed",
  "version": "1.0.0"
  "source": "payroc",
  "id": "c24a7423-9bed-403d-93eb-004dfadcc19b",
  "time": "2024-11-01T16:00:00.000Z",
  "datacontenttype": "application/json",
  "data": {
    "terminalOrderId": "1436",
    "processingAccountId": "12345678",
    "status": "held",
    "reason": "Pending MID Approval",
  }
}
```
