Skip to main content
Users
CloudPortalLogin
  • Powered byPowered by
Developing with Sitecore Personalize
Data privacy
Before you start sending data
Integrating with Sitecore Personalize
Stream API
Personalize API Flow execution
REST APIs
  • Sitecore Personalize for developers
  • Stream API
  • Sitecore Engage SDK reference
  • Objects
  • Event data object
  • ORDER_CHECKOUT event

ORDER_CHECKOUT event

Important

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.

"B94TXY-1"

Required

orderedAt

ISO 8601 Date/Time UTC

The date and time the order was made.

"2025-01-01T16:17:16.000Z"

Required

status

string (uppercase)

The status of the order.

  • "PURCHASED"

  • "PAYMENT_PENDING"

Required

currencyCode

string (uppercase ISO 4217)

The currency the guest used to complete a purchase.

  • "EUR"

  • "GBP"

  • "USD"

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.

  • "Card"

  • "PayPal"

  • "voucher"

  • "other"

Required

cardType

string (title case recommended)

The card type used to pay for the order.

  • "Mastercard"

  • "Visa"

  • "Diners"

  • "American Express"

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:

  • string

  • boolean

  • integer

  • float

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:

  • "FLIGHT"

  • "HOTEL"

  • "MORTGAGE"

  • "MORTGAGE_APPLICATION"

  • "LOAN_APPLICATION"

  • "PERSONAL_LOAN"

  • "RAIL"

"MOBILE_PHONE"

referenceId

string

An ID generated by the client to reference the order item.

"B94TXY-1"

orderedAt

string (ISO 8601)

The date and time the order item was made.

"2025-01-01T16:17:16.000Z"

status

string enum

The status of the order item.

  • "PURCHASED"

  • "PAYMENT_PENDING"

currencyCode

string (uppercase ISO 4217)

The organization’s currency code for the order item.

  • "EUR"

  • "GBP"

  • "USD"

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:

  • string

  • boolean

  • integer

  • float

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() function.

RequestResponse
const eventData = {
  channel: "WEB",
  currency: "EUR",
  pointOfSale: "myretailsite/ireland",
  language: "EN",
  page: "checkout page",
  order: {
    referenceId: "B94TXY-1",
    orderedAt: "2025-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: "B94TXY-1",
        orderedAt: "2025-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,
          },
        ],
      },
    ],
  },
}

Do you have some feedback for us?

If you have suggestions for improving this article,

Privacy policySitecore Trust CenterCopyright © 1999-2025 Sitecore