Arrival form

  • Services
  • Prebooking
  • 3 routes
How can a customer review and complete the arrival formalities for a booking?

This scenario explains how to identify the formalities available before arrival, determine which Easy Arrival services can still be completed, and submit the related answers for a booking.

It is useful to drive a pre-stay form experience that guides the traveler through the available tasks instead of exposing isolated endpoints.

Overview

Use this scenario when you need to expose the arrival preparation flow of a booking. The objective is to discover which pre-stay formalities are available, identify the services that can still be completed through Easy Arrival, and submit the answers expected by the pre-stay form.

This sequence is especially useful for customer-facing portals, support tools, or seller journeys that need to know whether Easy Arrival, room selection, transfer data, police form, or express check-out are available.

Prerequisites

  • Have a valid x-api-key.
  • Use an accept-language value returned by GET/v0/locales for the routes that require it.
  • Have a valid bearer token.
  • Know both customer_id and booking_id.
  • Make sure the booking belongs to the authenticated customer context.

Functional notes

  • The first route gives a consolidated overview of available formalities for the booking.
  • The second route focuses on the services eligible for the Easy Arrival pre-stay form.
  • The submission route records answers, but the detailed request payload schema is not visible in the available sources and must therefore be handled with caution during implementation.

Process workflow

Legend:
Mandatory
Optional
1

Check stay formalities

Mandatory

This route returns the stay formalities that need to be completed for a given booking.

Prerequisites

Use customer_id and booking_id with a valid authorization token, in addition to the API key.

Calling CURL

curl -X GET \
  -H "x-api-key: $API_KEY" \
  -H "accept-language: en-US" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  "https://api.clubmed.com/v1/customers/{customer_id}/bookings/{booking_id}/stay_formalities"

Example answer

[
  {
    "stay_id": "stay-1",
    "credit_card_check_in": true,
    "payment_check_out": true,
    "gm_feedback": false,
    "easy_arrival": true,
    "transfer": true,
    "room_selection": false,
    "police_form": false
  }
]

info: This step is the entry point to determine which formalities still need to be completed before departure.


Response codes

  • 200 OK: the stay formalities are returned.
  • 400 Bad Request: invalid parameters.
  • 401 Unauthorized: missing or invalid token.
  • 403 Forbidden: the booking is not accessible in this context.
GET/v1/customers/{customer_id}/bookings/{booking_id}/stay_formalities
See more
2

List eligible Easy Arrival services

Mandatory

This route returns the booking services that are eligible for the Easy Arrival journey.

Prerequisites

Use customer_id and booking_id with a valid authorization token.

Calling CURL

curl -X GET \
  -H "x-api-key: $API_KEY" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  "https://api.clubmed.com/v0/customers/{customer_id}/bookings/{booking_id}/easy_arrival/eligible_services"

Example answer

[
  {
    "product_id": "product-1",
    "status": "OPEN",
    "arrival_date": "2026-07-05",
    "return_date": "2026-07-12",
    "attendees": [
      {
        "id": "attendee-1",
        "services": [
          {
            "id": "service-1",
            "label": "Airport transfer"
          }
        ]
      }
    ]
  }
]

info: This response tells you which services can be pre-filled before arrival.


Response codes

  • 200 OK: the eligible services are returned.
  • 400 Bad Request: invalid parameters.
  • 401 Unauthorized: missing or invalid token.
  • 403 Forbidden: access denied.
  • 404 Not Found: booking not found for this customer.
GET/v0/customers/{customer_id}/bookings/{booking_id}/easy_arrival/eligible_services
See more
3

Submit Easy Arrival surveys

Mandatory

This route records the Easy Arrival survey answers for the targeted booking.

Prerequisites

Prepare the expected answers for each attendee and use a valid authorization token.

Calling CURL

curl -X POST \
  -H "x-api-key: $API_KEY" \
  -H "accept-language: en-US" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"surveys": [{"attendee_id": "attendee-1", "questions": [{"id": "question-1", "answer": "YES"}]}]}' \
  "https://api.clubmed.com/v0/customers/{customer_id}/bookings/{booking_id}/easy_arrival/surveys"

Example answer

HTTP/1.1 204 No Content

info: Success is returned without a response body. Call the stay formalities endpoint again if you need to confirm the update was taken into account.


Response codes

  • 204 No Content: the answers are recorded.
  • 400 Bad Request: invalid JSON or failed validation.
  • 401 Unauthorized: missing or invalid token.
  • 403 Forbidden: access denied.
  • 404 Not Found: booking not found.
POST/v0/customers/{customer_id}/bookings/{booking_id}/easy_arrival/surveys
See more