API de Hoteles
Busque entre 1.5M+ alojamientos por código de ciudad (estilo IATA, p. ej. DXB) o por los códigos de hotel que guarde de nuestro catálogo, consulte tarifas por habitación con régimen de comidas y política de cancelación, valide y reserve, y cancele según la política.
Búsqueda
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.
Con wait=true obtiene el conjunto completo de resultados; con wait=false, un searchId para consultar con GET /v1/hotels/search/{searchId}: pase las mismas fechas y el mismo número de habitaciones para que las claves de tarifa sigan siendo reservables. Cada hotel incluye su contenido (nombre, estrellas, dirección, geolocalización, imagen principal, instalaciones) y la tarifa más barata por habitación con un rateKey opaco, el total y los precios por noche, el régimen de comidas, si es reembolsable y el plazo de cancelación.
Habitaciones y tarifas
GET /v1/hotels/{hotelCode}/rooms?rateKey=… enumera todos los tipos de habitación y tarifas de un alojamiento para la estancia buscada: tipos de cama, ocupación, régimen, políticas, impuestos y cargos desglosados, y si la tarifa es reembolsable.
Comprobación de tarifa
POST /v1/hotels/rates/{rateKey}/check confirma que la tarifa sigue siendo reservable y devuelve el precio y la política finales. Hágalo justo antes de reservar: un 409 price_changed o rate_expired aquí sale mucho más barato que una reserva fallida.
Reservar
POST /v1/hotels/bookings con el rateKey, el titular, los huéspedes por habitación y un contacto, más una Idempotency-Key. La respuesta es la reserva con su referencia, la confirmación del proveedor y los datos del bono. GET /v1/hotels/bookings/{bookingId} la devuelve de nuevo en cualquier momento.
Cancelar
GET /v1/hotels/bookings/{bookingId}/cancellation-quote devuelve la penalización según la política en ese momento; POST /v1/hotels/bookings/{bookingId}/cancel (Idempotency-Key obligatoria) la confirma.