Booking Confirmation

The bookingRQ method confirms the rate keys selected.

It is also possible to confirm more than one rate key for the same hotel and dates.

BookingAPI does not support on-request confirmations. All confirmations are instant confirmations.

Holder and pax names

The booking holder’s name and surname are mandatory. Regarding the passenger names we recommend at least one adult name (and surname) per room. Please remember that some destinations (for example Las Vegas or some cities in Russia) require all the names to avoid check in problems.

 

ENDPOINT (when sending credit card details):            POST https://api-secure.test.hotelbeds.com/hotel-api/1.0/bookings

ENDPOINT (when NOT sending credit card details):  POST https://api.test.hotelbeds.com/hotel-api/1.2/bookings 

Request parameters

Node/Attribute

Value

Description

bookingRQ

Element

Top level

bookingRQ/@language

String

Response language

bookingRQ/holder

Element

Booking holder information element

bookingRQ/holder/@name

String

Booking holder name for all the rooms of the booking

bookingRQ/holder/@surname

String

Booking holder surname for all rooms of the booking

bookingRQ/rooms

Array of room elements

List of the rooms to be confirmed

bookingRQ/rooms/room

Element

Room to be confirmed

bookingRQ/rooms/room/@rateKey

String

Rate key to be confirmed taken from the previous step

bookingRQ/rooms/room/paxes

Array of pax elements

List of paxes for the room

bookingRQ/rooms/room/paxes/pax

Element

Element that describes pax information

bookingRQ/rooms/room/paxes/pax/@roomId

Int

Room where the pax is located

bookingRQ/rooms/room/paxes/pax/@type

String

Pax type 

Two values are permitted for the attribute:

  • AD for adults
  • CH for child

bookingRQ/rooms/room/paxes/pax/@name

String

Pax name

bookingRQ/rooms/room/paxes/pax/@surname

String

Pax surname

bookingRQ/clientReference

String

Your internal booking reference

bookingRQ/remark String Comments

bookingRQ/paymentData

Element

Payment information. This node must be used if paymentType = 'AT_HOTEL'
ONLY THE PAY AT HOTEL MODEL (LIBERATE) USES PAYMENT DATA NODES. FOR OTHER PRICING MODELS, THESE NODE MUST NOT BE USED.

bookingRQ/paymentData/paymentCard/cardType

String

Credit card type

  • VISA - VI 
  • AMEX - AE
  • MAESTRO - MA
bookingRQ/paymentData/cardHolderName String Credit card holder

bookingRQ/paymentData/paymentCard/cardNumber

Int

Credit card number

bookingRQ/paymentData/paymentCard/expirtyDate

Int

Credit card expiration date

bookingRQ/paymentData/paymentCard/cardCVC

Int

Credit card CVC security code

bookingRQ/paymentData/contactData/email

String

Customer e-mail

bookingRQ/paymentData/contactData/phoneNumber

String

Customer phone number

Request XML Example

 

<bookingRQ xmlns="http://www.hotelbeds.com/schemas/messages" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<holder name="Holder Name" surname="Holder Surname"/>
	<rooms>
		<room rateKey="126177|SGL-E10|CG-MERCHANT|1|ST|BB-E10||1~1~0|20150427#1033102103">
			<paxes>
				<pax roomId=1 type="AD" name="Adult Name" surname="Adult Surname"/>
			</paxes>
		</room>
	</rooms>
	<paymentData>
		<paymentCard>
			<cardHolderName>Holder name</cardHolderName>
			<cardType>VI</cardType>
			<cardNumber>4444333322221111</cardNumber>
			<expiryDate>0615</expiryDate>
			<cardCVC>123</cardCVC>
		</paymentCard>
		<contactData>
			<email>integration@test.com</email>
			<phoneNumber>654654654</phoneNumber>
		</contactData>
	</paymentData>
	<clientReference>My booking reference</clientReference>
</bookingRQ>

 

 

Request JSON Example

 

{
	"holder": {
		"name": "IntegrationTestFirstName",
		"surname": "IntegrationTestLastName"
	},
	"rooms": [{
		"rateKey": "20160628|20160702|W|102|569|TPL.ST|CG-OPAQUE|RO||1~1~2|11~11|N@1816912017",
		"paxes": [{
			"roomId": "1",
			"type": "AD",
			"name": "First Adult Name",
			"surname": "Surname"
		},
		{
			"roomId": "1",
			"type": "CH",
			"name": "First Child Name",
			"surname": "Surname"
		},
		{
			"roomId": "1",
			"type": "CH",
			"name": "First Child Name",
			"surname": "Surname"
		}]
	}],
	"clientReference": "IntegrationAgen"
}

 

 

Booking Response

When the confirmation of a rate key via the bookingRQ method is successful; the booking reference is provided, along with key information of the booking, which includes:

  • Hotel confirmed
  • Holder and pax confirmed
  • Rate confirmed with the confirmed amounts and dates

The response also contains the price breakdown, cancellation policies, supplements, and discounts.

Response parameters

Node/Attribute

Type

Description

bookingRS

Element

Top Element

bookingRS/auditData

Element

Relevant internal information

bookingRS/auditData/@processTime

Float

Server process time in milliseconds

bookingRS/auditData/@timestamp

Date

Date/time when the request has been processed

bookingRS/auditData/@requestHost String IP address of the system host

bookingRS/auditData/@serverId

String

Server code or ID (for internal use)

bookingRS/auditData/@environment

String

Environment where the request has been sent and processed

bookingRS/auditData/@release String Release version identifier
bookingRS/auditData/@token String Token identifier of the operation
bookingRS/auditData/@internal String Internal identifier of the parameters of the operation

bookingRS/booking/@reference

String

Booking reference

Format: XXX-XXXXXX

bookingRS/booking/@clientReference

String

Client internal booking reference

bookingRS/booking/@creationDate

Date

Booking creation date

Format: YYYY-MM-DD

bookingRS/booking/@totalNet

Float

Total amount of the booking

bookingRS/booking/@totalSellingRate Float Recommended selling price

bookingRS/booking/@currency

String

Currency of the amount to be paid

bookingRS/booking/@checkIn

Date

Check-in date

Format: YYYY-MM-DD

bookingRS/booking/@remark

String

Customer remark

bookingRS/booking/@checkOut

Date

Check-out date

Format: YYYY-MM-DD

bookingRS/hotel

Element

Element that contains information about the hotel and associated rates

bookingRS/hotel/@name

String

Hotel name

bookingRS/hotel/@code

Int

Internal hotel code

bookingRS/hotel/@category

String

Hotel category

bookingRS/hotel/@categoryName

String

Category name

bookingRS/hotel/@destination

String

Destination code for hotel location

bookingRS/hotel/@destinationName

String

Destination name for hotel location

bookingRS/hotel/@zoneCode

Int

Zone code for hotel location

bookingRS/hotel/@zoneName

String

Zone name for hotel location

bookingRS/hotel/@longitude

Float

Longitude data for geolocation

bookingRS/hotel/@latitude

Float

Latitude data for geolocation

bookingRS/hotel/@currency

String

Client currency 

bookingRS/hotels/hotel/rooms

Array of room elements

List of rooms available for a particular hotel

bookingRS/hotels/hotel/rooms/room/

Element

Element that contains information about the room and associated rates

bookingRS/hotel/rooms/room/@status

String

Booking status:

  • CONFIRMED
  • CANCELLED

bookingRS/hotel/rooms/room/@code

Int

Internal room code

bookingRS/hotel/rooms/room/@name

String

Room name

bookingRS/rooms/room/paxes

Array of pax elements

List of paxes for the room

bookingRS/rooms/room/paxes/pax

Element

Element that describes pax information

bookingRS/rooms/room/paxes/pax/@type

String

Pax type 

Two values are permitted for the attribute:

  • AD for adults
  • CH for child

bookingRS/rooms/room/paxes/pax/@name

String

Pax name

bookingRS/rooms/room/paxes/pax/@surname

String

Pax surname

bookingRS/rooms/room/paxes/pax/@roomId

Int

Room where the pax is located

bookingRS/hotels/hotel/rooms/room/rates

Array of price elements

List of prices for a particular hotel

bookingRS/hotels/hotel/rooms/room/rates/rate

Element

Price information for a room type and board

bookingRS/hotel/rooms/room/rates/rate/@rateClass

String

Internal rate class type (NOR NRF, SPE, OFE, PAQ ...)

bookingRS/hotel/rooms/room/rates/rate/@net Float Room net price
bookingRS/hotel/rooms/room/rates/rate/@rateComments String Rate comments that contain important information (max lenght = 4000 characters)

bookingRS/hotel/rooms/room/rates/rate/@rateType

String

Whether the booking can be confirmed in two steps (BOOKABLE) or three steps (RECHECK)

bookingRS/hotel/rooms/room/rates/rate/@paymentType

String

Identifies if it is pay at hotel or merchant 

bookingRS/hotel/rooms/room/rates/rate/@packaging

String

Identifies if the rate is for packaging

bookingRS/hotel/rooms/room/rates/rate/@boardCode

String

Internal board code

bookingRS/hotel/rooms/room/rates/rate/@boardName String Board name

bookingRS/hotel/rooms/room/rates/rate/@sellingPrice

Float

Room gross price if it is included

bookingRS/hotel/rooms/room/rates/rate/@agComission

Float

Agency commission

bookingRS/hotel/rooms/room/rates/rate/@comissionVat

Float

VAT on commission

bookingRS/hotel/rooms/room/rates/rate/@comissionPCT

Float

Commission percentage

bookingRS/hotel/rooms/room/rates/rate/@hotelSellingRate

Float

Room gross price in hotelCurrency (for the pay-at-hotel model)

bookingRS/hotel/rooms/room/rates/rate/@hotelCurrency

String

Hotel currency (for the pay-at-hotel model)

bookingRS/hotel/rooms/room/rates/rate/@hotelMandatory

Boolean

Identifies if the selling rate is recommended

bookingRS/hotel/rooms/room/rates/rate/@rooms

Int

Number of rooms requested of the same occupancy

bookingRS/hotel/rooms/room/rates/rate/@adults

Int

Number of adults requested per room

bookingRS/hotel/rooms/room/rates/rate/@children

Int

Number of children requested per room

bookingRS/hotel/rooms/room/rates/rate/cancellationPolicies

Array of policies elements

List of cancellation policies

bookingRS/hotel/rooms/room/rates/rate/cancellationPolicies/policy

Element

 

bookingRS/hotel/rooms/room/rates/rate/cancellationPolicies/policy/@amount

Float

Amount that will be charged after date from

bookingRS/hotel/rooms/room/rates/rate/cancellationPolicies/policy/@from

Date

Date from where the amount will be charged

bookingRS/hotel/rooms/room/rates/rate/cancellationPolicies/policy/@hotelAmount

Float

Amount that will be charged after date from in hotel currency (for the pay at hotel model)

bookingRS/hotel/rooms/room/rates/rate/cancellationPolicies/policy/@hotelCurrency

String

Currency in which amount must be paid upon arrival

bookingRS/hotels/hotel/rooms/room/rates/rate/offers

Array of offer elements

List of offers

bookingRS/hotels/hotel/rooms/room/rates/rate/offers/offer

Element

Element that contains offer information

bookingRS/hotels/hotel/rooms/room/rates/rate/offers/offer/@code

Int

Offer code

bookingRS/hotels/hotel/rooms/room/rates/rate/offers/offer/@amount

Float

Offer amount

bookingRS/hotels/hotel/rooms/room/rates/rate/offers/offer/@name

String

Offer name

bookingRS/hotels/hotel/rooms/room/rates/rate/promotions

Array of promotion elements

List of promotions for a particular rate

bookingRS/hotels/hotel/rooms/room/rates/rate/promotions/promotion

Element

Element that contains promotion information

bookingRS/hotels/hotel/rooms/room/rates/rate/promotions/promotion/@code

Int

Promotion code

bookingRS/hotels/hotel/rooms/room/rates/rate/promotions/promotion/@name

String

Promotion name

bookingRS/hotels/hotel/rooms/room/rates/rate/promotions/promotion/@remark

String

Promotion remark

bookingRS/hotel/rooms/room/rates/rate/taxes

Array of tax elements

List of prices with taxes included or excluded

bookingRS/hotel/rooms/room/prices/taxes/@allIncluded

Boolean

Indicates if all taxes are included or not

bookingRS/hotel/rooms/room/prices/taxes/tax

Element

Element that contains the information about the tax

bookingRS/hotel/rooms/room/prices/taxes/tax/@included

Boolean

Indicates if the tax is included in the price or not

bookingRS/hotel/rooms/room/prices/taxes/tax/@import

Float

Value of the tax

bookingRS/hotel/rooms/room/prices/taxes/tax/@hotelAmount

Float

Value of the tax in hotel currency if the tax is not included in the price

bookingRS/hotel/rooms/room/prices/taxes/tax/@hotelCurrency

String

Hotel currency

bookingRS/hotel/rooms/room/prices/taxes/tax/@percentage

Float

Percentage to be paid at the hotel

bookingRS/hotel/rooms/rates/rateBreakDown

Element

Rate break down element

bookingRS/hotel/rooms/rates/rateBreakDown/@agComission

Float

Agency commission

bookingRS/hotel/rooms/rates/rateBreakDown/@comissionPct

Float

Commission percentage

bookingRS/hotel/rooms/rates/rateBreakDown/@comissionVat

Float

Commission taxes

bookingRS/hotel/rooms/rates/rateBreakDown/rateSupplements

Element

Rate supplements element

bookingRS/hotel/rooms/rates/rateBreakDown/rateSupplements/rateSupplement/@amount

Float

Supplement amount

bookingRS/hotel/rooms/rates/rateBreakDown/rateSupplements/rateSupplement/@code

Int

Supplement code

bookingRS/hotel/rooms/rates/rateBreakDown/rateSupplements/rateSupplement/@from

Date

Date from when the supplement begins to apply

bookingRS/hotel/rooms/rates/rateBreakDown/rateSupplements/rateSupplement/@nights

Int

Number of nights for which the supplement applies

bookingRS/hotel/rooms/rates/rateBreakDown/rateSupplements/rateSupplement/@paxNumber

Int

Number of paxes to whom the supplement applies

bookingRS/hotel/rooms/rates/rateBreakDown/rateSupplements/rateSupplement/@paxType

String

Type of pax to whom the supplement applies

bookingRS/hotel/rooms/rates/rateBreakDown/rateSupplements/rateSupplement/@to

Date

Date in which the supplement ceases to apply

bookingRS/hotel/rooms/rates/rateBreakDown/rateDiscounts

Element

Discount element

bookingRS/hotel/rooms/rates/rateBreakDown/rateDiscounts/rateDiscount/@amount

Float

Amount of the discount

bookingRS/hotel/rooms/rates/rateBreakDown/rateDiscounts/rateDiscount/@code

Int

Discount internal code

bookingRS/hotel/rooms/rates/rateBreakDown/rateDiscounts/rateDiscount/@name

String

Discount name

bookingRS/hotel/supplier

Element

Element that contains supplier information

bookingRS/hotel/supplier/@name

String

Supplier name

bookingRS/hotel/supplier/@vatNumber

Strung

Supplier VAT number

 

Response XML Example

 

<bookingRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.hotelbeds.com/schemas/messages" schemaLocation="http://www.hotelbeds.com/schemas/messages">
  <auditData processTime="4713" timestamp="2015-09-09 11:01:44.741" requestHost = "212.170.239.110" serverId="ws3xmi01" environment="[itest, iSET_A, ehcache]" release="4757" token = "47411d2f-970a-4196-b790-337b37288670" internal="|01||73|423|0|3|12|N||||||||||1"/>
  <booking reference="1-2903311" clientReference="MY BOOKING REFERENCE" creationDate="2015-09-09" status="CONFIRMED" currency="EUR" pendingAmount="144.120" totalNet="144.120" creationUser="XML" checkIn="2015-09-19" checkOut="2015-09-21">
   <holder name="HOLDER NAME" surname="HOLDER SURNAME"/>
   <hotel code="8577" name="Playa Moreia" categoryCode="2LL" categoryName="2 KEYS" destinationCode="PMI" destinationName="Majorca" zoneCode="73" zoneName="S'Illot" latitude="39.56625315" longitude="3.371796906" currency="EUR">
    <rooms>
     <room status="CONFIRMED" code="APT.1B" name="APARTMENT">
      <paxes>
       <pax roomId="1" type="AD" name="ADULT NAME" surname="ADULT SURNAME"/>
       <pax roomId="1" type="AD" name="ADULT NAME" surname="ADULT SURNAAME"/>
      </paxes>
      <rates>
       <rate rateName="CG-TODOS" paymentType="AT_WEB" packaging="false" boardCode="HB" boardName="HALF BOARD" rooms="1" rateClass="NOR" net="144.120">
        <cancellationPolicies>
         <cancellationPolicy amount="72.060" from="2015-09-16T23:59:00+02:00"/>
        </cancellationPolicies>
        <taxes allIncluded="true"/>
        <rateBreakDown agCommission="0.00" commissionVAT="0.00" commissionPCT="0.00">
         <rateDiscounts>
          <rateDiscount code="SD" name="SPECIAL DISCOUNT" amount="-13.040"/>
          <rateDiscount code="SD" name="SPECIAL DISCOUNT" amount="-23.000"/>
         </rateDiscounts>
         <rateSupplements>
          <rateSupplement code="SR" name="BOARD SUPPLEMENT" from="2015-09-19" to="2015-09-21" amount="65.120" nights="2" paxType="AD" paxNumber="2"/>
         </rateSupplements>
        </rateBreakDown>
       </rate>
      </rates>
     </room>
    </rooms>
    <supplier name="HOTELBEDS PRODUCT,S.L.U." vatNumber="B38877676"/>
   </hotel>
  </booking>
</bookingRS>

 

Response JSON Example

 

{
	"auditData": {
		"processTime": "3542",
		"timestamp": "2016-08-09 18:15:52.939",
		"requestHost": "212.170.239.110",
		"serverId": "sa3RKSJACHXE79K.env",
		"environment": "[int, ignite]",
		"release": "8f8516c469363d54ffa94ee260b468578804460f",
		"token": "47411d2f-970a-4196-b790-337b37288670",
		"internal": "0|388498866C6B431AA8DC8EB3F40E63BC|ZA|05|1|90|||||||||||R|25|5|1~1~1~0||0||0|gaxuxedesad7nwkyyf4f7yxc||"
	 },
	"booking": {
		"reference": "235-3494554",
		"clientReference": "TEST TEST",
		"creationDate": "2016-08-09",
		"status": "CONFIRMED",
		"modificationPolicies": {
			"cancellation": true,
			"modification": true
		},
		"holder": {
			"name": "HOLDER NAME",
			"surname": "HOLDER SURNAME"
		},
		"hotel": {
			"checkIn": "2016-12-19",
			"checkOut": "2016-12-20",
			"code": 97793,
			"name": "Doubletree by Hilton Orlando Downtown",
			"categoryCode": "4EST",
			"categoryName": "4 STARS",
			"destinationCode": "MCO",
			"destinationName": "Orlando Area - Florida - FL",
			"zoneCode": 6,
			"zoneName": "Downtown",
			"latitude": "28.558849",
			"longitude": "-81.378806",
			"rooms": [{
				"status": "CONFIRMED",
				"id": 1,
				"code": "DBL.ST",
				"name": "DOUBLE",
				"paxes": [{
					"roomId": 1,
					"type": "AD",
					"name": "ADULT NAME",
					"surname": "ADULT SURNAME"
				},
				{
					"roomId": 1,
					"type": "AD",
					"name": "ADULT NAME"
					"surname": "ADULT SURNAAME"
				}],
				"rates": [{
					"rateClass": "SPE",
					"net": "79.09",
					"rateComments": "Extra beds on demand YES (without additional debit notes). Wi-fi YES (without additional debit notes)   . Minimum check-in age 21. . The person whose name is on the reservation must be at least 21 years of age to check in.\nThe hotel offers cribs and parking (self/valet) at an addtional fee paid locally at the hotel check in by guest\n",
					"paymentType": "AT_WEB",
					"packaging": false,
					"boardCode": "RO",
					"boardName": "ROOM ONLY",
					"cancellationPolicies": [{
						"amount": "79.09",
						"from": "2016-12-15T23:59:00-05:00"
					}],
					"rooms": 1
				}]
			}],
			"totalNet": "79.09",
			"currency": "EUR",
			"supplier": {
				"name": "HOTELBEDS USA",
				"vatNumber": "592952685"
			}
		},
		"totalSellingRate": 79.09,
		"totalNet": 79.09,
		"pendingAmount": 79.09,
		"currency": "EUR"
	}
}

Docs Navigation