---
title: "ORDER_CHECKOUT event"
slug: "order_checkout-event"
abstract: "Describes the event data object for an ORDER_CHECKOUT event in the Sitecore Engage SDK (Sitecore Personalize Stream API)."
---
# ORDER_CHECKOUT event

::::tabs
:::tab{title="2.1"}

> [!important]
> To use the flight data model, [assemble orders using multiple events](https://doc.sitecore.com/personalize/en/developers/api/stream-api/sitecore-engage-sdk-reference/objects/event-data-object/sending-orders-using-the-engage-sdk.html#UUID-249a4989-cad7-cdef-0543-001e9d2a8f0f_UUID-199bdda1-5e71-2361-027d-97a3d70b0e0c "Sending orders using multiple events") instead of sending an ORDER\_CHECKOUT event.

Before you can send an ORDER_CHECKOUT event, the guest must be identified as a customer. See [IDENTITY event](https://doc.sitecore.com/personalize/en/developers/api/stream-api/sitecore-engage-sdk-reference/objects/event-data-object/identity-event.html "IDENTITY event").

The event data object for an ORDER_CHECKOUT event must include all the [required attributes for event data objects](https://doc.sitecore.com/personalize/en/developers/api/stream-api/sitecore-engage-sdk-reference/objects/event-data-object.html#UUID-a7f441ce-7bee-9e1a-8a6c-7f995310e71b_UUID-2cda931f-8a8a-520d-dd7c-fe7fa3c3d597 "Required attributes") plus the following attribute:

| Attribute | Type | Description | Example |
| --- | --- | --- | --- |
| `order` | object | The guest's purchase order. | N/A |

The `order` object:

| Attribute | Type | Description | Example | Required/optional |
| --- | --- | --- | --- | --- |
| `referenceId` | string | A unique ID generated by your organization to reference the order. | `"123456"` | Required |
| `orderedAt` | ISO 8601 Date/Time UTC | The date and time the order was made. | `"2026-01-01T16:`17:16`.000Z"` | Required |
| `status` | string (uppercase) | The status of the order. | <ul><li>`"PURCHASED"`</li><li>`"PAYMENT_PENDING"`</li></ul> | Required |
| `currencyCode` | string (uppercase [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes)) | The currency the guest used to complete a purchase. | <ul><li>`"EUR"`</li><li>`"GBP"`</li><li>`"USD"`</li></ul> | Required |
| `price` | number (currency) | The amount paid for the order. | `50, 30.6` | Required |
| `paymentType` | string (title case recommended) | The method of payment for the order. | <ul><li>`"Card"`</li><li>`"PayPal"`</li><li>`"voucher"`</li><li>`"other"`</li></ul> | Required |
| `cardType` | string (title case recommended) | The card type used to pay for the order. | <ul><li>`"Mastercard"`</li><li>`"Visa"`</li><li>`"Diners"`</li><li>`"American Express"`</li></ul> | Required if `paymentType` is `"Card"` |
| `extensions` | array of objects | A list of data extensions associated with the order. | N/A | Optional |
| `orderItems` | array of objects | Items in the order. | N/A | Optional |

The `order.extensions` array of objects. All attributes are optional.

| Attribute | Type | Description | Example |
| --- | --- | --- | --- |
| `name` | string enum | Set this to `"ext"` | `"ext"` |
| `key` | string enum | Set this to `"default"` | `"default"` |
| attribute | This is a custom attribute of your choice.<br><br>Supported types for the value:<br><br><ul><li>string</li><li>boolean</li><li>integer</li><li>float</li></ul> | One or many key-value pairs attributes for custom data. | `"refundable":true` |

The `order.orderItems` array of objects. All attributes are optional.

| Attribute | Type | Description | Example |
| --- | --- | --- | --- |
| `type` | string (uppercase) | The type of order item. The accepted values must be predefined for your organization in the schema.<br><br>The following values are not supported:<br><br><ul><li>`"FLIGHT"`</li><li>`"HOTEL"`</li><li>`"MORTGAGE"`</li><li>`"MORTGAGE_APPLICATION"`</li><li>`"LOAN_APPLICATION"`</li><li>`"PERSONAL_LOAN"`</li><li>`"RAIL"`</li></ul> | `"MOBILE_PHONE"` |
| `referenceId` | string | An ID generated by the client to reference the order item. | `"REF-123"` |
| `orderedAt` | string ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) | The date and time the order item was made. | `"2026-01-01T16:`17:16`.000Z"` |
| `status` | string enum | The status of the order item. | <ul><li>`"PURCHASED"`</li><li>`"PAYMENT_PENDING"`</li></ul> |
| `currencyCode` | string (uppercase [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes)) | The organization’s currency code for the order item. | <ul><li>`"EUR"`</li><li>`"GBP"`</li><li>`"USD"`</li></ul> |
| `price` | number (currency) | The organization’s price for the order item. | `50, 30.6, -45` |
| `name` | string (title case recommended) | The name of the order item. A free text value for the name of the order item. Max limit: 128 | `"Mobile phone of type x"` |
| `productId` | string | The ID of the product code. | `"MOBILE_PHONE_TYPE_X"` |
| `quantity` | number | The number or quantity of the order item. | `2` |
| `extensions` | array of objects | A list of data extensions associated with the order item. Only one data extension is supported. You can request this feature from your Sitecore representative. | N/A |

The `order.orderItems.extensions` array of objects. All attributes are optional.

| Attribute | Type | Description | Example |
| --- | --- | --- | --- |
| `name` | string enum | Set this to `"ext"` | `"ext"` |
| `key` | string enum | Set this to `"default"` | `"default"` |
| attribute | This is a custom attribute of your choice.<br><br>Supported types for the value:<br><br><ul><li>string</li><li>boolean</li><li>integer</li><li>float</li></ul> | One or many key-value pairs attributes for custom data. | `"phoneColor": "Gold"` |

After you create this event data object, you can optionally extend this event using the [extension data object](https://doc.sitecore.com/personalize/en/developers/api/stream-api/sitecore-engage-sdk-reference/objects/extension-data-object.html "Extension data object"). Then, you can send the event using the `[Engage.event()](../../functions/engage-event.md "Engage.event(type, eventData[, extensionData])")` function.

```javascript
const eventData = {
  channel: "WEB",
  currency: "EUR",
  pointOfSale: "myretailsite/ireland",
  language: "EN",
  page: "checkout page",
  order: {
    referenceId: "123456",
    orderedAt: "2026-08-23T16:`17:16`.000Z",
    status: "PURCHASED",
    currencyCode: "EUR",
    price: 200,
    paymentType: "Card",
    cardType: "Visa",
    extensions: [
      {
        name: "ext",
        key: "default",
        refundable: true,
      },
    ],
    orderItems: [
      {
        type: "MOBILE_PHONE",
        referenceId: "REF-123",
        orderedAt: "2026-08-23T16:`17:16`.000Z",
        status: "PURCHASED",
        currencyCode: "EUR",
        price: 200,
        name: "Mobile phone of type x",
        productId: "MOBILE_PHONE_TYPE_X",
        quantity: 1,
        extensions: [
          {
            name: "ext",
            key: "default",
            phoneColor: "Gold",
            insurance: false,
          },
        ],
      },
    ],
  },
}

```

:::
:::tab{title="2.0"}

2.0 data model does not support this functionality.

:::::::
