Home > Loungexmlspec

Lounge Booking XML Interface

Holiday Extras - Lounge Booking XML Interface

Contents

Introduction

Purpose

This document will defines the XML interface to the Holiday Extras lounge booking engine.

Scope

This document defines:

  • Request 1 - Availability
  • Request 4 - Booking (Direct/Intermediary)
  • Request 5 - Booking (Agent)
  • Errors

Format

Each interface is described in terms of:

  1. Table of variables
  2. XML request
  3. XML reply

Access

Access to the XML interface is restricted by Holiday Extras. Your sales contact at Holiday Extras will be responsible for setting up access.


Address

You will need to contact Holiday Extras for access to the servers.


Requests

Lounges has 3 request codes:

Request code 1 - AVAILABILITY
Availabilty request for all car parks for given location/time period.
Request code 4 - BOOKING (DIRECT)
Direct booking
Request code 5 - BOOKING (AGENT)
Agent booking

Request 1 - Availability

Request

Input parameters
Parameter DescriptionMandatory Values/Format
Agent  
- ABTANumberThe agent's ABTA Number or Holiday Extras code YAlphaNumeric
- PasswordThe agent's passwordN (Direct) - Y (Agent)N,Y
- InitialsThe agent's initialsY2-3 CHARS
Itinerary  
- ArrivalDateArrival date at the loungeYDDMonYY
- ArrivalTimeArrival time at the loungeYHHMM
- LocationAirport codeYAlphaNumeric
- AdultsNumber of adultsNNumeric
- ChildrenNumber of childrenNNumeric
- InfantsNumber of infantsNNumeric
XML Request
<API_Request System="ABC" Version="1.0" Product="Lounge" Customer="A" Session="000000003" RequestCode="1"> <Agent> <ABTANumber>WEB1</ABTANumber> <Password></Password> <Initials>XYZ</Initials> </Agent> <Itinerary> <ArrivalDate>20Dec07</ArrivalDate> <ArrivalTime>0730</ArrivalTime> <Location>LGW</Location> <Adults>2</Adults> <Children>0</Children> <Infants>0</Infants> </Itinerary> </API_Request> 

XML Reply

<?xml version="1.0"?> <API_Reply System="ABC" Version="1.0" Product="Lounge" Customer="A" Session="000000003" RequestCode="1" Result="OK"> <Lounge l="1"> <LoungeCode>LGWSAS</LoungeCode> <LoungeName>Servisair Lounge</LoungeName> <Price>20.00</Price> <CCardSurchargePercent>1.50</CCardSurchargePercent> <CCardSurchargeAmount>1.50</CCardSurchargeAmount> </Lounge> <Pricing> <CCardSurchargePercent>1.50</CCardSurchargePercent> <CCardSurchargeMin>1.50</CCardSurchargeMin> <CCardSurchargeMax>4.00</CCardSurchargeMax> </Pricing> </API_Reply> 

Request 4 - Booking (Direct/Intermediary)

Request

Input parameters
Parameter DescriptionMandatoryValues/Format
Agent  
- ABTANumberThe agent's ABTA Number or Holiday Extras code YAlphaNumeric
- PasswordThe agent's passwordN (Direct) - Y (Agent)N,Y
- InitialsThe agent's initialsY2-3 CHARS
Itinerary  
- ArrivalDateArrival date at the loungeYDDMonYY
- ArrivalTimeArrival time at the loungeYHHMM
- LoungeCode Lounge codeY
- AdultsNumber of adultsYNumeric
- ChildrenNumber of childrenYNumeric
- InfantsNumber of infantsYNumeric
ClientDetails    
- Title Client's titleY2-4 CHARS
- Initial Client's initialY2-3 CHARS
- Surname Client's surnameY 
- Address (a=1 to 3) Up to 3 address linesY 
- Town Y (note 2) 
- County Y (note 2) 
- Postcode YAlphaNumeric
- Country N 
- DayPhoneDaytime phone numberY (note 3)Numeric
- EvePhoneEvening phone numberY (note 3)Numeric
- Fax Fax numberNNumeric
- EmailEmail addressYAlphaNumeric(@)
- CustomerRef Customer referenceNAlphaNumeric
- DataProtection Allow future contact?YY/N/T/A (note 4)
PaymentDetails    
- CardNumber  YNumeric
- ExpiryDate  YMMYY
- StartDate  Y (note 5) MMYY
- IssueNumber  Y (note 5) Numeric
- Cardholder  YName
- CV2 N (note 6)3 Digits

Note 1: Only mandatory if the corresponding RequestFlag parameter in Car Park Availability reply record is set to Y.

Note 2: At least one of Town or County is required.

Note 3: At least one of DayPhone or EvePhone is required.

Note 4: Values for data protection flag are:
Y = Holiday Extras only can use data
N = Nobody can use data
T = Third party only can use data
A = Holiday Extras and third party can use data

Note 5: Only mandatory if required for type of card used for payment.

Note 6: Not currently mandatory, BUT it will be required in the future. You should add it at the earliest opportunity.

XML Request
<API_Request System="ABC" Version="1.0" Product="Lounge" Customer="A" Session="000000005" RequestCode="4"> <Agent> <ABTANumber>WEB1</ABTANumber> <Password></Password> <Initials>XYZ</Initials> </Agent> <Itinerary> <ArrivalDate>20Dec07</ArrivalDate> <ArrivalTime>0800</ArrivalTime> <LoungeCode>LGWSAS</LoungeCode> <Adults>2</Adults> <Children>0</Children> <Infants>0</Infants> </Itinerary> <ClientDetails> <Title>Mr</Title> <Initial>J</Initial> <Surname>Smith</Surname> <Address a="1">Flat 6</Address> <Address a="2">28 Main Street</Address> <Town>Maidenhead</Town> <County>Berks</County> <Postcode>SL6 3DJ</Postcode> <EvePhone>01628 654321</EvePhone> <Email>[email protected]</Email> <Confirmation>N</Confirmation> <DataProtection>Y</DataProtection> </ClientDetails> <PaymentDetails> <CardNumber>4111111111111111</CardNumber> <ExpiryDate>0909</ExpiryDate> <Cardholder>Mr J Smith</Cardholder> </PaymentDetails> </API_Request>

XML Reply

<?xml version="1.0"?> <API_Reply System="ABC" Version="1.0" Product="Lounge" Customer="A" Session="000000005" RequestCode="4" Result="OK"> <Booking> <BookingRef>A8AZD</BookingRef> </Booking> <Itinerary> <ArrivalDate>20Dec07</ArrivalDate> <ArrivalTime>0800</ArrivalTime> <LoungeCode>LGWSAS</Duration> <Adults>2</CarParkCode> <Children>0</NumberOfPax> <Infants>0</NumberOfPax> </Itinerary> <ClientDetails> <Title>MR</Title> <Initial>J</Initial> <Surname>SMITH</Surname> <Address a="1">FLAT 6</Address> <Address a="2">28 MAIN STREET</Address> <Town>MAIDENHEAD</Town> <County>BERKS</County> <Postcode>SL6 3DJ</Postcode> <EvePhone>01628 654321</EvePhone> <Email>[email protected]</Email> <DataProtection>Y</DataProtection> </ClientDetails> <Pricing> <TotalPrice>20.00</TotalPrice> <AmountPaid>21.50</AmountPaid> <CCardSurchargePercent>1.50</CCardSurchargePercent> <CCardSurchargeAmount>1.50</CCardSurchargeAmount> <Margin>8.51</Margin> </Pricing> </API_Reply>

Request 5 - Booking (Agent)

Request

Input parameters
ParameterDescriptionMandatory Values/Format
Agent   
- ABTANumberThe agent's ABTA Number or Holiday Extras code YAlphaNumeric
- PasswordThe agent's passwordN (Direct) - Y (Agent)N,Y
- InitialsInitialsY2-3 CHARS
Itinerary   
- ArrivalDateDate of ArrivalYDDMonYY
- ArrivalTimeTime of ArrivalYHHMM
- Lounge CodeLounge CodeY
- AdultsNumber of adultsYNumeric
- ChildrenNumber of childrenYNumeric
- InfantsNumber of infantsYNumeric
Client Details    
-TitleTitle of customerY2-4 CHARS
-InitialInitial of CustomerY 1 CHAR
-SurnameCustomer SurnameY 
XML Request
<API_Request System="ABC" Version="1.0" Product="Lounge" Customer="A" Session="000000006" RequestCode="5"> <Agent> <ABTANumber>TRAIN</ABTANumber> <Password>TRAIN</Password> <Initials>XYZ</Initials> </Agent> <Itinerary> <ArrivalDate>20Dec07</ArrivalDate> <ArrivalTime>0800</ArrivalTime> <LoungeCode>LGWSAS</LoungeCode> <Adults>2</Adults> <Children>0</Children> <Infants>0</Infants> </Itinerary> <ClientDetails> <Title>Mr</Title> <Initial>J</Initial> <Surname>Smith</Surname> </ClientDetails> </API_Request>

XML Reply

<?xml version="1.0"?> <API_Reply System="ABC" Version="1.0" Product="Lounge" Customer="A" Session="000000006" RequestCode="5" Result="OK"> <Booking> <BookingRef>A8AZF</BookingRef> </Booking> <Itinerary> <ArrivalDate>20Dec07</ArrivalDate> <ArrivalTime>0800</ArrivalTime> <LoungeCode>LGWSAS</LoungeCode> <Adults>2</Adults> <Children>0</Children> <Infants>0</Infants> </Itinerary> <ClientDetails> <Title>MR</Title> <Initial>J</Initial> <Surname>SMITH</Surname> </ClientDetails> </API_Reply>

Errors

The status of a request is indicated by the 'Result' attribute of the 'API_Reply' node. There are two types of error message.

  1. INVALID - The data input was invalid
  2. ERROR - The data was valid, but no availability etc

Invalid

<?xml version="1.0"?> <API_Reply System="ABC" Version="1.0" Product="Lounge" Customer="A" Session="000000003" RequestCode="1" Result="INVALID"> <Error> <ErrorCode>1501</ErrorCode> <ErrorMessage>Invalid ArrivalDate</ErrorMessage> </Error> </API_Reply>

Error

<?xml version="1.0"?> <API_Reply System="ABC" Version="1.0" Product="Lounge" Customer="A" Session="000000003" RequestCode="1" Result="ERROR"> <Error> <ErrorCode>0071</ErrorCode> <ErrorMessage>Retrospective bookings not permitted</ErrorMessage> </Error> </API_Reply>

Appendix

Error codes

 

Application Error Messages

 

Error Code

Error Message

0000

<other error message>

0001

Unfortunately, We do not offer the product you have selected at this airport!

0002

<availability error message>

Not available try a hotel with parking

0003

Agent Ref Not On File

Agent information not setup

Invalid End Date

0004

Car Park <car park code> not on file

Car Park Not On File <car park code>

0005

Hotel code not present on KFHS01

0006

Problem with room allocation, please call ABC

0007

No rooms requested

0008

Maximum of 5 room types may be requested

0009

Please enter duration required

0010

Please enter a valid duration period

0011

Please enter no of parking spaces needed

0012

<pricing error message>

0013

Call ABC for a parking group price

0014

There are only <number> spaces available

0015

No parking spaces exceeds total no rooms

0016

Max allocation for <room code> is <number>

0017

Only <max rooms> <room code> allowed per booking

0018

Max no of adults in room <room code> is <number>

0019

Max no of occupants in room <room code> is <number>

0020

Max number of children in room <room code> is <number>

0021

Max number of infants in room <room code> is <number>

0022

Enter number of occupants for <room code> room

0023

Please enter quantity for <room code> room

0024

Call ABC to request more <room code> rooms

0025

<room code> room is on request- Call ABC to book

0026

Call ABC for a group offer on <room code> rooms

0027

Only <number> <room code> rooms available

0028

Only 5 room types permitted per booking

0029

No Hotel Allocation Details for Criteria

0030

Use Mr,Mrs,Miss,Ms,Mstr,Mr/s,Dr,Rev,Prof,Sir

0031

Please enter client's first initial

0032

Please enter client's surname

0033

Arrival not Allowed on a <day of the week>

0034

Min Stay for <day of the week> Arrivals: <number> days

0035

Max Stay for <day of the week> Arrivals: <number> days


 

 

Application Error Messages

 

Error Code

Error Message

0036

Insufficient rooms available

0040

Invalid information type

0041

Invalid request

0042

Invalid Time

0043

Site code not found

0044

Invalid option entered

0045

No lounges available at <site code> for this time and date

0046

Our allocation is full - Clients MAY turn up at the Airport and pay the full gate price for parking. There will be space available

ABC's Allocation full - Clients MAY turn up at the Airport and pay Full Gate Price. There will be space available

0050

End Date is before Start Date

0051

Invalid Booking Number

0052

Invalid Agent Ref.

0053

Agent Ref. is incorrect for this Booking

0054

Sorry. Cannot display Transfer Bookings

0055

Invalid Rail Booking

0056

Cannot cancel bookings in training mode

0057

Booking <booking reference> not on file

0058

Please Call ABC on 0800 414141 to cancel

Please Call Holiday Extras on 0800 414141 to cancel

0059

BOOKING ALREADY CANCELLED ON <date>

Booking already cancelled on <date>

0060

Please advise your customer that a cancellation fee of <amount> will apply

0061

There is no charge for cancelling this booking

0062

Enter an agent ref. for the cancellation

0063

BOOKING MAY NOT BE CANCELLED UNTIL TICKET IS RETURNED!

0070

INVALID PASSWORD; PLEASE RE-ENTER.

Invalid password; please re-enter.

0071

Retrospective bookings not permitted

0072

Hotel only available for bookings with Parking

0074

Car Park not bookable within <number> days

0075

Hotel on Stop Sale ...

0076

Arrival Date is within 24 hours, Call ABC to Cancel

 

 

 

XML Error Messages – 10xx

 

Error Code

Error Message

1001

Coach details missing from API response

1002

Invalid end date in API response

1003

Invalid number of chars per line

1004

Invalid number of lines

1005

Invalid number of rooms in API response

1006

Invalid segment type

1007

Invalid start date in API response

1009

Missing request terminator

1010

Product code not setup

1011

Requested information not available

1012

XML API not enabled - $$

1013

Unrecognised system

1014

Invalid product code

1015

Invalid request code

1016

Invalid XML request message

1017

Invalid request message header

1018

Missing or invalid System attribute

1019

Missing or invalid Version attribute

1020

Missing or invalid Product attribute

1021

Missing or invalid Customer attribute

1022

Unrecognised Customer attribute

1023

Missing of invalid Session attribute

1024

Invalid Session attribute

1025

Missing or invalid RequestCode attribute

1026

Invalid RequestCode attribute

1027

Invalid XML segment

1028

Invalid character escape sequence

1029

Not an XML request

1030

Unable to access XML request

1031

Invalid system name

1032

Requested product not supported

 

 

 

XML Error Messages – 11xx

 

Error Code

Error Message

1100

Invalid Cancel Booking API response

1101

Invalid Hotel Agent Booking API response

1102

Invalid Hotel Availability API response

1103

Invalid Hotel Availability by Room Type API response

1104

Invalid Hotel Direct Booking API response

1105

Invalid Hotel Info API response

1106

Invalid Hotel Pricing API response

1107

Invalid Hotel Product Info API response

1108

Invalid Hotel Room Availability API response

1109

Invalid Hotel With Parking Room Availability API response

1110

Invalid Hotel with Coach Agent Booking API response

1111

Invalid Hotel with Coach Availability API response

1112

Invalid Hotel with Coach Direct Booking API response

1113

Invalid Hotel with Coach Info API response

1114

Invalid Hotel with Coach Pricing API response

1115

Invalid Hotel with Coach Room Availability API response

1116

Invalid Hotel with Parking Agent Booking API response

1117

Invalid Hotel with Parking Availability API response

1118

Invalid Hotel with Parking Availability by Room Type API response

1119

Invalid Hotel with Parking Direct Booking API response

1120

Invalid Hotel with Parking Info API response

1121

Invalid Hotel with Parking Pricing API response

1122

Invalid Hotel with Parking Product Info API response

1123

Invalid Login API response

1124

Invalid Lounge Availability API response

1125

Invalid Lounge Direct Booking API response

1126

Invalid Lounge Info API response

1127

Invalid Parking Agent Booking API response

1128

Invalid Parking Availability API response

1129

Invalid Parking Direct Booking API response

1130

Invalid Parking Info API response

1131

Invalid Parking Pricing API response

1132

Invalid Parking Product Info API response

1133

Invalid Postcode Lookup API response

1134

Invalid Lounge Agent Booking API response

 

 

XML Error Messages – 12xx

 

Error Code

Error Message

1200

Invalid Address segment

1201

Invalid Address sub-segment type

1202

Invalid Agent segment

1203

Invalid Agent sub-segment type

1204

Invalid Booking segment

1205

Invalid Booking sub-segment type

1206

Invalid Cancel segment

1207

Invalid Cancel sub-segment type

1208

Invalid CarDetails segment

1209

Invalid CarDetails sub-segment type

1210

Invalid ClientDetails segment

1211

Invalid ClientDetails sub-segment type

1212

Invalid Coach segment

1213

Invalid Coach sub-segment type

1214

Invalid Coach/Inbound segment

1215

Invalid Coach/Inbound sub-segment type

1216

Invalid Coach/OrigRequest segment

1217

Invalid Coach/OrigRequest sub-segment type

1218

Invalid Coach/Outbound segment

1219

Invalid Coach/Outbound sub-segment type

1220

Invalid Itinerary segment

1221

Invalid Itinerary sub-segment type

1222

Invalid Originator segment

1223

Invalid Originator sub-segment type

1224

Invalid PaymentDetails segment

1225

Invalid PaymentDetails sub-segment type

1226

Invalid Request segment

1227

Invalid Request sub-segment type

1228

Invalid Room segment

1229

Invalid Room sub-segment type

1230

Invalid PriceCheck segment

1231

Invalid PriceCheck sub-segment type

 

 

XML Error Messages – 13xx

 

Error Code

Error Message

1300

Missing mandatory Address segment

1301

Missing mandatory Agent segment

1302

Missing mandatory Booking segment

1303

Missing mandatory ClientDetails segment

1304

Missing mandatory Coach segment

1305

Missing mandatory Coach/Inbound segment

1306

Missing mandatory Coach/OrigRequest segment

1307

Missing mandatory Coach/Outbound segment

1308

Missing mandatory Itinerary segment

1309

Missing mandatory Originator segment

1310

Missing mandatory PaymentDetails segment

1311

Missing mandatory Request segment

1312

Missing mandatory Room segment

1313

Missing mandatory Cancel segment

 

 

XML Error Messages – 14xx

 

Error Code

Error Message

1400

Missing or empty mandatory Address/Postcode parameter

1401

Missing or empty mandatory Agent/ABTANumber parameter

1402

Missing or empty mandatory Agent/Initials parameter

1403

Missing or empty mandatory Agent/Password parameter

1404

Missing or empty mandatory Booking/BookingRef parameter

1405

Missing or empty mandatory Cancel/CancelRef parameter

1406

Missing or empty mandatory Cancel/ConfirmCancel parameter

1407

Missing or empty mandatory ClientDetails/Address parameter

1408

Missing or empty mandatory ClientDetails/Confirmation parameter

1409

Missing or empty mandatory ClientDetails/DataProtection parameter

1410

Missing or empty mandatory ClientDetails/DayPhone or EvePhone parameter

1411

Missing or empty mandatory ClientDetails/Email parameter

1412

Missing or empty mandatory ClientDetails/Initial parameter

1413

Missing or empty mandatory ClientDetails/Postcode parameter

1414

Missing or empty mandatory ClientDetails/Surname parameter

1415

Missing or empty mandatory ClientDetails/Title parameter

1416

Missing or empty mandatory ClientDetails/Town or County parameter

1417

Missing or empty mandatory Coach/Inbound/EndTime parameter

1418

Missing or empty mandatory Coach/Inbound/StartDate parameter

1419

Missing or empty mandatory Coach/Inbound/StartTime parameter

1420

Missing or empty mandatory Coach/InboundDate parameter

1421

Missing or empty mandatory Coach/InboundTime parameter

1422

Missing or empty mandatory Coach/OrigRequest/InboundDate parameter

1423

Missing or empty mandatory Coach/OrigRequest/InboundTime parameter

1424

Missing or empty mandatory Coach/OrigRequest/OutboundDate parameter

1425

Missing or empty mandatory Coach/OrigRequest/OutboundTime parameter

1426

Missing or empty mandatory Coach/OrigRequest/PickupPoint parameter

1427

Missing or empty mandatory Coach/Outbound/EndTime parameter

1428

Missing or empty mandatory Coach/Outbound/StartDate parameter

1429

Missing or empty mandatory Coach/Outbound/StartTime parameter

1430

Missing or empty mandatory Coach/OutboundDate parameter

1431

Missing or empty mandatory Coach/OutboundTime parameter

1432

Missing or empty mandatory Coach/PickupPoint parameter

1433

Missing or empty mandatory Coach/SetdownPoint parameter

1434

Missing or empty mandatory Itinerary/Adults parameter

1435

Missing or empty mandatory Itinerary/ArrivalDate parameter

1436

Missing or empty mandatory Itinerary/ArrivalTime parameter

1437

Missing or empty mandatory Itinerary/BoardBasis parameter

1438

Missing or empty mandatory Itinerary/CarParkCode parameter

1439

Missing or empty mandatory Itinerary/CarPickupDate parameter

1440

Missing or empty mandatory Itinerary/Children parameter

1441

Missing or empty mandatory Itinerary/DepartDate parameter

1442

Missing or empty mandatory Itinerary/DepartTime parameter

1443

Missing or empty mandatory Itinerary/Duration parameter

1444

Missing or empty mandatory Itinerary/HotelCode parameter

1445

Missing or empty mandatory Itinerary/Infants parameter

1446

Missing or empty mandatory Itinerary/Location parameter

1447

Missing or empty mandatory Itinerary/LoungeCode parameter

1448

Missing or empty mandatory Itinerary/Nights parameter

1449

Missing or empty mandatory Itinerary/NonSmoking parameter

1450

Missing or empty mandatory Itinerary/ParkingDays parameter

 

 

XML Error Messages – 14xx (continued)

 

Error Code

Error Message

1451

Missing or empty mandatory Itinerary/ParkingSpaces parameter

1452

Missing or empty mandatory Itinerary/PaxNumber parameter

1453

Missing or empty mandatory Itinerary/RoomType parameter

1454

Missing or empty mandatory Originator/HostName parameter

1455

Missing or empty mandatory PaymentDetails/CardNumber parameter

1456

Missing or empty mandatory PaymentDetails/CardholderName parameter

1457

Missing or empty mandatory PaymentDetails/ExpiryDate parameter

1458

Missing or empty mandatory Request/RequestType parameter

1459

Missing or empty mandatory Room/Adults parameter

1460

Missing or empty mandatory Room/Children parameter

1461

Missing or empty mandatory Room/Infants parameter

1462

Missing or empty mandatory Room/RoomCode parameter

1463

Missing or empty mandatory Room/Rooms parameter

 

 

XML Error Messages – 15xx

 

Error Code

Error Message

1500

Invalid Adults

1501

Invalid ArrivalDate

1502

Invalid ArrivalTime

1503

Invalid CarDropoffTime

1504

Invalid CarPickupDate

1505

Invalid CarPickupTime

1506

Invalid Children

1507

Invalid ConfirmCancel flag

1508

Invalid Confirmation flag

1509

Invalid DataProtection flag

1510

Invalid DepartDate

1511

Invalid DepartTime

1512

Invalid Duration

1513

Invalid ExpiryDate

1514

Invalid InboundDate

1515

Invalid InboundTime

1516

Invalid Infants

1517

Invalid IssueNumber

1518

Invalid Nights

1519

Invalid NonSmoking

1520

Invalid NumberOfPax

1521

Invalid OutboundDate

1522

Invalid OutboundTime

1523

Invalid ParkingDays

1524

Invalid ParkingSpaces

1525

Invalid ParkingType

1526

Invalid RequestType

1527

Invalid Rooms

1528

Invalid StartDate

1529

Invalid StartTime

1530

Invalid EndTime

1531

Invalid PriceCheckFlag

1532

Invalid PriceCheckPrice

 

 

XML Error Messages – 16xx

 

Error Code

Error Message

1600

Duplicate ClientDetails/Address array number

1601

Duplicate Itinerary/RoomType array number

1602

Duplicate Room array number

1603

Invalid ClientDetails/Address array number

1604

Invalid Itinerary/Roomtype array number

1605

Invalid Payment/Contact/Address array number

1606

Invalid Room array number

 

 

XML Error Messages – 9xxx

 

Error Code

Error Message

9998

Error $$ in line $$ of $$

9999

No error message for error code