This message allows us to block the service from the latest availability retrieved.


If more than one room is to be blocked, a separate bookRoom request must be made for each one, referencing the distribution being blocked using its identifier (id). Starting from the second request, the bookingToken must be included in order to keep adding rooms to the virtual cart.

 



Endpointhttps://hotel.new.hotetec.com/webservice/integrations/pull/bookRoom


 

bookRoom Request message 

 

The message is composed of the following elements:


 

Element

Mandatory

Values / Type

Description

sessionId

Y

Alphanumeric 

Session ID generated

languageCode

Y

DE, EN, ES, FR, IT, NL, PT

Language in which we want to receive the response. 

 

ISO 639-1 codes are used. Currently, only the values indicated are accepted.

currency

Y

EUR, USD, GBP, EGP, MXN, CHF, CUP

Currency in which we want to receive the prices of the request. 

 

ISO 639-1 codes are used. Currently, only the values indicated are accepted .

vendorCode

Y

Alphanumeric 

Provider code

hotelCode

Y

Alphanumeric 

Hotel code

checkInDate

Y

Date + Time 

Check in Date. Example: "2023-01-15T00:00:00.000Z”

numberOfNights

Y

Numeric

Number of nights for the stay. Example:  "4”

 

distribution

id

Y

Numeric

Indicates the identifier of the distribution that is going to be booked. A sequential identifier will be added for each of the rooms beeing blocked, each in different messages.

person




age

Y

Numeric

Age of each occupant in the booking is defined. Adults can be assigned a default age of 30 years, while for children it is mandatory to specify the actual age at the date of stay in order to price correctly. 

 

mealPlanCode

Y

Alphanumeric 

Code for mealplan.

roomCode

Y

Alphanumeric 

Code for room. 

rateCode

Y

Alphanumeric 

Code for rateplan.

occupancyCode

Y

Alphanumeric 

Occupancy of the room to be blocked. Must be indicated in the format returned in the availability and must match the number of persons indicated in the 'person' node.

Exampel: "O@2-0-0"

 


Example of request:



{
    "sessionId": "TES#20727#430681363645003",
    "languageCode": "ES",
    "currency": "EUR",
    "hotelCode": "52767",
    "vendorCode": "CONNECT",
    "checkInDate": "2025-06-15T00:00:00.000Z",
    "numberOfNights": "4",
    "distribution": {
        "id": 1,
        "person": [
            {
               "age": 30
            },
            {
                "age": 30
            }
        ]
    },
    "rateCode": "30447",
    "roomCode": "DBL#STD",
    "mealPlanCode": "BB",
    "occupancyCode": "O@2-0-0"
}





 

bookRoom Response message

 

The message is composed of the following elements:

 

Element

Description

bookingToken

Unique lock identifier.

booking

reference

Provisional booking locator

dateCreation

Creation date. Julian date format is used

 

hotel

code

Code for hotel

name

Complete name for the hotel

chain

Chain to which the property belongs.

 

establishmentType

code

Property type code (e.g. 'HOTL')

name

Property type descriptcion (e.g. 'Hotel')

 

category

code

Category code (e.g. 5*)

name

Category description (e.g. 'Five stars')

 

address – country

code

Country code (e.g. 'ES')

name

Country description (e.g. 'Spain')

 

address – location

code

Code for geographic zone. 

name

Description for geographic zone. 

postalCode

Postal code

adressText

Adress details

address - gps

latitude

Latitude

longitude

Longitude

 

contact

Contact details for the hotel

 

reservationStatus

Booking status. 

operationalStatus

process

Reports on the status of the booking process

rate

Reports if the rate is available 

quota

Reports if the inventory is available 

room

idIdentifyer for the room.
room

code

Room code

name

Room name

 

rate

code

Rate code

name

Rate name

 

mealPlan

code

Board code

name

Board name

distribution

idUnique identifyer for room distribution
person
idUnique identifyer for each person
typePax type. Values: Adult, Child, Baby
agePassenger's age. Must match with the indicated in the availability.

checkInCheck in date
checkOutCheck out date
nightsNumber of nights of the stay
supplements
typeInternal type of supplement
codeInternal code of supplement
nameName of supplement
dateFromStarting date of application of the supplement. Julian format is used.
dateToEnding date of application of the supplement. Julian format is used.
amountSupplement amount (in positive) or discount (in negative).

paymentOption
codeCode of the amount to be paid.
amountToPayAmount to be paid
priceDetail: this includes a breakdown of the different supplements, discounts, commissions, commercial policies, etc. 
codeInternal code for breakdown
nameName for breakdown
typeBreakdown type. Values:
Gift, Breakdown, Supplement
group

General group to which breakdown belongs. Values:

Sale Policy, Comission, Supplement

optionalIndicates if it is optional or not
orderIndicates in which order the price breakdown is applied
amountAmount for breakdown 


cancelPenaltyMode

Type of cancellation penalty

 

cancellationOption

fromDate

From which date cancellation fees are applying. Julian format is used.

daysTo

Days left to cancellation fees start applying. Julian format is used.

percentage

Cancellation fee percentage

amount

Cancellation fee amount

 

status

Booking status 

baseAmount

Base amount of the booking

discountAmount

Discount amount applied in the booking

priceType

Price type. Values: PVP, Net

commissionAmount

Commission amount of the booking

commissionPercentage

Percentage of booking commission

amount

Total amount of the booking

 

guest

id

Unique identifier for booking passenger

languageCode

Language code

commissionAmount

Commission amount of the booking

totalAmount

Total amount of the booking

currencyCode

Currency code of the booking


paymentOption

paymentorder

Payment modality of the booking

paymentType

Payment type of the booking

description

Description of payment type

paymentDate

Payment Date. Julian format is used.

amountToPay

Amount to be paid.

 

Example of response:




{
    "bookingToken": 
"1LZThJnzl8fKzGJ9wUr6uqvbWtGeZRcskbUcYEngGJPl9r0MUZl926WdExWVt4VvrPUxtSBGeq4plLQKxd0s4yfT",
    "booking": {
        "reference": "TES250610NQZUUK",
        "dateCreation": 1749551722154,
        "hotel": {
            "code": "52767",
            "name": "Hotetec PUSH",
            "establishmentType": {
                "code": "HOTL",
                "name": "Hotel"
            },
            "category": {
                "code": "4*",
                "name": "Cuatro estrellas"
            },
            "address": {
                "country": {
                    "code": "ES",
                    "name": "ESPAÑA"
                },
                "county": "Palma de Mallorca",
                "location": {
                    "code": "ES-46393",
                    "name": "Palma de Mallorca"
                },
                "parentLocation": {
                    "code": "ESBAL03",
                    "name": "MALLORCA"
                },
                "postalCode": "07121",
                "addressText": "CL Parc Bit, S/N",
                "gps": {
                    "latitude": 39.6366,
                    "longitude": 2.6322
                }
            },
            "contact": [
                {
                    "phone": "971439530",
                    "email": "connectivity@hotetec.com",
                    "web": "www.Hotetec.com"
                }
            ]
        },
        "reservationStatus": "Confirmed",
        "operationalStatus": {
            "process": "Creation",
            "rate": "Available",
            "quota": "Available"
        },
        "room": [
            {
                "id": 1,
                "room": {
                    "code": "DBL#STD",
                    "name": "Doble Estándar"
                },
                "rate": {
                    "code": "30447",
                    "name": "Tarifa base EURO"
                },
                "mealPlan": {
                    "code": "BB",
                    "name": "Alojamiento y desayuno"
                },
                "distribution": {
                    "id": 1,
                    "person": [
                        {
                            "id": 1,
                            "type": "Adult",
                            "age": 30
                        },
                        {
                            "id": 2,
                            "type": "Adult",
                            "age": 30
                        }
                    ]
                },
                "checkIn": 1749945600000,
                "checkOut": 1750291200000,
                "nights": 4,
                "paymentOption": [
                    {
                        "code": "Hotel#CONNECT#10519",
                        "amountToPay": 264.0 
                   }
                ],
                "priceDetail": [
                    {
                        "code": "[EtT]Commission(PpT)CONNECT@30447@TES@ClientCode@PVP",
                        "name": "Tarifa base EURO - TES - ClientCode - TES",
                        "type": "Breakdown",
                        "group": "Commission",
                        "optional": false,
                        "order": 0,
                        "amount": 26.4
                    }
                ],
                "cancelPenaltyMode": "PeriodFreeCancellation",
                "cancellationOption": [
                    {
                        "fromDate": 1749765600000,
                        "daysTo": 3,
                        "percentage": 25.0,
                        "amount": 66.0
                    }
                ],
                "status": "Confirmed",
                "baseAmount": 264.0,
                "priceType": "PVP",
                "commissionAmount": 26.4,
                "commissionPercentage": 10.0,
                "amount": 264.0
            }
        ],
        "cancellationOption": [
            {
                "fromDate": 1749765600000,
                "daysTo": 3,
                "percentage": 25.0,
                "amount": 66.0
            }
        ],
        "guest": [
            {
                "id": 1
            },
            {
                "id": 2
            }
        ],
        "languageCode": "ES",
        "commissionAmount": 26.4,
        "totalAmount": 264.0,
        "currencyCode": "EUR"
    },
    "paymentOption": [
        {
            "paymentOrder": "ExternManagement",
            "paymentType": "Credit",
            "description": "PULL",
            "paymentDate": 1749506400000,
            "amountToPay": 264.0
        }
    ]
}