Extra customer data and participant info

Some activities require additional information about the customers in order to complete a booking. This information should be collected at the end of the booking flow after all the items have been added to cart.

Our API offers two types of fields for customer information:

  • Extra customer data
  • Participant info

Activities may have one type, both or none. Fields are not necessarily static for all products - they may change based on what is added to cart.

Extra customer data

Extra customer data is information requested per booking, such as a single contact number or hotel address for pickup. Each field needs to be filled out once to complete a booking.

When managing a booking, partners are required to use the /carts/{cartUuid}/customer/schema endpoint to check for extra customer data. However, you can get a preview of possible fields for an activity by calling the following endpoint:

Copy
Copied
curl -X GET '{baseUrl}/activities/{activityUuid}/extra-customer-data/schema' \
-H 'X-Musement-Application: {applicationValue}' \
-H 'X-Musement-Version: 3.4.0' \
-H 'Authorization: Bearer {accessToken}'

The response returns a JSON schema. The properties property contains the information needed from customers. The response also contains a required property listing which info is required.

Each part of the properties property describes the expected value type and label to display to customers. In the example response below, there is a single required field which expects a string value for a field labeled "Hotel location":

Copy
Copied
{
	"title": "form",
	"type": "object",
	"properties": {
		"s_74380": {
			"type": "string",
			"title": "Hotel location",
			"propertyOrder": 1
		}
	},
	"required": [
		"s_74380"
	]
}

Activities without extra customer data may return a 404 error status code response or an empty properties property:

Copy
Copied
{
	"title": "form",
	"type": "object",
	"properties": []
}

For more information on handling extra customer data in the booking flow, check out the dedicated section.

Participant info

Participant info is asked per person in a booking, such as everyone's first and last names. Each field needs to be filled out once for each person in a booking, specifically for each product quantity in cart.

When managing a booking, partners must use the /carts/{cartUuid}/items/{cartItemUuid}//schema endpoint to check for participant info. However, you can get a preview of possible fields for an activity by calling the following endpoint:

Copy
Copied
curl -X GET '{baseUrl}/activities/{activityUuid}/participants-info/schema' \
-H 'X-Musement-Application: {applicationValue}' \
-H 'X-Musement-Version: 3.4.0' \
-H 'Authorization: Bearer {accessToken}'

Similar to extra customer data, the response is a JSON schema. The properties property contains information needed from customers and the required property lists which fields are required.

Each part of the properties property contains info on the expected value type and label to show customers. In the example response below, each participant is expected to provide their "Date of birth", submitted as a string with a standard date format (YYYY-MM-DD):

Copy
Copied
{
	"title": "participant",
	"type": "object",
	"properties": {
		"date_of_birth": {
			"type": "string",
			"title": "Date of birth",
			"format": "date",
			"propertyOrder": 1
		}
	},
	"required": [
		"date_of_birth"
	]
}

Activities without participant info will return a 404 status code:

Copy
Copied
{
	"code": "1400",
	"message": "The activity does not require any participant information"
}

For more information on handling participant info in the booking flow, check out the dedicated section.

Copyright © TUI Musement. All rights reserved.