---
uuid: 5811c52c-ae40-45d4-9693-9a56b6958a2b
date_created: 2026-02-27T06:19:34.148Z
date_updated: 2026-03-24T14:59:26.966Z
seo_url: arrival-form
category: Prebooking
tags: 
  - Services
  - Booking
routes: 
  - GET /v1/customers/{customer_id}/bookings/{booking_id}/stay_formalities
  - GET /v0/customers/{customer_id}/bookings/{booking_id}/easy_arrival/eligible_services
  - POST /v0/customers/{customer_id}/bookings/{booking_id}/easy_arrival/surveys
---

# Arrival form

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.

## Flow

```mermaid
flowchart LR
    step0["Check stay formalities"]
    step1["List eligible Easy Arrival services"]
    step2["Submit Easy Arrival surveys"]
    step0 --> step1
    step1 --> step2
```

## 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.

## 1 - Check stay formalities

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

```bash
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

```json
[
  {
    "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.

**Related route**: [GET https://api.clubmed.com//v1/customers/{customer\_id}/bookings/{booking\_id}/stay\_formalities](https://api.clubmed.com/doc?search=GET%20%2Fv1%2Fcustomers%2F%7Bcustomer_id%7D%2Fbookings%2F%7Bbooking_id%7D%2Fstay_formalities)

## 2 - List eligible Easy Arrival services

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

```bash
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

```json
[
  {
    "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.

**Related route**: [GET https://api.clubmed.com//v0/customers/{customer\_id}/bookings/{booking\_id}/easy\_arrival/eligible\_services](https://api.clubmed.com/doc?search=GET%20%2Fv0%2Fcustomers%2F%7Bcustomer_id%7D%2Fbookings%2F%7Bbooking_id%7D%2Feasy_arrival%2Feligible_services)

## 3 - Submit Easy Arrival surveys

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

```bash
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
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.

**Related route**: [POST https://api.clubmed.com//v0/customers/{customer\_id}/bookings/{booking\_id}/easy\_arrival/surveys](https://api.clubmed.com/doc?search=POST%20%2Fv0%2Fcustomers%2F%7Bcustomer_id%7D%2Fbookings%2F%7Bbooking_id%7D%2Feasy_arrival%2Fsurveys)
