Reservation API
Modified on: 2025-09-24 11:05
TABLE OF CONTENTS
- Final query available ticket product before booking
- Book real-time reservation on ticket
- Book park pass reservationBook Theme Park API (Disney Only)
- Cancel a ticket reservation
- Query reservation IDs during the timeframe
- Query a single reservation
Used by the distributor to make reservations with the supplier
Final query available ticket product before booking
This API is used to live check to query available ticket products before booking
REQUEST
Request Headers
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | authorization* | string | Y | Oauth2 authorization token | |
| 1 | echo-token* | string | Y | A unique echo token is generated from the distributor | cc28bac659c44422b2dab11705934a4f |
| 1 | distributor-id* | string | Y | Distributor ID in the Derbysoft system | DISTRIBUTOR |
| 1 | brand-id | string | N | Property brand, required for Disney, United Parks | WDW |
| 1 | office-id | string | N | The distributor identifier for each of their offices or points of sale consists of distributorid(Disney) and officeid(Disney), which are combined with the underscore. Required for Disney | DERBY-1_DERBY001 |
| 1 | supplier-id* | string | Y | DISNEY |
Request Body
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | products* | array | Request Product List, Max 20 elements | ||
| 2 | productId* | string | Y | 5XK03A | |
| 2 | quantity* | integer | Y | Count of the ticket | |
| 1 | date* | string | Y | Check in date. Format with yyyy-MM-dd |
Request Example
{
"products": [
{
"productId": "5XK03A",
"quantity": 2
}
],
"date": "2022-02-13"
}RESPONSE
Response Schema
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | supplier-id* | string | Y | supplier-id | DISNEY |
| 1 | productId* | string | Y | 5XK03A | |
| 1 | destination | N | |||
| 2 | countryCode* | string | Y | Country Code, ISO 3166-1 alpha-2 code, Min 1 char | |
| 2 | countryName* | string | Y | Min 1 char | |
| 2 | subdivisionCode* | string | Y | Subdivision Code, ISO 3166-2 code, Min 1 char | |
| 2 | subdivisionName* | string | Y | Min 1 char | |
| 2 | subdivisionCategory* | string | Y | Subdivision Category, such as state, province | |
| 2 | cityName | string | N | ||
| 1 | brand-id | string | N | Property brand, required for Disney, United Parks | WDW |
| 1 | marketRegions | array | N | It will be used for ticket products, advising whether the tickets can only be sold to a specific region. | |
| 1 | affiliations | array | N | All available discount codes for this product | |
| 1 | durationDays | integer | N | The number of days included in the ticket purchase | 5 |
| 2 | usageDateRange | N | The usage window of this product | ||
| 3 | startDate* | date | Y | Start date of date range, format with yyyy-MM-dd | 2025-03-11 |
| 3 | endDate | date | N | End date of date range, format with yyyy-MM-dd | 2026-02-28 |
| 2 | date* | string | Y | Check in date. Format with yyyy-MM-dd | 2026-10-09 |
| 2 | price* | Y | |||
| 3 | amountBeforeTax | number | N | Single ticket price without tax | |
| 3 | amountAfterTax | number | N | Single ticket price with tax | |
| 3 | decimalPlaces | integer | N | Decimal places | |
| 2 | currency* | string | Y | Currency code | |
| 3 | exchangeBeforeTax | number | N | the full retail price of the ticket without tax | |
| 3 | exchangeAfterTax | number | N | The full retail price of the ticket with tax | |
| 3 | netDiscount | N | |||
| 4 | type | enum | N | Allowed: PERCENTAGE┃AMOUNT | |
| 4 | value | number | N | Net discount value. | |
| 2 | availableParks | N | The park availability during the usage window | ||
| 3 | date* | date | Y | Date, format with yyyy-MM-dd | |
| 3 | parkIds* | array | Y | The park ID list |
Response Example
[
{
"supplierId": "DISNEY",
"productId": "5XK03A",
"destination": {
"countryCode": "US",
"countryName": "United States",
"subdivisionCode": "US-IL",
"subdivisionName": "Illinois",
"subdivisionCategory": "State",
"cityName": "Chicago"
},
"brandId": "WDW",
"marketRegions": [
"INTL_WHOLESALE"
],
"affiliations": [
"STD_GST"
],
"durationDays": 5,
"usageDateRange": {
"startDate": "2022-02-13",
"endDate": "2022-02-15"
},
"date": "2022-02-13",
"price": {
"amountBeforeTax": 120.01,
"amountAfterTax": 150.01,
"decimalPlaces": 2,
"currency": "USD",
"exchangeBeforeTax": 652.06,
"exchangeAfterTax": 694.06,
"netDiscount": {
"type": "PERCENTAGE",
"value": 0.01
}
},
"availableParks": {
"date": "2022-03-14",
"parkIds": [
"magic-kingdom"
]
}
}
]{
"errorCode": "System",
"errorMessage": "Internal Server Error"
}Book real-time reservation on ticket
This API is used by the Distributor to book tickets. It will be forwarded to the ticket supplier system to get a real-time confirmation.
REQUEST
Request Headers
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | authorization* | string | Y | Oauth2 authorization token | |
| 1 | echo-token* | string | Y | A unique echo token is generated from the distributor | cc28bac659c44422b2dab11705934a4f |
| 1 | distributor-id* | string | Y | Distributor ID in the Derbysoft system | DISTRIBUTOR |
| 1 | brand-id | string | N | Property brand, required for Disney, United Parks | WDW |
| 1 | office-id | string | N | The distributor identifier for each of their offices or points of sale consists of distributorid(Disney) and officeid(Disney), which are combined with the underscore. Required for Disney | DERBY-1_DERBY001 |
| 1 | supplier-id* | string | Y | DISNEY |
Request Body
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | reservationIds* | Y | |||
| 2 | distributorResId* | string | Y | Reservation ID generated by Distributor | |
| 1 | contactPerson* | Y | |||
| 2 | given* | string | Y | ||
| 2 | middle | string | N | ||
| 2 | surname* | string | Y | ||
| 2 | string | N | |||
| 2 | phone | string | N | ||
| 1 | orders* | Y | Order list for this reservation | ||
| 2 | productId* | string | Y | 5XK03A | |
| 2 | quantity* | integer | Y | Count of the tickets | |
| 2 | date* | string | Y | Check-in date | |
| 2 | price* | Y | |||
| 3 | amountBeforeTax | number | N | Single ticket price without tax | |
| 3 | amountAfterTax | number | N | Single ticket price with tax | |
| 3 | decimalPlaces | integer | N | Decimal places | |
| 3 | currency* | string | Y | Currency code | |
| 1 | delivery | N | Only required for bulk ticket purchases for Disney | ||
| 2 | type* | enum | Y | Only required for bulk ticket purchases for Disney Allowed: DELIVERY┃PICKUP | |
| 2 | date* | string | Y | Only required for bulk ticket purchases for Disney Delivery shipping date or Pickup date; format with YYYY-MM-DD | |
| 2 | instructions | string | N | Only required for bulk ticket purchases for Disney Freeform text field to input additional information to the supplier for Ticket fulfillment | |
| 1 | language | string | N | Reservation Language, IETF language tag |
Request Example
{
"reservationIds": {
"distributorResId": "string"
},
"contactPerson": {
"given": "Jean",
"middle": "Luc",
"surname": "Picard",
"email": "xxx@email.com",
"phone": 11111111111
},
"orders": [
{
"productId": "5XK03A",
"quantity": 2,
"date": "2020-02-13",
"price": {
"amountBeforeTax": 120.01,
"amountAfterTax": 150.01,
"decimalPlaces": 2,
"currency": "USD"
}
}
],
"delivery": {
"type": "DELIVERY",
"date": "2024-09-01",
"instructions": "string"
},
"language": "en-US"
}RESPONSE
Response Schema
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | reservationIds* | Y | |||
| 2 | distributorResId* | string | Y | Reservation id generated by Distributor | |
| 2 | supplierResId | string | N | Reservation id generated by Supplier | |
| 2 | derbyResId* | string | Y | Reservation id generated by Derbysoft | |
| 1 | contactPerson | N | |||
| 2 | given* | string | Y | ||
| 2 | middle | string | N | ||
| 2 | surname* | string | Y | ||
| 2 | string | N | |||
| 2 | phone | string | N | ||
| 1 | orders | N | Order list for this reservation | ||
| 2 | productId* | string | Y | 5XK03A | |
| 2 | brandId | integer | N | Property brand | 5 |
| 2 | quantity* | integer | Y | Count of the tickets | |
| 2 | date* | string | Y | Check in date. Format with yyyy-MM-dd | 2026-10-09 |
| 2 | price | N | |||
| 3 | amountBeforeTax | number | N | Single ticket price without tax | |
| 3 | amountAfterTax | number | N | Single ticket price with tax | |
| 3 | decimalPlaces | integer | N | Decimal places | |
| 3 | currency* | string | Y | Currency code | |
| 2 | orderIds | N | Ticket order Confirmed list | ||
| 3 | confirmId | string | N | Confirmed ID for each ticket | |
| 2 | passUrls | N | |||
| 3 | getPassUrl | string | N | Url For Get Pass | |
| 3 | printPassesUrl | string | N | Url For Print Pass | |
| 3 | mobilePassesUrl | string | N | Mobile Passes Url | |
| 1 | delivery | date | N | ||
| 2 | type | enum | N | Allowed: DELIVERY┃PICKUP | |
| 2 | date | string | N | Delivery shipping date or Pickup date; format with YYYY-MM-DD | |
| 2 | instructions | string | N | Freeform text field to input additional information to the supplier for Ticket fulfillment | |
| 1 | language | string | N | Reservation Language |
Response Example
{
"reservationIds": {
"distributorResId": "string",
"supplierResId": "string",
"derbyResId": "DK51202494D1RQ"
},
"contactPerson": {
"given": "Jean",
"middle": "Luc",
"surname": "Picard",
"email": "xxx@email.com",
"phone": 11111111111
},
"orders": [
{
"productId": "5XK03A",
"brandId": "WDW",
"quantity": 2,
"date": "2020-02-13",
"price": {
"amountBeforeTax": 120.01,
"amountAfterTax": 150.01,
"decimalPlaces": 2,
"currency": "USD"
},
"orderIds": [
{
"confirmId": "string"
}
],
"passUrls": {
"getPassUrl": "https://xxx.xxx.xxx",
"printPassesUrl": "https://xxx.xxx.xxx",
"mobilePassesUrl": "https://xxx.xxx.xxx"
}
}
],
"delivery": {
"type": "DELIVERY",
"date": "2024-09-01",
"instructions": "string"
},
"language": "string"
}{
"errorCode": "System",
"errorMessage": "Internal Server Error"
}Book park pass reservationBook Theme Park API (Disney Only)
This API allows authorized distributors to book which theme park to visit in advance (e.g., Disney California Adventure Park or Disneyland Park) after ticket purchase - this provides an API alternative to Disney’s offline Park Pass Rservation process.
Note: Different tickets will cover different theme parks
REQUEST
Request Headers
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | authorization* | string | Y | OAuth2 authorization token | |
| 1 | echo-token* | string | Y | A unique echo token is generated from the distributor | cc28bac659c44422b2dab11705934a4f |
| 1 | distributor-id* | string | Y | Distributor ID in the Derbysoft system | DISTRIBUTOR |
| 1 | brand-id | string | N | Property brand, required for Disney, United Parks | WDW |
| 1 | office-id | string | N | The distributor identifier for each of their offices or points of sale consists of distributorid(Disney) and officeid(Disney), which are combined with the underscore. Required for Disney | DERBY-1_DERBY001 |
| 1 | supplier-id* | string | Y | DISNEY |
Request Body
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | reservationIds* | Y | |||
| 2 | distributorResId* | string | Y | Reservation ID generated by Distributor | |
| 1 | parkReservations* | Y | Park Reservations for this reservation | ||
| 2 | productId* | string | Y | 5XK03A | |
| 2 | confirmId* | string | Y | Confirmed ID for each ticket | |
| 2 | parkReservationDetails* | string | Y | Park Reservation Detail list | |
| 3 | date* | string | Y | Check-in date | |
| 3 | parkId* | string | Y | The park ID |
Request Example
{
"reservationIds": {
"distributorResId": "string"
},
"parkReservations": [
{
"productId": "5XK03A",
"confirmId": "string",
"parkReservationDetails": [
{
"date": "2020-02-13",
"parkId": "magic-kingdom"
}
]
}
]
}RESPONSE
Response Schema
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | reservationIds* | Y | |||
| 2 | distributorResId* | string | Y | Reservation ID generated by Distributor | |
| 1 | parkReservations | N | Park Reservations for this reservation | ||
| 2 | productId* | string | Y | 5XK03A | |
| 2 | confirmId* | string | Y | Confirmed ID for each ticket | |
| 2 | parkReservationDetails* | Y | Park Reservation Detail list | ||
| 3 | date* | string | Y | Check-in date | |
| 3 | parkId* | string | Y | The park ID | |
| 3 | parkReservationConfirmId | string | N | Confirmation No For Park Reservation | |
| 3 | failCause | N | This is a global error response in this specification | ||
| 4 | errorCode* | string | Y | Error code | |
| 4 | errorMessage* | string | Y | Constraints: Min 1 chars Error detail |
Response Example
{
"reservationIds": {
"distributorResId": "string"
},
"parkReservations": [
{
"productId": "5XK03A",
"confirmId": "string",
"parkReservationDetails": [
{
"date": "2020-02-13",
"parkId": "magic-kingdom",
"parkReservationConfirmId": 1234567,
"failCause": {
"errorCode": "System",
"errorMessage": "Internal Server Error"
}
}
]
}
]
}{
"errorCode": "System",
"errorMessage": "Internal Server Error"
}Cancel a ticket reservation
This API is used by the Distributor to cancel an existing ticket. It will be forwarded to the ticket supplier system to get a real-time cancellation confirmation.
REQUEST
Request Headers
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | authorization* | string | Y | OAuth2 authorization token | |
| 1 | echo-token* | string | Y | A unique echo token is generated from the distributor | cc28bac659c44422b2dab11705934a4f |
| 1 | distributor-id* | string | Y | Distributor ID in the Derbysoft system | DISTRIBUTOR |
| 1 | office-id | string | N | The distributor identifier for each of their offices or points of sale consists of distributorid(Disney) and officeid(Disney), which are combined with the underscore. Required for Disney | DERBY-1_DERBY001 |
| 1 | supplier-id* | string | Y | DISNEY |
Request Body
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | reservationIds* | Y | |||
| 2 | distributorResId* | string | Y | Reservation ID generated by Distributor | |
| 2 | supplierResId | string | N | Reservation ID generated by Supplier | |
| 2 | derbyResId* | string | Y | Reservation ID generated by Derbysoft |
Request Example
{
"reservationIds": {
"distributorResId": "string",
"supplierResId": "string",
"derbyResId": "DK51202494D1RQ"
}
}RESPONSE
Response Schema
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | reservationIds* | Y | |||
| 2 | distributorResId* | string | Y | Reservation ID generated by Distributor | |
| 2 | supplierResId | string | N | Reservation ID generated by Supplier | |
| 2 | derbyResId* | string | Y | Reservation ID generated by Derbysoft | |
| 1 | cancellationId | string | N | Reservation cancellation ID from the supplier | |
| 1 | orders | N | Order list for this reservation | ||
| 2 | productId* | string | Y | 5XK03A | |
| 2 | brandId | string | N | Property brand | |
| 2 | orderIds | N | |||
| 3 | confirmId | string | N | Confirmed ID for each ticket |
Response Example
{
"reservationIds": {
"distributorResId": "string",
"supplierResId": "string",
"derbyResId": "DK51202494D1RQ"
},
"cancellationId": "string",
"orders": [
{
"productId": "5XK03A",
"brandId": "WDW",
"orderIds": [
{
"confirmId": "string"
}
]
}
]
}{
"errorCode": "System",
"errorMessage": "Internal Server Error"
}Query reservation IDs during the timeframe
This API is used by the distributor to query existing ticket reservations by the reservation's last modification time.
REQUEST
Request Headers
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | authorization* | string | Y | OAuth2 authorization token | |
| 1 | echo-token* | string | Y | A unique echo token is generated from the distributor | cc28bac659c44422b2dab11705934a4f |
| 1 | distributor-id* | string | Y | Distributor ID in the Derbysoft system | DISTRIBUTOR |
| 1 | office-id | string | N | The distributor identifier for each of their offices or points of sale consists of distributorid(Disney) and officeid(Disney), which are combined with the underscore. Required for Disney | DERBY-1_DERBY001 |
| 1 | supplier-id* | string | Y | DISNEY |
Request Body
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | dateRange* | Y | |||
| 2 | startDate* | date | Y | Start date of date range, format with yyyy-MM-dd | |
| 2 | endDate | date | N | End date of date range, format with yyyy-MM-dd |
Request Example
{
"dateRange": {
"startDate": "2022-02-13",
"endDate": "2022-02-15"
}
}RESPONSE
Response Schema
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | reservationIds* | Y | |||
| 2 | distributorResId* | string | Y | Reservation ID generated by Distributor | |
| 2 | supplierResId | string | N | Reservation ID generated by Supplier | |
| 2 | derbyResId* | string | Y | Reservation ID generated by Derbysoft | |
| 1 | status* | enum | Y | Allowed: Confirmed┃Cancelled Reservation status from Derbysoft | |
| 1 | result* | enum | Y | Allowed: Successful┃Failed┃Processing Reservation results from Derbysoft | |
| 1 | failCause | N | This is a global error response in this specification | ||
| 2 | errorCode* | string | Y | Error code | |
| 2 | errorMessage* | string | Y | Constraints: Min 1 char Error detail | |
| 1 | cancellationId | string | N | Reservation cancellation ID from the supplier | |
| 1 | orders | N | Order list for this reservation | ||
| 2 | productId* | string | Y | 5XK03A | |
| 2 | brandId | string | N | Property brand | |
| 2 | orderIds | ||||
| 3 | confirmId | string | N | Confirmed ID for each ticket |
Response Example
[
{
"reservationIds": {
"distributorResId": "string",
"supplierResId": "string",
"derbyResId": "DK51202494D1RQ"
},
"status": "Confirmed",
"result": "Successful",
"failCause": {
"errorCode": "System",
"errorMessage": "Internal Server Error"
},
"cancellationId": "string",
"orders": [
{
"productId": "5XK03A",
"brandId": "WDW",
"orderIds": [
{
"confirmId": "string"
}
]
}
]
}
]{
"errorCode": "System",
"errorMessage": "Internal Server Error"
}Query a single reservation
This API is used by the distributor to query existing ticket reservations. It can be used to check the reservation extra info for reservation requests.
REQUEST
Request Headers
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | authorization* | string | Y | OAuth2 authorization token | |
| 1 | echo-token* | string | Y | A unique echo token is generated from the distributor | cc28bac659c44422b2dab11705934a4f |
| 1 | distributor-id* | string | Y | Distributor ID in the Derbysoft system | DISTRIBUTOR |
| 1 | office-id | string | N | The distributor identifier for each of their offices or points of sale consists of distributorid(Disney) and officeid(Disney), which are combined with the underscore. Required for Disney | DERBY-1_DERBY001 |
| 1 | supplier-id* | string | Y | DISNEY |
Request Body
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | reservationIds* | Y | |||
| 2 | distributorResId* | string | Y | Reservation ID generated by Distributor | |
| 2 | supplierResId | string | N | Reservation ID generated by Supplier | |
| 2 | derbyResId* | string | Y | Reservation ID generated by Derbysoft |
Request Example
{
"reservationIds": {
"distributorResId": "string",
"supplierResId": "string",
"derbyResId": "DK51202494D1RQ"
}
}RESPONSE
Response Schema
| Level | Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|---|
| 1 | reservationIds* | Y | |||
| 2 | distributorResId* | string | Y | Reservation ID generated by Distributor | |
| 2 | supplierResId | string | N | Reservation ID generated by Supplier | |
| 2 | derbyResId* | string | Y | Reservation ID generated by Derbysoft | |
| 1 | status* | enum | Y | Allowed: Confirmed┃Cancelled Reservation status from Derbysoft | |
| 1 | result* | enum | Y | Allowed: Successful┃Failed┃Processing Reservation results from Derbysoft | |
| 1 | failCause | N | This is a global error response in this specification | ||
| 2 | errorCode* | string | Y | Error code | |
| 2 | errorMessage* | string | Y | Constraints: Min 1 char Error detail | |
| 1 | contactPerson | N | |||
| 2 | given* | string | Y | ||
| 2 | middle | string | N | ||
| 2 | surname* | string | Y | ||
| 2 | string | N | |||
| 2 | phone | string | N | ||
| 1 | cancellationId | string | N | Reservation cancellation ID from the supplier | |
| 1 | orders | N | Order list for this reservation | ||
| 2 | productId* | string | Y | 5XK03A | |
| 2 | brandId | string | N | Property brand | |
| 2 | quantity* | integer | Y | Count of the tickets | |
| 2 | date* | string | Y | ||
| 2 | price | N | |||
| 3 | amountBeforeTax | number | N | Single ticket price without tax | |
| 3 | amountAfterTax | number | N | Single ticket price with tax | |
| 3 | decimalPlaces | integer | N | Decimal places | |
| 3 | currency* | string | Y | Currency code | |
| 2 | orderIds | N | |||
| 3 | confirmId | string | N | Confirmed ID for each ticket | |
| 2 | passUrls | N | |||
| 3 | getPassUrl | string | N | Url For Get Pass | |
| 3 | printPassesUrl | string | N | Url For Print Pass | |
| 3 | mobilePassesUrl | string | N | Mobile Passes Url |
Response Example
{
"reservationIds": {
"distributorResId": "string",
"supplierResId": "string",
"derbyResId": "DK51202494D1RQ"
},
"status": "Confirmed",
"result": "Successful",
"failCause": {
"errorCode": "System",
"errorMessage": "Internal Server Error"
},
"contactPerson": {
"given": "Jean",
"middle": "Luc",
"surname": "Picard",
"email": "xxx@email.com",
"phone": 11111111111
},
"cancellationId": "string",
"orders": [
{
"productId": "5XK03A",
"brandId": "WDW",
"quantity": 2,
"date": "2020-02-13",
"price": {
"amountBeforeTax": 120.01,
"amountAfterTax": 150.01,
"decimalPlaces": 2,
"currency": "USD"
},
"orderIds": [
{
"confirmId": "string"
}
],
"passUrls": {
"getPassUrl": "https://xxx.xxx.xxx",
"printPassesUrl": "https://xxx.xxx.xxx",
"mobilePassesUrl": "https://xxx.xxx.xxx"
}
}
]
}{
"errorCode": "System",
"errorMessage": "Internal Server Error"
}Did you find it helpful? Yes No
Send feedback