Experiences
Experiences can be almost anything: tickets for museums, wine tastings, tours, etc. They are the core of the Musement catalog.
Creating an experience
When creating an experience in PORTA, suppliers must use the POST /supplier/catalog/experiences
endpoint:
curl '{baseUrl}/supplier/catalog/experiences' \
-H 'accept-version: vnd.porta-api.v1' \
-H 'Authorization: Bearer {accessToken}' \
-H 'Content-Type: application/json' \
--data-raw '{
"availability_slot_type": "TIME",
"currency": "USD",
"cutoff_time": "P1D",
"experience_id": "abc-123",
"experience_name": "Example tour with attraction tickets",
"external_experience_id": "Example-123",
"external_experience_name": "Example tour and admission",
"options": [],
"vendor_id": "vendor-123"
}'
The following information is required for the request:
availability_slot_type
This property determines how customers will book the experience. It accepts the following values:
-
DAILY
- Customers must select a date for their booking. They do not select a time.
-
OPEN
- Customers do not select a date or time. Their booking expires on a set date or a set number of days after purchase.
-
TIME
- Customers must select a date and time for their booking.
currency
The currency used for billing. The value must follow the ISO 4217 standard.
experience_id
Suppliers must provide their own ID for the experience. This ID will be used for all related API requests.
experience_name
Give the experience a name to make it easier to recognize whenever you access PORTA.
options
A list of bookable options for the experience. An experience must have at least one option to start with. Options can be added and removed later.
vendor_id
The experience's vendor.
Setting a cutoff time
When creating an experience, you can specify a cutoff_time
value. This is the minimum amount of time required to book a travel date in advance.
The value must follow the ISO 8601 standard.
External values
If the names and IDs of experiences vary differently between PORTA and your system, there are two optional properties you can use to help keep track of your products:
-
external_experience_id
- The ID of the experience as it appears in your own system.
-
external_experience_name
- The name of the experience as it appears in your own system.
Archiving an experience
The archived
property determines whether an experience is for sale or not. By default, new experiences are not archived. When an experience is archived, its corresponding activity in the business platform (if any) is also archived to stop sales.
Archiving is an acceptable approach to closing experiences that will never be available again. Suppliers may also choose to archive experiences temporarily. However, be aware that once an activity is archived, suppliers need the help of the Content Supplier Connectivity team to un-archive the business platform activity.
Time to archive
When an experience is archived, it may take up to 24 hours for Musement websites to update. To avoid receiving further bookings, we encourage suppliers to archive the corresponding business platform activity too.
Updating an experience
Suppliers can update a selection of experience properties with the PATCH /supplier/catalog/experiences/{experience_id}
endpoint:
curl '{baseUrl}/supplier/catalog/experiences/abc-123' \
-H 'accept-version: vnd.porta-api.v1' \
-H 'Authorization: Bearer {accessToken}' \
-H 'Content-Type: application/json' \
--data-raw '{
"archived": true,
"cutoff_time": "P3D",
"experience_name": "Example tour with attraction tickets and lunch",
"external_experience_id": "Example-123-lunch",
"external_experience_name": "Example tour and admission with lunch",
"vendor_id": "vendor-123-lunch"
}'
Suppliers can choose to update one or more properties with this endpoint.
Changes may take up to 24 hours to appear on the business platform and Musement distribution websites.