When making a reservation, different steps must be taken to provide information about the customers. This collection includes endpoints for submitting info about the lead booker, extra customer data and participant info.
Use this endpoint to provide information about the customer and extra customer data (if any).
The request body must match the schema returned by the GET /carts/{cartUuid}/customer/schema
endpoint.
The exact request body can vary, depending on the response of the GET /carts/{cartUuid}/customer/schema
endpoint.
Customer
Resource not found
Locked: cart cannot be modified due to connected order status
Error
{- "email": "api-distribution@tui.com",
- "extra_customer_data": {
- "1714c6a7-2046-11e7-9cc9-06a7e332783f": {
- "phone_number": 1234567890
}
}, - "firstname": "John",
- "lastname": "Smith"
}
{- "email": "api-distribution@tui.com",
- "events_related_newsletter": "NO",
- "extra_customer_data": {
- "1223356a-69a0-4c45-bf51-bd903820d210": {
- "phone_number": 1234567890
}
}, - "firstname": "John",
- "lastname": "Smith",
- "musement_newsletter": "NO",
- "thirdparty_newsletter": "NO"
}
Before creating an order, customer information must be added to cart. The exact information to provide can vary, depending on the selected activity products.
The response follows the JSON Schema Specification to provide a schema of questions and extra customer data (if any) for the customer to answer in order to complete a reservation.
Customer questions
Resource not found
Error
{- "title": "cart_customer_guest",
- "type": "object",
- "properties": {
- "property1": {
- "attr": {
- "pattern": "string",
- "placeholder": "string"
}, - "enum": [
- "string"
], - "enum_titles": [
- "string"
], - "format": "date",
- "propertyOrder": 1,
- "title": "string",
- "type": "integer"
}, - "property2": {
- "attr": {
- "pattern": "string",
- "placeholder": "string"
}, - "enum": [
- "string"
], - "enum_titles": [
- "string"
], - "format": "date",
- "propertyOrder": 1,
- "title": "string",
- "type": "integer"
}, - "address": {
- "title": "address",
- "propertyOrder": 9,
- "type": "string"
}, - "allow_profiling": {
- "title": "allow_profiling",
- "enum": [
- "NO",
- "YES"
], - "enum_titles": [
- "NO",
- "YES"
], - "propertyOrder": 5,
- "type": "string"
}, - "city": {
- "title": "city",
- "propertyOrder": 8,
- "type": "string"
}, - "email": {
- "title": "Email address",
- "format": "email",
- "propertyOrder": 3,
- "type": "string"
}, - "events_related_newsletter": {
- "title": "events_related_newsletter",
- "enum": [
- "NO",
- "YES"
], - "enum_titles": [
- "NO",
- "YES"
], - "propertyOrder": 7,
- "type": "string"
}, - "firstname": {
- "title": "First name",
- "propertyOrder": 1,
- "type": "string"
}, - "lastname": {
- "title": "Last name",
- "propertyOrder": 2,
- "type": "string"
}, - "musement_newsletter": {
- "title": "musement_newsletter",
- "enum": [
- "NO",
- "YES"
], - "enum_titles": [
- "NO",
- "YES"
], - "propertyOrder": 4,
- "type": "string"
}, - "tax_id": {
- "title": "tax_id",
- "propertyOrder": 11,
- "type": "string"
}, - "thirdparty_newsletter": {
- "title": "thirdparty_newsletter",
- "enum": [
- "NO",
- "YES"
], - "enum_titles": [
- "NO",
- "YES"
], - "propertyOrder": 6,
- "type": "string"
}, - "zipcode": {
- "title": "zipcode",
- "propertyOrder": 10,
- "type": "string"
}
}, - "required": [
- "allow_profiling",
- "email",
- "events_related_newsletter",
- "firstname",
- "lastname",
- "musement_newsletter",
- "thirdparty_newsletter"
]
}
This endpoint returns participant info that has already been provided for a cart item.
Cart items which do not require participant info will return an empty array.
The exact properties for each participant info vary depending on the cart item requirements.
Participant info for cart item
Resource not found
Error
[- {
- "date_of_birth": "1985-11-04",
- "nationality": "Italy"
}
]
Use this endpoint to provide info for each participant in a cart item.
Cart items which do not require participant info will return a 404 status code.
The exact properties for each participant info vary depending on the cart item requirements.
The exact properties for each participant info in the request vary depending on the cart item requirements.
Participant info for cart item
Not found: a resource does not exist or the cart item does not require participant info
Locked: cart cannot be modified due to connected order status
Error
[- {
- "date_of_birth": "1985-11-04",
- "nationality": "Italy"
}
]
[- {
- "date_of_birth": "1985-11-04",
- "nationality": "Italy"
}
]
Each item in a cart may require info for each participant in a reservation.
The response follows the JSON Schema Specification to describe the info requested for each participant.
Participant info schema for cart item
Not found: a resource does not exist or the cart item does not require participant info
Error
{- "title": "cart_item_participants_info",
- "type": "object",
- "properties": {
- "property1": {
- "attr": {
- "pattern": "string",
- "placeholder": "string"
}, - "enum": [
- "string"
], - "enum_titles": [
- "string"
], - "format": "date",
- "propertyOrder": 1,
- "title": "string",
- "type": "integer"
}, - "property2": {
- "attr": {
- "pattern": "string",
- "placeholder": "string"
}, - "enum": [
- "string"
], - "enum_titles": [
- "string"
], - "format": "date",
- "propertyOrder": 1,
- "title": "string",
- "type": "integer"
}, - "participants": {
- "items": {
- "properties": {
- "nationality": {
- "propertyOrder": 1,
- "type": "string",
- "title": "Nationality"
}
}, - "required": [
- "nationality"
], - "title": "prototype",
- "type": "object"
}, - "maxItems": 1,
- "minItems": 1,
- "propertyOrder": 1,
- "type": "array",
- "title": "participants"
}
}, - "required": [
- "participants"
]
}