Skip to main content
Sitecore Documentation
  • Learn
  • Downloads
  • Changelog
  • Roadmap
PersonalizeCloud Portal
Sitecore Personalize developer documentation
  • Developing with Sitecore Personalize
            • Settings object
                • VIEW event
                • IDENTITY event
                • ORDER_CHECKOUT event
                • ADD event
                • CONFIRM event
                • CHECKOUT event
                • PAYMENT event
                • CLEAR_CART event
                • SEARCH event
                • Custom event
            • Extension data object
            • Personalization data object
        • Troubleshooting
        • Release notes
  1. Event data object
  1. Stream API
  2. Objects
  3. Event data object
  4. 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.

"123456"

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.

"REF-123"

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.

const eventData = {
  channel: "WEB",
  currency: "EUR",
  pointOfSale: "myretailsite/ireland",
  language: "EN",
  page: "checkout page",
  order: {
    referenceId: "123456",
    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: "REF-123",
        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,
          },
        ],
      },
    ],
  },
}

2.0 data model does not support this functionality.

If you have suggestions for improving this article, let us know!

© Copyright 2026, Sitecore A/S or a Sitecore affiliated company.
All rights reserved.

Privacy policySitecore Trust CenterTerms of use