Component: BOOKING_QUESTIONS

Abstract

Booking questions allow to gather arbitrary passenger information at the time of booking.

Values for this component can be set via ExperienceComponentsDto.bookingQuestions which is an array of ExperienceBookingQuestionDto entities. Each element refers to a specific booking question. Send empty array to clear this value on update.

Make sure you always send a complete set of questions when updating this component, as omitted questions will be deleted.

Attributes of ExperienceBookingQuestionDto

Attribute JSON path
Attribute JSON path
Data type
Mandatory
Settable
Notes
id
long
On update only, otherwise must be omitted
Question id
created
TimestampDto
When was this booking question created? Expressed as number of milliseconds since January 1, 1970, 00:00:00 UTC.
lastModified
TimestampDto
When was this booking question last modified? Expressed as number of milliseconds since January 1, 1970, 00:00:00 UTC.
label
string
This is the question the customer will be asked
personalData
boolean
Whether this question is asking for personal data
required
boolean
Whether answer for this question is required to complete the booking
help
string
Extra text that explains the question further
placeholder
string
This text will appear when there is no value filled in
dataType
ExperienceBookingQuestionDataTypeDto
Data type of the answer. The UI will render slightly different component and do different validation based on this type at the time of booking.
defaultValue
string
Default value of the answer if the question hasn't been answered just yet
context
ExperienceBookingQuestionContextDto
Whether this question is asked per booking, per passenger or per extra
pricingCategoryTriggerSelection
ExperienceBookingQuestionTriggerSelectionDto
Should this question be asked if ALL vs SELECTED_ONLY pricing categories are booked. For example, only ask for Driving license number when adults book.
pricingCategoryTriggers
Array of ints
Mandatory if pricingCategoryTriggerSelection is SELECTED_ONLY, otherwise should be omitted
Which booked pricing categories (PricingCategoryDto.id) should be triggering this question?
rateTriggerSelection
ExperienceBookingQuestionTriggerSelectionDto
Should this question be asked if ALL vs SELECTED_ONLY rates are booked.
rateTriggers
Array of IdExternalIdDtos
Mandatory if rateCategoryTriggerSelection is SELECTED_ONLY, otherwise should be omitted
Which booked rates (expressed as ExperienceRateDto.id and/or ExperienceRateDto.externalId) should be triggering this question?
extraTriggerSelection
ExperienceBookingQuestionTriggerSelectionDto
Should this question be asked if ALL vs SELECTED_ONLY extras are booked.
extraTriggers
Array of IdExternalIdDtos
Mandatory if extraTriggerSelection is SELECTED_ONLY, otherwise should be omitted
Which booked extras (ExtraDto.id) should be triggering this question?
options
Array of ExperienceBookingQuestionOptionDto
Mandatory if dataType == OPTIONS, otherwise should be omitted
When updating, a complete set of all options should be sent. Omitted options will be removed.
id
long
Mandatory on update if a given option is updated. Should be omitted on create.
label
string
Question label (text)
value
string
Actual value that will be recorded once the relevant label is selected
Did this answer your question?
😞
😐
🤩