Book Lounge
Lounge Booking Request
Method
POST
Endpoint
The endpoint to use is:
https://api.holidayextras.co.uk/v1/lounge/LoungeCode
For example, for Plaza Premium T5 lounge - 3 hours at London Heathrow Airport the endpoint is:
https://api.holidayextras.co.uk/v1/lounge/LHRPA5
Request Parameters
The parameters must be sent in the body of the request, as x-www-form-urlencoded
data.
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 wishes to enter the lounge. |
ArrivalTime | Time | HHMM | Y | Time customer wishes to enter the lounge. |
Adults | Integer | [0-4] 1 char | Y | Number of adults requiring entry to the lounge. Please note: a maximum of 6 passengers is permitted on any one booking. |
Children | Integer | [0-3] 1 char | N | Number of children requiring entry to the lounge. Please note: a maximum of 6 passengers is permitted on any one booking. |
Infants | Integer | 1 char | Y | Number of infants requiring entry to the lounge. Please note: a maximum of 6 passengers is permitted on any one booking. |
Title | String | [A-Z] 4 chars | Y | Title of lead passenger |
Initial | String | [A-Z] 1 chars | Y | Initial of lead passenger |
Surname | String | [A-Z] 20 chars | Y | Surname of lead passenger |
Address[] | String | [A-Z0-9] 25 chars | Y | First line of address (house name / number and road) of lead passenger If you require more than 1 address line, then you can replicate this field and increment the number in square brackets, i.e. “Address[1]” for address line 2, and so on. NB: This field can be set to NA |
Town | String | [A-Z] 20 chars | Y | Town of address NB: This field can be set to NA |
County | String | [A-Z] 20 chars | Y | County of address NB: This field can be set to NA |
PostCode | String | [A-Z0-9] 10 chars | Y | Post code of address NB: This field can be set to NA |
String | [A-Z0-9] 50 chars | Y | Email of lead passenger | |
MobileNum | String | [0-9] 20 char | Y | Mobile phone number of lead passenger. |
PriceCheckFlag | String | Y | Y | Indicates a price check will be carried out prior to booking. If the price is lower in the system the booking will be made as the customer will benefit from a saving. If the price has changed and is higher than the price stated on availability, an error will return to explain that the price has increased, the booking can still be made but the customer must confirm that they will pay the higher amount. You should then resubmit the request changing the PriceCheckPrice with the new price. |
PriceCheckPrice | Float | [0-9] 8 chars | Y | Price of the product, received from the availability request or price check. |
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). |
Waiver | Boolean | [0,1] | Y | Defaults to 0 if not supplied. |
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 |
Booking Upgrades
It is possible to booking upgrade items at the same time as making a core product booking. Once the core product has been selected you must make an Upgrade availability request. Use the information in the response to pick the upgrades desired for the product. In the booking request any number of Supplements
tags may be added but each must be for a unique upgrade. Multiple Supplements
can be added in the request using the square bracket([]
) notation e.g.
POST /v1/lounge/LHRNN3 HTTP/1.1
Host: api.holidayextras.co.uk
Content-Type: application/x-www-form-urlencoded
ABTANumber=YourABTANumber&Password=YourPassword&Initials=YourInitials&key=YourKey&token=YourToken&ArrivalDate=2020-11-09&ArrivalTime=12:30&DepartDate=2020-11-17&DepartTime=13:45&Title=Mr&Initial=T&Surname=Test&Address=Holiday Extras Ltd&Address=Ashford Road&Town=Hythe&County=Kent&PostCode=CT214JF&Email=test@test.com&PriceCheckFlag=Y&PriceCheckPrice=50.05&CarColour=White&CarMake=Range Rover&CarModel=Vogue&Registration=TE17 STS&ReturnFlight=VIR19&Supplements[0][Code]=HXOST1&Supplements[0][Quantity]=1&Supplements[0][Date]=2020-11-09&Supplements[0][TotalPrice]=1.99&Supplements[1][Code]=STNSFS&Supplements[1][Date]=2020-11-09&Supplements[1][Adults]=2&Supplements[1][Children]=1&Supplements[1][TotalPrice]=21.00
For per Room
or per Booking
upgrades a Quantity
must be supplied.
For per Person
upgrades the number of Adult
and Children
passes must be supplied. Depending on the upgrade it may also be necessary to supplier the number of Infants
.
Pricing
A TotalPrice
must be included with each supplement node. This should be calculated as follows;
- Per
Room
or perBooking
-Quantity
xPrice
- Per
Person
- (Adults
xAdPrice
) + (Children
xChPrice
)
*NOTE* When booking upgrades the cost of the upgrades should not be added to the PriceCheckPrice
. This should only reflect the price of the core product.
FastTrack
When booking fast track passes you will receive links to the client’s fast track passes in the booking response. These can be added to your own confirmation emails and will be required by the client to use their passes.
Payment
In the UK, we are PCI DSS compliant and so we do not accept customers’ payment details being passed to us via the API. Further details can be found in our section on Payment.
Please contact your Account Manager if you have any questions concerning payment.
Lounge Booking Response
The lounge booking response will confirm that a booking has been placed in our system.
For a detailed explanation of the fields returned, please see below:
Field | Additional Information |
---|---|
Booking/BookingRef | This is the reference for this booking. It must be referred to in all communication with us concerning this booking. NB: Our booking references are up to 12 char alphanumeric (including 1/I and 0/O/Q). |
Booking/AgentComm | Commission you have earned from this booking. |
Booking/MoreInfoURL | The URL for viewing the booking. See view booking for more details. |
CurrentSupplements/Code | Upgrade Code |
CurrentSupplements/Name | Name of the upgrade |
CurrentSupplements/Price | Price Paid for the upgrade |
CurrentSupplements/NonDiscPrice | The original price of the upgrade before any discounts |
CurrentSupplements/Per | The pricing basis for the product (booking/room/person) |
CurrentSupplements/Adults | The number of adult passes purchased |
CurrentSupplements/Children | The number of child passes purchased |
CurrentSupplements/Date | The date the upgrade has been purchased for |
CurrentSupplements/Remarks | Internal notes |
CurrentSupplements/Canx | Whether the upgrade can be cancelled |
API_Header/Request | A list of parameters that were sent in the booking request. |
Booking Confirmation
We expect partners to create their own booking confirmations to send to customers, using the information provided in the booking response.
However, we also have capability to send booking confirmation emails ourselves on behalf of partners. This feature is not available as standard, and so if you wish to enable this please speak to your Account Manager.
Worked Examples
Below are worked examples of both the request and response for booking a lounge.
UK Products Booking
Request
https://api.holidayextras.co.uk/v1/lounge/LHRPO3
<Request>
<ABTANumber>YourABTANumber</ABTANumber>
<Password>YourPassword</Password>
<Initials>YourInitials</Initials>
<key>YourKey</key>
<token>YourToken</token>
<ArrivalDate>2018-12-01</ArrivalDate>
<ArrivalTime>1200</ArrivalTime>
<Adults>2</Adults>
<Children>0</Children>
<Infants>0</Infants>
<Title>MR</Title>
<Initial>T</Initial>
<Surname>TEST</Surname>
<Address>123 Test Street</Address>
<Town>Testville</Town>
<County>Testshire</County>
<PostCode>TE12 3ST</PostCode>
<Email>test@test.com</Email>
<MobileNum>01234567890</MobileNum>
<PriceCheckFlag>Y</PriceCheckFlag>
<PriceCheckPrice>70.00</PriceCheckPrice>
</Request>
Response
<?xml version="1.0"?>
<API_Reply Product="Lounge" RequestCode="5" Result="OK">
<Booking>
<BookingRef>YourBookingRef</BookingRef>
<AgentComm>7.00</AgentComm>
<VATonComm>0.00</VATonComm>
<MoreInfoURL>/v1/booking/YourBookingRef</MoreInfoURL>
</Booking>
<API_Header>
<Request>
<ABTANumber>YourABTANumber</ABTANumber>
<Password>YourPassword</Password>
<key>YourKey</key>
<token>YourToken</token>
<Initials>YourInitials</Initials>
<ArrivalDate>2018-12-01</ArrivalDate>
<ArrivalTime>1200</ArrivalTime>
<Adults>2</Adults>
<Children>0</Children>
<Infants>0</Infants>
<Title>Mr</Title>
<Initial>T</Initial>
<Surname>TEST</Surname>
<Address>123 Test Street</Address>
<Town>Testville</Town>
<County>Testshire</County>
<PostCode>TE12 3ST</PostCode>
<Email>test@test.com</Email>
<MobileNum>01234567890</MobileNum>
<PriceCheckFlag>Y</PriceCheckFlag>
<PriceCheckPrice>70.00</PriceCheckPrice>
<v>1</v>
</Request>
</API_Header>
</API_Reply>
European Products Booking
Request
https://api.holidayextras.co.uk/v1/lounge/HAMLHL
<Request>
<ABTANumber>YourABTANumber</ABTANumber>
<Password>YourPassword</Password>
<Initials>YourInitials</Initials>
<key>YourKey</key>
<token>YourToken</token>
<System>ABG</System>
<ArrivalDate>2018-12-01</ArrivalDate>
<ArrivalTime>1200</ArrivalTime>
<Adults>2</Adults>
<Children>0</Children>
<Infants>0</Infants>
<Title>MR</Title>
<Initial>T</Initial>
<Surname>TEST</Surname>
<Address>123 Test Street</Address>
<Town>Testville</Town>
<County>Testshire</County>
<PostCode>TE12 3ST</PostCode>
<Email>test@test.com</Email>
<MobileNum>01234567890</MobileNum>
<PriceCheckFlag>Y</PriceCheckFlag>
<PriceCheckPrice>70.00</PriceCheckPrice>
</Request>
Response
<?xml version="1.0"?>
<API_Reply Product="Lounge" RequestCode="5" Result="OK">
<Booking>
<BookingRef>YourBookingRef</BookingRef>
<AgentComm>5.44</AgentComm>
<VATonComm>0.00</VATonComm>
<MoreInfoURL>/v1/booking/YourBookingRef</MoreInfoURL>
</Booking>
<API_Header>
<Request>
<ABTANumber>YourABTANumber</ABTANumber>
<Password>YourPassword</Password>
<Initials>YourInitials</Initials>
<key>YourKey</key>
<token>YourToken</token>
<System>ABG</System>
<ArrivalDate>2018-12-01</ArrivalDate>
<ArrivalTime>1200</ArrivalTime>
<Adults>2</Adults>
<Children>0</Children>
<Infants>0</Infants>
<Title>Mr</Title>
<Initial>T</Initial>
<Surname>TEST</Surname>
<Address>123 Test Street</Address>
<Town>Testville</Town>
<County>Testshire</County>
<PostCode>TE12 3ST</PostCode>
<Email>test@test.com</Email>
<MobileNum>01234567890</MobileNum>
<PriceCheckFlag>Y</PriceCheckFlag>
<PriceCheckPrice>70.00</PriceCheckPrice>
<v>1</v>
</Request>
</API_Header>
</API_Reply>
UK Product Booking with Upgrades
Request
https://api.holidayextras.co.uk/v1/lounge/LHRPO3
<Request>
<ABTANumber>YourABTANumber</ABTANumber>
<Password>YourPassword</Password>
<Initials>YourInitials</Initials>
<key>YourKey</key>
<token>YourToken</token>
<ArrivalDate>2020-11-08</ArrivalDate>
<ArrivalTime>1200</ArrivalTime>
<Adults>2</Adults>
<Children>0</Children>
<Infants>0</Infants>
<Title>MR</Title>
<Initial>T</Initial>
<Surname>TEST</Surname>
<Address>123 Test Street</Address>
<Town>Testville</Town>
<County>Testshire</County>
<PostCode>TE12 3ST</PostCode>
<Email>test@test.com</Email>
<MobileNum>01234567890</MobileNum>
<PriceCheckFlag>Y</PriceCheckFlag>
<PriceCheckPrice>70.00</PriceCheckPrice>
<Supplements>
<Code>HXODC1</Code>
<Date>2020-11-08</Date>
<Quantity>1</Quantity>
</Adults>
</Children>
<TotalPrice>2.99</TotalPrice>
</Supplements>
</Request>
Response
<?xml version="1.0"?>
<API_Reply Product="Lounge" RequestCode="5" Result="OK">
<Booking>
<BookingRef>YourBookingRef</BookingRef>
<AgentComm>7.00</AgentComm>
<VATonComm>0.00</VATonComm>
<MoreInfoURL>/v1/booking/YourBookingRef</MoreInfoURL>
</Booking>
<CurrentSupplements>
<Code>HXODC1</Code>
<Name>Outbound Delay Cover</Name>
<Price>2.99</Price>
<NonDiscPrice>2.99</NonDiscPrice>
<Per>booking</Per>
<Adults>0</Adults>
<Children>0</Children>
<Date>2020-11-08</Date>
<Remarks/>
<Canx>Y</Canx>
</CurrentSupplements>
<API_Header>
<Request>
<ABTANumber>YourABTANumber</ABTANumber>
<Password>YourPassword</Password>
<key>YourKey</key>
<token>YourToken</token>
<Initials>YourInitials</Initials>
<ArrivalDate>2020-11-08</ArrivalDate>
<ArrivalTime>1200</ArrivalTime>
<Adults>2</Adults>
<Children>0</Children>
<Infants>0</Infants>
<Title>Mr</Title>
<Initial>T</Initial>
<Surname>TEST</Surname>
<Address>123 Test Street</Address>
<Town>Testville</Town>
<County>Testshire</County>
<PostCode>TE12 3ST</PostCode>
<Email>test@test.com</Email>
<MobileNum>01234567890</MobileNum>
<PriceCheckFlag>Y</PriceCheckFlag>
<PriceCheckPrice>70.00</PriceCheckPrice>
<Supplements>
<Code>HXODC1</Code>
<Quantity>1</Quantity>
<TotalPrice>2.99</TotalPrice>
</Supplements>
<v>1</v>
</Request>
</API_Header>
</API_Reply>