booking_creation

Creates a booking

Behind the scene, this endpoint acts like calling the POST /v3/proposals/search and the PUT /v2/proposals/{proposal_id}/attendees before creating the booking. To create a booking, the proposal must contain attendees information. The booking can be created with different statuses impacting the booking life cycle. The booking creation will decrease Club Med stock. The booking creation is required to create a payment. The accept-language must be the same as the one in the proposal creation.

post/v3/bookings

Request

  • Base URL: https://api.clubmed.com
  • URL: https://api.clubmed.com/v3/bookings
  • Auth: one of:
    • OpenID Connect (https://accounts.clubmed.com/.well-known/openid-configuration, scopes: openid, email, profile, clubmed)
    • OpenID Connect (https://auth.clubmed.com/.well-known/openid-configuration, scopes: openid, email, profile, clubmed)

Query parameters

partner_typestring

Technical information provided, if needed, by Club Med to the partner

Example:cxo_indirect

Headers

authorizationstring

Optional Access Token (bearer)

Example:Bearer aaaa.vbbbB.bbbb

Access Token (bearer)

accept-language'fr-FR' | 'fr-BE' | 'nl-BE' | 'de-CH' | 'fr-CH' | 'en-CH' | 'nl-NL' | 'de-DE' | 'en-IL' | 'he-IL' | 'it-IT' | 'en-SE' | 'pt-PT' | 'en-ZA' | 'es-ES' | 'en-GB' | 'en-CY' | 'tr-TR' | 'ru-RU' | 'uk-UA' | 'en-DK' | 'en-FI' | 'en-NO' | 'en-IE' | 'en-US' | 'es-MX' | 'fr-CA' | 'en-CA' | 'es-PA' | 'es-AR' | 'es-CL' | 'pt-BR' | 'es-CO' | 'es-PE' | 'es-VE' | 'es-UY' | 'en-CN' | 'zh-CN' | 'zh-TW' | 'en-TW' | 'en-HK' | 'zh-HK' | 'en-AU' | 'en-ID' | 'id-ID' | 'en-IN' | 'ja-JP' | 'ko-KR' | 'en-MY' | 'en-NZ' | 'en-SG' | 'en-TH' | 'vn-VN' | 'de-AT' | 'ro-RO' | 'pl-PL' | 'et-EE' | 'lv-LV' | 'en-LB' | 'fr-MA' | 'se-SE' | 'th-TH' | 'en-JP' | 'en-AF' | 'en-AL' | 'fr-DZ' | 'fr-AD' | 'en-AO' | 'en-AG' | 'en-SA' | 'en-AM' | 'en-BS' | 'en-BH' | 'en-BD' | 'en-BB' | 'en-BZ' | 'en-BJ' | 'en-BM' | 'en-BT' | 'en-MM' | 'es-BO' | 'es-BW' | 'en-BN' | 'en-BG' | 'en-BI' | 'en-BF' | 'en-CM' | 'fr-CV' | 'en-KY' | 'fr-CF' | 'en-SH' | 'en-CO' | 'en-KM' | 'fr-CG' | 'en-KR' | 'en-KP' | 'en-CR' | 'fr-CI' | 'en-CU' | 'en-DJ' | 'en-DO' | 'en-DM' | 'en-EG' | 'en-SV' | 'en-AE' | 'en-EC' | 'fr-ET' | 'en-FJ' | 'en-GA' | 'en-GM' | 'en-GH' | 'en-GI' | 'gr-GR' | 'en-GD' | 'en-GT' | 'en-GN' | 'fr-GW' | 'en-GQ' | 'en-GY' | 'fr-GP' | 'fr-GF' | 'en-HT' | 'en-HN' | 'en-HU' | 'fr-IQ' | 'en-IR' | 'en-IS' | 'fr-TL' | 'en-JM' | 'en-JO' | 'en-KZ' | 'en-KH' | 'en-KE' | 'fr-KI' | 'en-KW' | 'en-LA' | 'fr-LS' | 'en-LR' | 'en-LY' | 'en-LI' | 'fr-LU' | 'en-MO' | 'en-MG' | 'en-MW' | 'en-MV' | 'en-ML' | 'en-MT' | 'ma-MA' | 'en-MU' | 'en-MR' | 'en-YT' | 'fr-MC' | 'en-MN' | 'fr-MQ' | 'en-MZ' | 'en-MD' | 'fr-PS' | 'en-NA' | 'fr-NR' | 'en-NP' | 'en-NI' | 'en-NE' | 'en-NG' | 'en-NC' | 'fr-CK' | 'en-OM' | 'en-UG' | 'en-PK' | 'en-PA' | 'en-PG' | 'es-PY' | 'en-PH' | 'fr-PN' | 'fr-PF' | 'en-PR' | 'en-QA' | 'en-RW' | 'fr-RE' | 'fr-BL' | 'en-KN' | 'en-MF' | 'en-LC' | 'en-SM' | 'fr-PM' | 'fr-VC' | 'fr-SB' | 'en-WS' | 'fr-ST' | 'en-SN' | 'en-SC' | 'fr-SL' | 'fr-SO' | 'fr-SD' | 'en-LK' | 'en-SR' | 'en-SZ' | 'en-SY' | 'en-TZ' | 'en-TD' | 'en-CZ' | 'fr-IO' | 'fr-TF' | 'en-TG' | 'fr-TO' | 'en-TT' | 'tu-TN' | 'en-TC' | 'fr-TV' | 'fr-LB' | 'en-VU' | 'fr-VA' | 'en-VG' | 'en-VN' | 'en-WF' | 'en-YE' | 'fr-YE' | 'en-RS' | 'fr-CD' | 'fr-ZM' | 'en-ZW' | 'fr-ME' | 'fr-FM' | 'fr-MH' | 'fr-PW' | 'en-HR' | 'en-SI' | 'en-SK' | 'en-EE' | 'en-LT' | 'en-LV' | 'en-MK' | 'en-BA' | 'en-UZ' | 'en-BY' | 'fr-TJ' | 'en-GE' | 'en-AZ' | 'es-DO' | 'fr-TM' | 'fr-TN' | 'sk-SK' required

Language/Country, as returned by <code>GET /v0/locales</code> ; e.g. "en-US", "fr-FR", "ja-JP"

Example:fr-FR
x-api-keystring required

Api_key provided by ClubMed API team

Request body

resort_arrival_datestring nullable required

Arrival date in the resort (it is not the journey departure date. Date format YYYYMMDD)

durationinteger required

Number of nights into the resort.

product_idstring required

Product id. Ex: SAYC

package_idstring nullable

Package id from /products/{id}/packages

voucher_codestring nullable

Code allowing to add a voucher to the requested proposal

sales_network_idstring nullable

Sales network id returned by the /partners/{partner_id}/sales_networks resources. Ex: OPERA_00_P2T

transfer_codestring

Transfer code from products/{id}/transfers resource. Ex: SAYVSY

departure_option_idstring

The departure option id from product/id, booking criteria section. Ex: PAR. If it is PAR, get proposals with transportation

accommodation_idstring

Accommodation id

opportunity_idstring

Identifier referencing the associated business opportunity in Club Med CRM, linking the call or lead to a potential booking for tracking and conversion.

sending_option_informationboolean

Allows the sending of the e-mail summarizing the booking information

booking_status'OPTION' | 'PENDING_PAYMENT' | 'VALIDATED'

Booking status. If not provided, the booking status will be PENDING_PAYMENT for GM

seller_emailstring nullable

Email of the seller recorded in the booking

salesman_idstring nullable

Salesman id number

commentstring nullable

Comment to be sent to Club Med's tools

expired_option_booking_id_for_renewalstring

Deprecated - Indicates the expired option booking ID that might be renewed.

proposal_idstring

Proposal identifier

Example request

{
  "resort_arrival_date": "20100430",
  "duration": 7,
  "product_id": "MPAC",
  "package_id": "PAI",
  "voucher_code": "CDDEZS",
  "sales_network_id": "OPERA_00_P2T",
  "transfer_code": "AGAVSY",
  "departure_option_id": "PAR",
  "accommodation_id": "A4+",
  "households": [
    {
      "household_id": "A",
      "address": {
        "number": "15",
        "street": "AVENUE DES CHAMPS ELYSEES",
        "add_on": "6A",
        "town": "Luynes",
        "city": "Aix-en-Provence",
        "zip_code": "75000",
        "state_or_district": "CA",
        "country": "FRANCE",
        "country_code": "FR",
        "additional_information_1": "Chez M. Dupont",
        "additional_information_2": "Entreprise Clubmed"
      },
      "attendees": [
        {
          "id": "A",
          "customer_id": "123456789",
          "first_name": "Marc",
          "unicode_first_name": "北",
          "last_name": "Dupont",
          "unicode_last_name": "王",
          "email": "bei.wang@123.com",
          "civility_code": "MR",
          "health_pass_id": "1234567892",
          "identity": {
            "number": "E001241",
            "type": "TAX_NUMBER"
          },
          "birthdate": "2022-04-15",
          "travel_documents": [
            {
              "document_number": "09PR5121F",
              "type": "PASSPORT",
              "expiration_date": "20281015",
              "issuing_date": "20181015",
              "nationality": "FR",
              "issuing_country": "FR",
              "birth_country": "FR",
              "authority": "Prefecture de Torcy"
            }
          ],
          "phones": [
            {
              "number": "0623456789",
              "type": "MOBILE"
            }
          ],
          "optins": [
            {
              "channel": "EMAIL",
              "optin": true,
              "optin_partners": true
            }
          ]
        }
      ],
      "language_code": "FR"
    }
  ],
  "opportunity_id": "456789123",
  "sending_option_information": true,
  "booking_status": "OPTION",
  "seller_email": "pierre.dupont@partner.com",
  "salesman_id": "45535786",
  "comment": "blablabla blablabla",
  "expired_option_booking_id_for_renewal": "0123456789",
  "proposal_id": "123456",
  "price": {
    "requested_price": 12345
  }
}

Response

Successful

booking_idstring required

Booking identifier

Example response

{
  "booking_id": "654321",
  "households": [
    {
      "attendees": [
        {
          "customer_id": 987654,
          "type": "MAIN"
        }
      ]
    }
  ],
  "option_durability": {
    "is_reliable": true,
    "expiration_date_time": "20160415T10:23:00.234Z"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.