Build your hotel solution with the CDS Groupe API

A REST/JSON-based hotel platform providing unified endpoints for Search, Availability, Content, Booking, Booking Details, and Cancel. Integrate once to seamlessly access multiple suppliers.

Booking.com
Hotel.com
Amadeus
Sabre
TravelPort
HotelBeds
WebBeds
Restel (Hotusa)
AVH
Cityzen
CRC
ItalCamel
...
Quick start (example)
# Search hotels (example endpoint names)
GET http://bookings.cdsgroupe.com/cds-api/v1/hotelSearch?checkin=2025-10-15&checkout=2025-10-16&room=1&guest=1&allotment=1&ages=99&radius=10&latitude=48.8575475&longitude=2.3513765&agentDutyCode=BOOKING_V3&language=FR¤cy=EUR&pageNumber=1&pageSize=10&userPlatform=desktop

# Book a room (example)
POST https://api.cdsgroupe.com/v1/bookings
Content-Type: application/json
{
    "agentDutyCode": "{{codeClient}}", //Client code cretaed by CDS GROUPE Team
    "Login": "{{login}}", //Username of the API (Connected user)
    "HotelCode": "6203406", //(REQUIRED) HtlCd from Availibility response
    "RoomQuantities": "1", //(REQUIRED) nbr of Room for booking
    "GuestQuantitie": "1", //(REQUIRED) nbr of guest for booking
    "GuestPerRoom": "1", //(REQUIRED) nbr of guest per room for booking (list of int separated by ; or ,)
    "currency": "EUR", //Currency (EUR, GBP, USD, ....) => Default EUR
    "language": "EN", //Language (FR, EN, DE, SP, PT, IT) => Default FR
    "CountryName": "", //Country names of the travellers must = GuestQuantitie (list of  Country names separated by ; or ,)
    "AddressLine": "", //Adress of the travellers must = GuestQuantitie (list of adress separated by ; or ,)
    "Ages": "99", //99 = adult and age between 1 and 17 for child age (list of int separated by ; or ,)
    "CityName": "", //City of the travellers must = GuestQuantitie (list of city names separated by ; or ,)
    "PhoneNumber": "+33123456789", //Phone numbers of the travellers must = GuestQuantitie (list of phones separated by ; or ,)
    "PostalCode": "", //Postal codes of the travellers must = GuestQuantitie (list of Postal codes separated by ; or ,)
    "FirstName": "test", //(REQUIRED) First names of the travellers must = GuestQuantitie (list of names separated by ; or ,)
    "LastName": "test", //(REQUIRED) Last names of the travellers must = GuestQuantitie (list of names separated by ; or ,)
    "Email": "test@cdsgroupe.com", //(REQUIRED) Emails of the travellers must = GuestQuantitie (list of emails separated by ; or ,)
    "NamePrefix": "1", // 1 = Mr, 2 = Mrs, 3 = Ms
    "LoyaltyCard": "XXXXXXXXXXXXX", //Loyalty Card of the travellers must = GuestQuantitie (list of Loyalty Cards separated by ; or ,)
    "Start": "{{in}}", //(REQUIRED) the checkin date, format yyyy-MM-dd
    "End": "{{out}}", //(REQUIRED) the chouckout date, format yyyy-MM-dd
    "RatePlanCode": "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY", //(REQUIRED) RatCd from Availibility must equal RoomQuantities (list of RatCd separated by ; or ,)
    "RoomCode": "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY", //(REQUIRED) RomCd from Availibility must equal RoomQuantities (list of RomCd separated by ; or ,)
    "AmountAfterTax": "112", //(REQUIRED) RatPrice from Availibility plus TaxPrice and RatMealPrice if TaxIncluded = false else RatPrice (list of RatPrice separated by ; or ,)
    "AmountBeforeTax": "112", //(REQUIRED) RatPrice from Availibility must equal RoomQuantities (list of RatPrice separated by ; or ,)
    "CardCode": "VI", //(REQUIRED) Credit card code - AX - MC,CA - VI
    "CardNumber": "4236861588423130", //(REQUIRED) Credit card number
    "ExpireDate": "2025-12-01", //(REQUIRED) Credit card expire date, format yyyy-MM-dd
    "SeriesCode": "123", //(REQUIRED) Credit card cvv / cvc
    "CardHolderName": "TEST", //(REQUIRED) Credit card holder name
    "CopieEmail": "copie@cdsgroupe.com", //We will send a copie of voucher to this email if exist
    "Comment": "test comment to send to props", //Comment that we wills end to property if the supplier accept it
    "BookerLogin": "Booker Login", //If booker is not the user connected to the API
    "BookerLastName": "Booker Last Name",
    "BookerFirstName": "Booker First Name",
    "BookerEmail": "BookerEmail@cdsgroupe.com",
    "userPlatform":"desktop" // desktop,mobile,mobile-app (Default = desktop)
}

# See full specifications:
https://developers.cdsgroupe.com/

Endpoints

Core resources to power corporate hotel workflows.

🔎

Search

Query hotels and rates by city, dates, and occupants with filterable results.

🏨

Availability

Get current availability and pricing for selected properties and room types.

🖼️

Content

Access rich content: amenities, photos, descriptions, maps, and policies.

🧾

Booking

Create bookings with traveler details and payment profiles; receive confirmations.

📄

Booking Details

Fetch booking records, vouchers, invoices, and status for downstream systems.

Cancel

Cancel reservations programmatically, respecting supplier rules and deadlines.

Developers

Everything you need to integrate the CDS API.

Open documentation

At a glance
REST / JSON endpoints Hotel search, availability, and content Booking create, retrieve, and cancel Multi‑supplier connectivity

Request access

Tell us about your use case and expected volumes.