Hermeseus

How to book tours and activities

This guide books an activity end to end: browse the catalogue, check availability, create the booking, and get the voucher.

Before you start

  • A SessionId. See authentication.
  • The activity permissions, including activity_products_list, activity_price_lists, activity_create_booking, and activity_get_vouchers.
  • Remember: send SessionId in the query string on GET and in the body on POST and PUT.

Step 1: Find a product and a variant

Browse the catalogue, open a product, then list its variants. Keep the productTypeUuid.

curl "https://api.hermeseus.com/api/Activity/v2/products?city=Singapore&sort=bestselling&SessionId=8f3c81d2-..."

curl "https://api.hermeseus.com/api/Activity/v2/products/PRODUCT_UUID/product-types?SessionId=8f3c81d2-..."

Step 2: Check availability

Read the bookable dates for the variant. If it runs at set times, read the timeslots for the chosen date. Past dates and slots are already filtered out.

curl "https://api.hermeseus.com/api/Activity/v2/product-types/5f3ff236-40b1-4f0a-a780-1db8649d1f5b/price-lists?SessionId=8f3c81d2-..."

curl "https://api.hermeseus.com/api/Activity/v2/product-types/5f3ff236-40b1-4f0a-a780-1db8649d1f5b?date=2026-10-15&SessionId=8f3c81d2-..."

Step 3: Create the booking

Reserve the variant for the date, pax mix, and lead customer. You get a booking uuid in reserved status. Keep it.

curl -X POST https://api.hermeseus.com/api/Activity/v2/bookings \
  -H "Content-Type: application/json" \
  -d '{
    "SessionId": "8f3c81d2-...",
    "productTypeUuid": "5f3ff236-40b1-4f0a-a780-1db8649d1f5b",
    "arrivalDate": "2026-10-15",
    "adults": 2,
    "customer": { "firstName": "Jane", "lastName": "Doe", "email": "traveller@example.com", "phone": "+441234567890" }
  }'

Step 4: Confirm

Confirm to move the booking toward issuance. The platform issues it asynchronously.

curl -X PUT https://api.hermeseus.com/api/Activity/v2/bookings/BOOKING_UUID/confirm \
  -H "Content-Type: application/json" \
  -d '{ "SessionId": "8f3c81d2-..." }'

Step 5: Get the voucher

Wait for the booking to be issued, then download the voucher. Watch the booking_status_updated event instead of polling in a loop.

curl "https://api.hermeseus.com/api/Activity/v2/bookings/BOOKING_UUID/vouchers?SessionId=8f3c81d2-..."

curl -L -o voucher.pdf \
  "https://api.hermeseus.com/api/Activity/v2/bookings/BOOKING_UUID/download-voucher/VOUCHER_UUID?SessionId=8f3c81d2-..."

Full field lists are on the activity reference pages.