created: 2024-08-06T01:11:34 (UTC +02:00) tags: [] source: https://porta.redoc.ly/openapi/tag/mandatory-questions/ author:
Documentation for managing your catalog on Musement via the PORTA API.
Download OpenAPI specification:Download
Musement's PORTA (Perfect Open Road To Activities) service allows suppliers to manage their experiences via API.
This is the default security scheme a supplier must use when accessing PORTA in the production environment.
Security Scheme Type: OAuth2
Flow type: clientCredentials
Token URL: https://prod.api.tui/oauth2/token
This is the default security scheme a supplier must use when accessing PORTA in the sandbox environment.
Security Scheme Type: OAuth2
Flow type: clientCredentials
Token URL: https://prod.api.tui/oauth2/token
This security scheme is used by PORTA when calling a supplier's webhook service.
Security Scheme Type: API Key
Header parameter name: x-webhook-key
This section contains a record of changes to the API.
- Added
unconfirmed
property to booking cancellation request webhook
- Added
vendor_id
query parameter to the endpointGET /supplier/catalog/experiences
- Filters results to those which belong to the specified vendor
- Added
ticket_numbers
andtransaction_id
properties to booking cancellation request webhook
- Changed
accept-version
header value used for webhook requests- New value is
vnd.porta-webhook-api.v1
- New value is
- Added webhook test endpoints for sandbox environment:
POST /supplier/integration-tests/book
POST /supplier/integration-tests/cancel-booking
POST /supplier/integration-tests/hold
- Added endpoint
PATCH /supplier/catalog/experiences/{experience_id}
- Added
archived
property to Experience model- Archived experiences are no longer for sale
- Removed
supplier-code
header parameter from all endpoints - Removed exhaust vent that exposed the Core
Booking confirmation request
- Added
tuimm_booking_id
property- Human-friendly Musement booking ID
Vendors
- Added
Vendor
model- Used to categorize experiences by different sources, partners or channels
- Added two endpoints:
GET /supplier/vendors
POST /supplier/vendors
- Added
vendor_id
property to Experience model
Experience model
- Removed
content
andmedia
properties
created: 2024-08-06T01:12:28 (UTC +02:00) tags: [] source: https://porta.redoc.ly/openapi/tag/mandatory-questions/ author:
Availability slots is the term for any type of slot used for a booking. This collection of endpoints will work for any type of slot
Availability slots is the term for any type of slot used for a booking. This collection of endpoints will work for any type of slot
An availability slot cannot be deleted if it is part of a hold availability request.
SecuritySupplier-production or Supplier-sandbox
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
option_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
204
Availability slots removed successfully from option
delete/supplier/availability/experiences/{experience_id}/options/{option_id}/slots
- curl
- C#
- Node.js
<span>curl</span> <span>-i</span> <span>-X</span> DELETE <span>\</span>
<span>'https://prod.api.tui/tui-musement-porta/supplier/availability/experiences/{experience_id}/options/{option_id}/slots'</span> <span>\</span>
<span>-H</span> <span>'API-Key: string'</span> <span>\</span>
<span>-H</span> <span>'Authorization: Bearer <YOUR_TOKEN_HERE>'</span> <span>\</span>
<span>-H</span> <span>'accept: application/json'</span> <span>\</span>
<span>-H</span> <span>'accept-version: vnd.porta-api.v1'</span>
- default
400 Bad request: check the request for errors
{
-
"code": "400",
-
"id": "3ecae132-a32d-41f9-8f7d-586f34cc29ce",
-
"message": "Check the request for errors."
}
The maximum number of items in the request body varies based on the type of availability slot:
- Daily slot: 100
- Open slot: 1
- Time slot: 100
SecuritySupplier-production or Supplier-sandbox
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
option_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
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.
| ||||
API-Key required | string (API key) ^[a-zA-Z0-9-_\.]{3,50}$ The supplier's API key |
Array
capacity | integer <int32> The remaining number of seats for the slot. |
required | object (Daily slot) |
required | Array of objects (Holder categories) unique Holder categories for the slot. |
guide_languages | Array of strings (Languages) unique A list of languages which can be booked for the slot. The languages will appear for all available holder categories in the slot. This property must follow the ISO 639-1 standard. |
option_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ The ID of the option that the slot belongs to. |
slot_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ The availability slot ID, assigned by the supplier. The ID must be unique. The same ID cannot be re-used for different experiences. |
post/supplier/availability/experiences/{experience_id}/options/{option_id}/slots
- Payload
- curl
- C#
- Node.js
[
-
{
-
"capacity": 0,
-
"daily_slot": {},
-
"available_holder_categories": [],
-
"guide_languages": [],
-
"option_id": "string",
-
"slot_id": "string"
}
-
]
- 200
- default
{
-
"capacity": 0,
-
"daily_slot": {
"date": "2019-08-24"
},
-
"available_holder_categories": [
{}
],
-
"guide_languages": [
"string"
],
-
"option_id": "string",
-
"slot_id": "string"
}
An availability slot cannot be deleted if it is part of a hold availability request.
SecuritySupplier-production or Supplier-sandbox
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
option_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
availability_slot_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ The availability slot ID. |
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.
|
204
Availability slot removed successfully from option
delete/supplier/availability/experiences/{experience_id}/options/{option_id}/slots/{availability_slot_id}
- curl
- C#
- Node.js
<span>curl</span> <span>-i</span> <span>-X</span> DELETE <span>\</span>
<span>'https://prod.api.tui/tui-musement-porta/supplier/availability/experiences/{experience_id}/options/{option_id}/slots/{availability_slot_id}'</span> <span>\</span>
<span>-H</span> <span>'Authorization: Bearer <YOUR_TOKEN_HERE>'</span> <span>\</span>
<span>-H</span> <span>'accept: application/json'</span> <span>\</span>
<span>-H</span> <span>'accept-version: vnd.porta-api.v1'</span>
- default
400 Bad request: check the request for errors
{
-
"code": "400",
-
"id": "3ecae132-a32d-41f9-8f7d-586f34cc29ce",
-
"message": "Check the request for errors."
}
SecuritySupplier-production or Supplier-sandbox
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
option_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
availability_slot_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ The availability slot ID. |
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.
|
get/supplier/availability/experiences/{experience_id}/options/{option_id}/slots/{availability_slot_id}
- curl
- C#
- Node.js
<span>curl</span> <span>-i</span> <span>-X</span> GET <span>\</span>
<span>'https://prod.api.tui/tui-musement-porta/supplier/availability/experiences/{experience_id}/options/{option_id}/slots/{availability_slot_id}'</span> <span>\</span>
<span>-H</span> <span>'Authorization: Bearer <YOUR_TOKEN_HERE>'</span> <span>\</span>
<span>-H</span> <span>'accept: application/json'</span> <span>\</span>
<span>-H</span> <span>'accept-version: vnd.porta-api.v1'</span>
- 200
- default
{
-
"capacity": 0,
-
"daily_slot": {
"date": "2019-08-24"
},
-
"available_holder_categories": [
{}
],
-
"guide_languages": [
"string"
],
-
"option_id": "string",
-
"slot_id": "string"
}
SecuritySupplier-production or Supplier-sandbox
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
option_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
availability_slot_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ The availability slot ID. |
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.
|
capacity | integer <int32> The remaining number of seats for the slot. |
patch/supplier/availability/experiences/{experience_id}/options/{option_id}/slots/{availability_slot_id}
-
Payload
-
curl
-
C#
-
Node.js
-
200
-
default
{
-
"capacity": 0,
-
"daily_slot": {
"date": "2019-08-24"
},
-
"available_holder_categories": [
{}
],
-
"guide_languages": [
"string"
],
-
"option_id": "string",
-
"slot_id": "string"
}
SecuritySupplier-production or Supplier-sandbox
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
option_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
availability_slot_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ The availability slot ID. |
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.
|
capacity | integer <int32> The remaining number of seats for the slot. |
required | object (Daily slot) |
required | Array of objects (Holder categories) unique Holder categories for the slot. |
guide_languages | Array of strings (Languages) unique A list of languages which can be booked for the slot. The languages will appear for all available holder categories in the slot. This property must follow the ISO 639-1 standard. |
option_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ The ID of the option that the slot belongs to. |
slot_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ The availability slot ID, assigned by the supplier. The ID must be unique. The same ID cannot be re-used for different experiences. |
put/supplier/availability/experiences/{experience_id}/options/{option_id}/slots/{availability_slot_id}
- Payload
- curl
- C#
- Node.js
{
-
"capacity": 0,
-
"daily_slot": {
"date": "2019-08-24"
},
-
"available_holder_categories": [
{}
],
-
"guide_languages": [
"string"
],
-
"option_id": "string",
-
"slot_id": "string"
}
- 200
- default
{
-
"capacity": 0,
-
"daily_slot": {
"date": "2019-08-24"
},
-
"available_holder_categories": [
{}
],
-
"guide_languages": [
"string"
],
-
"option_id": "string",
-
"slot_id": "string"
}
created: 2024-08-06T01:12:42 (UTC +02:00) tags: [] source: https://porta.redoc.ly/openapi/tag/mandatory-questions/ author:
Customers must select a date for a booking.
Customers must select a date for a booking.
The date_from
and date_to
query parameters permit up to two years of dates.
SecuritySupplier-production or Supplier-sandbox
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
option_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
date_from required | string <date> Filters results to those which take place on or after the specified date. |
date_to required | string <date> Filters results to those which take place on or before the specified date. |
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.
|
200
Daily slots for option
get/supplier/availability/experiences/{experience_id}/options/{option_id}/slots/daily_slots
- curl
- C#
- Node.js
<span>curl</span> <span>-i</span> <span>-X</span> GET <span>\</span>
<span>'https://prod.api.tui/tui-musement-porta/supplier/availability/experiences/{experience_id}/options/{option_id}/slots/daily_slots?date_from=2019-08-24&date_to=2019-08-24'</span> <span>\</span>
<span>-H</span> <span>'Authorization: Bearer <YOUR_TOKEN_HERE>'</span> <span>\</span>
<span>-H</span> <span>'accept: application/json'</span> <span>\</span>
<span>-H</span> <span>'accept-version: vnd.porta-api.v1'</span>
- 200
- default
[
-
{
-
"available_holder_categories": [],
-
"guide_languages": [],
-
"option_id": "string",
-
"slot_id": "string",
-
"capacity": 0,
-
"daily_slot": {}
}
-
]
created: 2024-08-06T01:11:49 (UTC +02:00) tags: [] source: https://porta.redoc.ly/openapi/tag/mandatory-questions/ author:
Experiences are the products that the supplier provides. PORTA experiences can eventually be imported into Musement.
Experiences are the products that the supplier provides. PORTA experiences can eventually be imported into Musement.
SecuritySupplier-production or Supplier-sandbox
vendor_id | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ Filter results to those which belong to the specified vendor. |
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.
|
get/supplier/catalog/experiences
- curl
- C#
- Node.js
<span>curl</span> <span>-i</span> <span>-X</span> GET <span>\</span>
<span>'https://prod.api.tui/tui-musement-porta/supplier/catalog/experiences?vendor_id=string'</span> <span>\</span>
<span>-H</span> <span>'Authorization: Bearer <YOUR_TOKEN_HERE>'</span> <span>\</span>
<span>-H</span> <span>'accept: application/json'</span> <span>\</span>
<span>-H</span> <span>'accept-version: vnd.porta-api.v1'</span>
- 200
- default
[
-
{
-
"archived": false,
-
"availability_slot_type": "DAILY",
-
"currency": "string",
-
"cutoff_time": "P0D",
-
"experience_id": "string",
-
"experience_name": "string",
-
"external_experience_id": "string",
-
"external_experience_name": "string",
-
"options": [],
-
"vendor_id": "string"
}
-
]
SecuritySupplier-production or Supplier-sandbox
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.
|
archived | boolean Default: false When an experience is archived, it is no longer for sale in Musement sites. When an experience is un-archived, a member of the Content Supplier Connectivity team is required to un-archive the corresponding business platform activity. | ||||||||
availability_slot_type required | string The type of availability slot for the experience.
| ||||||||
currency required | string <currency> The currency to use for billing. This property must follow the ISO 4217 standard. | ||||||||
cutoff_time | string <duration> Default: "P0D" The minimum amount of time required to book a travel date in advance. This property must follow the ISO 8601 standard. | ||||||||
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ The experience ID, assigned by the supplier. | ||||||||
experience_name required | string The name of the experience as it will appear in PORTA. | ||||||||
external_experience_id | string An additional ID for the experience which suppliers can use for their own records. | ||||||||
external_experience_name | string An additional name for the experience which suppliers can use for their own records. | ||||||||
required | Array of objects (Options) unique The bookable options for the experience. This property must contain at least one option. | ||||||||
vendor_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ The ID of the vendor that the experience belongs to. |
post/supplier/catalog/experiences
- Payload
- curl
- C#
- Node.js
{
-
"archived": false,
-
"availability_slot_type": "DAILY",
-
"currency": "string",
-
"cutoff_time": "P0D",
-
"experience_id": "string",
-
"experience_name": "string",
-
"external_experience_id": "string",
-
"external_experience_name": "string",
-
"options": [
{}
],
-
"vendor_id": "string"
}
- 200
- default
{
-
"archived": false,
-
"availability_slot_type": "DAILY",
-
"currency": "string",
-
"cutoff_time": "P0D",
-
"experience_id": "string",
-
"experience_name": "string",
-
"external_experience_id": "string",
-
"external_experience_name": "string",
-
"options": [
{}
],
-
"vendor_id": "string"
}
SecuritySupplier-production or Supplier-sandbox
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
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.
|
get/supplier/catalog/experiences/{experience_id}
- curl
- C#
- Node.js
<span>curl</span> <span>-i</span> <span>-X</span> GET <span>\</span>
<span>'https://prod.api.tui/tui-musement-porta/supplier/catalog/experiences/{experience_id}'</span> <span>\</span>
<span>-H</span> <span>'Authorization: Bearer <YOUR_TOKEN_HERE>'</span> <span>\</span>
<span>-H</span> <span>'accept: application/json'</span> <span>\</span>
<span>-H</span> <span>'accept-version: vnd.porta-api.v1'</span>
- 200
- default
{
-
"archived": false,
-
"availability_slot_type": "DAILY",
-
"currency": "string",
-
"cutoff_time": "P0D",
-
"experience_id": "string",
-
"experience_name": "string",
-
"external_experience_id": "string",
-
"external_experience_name": "string",
-
"options": [
{}
],
-
"vendor_id": "string"
}
Updating an experience is limited to a small selection of properties.
Changes may take up to 24 hours to appear in the business platform and distribution sites.
SecuritySupplier-production or Supplier-sandbox
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
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.
|
archived | boolean Default: false When an experience is archived, it is no longer for sale in Musement sites. When an experience is un-archived, a member of the Content Supplier Connectivity team is required to un-archive the corresponding business platform activity. |
cutoff_time | string <duration> Default: "P0D" The minimum amount of time required to book a travel date in advance. This property must follow the ISO 8601 standard. |
experience_name | string The name of the experience as it will appear in PORTA. |
external_experience_id | string An additional ID for the experience which suppliers can use for their own records. |
external_experience_name | string An additional name for the experience which suppliers can use for their own records. |
vendor_id | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ The ID of the vendor that the experience belongs to. |
patch/supplier/catalog/experiences/{experience_id}
- Payload
- curl
- C#
- Node.js
{
-
"archived": false,
-
"cutoff_time": "P0D",
-
"experience_name": "string",
-
"external_experience_id": "string",
-
"external_experience_name": "string",
-
"vendor_id": "string"
}
- 200
- default
{
-
"archived": false,
-
"availability_slot_type": "DAILY",
-
"currency": "string",
-
"cutoff_time": "P0D",
-
"experience_id": "string",
-
"experience_name": "string",
-
"external_experience_id": "string",
-
"external_experience_name": "string",
-
"options": [
{}
],
-
"vendor_id": "string"
}
created: 2024-08-06T01:11:58 (UTC +02:00) tags: [] source: https://porta.redoc.ly/openapi/tag/mandatory-questions/ author:
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.
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.
SecuritySupplier-production or Supplier-sandbox
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
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.
|
200
Mandatory questions for experience
get/supplier/catalog/experiences/{experience_id}/mandatory-questions
- curl
- C#
- Node.js
<span>curl</span> <span>-i</span> <span>-X</span> GET <span>\</span>
<span>'https://prod.api.tui/tui-musement-porta/supplier/catalog/experiences/{experience_id}/mandatory-questions'</span> <span>\</span>
<span>-H</span> <span>'Authorization: Bearer <YOUR_TOKEN_HERE>'</span> <span>\</span>
<span>-H</span> <span>'accept: application/json'</span> <span>\</span>
<span>-H</span> <span>'accept-version: vnd.porta-api.v1'</span>
- 200
- default
[
-
{
-
"data_pattern": "string",
-
"data_type": "DATE",
-
"holder_category_id": null,
-
"level": "BOOKING",
-
"mandatory_question_id": "string",
-
"option_id": null,
-
"question": "string",
-
"select": {}
}
-
]
SecuritySupplier-production or Supplier-sandbox
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
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.
|
data_pattern | string For unsupported data types, suppliers can provide a regular expression validation pattern. The | ||||||||||||||||
data_type required | string The type of data the question will collect.
| ||||||||||||||||
holder_category_id | null or string The holder category associated with the question. When | ||||||||||||||||
level required | string The level determines how to request the question: once per booking or 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 | ||||||||||||||||
question required | string The human-friendly question to show customers. | ||||||||||||||||
object When the |
200
Mandatory question for experience
post/supplier/catalog/experiences/{experience_id}/mandatory-questions
- Payload
- curl
- C#
- Node.js
{
-
"data_pattern": "string",
-
"data_type": "DATE",
-
"holder_category_id": null,
-
"level": "BOOKING",
-
"mandatory_question_id": "string",
-
"option_id": null,
-
"question": "string",
-
"select": {
-
"Raw key value1": "string",
-
"Raw key value2": "string"
}
-
}
- 200
- default
{
-
"data_pattern": "string",
-
"data_type": "DATE",
-
"holder_category_id": null,
-
"level": "BOOKING",
-
"mandatory_question_id": "string",
-
"option_id": null,
-
"question": "string",
-
"select": {
-
"Raw key value1": "string",
-
"Raw key value2": "string"
}
-
}
A mandatory question cannot be removed if it is part of a hold availability request.
SecuritySupplier-production or Supplier-sandbox
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
mandatory_question_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ The mandatory question ID. |
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.
|
204
Mandatory question removed successfully
delete/supplier/catalog/experiences/{experience_id}/mandatory-questions/{mandatory_question_id}
- curl
- C#
- Node.js
<span>curl</span> <span>-i</span> <span>-X</span> DELETE <span>\</span>
<span>'https://prod.api.tui/tui-musement-porta/supplier/catalog/experiences/{experience_id}/mandatory-questions/{mandatory_question_id}'</span> <span>\</span>
<span>-H</span> <span>'Authorization: Bearer <YOUR_TOKEN_HERE>'</span> <span>\</span>
<span>-H</span> <span>'accept: application/json'</span> <span>\</span>
<span>-H</span> <span>'accept-version: vnd.porta-api.v1'</span>
- default
400 Bad request: check the request for errors
{
-
"code": "400",
-
"id": "3ecae132-a32d-41f9-8f7d-586f34cc29ce",
-
"message": "Check the request for errors."
}
SecuritySupplier-production or Supplier-sandbox
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
mandatory_question_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ The mandatory question ID. |
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.
|
200
Mandatory question for experience
get/supplier/catalog/experiences/{experience_id}/mandatory-questions/{mandatory_question_id}
- curl
- C#
- Node.js
<span>curl</span> <span>-i</span> <span>-X</span> GET <span>\</span>
<span>'https://prod.api.tui/tui-musement-porta/supplier/catalog/experiences/{experience_id}/mandatory-questions/{mandatory_question_id}'</span> <span>\</span>
<span>-H</span> <span>'Authorization: Bearer <YOUR_TOKEN_HERE>'</span> <span>\</span>
<span>-H</span> <span>'accept: application/json'</span> <span>\</span>
<span>-H</span> <span>'accept-version: vnd.porta-api.v1'</span>
- 200
- default
{
-
"data_pattern": "string",
-
"data_type": "DATE",
-
"holder_category_id": null,
-
"level": "BOOKING",
-
"mandatory_question_id": "string",
-
"option_id": null,
-
"question": "string",
-
"select": {
-
"Raw key value1": "string",
-
"Raw key value2": "string"
}
-
}
SecuritySupplier-production or Supplier-sandbox
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
mandatory_question_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ The mandatory question ID. |
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.
|
data_pattern | string For unsupported data types, suppliers can provide a regular expression validation pattern. The | ||||||||||||||||
data_type required | string The type of data the question will collect.
| ||||||||||||||||
holder_category_id | null or string The holder category associated with the question. When | ||||||||||||||||
level required | string The level determines how to request the question: once per booking or 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 | ||||||||||||||||
question required | string The human-friendly question to show customers. | ||||||||||||||||
object When the |
200
Mandatory question for experience
put/supplier/catalog/experiences/{experience_id}/mandatory-questions/{mandatory_question_id}
- Payload
- curl
- C#
- Node.js
{
-
"data_pattern": "string",
-
"data_type": "DATE",
-
"holder_category_id": null,
-
"level": "BOOKING",
-
"mandatory_question_id": "string",
-
"option_id": null,
-
"question": "string",
-
"select": {
-
"Raw key value1": "string",
-
"Raw key value2": "string"
}
-
}
- 200
- default
{
-
"data_pattern": "string",
-
"data_type": "DATE",
-
"holder_category_id": null,
-
"level": "BOOKING",
-
"mandatory_question_id": "string",
-
"option_id": null,
-
"question": "string",
-
"select": {
-
"Raw key value1": "string",
-
"Raw key value2": "string"
}
-
}
created: 2024-08-06T01:12:48 (UTC +02:00) tags: [] source: https://porta.redoc.ly/openapi/tag/mandatory-questions/ author:
Bookings expire on a set date or a set number of days after purchase.
Bookings expire on a set date or a set number of days after purchase.
SecuritySupplier-production or Supplier-sandbox
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
option_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
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.
|
get/supplier/availability/experiences/{experience_id}/options/{option_id}/slots/open_slots
- curl
- C#
- Node.js
<span>curl</span> <span>-i</span> <span>-X</span> GET <span>\</span>
<span>'https://prod.api.tui/tui-musement-porta/supplier/availability/experiences/{experience_id}/options/{option_id}/slots/open_slots'</span> <span>\</span>
<span>-H</span> <span>'Authorization: Bearer <YOUR_TOKEN_HERE>'</span> <span>\</span>
<span>-H</span> <span>'accept: application/json'</span> <span>\</span>
<span>-H</span> <span>'accept-version: vnd.porta-api.v1'</span>
- 200
- default
{
-
"available_holder_categories": [
{}
],
-
"guide_languages": [
"string"
],
-
"option_id": "string",
-
"slot_id": "string",
-
"open_slot": {
-
"duration_days": 0,
-
"type": "DURATION_DAYS"
}
-
}
created: 2024-08-06T01:12:09 (UTC +02:00) tags: [] source: https://porta.redoc.ly/openapi/tag/mandatory-questions/ author:
Options are a variations of an experience. A customer must select an option to complete a booking.
Options are a variations of an experience. A customer must select an option to complete a booking.
SecuritySupplier-production or Supplier-sandbox
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
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.
|
required | Array of objects (Holder category) unique The holder categories for the option. |
label required | string The human-friendly label for the option. |
main_option | boolean When If no option is defined as the default, then the first option is automatically made the default. |
max_booking_quantity | integer <int32> The maximum quantity allowed per booking. |
min_booking_quantity | integer <int32> The minimum quantity required for a valid booking. |
option_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ The option ID, assigned by the supplier. |
post/supplier/catalog/experiences/{experience_id}/options
- Payload
- curl
- C#
- Node.js
{
-
"holder_categories": [
{}
],
-
"label": "string",
-
"main_option": true,
-
"max_booking_quantity": 0,
-
"min_booking_quantity": 0,
-
"option_id": "string"
}
- 200
- default
{
-
"holder_categories": [
{}
],
-
"label": "string",
-
"main_option": true,
-
"max_booking_quantity": 0,
-
"min_booking_quantity": 0,
-
"option_id": "string"
}
SecuritySupplier-production or Supplier-sandbox
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
option_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
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.
|
204
Option removed successfully
delete/supplier/catalog/experiences/{experience_id}/options/{option_id}
- curl
- C#
- Node.js
<span>curl</span> <span>-i</span> <span>-X</span> DELETE <span>\</span>
<span>'https://prod.api.tui/tui-musement-porta/supplier/catalog/experiences/{experience_id}/options/{option_id}'</span> <span>\</span>
<span>-H</span> <span>'Authorization: Bearer <YOUR_TOKEN_HERE>'</span> <span>\</span>
<span>-H</span> <span>'accept: application/json'</span> <span>\</span>
<span>-H</span> <span>'accept-version: vnd.porta-api.v1'</span>
- default
400 Bad request: check the request for errors
{
-
"code": "400",
-
"id": "3ecae132-a32d-41f9-8f7d-586f34cc29ce",
-
"message": "Check the request for errors."
}
SecuritySupplier-production or Supplier-sandbox
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
option_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
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.
|
required | Array of objects (Holder category) unique The holder categories for the option. |
label required | string The human-friendly label for the option. |
main_option | boolean When If no option is defined as the default, then the first option is automatically made the default. |
max_booking_quantity | integer <int32> The maximum quantity allowed per booking. |
min_booking_quantity | integer <int32> The minimum quantity required for a valid booking. |
option_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ The option ID, assigned by the supplier. |
409
Conflict: request conflicts with target resource
put/supplier/catalog/experiences/{experience_id}/options/{option_id}
- Payload
- curl
- C#
- Node.js
{
-
"holder_categories": [
{}
],
-
"label": "string",
-
"main_option": true,
-
"max_booking_quantity": 0,
-
"min_booking_quantity": 0,
-
"option_id": "string"
}
- 200
- 409
- default
{
-
"holder_categories": [
{}
],
-
"label": "string",
-
"main_option": true,
-
"max_booking_quantity": 0,
-
"min_booking_quantity": 0,
-
"option_id": "string"
}
created: 2024-08-06T01:12:20 (UTC +02:00) tags: [] source: https://porta.redoc.ly/openapi/tag/mandatory-questions/ author:
Pickups are locations where customers can be picked up for their experience. Experiences are not required to have pickups. However, when pickups are assigned to experience options, selecting a pickup is required to complete a booking.
Pickups are locations where customers can be picked up for their experience. Experiences are not required to have pickups. However, when pickups are assigned to experience options, selecting a pickup is required to complete a booking.
SecuritySupplier-production or Supplier-sandbox
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.
|
get/supplier/catalog/pickups
- curl
- C#
- Node.js
<span>curl</span> <span>-i</span> <span>-X</span> GET <span>\</span>
https://prod.api.tui/tui-musement-porta/supplier/catalog/pickups <span>\</span>
<span>-H</span> <span>'Authorization: Bearer <YOUR_TOKEN_HERE>'</span> <span>\</span>
<span>-H</span> <span>'accept: application/json'</span> <span>\</span>
<span>-H</span> <span>'accept-version: vnd.porta-api.v1'</span>
- 200
- default
[
-
{
-
"name": "string",
-
"type": "HOTEL",
-
"latitude": -90,
-
"longitude": -180,
-
"pickup_id": "string",
-
"time_margin": 0
}
-
]
SecuritySupplier-production or Supplier-sandbox
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.
|
name required | string The human-friendly name for the pickup. | ||||||
type required | string The type of pickup.
| ||||||
latitude | number <float> [ -90 .. 90 ] The latitude value for the pickup location. This value may be omitted. | ||||||
longitude | number <float> [ -180 .. 180 ] The longitude value for the pickup location. This value may be omitted. | ||||||
pickup_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ The pickup ID, assigned by the supplier. | ||||||
time_margin | integer <int32> Default: 0 The number of minutes a pickup will occur before or after a time slot. This property accepts both positive and negative values. A negative value indicates the pickup arrives before the time slot. A positive value indicates the pickup arrives after the time slot. |
post/supplier/catalog/pickups
- Payload
- curl
- C#
- Node.js
{
-
"name": "string",
-
"type": "HOTEL",
-
"latitude": -90,
-
"longitude": -180,
-
"pickup_id": "string",
-
"time_margin": 0
}
- 200
- default
{
-
"name": "string",
-
"type": "HOTEL",
-
"latitude": -90,
-
"longitude": -180,
-
"pickup_id": "string",
-
"time_margin": 0
}
A pickup point cannot be removed if it is part of an availability slot. Suppliers must remove the pickup point from all availability slots first.
SecuritySupplier-production or Supplier-sandbox
pickup_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
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.
|
204
Pickup removed successfully
delete/supplier/catalog/pickups/{pickup_id}
- curl
- C#
- Node.js
<span>curl</span> <span>-i</span> <span>-X</span> DELETE <span>\</span>
<span>'https://prod.api.tui/tui-musement-porta/supplier/catalog/pickups/{pickup_id}'</span> <span>\</span>
<span>-H</span> <span>'Authorization: Bearer <YOUR_TOKEN_HERE>'</span> <span>\</span>
<span>-H</span> <span>'accept: application/json'</span> <span>\</span>
<span>-H</span> <span>'accept-version: vnd.porta-api.v1'</span>
- default
400 Bad request: check the request for errors
{
-
"code": "400",
-
"id": "3ecae132-a32d-41f9-8f7d-586f34cc29ce",
-
"message": "Check the request for errors."
}
SecuritySupplier-production or Supplier-sandbox
pickup_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
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.
|
get/supplier/catalog/pickups/{pickup_id}
- curl
- C#
- Node.js
<span>curl</span> <span>-i</span> <span>-X</span> GET <span>\</span>
<span>'https://prod.api.tui/tui-musement-porta/supplier/catalog/pickups/{pickup_id}'</span> <span>\</span>
<span>-H</span> <span>'Authorization: Bearer <YOUR_TOKEN_HERE>'</span> <span>\</span>
<span>-H</span> <span>'accept: application/json'</span> <span>\</span>
<span>-H</span> <span>'accept-version: vnd.porta-api.v1'</span>
- 200
- default
{
-
"name": "string",
-
"type": "HOTEL",
-
"latitude": -90,
-
"longitude": -180,
-
"pickup_id": "string",
-
"time_margin": 0
}
created: 2024-08-06T01:12:54 (UTC +02:00) tags: [] source: https://porta.redoc.ly/openapi/tag/mandatory-questions/ author:
Customers must select a date and time for a booking.
Customers must select a date and time for a booking.
The date_from
and date_to
query parameters permit up to 31 days of dates.
SecuritySupplier-production or Supplier-sandbox
experience_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
option_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ |
date_from required | string <date> Filters results to those which take place on or after the specified date. |
date_to required | string <date> Filters results to those which take place on or before the specified date. |
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.
|
get/supplier/availability/experiences/{experience_id}/options/{option_id}/slots/time_slots
- curl
- C#
- Node.js
<span>curl</span> <span>-i</span> <span>-X</span> GET <span>\</span>
<span>'https://prod.api.tui/tui-musement-porta/supplier/availability/experiences/{experience_id}/options/{option_id}/slots/time_slots?date_from=2019-08-24&date_to=2019-08-24'</span> <span>\</span>
<span>-H</span> <span>'Authorization: Bearer <YOUR_TOKEN_HERE>'</span> <span>\</span>
<span>-H</span> <span>'accept: application/json'</span> <span>\</span>
<span>-H</span> <span>'accept-version: vnd.porta-api.v1'</span>
- 200
- default
[
-
{
-
"available_holder_categories": [],
-
"guide_languages": [],
-
"option_id": "string",
-
"slot_id": "string",
-
"capacity": 0,
-
"time_slot": {}
}
-
]
created: 2024-08-06T01:13:04 (UTC +02:00) tags: [] source: https://porta.redoc.ly/openapi/tag/mandatory-questions/ author:
Suppliers can use vendors to indicate when experiences are sourced differently.
SecuritySupplier-production or Supplier-sandbox
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.
|
- curl
- C#
- Node.js
<span>curl</span> <span>-i</span> <span>-X</span> GET <span>\</span>
https://prod.api.tui/tui-musement-porta/supplier/vendors <span>\</span>
<span>-H</span> <span>'Authorization: Bearer <YOUR_TOKEN_HERE>'</span> <span>\</span>
<span>-H</span> <span>'accept: application/json'</span> <span>\</span>
<span>-H</span> <span>'accept-version: vnd.porta-api.v1'</span>
- 200
- default
[
-
{
-
"name": "string",
-
"vendor_id": "string"
}
-
]
SecuritySupplier-production or Supplier-sandbox
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.
|
name required | string The name of the vendor as it will appear in PORTA. |
vendor_id required | string^(?!\-|\.|\_)[0-9a-z\-\.\_]{1,50}$ The vendor ID, assigned by the supplier. |
- Payload
- curl
- C#
- Node.js
{
-
"name": "string",
-
"vendor_id": "string"
}
- 200
- default
{
-
"name": "string",
-
"vendor_id": "string"
}