---
title: "Order item extension data model"
slug: "order-item-extension-data-model"
abstract: "Describes the standard data model for order item extensions (Sitecore CDP Batch API)."
---
# Order item extension data model

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

When you create a batch file, ensure that you include all [required attributes](https://doc.sitecore.com/cdp/en/developers/api/batch-api/batch-api-offline-orders/batch-file-formatting-requirements.html#UUID-4499e082-be7d-9ebb-4936-c178936c1e06_para-idm1903351877649584) in addition to any attributes from the following table:

| Attribute | Description | Type | Example(s) | Insert | Upsert | Migration |
| --- | --- | --- | --- | --- | --- | --- |
| `extensions` | A list of data extensions associated with the guest. Only one data extension is supported. You can request this feature from your Sitecore representative. | JSON array of JSON objects | N/A | Required | Required | Not supported |
| `extensions.name` | Set this to `"ext"` | string | `"ext"` | Required | Required | Not supported |
| `extensions.key` | Set this to `"default"` | string | `"default"` | Required | Required | Not supported |
| `extensions.attribute` | One or many name/value pair attributes for custom data. The name must follow [attribute naming guidelines](https://doc.sitecore.com/cdp/en/developers/api/batch-api/batch-api-offline-orders/send-additional-order-items-data.html). | Supported types for the "value": string: `"Hello"`, boolean: `true` or `false`, integer: `9`, number: `99.9` | `"status": "PLACED"` | Required | Required | Not supported |

Here's a JSON example that includes Personally Identifiable Information (PII) and uses `insert` mode for a flight order item extension:

```json
{
   "ref":"056621C2-C955-492D-B7EE-C77C6BDDFDEE",
   "schema":"order",
   "mode":"insert",
   "value":{
      "referenceId":"BET_001-1",
      "channel":"WEB",
      "pointOfSale":"spinair.com",
      "status":"PURCHASED",
      "orderedAt":"2026-03-07T16:`15:11`.000Z",
      "currencyCode":"EUR",
      "price":100,
      "paymentType":"Card",
      "cardType":"Visa",
      "contact":{
         "title":"Mr",
         "firstName":"John",
         "lastName":"Doe",
         "gender":"male",
         "dateOfBirth":"1985-12-24T00:00Z",
         "email":"john.doe@sitecore.com",
         "phoneNumbers":[
            "+353161123345",
            "+353861123311"
         ]
      },
      "orderItems":[
         {
            "type":"FLIGHT",
            "productId":"DUB-LAS",
            "name":"flight",
            "description":"individualSegments",
            "vendor":"Company ABC",
            "orderedAt":"2026-03-07T16:`15:11`.000Z",
            "quantity":1,
            "price":100.00,
            "currencyCode":"EUR",
            "originalPrice":100.00,
            "originalCurrencyCode":"EUR",
            "referenceId":"B94TXY-1",
            "status":"PURCHASED",
            "consumerTypeCode":"ADT",
            "flightSegments":[
               {
                  "id":"1234",
                  "origin":"DUB",
                  "destination":"LHR",
                  "departureDateTime":"2026-08-15T16:00Z",
                  "arrivalDateTime":"2026-08-15T17:20Z",
                  "flightNumber":"459",
                  "fareClass":"Economy",
                  "fareFamily":"Plus",
                  "carrier":"FR",
                  "originDestination":"DUB-LHR"
               },
               {
                  "id":"1235",
                  "origin":"LHR",
                  "destination":"LAS",
                  "departureDateTime":"2026-08-15T20:00Z",
                  "arrivalDateTime":"2026-08-15T22:30Z",
                  "flightNumber":"460",
                  "fareClass":"Economy",
                  "fareFamily":"Plus",
                  "carrier":"FR",
                  "originDestination":"LHR-LAS"
               }
            ],
            "extensions":[
               {
                  "ref":"f14987a9-aaa5-52b2-91c7-752d619146d9",
                  "name":"ext",
                  "key":"default",
                  "tripId":"XCY847",
                  "covidTest":"Available"
                  }
               }
            ]
         }
      ]
   }
}

```

Here's a JSON example that includes the `identifiers` attribute and uses `insert` mode for an order item:

```json
{
   "ref":"056621C2-C955-492D-B7EE-C77C6BDDFDEE",
   "schema":"order",
   "mode":"insert",
   "value":{
      "referenceId":"BET_001-1",
      "channel":"WEB",
      "pointOfSale":"spinbet.com",
      "status":"PURCHASED",
      "orderedAt":"2026-03-07T16:`15:11`.000Z",
      "currencyCode":"EUR",
      "price":100,
      "paymentType":"Card",
      "cardType":"Visa",
      "contact":{
         "identifiers":[
            {
               "provider":"IDENTITY_SYSTEM",
               "id":"B7524AE6-CF1C-440F-B1A2-0C9D42F5CB41",
               "expiryDate":"2025-08-23T16:`17:16`.000Z"
            },
            {
               "provider":"CRM",
               "id":"123456789t"
            }
         ]
      },
      "orderItems":[
         {
            "type":"BET_001-1",
            "productId":"CORRECT_SCORE",
            "name":"Exact score after 90 minutes",
            "description":"footballBets",
            "vendor":"Company ABC",
            "orderedAt":"2026-03-07T16:`15:11`.000Z",
            "quantity":1,
            "price":100.00,
            "currencyCode":"EUR",
            "originalPrice":100.00,
            "originalCurrencyCode":"EUR",
            "referenceId":"BET_001-1",
            "status":"PURCHASED",
            "extensions":[
               {
                  "name":"ext",
                  "key":"default",
                  "competitionId":19238730,
                  "sportType":"Football",
                  "promotional":true,
                  "flatRateDiscount":25.5
               }
            ]
         }
      ]
   }
}

```

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

2.0 data model does not support this functionality.

:::::::
