API Hôtels
Recherchez parmi 1.5M+ établissements par code de ville (de type IATA, p. ex. DXB) ou par les codes d’hôtel que vous conservez depuis notre catalogue, consultez les tarifs par chambre avec formule de repas et conditions d’annulation, validez et réservez, puis annulez selon les conditions.
Recherche
POST /v1/hotels/search with a destination and check-in/out dates and one to eight rooms (adults and child ages per room). The destination is a cityCode (IATA-style, e.g. "DXB" — GET /v1/content/cities lists them), a list of hotelCodes from the catalogue you store on your side (GET /v1/content/hotels per city), or a geo circle. Name matching is yours to do against your stored list; availability is always asked by code.
Avec wait=true, vous obtenez l’ensemble complet des résultats ; avec wait=false, un searchId à interroger avec GET /v1/hotels/search/{searchId} — transmettez les mêmes dates et le même nombre de chambres pour que les clés de tarif restent réservables. Chaque hôtel comporte son contenu (nom, étoiles, adresse, géolocalisation, image principale, équipements) et le tarif le moins cher par chambre avec un rateKey opaque, le prix total et par nuit, la formule de restauration, le caractère remboursable et la date limite d’annulation.
Chambres et tarifs
GET /v1/hotels/{hotelCode}/rooms?rateKey=… liste tous les types de chambre et tarifs d’un établissement pour le séjour recherché : types de lit, occupation, formule de restauration, conditions, taxes et frais détaillés, et si le tarif est remboursable.
Vérification du tarif
POST /v1/hotels/rates/{rateKey}/check confirme que le tarif est toujours réservable et renvoie le prix et les conditions définitifs. Faites-le juste avant de réserver : un 409 price_changed ou rate_expired à ce stade coûte bien moins cher qu’une réservation échouée.
Réserver
POST /v1/hotels/bookings avec le rateKey, le titulaire, les clients par chambre et un contact, plus une Idempotency-Key. La réponse est la réservation avec sa référence, la confirmation du fournisseur et les données du bon. GET /v1/hotels/bookings/{bookingId} la renvoie à tout moment.
Annuler
GET /v1/hotels/bookings/{bookingId}/cancellation-quote renvoie la pénalité applicable selon les conditions à cet instant ; POST /v1/hotels/bookings/{bookingId}/cancel (Idempotency-Key obligatoire) valide l’annulation.