Mandatory questions

Mandatory questions allow suppliers to request customer information. Experiences are not required to have mandatory questions. However, when mandatory questions are present, customers must provide answers to complete a booking.

Get mandatory questions for experience

SecuritySupplier-production or Supplier-sandbox
Request
path Parameters
experience_id
required
string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$

The experience ID.

header Parameters
accept
required
string

Specify the format of the response.

Value: "application/json"
accept-version
required
string (PORTA version)

The version of PORTA for the request.

Value: Description
vnd.porta-api.v1

Version 1.0.0

Responses
200

Mandatory questions for experience

default

Error response

get/supplier/catalog/experiences/{experience_id}/mandatory-questions
Request samples
Response samples
application/json
[
  • {
    }
]

Create mandatory question for experience

SecuritySupplier-production or Supplier-sandbox
Request
path Parameters
experience_id
required
string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$

The experience ID.

header Parameters
accept
required
string

Specify the format of the response.

Value: "application/json"
accept-version
required
string (PORTA version)

The version of PORTA for the request.

Value: Description
vnd.porta-api.v1

Version 1.0.0

Request Body schema: application/json
data_pattern
string

For unsupported data types, suppliers can provide a regular expression validation pattern. The data_type property must be STRING to use this feature.

data_type
required
string

The type of data the question will collect.

Enum: Description
DATE

Customers must select a single date.

DECIMAL

Customers must provide a decimal number value.

EMAIL

Customers must provide a valid email address.

INTEGER

Customers must provide an integer value.

PHONE_NUMBER

Customers must provide a phone number.

SELECT_ONE

Customers must select one value.

STRING

Customers must provide a text value.

holder_category_id
null or string

The holder category associated with the question. When null, the question is applied to all holder categories.

level
required
string

The level determines how to request the question: once per booking or once per person in a booking.

Enum: Description
BOOKING

The question must be answered once per booking.

BY_PAX

The question must be answered once per person in a booking.

mandatory_question_id
required
string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$

The mandatory question ID, assigned by the supplier.

option_id
null or string

The option associated with the question. When null, the question is applied to all options.

question
required
string

The human-friendly question to show customers.

object

When the data_type property is SELECT_ONE, use the select property to provide options for customers to select. The property value must be a key-value object of strings.

Responses
200

Mandatory question for experience

default

Error response

post/supplier/catalog/experiences/{experience_id}/mandatory-questions
Request samples
application/json
{
  • "data_pattern": "string",
  • "data_type": "DATE",
  • "holder_category_id": null,
  • "level": "BOOKING",
  • "mandatory_question_id": "string",
  • "option_id": null,
  • "question": "string",
  • "select": {
    }
}
Response samples
application/json
{
  • "data_pattern": "string",
  • "data_type": "DATE",
  • "holder_category_id": null,
  • "level": "BOOKING",
  • "mandatory_question_id": "string",
  • "option_id": null,
  • "question": "string",
  • "select": {
    }
}

Remove mandatory question from experience

A mandatory question cannot be removed if it is part of a hold availability request.

SecuritySupplier-production or Supplier-sandbox
Request
path Parameters
experience_id
required
string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$

The experience ID.

mandatory_question_id
required
string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$

The mandatory question ID.

header Parameters
accept
required
string

Specify the format of the response.

Value: "application/json"
accept-version
required
string (PORTA version)

The version of PORTA for the request.

Value: Description
vnd.porta-api.v1

Version 1.0.0

Responses
204

Mandatory question removed successfully

default

Error response

delete/supplier/catalog/experiences/{experience_id}/mandatory-questions/{mandatory_question_id}
Request samples
Response samples
application/json
{
  • "code": "400",
  • "id": "3ecae132-a32d-41f9-8f7d-586f34cc29ce",
  • "message": "Check the request for errors."
}

Get mandatory question for experience

SecuritySupplier-production or Supplier-sandbox
Request
path Parameters
experience_id
required
string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$

The experience ID.

mandatory_question_id
required
string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$

The mandatory question ID.

header Parameters
accept
required
string

Specify the format of the response.

Value: "application/json"
accept-version
required
string (PORTA version)

The version of PORTA for the request.

Value: Description
vnd.porta-api.v1

Version 1.0.0

Responses
200

Mandatory question for experience

default

Error response

get/supplier/catalog/experiences/{experience_id}/mandatory-questions/{mandatory_question_id}
Request samples
Response samples
application/json
{
  • "data_pattern": "string",
  • "data_type": "DATE",
  • "holder_category_id": null,
  • "level": "BOOKING",
  • "mandatory_question_id": "string",
  • "option_id": null,
  • "question": "string",
  • "select": {
    }
}

Update mandatory question for experience

SecuritySupplier-production or Supplier-sandbox
Request
path Parameters
experience_id
required
string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$

The experience ID.

mandatory_question_id
required
string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$

The mandatory question ID.

header Parameters
accept
required
string

Specify the format of the response.

Value: "application/json"
accept-version
required
string (PORTA version)

The version of PORTA for the request.

Value: Description
vnd.porta-api.v1

Version 1.0.0

Request Body schema: application/json
data_pattern
string

For unsupported data types, suppliers can provide a regular expression validation pattern. The data_type property must be STRING to use this feature.

data_type
required
string

The type of data the question will collect.

Enum: Description
DATE

Customers must select a single date.

DECIMAL

Customers must provide a decimal number value.

EMAIL

Customers must provide a valid email address.

INTEGER

Customers must provide an integer value.

PHONE_NUMBER

Customers must provide a phone number.

SELECT_ONE

Customers must select one value.

STRING

Customers must provide a text value.

holder_category_id
null or string

The holder category associated with the question. When null, the question is applied to all holder categories.

level
required
string

The level determines how to request the question: once per booking or once per person in a booking.

Enum: Description
BOOKING

The question must be answered once per booking.

BY_PAX

The question must be answered once per person in a booking.

mandatory_question_id
required
string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$

The mandatory question ID, assigned by the supplier.

option_id
null or string

The option associated with the question. When null, the question is applied to all options.

question
required
string

The human-friendly question to show customers.

object

When the data_type property is SELECT_ONE, use the select property to provide options for customers to select. The property value must be a key-value object of strings.

Responses
200

Mandatory question for experience

default

Error response

put/supplier/catalog/experiences/{experience_id}/mandatory-questions/{mandatory_question_id}
Request samples
application/json
{
  • "data_pattern": "string",
  • "data_type": "DATE",
  • "holder_category_id": null,
  • "level": "BOOKING",
  • "mandatory_question_id": "string",
  • "option_id": null,
  • "question": "string",
  • "select": {
    }
}
Response samples
application/json
{
  • "data_pattern": "string",
  • "data_type": "DATE",
  • "holder_category_id": null,
  • "level": "BOOKING",
  • "mandatory_question_id": "string",
  • "option_id": null,
  • "question": "string",
  • "select": {
    }
}
Copyright © TUI Musement. All rights reserved.