Está en la página 1de 104

Travelpack XML Interface

Travelpack XML Interface

Revision Author: Email:

1.30 Tim Bushell tim.bushell@travelpack.com

Mar 26, 2012

Page: 1 of 104

Travelpack XML Interface

Revision Author Date 0.10 0.20 1.00 1.01 TBB TBB TBB TBB 28/10/07 29/10/07 30/10/07 31/01/08

Notes Initial release with only air and booking process. Added ground messages First release Change of SessionId to ItemRef in FlightChoice, clarification of Cabin as mandatory in FlightSearch and DOB size in Booking. Support for more detailed flight search details and change in policy on test logins. SubType field on login & credit card details for 3dsecure Split out the internal messages BookingList message now has a starting booking number and number of bookings to return. FlightReply1 & 2 now have ElapsedTime and ShoppingBasketReply has GroundTime. Clarification of the need for a LoginRequest or not New Message FareChoice New Insurance searching and documentation on Shopping Basket Reply LegType added to the Shopping Basket Reply, NoStops added to FlightReply1 & FlightReply2 ErrorReply & ApplicationError definitions Return the party breakdown and last birth dates for child and infants in ShoppingBasketReply. Spelling mistake for CRSId in DisplayBookingReply New messages IssueTicket and CancelBooking StarRating added to hotel search New Destination Stats Message New Booking Stats Message Return the new field Rating in HotelReply Return Rating field in PackageReply Return Locators with IssueTicketReply and reformat field order. New fields InfPrice, ChdTax, InfTax and OtherAmount in FlightResponse Missing Surname field on DisplayBookingRequest Support for MinSeats in FlightReply and Cabin & Seats in ShoppingBasketReply New statistics for Hotel & Package searches. ClickThru rate retired Updated the MakeAgentBooking request and also added a new Tag i.e. Status to know whether the Booking is 'O'ption or 'F'irm. CRSType and new Ids in Booking Display TourCitySearch, TourSearch and TourChoice Support for Status on Shopping Basket Reply

1.02 1.03 1.04 1.05

TBB TBB TBB TBB

04/07/08 15/07/08 05/08/08 05/09/08

1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.2 1.21 1.22 1.23 1.24 1.25

TBB TBB TBB TBB TBB TBB TBB TBB TBB TBB TBB TBB TBB TBB TBB TBB RN TBB TBB TBB

30/01/09 16/02/09 25/03/09 01/04/09 22/05/09 04/09/09 28/10/09 16/12/09 02/02/10 04/02/10 21/05/10 11/08/10 27/09/10 05/10/10 28/11/10 04/02/11 04/02/11 23/05/11 03/06/11 06/06/11

Mar 26, 2012

Page: 2 of 104

Travelpack XML Interface


1.27 1.28 1.29 1.3 1.31 TBB TBB TBB TBB TBB 01/11/11 24/11/11 30/11/11 09/12/11 26/03/12 New add to Basket message for non booked product Car Hire Message Changes Document Car Hire response for Shopping Basket with additional fields Extras - Car Parking Correct to MakeAgentBooking mandatory fields

Mar 26, 2012

Page: 3 of 104

Travelpack XML Interface

Table of Contents
Login Request.......................................................................................................................................6 Login Reply..........................................................................................................................................7 Flight Search.........................................................................................................................................8 Flight Reply 1.....................................................................................................................................10 Flight Reply 2.....................................................................................................................................14 Air Get Rules......................................................................................................................................17 Get Air Rules Reply...........................................................................................................................18 Alternate Flight Search.......................................................................................................................19 Alternate Flight Reply........................................................................................................................20 Flight Choice......................................................................................................................................22 Fare Choice.........................................................................................................................................23 Hotel Search.......................................................................................................................................24 Hotel Reply.........................................................................................................................................26 Hotel Choice.......................................................................................................................................28 Car Search..........................................................................................................................................29 Car Reply............................................................................................................................................31 Car Details..........................................................................................................................................33 Car Detail Reply.................................................................................................................................34 Car Location.......................................................................................................................................36 Car Location Reply.............................................................................................................................37 Car Choice..........................................................................................................................................39 ExtraSearch.........................................................................................................................................40 Extras Reply.......................................................................................................................................41 Extra Choice.......................................................................................................................................43 Get Transfer Request..........................................................................................................................44 Get Transfer Reply.............................................................................................................................45 Transfer Choice..................................................................................................................................46 Insurance Search.................................................................................................................................47 Insurance Reply..................................................................................................................................48 Insurance Choice................................................................................................................................49 Package Search...................................................................................................................................50 Package Reply....................................................................................................................................52 Package Alter......................................................................................................................................56 Package Choice..................................................................................................................................57 Tour City Search Request...................................................................................................................58 Tour City Search Reply......................................................................................................................59 Tour Search Request...........................................................................................................................60 Tour Search Reply..............................................................................................................................62 Tour Choice........................................................................................................................................63 Add to Basket.....................................................................................................................................64 Shopping Basket Reply......................................................................................................................67 Show Shopping Basket.......................................................................................................................72 Remove an item from the Shopping Basket.......................................................................................73 Suggest Product..................................................................................................................................74 Make Agent Booking.........................................................................................................................75 Booking Response..............................................................................................................................77
Mar 26, 2012 Page: 4 of 104

Travelpack XML Interface Booking List Request.........................................................................................................................79 Booking List Reply.............................................................................................................................80 Booking Display Request...................................................................................................................81 Display Booking Reply......................................................................................................................82 Confirm Booking Request..................................................................................................................84 Confirm Booking Reply.....................................................................................................................85 Cancel Booking Request....................................................................................................................86 Cancel Booking Reply........................................................................................................................87 Issue Ticket Request...........................................................................................................................88 IssueTicket Reply...............................................................................................................................89 Invoice Request..................................................................................................................................90 Invoice Reply......................................................................................................................................91 Statement Request..............................................................................................................................92 Statement Reply..................................................................................................................................93 Booking Statistics Request.................................................................................................................94 Booking Statistics Reply....................................................................................................................95 Destination Statistics Request............................................................................................................96 Destination Statistics Reply................................................................................................................97 Agent Profile Request.........................................................................................................................98 Agent Profile Reply............................................................................................................................99 Update Agent Profile Request..........................................................................................................101 Error Reply.......................................................................................................................................103 Application Error Reply...................................................................................................................104

Mar 26, 2012

Page: 5 of 104

Login Request
This process is required if you are implementing an agent connection. It allows us to set up a session and load the correct commercial details against the session. The AgentId and password must match previously agreed values. For client connections this message is not required. In fact even if it is sent the subsequent setup is ignored by later messages. Lvl Tag 1 2 2 2 2 LoginRequest Source AgentId Password UserId X(6) X(6) X(6) X(3) Y Y Y Y AGENT or client defined Agent's ABTA/TTA or account number Current Web password Some unique code, not validated Data Mand Type Notes

The source code depends on the type of connection. For agent connection it is simply AGENT. For client connections please contact our IT department.

Example
<?xml version="1.0" ?> <Request> <LoginRequest> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>TIM</Password> <UserId>ABC</UserId> </LoginRequest> </Request>

Login Reply
The login reply shows a session has been started. The returned details are largely just for information except the session id which must be maintained by the client system. The sessionId is purely numeric, and is a
representation of the start time.

Lvl Tag 1 2 2 2 2 2 2 LoginReply SourceName AgentId AgencyName SessionId SiteType SubType

Data Type X(40) X(6) X(40) X(14) A A

Notes

Description of the type of connection Agent's ABTA/TTA or account number Return of the agent reference given in the request. Our unique SessionId. A Agent or C Client A Agent, C Client or W White Label

Example <?xml version="1.0"?> <Reply> <LoginReply> <SourceName>www.agents.travelpack.co.uk</SourceName> <AgentId>TED</AgentId> <AgencyName>TRAVELPACK (TED)</AgencyName> <SessionId>73296736579860</SessionId> <SiteType>A</SiteType> </LoginReply> </Reply>

Flight Search
The flight search message allows two separate functions. Firstly to return purely a fares list given a city pair. Secondly an availability checked fare list with flight details. Request

Lvl Tag 1 2 2 2 2 FlightSearch Source AgentId Password SessionId

Data Mand Type X(6) X(6) X(6) Y Y Y

Notes

AGENT or client defined Agent's ABTA/TTA or account number Current Web password The session Id will be returned by a LoginRequest. This is mandatory if you are implementing an Agent connection. For client connections this can be left blank and the system will generate a new session id once the request has been received. Airport or city code of departure point Airport or city code of arrival point For future use (if entered use To point) For future use (if entered use From point) One of (O)ne way or (R)eturn Outbound date in the format DDMMYY Approximate departure time (HHMI) Return date (mandatory for Returns, optional for One ways) Approximate return time (HHMI) One of (1) First, (2) Business, (3) Premium or (4) Economy. Carrier code to search for Number of adults travelling Number of children travelling Number of infants travelling (Y) for Direct flights only, (N) for any. Direct flights do not necessarily mean non stop. (N) for fare enquiry only, (O) for only show available flights and fares, (Y) for show all fares with and without availability. Specifies the reply type to send. If nothing is sent then reply type 1 will be sent. (This is only applicable when the Availability flag is set to O or Y. Options are (1) or (2)

X(14) N

2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

From To RetFrom RetTo Journey DepDate DepTime RetDate RetTime Cabin Carrier Adults Children Infants Direct Availability ReplyType

X(3) X(3) X(3) X(3) A X(6) X(4) X(6) X(4) X X(3) 999 999 999 A A A

Y Y N N Y Y N N N Y N Y Y Y N Y N

Flight Search Example


<Request> <FlightSearch> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <SessionId>73298046604167</SessionId> <From>LON</From> <To>GVA</To> <RetFrom>GVA</RetFrom> <RetTo>LON</RetTo> <Journey>R</Journey> <DepDate>010308</DepDate> <DepTime> </DepTime> <RetDate>080308</RetDate> <RetTime> </RetTime> <Cabin>4</Cabin> <Carrier> </Carrier> <Adults>1</Adults> <Children>0</Children> <Infants>0</Infants> <Direct>N</Direct> <Availability>N</Availability> <ReplyType>1</ReplyType> </FlightSearch> </Request>

Flight Reply 1
The response from this message depends on the availability flag. Please see the two separate examples for

the difference. In the case of no availability the Leg items will not be returned. This reply is sent if ReplyType is not sent, set to 1 or the request is for fares only.

* These fields are only shown when doing an availability request. ** These data fields will be empty for published fares *** Child prices will only be shown for published fares if a child was part of the party breakdown otherwise this will be zero. (Same applies to the adult if only children are specified).
Lvl Tag 1 2 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 FlightReply FlightOption FareInfo From To Carrier ** Class ** ValidFrom ** ValidTo ** AdtPrice ChdPrice *** InfPrice *** AdtTax ChdTax InfTax OtherAmount TotalPrice ItemRef OutAvail * InAvail * FareType X(3) X(3) X(3) X D(7) D(7) 9(7).99 9(7).99 9(7).99 9(7).99 9(7).99 9(7).99 9(7).99 9(7).99 X(19) 999 999 A Airport code of departure point Airport code of return point Carrier code of airline whose fare we are concerned with. Actual class of fare (not the cabin) Start date the fare is valid from End date of the fare's validiity Gross Adult Fare Gross Child Fare Gross Infant Fare Airport taxes for an adult Airport taxes for a child Airport taxes for an infant SAF, ATOL and Booking Fees total Total price including taxes, scheduled airline failure insurance and any ticketing fees for the whole party breakdown Full reference of this fare (starting 14 bytes are the session) Number of outbound options for this fare Number of inbound options for this fare One of (P)ublished, (C)onsolidated or (I)T fare. IT fares are only available by agreement with Travelpack. A special type A should be treated as C. (All of this will be missed out for fare enquiries only) X(3) X(3) T(5) Airport code of departure point on this leg Airport code of arrival point on this leg Amount of time this leg takes (flying and ground time) in Hours and Minutes (HH:MI) Data Type Notes

3 4 4 4

Leg * AvlFrom AvlTo ElapsedTime

4 4 4 4 4 4 4 4 4 4 4 4 4 3 2

DepDate DepTime ArrDate ArrTime AvlCarrier FltNo1 Via1 FltNo2 Via2 FltNo3 Dir NoStops ElapsedTime MinSeats SessionId

D(11) T(5) D(11) T(5) X(3) X(4) X(3) X(4) X(3) X(4) A 9 X(6) 9 X(14)

Departure Date of this leg Departure time of this leg Arrival Date of this leg Arrival time of this leg Carrier for this leg Flight Number 1 for this leg Airport code for Via point 1 Flight Number 2 for this leg Airport code for Via point 2 Flight Number 3 for this leg Direction of the leg (O)utbound or (I)nbound Number of stops (this is in addition to the via points). This is when a single flight number covers more than one physical sector. Total time of the flights & ground time Minimum number of seats for this whole route Repeat of the session number sent

Flight Reply - Fare only Example


<?xml version="1.0"?> <FlightReply> <FlightOption> <FareInfo> <From>LCY</From> <To>GVA</To> <Carrier>AF</Carrier> <Cabin>Y</Cabin> <Class>N</Class> <ValidFrom>21Apr07</ValidFrom> <ValidTo>31Mar08</ValidTo> <AdtPrice>47</AdtPrice> <ChdPrice>36</ChdPrice> <AdtTax>73.70</AdtTax> <TotalPrice>122.70</TotalPrice> <ItemRef>7329804660416701005</ItemRef> <FareType>C</FareType> </FareInfo> </FlightOption> <FlightOption> <FareInfo> <From>LCY</From> <To>GVA</To> <Carrier>AF</Carrier> <Cabin>Y</Cabin> <Class>E</Class> <ValidFrom>21Apr07</ValidFrom> <ValidTo>31Mar08</ValidTo> <AdtPrice>79</AdtPrice> <ChdPrice>60</ChdPrice> <AdtTax>73.70</AdtTax> <TotalPrice>154.70</TotalPrice> <ItemRef>7329804660416701006</ItemRef> <FareType>C</FareType> </FareInfo> </FlightOption> .... <SessionId>73298046604167</SessionId> </FlightReply>

Flight Reply - Fare and availability Example


<?xml version="1.0"?> <Reply> <FlightReply> <FlightOption> <FareInfo> <From>LON</From> <To>AKL</To> <Carrier>NZ</Carrier> <Cabin>2</Cabin> <Class></Class> <ValidFrom></Va lidFrom> <ValidTo></ValidTo> <AdtPrice>3023.5</AdtPrice> <ChdPrice>0</ChdPrice> <InfPrice>0</InfPrice> <AdtTax>456.57</AdtTax> <ChdTax>0.00</ChdTax> <InfTax>0.00</InfT ax> <OtherAmount>2</OtherAmount> <TotalPrice>3482.07</TotalPrice> <ItemRef>7340975849654201001</ItemRef> <OutAvail>001</OutAvail> <InbAvail>002</InbAvail> <OutOptions >1</OutOptions> <InbOptions>1</InbOptions> <FareType>S</FareType> </FareInfo> <Leg> <AvlFrom>LHR</AvlFrom> <AvlTo>AKL</AvlTo> <DepDate>Tue 01Mar11</DepDate> <DepTime>15 :45</DepTime> <ArrDate>Thu 03Mar11</ArrDate> <ArrTime>08:00</ArrTime> <AvlCarrier>NZ</AvlCarrier> <FltNo1>0001</FltNo1> <Via1>LAX</Via1> <FltNo2>NZ0005</FltNo2> <Via2></Via2> <FltNo3></FltNo3> <Dir>O</Dir> <NoStops>0</NoStops> <ElapsedTime>27:15</ElapsedTime> </Leg> <Leg> .. </Leg> <MinSeats>4</MinSeats> </FlightOption> .. <SessionId>73409758496542</SessionId> </FlightReply> </Reply>

Flight Reply 2
This response is similar to flight reply 1 and much of the data is the same. It is sent if explicitly asked for in the request with a ReplyType set to 2. There will be a leg item for every leg of the routing. Lvl Tag 1 2 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 FlightReply FlightOption FareInfo From To Carrier ** Class ** ValidFrom ** ValidTo ** AdtPrice ChdPrice *** InfPrice *** AdtTax ChdTax InfTax OtherAmount TotalPrice ItemRef OutAvail InAvail FareType Leg AvlFrom AvlTo ElapsedTime DepDate DepTime ArrDate ArrTime AvlCarrier X(3) X(3) T(5) D(11) T(5) D(11) T(5) X(3) Airport code of departure point on this leg Airport code of arrival point on this leg Amount of time this leg takes (flying and ground time) in Hours and Minutes. (HH:MI) Departure Date of this leg Departure time of this leg Arrival Date of this leg Arrival time of this leg Carrier for this leg X(3) X(3) X(3) X D(7) D(7) 9(7).99 9(7).99 9(7).99 9(7).99 9(7).99 9(7).99 9(7).99 9(7).99 X(19) 999 999 A Airport code of departure point Airport code of return point Carrier code of airline whose fare we are concerned with. Actual class of fare (not the cabin) Start date the fare is valid from End date of the fare's validiity Gross Adult Fare Gross Child Fare Gross Infant Fare Airport taxes for an adult Airport taxes for a child Airport taxes for an infant SAF, ATOL and Booking Fees total Total price including taxes, scheduled airline failure insurance and any ticketing fees for the whole party breakdown Full reference of this fare (starting 14 bytes are the session) Number of outbound options for this fare Number of inbound options for this fare One of (P)ublished, (C)onsolidated or (I)T fare. IT fares are only available by agreement with Travelpack. Data Type Notes

4 4 4 4

AvlFltNo AvlClass Dir NoStops

X(4) X A 9

Flight Number for this leg Class of travel for this leg Direction of the leg (O)utbound or (I)nbound Number of stops (this is in addition to the via points). This is when a single flight number covers more than one physical sector.

3 SessionId X(14) Repeat of the session number sent <FlightReply> <FlightOption> <FareInfo> <From>LHR</From> <To>CGP</To> <Carrier>EY</Carrier> <Cabin>Y</Cabin> <Class>Q</Class> <ValidFrom>01Jan08</ValidFrom> <ValidTo>31Dec08</ValidTo> <AdtPrice>461</AdtPrice> <ChdPrice>346</ChdPrice> <AdtTax>181.60</AdtTax> <TotalPrice>643.85</TotalPrice> <ItemRef>7332296792708401003</ItemRef> <OutAvail>001</OutAvail> <InbAvail>010</InbAvail> <OutOptions>2</OutOptions> <InbOptions>1</InbOptions> <FareType>C</FareType> </FareInfo> <Leg> <AvlFrom>LHR</AvlFrom> <AvlTo>AUH</AvlTo> <DepDate>Wed 01Oct08</DepDate> <DepTime>10:30</DepTime> <ArrDate>Wed 01Oct08</ArrDate> <ArrTime>20:35</ArrTime> <AvlCarrier>EY</AvlCarrier> <AvlFltNo>0012</AvlFltNo> <AvlClass>Q</AvlClass> <Dir>O</Dir> </Leg> <Leg> <AvlFrom>AUH</AvlFrom> <AvlTo>DAC</AvlTo> <DepDate>Thu 02Oct08</DepDate> <DepTime>01:25</DepTime> <ArrDate>Thu 02Oct08</ArrDate> <ArrTime>08:20</ArrTime> <AvlCarrier>EY</AvlCarrier> <AvlFltNo>0258</AvlFltNo> <AvlClass>Q</AvlClass> <Dir>O</Dir> </Leg> <Leg> <AvlFrom>DAC</AvlFrom> <AvlTo>CGP</AvlTo> <DepDate>Thu 02Oct08</DepDate> <DepTime>10:45</DepTime>

<ArrDate>Thu 02Oct08</ArrDate> <ArrTime>16:45</ArrTime> <AvlCarrier>EY</AvlCarrier> <AvlFltNo>5258</AvlFltNo> <AvlClass>Q</AvlClass> <Dir>O</Dir> </Leg> <Leg> <AvlFrom>CGP</AvlFrom> <AvlTo>DAC</AvlTo> <DepDate>Fri 31Oct08</DepDate> <DepTime>22:00</DepTime> <ArrDate>Sat 01Nov08</ArrDate> <ArrTime>04:30</ArrTime> <AvlCarrier>EY</AvlCarrier> <AvlFltNo>5253</AvlFltNo> <AvlClass>Q</AvlClass> <Dir>I</Dir> </Leg> <Leg> <AvlFrom>DAC</AvlFrom> <AvlTo>AUH</AvlTo> <DepDate>Sat 01Nov08</DepDate> <DepTime>09:00</DepTime> <ArrDate>Sat 01Nov08</ArrDate> <ArrTime>12:10</ArrTime> <AvlCarrier>EY</AvlCarrier> <AvlFltNo>0253</AvlFltNo> <AvlClass>Q</AvlClass> <Dir>I</Dir> </Leg> <Leg> <AvlFrom>AUH</AvlFrom> <AvlTo>LHR</AvlTo> <DepDate>Sun 02Nov08</DepDate> <DepTime>08:15</DepTime> <ArrDate>Sun 02Nov08</ArrDate> <ArrTime>12:25</ArrTime> <AvlCarrier>EY</AvlCarrier> <AvlFltNo>0019</AvlFltNo> <AvlClass>Q</AvlClass> <Dir>I</Dir> </Leg> </FlightOption> <SessionId>73298046604167</SessionId> </FlightReply>

Air Get Rules


This message will return the rules for a given fare. You will require the session number and fare reference returned by the fare search reply. Request

Lvl Tag 1 2 2 2 2 2 2
AirGetRules

Data Mand Type X(6) X(6) X(6) A Y Y Y Y

Notes

Source AgentId Password Type Reference Audience

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Where we are requesting the rules from (F)ares display or (H)old item within the shopping basket Full reference of the fare (from FareSearchReply) (A)gent or (C)lient. The client notes are 3 or 4 lines only highlighting the changes and refunds. The agent display is fuller with complete rules of the fare

X(19) Y A Y

Example
<Request> <AirGetRules> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <Type>F</Type> <Reference>7329804660416701001</Reference> <Audience>A</Audience> </AirGetRules> </Request>

Get Air Rules Reply


This message returns a text description of the rules of the fare. These details should not be parsed as the formatting may alter over time. The formatting for published fares and consolidated fares will differ.

Lvl Tag 1 2 GetAirRulesReply RuleDetails

Data Type X(80)

Notes

Free text about the rule

Example
<?xml version="1.0"?> <GetAirRulesReply> <RuleDetails>PENALTIES</RuleDetails> <RuleDetails>CANCELLATIONS</RuleDetails> <RuleDetails>ANY TIME</RuleDetails> <RuleDetails>TICKET IS NON-REFUNDABLE.</RuleDetails> <RuleDetails>CHANGES</RuleDetails> <RuleDetails>BEFORE DEPARTURE</RuleDetails> <RuleDetails>CHARGE GBP 30.00.</RuleDetails> <RuleDetails>NOTE -</RuleDetails> <RuleDetails>UPGRADES PERMITTED TO ANY HIGHER FARE AT</RuleDetails> <RuleDetails>A CHARGE OF GBP30.00 PER TRANSACTION PER PASSENGER</RuleDetails> <RuleDetails>PLUS ANY DIFFERENCE IN THE FARE.</RuleDetails> <RuleDetails>CHARGE APPLIES TO ADULT AND CHILDREN ONLY.</RuleDetails> <RuleDetails>CHANGES ONLY PERMITTED UP TO DAY BEFORE OUTBOUND</RuleDetails> <RuleDetails>DEPARTURE.</RuleDetails> <RuleDetails>NO CHANGES OR UPGRADES PERMITTED ON DAY OF</RuleDetails> <RuleDetails>DEPARTURE. ORIGINAL REFUND CONDITIONS APPLY TO</RuleDetails> <RuleDetails>ANY UPGRADED TICKET.WHEN THE ITINERARY RESULTS IN</RuleDetails> <RuleDetails>A HIGHER FARE THE DIFFERENCE WILL BE COLLECTED AND</RuleDetails> <RuleDetails>THE GBP30 CHANGE FEE WILL APPLY.</RuleDetails> <RuleDetails>WHEN THE NEW ITINERARY RESULTS IN A LOWER FARE THE</RuleDetails> <RuleDetails>GBP30 CHANGE FEE WILL APPLY AND NO REFUND WILL BE</RuleDetails> <RuleDetails>MADE.</RuleDetails> <RuleDetails>VOLUNTARY CHANGE OF ROUTING NOT PERMITTED</RuleDetails> <RuleDetails>AT ANY TIME.</RuleDetails> <RuleDetails>NO CHANGES OR REFUNDS PERMITTED FOR A PASSENGER</RuleDetails> <RuleDetails>WHO NO-SHOWS.</RuleDetails> <RuleDetails>NAME CHANGES NOT PERMITTED</RuleDetails> <RuleDetails>AFTER DEPARTURE</RuleDetails> <RuleDetails>CHARGE GBP 30.00.</RuleDetails><RuleDetails>NOTE -</RuleDetails> <RuleDetails>UPGRADES PERMITTED TO ANY HIGHER FARE AT</RuleDetails> <RuleDetails>A CHARGE OF GBP30.00 PER TRANSACTION PER PASSENGER</RuleDetails> <RuleDetails>PLUS ANY DIFFERENCE IN THE FARE.</RuleDetails> <RuleDetails>CHARGE APPLIES TO ADULT AND CHILDREN ONLY.</RuleDetails> <RuleDetails>CHANGES ONLY PERMITTED UP TO DAY BEFORE DEPARTURE.</RuleDetails> <RuleDetails>NO CHANGES OR UPGRADES PERMITTED ON DAY OF</RuleDetails> <RuleDetails>DEPARTURE. ORIGINAL REFUND CONDITIONS APPLY</RuleDetails> <RuleDetails>TO ANY UPGRADED TICKET. WHEN THE ITINERARY RESULTS</RuleDetails> .... </GetAirRulesReply>

Alternate Flight Search


The initial fare availability search will return the first available routing for the given fare selected. This message allows the user to find out if there are any more routes available for the given fare. You will need the item reference for the fare selected to be able to get further details.

Lvl Tag 1 2 2 2 2 AlternativeFlightSearch Source AgentId Password ItemRef

Data Type X(6) X(6) X(6) X(19)

Mand Notes

Y Y Y Y

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Identifier of the fare from the fare search reply

Example
<Request> <AlternateFlightSearch> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <ItemRef>7329805803240701001</ItemRef> </AlternateFlightSearch> </Request>

Alternate Flight Reply


This response will show all of the outbound and inbound flights (made up from one or more legs) for this given fare. Anyone of these combinations is valid for the given fare Lvl Tag 1 2 3 3 3 3 4 4 4 4 4 4 4 4
AlternateFlightReply

Data Type

Notes

FlightOption ItemRef Avail Dir Leg From To DepDate DepTime ArrDate ArrTime Carrier FltNo X(3) X(3) D(11) T(5) D(11) T(5) X(3) X(4) Airport code of the departure airport Airport code of the arrival airport Departure date of the leg Departure time of the leg Arrival date of the leg Arrival time of the leg Code of the Carrier who provided the leg Flight number for the leg X(19) 999 A The reference of this option with the session id and the fare Availability pointer for this option (unique within this given flight option) Direction of travel (O)utbound or (I)nbound

Alternate Flights Example


<?xml version="1.0"?> <AlternateFlightReply> <FlightOption> <ItemRef>7329805803240701001</ItemRef> <Avail>001</Avail> <Dir>O</Dir> <Leg> <From>LHR</From> <To>GVA</To> <DepDate>Sat 01Mar08</DepDate> <DepTime>15:05</DepTime> <ArrDate>Sat 01Mar08</ArrDate> <ArrTime>17:45</ArrTime> <Carrier>BA</Carrier> <FltNo>0734</FltNo> </Leg> </FlightOption> <FlightOption> <ItemRef>7329805803240701001</ItemRef> <Avail>003</Avail> <Dir>O</Dir> <Leg> <From>LHR</From> <To>GVA</To> <DepDate>Sat 01Mar08</DepDate> <DepTime>17:05</DepTime> <ArrDate>Sat 01Mar08</ArrDate> <ArrTime>19:50</ArrTime> <Carrier>BA</Carrier> <FltNo>0736</FltNo> </Leg> </FlightOption> <FlightOption> <ItemRef>7329805803240701001</ItemRef> <Avail>002</Avail> <Dir>I</Dir> <Leg> <From>GVA</From> <To>LGW</To> <DepDate>Sat 08Mar08</DepDate> <DepTime>07:10</DepTime> <ArrDate>Sat 08Mar08</ArrDate> <ArrTime>07:50</ArrTime> <Carrier>BA</Carrier> <FltNo>2735</FltNo> </Leg> </FlightOption> </AlternateFlightReply>

Flight Choice
This message stores a flight item in to the current shopping basket. This requires an availability checked item prior to request. The item will then be stored ready for additional itinerary or completion of the booking. The response to this message is the same as all the shopping list modules and detailed in ShoppingBasketReply.

Lvl Tag 1 2 2 2 2 FlightChoice Source AgentId Password ItemRef

Data Type X(6) X(6) X(6) X(19)

Mand Notes

Y Y Y Y

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Identifier of the fare from the fare search reply Note: This is 19 characters long and is made up from the user session id and the identifier of the fare returned in the FlightReply. Use the data returned by the tag <ItemRef> from FlightReply to point to the correct item. Outbound availability pointer Inbound availability pointer (optional for one ways, mandatory for returns) Y to clear the current basket, blank or N and the basket remains

2 2 2

OutAvail InbAvail ClearBasket

999 999 A

Y N N

Example
<Request> <FlightChoice> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <ItemRef>7329805803240701001</ItemRef> <OutAvail>001</OutAvail> <InbAvail>002</InbAvail> <ClearBasket>Y</ClearBasket> </FlightChoice> </Request>

Fare Choice
This message is similar to the FlighChoice in that it expects a search to have already been created. It will show a fares list as in FlightReply1 or FlightReply2. The system will use the existing search data (i.e. it will not search again), except the selected flight will be shown first.

Lvl Tag 1 2 2 2 2 FlightChoice Source AgentId Password ItemRef

Data Type X(6) X(6) X(6) X(19)

Mand Notes

Y Y Y Y

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Identifier of the fare from the fare search reply Note: This is 19 characters long and is made up from the user session id and the identifier of the fare returned in the FlightReply. Use the data returned by the tag <ItemRef> from FlightReply to point to the correct item. Outbound availability pointer Inbound availability pointer (optional for one ways, mandatory for returns) Y to clear the current basket, blank or N and the basket remains Specifies the reply type to send. If nothing is sent then reply type 1 will be sent. (This is only applicable when the Availability flag is set to O or Y. Options are (1) or (2)

2 2 2 2

OutAvail InbAvail ClearBasket ReplyType

999 999 A A

Y N N N

Example
<Request> <FareChoice> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <ItemRef>7329805803240701001</ItemRef> <OutAvail>001</OutAvail> <InbAvail>002</InbAvail> <ClearBasket>Y</ClearBasket> <ReplyType>1</ReplyType> </FareChoice> </Request>

Hotel Search
The hotel search message allows the user to look for available hotels to a given city or for a specific property if the details are known. Unlike the flight search all responses are availability checked before return.

Lvl Tag 1 2 2 2 2 2 2 HotelSearch Source AgentId Password SessionId Location Hotel

Data Type X(6) X(6) X(6) X(14) X(3) X(..)

Mand Notes

Y Y Y Y Y N

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Current session id City code of the destination This can either be the Travelpack code for the hotel (6 digit) or it can be a partial name. In the second case the hotels returned will be similar to that searched for. Arrival date in the format DDMMYY Departure date from the hotel Specifies the type of accommodation (for the moment 'H' for Hotel is the only code defined. Star Rating (1-5). The response will include all hotels at this rating and ABOVE. The room array is repeated 4 times. Number of adults in room Number of children in room The children's ages are mapped to the rooms above. The first child defined in child 1 etc.

2 2 2 2 2 3 3 2 3 3 3

Arrival Depart LineType StarRating Room Adt Chd ChildAges ChAg1 ChAg2 ... ChAg10

D(6) D(6) A 9

Y Y Y N

999 999

Y Y

99 99 99

N N N

Age of child 1 Age of child 2 Age of child 10

Example

<Request> <HotelSearch> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <SessionId>73298072011574</SessionId> <Location>GOI</Location> <Hotel></Hotel> <Arrival>030108</Arrival> <Depart>100108</Depart> <LineType>H</LineType> <Room> <Adt>2</Adt> <Chd>0</Chd> </Room> <Room> <Adt>0</Adt> <Chd>0</Chd> </Room> <Room> <Adt>0</Adt> <Chd>0</Chd> </Room> <Room> <Adt>0</Adt> <Chd>0</Chd> </Room> <ChildAges> <ChAg1></ChAg1> <ChAg2></ChAg2> <ChAg3></ChAg3> <ChAg4></ChAg4> <ChAg5></ChAg5> <ChAg6></ChAg6> <ChAg7></ChAg7> <ChAg8></ChAg8> <ChAg9></ChAg9> <ChAg10></ChAg10> </ChildAges> </HotelSearch> </Request>

Hotel Reply
This message returns a number of options. Within each option is a specific hotel and within the hotel one or more room types for the request. The reply is sorted by the price. This is determined by the cheapest room available at a given hotel. It is therefore possible if there are multiple room types for more expensive rooms to appear before cheaper ones. There is a limit if 999 room types that can be applied against a hotel. In practice this is rarely more than 4-5. This is a category of room for the WHOLE party breakdown for example Superior, Sea View etc. It is not possible to split the party between room types (although you could put multiple items in the shopping basket if this was required). Lvl Tag 1 2 3 3 3 3 4 4 4 4
HotelReply

Data Type

Notes

HotelOption Ref HotelName Rating Rooms Room Meal Price ItemRef X(40) X(40) X(19) Description of the room type Meal plan of the included rate Reference relating to this particular fare. This will be required when holding the room within the shopping basket. X(6) X(30) X Travelpack reference for this hotel Hotel name Hotel Star Rating

9(7).99 Gross price for the duration and party breakdown

Hotel Reply - Example <?xml version="1.0"?> <HotelReply> <HotelOption> <Ref>074738</Ref> <HotelName>VILLAGE ROYAL</HotelName> <Rating>3</Rating> <Rooms> <Room>Non Air Conditioned</Room> <Meal>Bed %26 Breakfast</Meal> <Price>102.00</Price> <ItemRef>7329807201157401030</ItemRef> </Rooms> </HotelOption> <HotelOption> <Ref>074719</Ref> <HotelName>RIVERSIDE REGENCY RESORT</HotelName> <Rating>3</Rating> <Rooms> <Room>Non Air Conditioned</Room> <Meal>Bed %26 Breakfast</Meal> <Price>112.00</Price> <ItemRef>7329807201157401029</ItemRef> </Rooms> </HotelOption> <HotelOption> <Ref>076079</Ref> <HotelName>SOMY RESORTS PVT LTD</HotelName> <Rating>2</Rating> <Rooms> <Room>Non Air Conditioned</Room> <Meal>Bed %26 Breakfast</Meal> <Price>116.00</Price> <ItemRef>7329807201157401033</ItemRef> </Rooms> </HotelOption> <HotelOption> <Ref>078509</Ref> <HotelName>VARCA PALMS BEACH RESORT</HotelName> <Rating>5</Rating> <Rooms> <Room>Standard Room</Room> <Meal>Bed %26 Breakfast</Meal> <Price>450.00</Price> <ItemRef>7329807201157401052</ItemRef> </Rooms> <Rooms> <Room>Villa</Room> <Meal>Bed %26 Breakfast</Meal> <Price>592.00</Price> <ItemRef>7329807201157401050</ItemRef> </Rooms> </HotelOption> <SessionId>73298072011574</SessionId> </HotelReply>

Hotel Choice
This message stores a hotel item in to the current shopping basket. The item will then be stored ready for additional itinerary or completion of the booking. The response to this message is the same as all the shopping list modules and detailed in ShoppingBasketReply.

Lvl Tag 1 2 2 2 2 2 HotelChoice Source AgentId Password ItemRef ClearBasket

Data Type X(6) X(6) X(6) X(19) A

Mand Notes

Y Y Y Y N

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Identifier of the fare from the hotel search reply Y to clear the current basket, blank or N and the basket remains

Example
<Request> <HotelChoice> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <ItemRef>7329807201157401030</ItemRef> <ClearBasket>Y</ClearBasket> </HotelChoice> </Request>

Car Search
The car search message allows the user to look for available cars to a given city. Unlike the flight search all responses are availability checked before return.

Lvl Tag 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

Data Type X(6) X(6) X(6) X(14) X(3) X(7) X(50) D(6) T(4) X(3) X X(50) D(6) T(4) X(3) X(6) 9 XX 99 X(15)

Mand Notes

CarSearch Source AgentId Password SessionId PickupCity PickupLocation FullPickupLocation PickupDate PickupTime DropoffCity DropoffLocation FullDropoffLocation DropoffDate DropoffTime Company CarType NoRequired Citizenship DriverAge IPAddress Y Y Y Y N* N* N* Y Y N* N* N* Y Y N N N N Y N AGENT or client defined Agent's ABTA/TTA or account number Current Web password Current session id Airport or city code of the pickup location Travelpack reference (if known) of the pickup location within a city. Full wordy description of the pickup Date of the car pickup Time of the car pickup Airport of city code of the drop off location Travelpack reference of the drop off location Full wordy description of the dropoff Date of the car drop off Time of the car drop off. All car rentals are based upon 24 hour rental cycles, so time is important. Standard GDS coding for car hire company Standard GDS coding for car type Number of cars required IATA code of citizenship country of customer Drivers age IP Address of the customer (999.999.999.999)

One of PickupCity, PickupLocation or FullPickupLocation must be specified. The same is true for the drop off.

Car Search - Example

<Request> <CarSearch> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <SessionId>73298072011574</SessionId> <PickupCity>MCO</PickupCity> <PickupDate>070208</PickupDate> <PickupTime>1200</PickupTime> <DropoffCity>MCO</DropoffCity> <DropoffDate>140208</DropoffDate> <DropoffTime>1200</DropoffTime> <Company> </Company> <CarType></CarType> <NoRequired>1</NoRequired> <Citizenship>GB</Citizenship> <DriverAge>40</DriverAge> <IPAddress>127.0.0.1</IPAddress> </CarSearch> </Request>

Car Reply
This message returns a number of available car hire options. It is sorted by the total price of the rental. A car may appear multiple times in the list depending on the insurance package the rate comes with. Lvl Tag 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
CarReply

Data Type

Notes

CarOption Format Company CarType Description Example PaxL PaxS BagL BagS Transmission AC Doors CarImage LuggageImage Price ItemRef X X(3) X(6) X(50) X(50) 9 9 9 9 X X X(6) X(..) X(..) X(19)

Repeats for each available car rate. (1) or (2) Standard GDS coding for car hire company Coding for car type Car type description An example of the car that will be available. This is only an example and a specific make/model cannot be guaranteed Number of adults the car can accommodate Number of children the car can accommodate Number of large cases the car can accommodate Number of small cases the car can accommodate (A)utomatic or (M)anual Air Conditioned (T/F) Number of Doors URL of Car Image URL of Luggage Image Reference of this fare, this will be required when holding the car in the shopping basket.

9(7).99 Total price of the rental

We support multiple formats of response. (Determined by the format tag). Most tags are supported by both formats, the differences are: Format 1 Company Format 2 Transmission AC Doors CarImage LuggageImage

Car Hire Reply Example


<?xml version="1.0"?> <CarReply> <CarOption> <Company>ZR</Company> <CarType>ECAR</CarType> <Description>Economy 2-Door Inclusive</Description> <Example>Kia Rio or similar</Example> <PaxL>2</PaxL> <PaxS>3</PaxS> <BagL>1</BagL> <BagS>1</BagS> <Price> 104.00</Price> <ItemRef>7329807201157401066</ItemRef> </CarOption> <CarOption> <Company>ZR</Company> <CarType>EDAR</CarType> <Description>Economy 4-Door Inclusive</Description> <Example>Kia Rio or similar</Example> <PaxL>2</PaxL> <PaxS>3</PaxS> <BagL>1</BagL> <BagS>1</BagS> <Price> 110.00</Price> <ItemRef>7329807201157401065</ItemRef> </CarOption> <CarOption> <Company>ZR</Company> <CarType>CCAR</CarType> <Description>Compact 2-Door Inclusive</Description> <Example>Dodge Neon or similar</Example> <PaxL>2</PaxL> <PaxS>3</PaxS> <BagL>1</BagL> <BagS>2</BagS> <Price> 113.00</Price> <ItemRef>7329807201157401064</ItemRef> </CarOption> .... <SessionId>73298072011574</SessionId> </CarReply>

Car Details
This message passes details about a car hire rate. This is for information only and it not required as part of the booking process if the user knows and understands the rules of the rental.

Lvl Tag 1 2 2 2 2 CarChoice Source AgentId Password ItemRef

Data Type X(6) X(6) X(6) X(19)

Mand Notes

Y Y Y Y

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Identifier of the fare from the car search reply

Example
<Request> <CarDetails> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <ItemRef>7329816286574101066</ItemRef> </CarDetails> </Request>

Car Detail Reply


This message returns details of the rate held, it also returns the pickup and drop off location that is going to be booked. Lvl Tag 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 3 3
CarDetailReply

Data Type X X(3) X(4) X(30) X(30) X(6) X X 9 9 9 9 X(19) X(3) X X(3) X(30) X(30) D(7) T(5) D(7) T(5) 999 X(50) XXX X(50)

Notes

Format Company CarType Description Example Door AC Transmission PaxL PaxS BagL BagS Price ItemRef PickupCity AirportPickup DropoffCity PickupLocation DropoffLocation PickupDate PickupTime DropoffDate DropoffTime Duration Examples CarExample Extra Code Description

Standard GDS coding for car hire company Standard GDS coding for car type Car type description An example of the car that will be available. This is only an example and a specific make/model cannot be guaranteed Number of doors (not necessarily numeric ie could be 2/4) Air Conditioned (T/F) (M)anual or (A)utomatic Number of adults the car can accommodate Number of children the car can accommodate Number of large cases the car can accommodate Number of small cases the car can accommodate Reference of this fare, this will be required when holding the car in the shopping basket. Airport or city code of the pickup (T)rue or (F)alse Airport or city code of the drop off Text description of the pickup location Text description of the drop off location Car hire pickup date Car hire pickup time Car hire drop off date Car hire drop off time Number of rental days Car Model Example Reference for the Extra Description of the extra

9(7).99 Total price of the rental

3 3 3 3 2 3 3

Prepaid Amount Currency Applied Note Title Text

X XXX X

Prepayable (T)rue or (F)alse Currency of the extra (mainly for locally pre-bookable) (D)aily or (R)ental

9(7).99 Amount of the extra

X(100) Section Title X(..) Section Text

<CarDetailReply> <Format>1</Format> <CarImage>http://webtest01.holidayautos.co.uk/car_images/NonUSCars/fordcorsa_eb. jpg</CarImage> <Description>Economy</Description> <Example>VS-Ee2dr (or similar)</Example> <Doors>2</Doors> <AC>T</AC> <Transmission>M</Transmission> <PaxL>2</PaxL> <PaxS>2</PaxS> <BagL>0</BagL> <BagS>2</BagS> <Price> 42.00</Price> <PickupLocation>alicante airport</PickupLocation> <AirportPickup>T</AirportPickup> <PickupDate>01Mar2012</PickupDate> <PickupTime>12:00</PickupTime> <DropoffLocation>alicante airport</DropoffLocation> <DropoffDate>08Mar2012</DropoffDate> <DropoffTime>12:00</DropoffTime> <Duration>7</Duration> <Examples/> <Extra> <Code>51</Code> <Description>Additional driver</Description> <Prepaid>F</Prepaid> <Amount> 3.00</Amount> <Currency>EUR</Currency> <Applied>D</Applied> </Extra> <Extra> <Code>53</Code> <Description>Standard Damage Excess Waiver (SDEW)</Description> <Prepaid>T</Prepaid> <Amount> 20.93</Amount> <Currency>GBP</Currency> <Applied>R</Applied> </Extra> ... <Note> <Title>What%26apos;s Included?</Title> <Text>All prices are fully inclusive of airport fee, collision damage waiver, local taxes, theft waiver, third party liability insurance, theft protection and unlimited mileage.</Text> </Note> </CarDetailReply>

Car Location
The system will always default to choosing the default location in a given city for both the pickup and drop off. This is typically the airport. This message will allow the user to see all the drop off and pickup locations within the cities specified.

Lvl Tag 1 2 2 2 2 2 2 2 CarLocation Source AgentId Password SessionId Company PickupCity DropoffCity

Data Type X(6) X(6) X(6) X(14) X(3) X(3) X(3)

Mand Notes

Y Y Y Y Y Y Y

AGENT or client defined Agent's ABTA/TTA or account number Current Web password The current session Car hire company code Pickup location city code Drop off location city code (this needs to be sent even if the drop off and pickup locations are the same)

Example
<Request> <CarLocation> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <SessionId>73298164517361</SessionId> <Company>ZR</Company> <PickupCity>MCO</PickupCity> <DropoffCity>MCO</DropoffCity> </CarLocation> </Request>

Car Location Reply


This message returns all of the locations for a given city. It will return two LocationType items one for the pickup, one for the drop off. Lvl Tag 1 2 3 4 4 4 4
CarLocationReply

Data Type

Notes

LocationType LocationOption Location Name Address Code X(4) X(30) X(30) X(8)

First is pickup, second is drop off Each option for the given type The Travelpack code for this location Name of the location First line of the address of the location GDS location code (for information only)

The location code can be used to override the default location when putting a car rental fare into the shopping basket see CarChoice

Car Hire Location - Example


<?xml version="1.0"?> <CarLocationReply> <LocationType> <LocationOption> <Location>MCOA</Location> <Name>ORLANDO INTL AIRPORT</Name> <Address>9201 AIRPORT BLVD</Address> <Code>MCOT01</Code> </LocationOption> <LocationOption> <Location>ORLA</Location> <Name>GROSVENOR RESORT</Name> <Address>1850 HOTEL PLAZA BLVD</Address> <Code>ORLS01</Code> </LocationOption> <LocationOption> <Location>ORLB</Location> <Name>INTERNATIONAL DRIVE</Name> <Address>6515 INTERNATIONAL DRIVE</Address> <Code>ORLS02</Code> </LocationOption> <LocationOption> <Location>ORLC</Location> <Name>ORLANDO JETPORT</Name> <Address>2510 JETPORT DRIVE</Address> <Code>ORLS03</Code> </LocationOption> </LocationType> <LocationType> <LocationOption> <Location>MCOA</Location> <Name>ORLANDO INTL AIRPORT</Name> <Address>9201 AIRPORT BLVD</Address> <Code>MCOT01</Code> </LocationOption> <LocationOption> <Location>ORLA</Location> <Name>GROSVENOR RESORT</Name> <Address>1850 HOTEL PLAZA BLVD</Address> <Code>ORLS01</Code> </LocationOption> <LocationOption> <Location>ORLB</Location> <Name>INTERNATIONAL DRIVE</Name> <Address>6515 INTERNATIONAL DRIVE</Address> <Code>ORLS02</Code> </LocationOption> <LocationOption> <Location>ORLC</Location> <Name>ORLANDO JETPORT</Name> <Address>2510 JETPORT DRIVE</Address> <Code>ORLS03</Code> </LocationOption> </LocationType> </CarLocationReply>

Car Choice
This message stores a car item in to the current shopping basket. The item will then be stored ready for additional itinerary or completion of the booking. The response to this message is the same as all the shopping list modules and detailed in ShoppingBasketReply.

Lvl Tag 1 2 2 2 2 2 CarChoice Source AgentId Password ItemRef PickupFlag

Data Type X(6) X(6) X(6) X(19) X

Mand Notes

Y Y Y Y N

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Identifier of the fare from the car search reply Is the customer picking up from an airport and providing the inbound flight number (Y/N) If N then it is assumed they are a walk up customer Flight number if flag above is set to Y There are both prepaid and locally paid options. These need to be passed for booking (even the locally paid items). The tag names are ppField- plus the identifier returned in the car detail reply. The response is a number (even if it is only yes or no 1 or 0)

PickupFlightNo

X(7)

2 2

PpField-xx ClearBasket

9 A

1 N Y to clear the current basket, blank or N and the basket remains

Example

<CarChoice> <Source>TP</Source> <SessionId>73448542880712</SessionId> <ItemRef>7344854288071203001</ItemRef> <ppField-60>1</ppField-60> <ppField-51>1</ppField-51> <PickupFlag>Y</PickupFlag> <PickupFlightNo>ba123</PickupFlightNo> </CarChoice>

ExtraSearch
This message allows the user to search for generic extras. At the moment this is primarily for parking

Lvl Tag 1 2 2 2 2 2 2 2 2 2 2 ExtraSearch Source AgentId Password SessionId Airport DropoffDate DropoffTime ReturnDate ReturnTime Party

Data Type X(6) X(6) X(6) X(14) X(6) D(6) T(4) D(6) T(4) 99

Mand Notes

Y Y Y Y Y Y Y Y Y Y

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Current session id This code is a specific airport or port parking area code. Most are the same as the IATA for the airport Date of drop off Time of drop off Date of return transfer Time of pickup for return transfer Number of travellers in the car

Example
<Request> <ExtraSearch> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <SessionId>73298139017361</SessionId> <Airport>LGW</Airport> <DropoffDate>030108</DropoffDate> <DropoffTime>1200</DropoffTime> <ReturnDate>100108</ReturnDate> <ReturnTime>1200</ReturnTime> <Party>1</Party> </GetTransferRequest> </Request>

Extras Reply
This will return the extras that are valid along with some restrictions on their booking Lvl Tag 1 2 3 3 3 3 3 3
ExtrasReply

Data Type

Notes

ExtraOption Name Code Price GatePrice CarParkType ItemERef X(50) X(5)

Repeats for each available extra Description of the car park/offer Unique reference for this car park

9(7).99 Actual Price 9(7).99 Non discounted price X X(19) One of (O)n Airport, O(F)f airport or (M)eet and Greet Reference of this fare, this will be required when holding the option in the shopping basket. The following are a list of options that are required for booking. They value will be T for True if required or blank/F if not. Definition below specifies

3 3 3 3 3 3 3 3 3 3

NeedReg NeedMake NeedModel NeedColour NeedOutFlt NeedRtnFlt NeedOutTerm NeedRtnTerm NeedDest NeedMobile

X X X X X X X X X X

Registration mark of car to park

Outbound flight number Return flight number

Destination Mobile phone number to contact

Example
<?xml version="1.0"?> <ExtrasReply> <ExtraOption> <Name>Airparks Gatwick Park and Ride</Name> <Code>LGV4</Code> <Price> 26.50</Price> <GatePrice> 63.00</GatePrice> <CarParkType>F</CarParkType> <ItemERef>7344854280431201001000</ItemERef> <NeedReg>T</NeedReg> <NeedMake>T</NeedMake> <NeedModel>T</NeedModel> <NeedColour>T</NeedColour> <NeedOutFlt/> <NeedRtnFlt>T</NeedRtnFlt> <NeedOutTerm/><NeedRtnTerm/> <NeedDest/><NeedMobile/> </ExtraOption> .... </ExtrasReply>

Extra Choice
This message stores an extra item in to the current shopping basket. The item will then be stored ready for additional itinerary or completion of the booking. The response to this message is the same as all the shopping list modules and detailed in ShoppingBasketReply.

Lvl Tag 1 2 2 2 2 2 ExtraChoice Source AgentId Password ItemRef ClearBasket

Data Type X(6) X(6) X(6) X(19) A

Mand Notes

Y Y Y Y N

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Identifier of the fare from the transfer search reply Y to clear the current basket, blank or N and the basket remains Additional field values now depend on what was required in the initial search. Each request should be returned with cp in front of the tag (see below)

Example
<Request> <ExtraChoice> <Source>TP</Source> <SessionId>73448542880712</SessionId> <ItemRef>7344854288071201002000</ItemRef> <cpNeedReg>YFC56 TCX</cpNeedReg> </ExtraChoice> </Request>

Get Transfer Request


The transfer search message allows the user to look for available transfers within a given city.

Lvl Tag 1 2 2 2 2 2 2 2 2 2 2 2 2 2 GetTransferRequest Source AgentId Password SessionId Airport Hotel OutDate OutTime RetfDate RetTime Adults Children Infants

Data Type X(6) X(6) X(6) X(14) X(3) X(6) D(6) T(4) D(6) T(4) 999 999 999

Mand Notes

Y Y Y Y Y N Y Y Y Y Y Y Y

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Current session id Airport code for the pickup Travelpack hotel reference Date of the pickup from airport Time of the pickup from airport Date of return transfer Time of pickup for return transfer Number of adults to transfer Number of children to transfer Number of infants to transfer

Example
<Request> <GetTransferRequest> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <SessionId>73298139017361</SessionId> <Airport>GOI</Airport> <Hotel></Hotel> <OutDate>030108</OutDate> <OutTime>1200</OutTime> <RetDate>100108</RetDate> <RetTime>1200</RetTime> <Adults>1</Adults> <Children>0</Children> <Infants>0</Infants> </GetTransferRequest> </Request>

Get Transfer Reply


This message returns a number of available transfer options. It is sorted by the total price of the transfer (for the whole party) Lvl Tag 1 2 3 3 3 3 3 3
GetTransferReply

Data Type

Notes

TransferOption Airport Hotel Transfer Description ItemRef Price X(3) X(30 X(6) X(30) X(19)

Repeats for each available transfer rate. Standard GDS coding for airport code Hotel Name The travelpack reference for the transfer Description of the transfer Reference of this fare, this will be required when holding the car in the shopping basket.

9(7).77 Total price of the transfer

Example
<?xml version="1.0"?> <GetTransferReply> <TransferOption> <Airport>GOI</Airport> <Hotel>RAMADA CARAVELA BEACH RESORT</Hotel> <Transfer>GOIAHA</Transfer> <Description>Goa: Apt-Htl-Apt by A/C SIC</Description> <ItemRef>7329813901736101001000</ItemRef> <Price>15.00</Price> </TransferOption> <TransferOption> <Airport>GOI</Airport> <Hotel>CIDADE DE GOA HOTEL</Hotel> <Transfer>GOIAHA</Transfer> <Description>Goa: Apt-Htl-Apt by A/C SIC</Description> <ItemRef>7329813901736101002000</ItemRef> <Price>15.00</Price> </TransferOption> .... </GetTransferReply>

Transfer Choice
This message stores a transfer item in to the current shopping basket. The item will then be stored ready for additional itinerary or completion of the booking. The response to this message is the same as all the shopping list modules and detailed in ShoppingBasketReply.

Lvl Tag 1 2 2 2 2 2 TransferChoice Source AgentId Password ItemRef ClearBasket

Data Type X(6) X(6) X(6) X(19) A

Mand Notes

Y Y Y Y N

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Identifier of the fare from the transfer search reply Y to clear the current basket, blank or N and the basket remains

Example
<Request> <TransferChoice> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <ItemRef>7329813901736101002000</ItemRef> <ClearBasket>Y</ClearBasket> </TransferChoice> </Request>

Insurance Search
The insurance search message allows the user to look for available insurance for a given area and party breakdown.

Lvl Tag 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 InsuranceSearch Source AgentId Password SessionId AreaofTravel StartDate EndDate Age1 Age2 Age3 Age4 Age5 Age6 Age7 Age8 Age9

Data Type X(6) X(6) X(6) X(14) X(40) D(6) D(6) 99 99 99 99 99 99 99 99 99

Mand Notes

Y Y Y Y Y Y Y Y N N N N N N N N

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Current session id Fixed Area of Travel Start date of insurance End date of insurance Age of Passenger 1 Age of Passenger 2 Age of Passenger 3 Age of Passenger 4 Age of Passenger 5 Age of Passenger 6 Age of Passenger 7 Age of Passenger 8 Age of Passenger 9

Example
<Request> <InsuranceSearch> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <SessionId></SessionId> <AreaofTravel>Worldwide</AreaofTravel> <StartDate>010809</StartDate> <EndDate>150809</EndDate> <Age1>43</Age1> <Age2>41</Age2> <Age3>17</Age3> <Age4>12</Age4> </InsuranceSearch> </Request>

Insurance Reply
This message returns a number of available transfer options. It is sorted by the total price of the transfer (for the whole party) Lvl Tag 1 2 2 3 3 3 3
InsuranceReply

Data Type X(80) X(19) X(80) X(80)

Notes

DisclosureURL InsuranceOption ItemRef Description Price ProductURL

URL to a PDF of the disclosure Repeats for each option Item Reference for this option Brief description of the cover URL to a PDF of the product

9(7).99 Total premium

Example
<?xml version="1.0"?> <InsuranceReply> <DisclosureURL>http:// /ukpdf/PolicyWording-...pdf</DisclosureURL> <InsuranceOption> <Description>Worldwide exc Americas - Single Trip ...</Description> <Price> 56.97</Price> <ProductURL>http:// . /ukpdf/PolicyWording-....pdf</ProductURL> </InsuranceOption> .... </InsuranceSearchReply>

Insurance Choice
This message stores an insurance item in to the current shopping basket. The item will then be stored ready for additional itinerary or completion of the booking. The response to this message is the same as all the shopping list modules and detailed in ShoppingBasketReply.

Lvl Tag 1 2 2 2 2 2 InsuranceChoice Source AgentId Password ItemRef ClearBasket

Data Type X(6) X(6) X(6) X(19) A

Mand Notes

Y Y Y Y N

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Identifier of the fare from the insurance reply Y to clear the current basket, blank or N and the basket remains

Example
<Request> <InsuranceChoice> <Source>TP</Source> <AgentId></AgentId> <Password></Password> <ItemRef>7329813901736101002000</ItemRef> <ClearBasket>Y</ClearBasket> </InsuranceChoice> </Request>

Package Search
The package search message allows the user to look for a package. This is made up from a number of components some of which can be chosen. The pricing for the package will be for the compete itinerary. Note: At the moment packages are only available to GOI and MRU. Lvl Tag 1 2 2 2 2 2 2 2 2 2 3 3 2 3 3 3 2 2 2 PackageSearch Source AgentId Password SessionId From To DepDate RetDate Room Adt Chd ChildAges ChAg1 ChAg2 ... ChAg10 IncHotel IncCar IncTransfer 99 A A A N Y Y Y Age of child 10 (Y) Include hotels in the search, (N) do not include. All packages will have a flight element (Y) Include car hire or (N) to not include (Y) Include transfers to the hotel. It is upto the user to send the right combination of requests, the system will happily provide both a transfer and car hire if requested to do so! 99 99 N N 999 999 Y Y X(6) X(6) X(6) X(14) X(3) X(3) D(6) D(6) Y Y Y Y Y Y Y Y AGENT or client defined Agent's ABTA/TTA or account number Current Web password Current session id Airport code for the departing airport Airport code for the arriving airport. Packages assume that the out and back route are the same (ie no open jaws) Departure date of the package Return date Repeated 4 times Number of adults in the room Number of children in the room The children's ages are mapped to the rooms above. The first child defined in child 1 etc. Age of child 1 Age of child 2 Data Type Mand Notes

Package Search Example


<Request> <PackageSearch> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <SessionId>73298139017361</SessionId> <From>LGW</From> <To>GOI</To> <DepDate>010308</DepDate> <RetDate>160308</RetDate> <Room> <Adt>2</Adt> <Chd>0</Chd> </Room> <Room> <Adt>0</Adt> <Chd>0</Chd> </Room> <Room> <Adt>0</Adt> <Chd>0</Chd> </Room> <Room> <Adt>0</Adt> <Chd>0</Chd> </Room> <ChildAges> <ChAg1></ChAg1> <ChAg2></ChAg2> <ChAg3></ChAg3> <ChAg4></ChAg4> <ChAg5></ChAg5> <ChAg6></ChAg6> <ChAg7></ChAg7> <ChAg8></ChAg8> <ChAg9></ChAg9> <ChAg10></ChAg10> </ChildAges> <IncHotel>Y</IncHotel> <IncCar>N</IncCar> <IncTransfer>Y</IncTransfer> </PackageSearch> </Request>

Package Reply
This message returns a number of options that can be put together as a package. Initially the flight details are shown then followed by all the hotel options. The individual prices of the options need to be added together to get the package price. Lvl Tag 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3
PackageReply

Data Type

Notes

FlightOption OutFrom OutTo OutCarrier OutDepDate OutDepTime OutArrDate OutArrTime OutVia OutFltNos OutAvail RtnFrom RtnTo RtnCarrier RtnDepDate RtnDepTime RtnArrDate RtnArrTime RtnVia RtnFltNos InAvail FltItem FltPrice HotelOption HotelRef HotelName Rating CheckInDate CheckOutDate X(6) X(30) X D(11) D(11) X(3) X(3) X(3) D(11) T(5) D(11) T(5) X(3) X(..) 999 X(3) X(3) X(3) D(11) T(5) D(11) T(5) X(3) X(..) 999 X(19)

Repeats for each available transfer rate. Airport code for outbound departure point Airport code for outbound arrival point Carrier code for outbound flight Outbound departure date Outbound departure time Outbound arrival date Outbound arrival time Airport code of any via point Outbound flight numbers Pointer to outbound flight leg Airport code for inbound departure point Airport code for inbound arrival point Carrier code for inbound flight Inbound departure date Inbound departure time Inbound arrival date Inbound arrival time Airport code of inbound via point Flight numbers of the inbound flight Pointer to the inbound flight Item reference for this flight combination. This is required when holding this flight Repeats for all the hotels found Travelpack reference for this hotel Hotel name Hotel Star Rating Hotel arrival date Hotel departure date

9(7).99 The total price for this flight for th given party including any taxes

3 3 4 4 4 4 2 2

HotPrice Rooms Room Meal HotItem Extra Order SessionId

9(7).99 Total price for this hotel for the complete party for the given duration. Repeated for each room X(40) X(40) X(19) Room description Meal plan related to the rate Reference for this hotel/room rate. This will be required when holding the room. This specifies the order in which the search has come back in. This can be (H)otel, (C)ar or (F)light Current session number

A X(14)

This response is returned each time either a search or a change to the order is specified. This allows the customer the opportunity to change elements within the package. So by default the search will return one flight combination and many hotel combinations that will work with it. If you alter the order to (F)light, then the response will be one hotel option and many flights options. The same applies if you are using Cars. Transfer options are tied to the individual hotel and thus cannot

Package Reply Example


<?xml version="1.0"?> <PackageReply> <FlightOption> <OutFrom>LGW</OutFrom> <OutTo>GOI</OutTo> <OutCarrier>MON</OutCarrier> <OutDepDate>Sat 01Mar08</OutDepDate> <OutDepTime>18:10</OutDepTime> <OutArrDate>Sun 02Mar08</OutArrDate> <OutArrTime>09:10</OutArrTime> <OutVia></OutVia> <OutFltNos>MON2490</OutFltNos> <OutAvail>001</OutAvail> <RtnFrom>GOI</RtnFrom> <RtnTo>LGW</RtnTo> <RtnCarrier>MON</RtnCarrier> <RtnDepDate>Sun 16Mar08</RtnDepDate> <RtnDepTime>10:50</RtnDepTime> <RtnArrDate>Sun 16Mar08</RtnArrDate> <RtnArrTime>15:50</RtnArrTime> <RtnVia></RtnVia> <RtnFltNos>MON2491</RtnFltNos> <InAvail>002</InAvail> <FltItem>7329813901736101001</FltItem> <FltPrice> 866.00</FltPrice> </FlightOption> <HotelOption> <HotelRef>074738</HotelRef> <HotelName>VILLAGE ROYAL</HotelName> <Rating>3</Rating> <CheckinDate>Sun 02Mar08</CheckinDate> <CheckoutDate>Sun 16Mar08</CheckoutDate> <HotPrice> 196.00</HotPrice> <Rooms> <Room>Non Air Conditioned</Room> <Meal>Bed %26 Breakfast</Meal> <HotItem>7329813901736102033</HotItem> <Extra>Included</Extra> </Rooms> </HotelOption> <HotelOption> <HotelRef>076079</HotelRef> <HotelName>SOMY RESORTS PVT LTD</HotelName> <Transfer>Goa: Apt-Htl-Apt by A/C SIC</Transfer> <TrnItem>7329813901736103016</TrnItem> <CheckinDate>Sun 02Mar08</CheckinDate> <CheckoutDate>Sun 16Mar08</CheckoutDate> <HotPrice> 226.00</HotPrice> <Rooms> <Room>Non Air Conditioned</Room> <Meal>Bed %26 Breakfast</Meal> <HotItem>7329813901736102036</HotItem> <Extra>Included</Extra> </Rooms> </HotelOption> <Order>H</Order> <SessionId>73298139017361</SessionId>

</PackageReply>

Package Alter
The default package response is to show one flight and then a list of applicable ground services. In most cases this will be a list of hotels. To allow the customer to change the flight for another, the PackageAlter message allows you to change the response. Note: The search will not happen again only the formatting of the message will be returned. The response to this message is PackageReply as detailed above Lvl Tag 1 2 2 2 2 PackageAlter Source AgentId Password Sort X(6) X(6) X(6) A Y Y Y Y AGENT or client defined Agent's ABTA/TTA or account number Current Web password Which item do you wish to be the listed item (in the below example we are asking for flight details to be listed). The hotel (in this example) will only be returned once. Pointer to the flight fare Pointer to the given outbound availability chosen for the fare Pointer to the given inbound availability chosen for the fare Pointer to the hotel fare (if requested) Pointer to the car fare (if requested) Data Type Mand Notes

3 2 2 2 2

FltItem OutAvail InAvail HotItem CarItem

X(19) 999 999 X(19) X(19)

Y Y Y N N

The server will hold the session data to allow the user to view in different ways and returning to something already seen is possible.

Example
<Request> <PackageAlter> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <Sort>F</Sort> <FltItem>7329816871180601001</FltItem> <OutAvail>001</OutAvail> <InAvail>002</InAvail> <HotItem>7329816871180602033</HotItem> </PackageAlter> </Request>

Package Choice
This message stores a package item in to the current shopping basket. The item will then be stored ready for additional itinerary or completion of the booking. The response to this message is the same as all the shopping list modules and detailed in ShoppingBasketReply.

Lvl Tag 1 2 2 2 2 2 2 2 2 2 PackageChoice Source AgentId Password FltItem OutAvail InAvail HotItem CarItem ClearBasket

Data Type X(6) X(6) X(6) X(19) 999 999 X(19) X(19) A

Mand Notes

Y Y Y Y Y Y N N N

AGENT or client defined Agent's ABTA/TTA or account number Current Web password The flight item Availability pointer for outbound Availability pointer for inbound The hotel item (if searched for) The car item (if searched for) Y to clear the current basket, blank or N and the basket remains

Example
<Request> <PackageChoice> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <FltItem>7329813901736101001</FltItem> <OutAvail>001</OutAvail> <InAvail>002</InAvail> <HotItem>7329813901736102033</HotItem> <ClearBasket>Y</ClearBasket> </PackageChoice> </Request>

Tour City Search Request


The tour city search message allows the user to look for all the holidays that start at a given city. It will return details on the tour and valid departure dates.

Lvl Tag 1 2 2 2 2 2 TourCitySearchRequest Source AgentId Password SessionId City

Data Type X(6) X(6) X(6) X(14) X(3)

Mand Notes

Y Y Y Y Y

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Current session id City code to check

<Request> <TourCitySearchRequest> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <SessionId></SessionId> <City>YYZ</TourCode> </TourCitySearchRequest> </Request>

Tour City Search Reply


It will return details on the tour and valid departure dates. Lvl Tag 1 2 2 3 3 3 4 TourCitySearchReply
SessionId

Data Type X(14) X(6) X(50) X(10)

Notes

Current Session Repeats for each tour found Code of the tour Basic description of the holiday Valid departure date (DD/MM/YYYY)

Tour Code Name Dates Date

<Reply> <TourCitySearchReply> <Tour> <Code>DELC5D</Code> <Name>DELTA CHELSEA PACKAGE 1</Name> <Dates> <Date>20/06/2011</Date> <Date>21/06/2011</Date> </Dates> </Tour> . . . </TourCitySearchReply> </Reply>

Tour Search Request


The tour search message allows the user to look for a holiday. This is a fixed itinerary and requires the caller to know the tour code for the holiday. This is gained by the TourCitySearchRequest responses.

Lvl Tag 1 2 2 2 2 2 2 2 3 3 2 3 3 3 TourSearchRequest Source AgentId Password SessionId TourCode DepDate Room Adt Chd ChildAges ChAg1 ChAg2 ... ChAg10

Data Type X(6) X(6) X(6) X(14) X(6) D(6) 999 999

Mand Notes

Y Y Y Y Y Y Y Y

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Current session id Tour code of the holiday Departure date Repeated 4 times Number of adults in the room Number of children in the room The children's ages are mapped to the rooms above. The first child defined in child 1 etc.

99 99 99

N N N

Age of child 1 Age of child 2 Age of child 10

Tour Search Example


<Request> <TourSearchRequest> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <SessionId>73298139017361</SessionId> <TourCode>YYZIAG</TourCode> <DepDate>010308</DepDate> <Room> <Adt>2</Adt> <Chd>0</Chd> </Room> <Room> <Adt>0</Adt> <Chd>0</Chd> </Room> <Room> <Adt>0</Adt> <Chd>0</Chd> </Room> <Room> <Adt>0</Adt> <Chd>0</Chd> </Room> <ChildAges> <ChAg1></ChAg1> <ChAg2></ChAg2> <ChAg3></ChAg3> <ChAg4></ChAg4> <ChAg5></ChAg5> <ChAg6></ChAg6> <ChAg7></ChAg7> <ChAg8></ChAg8> <ChAg9></ChAg9> <ChAg10></ChAg10> </ChildAges> </TourSearchRequest> </Request>

Tour Search Reply


This message returns the result of a pricing & availability check on a specific tour departure date. It will detail the itinerary as well as the pricing. Lvl Tag 1 2 2 2 2 2 2 2
TourSearchReply SessionId TourCode Name Date Status GrossPrice ItemRef

Data Type X(14) X(6) X(50) D(13) XX

Notes

Current Session Reference of the tour Description of the tour Pretty version of the Departure Date (Day DDMonYYYY) Status of the tour OK (Available), RQ (On Request) or XX (Not available) Reference to use to hold this itinerary

9(7).99 Total price of all the party X(19)

Tour Reply Example


<?xml version="1.0"?> <Reply> <TourSearchReply> <SessionId>73298139017361</SessionId> <TourCode>YYZIAG</TourCode> <Name>TORONTO %26 NIAGARA FALL 6DAYS</Name> <Date>Sat 18Jun2011</Date> <Status>RQ</Status> <GrossPrice> 950.00</GrossPrice> <ItemRef>7342933482981201001</ItemRef> </TourSearchReply> </Reply>

Tour Choice
This message stores a tour item in to the current shopping basket. The item will then be stored ready for additional itinerary or completion of the booking. The response to this message is the same as all the shopping list modules and detailed in ShoppingBasketReply.

Lvl Tag 1 2 2 2 2 2 TourChoice Source AgentId Password ItemRef ClearBasket

Data Type X(6) X(6) X(6) X(19) A

Mand Notes

Y N N Y N

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Identifier of the fare from the hotel search reply Y to clear the current basket, blank or N and the basket remains

Example
<Request> <TourChoice> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <ItemRef>7329807201157401030</ItemRef> <ClearBasket>Y</ClearBasket> </TourChoice> </Request>

Add to Basket
This message will add itinerary to the basket (this is non bookable product that has been built elsewhere) and is used only for creating a Chameleon booking. At this stage there are three service types (Flights, Insurance and General). General is used to pickup any other form of itinerary. The response to this message is the same as all the shopping list modules and detailed in ShoppingBasketReply.

Lvl Tag 1 2 2 2 2 3 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 3 4 AddToBasket Source AgentId Password Itinerary Flight From To Carrier FlightNo DepDate DepTime ArrDate ArrTime Class Supplier Locator Pricing Adts AdtCost AdtPrice Chds ChdCost ChdPrice Infs InfCost InfPrice General Description

Data Type X(6) X(6) X(6)

Mand

Notes

Y N N

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Repeat for each type of itinerary

X(3) X(3) X(3) X(4) X(6) T(4) D(6) T(4) X X(6) X(15)

Y Y Y Y Y Y Y Y Y Y Y

Departure airport Arrival Airport IATA Carrier code Flight number without Carrier Code Departure Date (DDMMYY) Departure Time (HHMM) Arrival Date (DDMMYY) Arrival Time (HHMM) Class of Travel Chameleon supplier code Supplier locator. For GDS(s) first character should be either (S)abre, (W)orldspan, (A)madeus or (G)alileo Number of Adults Adult Cost Adult Price Number of Children Child Cost Child Price Number of Infants Infant Cost Infant Price Text description of the tax value

999 9(7).99 9(7).99 999 9(7).99 9(7).99 999 9(7).99 9(7).99 X(60)

Y Y Y Y Y Y Y Y Y Y

4 4 3 4 4 4 4 3 4

StartDate Duration Insurance PolicyName InsStartDate InsDuration DurInd Tax Description

D(6) 999 X(60) D(6) 999 X X(60)

N N Y Y Y Y Y

Start Date of the Service Duration of the Service Textual information on the policy Start date of the policy Numeric of duration Duration Indicator (D)ays, (W)eeks, (M)onths or (Y)ears Text description of the tax value

Example
<Request> <AddToBasket> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <Itinerary> <Flight> <From>LHR</From> <To>YYZ</To> <Carrier>BA</Carrier> <FlightNo>123</FlightNo> <DeptDate>011211</DeptDate> <DeptTime>1900</DeptTime> <ArrDate>021211</ArrDate> <ArrTime>0900</ArrTime> <Class>Y</Class> </Flight> <Locator>SJ28K2J</Locator> <Supplier>BSP</Supplier> <Pricing> <Adts>1</Adts> <AdtCost>100.00</AdtCost> <AdtPrice>110.00</AdtPrice> </Pricing> </Itinerary> <Itinerary> <Tax> <Description>Airport Taxes</Description> </Tax> <Supplier>BSP</Supplier> <Pricing> <Adts>1</Adts> <AdtCost>10.00</AdtCost> <AdtPrice>11.00</AdtPrice> </Pricing> </Itinerary> <Itinerary> <General> <Description>Some other service</Description> </General> <Supplier>XXX</Supplier> <Pricing> <Adts>1</Adts> <AdtCost>15.00</AdtCost> <AdtPrice>16.00</AdtPrice> </Pricing> </Itinerary> </AddToBasket> </Request>

Shopping Basket Reply


The shopping basket reply will depend on what items are returned. The pricing information is consistent, but the itinerary 'Choices' will depend on what is held so far. Lvl 1 2 2 2 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 2 3 3 3 3 Tag ShoppingBasketReply Item Count HoldStatus FlightChoice Leg From To DepDate DepTime ArrDate ArrTime Carrier FltNo DepTerminal ArrTerminal MealCode Equip Miles Time GroundTime LegType Cabin Seats ItemFRef InsuranceChoice Description StartDate EndDate ItemIRef X(80) D(7) D(7) X(16) Policy Description Start date of the policy End date of the policy Reference for this item X(3) X(3) D(11) T(5) D(11) T(5) X(3) X(4) X X X(3) X(3) 9999 T(5) T(5) 9 9 9 X(16) Departure airport code Arrival airport code Departure date of leg Departure time of leg Arrival date of leg Arrival time of leg Code of carrier used for this leg Flight number for this leg Departure terminal (if known) Arrival terminal (if known) Meal provided on the flight (CRS codes) IATA code for the aircraft in this leg Number of miles on this leg Elapsed time for this leg Amount of time on the ground for this leg For one ways this will always be 1. For returns, the outbound legs will be marked with 1, the inbound legs will be marked with 2. Cabin one of (1-First,2-Business,3-Premium, 4-Economy) Number of seats remaining for this fare Fare reference for this leg 99 XX Number of items in the shopping basket Status is OK or RQ (default to OK if not provided) Data Type Notes

2 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 2 2 3

TransferChoice TRF_Description TRF_Airport TRF_Hotel TRF_ArrivalDate TRF_ArrivalTime TRF_DepartureDate TRF_DepartureTime ItemXRef CarChoice ItemCRef Company CarType Description Example PaxL PaxS BagL BagS PickupCity PickupLocation PickupDate PickupTime DropoffCity DropoffLocation DropoffDate DropoffTime CarImage PricingInfo No Item Price Total TotalPrice BookingInfo Adults 999 Current number of adults held 999 X(..) Number of times this is multiplied Free format text describing the pricing item X(16) XXX X(6) X(30) X(50) 9 9 9 9 XXX X(50) D(11) T(5) X(3) X(50) D(11) T(5) Reference for this item Car Hire Company GDS Code for the car Car Type description Example of the car type Number of adults Number of children Number of large bags Number of small bags Pickup City code Pickup location name Format DDD DDMonYY Format HH:MM Drop off city code Drop off location name Format Day DDMonYY Format HH:MM X(30) X(3) X(6) D(7) T(5) D(7) T(5) X(16) Description of the transfer Airport code of transfer start & end Hotel code of transfer Arrival Date of customer at airport Arrival Time of customer at airport Departure date from hotel on return Departure time from hotel on return Reference for this item

X(100) Full URL of a small car image

9(7).99 The individual amount of this pricing item 9(7).99 Number of items x the amount 9(7).99 Total of all the itinerary

3 3 3 3

Children Infants ChildDOB InfantDOB

999 999 D(8) D(8)

Current number of children held Current number of infants held The last date a passenger stops becoming a child (format DDMMYYYY) The last date a passenger stops becoming an infant (format DDMMYYYY)

Shopping Basket Example


<?xml version="1.0"?> <ShoppingBasketReply> <ItemCount>1</ItemCount> <HoldStatus>OK</HoldStatus> <FlightChoice> <Leg> <From>LHR</From> <To>GVA</To> <DepDate>Sat 01Mar08</DepDate> <DepTime>15:05</DepTime> <ArrDate>Sat 01Mar08</ArrDate> <ArrTime>17:45</ArrTime> <Carrier>BA</Carrier> <FltNo>0734</FltNo> <DepTerminal>4</DepTerminal> <ArrTerminal>M</ArrTerminal> <MealCode>MS</MealCode> <Equip>319</Equip> <Miles>466</Miles> <Time>01:40</Time> <Cabin>4</Cabin> <Seats>5</Seats> <ItemFRef>7329805803240701</ItemFRef> </Leg> <Leg> <From>GVA</From> <To>LGW</To> <DepDate>Sat 08Mar08</DepDate> <DepTime>07:10</DepTime> <ArrDate>Sat 08Mar08</ArrDate> <ArrTime>07:50</ArrTime> <Carrier>BA</Carrier> <FltNo>2735</FltNo> <DepTerminal>M</DepTerminal> <ArrTerminal>N</ArrTerminal> <MealCode>MS</MealCode> <Equip>733</Equip> <Miles>466</Miles> <Time>01:40</Time> <Cabin>4</Cabin> <Seats>5</Seats> <ItemFRef>7329805803240701</ItemFRef> </Leg> </FlightChoice> <PricingInfo> <No>1</No> <Item>1 x Adult Ticket</Item> <Price> 36.00</Price> <Total>36.00</Total> </PricingInfo> <PricingInfo> <No>1</No> <Item>1 x Adult Airport Tax</Item> <Price> 53.30</Price> <Total>53.30</Total> </PricingInfo> <PricingInfo>

<No>1</No> <Item>1 x Adult Scheduled Airline Failure Insurance</Item> <Price> 2.00</Price> <Total>2.00</Total> </PricingInfo> <PricingInfo> <No>1</No> <Item>1 x Booking Fee</Item> <Price>10.00</Price> <Total>10.00</Total> </PricingInfo> <TotalPrice>101.30</TotalPrice> <BookingInfo> <Adults>1</Adults> <Children>0</Children> <Infants>0</Infants> <ChildDOB>09031996</ChildDOB> <InfantDOB>09032006</InfantDOB> </ShoppingBasketReply>

Show Shopping Basket


This message allows you to see the contents of the shopping basket at any stage. The shopping basket will be available whilst the session is alive. The session Id is all that is required to see the current picture. The response will be detailed as above by ShoppingBasketReply. Request

Lvl Tag 1 2 2 2 2 ShowBasket Source AgentId Password


ItemRef

Data Type X(6) X(6) X(6) X(14)

Mand Notes

Y Y Y Y

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Current session id

Example
<Request> <ShowBasket> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <ItemRef>73298058032407</ItemRef> </ShowBasket> </Request>

Remove an item from the Shopping Basket


This message allows the user to remove a service from the current shopping basket. In addition to the session number, the individual service number will be required. The response to this message is detailed above in ShoppingBasketReply. Request

Lvl Tag 1 2 2 2 2 RemoveItem Source AgentId Password


ItemRef

Data Type X(6) X(6) X(6) X(19)

Mand Notes

Y Y Y Y

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Shopping basket item to remove

Example
<Request> <RemoveItem> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <ItemRef>7329805803240701</ItemRef> </RemoveItem> </Request>

Example of an empty shopping basket


<?xml version="1.0"?> <ShoppingBasketReply> <ItemCount>0</ItemCount> </ShoppingBasketReply>

Suggest Product
This message assumes the customer has at least one item in their basket. This message will then suggest additional products that they may wish to use. This will be typically Parking, Insurance, Car Hire. Request

Lvl Tag 1 2 2 2 2 SuggestProduct Source AgentId Password


ItemRef

Data Type X(6) X(6) X(6) X(19)

Mand Notes

Y Y Y Y

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Shopping basket item to remove

Example
<Request> <SuggestProduct> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <ItemRef>7329805803240701</ItemRef> </SuggestProduct> </Request>

Make Agent Booking


Once you have created a shopping basket with at least one item in it you can call the make agent booking message to create an option booking. Request

Lvl Tag 1 2 2 2 2 2 2 MakeAgentBooking Source AgentId Password


Reference Status SessionId

Data Type X(6) X(6) X(6) X(20) A X(14)

Mand Notes

Y Y Y Y N Y

AGENT or client defined Agent's ABTA/TTA or account number Current Web password A user/booking reference from the agency 'O'ption or 'F'irm Booking Default to 'O' The session we are to create a booking from the system will book everything that is currently held in the shopping basket for this session Repeated for each passenger the first passenger name is expected to be the lead passenger.

2 3 3 3 3 3 3

Name Title Firstname Surname DOB Meals PaxType

X(4) X(15) X(25) X(8) X(4) A

Y Y Y Y N Y

Title of the passenger First name of the passenger Surname of the passenger Mandatory for all passenger types. Format : DDMMYYYY Optional IATA meal code Type of passenger, one of (A)dult, (C)hild or (I)nfant

Example
<Request> <MakeAgentBooking> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <Reference>tim</Reference> <SessionId>73298063130787</SessionId> <Name> <Title>Mr</Title> <Firstname>tim</Firstname> <Surname>travelpack</Surname> <DOB></DOB> <Meals></Meals> <PaxType>A</PaxType> </Name> </MakeAgentBooking> </Request>

Booking Response
Lvl Tag 1 2 2 2 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 2 3 3 3 3 2 2 3 3 3 3 3 3 BookingResponse BookingNo ItemCount FlightChoice Leg From To DepDate DepTime ArrDate ArrTime Carrier FltNo DepTerminal ArrTerminal MealCode Equip Miles Time ItemFRef PricingInfo No Item Price Total TotalPrice Name Title Firstname Surname DOB Meals PaxType X(4) X(15) X(25) D(7) X(4) A 999 X(..) 9(7).99 9(7).99 9(7).99 Number of times this is multiplied Free format text describing the pricing item The individual amount of this pricing item Number of items x the amount Total of all the itinerary Repeated for each passenger Title of the passenger First name of the passenger Surname of the passenger Mandatory for children and infants Optional IATA meal code Type of passenger, one of (A)dult, (C)hild or (I)nfant X(3) X(3) D(11) T(5) D(11) T(5) X(3) X(4) X X X(3) X(3) 9999 T(5) X(16) Repeat for each flight leg Departure airport code Arrival airport code Departure date of leg Departure time of leg Arrival date of leg Arrival time of leg Code of carrier used for this leg Flight number for this leg Departure terminal (if known) Arrival terminal (if known) Meal provided on the flight (CRS codes) IATA code for the aircraft in this leg Number of miles on this leg Elapsed time for this leg Fare reference for this leg X(6) 999 Travelpack booking reference Number of itinerary lines Data Type Notes

Booking Response Example


<?xml version="1.0"?> <BookingResponse> <BookingNo>G93157</BookingNo> <ItemCount>1</ItemCount> <FlightChoice> <Leg> <From>LGW</From> <To>GOI</To> <DepDate>Sat 02Feb08</DepDate> <DepTime>18:10</DepTime> <ArrDate>Sun 03Feb08</ArrDate> <ArrTime>09:10</ArrTime> <Carrier>MON</Carrier> <FltNo>2490</FltNo> <DepTerminal></DepTerminal> <ArrTerminal></ArrTerminal> <MealCode></MealCode> <Equip>332</Equip> <Miles></Miles> <Time></Time> <ItemFRef>7329806313078701</ItemFRef> </Leg> <Leg> <From>GOI</From> <To>LGW</To> <DepDate>Sun 10Feb08</DepDate> <DepTime>10:50</DepTime> <ArrDate>Sun 10Feb08</ArrDate> <ArrTime>15:50</ArrTime> <Carrier>MON</Carrier> <FltNo>2491</FltNo> <DepTerminal></DepTerminal> <ArrTerminal></ArrTerminal> <MealCode></MealCode> <Equip>332</Equip> <Miles></Miles> <Time></Time> <ItemFRef>7329806313078701</ItemFRef> </Leg> </FlightChoice> <PricingInfo> <No>1</No> <Item>1 x Adult Ticket</Item> <Price> 423.00</Price> <Total>423.00</Total> </PricingInfo> <TotalPrice>423.00</TotalPrice> <Name> <Title>Mr</Title> <Firstname>Tim</Firstname> <Surname>Travelpack</Surname> <DOB></DOB> <Meals></Meals> <PaxType>A</PaxType> </Name> </BookingResponse>

Booking List Request


This message allows the user to search for a list of Travelpack bookings. This can then be used by the booking display module. If you are aware of the Travelpack booking reference then this message is not required. The list is generated in reverse booked date order. (ie the latest booking first)

Lvl Tag 1 2 2 2 2 2 2 BookingListRequest Source AgentId Password Surname WhatStatus StartBooking

Data Mand Notes Type X(6) X(6) X(6) A X(6) Y Y Y N N AGENT or client defined Agent's ABTA/TTA or account number Current Web password Surname of the lead passenger to search for Show only bookings of the given status. This should be one of (O)ptions, (F)irm bookings or (C)ancelled bookings Start from this booking number. The system defaults to blank (Ie the first available). Note: This booking WILL NOT be returned this is used to point into the booking list. Number of responses (01-999) the system will default to 20 if nothing specified.

X(30) N

ListCount

999

Example
<Request> <BookingListRequest> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <Surname></Surname> <WhatStatus> </WhatStatus> <StartBooking></StartBooking> <ListCount>20</ListCount> </BookingListRequest> </Request>

Booking List Reply


This response lists upto 20 lines of bookings for the given selection criteria. The bookings are detailed in reverse booking order (last is first to be shown).

Lvl Tag 1 2 3 3 3 3 3 3 3 BookingListReply BookList BookingId CRSId AgencyRef BookingStatus LeadName DepartureDate OptionExpiry

Data Type

Notes

X(6) X(6) X(20) A(4) X(23) D(7) D(7)

The Travelpack booking reference PNR Locator if exists The contact given when the booking was made One of OPTN (Option), FIRM (Confirmed) or CANX (Cancelled) The lead passengers name (documentation will be made out to this person). Departure date of the first itinerary line For OPTN only bookings, a date when the option will expire

Example
<?xml version="1.0"?> <BookingListReply> <BookList> <BookingId>G93155</BookingId> <CRSId></CRSId> <AgentRef>david</AgentRef> <BookingStatus>OPTN</BookingStatus> <LeadName>MR T TEST1</LeadName> <DepartureDate>08Oct07</DepartureDate> <OptionExpiry>30Sep07</OptionExpiry> </BookList> <BookList> <BookingId>G93130</BookingId> <CRSId>LSW5UZ</CRSId> <AgentRef>TIM</AgentRef> <BookingStatus>OPTN</BookingStatus> <LeadName>MR T TRAVELPACK</LeadName> <DepartureDate>04Oct07</DepartureDate> <OptionExpiry>10Aug07</OptionExpiry> </BookList> .... </BookingListReply>

Booking Display Request


Given a Travelpack booking reference this message will show the user a summary of the booking made. This is similar to the invoice output.

Lvl Tag 1 2 2 2 2 2 DisplayBookingRequest Source AgentId Password BookingId Surname

Data Mand Notes Type X(6) X(6) X(6) X(6) Y Y Y Y AGENT or client defined Agent's ABTA/TTA or account number Current Web password Travelpack Booking reference to display Surname of the lead passenger

X(25) Y

Example
<Request> <DisplayBookingRequest> <Source>AGENT</Source> <AgentId>XML</AgentId> <Password>XML</Password> <BookingId>202310</BookingId> <Surname>BUSHELL</Surname> </DisplayBookingRequest> </Request>

Display Booking Reply


This message returns a potted display of the booking held on our system. It's detail is similar to the invoice print. Lvl Tag 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 2 3 3 3 3 DisplayBookingReply BookingDetails BookingId AgencyContact OurContact LeadName BookingStatus DepartureDate OptionExpiry CRS CRSType CRSId CRSName TotalAmount Commission CommissionVAT AgentDue CashReceived AmountDue NameDetails PaxNo PaxName ItinDetails ItinHeader ItinContent ItinStatus ItinPrice X(3) X(...) A(2) 9(7).99 Type of itinerary one of FLT, HOT, INS, CAR, VAN, TOR or GEN (General lines can be any other service) A description in text of the service being provided. The current status of the line (ie OK, RQ, WL etc) The gross price of this itinerary line 999 X(34) Passenger number (001-999) Passenger name X(6) X(20) X(40) X(23) A(4) D(7) D(7) A X(6) X(6) X(14) 9(7).99 9(7).99 9(7).99 9(7).99 9(7).99 9(7).99 The Travelpack booking reference The contact given when the booking was made The staff member at Travelpack who took the booking The lead passengers name (documentation will be made out to this person). One of OPTN (Option), FIRM (Confirmed) or CANX (Cancelled) Departure date of the first itinerary line For OPTN only bookings, a date when the option will expire Which GDS this booking was made in (if at all). One of (G)alileo, (W)orldspan, (S)abre, (A)madeus or (M)ulticom Sub type of CRS code (M). Examples: WWT (bmibaby), EZY (Easyjet) etc. The booking locator on the GDS (if booked via GDS) The surname of the passenger held on the GDS. This is to aid with links to the GDS's viewing itinerary web site. Total booking value Commission due to the agent VAT on the commission due to the agent Amount the agent should remit Any payments made (not just cash) The actual booking balance Data Type Notes

Display Booking Example


<?xml version="1.0"?> <Reply> <DisplayBookingReply> <BookingDetails> <BookingId>G93130</BookingId> <AgencyContact>TIM</AgencyContact> <OurContact>Web VD</OurContact> <LeadName>MR T TRAVELPACK</LeadName> <BookingStatus>OPTN</BookingStatus> <DepartureDate>04Oct07</DepartureDate> <OptionExpiry>10Aug07</OptionExpiry> <CRS>W</CRS> <CRSId>LSW5UZ</CRSId> <CRSName>TRAVELPACK</CRSName> <TotalAmount> 81.90</TotalAmount> <Commission> 0.00</Commission> <CommissionVAT> 0.00</CommissionVAT> <AgentDue> 81.90</AgentDue> <CashReceived> 0.00</CashReceived> <AmountDue> 81.90</AmountDue> </BookingDetails> <NameDetails> <PaxNo>001</PaxNo> <PaxName>Mr T Travelpack</PaxName> </NameDetails> <ItinDetails> <ItinHeader>FLT</ItinHeader> <ItinContent>LGW-GVA BA2738 Q 04Oct07 15:10 04Oct07 17:45</ItinContent> <ItinStatus>OK</ItinStatus> <ItinPrice> 23.00</ItinPrice> </ItinDetails> <ItinDetails> <ItinHeader>FLT</ItinHeader> <ItinContent>GVA-LGW BA2735 Q 11Oct07 07:20 11Oct07 08:00</ItinContent> <ItinStatus>OK</ItinStatus> <ItinPrice> 0.00</ItinPrice> </ItinDetails> <ItinDetails> <ItinHeader>GEN</ItinHeader> <ItinContent>Airport Tax (Subject to change)</ItinContent> <ItinStatus></ItinStatus> <ItinPrice> 46.90</ItinPrice> </ItinDetails> <ItinDetails> <ItinHeader>GEN</ItinHeader> <ItinContent>Scheduled Airline Service Fee</ItinContent> <ItinStatus></ItinStatus> <ItinPrice> 2.00</ItinPrice> </ItinDetails> <ItinDetails> <ItinHeader>GEN</ItinHeader> <ItinContent>Booking Fee</ItinContent> <ItinStatus></ItinStatus> <ItinPrice> 10.00</ItinPrice> </ItinDetails> </DisplayBookingReply> </Reply>

Confirm Booking Request


This message will allow the user to confirm a booking currently held with Travelpack.

Lvl Tag 1 2 2 2 2 2 2 ConfirmBookingRequest Source AgentId Password BookingId AgencyContact Message

Data Mand Notes Type X(6) X(6) X(6) X(6) Y Y Y Y AGENT or client defined Agent's ABTA/TTA or account number Current Web password Travelpack Booking reference to confirm Name of the person confirming the booking A message to send to Travelpack about the booking

X(40) Y X(80) N

Example
<Request> <ConfirmBookingRequest> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <BookingId>G93157</BookingId> <AgencyContact>tim</AgencyContact> <Message>Please issue a paper ticket</Message> </ConfirmBookingRequest> </Request>

Confirm Booking Reply


This message confirms that the confirmation has been received and actioned. Confirming a booking has certain commercial implications and changes and cancellation may attract charges.

Lvl Tag 1 2 2 2 ConfirmBookingReply BookingId FirmDate FirmTime

Data Notes Type X(6) D(7) T(8) Booking reference confirmed Current date Current time

Example
<?xml version="1.0"?> <Reply> <ConfirmBookingReply> <BookingId>G93157</BookingId> <FirmDate>30Oct07</FirmDate> <FirmTime>15:41:48</FirmTime> </ConfirmBookingReply> </Reply>

Cancel Booking Request


This message will allow the user to cancel a booking currently held with Travelpack. This is currently only allowed for scheduled air bookings. If the booking is confirmed, there will no doubt be cancellation charges. These will be administered manually after this action has taken place.

Lvl Tag 1 2 2 2 2 2 2 CancelBookingRequest Source AgentId Password BookingId AgencyContact Reason

Data Type X(6) X(6) X(6) X(6) X(40) X(80)

Mand Notes

Y Y Y Y Y N

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Travelpack Booking reference to confirm Name of the person cancelling the booking A reason for cancellation

Example
<Request> <CancelBookingRequest> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <BookingId>G93157</BookingId> <AgencyContact>tim</AgencyContact> <Reason>Customer can no longer travel</Reason> </CancelBookingRequest> </Request>

Cancel Booking Reply


This message confirms that the cancellation has been received and actioned. Cancelling a confirmed booking has certain commercial implications, the cancellation charges will be administered manually.

Lvl Tag 1 2 2 2 CancelBookingReply BookingId CancellationDate CancellationTime

Data Notes Type X(6) D(7) T(8) Booking reference cancelled Current date Current time

Example
<Reply> <CancelBookingReply> <BookingId>G93157</BookingId> <CancellationDate>30Oct07</CancellationDate> <CancellationTime>15:41:48</CancellationTime> </CancelBookingReply> </Reply>

Issue Ticket Request


This message will allow the user to request a ticket to be issued for a booking. This will currently only work for scheduled air bookings only. ** Note: Internal developers check the internal messaging specification. **

Lvl Tag 1 2 2 2 2 2 2 IssueTicketRequest Source AgentId Password BookingId AgencyContact IssueTicket

Data Type X(6) X(6) X(6) X(6) X(40) X

Mand Notes

Y Y Y Y Y N

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Travelpack Booking reference to issue Name of the person requesting ticket Issue the ticket. (Y)es or (N)o. This is optional and default to Y. You can use this option to resend an invoice or eticket after the ticket has been issued Send Eticket receipt (Y)es or (N)o. This is optional and will default to Y Email address of the where the eticket is to be sent, mandatory of SendEticket is set to Y. Ignored otherwise Send Invoice Email (Y)es or (N)o. This is optional and will default to Y Email address of where the invoice will be sent. This is mandatory if SendInvoice is set to Y and ignored if not.

2 2 2 2

SendEticket EticketEmail SendInvoice InvoiceEmail

X X(50) X X(50)

N ? N ?

Example
<Request> <IssueTicketRequest> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <BookingId>G93156</BookingId>

<AgencyContact>tim</AgencyContact> <EticketEmail>tim.bushell@travelpack.com</EticketEmail> <SendInvoice>N</SendInvoice>


</IssueTicketRequest> </Request>

IssueTicket Reply
The system will issue a ticket and create a PDF image of the eticket. This PDF will be emailed to the address provided.

Lvl Tag 1 2 2 2 2 3 3 2 3 IssueTicketReply BookingId Status Message TicketInfo Passenger TicketNo Locator GDS

Data Notes Type X(6) XX X(..) Booking Id issued Have we been able to issue the ticket. OK means it has completed successfully. ER means an error occurred while processing. Providing some feedback on ER responses (not returned for OK) Only provided on OK status X(70) Name of the Passenger the ticket relates to X(13) Ticket Number (Can repeat if there are multiple tickets for one passenger) X(2) Locator type typically the two character carrier code. Special ones for GDS 1P (Worldspan), 1A (Amadeus). 1A is the host for a number of airlines GDS/Airline locator

PNR

X(6)

Example
<Reply> <IssueTicketReply> <BookingId>G93157</BookingId> <Status>OK</Status> <TicketInfo> <Passenger>BUSHELL/TIM.MR</Passenger> <TicketNo>XXX1234567890C</TicketNo> </TicketInfo> <TicketInfo> <Passenger>BUSHELL/SARAH.MRS</Passenger> <TicketNo>XXX2234567890C</TicketNo> </TicketInfo> <Locator> <GDS>1P</GDS> <PNR>3G4WQW</PNR> </Locator> <Locator> <GDS>EK</GDS> <PNR>46AJ11</PNR> </Locator> </IssueTicketReply> </Reply>

Invoice Request
This message will allow the user to request an invoice for a given booking.

Lvl Tag 1 2 2 2 2 InvoiceRequest Source AgentId Password BookingId

Data Type X(6) X(6) X(6) X(6)

Mand Notes

Y Y Y Y

AGENT or client defined Agent's ABTA/TTA or account number Current Web password Travelpack Booking reference to invoice

Example
<Request> <InvoiceRequest> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <BookingId>G93156</BookingId> </InvoiceRequest> </Request>

Invoice Reply
The system will create a PDF image of the invoice and will send back the URL of both the Client copy and Agent copy files.

Lvl Tag 1 2 2 InvoiceReply AgentCopy ClientCopy

Data Notes Type X(...) Full URL and file name of the agent copy of the invoice X(...) Full URL and file name of the client copy of the invoice

Example
<Reply> <InvoiceReply> <AgentCopy>http://www.agents.travelpack.co.uk/docs/G93156Agent.pdf</AgentCopy> <ClientCopy>http://www.agents.travelpack.co.uk/docs/G93156Client.pdf</ClientCopy> </InvoiceReply> </Reply>

Statement Request
This message allows the user to request a statement on the fly. The system will create a PDF image of the current statement and return a URL of where the statement can be found. These documents will remain in place until the end of the day when they are deleted.

Lvl Tag 1 2 2 2 StatementRequest Source AgentId Password

Data Mand Notes Type X(6) X(6) X(6) Y Y Y AGENT or client defined Agent's ABTA/TTA or account number Current Web password

Example
<Request> <StatementRequest> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> </StatementRequest> </Request>

Statement Reply
This message returns a URL to the location of the statement produced. This file will remain on the server until the end of the current day. Lvl Tag 1 2 StatementReply PdfStatement X(...) Full URL and file name of the statement PDF Data Type Notes

Example
<?xml version="1.0"?> <Reply> <StatementReply> <PdfStatement>http://www.agents.travelpack.co.uk/docs/TED-291007.pdf </PdfStatement> </StatementReply> </Reply>

Booking Statistics Request


This message allows white label and meta search engines the ability to see how many bookings and other stats have been made over a period of dates

Lvl Tag 1 2 2 2 2 BookingStatsRequest Source Password FromDate EndDate

Data Mand Type X(6) X(6) D(6) D(6) Y Y Y Y

Notes

AGENT or client defined Current Stats password Valid Start Date (DDMMYY) Valid End Date (DDMMYY) Mandatory, for one day search load both dates with the same field.

Example
<Request> <BookingStatsRequest> <Source>XML</Source> <Password>TED</Password> <FromDate>010110</FromDate> <ToDate>010110</FromDate> </BookingStatsRequest> </Request>

Booking Statistics Reply


The system will return a breakdown of booking data for the dates given. One response per day.

Lvl Tag 1 2 2 3 3 3 3 3 3 3 BookingStatsReply Stat Date FlightSearches HotelSearches PackageSearches Clicks Passengers Bookings Conversion

Data Type

Notes

D(7) 9(7) 9(7) 9(7) 9(7) 9(5) 9(5) 9(3).99

Date being reported (DDMonYY) Number of flight searches Number of hotel searches Number of package searches Number of visits to the Shopping Basket Number of booked passengers Number of bookings Percentage of passengers against clicks

Example
<Reply> <BookingStatsReply> <Stat> <Date>01Feb10</Date> <FlightSearches>1450</FlightSearches> <HotelSearches>222</HotelSearches> <PackageSearches>45</PackageSearches> <Clicks>576</Clicks> <Passengers>57</Passengers> <Bookings>41</Bookings> <Conversion>9.9</Conversion> <Stat> ... </BookingStatsReply> </Reply>

Destination Statistics Request


This message allows white label and meta search engines the ability to see what requests their site has sent to Travelpack. This will detail for the given date range the key destinations a list of airports with number of searches and clicks (clicks stats have only been available since 3 rd Feb 2010)

Lvl Tag 1 2 2 2 2 2 3 DestinationStatsRequest Source Password FromDate EndDate Start Responses

Data Mand Type X(6) X(6) D(6) D(6) 9(5) 999 Y Y Y Y N N

Notes

AGENT or client defined Current Stats password Valid Start Date (DDMMYY) Valid End Date (DDMMYY) Mandatory, for one day search load both dates with the same field. Start within the results (defaults to 1) Number of responses (defaults to 30 or as many as available if less) .Maximum number of responses is 200.

Example
<Request> <DestinationStatisticsRequest> <Source>XML</Source> <Password>TED</Password> <FromDate>010110</FromDate> <ToDate>010110</FromDate> </DestinationStatisticsRequest> </Request>

Destination Statistics Reply


The system will return a breakdown of each destination for the given date range.

Lvl Tag 1 2 2 2 3 3 3 3 3 DestinationStatisticsReply FromDate ToDate Stat No Code Airport Searches Clicks

Data Notes Type D(7) D(7) 9(6) X(3) X(40) 9(6) 9(6) Number of searches for this destination (all departure points) Number of clicks for this destination Requested From Date (DDMonYY) Requested To Date (DDMonYY) Sequence number IATA code of the airport destination

Example
<Reply> <DestinationStatisticsReply> <FromDate>01Feb10</FromDate> <ToDate>02Feb10</ToDate> <Stat> <No>1</No> <Code>BKK</Code> <Airport>Bangkok Airport</Airport> <Searches>1200</Searches> <Clicks>40</Clicks> <Stat> <Stat> <No>2</No> <Code>JFK</Code> <Airport>New York JFK Airport</Airport> <Searches>1000</Searches> <Clicks>20</Clicks> <Stat> ... </DestinationStatisticsReply> </Reply>

Agent Profile Request


This message will allow the user to view the current profile (commission structure) loaded for the given agent. Note: this commission/markup structure only applies to bookings made online or via XML.

Lvl Tag 1 2 2 2 AgentProfileRequest Source AgentId Password

Data Type X(6) X(6) X(6)

Mand Notes

Y Y Y

AGENT or client defined Agent's ABTA/TTA or account number Current Web password

Example
<Request> <AgentProfileRequest> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>TED</Password> </AgentProfileRequest> </Request>

Agent Profile Reply


This message shows the current profile for an agent. It is returned for both AgentProfileRequest and UpdateProfileRequest. All of the fare types support both a commission percentage and a markup amount. If both are provided the system will use BOTH. The published fare value is an amount. Both car and hotel rates are dependent on the commercial agreement you have with Travelpack, if you alter these values you will increase or decrease the price of the item NOT increase/decrease your commission/markup value alone.

Lvl Tag 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 AgentProfileReply Agent AgentName Y-Comm Y-Markup Y-Published K-Comm K-Markup K-Published C-Comm C-Markup C-Published F-Comm F-Markup F-Published CarComm CarMarkup HotelComm HotelMarkup

Data Type X(6) X(30)

Notes

Agency reference number (ABTA/TTA reference) Name of the agency

999.99 Commission to apply to Economy Fares 999.99 Markup to apply to Economy Fares 999.99 Booking fee to apply to Economy Published fares 999.99 Commission to apply to Premium Economy Fares 999.99 Markup to apply to Premium Economy Fares 999.99 Booking fee to apply to Premium Economy Published fares 999.99 Commission to apply to Business Class Fares 999.99 Markup to apply to Business Class Fares 999.99 Booking fee to apply to Business Class Published fares 999.99 Commission to apply to First Class Fares 999.99 Markup to apply to First Class Fares 999.99 Booking fee to apply to First Class Published fares 999.99 Commission to apply to car rental prices 999.99 Markup to apply to car rental prices 999.99 Commission to apply to hotel prices 999.99 Markup to apply to hotel prices

Agent Profile Reply Example


<?xml version="1.0"?> <Reply> <AgentProfileReply> <Agent>TED</Agent> <AgentName>TRAVELPACK (TED)</AgentName> <Y-Comm> 0.00</Y-Comm> <Y-Markup> 0.00</Y-Markup> <Y-Published> 0.00</Y-Published> <K-Comm> 0.00</K-Comm> <K-Markup> 0.00</K-Markup> <K-Published> 0.00</K-Published> <C-Comm> 0.00</C-Comm> <C-Markup> 0.00</C-Markup> <C-Published> 0.00</C-Published> <F-Comm> 0.00</F-Comm> <F-Markup> 0.00</F-Markup> <F-Published> 0.00</F-Published> <CarComm> 0.00</CarComm> <CarMarkup> 0.00</CarMarkup> <HotelComm> 0.00</HotelComm> <HotelMarkup> 0.00</HotelMarkup> </AgentProfileReply> </Reply>

Update Agent Profile Request


This message will allow the user update their current profile (commissions and markups). Amending these values will alter the markup commission values immediately for all transactions via XML or online. This message will return the AgentProfieReply message

Lvl Tag 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 UpdateAgentProfileRequest Source AgentId Password Y-Comm Y-Markup Y-Published K-Comm K-Markup K-Published C-Comm C-Markup C-Published F-Comm F-Markup F-Published CarComm CarMarkup HotelComm HotelMarkup

Data Type X(6) X(6) X(6) 999.99 999.99 999.99 999.99 999.99 999.99 999.99 999.99 999.99 999.99 999.99 999.99 999.99 999.99 999.99 999.99

Man Notes d Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y AGENT or client defined Agent's ABTA/TTA or account number Current Web password Commission to apply to Economy Fares Markup to apply to Economy Fares Booking fee to apply to Economy Published fares Commission to apply to Premium Economy Fares Markup to apply to Premium Economy Fares Booking fee to apply to Premium Economy Published fares Commission to apply to Business Class Fares Markup to apply to Business Class Fares Booking fee to apply to Business Class Published fares Commission to apply to First Class Fares Markup to apply to First Class Fares Booking fee to apply to First Class Published fares Commission to apply to car rental prices Markup to apply to car rental prices Commission to apply to hotel prices Markup to apply to hotel prices

Update Agent Profile - Example


<Request> <UpdateAgentProfileRequest> <Source>AGENT</Source> <AgentId>TED</AgentId> <Password>ted</Password> <Y-Comm> 0.00</Y-Comm> <Y-Markup> 0.00</Y-Markup> <Y-Published> 0.00</Y-Published> <K-Comm> 0.00</K-Comm> <K-Markup> 0.00</K-Markup> <K-Published> 0.00</K-Published> <C-Comm> 0.00</C-Comm> <C-Markup> 0.00</C-Markup> <C-Published> 0.00</C-Published> <F-Comm> 0.00</F-Comm> <F-Markup> 0.00</F-Markup> <F-Published> 0.00</F-Published> <CarComm> 0.00</CarComm> <CarMarkup> 0.00</CarMarkup> <HotelComm> 0.00</HotelComm> <HotelMarkup> 0.00</HotelMarkup> </UpdateAgentProfileRequest> </Request>

Error Reply
This message is sent back if there is an issue with the data provided or an issue with the processing of the request. This is perfectly normal and should be returned to the customer. Typical examples are when the card details are incorrect or the flights are no longer available.

Lvl Tag 1 1 ErrorReply MoreInfo

Data Type X(??) X(??)

Notes Description of the error Internal Use

<Reply> <ErrorReply>We are unable to book your flights</ErrorReply> </Reply>

Application Error Reply


This message is sent back if the processing application errors. This should not be shown to the customer and either requires changes to your interface or reporting to Travelpack. The error can fall into two main categories. Firstly if the data passed on the XML is incorrect, secondly if the application has errored. In the second case please forward to the support department at developer@travelpack.com.

Lvl Tag 1 ApplicationError

Data Type X(??)

Notes Description of the error

<Reply> <ApplicationError>XPPNAM: Field 4 is not a valid date</ApplicationError> </Reply>

También podría gustarte