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

(NOTE: The character limit in this field is 2000 characters)

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 requests have 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

Element

Element that contains the information of the booking

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/@status

String

Booking status:

  • CONFIRMED
  • CANCELLED
bookingRS/booking/@creationUser String apiKey used to make the booking

bookingRS/booking/@totalNet

Float

Total amount of the booking

bookingRS/booking/@pendingAmount Float Remaining amount to be paid

bookingRS/booking/@currency

String

Currency of the amount to be paid

bookingRS/booking/modificationPolicies Element Information regarding the allowed modifications to the booking
bookingRS/booking/modificationPolicies/@cancellation Boolean Indicates if the booking can be cancelled
bookingRS/booking/modificationPolicies/@modification Boolean Indicates if the booking can be modified
bookingRS/booking/holder Element Information of the booking holder
bookingRS/booking/holder/@name String Booking holder name
bookingRS/booking/holder/@surname String Booking holder surname

bookingRS/booking/hotel

Element

Element that contains information about the hotel and associated rates

bookingRS/booking/hotel/@checkOut Date

Check-out date

Format: YYYY-MM-DD

bookingRS/booking/hotel/@checkIn Date

Check-in date Format:

YYYY-MM-DD

bookingRS/booking/hotel/@code Int

Hotebeds internal hotel code

bookingRS/booking/hotel/@name

String

Hotel name

bookingRS/booking/hotel/@categoryCode

String

Hotel category code

bookingRS/booking/hotel/@categoryName

String

Category name

bookingRS/booking/hotel/@destinationCode

String

Destination code for hotel location

bookingRS/booking/hotel/@destinationName

String

Destination name for hotel location

bookingRS/booking/hotel/@zoneCode

Int

Zone code for hotel location

bookingRS/booking/hotel/@zoneName

String

Zone name for hotel location

bookingRS/booking/hotel/@latitude

Float

Latitude data for geolocation

bookingRS/booking/hotel/@longitude

Float

Longitude data for geolocation

bookingRS/booking/hotel/@totalNet Float Total amount of the booking

bookingRS/booking/hotel/@currency

String

Client currency

bookingRS/booking/hotel/rooms

Array of room elements

List of rooms booked for the hotel of the reservation

bookingRS/booking/hotel/rooms/room

Element

Element that contains information about the room and associated rates

bookingRS/booking/hotel/rooms/room/@status

String

Room booking status:

  • CONFIRMED
  • CANCELLED
bookingRS/booking/hotel/rooms/room/@id Int Room reservation identifier

bookingRS/booking/hotel/rooms/room/@code

Int

Internal room code

bookingRS/booking/hotel/rooms/room/@name

String

Room name/description

bookingRS/booking/hotel/rooms/room/paxes Array of pax elements List of paxes for the room
bookingRS/booking/hotel/rooms/room/paxes/pax Element Element that describes pax information
bookingRS/booking/hotel/rooms/room/paxes/pax/@roomId Int Room where the pax is located
bookingRS/booking/hotel/rooms/room/paxes/pax/@type String

Pax type

Two values are permitted for the attribute:

  • AD for adults
  • CH for child
bookingRS/booking/hotel/rooms/room/paxes/pax/@name String Pax name
bookingRS/booking/hotel/rooms/room/paxes/pax/@surname String Pax surname

bookingRS/booking/hotel/rooms/room/rates

Array of rate elements

List of rates for a particular hotel

bookingRS/booking/hotel/rooms/room/rates/rate

Element

Price information for a room type and board

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

String

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

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

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

String

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

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

String

Identifies if it is pay at hotel or merchant

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

String

Identifies if the rate is for packaging

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

String

Internal board code

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

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

Float

Room gross price, if it is included

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

Float

Commission

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

Float

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

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

String

Hotel currency (for the pay at hotel model)

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

Boolean

Identifies if the selling rate is recommended

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

Int

Number of rooms requested with the same occupancy

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

Int

Number of adults requested per room

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

Int

Number of children requested per room

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

Array of policies elements

List of cancellation policies

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

Element

Cancellation policies

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

Float

Amount that will be charged after date '@from'

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

Date

Beginning date when the amount will be charged

bookingRS/booking/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/booking/hotel/rooms/room/rates/rate/cancellationPolicies/policy/@hotelCurrency

String

Currency in which the booking must be paid on arrival

bookingRS/booking/hotel/rooms/room/rates/rate/rateBreakDown

Element

Rate breakdown element

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

Float

Agency commission

bookingRS/booking/hotel/rooms/room/rates/rate/rateBreakDown/@comissionPct

Float

Commission percentage

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

Float

Commission taxes

bookingRS/booking/hotel/rooms/room/rates/rate/rateBreakDown/rateDiscounts Array of rateDiscounts elements List of discounts for a particular rate
bookingRS/booking/hotel/rooms/room/rates/rate/rateBreakDown/rateDiscounts/rateDiscount Element Discount element
bookingRS/booking/hotel/rooms/room/rates/rate/rateBreakDown/rateDiscounts/rateDiscount/@code Int Discount internal code
bookingRS/booking/hotel/rooms/room/rates/rate/rateBreakDown/rateDiscounts/rateDiscount/@name String Discount name/description
bookingRS/booking/hotel/rooms/room/rates/rate/rateBreakDown/rateDiscounts/rateDiscount/@amount Float Amount of the discount

bookingRS/booking/hotel/rooms/room/rates/rate/rateBreakDown/rateSupplements

Array of rateSupplements elements

List of supplements for a particular rate

bookingRS/booking/hotel/rooms/room/rates/rate/rateBreakDown/rateSupplements/rateSupplement Element Rate supplements element
bookingRS/booking/hotel/rooms/room/rates/rate/rateBreakDown/rateSupplements/rateSupplement/@code Int Supplement code
bookingRS/booking/hotel/rooms/room/rates/rate/rateBreakDown/rateSupplements/rateSupplement/@name String Supplement name
bookingRS/booking/hotel/rooms/room/rates/rate/rateBreakDown/rateSupplements/rateSupplement/@from Date

Date from when the supplement begins to apply

bookingRS/booking/hotel/rooms/room/rates/rate/rateBreakDown/rateSupplements/rateSupplement/@to Date Date that the supplement no longer applies

bookingRS/booking/hotel/rooms/room/rates/rate/rateBreakDown/rateSupplements/rateSupplement/@amount

Float

Supplement amount

bookingRS/booking/hotel/rooms/room/rates/rate/rateBreakDown/rateSupplements/rateSupplement/@nights

Int

Number of nights the supplement applies

bookingRS/booking/hotel/rooms/room/rates/rate/rateBreakDown/rateSupplements/rateSupplement/@paxNumber

Int

Number of paxes to whom the supplement applies

bookingRS/booking/hotel/rooms/room/rates/rate/rateBreakDown/rateSupplements/rateSupplement/@paxType

String

Type of pax

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

Array of tax elements

List of prices with taxes included or excluded

bookingRS/booking/hotel/rooms/room/rates/rate/taxes/@allIncluded

Boolean

Indicates if all taxes are included or not

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

Element

Element that contains the information about the tax

bookingRS/booking/hotel/rooms/room/rates/rate/taxes/tax/@included

Boolean

Indicates if the tax is included in the price or not

bookingRS/booking/hotel/rooms/room/rates/rate/taxes/tax/@import

Float

Value of the tax

bookingRS/booking/hotel/rooms/room/rates/rate/taxes/tax/@hotelImport

Float

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

bookingRS/booking/hotel/rooms/room/rates/rate/taxes/tax/@hotelCurrency

String

Hotel currency

bookingRS/booking/hotel/rooms/room/rates/rate/taxes/tax/@percentage

Float

Percentage to be paid at the hotel

bookingRS/booking/hotel/supplier

Element

Element that contains supplier information

bookingRS/booking/hotel/supplier/@name

String

Supplier name

bookingRS/booking/hotel/supplier/@vatNumber

String

Supplier VAT number

bookingRS/booking/remark String Booking comments

 

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