Hotel Price Check
The price check is an optional step to retrieve an up-to-date total price prior to booking.
The parameters are similar to the Book request; the total price retrieved will include all ugprades specified.
Method
GET
Endpoint
The endpoint to use is:
https://api.holidayextras.co.uk/v1/hotel/HotelProductCode/priceCheck
For example, for Mercure at London Heathrow the endpoint is:
https://api.holidayextras.co.uk/v1/hotel/LHRMEA/priceCheck
Request Parameters
NB: All parameter names are case sensitive.
Name | Data Type | Format | Mandatory? | Additional Information |
---|---|---|---|---|
ABTANumber | String | [A-Z0-9] 5 chars | Y | This is also known as an ‘agent code’. This will be confirmed to you by your Account Manager during set up. |
Password | String | [A-Z0-9] 5 chars | N* | Password required for retail agent requests - intermediaries do not require a password. This will be confirmed to you by your Account Manager during set up. |
Initials | String | [A-Z] 3 chars | N | The initials of the Operator / Agent. |
key | String | [A-Z] | Y | This will be assigned to you by your Account Manager during set up. |
token | String | [0-9] 9 chars | Y | This is the same token used in the availability request. |
ArrivalDate | Date | YYYY-MM-DD | Y | Date customer arrives at hotel. |
Nights | Integer | 1, 2, 3, etc | Y | Number of nights the customer wants to stay in the hotel. NB: For European products it is only possible to book one night stays. |
RoomCode | String | [A-Z0-9] 3 chars | Y | See RoomCodes for a list of valid codes. |
Adults | Integer | [1-5] 1 char | Y | The number of adults occupying the room. |
Children | Integer | [0-4] 1 char | Y | The number of children occupying the room. |
ParkingDays | Integer | [0-9] 2 chars | Y | NB: The maximum duration accepted for ParkingDays is 30. |
CustomerRef | String | [A-Z0-9] 20 chars | N | Enter your Customer Reference to help match bookings for accounting purposes. |
Remarks | String | [A-Z0-9] 60 chars | N | Pass in Remarks for notification such as COT REQUESTED in ROOM |
Waiver | Boolean | [0,1] | Y | Defaults to 0 if not supplied. |
DataProtection | String | [Y,N] | N | Does the customer consent to receiving offers from Holiday Extras? Y = Yes, will receive offers, N = No, customer data is protected. Defaults to No if not supplied. |
System | String | [A-Z] 3 chars | Y* | For European products, you need to pass in the value of System=ABG (the default is System=ABC , which is UK products only). |
lang | String | [A-Z] 2 chars | Y* | Required for requests for European products. (Values available are en , de , it , es , pt and nl .) |
Supplements/Code | String | [A-Z0-9] 5 chars | N | Product code of the upgrade to book. See below for more info on booking upgrades |
Supplements/Date | String | YYYY-MM-DD | Y | The date to book the upgrade for. This should be brought forward from the upgrade availability request. |
Supplements/Quantity | Integer | [0-9]1 char | Y* | For per room/booking upgrades, specify the required quantity |
Supplements/Adults | Integer | [0-9]1 char | Y* | For per person upgrades, specify the number of adult passes |
Supplements/Children | Integer | [0-9]1 char | Y* | For per person upgrades, specify the number of child passes |
Supplements/TotalPrice | Float | [0-9] | Y | Mandatory for all upgrades. The total price of the upgrade, accounting for total quantity |
Supplements/LoungeArrival | String | YYYY-MM-DD HH:mm | Y* | Mandatory for Lounge upgrades. Specifies the time the client wishes to enter the lounge |
For further details on the upgrade parameters, see the Booking request.
Multiple rooms on same booking
The additional parameters for including a second room are:
Name | Data Type | Format | Mandatory? | Additional Information |
---|---|---|---|---|
SecondRoomType | String | [A-Z0-9] 2 chars | N* | This parameter is mandatory if the customer wishes to book two rooms at the same time. The room codes are as per Room Codes. |
SecondRoomCode | String | Room Codes | N | NB: Please note that the room codes differ between availability and booking requests. |
SecondRoomAdults | Integer | [1-5] 1 char | N | The number of adults occupying the second room. |
SecondRoomChildren | Integer | [0-4] 1 char | N | The number of children occupying the second room. |
UK Hotels with parking
The additional parameters for hotel with parking (where parking > 0 days) are:
Name | Data Type | Format | Mandatory? |
---|---|---|---|
CarDropoffDate | Date | YYYY-MM-DD | Y |
CarDropoffTime | Time | HHMM | Y |
CarPickupDate | Date | YYYY-MM-DD | Y |
CarPickupTime | Time | HHMM | Y |
Hotel Price Check Response
Field | Additional Information |
---|---|
TotalPrice | This is the total price for the booking including all upgrades |
API_Header/Request | A list of parameters that were sent in the booking request. |
Worked Examples
Below are worked examples of both the request and response for the price check for hotels.
UK Hotel price check
Request
https://api.holidayextras.co.uk/v1/hotel/LHRMEA/priceCheck?ABTANumber=YourABTANumber&Password=YourPassword&key=YourKey&token=YourToken&ArrivalDate=2025-07-01&Nights=1&RoomCode=DBL&ParkingDays=0&Adults=2&Children=0
Response
<?xml version="1.0"?>
<API_Reply Product="HotelWithParking" RequestCode="5" Result="OK">
<TotalPrice>125.00</TotalPrice>
<API_Header>
<Request>
<ABTANumber>YourABTANumber</ABTANumber>
<Password>YourPassword</Password>
<key>YourKey</key>
<token>YourToken</token>
<ArrivalDate>2025-07-01</ArrivalDate>
<Nights>1</Nights>
<RoomCode>DBL</RoomCode>
<ParkingDays>0</ParkingDays>
<Adults>2</Adults>
<Children>0</Children>
</Request>
</API_Header>
</API_Reply>
UK Hotel price check with Upgrades
Request
https://api.holidayextras.co.uk/v1/hotel/LHRMEA/priceCheck?ABTANumber=YourABTANumber&Password=YourPassword&key=YourKey&token=YourToken&ArrivalDate=2025-07-10&Nights=1&RoomCode=DBL&ParkingDays=0&Adults=2&Children=0&Supplements[0][Code]=LGWSOE&Supplements[0][Date]=2025-07-10&Supplements[0][Quantity]=1&Supplements[0][TotalPrice]=40.00&Supplements[1][Code]=LGWASC&Supplements[1][Date]=2025-07-11&Supplements[1][Adults]=2&Supplements[1][Children]=0&Supplements[1][TotalPrice]=82.00
Response
<?xml version="1.0"?>
<API_Reply Product="HotelWithParking" RequestCode="5" Result="OK">
<TotalPrice>247.00</TotalPrice>
<API_Header>
<Request>
<ABTANumber>YourABTANumber</ABTANumber>
<Password>YourPassword</Password>
<key>YourKey</key>
<token>YourToken</token>
<ArrivalDate>2025-07-10</ArrivalDate>
<Nights>1</Nights>
<RoomCode>DBL</RoomCode>
<ParkingDays>0</ParkingDays>
<Adults>2</Adults>
<Children>0</Children>
<Supplements>
<Code>LGWSOE</Code>
<Date>2025-07-10</Date>
<Quantity>1</Quantity>
<TotalPrice>40.00</TotalPrice>
</Supplements>
<Supplements>
<Code>LGWASC</Code>
<Date>2025-07-11</Date>
<Adults>2</Adults>
<Children>0</Children>
<TotalPrice>82.00</TotalPrice>
</Supplements>
<v>1</v>
</Request>
</API_Header>
</API_Reply>
Error example: no availability
Request
https://api.holidayextras.co.uk/v1/hotel/LGWEUL/priceCheck?ABTANumber=YourABTANumber&Password=YourPassword&key=YourKey&token=YourToken&RoomCode=DBL&Adults=2&Children=0&Nights=1&ArrivalDate=2024-10-15
Response
<?xml version="1.0"?>
<API_Reply Result="ERROR">
<Error>
<Code>0004</Code>
<Message>Product no longer available</Message>
</Error>
<API_Header>
<Request>
<ABTANumber>YourABTANumber</ABTANumber>
<Password>YourPassword</Password>
<key>YourKey</key>
<token>YourToken</token>
<System>ABC</System>
<lang>en</lang>
<RoomCode>DBL</RoomCode>
<Adults>2</Adults>
<Children>0</Children>
<Nights>1</Nights>
<ArrivalDate>2024-10-15</ArrivalDate>
<v>1</v>
</Request>
</API_Header>
</API_Reply>
Error example: validation error
Request
https://api.holidayextras.co.uk/v1/hotel/LGWEUL/priceCheck?ABTANumber=YourABTANumber&Password=YourPassword&key=YourKey&token=YourToken&RoomCode=DBL&Adults=2&Children=2&Nights=1&ArrivalDate=2024-11-15
Response
<?xml version="1.0"?>
<API_Reply Result="ERROR">
<Error>
<Code>price-check</Code>
<Message>room validation error: Invalid number of guests for room DBL</Message>
</Error>
<API_Header>
<Request>
<ABTANumber>YourABTANumber</ABTANumber>
<Password>YourPassword</Password>
<key>YourKey</key>
<token>YourToken</token>
<System>ABC</System>
<lang>en</lang>
<RoomCode>DBL</RoomCode>
<Adults>2</Adults>
<Children>2</Children>
<Nights>1</Nights>
<ArrivalDate>2024-11-15</ArrivalDate>
<v>1</v>
</Request>
</API_Header>
</API_Reply>