Pickup points

In the Musement catalog, experiences with pickup points require customers to select a pickup location before selecting a date. This is useful for situations where the dates and prices can vary by pickup location.

If nothing varies for your pickups, consider setting up pickups as mandatory questions instead so that they appear near the end of the booking flow.

When an experience contains pickups, selecting a pickup is required to complete a booking. However, pickups are optional for experiences and suppliers can skip this step if they don't plan to use them.

Creating a pickup

You only need to create a pickup location once. It can be used again for multiple experiences.

Copy
Copied
curl -X POST '{baseUrl}/supplier/catalog/pickups' \
-H 'accept-version: vnd.porta-api.v1' \
-H 'Authorization: Bearer {accessToken}' \
-H 'Content-Type: application/json' \
--data-raw '{
	"latitude": 39.65577,
	"longitude": 3.43884,
	"name": "Taxi stop hotel melbeach",
	"pickup_id": "pickup-123",
	"type": "MEETING_POINT"
}'

The following properties are required for new pickup points:

pickup_id

Suppliers must provide their own ID for a pickup. This ID will be used for relevant endpoints and requests.

name

Give the pickup point a name in English that customers will use during booking.

type

This property specifies whether the pickup point is a general location or the lobby of a hotel:

  • HOTEL
    • The pickup is at a hotel.
  • MEETING_POINT
    • The pickup is a general location.

Pickup points for an experience on Musement.com are separated between the two types:

pickup division

Coordinates

When creating a pickup point, you can choose to indicate its exact location by including latitude and longitude properties.

Offsetting pickup times

When creating a pickup point, the request can also include an optional time_margin property to indicate how many minutes a pickup will occur before (or after) an availability time slot.

Managing pickups for a time slot

Pickups can only be used for experiences that use time slots, when the availability_slot_type property value is TIME. The pickups are not assigned directly to experiences, but rather to an availability slot. This allows you to set up different pickups for different dates and prices (if necessary).

When creating an availability time slot, include a list of pickup IDs. In the example request below, we are creating an availability slot with one pickup point:

Copy
Copied
curl -X POST '{baseUrl}/supplier/availability/experiences/experience-123/options/option-123/slots' \
-H 'accept-version: vnd.porta-api.v1' \
-H 'Authorization: Bearer {accessToken}' \
-H 'Content-Type: application/json' \
--data-raw '{
	"availability_slot_id": "slot-123",
	[...],
	"pickup_ids": [
		"pickup-123"
	],
	[...]
}'

To add or remove a pickup from an availability time slot, you must update the slot with the modified pickup_ids property. In the example request below, all pickups are removed:

Copy
Copied
curl -X PUT '{baseUrl}/supplier/availability/experiences/experience-123/options/option-123/slots/slot-123' \
-H 'accept-version: vnd.porta-api.v1' \
-H 'Authorization: Bearer {accessToken}' \
-H 'Content-Type: application/json' \
--data-raw '{
	[...],
	"pickup_ids": [],
	[...]
}'
Copyright © TUI Musement. All rights reserved.