Documentation

Bundle API



Bundle BookingAPI is the unified booking API in the HBX Group API ecosystem for multi-product reservations. It covers the complete booking process for combined hotel, activity, and transfer services; it is designed to pre-confirm, confirm, retrieve, modify, cancel, and voucher bookings that can contain one or multiple products in a single reservation.

Bundle BookingAPI works in combination with each product's own BookingAPI to obtain the rateKey of the services to be booked (Hotel BookingAPI, Activities BookingAPI, Transfers BookingAPI). It also works alongside the Hotels, Activities, and Transfers ContentAPI to obtain content information such as hotel descriptions, images, activity modalities, pickup points, and other reference data. Please refer to each product's BookingAPI and ContentAPI documentation for related information.


Obtaining Rate Keys


The Bundle API operates on rateKey values that identify the bookable options for each service. These keys must be obtained in advance from the product-specific Booking APIs: Hotels, Activities, and Transfers each expose their own availability (and, where applicable, re-check) endpoints that return the rateKey to be used in the Multiproduct Pre-Confirmation request.


Hotels

Hotel rate keys are returned by the Hotel Booking API. Two endpoints are relevant:

  • Availability — searches hotels and returns the available room rates together with their rateKey.
    https://developer.hotelbeds.com/documentation/hotels/booking-api/api-reference/#tag/Availability
  • CheckRate — re-validates a previously obtained rateKey immediately before booking and returns the final, bookable key, along with any updated price or cancellation policy. Required for any rate whose rateType is RECHECK.
    https://developer.hotelbeds.com/documentation/hotels/booking-api/api-reference/#tag/CheckRate


Activities

Activity rate keys are returned by the Activities Booking API:

  • Availability — lists activities and their modalities for the requested destination, date range, and passenger composition. Each modality exposes a rateKey.
    https://developer.hotelbeds.com/documentation/activities/booking-api/availability/availability/
  • Detail Simple / Detail Full — returns the latest rateKey for a specific activity modality, together with mandatory questions, pickup information, and any additional details required to complete the booking.
    https://developer.hotelbeds.com/documentation/activities/booking-api/details-checkrate/detail-simple-and-full-request/


Transfers

Transfer rate keys are returned by the Transfers Booking API:

  • Availability (Simple) — searches transfers between a pickup and a drop-off point for the requested date and passenger composition, returning the rateKey of each available option.
    https://developer.hotelbeds.com/documentation/transfers/booking-api/search-availability/availability-simple/


End-to-end flow

  1. Retrieve the rateKey of each service you want to book from the corresponding product API above.
  2. Submit the collected rateKey values to the Multiproduct Pre-Confirmation endpoint (POST /booking).
  3. Complete the booking lifecycle using the shared Bundle endpoints: Confirmation, Booking Detail, Booking List, Voucher, Partial Cancel, and Cancel.

Bundle BookingAPI methods


Bundle BookingAPI has been designed for a two-step confirmation (Pre-Confirmation plus Confirmation), with additional methods to manage the resulting booking: Booking Detail, Booking List, Booking Modification, Voucher, Partial Cancel, and Cancel.


/booking


This method is used to pre-confirm a reservation and process the payment. It accepts the rateKey of each service to be included (hotels, activities, transfers) in a single request and returns a forwardTo URL to perform 3-D Secure authentication when required.


Pre-Confirmation creates the booking in PENDING_PAYMENT state and holds inventory until the authentication flow completes. A single payment covers all services included in the booking

/bookings/{bookingId}/three-ds-authenticate


This method finalises the booking after the 3-D Secure authentication has been completed. It transitions the booking from PENDING_PAYMENT to CONFIRMED and returns the confirmed booking payload, including the confirmed services, cancellation policies, totals, invoice company, and supplier details for each product.


/bookings/{bookingId}


This method can be used for three different purposes depending on the HTTP verb:

  • GET returns the current state of a booking, with full details of every service included (rooms, paxes, rates, cancellation policies, pickup information, and more).
  • PUT updates the data of an existing booking. The modified booking payload must be sent with mode set to UPDATE.
  • DELETE cancels the entire booking. All services included are cancelled in one operation.


/bookings


This method returns a paginated list of bookings based on search criteria. Results can be filtered by date range (either check-in or booking creation date), status, client reference, creation user, country, and other parameters. The response includes the main data of each booking: reference, holder, services included, rates, and status.


/bookings/{bookingId}/voucher


This method retrieves the vouchers associated with a booking. Each service in the booking (hotel, activity, transfer) exposes its own voucher URL in the response. The request allows customising the language, logo, and contact phones shown on the voucher.


/bookings/{bookingId}/services/{serviceBookingId}-1


This method is used to partially cancel a multi-service booking. Only the service identified by serviceBookingId is cancelled; the rest of the booking remains active with its original cancellation and modification policies. The response reflects the updated state of the booking, with the cancelled service in status: CANCELLED while the others remain CONFIRMED.