ORDER_CHECKOUT event
To use the flight data model, assemble 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.
The event data object for an ORDER_CHECKOUT event must include all the required attributes for event data objects 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.000Z" | Required |
status | string (uppercase) | The status of the order. |
| Required |
currencyCode | string (uppercase ISO 4217) | The currency the guest used to complete a purchase. |
| 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. |
| Required |
cardType | string (title case recommended) | The card type used to pay for the order. |
| 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. Supported types for the value:
| 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. The following values are not supported:
| "MOBILE_PHONE" |
referenceId | string | An ID generated by the client to reference the order item. | "REF-123" |
orderedAt | string (ISO 8601) | The date and time the order item was made. | "2026-01-01T16:17.000Z" |
status | string enum | The status of the order item. |
|
currencyCode | string (uppercase ISO 4217) | The organization’s currency code for the order item. |
|
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. Supported types for the value:
| 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. Then, you can send the event using the [Engage.event()](engage-event.md "Engage.event(type, eventData[, extensionData])") function.
2.0 data model does not support this functionality.