Pickup points

Activities can or cannot offer pickup services.

Between the ones which offer pickup services, it is important to distinguish:

  • certain activities which require the customer to specify a pick-up point, since mandatory for the beginning of the activity and required during the booking flow.
  • others that have the concept of pickup, meaning that somebody is going to pick you up as the first thing before starting the event if you want to, but you can skip it if you don't want to and it's an information not needed neither mandatory during the booking flow.

Both mandatory and non-mandatory pickups activity provides an object which says if the activity provides a PickUp point, regardless of it being necessary in the booking flow.

Inside the activities or activities/{activityUUID} response, you can see services object provide the information of an activity offering a pickup service or not offering it.

[
    {
        "services": "pick-up"
        ...
    }
]

Activity with mandatory Pick-Ups

You can understand if this is the case by looking at the value of "order_box_elements" in the Activity model.

curl -X GET \
  https://{{api_base_url}}/api/v3/activities/{activity_uuid}
{
    "uuid": "fd8c5be0-44a7-4ee0-b5cc-67f59212bd9f",
    "order_box_elements": [
        "tours-and-activities-with-pickup"
    ],
    ...
}

To get the list of pick-up points for that activity you can use the following request:

curl -X GET \
  https://{{api_base_url}}/api/v3/activities/{activity_uuid}/pickups
[
        {
        "uuid": "4fd4f187-cecc-4fb1-b619-9f41bfb05c5a",
        "type": "HOTEL",
        "name": "Aguait resort & spa tui sensimar",
        "latitude": 39.695,
        "longitude": 3.45416,
        "tags": [
            {
                "id": "6648"
            }
        ]
    },
    {
        "uuid": "f49bd49a-d56b-4cff-a918-3d775c0838c9",
        "type": "PICKUP",
        "name": "Taxi stop hotel melbeach",
        "latitude": 39.65577,
        "longitude": 3.43884,
        "tags": []
    }
]

Then you must ensure the activity for that pick-up point is available for the specific date ranges you are looking for:

curl -X GET \
  https://{{api_base_url}}/api/v3/activities/{activity_uuid}/dates?pickup={pickup_uuid}
[
    {
        "day": "2019-04-01",
        "sold_out": false,
        ...
    },
    {
        "day": "2019-04-02",
        "sold_out": false,
        ...
        }
]

You must also ask for specific dates only with pickup parameters, if the activity requires it.

curl -X GET \
  https://{{api_base_url}}/api/v3/activities/{activity_uuid}/dates/{YYYY-MM-DD}?pickup={pickup_uuid}

When asking for dates in activities where a pickup is required but not passed into the request, the system will return an error.

📘

Browsing pickups

Other than browsing pickups for a specific activity, you can also get a complete list of them.
In this use case, you would be selecting a pickup amongst the ones in the list in order to retrieve all activities which are actionable for that very specific pickup point.

Contact your account manager in order to dive deep into this scenario.

Activity with non-mandatory Pick-Ups

You can understand if this is the case by looking at the value of "order_box_elements" in the Activity model.

When the value is not tours-and-activities-with-pickup , this activity does not require any additional parameters to complete the dates fetching procedures.

Searching by Pick-Ups and Cities

You can query combinations of City and Pick-Ups in order to retrieve activity in a given City which could or could not have pickups linked.

To return all activities for city 3 with or without pickups

GET /activities?city_in=3

To return all activities for city 3 AND with pickup same as {uuid}

GET /activities?city_in=3&pickup_in={uuid}

To return All activities for city 3 that do not require pickup

GET /activities?city_in=3&pickup_in=NO-PICKUP

To retrieve all activities for city 3 that do not require pickup OR that have pickup same as {uuid}

GET /activities?city_in=3&pickup_in=NO-PICKUP,{uuid}