Order item extension data model
When you create a batch file, ensure that you follow the formatting requirements and include attributes from the following table:
Attribute |
Description |
Type |
Example(s) |
Insert |
Upsert |
Migration |
---|---|---|---|---|---|---|
|
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 |
|
Set this to |
string |
|
Required |
Required |
Not supported |
|
Set this to |
string |
|
Required |
Required |
Not supported |
|
One or many name/value pair attributes for custom data. The name must follow attribute naming guidelines. |
Supported types for the "value": string: |
|
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:
{
"ref":"056621C2-C955-492D-B7EE-C77C6BDDFDEE",
"schema":"order",
"mode":"insert",
"value":{
"referenceId":"BET_001-1",
"channel":"WEB",
"pointOfSale":"spinair.com",
"status":"PURCHASED",
"orderedAt":"2025-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":"[email protected]",
"phoneNumbers":[
"+353161123345",
"+353861123311"
]
},
"orderItems":[
{
"type":"FLIGHT",
"productId":"DUB-LAS",
"name":"flight",
"description":"individualSegments",
"vendor":"Company ABC",
"orderedAt":"2025-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":"2025-08-15T16:00Z",
"arrivalDateTime":"2025-08-15T17:20Z",
"flightNumber":"459",
"fareClass":"Economy",
"fareFamily":"Plus",
"carrier":"FR",
"originDestination":"DUB-LHR"
},
{
"id":"1235",
"origin":"LHR",
"destination":"LAS",
"departureDateTime":"2025-08-15T20:00Z",
"arrivalDateTime":"2025-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:
{
"ref":"056621C2-C955-492D-B7EE-C77C6BDDFDEE",
"schema":"order",
"mode":"insert",
"value":{
"referenceId":"BET_001-1",
"channel":"WEB",
"pointOfSale":"spinbet.com",
"status":"PURCHASED",
"orderedAt":"2025-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":"2025-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
}
]
}
]
}
}