Xml Services

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Xml Services as PDF for free.

More details

  • Words: 31,993
  • Pages: 290
XML Service APIs V1.7

©RR Technologies, Ltd. October 1st, 2009 Copyright of this document is the property of RRT, without whose written permission, re-production in whole or in part is prohibited.

TABLE OF CONTENTS REVISION LOG........................................................................................................................................................................................5 GENERAL INFORMATION...................................................................................................................................................................7 Description..........................................................................................................................................................................................7 WSDL Files..........................................................................................................................................................................................7 Invoking Results APIs Without the WDSL...........................................................................................................................................8 BASE DATA SERVICES........................................................................................................................................................................11 Base Data SetNames..........................................................................................................................................................................11 AVAILABILITY SERVICE...................................................................................................................................................................25 GET VIA AIRPORTS.............................................................................................................................................................................35 PRICING SERVICE...............................................................................................................................................................................37 GET FLIGHT DETAILS........................................................................................................................................................................48 ADVANCE SEAT RESERVATION (ASR) SERVICES.....................................................................................................................54 Seat Map Retrieval............................................................................................................................................................................54 Get All Seats......................................................................................................................................................................................56 Get Seat Attributes.............................................................................................................................................................................59 Reserve Seats.....................................................................................................................................................................................65 Get Book Seat Reservations...............................................................................................................................................................66 Release Seats.....................................................................................................................................................................................68 BOOKING SERVICE.............................................................................................................................................................................70 Validate Booking...............................................................................................................................................................................70 Submit Booking Service.....................................................................................................................................................................82 Checking Booking Submit Status.......................................................................................................................................................91 Cancel Booking Request....................................................................................................................................................................94 Booking Retrieval..............................................................................................................................................................................94 Split Booking Service.......................................................................................................................................................................112 Cancel Booking Service...................................................................................................................................................................114 Update FQTV service......................................................................................................................................................................115 GENERATE LOCATOR SERVICE...................................................................................................................................................117 FLOATING FARE SERVICES...........................................................................................................................................................119 Lock Fare Service............................................................................................................................................................................119 Assign Fare Service.........................................................................................................................................................................120 AGENCY SERVICES...........................................................................................................................................................................122 Create Agency Service.....................................................................................................................................................................122 Retrieve Agency Service..................................................................................................................................................................123 Update Agency Service....................................................................................................................................................................125 Agency Login/Validation Service....................................................................................................................................................126 Validate Agency Locator Service....................................................................................................................................................128 Agency Booking Retrieval Service...................................................................................................................................................129 Agency Booking Statistics Service...................................................................................................................................................131 Agency Voucher Retrieval Service..................................................................................................................................................134 Agency Credit Verification Service.................................................................................................................................................136 VOUCHER SERVICES........................................................................................................................................................................138 Voucher Generation Service............................................................................................................................................................138 Voucher Retrieval Service...............................................................................................................................................................142 Agency Voucher List Retrieval........................................................................................................................................................145 XML Service APIs

Page 2

FLIGHT INFORMATION SERVICES..............................................................................................................................................148 Get Flight Status Service.................................................................................................................................................................148 Set Flight Status Service..................................................................................................................................................................151 CLIENT PROFILE SERVICES..........................................................................................................................................................152 Create Profile .................................................................................................................................................................................152 Get Profile.......................................................................................................................................................................................156 Modify Proflie..................................................................................................................................................................................164 Client Profile Login.........................................................................................................................................................................166 Employee Profile Service................................................................................................................................................................167 SCHEDULE SERVICE.........................................................................................................................................................................175 ASSIGN EXTERNAL LOCATOR SERVICE...................................................................................................................................178 SCHEDULE CHANGE ACKNOWLEDGEMENT SERVICE........................................................................................................181 UPGRADE SERVICE...........................................................................................................................................................................183 Reallocation Service........................................................................................................................................................................183 ACCOUNTING REPORT SERVICE.................................................................................................................................................187 WESTERN UNION SERVICE............................................................................................................................................................191 Authentication Inquiry.....................................................................................................................................................................191 Payment Advice...............................................................................................................................................................................191 WEB CASH PAYMENT SERVICES..................................................................................................................................................193 Payment Request.............................................................................................................................................................................193 Payment Advise...............................................................................................................................................................................195 Cancel Payment...............................................................................................................................................................................196 Get Payment Reference...................................................................................................................................................................198 WEB CREDIT CARD SERVICE........................................................................................................................................................201 VB Codes for Credit Card Service..................................................................................................................................................201 Sample XML Calls and Responses..................................................................................................................................................204 DEPARTURE CONTROL SYSTEM (DCS) SERVICES.................................................................................................................210 Management Summary....................................................................................................................................................................211 GetPassengerList.............................................................................................................................................................................212 GetCheckinStatusForPassenger......................................................................................................................................................218 GetPassengerInfo............................................................................................................................................................................220 GetRequestsByCheckin....................................................................................................................................................................221 GetActions.......................................................................................................................................................................................224 UpdateRequestAction......................................................................................................................................................................228 UpdateSelecteeAction......................................................................................................................................................................229 GetPassportInfoFromServiceRequest.............................................................................................................................................230 SaveTravelDocument.......................................................................................................................................................................232 UpdatePassengerInfoAction............................................................................................................................................................235 GetBaggage.....................................................................................................................................................................................236 CanPassengerHaveBaggage...........................................................................................................................................................239 SaveBaggage...................................................................................................................................................................................240 RemoveBaggage..............................................................................................................................................................................242 GetFlightDateAllSeats.....................................................................................................................................................................243 GetFlightDateSeatAttributes...........................................................................................................................................................248 SeatAttributeRulesAgainstPassenger..............................................................................................................................................251 ReserveSingleSeatNew....................................................................................................................................................................253 ReleaseSeatCalls.............................................................................................................................................................................254 ConfirmAddition..............................................................................................................................................................................255 XML Service APIs

Page 3

ValidatePassengerPassPrinting......................................................................................................................................................256 MarkCheckinReadyForBoarding....................................................................................................................................................257 GetPassengersForBoarding............................................................................................................................................................258 GetAirportIdFromAirportCode.......................................................................................................................................................260 GetFlights........................................................................................................................................................................................261 GetFlightDetails..............................................................................................................................................................................263 FindFlightFromId............................................................................................................................................................................265 GetBookingLegs..............................................................................................................................................................................268 GetFlightDateClassSeatMaps.........................................................................................................................................................270 GetUserId........................................................................................................................................................................................272 GetCurrentUserLocation.................................................................................................................................................................273 AddPassengerRequest.....................................................................................................................................................................274 CanPassengerBoard........................................................................................................................................................................276 GetPassengerByBoardingCardNumber..........................................................................................................................................276 BoardPassenger..............................................................................................................................................................................277 GetBoardedPassengers...................................................................................................................................................................278 PrintBagTag....................................................................................................................................................................................280 PrintCloseoutReport........................................................................................................................................................................284 PrintFlightManifest.........................................................................................................................................................................286 UpdateResultsPayments..................................................................................................................................................................287

XML Service APIs

Page 4

Revision Log The following section outlines the version changes of this document and the reason for those changes. Ver

Reason

Updater

Date

V1.6 v1.5

Detailed Basedata SetNames Add information about AltClientPrflNo field in the Client Profile API section Update booking retrieval APIs with currency rate node information Updated the GetPassengerList service to include new node BarCode Initial draft

Alex Fairchild Zoran Naskov

Jun-15-2009 Aug-26-2008

Zoran Naskov

Aug-12-2008

Susan Levy

Jun-12-2008

Susan Levy

Jun-05-2008

v1.4 v1.1 v1.0

XML Service APIs

Page 5

XML Service APIs

Page 6

General Information Description XML service APIs are a set of Tuxedo backend services that accepts SOAP requests over the Tuxedo ATMI protocol and replies with SOAP formatted response messages. Results backend services that can be called with SOAP formatted requests include Availability, Pricing, Seat Reservation/Seat Maps, Reference/Base Data, Booking Validation, Booking Submit, Booking Retrieval, Payment Services, etc. The backend services runs on the Results backend Linux server. For testing purposes, a test utility called txmlclient is included with the results backend. To use it, enter txmlclient and the Tuxedo service name defined in the system, and the name of an XML file name containing a properly formatted SOAP request. Once you run an XML file, the system returns: Start tuxedo connection...done Start tuxedo call...done Followed by the information that is the result of the execution of the XML file. This document describes the available Results SOAP/XML services. They all require Results 1.6 backend or later (as denoted in the service description).

WSDL Files The WSDL (Web Services Description Language) files are the service descriptors that define functions available in each XML service, their parameters and return values. Here's a brief description of what the different WSDL files contain: •

assignlocator.wsdl - assign a locator to an external locator, not currently used by the web



availability.wsdl - availability service



basedata.wsdl - reference data/base data service, for retrieving things like cities, airports, currencies and other reference data



bookinfo.wsdl - booking retrieval service, get booking details by booking number or locator



bookingsubmit.wsdl - submit a booking to end transaction



bookingvalidation.wsdl - validate a booking, apply fees etc



flightdetails.wsdl - retrieve flight details for one or several flights



flightdetailsobj.wsdl - same as above but return as deserialized objects (not working because of namespace issues)



flightinfo.wsdl - flight info service (delays etc)



generatelocator.wsdl - generate a new record locator for a new booking



lockfares.wsdl - lock floating fares

XML Service APIs

Page 7



pricing.wsdl - price a booking



scheduleDisplay.wsdl - Retrieves the flight schedule for an origin/destination and date period.



seatres.wsdl - seat map and seat reservation functions



upgrade.wsdl - class upgrade service



viaairports.wsdl - retrieve via airports for a flight (need to be called to retrieve the data needed by the pricing service)



voucher.wsdl - voucher service

Invoking Results APIs Without the WDSL Currently some Results APIs do not have the WDSL files. This is typical of all the DCS XML services. There are methods for invoking Results APIs without the WSDL. Below are the examples of different methods to POST directly to /resultsservices/services.aspx: •

Plain: POST /resultsservices/services.aspx HTTP/1.1 Host: 82.150.226.157:80 Content-Type: text/xml; charset=utf-8 SOAPAction: "http://rrtechnologies.net/soap/BOOKING_SERVICE" <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> 1



VB.NET:

XML Service APIs

Page 8

Dim web As New System.Net.WebClient Dim xmlResponse As New XmlDocument web.Headers.Add("Content-Type", "text/xml") web.Headers.Add("SOAPAction", "'http://rrtechnologies.net/soap/BOOKING_SERVICE'") Dim d As Byte() = System.Text.Encoding.ASCII.GetBytes("<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'><soap:Body>2676003 ") Dim res As Byte() = web.UploadData("http://82.150.226.157:80/resultsservices/services.aspx", "POST", d) xmlResponse.LoadXml(System.Text.Encoding.ASCII.GetString(res)) •

Java: PostMethod post = new PostMethod("http://82.150.226.157:80/resultsservices/services.aspx"); RequestEntity entity; entity = new StringRequestEntity("<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'><soap:Body>2676003 ", "text/xml", "charset=ISO-8859-1"); post.setRequestEntity(entity); HttpClient httpclient = new HttpClient(); try { int result = httpclient.executeMethod(post); log.debug("Response status code: " + result); responseXml = post.getResponseBodyAsString(); } finally { post.releaseConnection(); }



Unix: cat POST.xml | curl -X POST -H 'Content-type: text/xml' -H 'SOAPAction: "http://rrtechnologies.net/soap/BOOKING_SERVICE"' -d @- http:// 82.150.226.157:80/resultsservices/services.aspx where POST.xml contains:

XML Service APIs

Page 9

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> 1

XML Service APIs

Page 10

Base Data Services The system base data contains data sets such as nations, states, cities, airports, currencies, passenger types, client documents, etc. Each call to the Base Data service requires the Set Name of the data being retrieved, and required or optional Parameters depending on the service. Tuxedo service name: BASEDATASERVICE. Signature: [Visual Basic] GetBaseData(SetName As string, Parameters() As Parameter) As XmlNode Sample Code: [Visual Basic] Dim baseData As New basedataService.basedata baseData.Url = ConfigurationSettings.AppSettings.GetValues("baseDataURL")(0) Dim servicedAirports As XmlNode = baseData.GetBaseData("ServicedAirport", Nothing) Definition of the 'Parameter' input structure: Public Class Parameter Public ParameterName As String Public ParameterValue As String End Class Parameters: SetName The name of the query set to use for this request. Parameters An array of Parameter objects - see Parameter structure definition below. Do not pass or pass a null pointer (Nothing) if the requested set does not require any parameters. Remarks: The WSDL description for this service is in ResultsServices/basedata.wsdl.

Base Data SetNames The following is a list of all Base Data SetNames, detailing Input Parameters and Output Nodes. One example Request and Response Pair is provided. All other SetName Requests can be constructed by replacing the SetName and ParameterName values in the example with the Input Parameters specified.

GetSystemSettingValue This SetName allows retrieving the current value of any System Setting, given the System Setting Name as an input parameter.

XML Service APIs

Page 11

Input Parameters SystemSettingCode – The name of the System Setting. Sample XML/SOAP request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <SetName>GetSystemSettingValue <Parameters> <Parameter> <ParameterName>SystemSettingCode <ParameterValue xsi:type="xsd:string">CC_MODULE_NAME Output Nodes SettingValue – The value of the System Setting. Sample response:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> <SettingValue>MWEB

Nation This SetName allows retrieving all the Nations defined in the system Input Parameters (none)

XML Service APIs

Page 12

Output Nodes NationCode NationName CurrencyCode VisaRequirements InoculationRequirements DriverLicenseRequirements GeneralInformation

State This SetName allows retrieving all the States defined in the system for the Input NationCode. Returns all States for all Nations if NationCode is left blank. Input Parameters NationCode (optional) Output Nodes StateCode StateName NationCode SummerStartDate WinterStartDate SummerDifferenceToGMT WinterDifferenceToGMT

City This SetName allows retrieving all the Cities defined in the system for the Input CityCode, CityName, or StateCode. Returns all Cities for all States if input is blank. Input Parameters CityCode (optional) CityName (optional) StateCode (optional) Output Nodes CityCode CityName StateCode

Airport This SetName allows retrieving all the Airports defined in the system for the Input AirportCode, AirportName, or CityCode. Returns all Airports for all States if input is blank.

XML Service APIs

Page 13

Input Parameters AirportCode (optional) AirportName (optional) CityCode (optional) Output Nodes AirportCode AirportName CityCode

CityPair This SetName allows retrieving all the City Pairs and related data for a given OriginAirport. Input Parameters OriginAirport Output Nodes OriginCity DestinationCity PairIndicator Distance DistanceUnitOfMeasure PointsValue BaggageAllowance CityPairRuleNumber Remarks OriginAirport DestinationAirport DestinationAirportName DestinationCityName

PassengerType This SetName allows retrieving all the valid Passenger Types for a given BookingCategory. Gives all if input is blank. Input Parameters BookingCategory (optional) Output Nodes PassengerCode Description OtherServicesRequestFlag RequestCode FairQuoteIndicator CancelIfNotConfirmed BookingCategory EmployeeNumberOSIRequiredFlag BuddyPassPaymentRequiredFlag

PaymentForm This SetName allows retrieving all the Payment Forms defined in the system for a given DocumentType (Payment Type) or PaymentKey. Gives all if input is blank.

XML Service APIs

Page 14

Input Parameters DocumentType (optional) PaymentKey (optional) Output Nodes DocumentType DocumentCategory DocumentGroup PaymentKey TypeDescription CategoryDescription FOPFormate

Currency This SetName allows retrieval of all Currencies defined in the system. Input Parameters (none) Output Nodes CurrencyCode Description DecimalPrecision RoundingValue NeutralUnitOfCurrency

SSR This SetName allows retrieval of all SSR and OSI defined in the system. Input Parameters (none) Output Nodes RequestCode Description RequestType ActiveFlag ValidationRegularExpression ValidationErrorMessage RemovePermissionFlag

ServicedAirport This SetName allows retrieval of all Serviced Airports in system.

XML Service APIs

Page 15

Input Parameters (none) Output Nodes AirportCode AirportName CityCode CityName

AirportConnection This SetName allows retrieving all Airport Codes with service from the input FromAirportCode. Input Parameters FromAirportCode Output Nodes AirportCode

PassengerTitle This SetName allows retrieving all Passenger Titles in System. Input Parameters (none) Output Nodes Title Description

PassengerCode This SetName allows retrieving all Passenger Codes defined in the System. Input Parameters (none) Output Nodes PassengerCode Description

SellingClass This SetName allows retrieving data on all the Selling Classes defined in the System.

XML Service APIs

Page 16

Input Parameters (none) Output Nodes ClassCode CabinCode Cabin ParentClassCode

AgencyBookOnBehalfOf This SetName allows retrieving all the Travel Agencies that can book ‘on behalf of’ the input Travel Agency. Input Parameters AgencyCode Output Nodes AgencyCode AgencyName

OTAAirRules This SetName allows retrieving Endorsements and Restrictions for OTA specific Fare Codes. Input Parameters OriginAirportCode DestinationAirportCode FareCode CompanyCode NegotiatedFareFlag Output Nodes OriginAirportCode DestinationAirportCode FareCode CompanyCode FareTextType TicketDescription Description

ClientDocument This SetName allows retrieving all Client Document types defined in the system. Input Parameters (none) Output Nodes DocumentCategory DocumentType TypeDescription Description

ClientFamilyType XML Service APIs

Page 17

This SetName allows retrieving Client Profile Family Member types. Input Parameters (none) Output Nodes FamilyType Description

BusinessPassFares This SetName allows retrieving Fare Codes that are valid for the input Business Pass Id. Input Parameters BusinessPassID Output Nodes FareCode

BusinessPassClasses This SetName allows retrieving Class Codes that are valid for the input Business Pass Id. Input Parameters BusinessPassID Output Nodes ClassCode

BusinessPasses This SetName allows retrieving all Business Pass definitions in the system. Input Parameters (none) Output Nodes BusinessPassID Description

SSRCode This SetName allows retrieving SSR Codes specifically for Medical related SSRs. Input Parameters (none) Output Nodes RequestCode Description

CurrencyCode XML Service APIs

Page 18

This SetName allows retrieving all Currency Codes defined in the System, with their Exchange Rates. Input Parameters (none) Output Nodes CurrencyCode NUCRate

FeeDefinition This SetName allows retrieving all the Fees defined in the system, with their application rules. Takes several optional input parameters to retrieve only specific Fees that apply to those criteria. Input Parameters BranchCode (optional) SellingClassCodes (optional) PassengerCodes (optional) FareCodes (optional) Output Nodes FeeID CompanyCode FeeTypeRCD FeeCode Description ValidFromDateTime ValidUntilDateTime FeeValue FeeCurrency FeePercentFlag TaxValue TaxPercentFlag SellingClassCode DaysBeforeDeparture UseDaysBeforeDeparture PerPassengerFlag PassengerCode BranchCode PaymentType PaymentForm BookingCategory FareCode FlightPath SSRCode MinFeeValue

SystemSetting This SetName allows retrieving System Settings that pertain to the Web.

XML Service APIs

Page 19

Input Parameters (none) Output Nodes SystemSettingCode SystemSettingValue

AirportTimeZone This SetName allows retrieving the GMT offsets for all the Airports in the System. Input Parameters (none) Output Nodes AirportCode CityCode StateCode SummerStart WinterStart SummerGMTDiff WinterGMTDiff

DuplicateBooking This SetName allows retrieving Locators that match the Input of an attempted booking; thus alerting to duplicates. Input Parameters FlightNumber BoardDate OriginAirport DestinationAirport PaymentType PaymentForm DocumentNo AgencyCode Output Nodes Locator

AllotmentReportDetails This SetName allows retrieving a detailed report of existing Allotments in the system, based on input Date Range and optional Agency, Carrier, or Flight.

XML Service APIs

Page 20

Input Parameters FromDate ToDate AgencyCode (optional) CarrierCode (optional) FlightNumber (optional) Output Nodes FlightNumber BoardDate Origin Destination SellingClass AllotmentQuantity ReportedQuantity CurrencyCode Fare CarrierOrAgency

AllotmentReportSummary This SetName allows retrieving a summary report of existing Allotments in the system, based on input Date Range and optional Agency, Carrier, or Flight. Input Parameters FromDate ToDate AgencyCode (optional) CarrierCode (optional) FlightNumber (optional) Output Nodes CarrierOrAgency MonthOfTravel AllotmentQuantity ReportedQuantity Fare CurrencyCode

SeatAttribute This SetName allows retrieving all Seat Attributes defined in the System. Input Parameters (none) Output Nodes Attribute Description DescriptionCode Active

UnacknowledgedSked

XML Service APIs

Page 21

This SetName allows retrieving a list of PNRs that have undergone a Schedule Change, and the passenger has yet to acknowledge the change. Input Parameters are a mandatory Date Range, and optional Flight Number. Input Parameters StartDate EndDate FlightNumber (optional) Output Nodes Locator FlightNumber FlightDate OriginAirport DestinationAirport DepartureTime Passenger HomePhone BusinessPhone OtherPhone AgentPhone EmailAddress FaxNumber LinkID

FareCodePrivateNet This SetName allows retrieving all Private and Net Fare Codes defined in the system for the input Promo Code. Input Parameters PromoCode Output Nodes FareCode NetFareFlag PrivateFareFlag

DivideFrom This SetName allows retrieving the original Locator to a Split Locator. Input Parameters Locator Output Nodes PrevDivideFrom PreviousBookNo PreviousLocator PreviousCreateDateTime

SkedChangeNotifications This SetName allows retrieving all notifications for a Schedule Change, both confirmed and un-confirmed. Takes optional Locator or Flight Number.

XML Service APIs

Page 22

Input Parameters StartDate EndDate NoDateFilter Locator (optional) FlightNumber (optional) Output Nodes Locator FlightNumber FlightDate OriginAirport DestinationAirport DepartureTime Passenger HomePhone BusinessPhone OtherPhone AgentPhone EmailAddress FaxNumber LinkID AcknowledgedDateTime AckInformation

DCSGetSeatZone This SetName allows retrieving the DCS Seat Zone for an input Seat and Flight. Input Parameters DcsFlightId Seat Output Nodes Zone

BookNoFromPaymentNo This SetName allows retrieving a booking number for a PNR from the input Payment Number. Input Parameters PaymentNo Output Nodes BookNo

DiscardResidualVouchers This SetName allows retrieving all Voucher Reason Codes in the System with the flag “Discard Residual Voucher”.

XML Service APIs

Page 23

Input Parameters (none) Output Nodes DiscardResidualVoucher

NameMatchRequiredVoucher This SetName allows retrieving all Voucher Reason Codes in the System with the flag “Name Match Required”. Input Parameters (none) Output Nodes VoucherReasonCode

OTAAgencyAccreditation This SetName allows retrieving the Accreditation Entity status of an input Travel Agency. Input Parameters AgencyCode Output Nodes Accreditation

XML Service APIs

Page 24

Availability Service The availability service retrieves available flights/selling classes for a given origin/destination and date. It can run in several different modes: with or without fares, all available selling classes or lowest fares only, one-way or roundtrip etc. Tuxedo service name: AVAIL_SERVICE Signature: [Visual Basic] Function AVAILABILITY( _ DepartureAirport As String, _ ArrivalAirport As String, _ DepartureCity As String, _ ArrivalCity As String, _ BoardDate As String, _ CompanyCode As String, _ RoundTripFlag As Byte, _ GetFaresFlag As Byte, _ NumberOfSeats As Integer, _ AvailableSeatsFlag As Byte, _ AgencyCode As String, _ BranchCode As String, _ Currency As String, _ ReturnDate As String, _ PassCode As String, _ IgnoreMaxConnTime As Byte, _ FareDesignator As String, _ OnlyDesignatorFares As String, _ DisableTaxes As String, _ DisableFloatingFares As String, _ DaysBefore As Integer, _ DaysAfter As Integer _ ) As XmlNode Parameters: DepartureAirport/ArrivalAirport The IATA airport codes for origin and destination airports used for the outbound availability request. If roundtrip availability is requested these parameters will be switched around for the return part DepartureCity/ArrivalCity The IATA city codes for the outbound request. If roundtrip availability is requested these parameters will be switched around for the return part BoardDate Departure date for the outbound availability request, passed as a string in US date format (mm/dd/yyyy). The service does NOT accept ISO 8601 or XSD dates in this parameter. Depending on branch settings for the branch specified in the BranchCode parameter, Availability service may also retrieve availability for flights a certain number of days before and/or after this date CompanyCode Two-letter IATA airline code XML Service APIs

Page 25

RoundTripFlag Boolean (0/1) flag specifying whether to get one-way availability (0) or roundtrip (1). If set to 1, the ReturnDate parameter must also be set to a valid future date. GetFaresFlag Boolean (0/1) flag specifying whether only inventory should be checked to determine availability or if applicable fare rules should also be applied. If set to 1, the response will contain basic fare and tax information for each available selling class NumberOfSeats Number of seats needed AvailableSeatsFlag Boolean (0/1) flag specifying whether the service returns flights and classes with available inventory and applicable fares (1) or all flights and classes for the requested origin/destination and departure date (0) AgencyCode ARC or Results travel agency code if this is a travel agency booking. Used for retrieving agency fares if the GetFaresFlag is set to 1 BranchCode Web branch code as defined in Results, e.g. ‘NK TTY 0001’. The branch code is used to determine service behavior such as number of days before/after the requested departure and return dates, whether to only retrieve the cheapest available selling class or all classes, branch specific fares etc. Currency Specifies the currency code used for fare and tax calculations if the GetFaresFlag parameter is set ReturnDate The return date used for roundtrip availability. Mandatory if the roundtrip flag is set, not used if it is not set. This parameter need to be a string in US date format (MM/dd/yyyy). The service does NOT accept ISO 8601 or XSD dates in this parameter. Depending on branch settings for the branch specified in the BranchCode parameter, availability may also retrieve availability for flights a certain number of days before and/or after this date. PassCode Passenger code used to determine applicable fares and taxes in the availability response. Default ADULT but if another passenger code is passed, the fares and taxes returned are for the passenger code passed in this parameter IgnoreMaxConnTime Boolean (0/1) flag specifying whether the service should ignore system and branch settings for maximum time allowed between connecting flights FareDesignator Promotion code, fare designator or ticket designator as defined in the Results fare code/route fare configuration OnlyDesignatorFares Flag to indicate is the availability should only return fares labeled with the fare designator provided in the FareDesignatior parameter/node. Values can be true/false, default value is false. DisableTaxes Flag to indicate if availability call should disable tax calculation. This is so that fare grids/calendars can be composed, without the performance impact of tax calculation logic. Set it to true to exclued tax calculation or set it to false to include taxes. Detault is false. XML Service APIs

Page 26

DisableFloatingFares Flag to indicate if availability call should disable the display of floating fares. Similar to the DisableTaxes parameter, this setting can improve the performance of the availability operation when calendar type requests are done for a range of days using the DaysBefore/DaysAfter parameters. Values can be true/false, default is false DaysBefore Number of days to display before the requested date. This provdes flexibility when doing availability search. Default is 0. DaysAfter Number of days to display after the requested date. This provdes flexibility when doing availability search. Default is 0. Return values Parameters ReturnCode and ODNo are reserved fields. RequestData This is the node that contains the full XML Availability request information OriginDestinationOptions This element is a wrapper for all origin and destination options matching the criteria specified in the availability requests OriginDestinationOption This element is a wrapper for each available origin/destination option. It contains one or several FlightSegment elements depending on if the option is a direct/through flight or if it is based on connections. FlightSegment This element is the wrapper for each segment. It contains all information about the flight, available classes and fares if requested SegmentNo Sequential segment number within the OriginDestinationOption CityPairNo This is the sequential number of the city pair defined in the City Pair table in Results DepartureCity/ArrivalCity This is the IATA city code for the origination and destination cities FlightNumber This is the flight number in concatenated format; the two character IATA airline code plus the numeric flight number BoardDate The board date for the flight DepartureAirport/ArrivalAirport This is the three-character IATA airport codes for the origination and destination airports FlightPath Indicates whether the flight is a domestic flight (D) or international flight (I). DateChangeIndicator XML Service APIs

Page 27

Indicates whether the arrival date is different from the departure date; difference in number of days. E.g., ‘0’ indicates there is no date change from departure to arrival; ‘1’ means that arrival is the day after departure, ‘-1’ means the arrival is before the day of departure and ‘2’ means the arrival date is two days after the departure. The latter two may only occur for flights crossing the International Date Line NoOfStops This is the number of stopovers between the origin and destination airports. E.g., ‘0’ means no stopovers, ‘1’ means there is one stop Distance Distance between the origin and destination DistanceUOM Unit of measurement for the flight distance; indicates whether the distance is in miles or kilometers FlightNotesFlag This indicates whether there are any special notes for this flight. If this flag is set, flight notes can be retrieved using the flight status/flight information service FlightNotes Returns certain types of flight notes in clear text (type F only – refer to system documentation for details) TotalJourneyTime This is the JourneyTime plus the StopOverHours NoOfConnections This indicates number of connections involved in between the origin and destination requested ReturnFlightFlag This indicates if this is an outbound or return option. When this element is set to ‘0’ this is an outbound option; if set to ‘1’ it is a return option Classes This element is a wrapper for the selling classes returned for the parent FlightSegment SellingClass This element is a wrapper for each individual selling class returned for the parent flight ClassCode This is the selling class code for the class e.g., ‘C’, ‘Y’ etc SeatCount This is the number of available seats in this selling class, or the maximum number of displayable seats according to system and branch settings FareCode The lowest fare code available for this selling class/flight FareValue This is the base fare value for this fare code TaxValue This is the sum of taxes flagged as “display in availability” in the tax configuration, applied to the above base fare

XML Service APIs

Page 28

RefundableFlag This indicates whether the fare is refundable (1) or non-refundable (0) FloatingFareFlag This indicates whether the fare is a floating fare (1) or a normal fare (0) FloatingBaseClass For floating fares, this element indicates the selling class that the floating fare is based on. This parameter is empty when the fare is not a floating fare Cabin This is the cabin class code for this selling class, normally the top level selling class in the selling class hierarchy. CodeShare This wrapper node contains the code share rule. Empty if the flight has no code share rule FlightNumber This is the other flight number that has a code share rule with the current flight. This element is not present if this is not a chodeshare flight Indicator This indicates the status of the FlightNumber. Its value is either O or M. O means the airline operates the flight; M means the airline markets the flight. This element is not present if this is not a chodeshare flight Remarks: The WSDL description for this service is in ResultsServices/availability.wsdl Sample Code: [Visual Basic] Dim availService As New availabilityService.Availability availService.Url = ConfigurationSettings.AppSettings.GetValues("availabilityURL")(0) Dim availResponse As XmlNode = availService.AVAILABILITY(departureAirport, arrivalAirport, _ departureCity, arrivalCity, _ boardDate.ToString("MM/dd/yyyy", GetSystemDateFormatProvider()), _ companyCode, roundtripFlag, getfaresFlag, _ noofSeats, availableSeatsFlag, _ bookAgency, branchCode, currencyCode, _ returnDate.ToString("MM/dd/yyyy", GetSystemDateFormatProvider()), _ passCode, 0, _ fareDesignator) Sample SOAP/XML request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> FLL CUN FLL XML Service APIs

Page 29

CUN 04/21/2008 RT 0 1 2 1 RT FLL 0001 USD 01/01/0001 <PassCode /> 0 false false false 0 0
Sample SOAP response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> FLL CUN FLL CUN 04/21/2008 RT 0 1 2 1 RT FLL 0001 USD 01/01/0001 <PassCode /> 0 false false false 0 0 XML Service APIs

Page 30

0 1 <SegmentNo>1 729 FLL CUN RT1121 2008-04-21 FLL CUN I 06:30 09:30 0 3 1 0 319 549 MLS 0 <JourneyTime>240 <StopOverHours>0 240 0 0 <SellingClass> C <SeatCount>7 CNK 349.00 23.22 1 0 C <SellingClass> A <SeatCount>2 ANR 183.04 23.22 0 1 Y C <SellingClass> Y <SeatCount>132 YNK 173.04 XML Service APIs

Page 31

23.22 1 0 Y
0 2 <SegmentNo>1 729 FLL CUN RT1321 2008-04-21 FLL CUN I 06:30 09:30 0 3 1 0 319 549 MLS 0 <JourneyTime>240 <StopOverHours>0 240 0 0 <SellingClass> C <SeatCount>8 CNK 349.00 23.22 1 0 C <SellingClass> A <SeatCount>3 ANR 183.04 23.22 XML Service APIs

Page 32

0 1 Y C <SellingClass> Y <SeatCount>132 YNK 173.04 23.22 1 0 Y
Results web screenshot:

XML Service APIs

Page 33

XML Service APIs

Page 34

Get via Airports The via-airports service retrieves via-airports for the specified flight segment. Tuxedo service name: GETVIAAIRPORTS Signature [Visual Basic] GetViaAirports(FlightNumber As string, BoardDate As string, DepartureAirport As string, ArrivalAirport As string) Parameters: FlightNumber This is the flight number (airline code + flight number) for which to retrieve via airports, e.g. RT203 BoardDate Board date for the flight DepartureAirport Three character IATA airport code for the origin airport ArrivalAirport Three character IATA airport code for the destination airport Return values: ViaAirports This is a wrapper node for the response ViaAirport This a wrapper node for each airport returned SequenceOrder This is the airport sequential number in the specified flight segment AirportCode This is the IATA airport code for the airport Remarks: The WSDL description for this service is in ResultsServices/viaairports.wsdl Sample Code:

Sample SOAP request: XML Service APIs

Page 35

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> RT582 02/28/2005 FLL LGA Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SequenceOrder>1 FLL <SequenceOrder>2 MYR <SequenceOrder>3 LGA

XML Service APIs

Page 36

Pricing Service This service calculates fares, taxes and surcharges for an itinerary/ booking. The pricing service input includes all information that may affect the pricing of a booking, such as the itinerary, number of passengers of each type, branch and travel agency code. The service retrieves and returns both a summary and a detailed calculation of fares, taxes and surcharges that apply to a booking. Tuxedo service name: PRICING_SERVICE Signature: [Visual Basic] PRICING( _ CompanyCode As String, _ Currency As String, _ ReturnFlag As String, _ Flights() As Flight, _ PassengerInfos() As PassengerInfo, _ AgencyCode As String, _ BranchCode As String, _ NonRevenueFlag As String, _ NotesInReturnFlag As String, _ ForceTotalValue As String, _ ForceBaseFareDiscountInAmount As Decimal, _ ForceBaseFareDiscountInPercent As Decimal, _ ReTaxedPairs() As ReTaxedPair, _ <XmlArrayItemAttribute("LockID")> LockIDs() As String, _ BookNo As Long, _ FareDesignator As String, _ OnlyDesignatorPrices As String) As XmlNode Parameters CompanyCode Two-character airline code Currency Currency code ReturnFlag This controls how fares are selected for pricing. It can have three values: •

Y will force the pricing service to always use roundtrip fares



N will force it to only use one way fares



A means automatic and will cause the pricing service to analyze the itinerary to determine if roundtrip fare can be used and then will be used if it is cheaper than one way fare. If a combination of one way fares are cheaper then it will be priced using those

Flights This is an array containing a Flight object for each flight in the itinerary. See the definition of the flight class below XML Service APIs

Page 37

PassengerInfos This node contains a summary of passengers in the booking; an array containing pairs of passenger code and passenger code for each passenger code. See the definition of the PassengerInfo class below AgencyCode ARC or Results travel agency code if the booking is an agency booking. Leave blank or pass a null pointer, null or nothing if the booking is not an agency booking. This value determines whether any agency specific fares are considered BranchCode This is the Results branch code as defined in the system. The branch code parameter must be passed in, even if there are no branch specific fares NonRevenueFlag This indicates if this is non-revenue booking (1) or a normal revenue booking (0) NotesInReturnFlag This indicates if pricing notes should be included in the response (Y) or not (N) ForceTotalValue This should contain the fare plus tax and surcharge amount for manual pricing. If the parameter value is set to N, it means no manual pricing is used. If specified, the pricing service will adjust fares so that the total amount equals this value ForceBaseFareDiscountInAmount This should be the amount of base fare discounts. This amount is subtracted from the base fare amounts ForceBaseFareDiscountInPercent This indicates the percentage of base fare discount. E.g. if this parameter is 75, the base fares will be ¾ (75%) of the fare defined in the system ReTaxedPairs When manual pricing is used, this parameter contains an array of ReTaxedPair objects indicating the manual fare amount per passenger type. See the definition of the ReTaxedPair class below LockIDs This is an array of floating fare lock ids. When getting a floating fare for the first time (usually from availability), the caller can ‘lock’ the floating fare so that it stays the same even if the class it is based on is sold out between the availability request and the pricing request, or when repricing bookings BookNo This is the booking number. The booking number is used to look up fare locks that apply to the booking FareDesignator This is the fare designator/ticket designator/promotion code as defined in the results fare configuration OnlyDesignatorPrices This parameter indicates if pricing service should only take fare designator fares into account (Y) or not (N) Return values: PricingResponseVersion This is the version of the Pricing Service used

XML Service APIs

Page 38

TotalAmount Total fares, taxes and surcharges for this booking Currency Currency code used for the total amounts PassengerCodes This is a wrapper node for all priced passenger types. It contains an array of PassengerCode elements PassengerCode This node exists both as a wrapper for each passenger type in the response, and as a data element indicating the passenger code, e.g. ADULT, CHD, INF SeatCount This is the number of passengers of this type in this booking FareValuePerSeat/ SurchargePerSeat/TaxValuePerSeat This is the fare/surcharge/tax amount only for one passenger of this type of passengers FareLadder This is the breakdown of the fare total composition, what fares and taxes are applied to each segment FareCodes This wrapper node contains an array of FareCode elements for the fare segments applied to the booking FareCode This node is a wrapper for each fare segments applied and as a data element indicating the fare basis code CompanyCode Two character airline code Description This is the textual description of the fare code, from the ResultS fare configuration ClassCode The selling class this fare code belongs to PassengerCode The passenger code this fare applies to Refundable This indicates if the fare is refundable (1) or non-refundable (0) OneWayReturn This indicates if the applied fare is a one-way (0) or roundtrip fare (1) BaseAmount This is the original fare amount defined in the fare configuration BaseCurrency This is the currency code from the fare definition

XML Service APIs

Page 39

ChangeType This indicates if the Final Amount is the result of a sub fare or fare discount. Values can be % (percentage), = (fixed amount), > (increase), and < (decrease) ChangeAmount This is the percentage, decrease/increase amount of the sub fare or discount (if applicable) FinalAmount The final fare amount for this segment of the itinerary after the change and after being divided in case of roundtrip fares CurrencyCode Final amount currency code Endorsement This is the endorsement text for this fare Restriction This is the restriction text for this fare ValidFrom/ValidTo Travel dates for which this fare is valid FareRouteID This is a unique identifier of the fare, identifying exactly what fare was used for pricing. This can be used for historical purposes to determine how a fare was calculated NetFareFlag This indicates if the fare is an agency net fare (1) or not (0). Net fares are commission free agency fares that should not be disclosed to the passenger PrivateFareFlag This indicates if the fare is private fare (1) or published fare (0). Private fares are negotiated fares or airline internal fares that should not be disclosed to the passenger Flights Wrapper node for all segments that the fare applies to Flight Wrapper node for each segment that the fare applies to TaxCodes Wrapper node containing an array of TaxCode nodes for all taxes that applies to the parent passenger code TaxCode Wrapper node for the tax information TaxCode Tax code for the parent TaxCode CoverageType This indicates if the tax is airport, state, or national tax. N means National; S means State; A means Airport

XML Service APIs

Page 40

CoverageValue Airport/state/nation code for the airport, state, or nation that the tax code applies to ShortDescription A brief text description of the tax from the ResultS tax definition TaxType Tax type; fixed amount (=) or percentage (%) TaxValue For fixed taxes, this is the tax amount; for percentage taxes, this is the tax percentage of the fare AppliedAmount Tax amount applied to the fare Compounded This indicates if the tax can be compounded (1) or not (0), as defined in the tax configuration TaxDetailID This is a unique identifier of the tax definition. It refers to the tax detail record in the Results tax configuration PassengerCode Type of passengers this tax rule applies to. If empty, it means the tax is applicable to any passenger code Notes Fare notes, a description of how the price was determined. Normally blank, it will only contain a value if the NotesInReturnFlag parameter is set Remarks: The WSDL description for this service is in ResultsServices/pricing.wsdl The pricing functionality is already wrapped in the PriceBooking method of the ResultsBooking library. If segments and passengers exist in the booking, calling the PriceBooking method will populate all parameters, call the pricing service and then populate the fare, surcharge and tax structures in the booking based on the pricing response. Sample Code: [Visual Basic] 'price for one adult passenger Dim passengerArray(0) As pricingService.PassengerInfo passengerArray(0) = New pricingService.PassengerInfo With passengerArray(0) .PassengerCode = "ADULT" .NoOfSeats = 1 End With 'add flight info Dim flightArray(0) As pricingService.Flight flightArray(flightNo) = New pricingService.Flight With flightArray(flightNo) .FlightNumber = "DD8300" .FlightDate = "06/16/2005" .ClassCode = "M" .ArriveDate = "06/16/2005" XML Service APIs

Page 41

.FlightTime = "06:00" .ArriveTime = "06:45" .OriginAirport = "BKK" .DestinationAirport = "CNX" End With 'retrieve application settings Dim companyCode As String = ConfigurationSettings.AppSettings.GetValues("companyCode")(0) Dim currencyCode As String = ConfigurationSettings.AppSettings.GetValues("defaultCurrency") (0) Dim branchCode As String = ConfigurationSettings.AppSettings.GetValues("branchCode")(0) 'set one-way/roundtrip flag to 'automagic' Dim returnFlag As String = "A" 'do pricing request Dim pricing As New pricingService.pricing pricing.Url = ConfigurationSettings.AppSettings.GetValues("pricingURL")(0) Dim priceInformation As XmlNode = pricing.PRICING(companyCode, currencyCode, returnFlag, _ flightArray, passengerArray, _ AgencyCode, BranchCode, "N", "N", "N", 0, 0, Nothing, Nothing, 0, _ FareDesignator, _ Convert.ToString(IIf(FareDesignator.Length > 0, "Y", "N"))) Definition of parameter structures: Public Class Flight Public ClassCode As String Public FlightNumber As String Public FlightDate As String Public FlightTime As String Public ArriveDate As String Public ArriveTime As String Public OriginAirport As String Public DestinationAirport As String End Class Public Class ReTaxedPair Public PassCode As String Public FareCode As String Public Amount As Decimal End Class Public Class PassengerInfo Public PassengerCode As String Public NoOfSeats As Integer End Class Sample SOAP/XML request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> XML Service APIs

Page 42

RT USD A Y RT111 01/10/2007 06:00 01/10/2007 07:50 FLL LGA Y RT960 01/13/2007 07:00 01/13/2007 10:00 LGA FLL <PassengerInfos> <PassengerInfo> <PassengerCode>ADULT 1 RT FLL 0001 N N N 0 0 0 N Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> V005 199.95000 <SurchargeTotalAmount>15.00000 XML Service APIs

Page 43

166.50999 18.44000 USD <PassengerCodes> <PassengerCode> <PassengerCode>ADULT <SeatCount>1 166.50999 <SurchargePerSeat>15.00000 18.44000 FLL RT LGA82.79YTLLGA RT Q15.00 FLL83.72YTL181.51 END AYFLL3.00XFFLL5.00AYLGA2.50XFLGA3.00MXLGA4.94 RT YTL testing time lmit for fare code Y <PassengerCode>ADULT 0 0 82.79000 USD 0.00000 82.79000 USD <Endorsement /> 2001-01-01 2099-12-30 7360950909099002070 0 0 RT111 2007-01-10 FLL LGA <SurchargeCodes /> RT YTL testing time lmit for fare code Y <PassengerCode>ADULT 0 0 83.72000 USD XML Service APIs

Page 44

0.00000 83.72000 USD <Endorsement /> 2001-01-01 2099-12-30 5150511732801948700 0 0 RT960 2007-01-13 LGA FLL <SurchargeCodes> <SurchargeCode> <SurchargeCode>Q 15.00000 Fuel Surcharge -2567289303763301421
RT AY A FLL <ShortDescription>Security Tax = 3.00000 USD <AppliedAmount>3.00000 <AppliedCurrency>USD 0 <PassengerCode /> 2 RT111 2007-01-10 FLL LGA RT XF A FLL <ShortDescription>PFC = XML Service APIs

Page 45

5.00000 USD <AppliedAmount>5.00000 <AppliedCurrency>USD 0 <PassengerCode /> 3 RT111 2007-01-10 FLL LGA
RT AY A LGA <ShortDescription>Security Tax = 2.50000 USD <AppliedAmount>2.50000 <AppliedCurrency>USD 0 <PassengerCode /> 44 RT960 2007-01-13 LGA FLL RT XF A LGA <ShortDescription>PFC = 3.00000 USD <AppliedAmount>3.00000 <AppliedCurrency>USD 0 <PassengerCode /> 5 RT960 2007-01-13 LGA FLL RT MX A LGA <ShortDescription>Percentage % XML Service APIs

Page 46

5.00000 USD <AppliedAmount>4.94000 <AppliedCurrency>USD 0 <PassengerCode>ADULT 314 RT960 2007-01-13 LGA FLL
Results web screen shot:

XML Service APIs

Page 47

Get Flight Details This service retrieves detailed information about one or several flights, including airport/terminal information, equipment, times/durations and optional information regarding segments, services (meals etc), inventory (no of seats available in each class), SSR inventory (no of pets allowed onboard etc), flight notes and restrictions. Tuxedo service name: FLIGHTDETAILS Signature: [Visual Basic] GetFlightDetails(<XmlArrayItemAttribute("Flight")> Flights() As FlightDetailsFlight, SegmentsFlag As Integer, ServicesFlag As Integer, InventoryFlag As Integer, SSRInventoryFlag As Integer, NotesFlag As Integer, RestrictionsFlag As Integer) As XmlNode Parameters: Flights Array of Flight objects containing flight number, date, origin and destination. See the definition of the Flight class below SegmentFlag Boolean flag (0/1) controlling whether segment information should be included in the response or not. ServiceFlag Boolean flag (0/1) controlling whether service information should be included in the response or not InventoryFlag Boolean flag (0/1) controlling whether inventory data for the flight (all classes and available seats in those classes) should be included in the response or not SSRInventoryFlag Boolean flag (0/1) controlling whether SSR inventory information should be retrieved for SSRs that has SSR inventory levels defined NotesFlag Boolean flag (0/1) controlling whether the response contains flight notes RestrictionsFlag Boolean flag (0/1) controlling whether the response contains flight restriction information Return values: Flights Wrapper node for all flights in the response Flight Wrapper node for each flight, containing the flight details FlightNumber Flight number (airline code and flight number) for the flight

XML Service APIs

Page 48

BoardDate Board date for the flight FlightDate Flight date for the flight. Usually the same as the BoardDate, unless the flight is a multi leg flight whose first leg departed before midnight and the current segment was boarded after midnight DepartureTime Departure time for the flight ArrivalTime Arrival time for the flight, local time at the destination ArrivalDate Arrival date for the flight, local time at the destination JourneyTime This is the length of the journey in minutes DateChangeIndicator This indicates whether the arrival date is the same as the board date (0), before (-1) or after (1, 2). Offset number of days to the board date. Typical values is 0 or 1; -1 and 2 can only occur for flights crossing the International Date Line. DepartureCity Three character IATA city code for the origin city DepartureCityName City name for the origin city ArrivalCity Three character IATA city code for the destination city ArrivalCityName City name for the destination city DepartureAirportCode Three character IATA airport code for the origin airport DepartureAirportName Airport name for the origin airport ArrivalAirportCode Three character IATA airport code for the destination airport ArrivalAirportName Airport name for the destination airport DepartureTerminalCode Terminal code for the terminal the flight departs from at the origin airport DepartureTerminalName Terminal name for the terminal the flight departs from at the origin airport

XML Service APIs

Page 49

ArrivalTerminalCode Terminal code for the terminal the flight arrives to at the destination airport ArrivalTerminalName Terminal name for the terminal the flight arrives to at the destination airport Distance Flight distance between the origin and destination, in miles or kilometers DistanceUnitOfMeasurement Unit of measurement for the flight distance (miles or kilometers) NumberOfStops Number of stopovers that this flight makes between the origin and destination, zero for direct flights AircraftCode Aircraft code for the aircraft used AircraftDescription Description of the aircraft used FlightPeriodStartDate/ FlightPeriodEndDate This is the flight period start and end dates, as defined in the flight schedule Segments Wrapper node for segment detail information contains one Segment element for each segment if the SegmentFlag was set in the request Services Wrapper node for service information if the ServiceFlag was set in the request Inventories Wrapper node for inventory information if the InventoryFlag was set in the request SSRInventories Wrapper node for SSR inventory information if the SSRInventoryFlag was set in the request Notes Wrapper node for flight notes if the NotesFlag in the request is set Restrictions Wrapper node for flight restrictions if the RestrictionsFlag in the request is set Remarks: The call to this service is wrapped in the LoadFlightDetails method of the ResultsBooking.Booking class. The wrapper method will call the service and populate the FlightDetails member and parts of the segment information based on the flight details information. Sample Code: [Visual Basic] 'get flight details Dim flightDetailSvc As New flightDetailsService.FlightDetails XML Service APIs

Page 50

flightDetailSvc.Url = ConfigurationSettings.AppSettings.GetValues("flightDetailsURL")(0) Dim flightDetails As XmlNode = flightDetailSvc.GetFlightDetails(fl, 0, 0, 0, 0, 0, 0) 'Retrieve a specific flight from the response If Not flightDetails Is Nothing Then Dim xnFlight As XmlNode = FlightDetails.SelectSingleNode("//Flight[FlightNumber='XX203']" _ & "[BoardDate='2005-06-16']" _ & "[DepartureAirportCode='BRN']" _ & "[ArrivalAirportCode='ZRH']") End If Parameter structure definition: Public Class FlightDetailsFlight Public FlightNumber As String Public BoardDate As String Public DepartureAirport As String Public ArrivalAirport As String End Class Sample SOAP/XML request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> RT2030 07/28/2005 FLL LGA RT960 07/31/2005 LGA FLL <SegmentsFlag>0 <ServicesFlag>0 0 <SSRInventoryFlag>1 0 0 Sample response: XML Service APIs

Page 51

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> RT2030 2005-07-28 2005-07-28 08:00 12:00 2005-07-28 <JourneyTime> 240 0 FLL FORT LAUDERDALE LGA NEW YORK FLL FT LAUDERDALE/HOLLYWOOD INTL LGA LA GUARDIA INTERNATIONAL 4 Terminal Four M Main Terminal 1078 MLS 0 321 Airbus A321 2005-06-11 2005-11-15 <SSRInventories> <SSRInventory> PASE Pase Abordar Prioritario 65 <SSRCount>3 0.00 Results Web screenshot:

XML Service APIs

Page 52

XML Service APIs

Page 53

Advance Seat Reservation (ASR) Services These services are used on the reservation side. The DCS has different XML services. ASR services are used by the web to retrieve seat maps, seating information, and to make seat reservations. Tuxedo service name: ASR_SERVICE. The WSDL description for this service is in ResultsServices/seatres.wsdl.

Seat Map Retrieval GetFlightDateClassSeatMaps retrieves seat map information (seat map image paths/names, dimensions, etc.) for a specific flight/board date/origin destination/class. Signature: [Visual Basic] GetFlightDateClassSeatMaps(FlightNumber As String, BoardDate As String, DepartureAirport As String, ArrivalAirport As String, ClassCode As String) As XmlNode Parameters: FlightNumber Flight number (airline code and flight number) for the flight seat maps are requested for BoardDate Board date as a string in US date format (MM/dd/yyyy) DepartureAirport Three character IATA airport code for the origin airport ArrivalAirport Three character IATA airport code for the destination airport ClassCode Selling class code for which the class seat maps are requested. This parameter is used to determine what cabin seat maps are requested for Return values: SeatMapID This is a numeric identifier of the specific seat map. This value is a required parameter in certain other ASR operations, for example when requesting seats Description This is a textual description of the seat map, typically only used for seat map maintenance ImageURLPath URL or UNC path to the seat map background image

XML Service APIs

Page 54

ImageWidth This is the width in pixels of the seatmap background image ImageHeight This is the height in pixels of the seatmap background image BlockImage URL or UNC path to the blocked seat overlay image ReserveImage URL or UNC path to the reserved seat overlay image VacantImage URL or UNC path to the vacant seat overlay image UnavailableImage URL or UNC path to the unavailable seat overlay image SeatWidth/SeatHeight Width of height (in pixels) of a seat in the seat map Sample Code: [Visual Basic] Dim asrService As New seatresService.asrservice asrService.Url = ConfigurationSettings.AppSettings.GetValues("asrURL")(0) Dim seatMapInfo As XmlNode = asrService.GetFlightDateClassSeatMaps(flightNumber, boardDate.ToString("MM/dd/yyyy", GetSystemDateFormatProvider()), originAirport, destinationAirport, sellingClassCode) Sample SOAP/XML code: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> RT582 02/28/2005 FLL LGA Y Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> XML Service APIs

Page 55

<SeatMapID>9 MD80 Y http://win2ktsv/internal/asr/md-80.gif 882 402 http://win2ktsv/internal/asr/block.gif http://win2ktsv/internal/asr/seatmarker.gif http://win2ktsv/internal/asr/blank.gif http://win2ktsv/internal/asr/block.gif <SeatWidth>16 <SeatHeight>16
Screen capture of Results Web:

Get All Seats Retrieves all seats and seat availability information on a specific flight/board date/origin destination/class/seat map. Signature: [Visual Basic] GetFlightDateAllSeats(ByVal FlightNumber As String, ByVal BoardDate As String, ByVal XML Service APIs

Page 56

DepartureAirport As String, ByVal ArrivalAirport As String, ByVal ClassCode As String, ByVal SeatMapID As Integer) As XmlNode Parameters: FlightNumber Flight number (airline code and flight number) for the requested flight BoardDate Board date in US date format (MM/dd/yyyy) DepartureAirport Three character IATA airport code for the origin airport. ArrivalAirport Three character IATA airport code for the destination airport. ClassCode Selling class code to retrieve seats for SeatMapID Seat map ID from the GetFlightDateClassSeatMaps method. Return values: Seat Wrapper node for each seat returned SeatDefinitionID Numeric seat identifier from the seat map configuration SeatNumber RowNumber and SeatCode concatenated into a seat number, e.g. 14E PositionX/PositionY This is the horizontal and vertical location in pixels of the seat in the seat map image AvailableFlag Boolean flag (Y/N), indicating whether the seat is available for sale BlockedFlag Boolean flag (Y/N) indicating whether the seat is blocked ForSaleFlag Boolean flag (Y/N) indicating whether the seat is within the selling period (i.e. after the start selling time and before the stop selling time) Note: A seat is available for reservation only if AvailableFlag, BlockedFlag and ForSaleFlag indicates availability; AvailableFlag=Y, BlockedFlag=N, ForSaleFlag=Y are the only seats available for reservation. Sample code:

XML Service APIs

Page 57

[Visual Basic] 'initiate asr service proxy Dim asrService As New seatresService.asrservice asrService.Url = ConfigurationSettings.AppSettings.GetValues("asrURL")(0) 'get seat map information Dim seatMapInfo As XmlNode = asrService.GetFlightDateClassSeatMaps(flightNumber, boardDate.ToString("MM/dd/yyyy", GetSystemDateFormatProvider()), originAirport, destinationAirport, classCode) 'Retrieve seats for the seat map Dim seatMapSeats As XmlNode If Not seatMapInfo Is Nothing Then Dim seatMapID As Integer = Convert.ToInt32(seatMapInfo.SelectSingleNode("SeatMapID").InnerText) seatMapSeats = asrService.GetFlightDateAllSeats(flightNumber, boardDate.ToString("MM/dd/yyyy", GetSystemDateFormatProvider()), originAirport, destinationAirport, classCode, seatMapID) End If Sample SOAP request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> RT582 02/28/2005 FLL LGA Y <SeatMapID>9 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <Seat> <SeatMapID>9 <SeatDefinitionID>376 5 <SeatCode>A <SeatNumber>5A 194 128 N Y 1 XML Service APIs

Page 58

Y 1 <Seat> <SeatMapID>9 <SeatDefinitionID>377 5 <SeatCode>C <SeatNumber>5C 194 105 N Y 1 Y 1 ...sample truncated for readability...


Get Seat Attributes Retrieves seat attributes on a specific flight/board date/origin destination/class. Parameters: FlightNumber The airline code plus the numeric flight number BoardDate Boarding date DepartureAirport Departure airport code ArrivalAirport Arrival airport code ClassCode Selling class code Return Values SeatAttribute The node that contains the seat information of a specific seat number SeatMapID Seat map ID from the GetFlightDateClassSeatMaps method. XML Service APIs

Page 59

SeatDefinitionID Numeric seat identifier from the seat map configuration RowNumber

SeatCode Values can be A, B, C, D, etc. depending on how your airline configures the seating on the seat map SeatNumber Row number plus the seat code PositionX, PositionY This is the horizontal and vertical location in pixels of the seat in the seat map image SeatAttribute It can be aisle, window, non-smoke, etc. Description A text description of the SeatAttribute in the Seat Attribute Reference table DescriptionCode A code of the SeatAttribute in the Seat Attribute Reference table Sample SOAP request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> RT111 11/15/2006 FLL LGA Y Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> <SeatAttribute> <SeatMapID>7 <SeatDefinitionID>244 5 <SeatCode>C XML Service APIs

Page 60

<SeatNumber>5C 308 121 <SeatAttribute>AISL Aisle AISLE <SeatAttribute> <SeatMapID>7 <SeatDefinitionID>245 5 <SeatCode>D <SeatNumber>5D 312 88 <SeatAttribute>AISL Aisle AISLE <SeatAttribute> <SeatMapID>7 <SeatDefinitionID>246 5 <SeatCode>E <SeatNumber>5E 311 73 <SeatAttribute>CNTR Center CNTR <SeatAttribute> <SeatMapID>7 <SeatDefinitionID>247 5 <SeatCode>F <SeatNumber>5F 312 56 <SeatAttribute>WIND Window WIN <SeatAttribute> <SeatMapID>7 <SeatDefinitionID>252 6 <SeatCode>E <SeatNumber>6E 336 70 <SeatAttribute>CNTR Center CNTR <SeatAttribute> <SeatMapID>7 XML Service APIs

Page 61

<SeatDefinitionID>253 6 <SeatCode>F <SeatNumber>6F 335 56 <SeatAttribute>WIND Window WIN <SeatAttribute> <SeatMapID>7 <SeatDefinitionID>254 7 <SeatCode>A <SeatNumber>7A 358 159 <SeatAttribute>WIND Window WIN <SeatAttribute> <SeatMapID>7 <SeatDefinitionID>256 7 <SeatCode>C <SeatNumber>7C 358 121 <SeatAttribute>AISL Aisle AISLE <SeatAttribute> <SeatMapID>7 <SeatDefinitionID>258 7 <SeatCode>E <SeatNumber>7E 365 71 <SeatAttribute>CNTR Center CNTR <SeatAttribute> <SeatMapID>7 <SeatDefinitionID>259 7 <SeatCode>F <SeatNumber>7F 360 58 <SeatAttribute>WIND Window WIN XML Service APIs

Page 62

<SeatAttribute> <SeatMapID>7 <SeatDefinitionID>260 8 <SeatCode>A <SeatNumber>8A 383 159 <SeatAttribute>BEST Best available i.e. do not seat two passengers acrossed a blocked seat BEST <SeatAttribute> <SeatMapID>7 <SeatDefinitionID>262 8 <SeatCode>C <SeatNumber>8C 383 121 <SeatAttribute>BEST Best available i.e. do not seat two passengers acrossed a blocked seat BEST <SeatAttribute> <SeatMapID>7 <SeatDefinitionID>264 8 <SeatCode>E <SeatNumber>8E 386 73 <SeatAttribute>CNTR Center CNTR <SeatAttribute> <SeatMapID>7 <SeatDefinitionID>265 8 <SeatCode>F <SeatNumber>8F 388 56 <SeatAttribute>OXYG Single Oxygen Mask OXYG <SeatAttribute> <SeatMapID>7 <SeatDefinitionID>272 10 <SeatCode>B <SeatNumber>10B XML Service APIs

Page 63

434 143 <SeatAttribute>EXIT Exit Row EXIT <SeatAttribute> <SeatMapID>7 <SeatDefinitionID>273 10 <SeatCode>C <SeatNumber>10C 434 121 <SeatAttribute>EXIT Exit Row EXIT <SeatAttribute> <SeatMapID>7 <SeatDefinitionID>274 10 <SeatCode>D <SeatNumber>10D 437 88 <SeatAttribute>EXIT Exit Row EXIT <SeatAttribute> <SeatMapID>7 <SeatDefinitionID>275 10 <SeatCode>E <SeatNumber>10E 434 77 <SeatAttribute>EXIT Exit Row EXIT <SeatAttribute> <SeatMapID>7 <SeatDefinitionID>284 12 <SeatCode>C <SeatNumber>12C 486 121 <SeatAttribute>AISL Aisle AISLE
XML Service APIs

Page 64



Reserve Seats The ReserveSeats method makes temporary reservations of one or several seats on a flight for use on a booking. The reservations will be made permanent when the booking is submitted for processing with the corresponding SEAT SSRs. Signature: [Visual Basic] ReserveSeats(FlightNumber As String, BoardDate As String, DepartureAirport As String, ArrivalAirport As String, ClassCode As String, ReserveReason As String, BookNumber As Integer, BlockFlag As String, <XmlArrayItemAttribute("SeatNumber")> SeatNumbers() As String) As <XmlArrayItemAttribute("FlightSeatReservationGroupID", IsNullable:=false)> Integer() Parameters: FlightNumber The airline code plus the numeric flight number BoardDate The date to board the flight, in the format of mm/dd/yyyy DepartureAirport/ArrivalAirport The three-character departure/arrival airport code ClassCode The selling class code of the itinerary segment. BookNumber Numeric booking number if known or 0 if unknown. BlockFlag Boolean flag (Y/N) indicating whether the seat is being reserved (N) or blocked from reservations (Y). SeatNumbers/SeatNumber A string array containing one or more seat numbers to be reserved, concatenated row numbers and seat codes e.g., ‘14B’. Return Values FlightSeatReservationGroupID An array of unique numeric seat reservation identifiers. Each reservation has its’ own unique FlightSeatReservationGroupID. Sample Code: [Visual Basic] 'initiate the asr service proxy Dim asrService As New seatresService.asrservice asrService.Url = ConfigurationSettings.AppSettings.GetValues("asrURL")(0)

XML Service APIs

Page 65

'reserve seat Dim seatNumbers(0) As String seatNumbers(0) = seatNumber Dim seatResIDs() As Integer _ = asrService.ReserveSeats(flightNumber, _ boardDate, _ originAirportCode, destinationAirportCode, _ classCode, _ Nothing, Nothing, Nothing, _ seatNumbers) Sample SOAP request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> RT582 02/28/2005 FLL LGA Y 0 <SeatNumbers> <SeatNumber>14E Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> 9918

Get Book Seat Reservations Retrieves all active seat reservations for a booking. Signature: [Visual Basic] GetBookSeatReservations(ByVal BookNumber As Integer) As XmlNode XML Service APIs

Page 66

Parameters: BookNumber Numeric booking number Return values: FlightSeatReservationID Numeric unique identifier for a seat reservation on the reserved flight segment FlightSeatReservationGroupID Numeric unique identifier for a seat reservation (for all affected legs) FlightDateLegID Numeric unique identifier of a flight/date/origin/destination SeatMapID Numeric identifier of the seat map where the reserved seat is visualized SeatDefinitionID Numeric identifier of the seat TemporaryReserveFlag Boolean flag (Y/N) indicating whether the reservation is confirmed or not ReleaseDateTime Expiry date and time for temporary seat reservations. Null or blank for permanent reservations BoardingControlNumber Boarding control number – sequential boarding pass number. 0, null or blank if a boarding pass has not yet been generated Sample code: [Visual Basic] Dim asrService As New seatresService.asrservice asrService.Url = ConfigurationSettings.AppSettings.GetValues("asrURL")(0) Dim seatReservations As XmlNode = asrService.GetBookSeatReservations(bookNumber) Remarks: This method is wrapped in the RetrieveBooking method of the ResultsBooking.BookingRetrieval class. Sample SOAP/XML request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAPENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> HNPWMY XML Service APIs

Page 67

Successful response is: <SeatReservation> 297452 91 20722 RT900 08/25/2004 08/25/2004 06:30 FLL DTW <SeatDefinitionID>9 17 <SeatCode>F <SeatNumber>17F <SeatMapID>1 300 68 N <PassengerNumber>1 <PassengerName>DOE/JOHN <PassengerDescription>UMNR

Release Seats Releases seat reservations. Use only for temporary reservations; permanent reservations should be released by submitting the booking with the SEAT SSRs cancelled (action code XX) to avoid inconsistencies between SSRs and seat reservations. Signature: [Visual Basic] ReleaseSeats(FlightNumber As string, BoardDate As string, DepartureAirport As string, ArrivalAirport As string, SeatNumbers As ArrayOfSeatNumber) XML Service APIs

Page 68

Parameters: FlightNumber Flight number (airline code and flight number) for the requested flight BoardDate Board date in US date format (MM/dd/yyyy) DepartureAirport Three character IATA airport code for the origin airport ArrivalAirport Three character IATA airport code for the destination airport SeatNumbers Array of seat number(s) to release Sample SOAP/XML request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAPENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 2637829 RT900 08/25/2004 FLL DTW <SeatNumbers> <SeatNumber>17F Successful response is: 91

XML Service APIs

Page 69

Booking Service The booking service exposes methods for validating booking information (passenger information, flight information, fare information, etc.), calculating fees, and confirming bookings and retrieving bookings. Tuxedo service name: BOOKING_SERVICE

Validate Booking This call validates booking data, ensuring that mandatory fields are specified, flight segments are valid and determines if any fees apply to the booking. This method is wrapped by the ValidateBooking method of the ResultsBooking.Booking class. Signature: [Visual Basic] ValidateBooking(Booking As XmlNode) As XmlNode Parameters The booking is submitted as an XmlNode/XmlDocument containing the entire booking. Some of the main nodes are described below, refer to samples for details. BookNo Numeric booking number, if known Locator Alphanumeric record locator, if known SeatCount Number of seats requested in the booking NonSeatTakingPax Number of non seat taking passengers in the booking e.g. number of infants OriginAddress This is the booking origin address ExternalLocator Locator generated outside of Results ReceivedFrom Textual description of the booking source PaymentBalanceValidated Reserved, not used by the booking validation service. BranchCode Booking origin branch code, used for pricing

XML Service APIs

Page 70

Passengers/Passenger Array of Passenger nodes containing passenger names, descriptions and contact information Segments/Segment Array of Segment nodes containing information on each booked segment ActionCode HashValue You can obtain the HashValue from the Validate Booking reply Fares/Fare Array of Fare nodes containing information about fares applied to the booking SourceReferenceId You can obtain the HashValue from the Pricing Service Taxes/Tax Array of Tax nodes containing information about taxes applied to the booking Fees Array of Fee nodes containing information about fees applied to the booking. SSRData Array of SSR nodes containing detailed information Payments/Payment Array of payments applied to the booking PaymentNo A Payment No is the unique ID of each payment in the system, generated by Results when a payment is created. You can input a zero now. PaymentForm Payment Form (along with PaymentType) defines a payment document, i.e. CC/VI for a Visa Credit card. Return values: The response from the validation service is the booking, as submitted and completed with validation errors/warnings, validation ID and any fees that apply. Version The version number of the validation service Id The validation ID that identifies the booking is ready for final submit Error This will be the error code if the execution of the request is unsuccessful Notes This will give a description of the error if the execution of the request is unsuccessful Sample code: XML Service APIs

Page 71

[Visual Basic] 'load sample booking xml Dim bookingInfo As New XmlDocument bookingInfo.Load("c:\temp\testbooking.xml") 'Submit to the validation service Dim bookValidationService As New bookValidationService.bookingValidation bookValidationService.Url = ConfigurationSettings.AppSettings.GetValues("bookValidationURL") (0) Dim validationResponse As XmlNode _ = bookValidationService.ValidateBooking(bookingInfo.DocumentElement) 'loop through validation errors if any and print them in the debug window For Each validationError As XmlNode In validationResponse.SelectNodes("Errors/ErrorInfo") Debug.WriteLine(validationError.SelectSingleNode("ErrorCode").InnerText) Debug.WriteLine(validationError.SelectSingleNode("ErrorDetail").InnerText) Next Note: Fees are added through ResultsBooking.dll. Sample code is provided below: [Visual Basic] 'Instantiate booking object Dim book As New ResultsBooking.Booking 'Create an instance of fee object Dim objFee As New ResultsBooking.Fee With objFee .FeeCode = "XEF" .TaxCode = "FTX" .Description = "New baggage fee" .Amount = 500 .Tax = 20 .CurrencyCode = "USD" .SourceReferenceID = 2 .ThisSession = True End With 'Add fee to the booking object book.Fees.Add(objFee) Sample XML Fee node is included in the XML request below. Sample SOAP/XML request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> 0 <SeatCount>1 0 XML Service APIs

Page 72

HDKWWRT <ExternalLocator /> 192.168.112.64 <PaymentBalanceValidated>false RT FLL 0001 S 0001-01-01T00:00:00.0000000-05:00 false <ModificationAllowed>true <Passengers> <Passenger> <PassengerNo>1 <PassengerCode>ADULT
121 main st.
miami <State>fl us 33333 9545551212 <BusinessPhone /> <Email>[email protected]
<PassengerAge>0 <PassengerAgeUnit /> DOE JOHN <MiddleName /> <Title>MR ADULT <PassengerName>DOE/JOHN MR <Segments> <Segment> RT 5050 FLL LGA Y 180 <SegmentNumber>1 ZEtJy8dL4rVFYT03SINczfLyXAQ= 2005-06-26T00:00:00.0000000-04:00 0001-01-01T17:00:00.0000000-05:00 0001-01-01T20:00:00.0000000-05:00 0 XML Service APIs

Page 73

SS RT5050 <Segment> RT 961 LGA FLL M 180 <SegmentNumber>2 2bElyQ5VpyzoZedwGrnMZExjdm0= 2005-06-29T00:00:00.0000000-04:00 0001-01-01T07:55:00.0000000-05:00 0001-01-01T10:55:00.0000000-05:00 0 SS RT961 0 <PassengerType>ADULT Y YTEST <SegmentNumbers> 1 false 99.00000 USD <SourceReferenceID>-1611485609665673140 0 0 <PassengerDescriptionCode>ADULT USD 99.00000 0 <PassengerType>ADULT M MENR <SegmentNumbers> 2 false 186.04651 USD <SourceReferenceID>-7972859807617955530 0 0 <PassengerDescriptionCode>ADULT USD 186.04651 XML Service APIs

Page 74

<Surcharges /> <PassengerType>ADULT AY <AppliedTo>FLL 2.50000 USD 1 <SourceReferenceID>2 <PassengerType>ADULT XF <AppliedTo>FLL 3.00000 USD 1 <SourceReferenceID>3 ...sample truncated for readability... ...sample truncated for readability... ...sample truncated for readability... ...sample truncated for readability... ...sample truncated for readability... 0 NM2 NM2 GUI name change fee 25.00 0 USD <SourceReferenceID>-5823914343368408810 true <ManualFee>false <SSRData> <SSR> XML Service APIs

Page 75

<SSRNumber>1 RT SEAT HK 1 <SSRSegments> 1 <SSRPassengers> 1 8F <SSR> <SSRNumber>2 RT SEAT HK 1 <SSRSegments> 2 <SSRPassengers> 1 11F CTCE JOHN//RRTECHNOLOGIES.NET E false RT LOCATOR HNTTNW false <Payments> <Payment> <PaymentNo>0 <PaymentForm>VI <PaymentType>CC <PaymentAmount>320.43 <PaymentDate>06/22/2005 4111111111111111 <PassengerName>DOE/Z <PaidCurrencyCode>USD 1111 123 <State /> XML Service APIs

Page 76

Notes: 1. If you want to waive the fee, the fee node should look like this: 0 WF WF Waive name change fee -25.00 0 USD <SourceReferenceID>0 true <ManualFee>false Where and should get the value from system setting PAYMENT_TYPE_FEE_WAI; represents a negative value equal to the amount to be waived. <PassengerName> is optional. 2. If you want to add time limit to a booking (for absence of payment or for deferred payments lilke cash), you need to insert an SSR node for it into the SSRData wrapper node. Example: <SSR> <SSRNumber>0 YY RRTL HK 1 <SSRPassengers> 1 M1200 where Carrier should always have value YY. Code must use RRTL In Text element, M indicates minute; the number is the actual time limit in minutes. 3. If the booking is paid with PROSA credit card, you will see an extra node within the PAYMENT wrapper node:

XML Service APIs

Page 77

19677 56 4. For modified bookings, the following elements may be added to the <Passenger> node (after the current name) and is required if the change involes name(s). ; ; ; ; and . Example: <Passengers> <Passenger> <PassengerNo>1 <PassengerCode>ADULT
<State /> <BusinessPhone /> <Email /> <PassengerAge>0 <PassengerAgeUnit /> TEST ZZZ <MiddleName /> <Title /> ADULT <PassengerName>TEST/ZZZ TEST JOHN TEST/JOHN Successful response is: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> 1 2f443ef0-7c2f-4bc2-b76c-268dbb7122a6 XML Service APIs

Page 78

<Errors /> 0 <SeatCount>1 0 HDKWWRT <ExternalLocator /> 192.168.112.64 <PaymentBalanceValidated>false RT FLL 0001 <SourceIP>192.168.112.64 <Passengers> <Passenger> <PassengerNo>1 <PassengerCode>ADULT
<State /> <BusinessPhone /> <Email>[email protected] <PassengerAge>0 <PassengerAgeUnit /> DOE JANE <MiddleName /> <Title>MR ADULT <PassengerName>DOE/JOHN MR <Segments> <Segment> RT 5050 FLL LGA Y 180 <SegmentNumber>1 ZEtJy8dL4rVFYT03SINczfLyXAQ= 2005-06-26T00:00:00.0000000-04:00 XML Service APIs

Page 79

0001-01-01T17:00:00.0000000-05:00 0001-01-01T20:00:00.0000000-05:00 0 SS RT5050 <Segment> ...sample truncated for readability... 0 <PassengerType>ADULT Y YTEST <SegmentNumbers> 1 false 99.00000 USD <SourceReferenceID>-1611485609665673140 0 0 <PassengerDescriptionCode>ADULT USD 99.00000 0 <PassengerType>ADULT M MENR <SegmentNumbers> 2 false 186.04651 USD <SourceReferenceID>-7972859807617955530 0 0 <PassengerDescriptionCode>ADULT USD 186.04651 <Surcharges /> <PassengerType>ADULT AY <AppliedTo>FLL 2.50000 USD XML Service APIs

Page 80

1
<SourceReferenceID>2
<PassengerType>ADULT XF <AppliedTo>FLL 3.00000 USD 1 <SourceReferenceID>3 ...sample truncated for readability... ...sample truncated for readability... ...sample truncated for readability... ...sample truncated for readability... ...sample truncated for readability...
<SSRData> <SSR> <SSRNumber>1 RT SEAT HK 1 <SSRSegments> 1 <SSRPassengers> 1 8F <SSR> <SSRNumber>2 RT SEAT HK 1 <SSRSegments> 2 <SSRPassengers> XML Service APIs

Page 81

1 11F <Payments> <Payment> <PaymentNo>0 <PaymentForm>VI <PaymentType>CC <PaymentAmount>320.43 <PaymentDate>06/22/2005 4111111111111111 <PassengerName>li/z <PaidCurrencyCode>USD 1111 123 <State />

Submit Booking Service Submits bookings for creation or modification. This method is wrapped in the SubmitBooking method of the ResultsBooking.Booking class. Signature [Visual Basic] SubmitBooking(Booking As XmlNode) As BookingSubmitDetails Parameters: BookNo Numeric booking number Locator Six character alphanumeric booking record locator. XML Service APIs

Page 82

SeatCount The number of seats requested by the booking. NonSeatTakingPax The number of non-seat taking passengers in the booking e.g., number of infants. OriginAddress Booking source origin address. ExternalLocator This is the locator from the external source ReceivedFrom Textual booking source description BranchCode Booking branch code, used for pricing AgencyCode ARC or Results travel agency code for travel agency bookings. Leave blank or null for non-agency bookings. FareDesignator Fare designator/ticket designator/promotion code used by this booking. Leave blank or null if no fare designator was used. SourceIP IP address of the remote system creating or modifying the booking. E.g., the web user’s IP address for web bookings Passengers/Passenger Array of Passenger nodes containing passenger names, descriptions and contact information Segments/Segment Array of Segment nodes containing information on each booked segment Fares/Fare Array of Fare nodes containing information about fares applied to the booking Taxes/Tax Array of Tax nodes containing information about taxes applied to the booking Fees Array of Fee nodes containing information about fees applied to the booking SSRData Array of SSR nodes containing detailed information about Payments/Payment Array of payments applied to the booking. Payment nodes has to have PaymentNo element with value 0 in order for the payment records to be stored with the booking. Example: <PaymentNo>0 Refunds/Refund Array of refund requests for modified bookings. Each refund will result in a voucher

XML Service APIs

Page 83

AdditionalFieldValues Array of user-created additional data that can be associated with a PNR. See Customizing Booking Additional Data in the Results Online Help. OldFares/ OldSurcharges/ OldTaxes Reserved, populated by the ResultsBooking component when modifying/repricing bookings WaitForReply Boolean flag (true/false) indicating whether the service should wait for the system to process the booking before returning submit status WaitSeconds Number of seconds to wait if WaitForReply is set to true Return value: SubmitID A unique identifier of each individual booking submit request. This value is used to query for booking processing status or cancel booking request through the SubmitBookingStatus method. Sample code: [Visual Basic] 'load sample booking xml Dim bookingInfo As New XmlDocument bookingInfo.Load("c:\temp\testbooking.xml") 'call the validation service Dim bookValidationService As New bookValidationService.bookingValidation bookValidationService.Url = ConfigurationSettings.AppSettings.GetValues("bookValidationURL") (0) Dim validationResponse As XmlNode _ = bookValidationService.ValidateBooking(bookingInfo.DocumentElement) bookValidationService = Nothing 'if there were no validation errors, submit the booking If validationResponse.SelectNodes("Errors/ErrorInfo") Is Nothing Then 'call the booking submit svc Dim bookSubmitService As New bookingSubmitService.bookingsubmit bookSubmitService.Url = ConfigurationSettings.AppSettings.GetValues("bookSubmitURL")(0) Dim bsDetails As bookingSubmitService.BookingSubmitDetails = bookSubmitService.SubmitBooking(bookingInfo.DocumentElement) bookSubmitService = Nothing 'check booking submit status Dim submitStatus As bookingSubmitStatusService.BookingStatus Dim bookingStatus As New bookingSubmitStatusService.bookingSubmitStatus bookingStatus.Url = ConfigurationSettings.AppSettings.GetValues("bookSubmitStatusURL")(0) submitStatus = bookingStatus.SubmitBookingStatus(bsDetails.SubmitID, "false", 1) bookingStatus = Nothing 'check submit status Dim submitStage As String = submitStatus.Stage Select Case submitStage Case "INQUEUE" 'Booking is in the TTY-in queue, waiting to be processed XML Service APIs

Page 84

're-query later Case "ETQUEUE" 'Booking is in the ET queue, waiting to be processed 're-query later Case "ETDONE" 'End transaction processing completed 're-query later Case "ETREJECT" 'Booking was rejected 'display an error message Case "QUEUEREJECT" 'Booking was put on reject queue 'display an error message Case "OUTQUEUE" 'Booking is in TTY-out queue 're-query later Case "DONE" 'Booking processing completed 'display success message/retrieve booking End Select End If Return value structure definition: Public Class BookingSubmitDetails Public SubmitID As String End Class Sample SOAP/XML request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <SubmitBooking xmlns="http://rrtechnologies.net/soap/"> 2649524 HNRCZW <SeatCount>1 0 HDKWWRT <ExternalLocator>HNRCZW RT FLL 0001 <Passengers> <Passenger> <PassengerNo>1 <PassengerCode>ADULT
<State/> XML Service APIs

Page 85

<BusinessPhone /> <Email>[email protected] <PassengerAge>0 <PassengerAgeUnit /> DOE JOHN <MiddleName /> <Title>MR ADULT <PassengerName>DOE/JOHN MR <Segments> <Segment> RT 5050 FLL LGA Y 180 <SegmentNumber>1 2005-06-26T00:00:00.0000000-04:00 0001-01-01T17:00:00.0000000-05:00 0001-01-01T20:00:00.0000000-05:00 0 SS RT5050 0 <PassengerType>ADULT Y YTEST <SegmentNumbers> 1 false 99.00000 USD <SourceReferenceID>-1611485609665673140 0 0 <PassengerDescriptionCode>ADULT USD 99.00000 XML Service APIs

Page 86

...sample truncated for readability...
<Surcharges> <Surcharge> <PassengerCode>ADULT IN <SurchargeAmount>8.50000 <SurchargeCurrency>USD <SurchargeSegments> 1 <PassengerType>ADULT AY <AppliedTo>FLL 2.50000 USD 1 <SourceReferenceID>2 WCO 32.00000 <PassengerName>DOE/JOHN MS USD BT 3.00000 true <ManualFee>false 0 MBF ManualBaggageFee 10 0 USD true <ManualFee>true 1.00000 ACY 15FEB09 <SSRData> <SSR> <SSRNumber>1 RT SEAT XML Service APIs

Page 87

HK 1 <SSRSegments> 1 <SSRPassengers> 1 8F <SSR> <SSRNumber>2 RT DOCA HK 1 <SSRSegments> 1 <SSRPassengers> 1 D/USA/301 PARK AVENUE/NEW YORK/NY/10022/S3 <Payments> <Payment> <PaymentNo>0 <PaymentForm>VI <PaymentType>CC <PaymentAmount>342.43 <PaymentDate>06/22/2005 4111111111111111 <PassengerName>DOE/JOHN <PaidCurrencyCode>USD <PaidFlag>Y 12345 Y 1111 123 12345 12345 <State /> BookedByAgency Deluxe Travel 0 XML Service APIs

Page 88

1 <SeqNo>0
HNRCZW <WaitForReply>True <WaitSeconds>10 Notes: 1. For the Fee node, parameter has to have a value. Enter 0 if there is no associated with this . 2. If the booking is paid with PROSA credit card, you will add an extra node within the PAYMENT wrapper node: 19677 56 3. Passenger document SSR can have three codes: ♦ ♦ ♦

DOCS – for primary travel document information (e.g. passport, national ID card) DOCO – for secondary travel document information (e.g. visa) DOCA – for passenger address information (either Residence or Destination address depending on the particular Customs requirement)

If the document type is DOCS, node should contain: P/MYS/012345678/MYS/30JUN73/M/14APR09/JOHNSON/SIMON/S3 In which P = Travel Document Type, i.e. Passenger Passport (Other values can be F=Approved non-standard identity documents use for travel; AC=Crew Member Certificate; A=Identity Card; C=Identity Card; I=Identity Card; IP=Passport Card.) MYS = Travel Document Issuing Country 012345678 = Travel Document Number MYS = Passenger Nationality XML Service APIs

Page 89

30JUN73 = Date of Birth M = Gender (M for male and F for Femal) 14APR09 = Document Expiration Date JOHNSON/SIMON = Passegner Name in the format of LAST/FIRST. S3 = Segment Association i.e. third segment If the document type is DOCA, node should contain: R/USA/301 PARK AVENUE/NEW YORK/NY/10022/S3 In which R = Type of Address (R for Residence and D for Destination) USA = Residence Country Code 301 PARK AVENUE = Residence Detailed Address NEW YORK = Residence City NY = Residence State 10022 = Residence Zip Code S3 = Segment Association If the document type is DOCO, node should contain: SELANGOR MYS/V/11223344/KUALA LUMPUR/12MAY05/USA/S3 In which SELANGOR MYS = Passenger Place of Birth V = Travel Document Type i.e Visa 11223344 = Visa Document Number KUALA LUMPUR = Visa Document Place of Issue 12MAY05 = Visa Document Issue Date USA = Country for which the visa is applicable S3 = Segment Association

XML Service APIs

Page 90

Successful response is: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> 756906

Checking Booking Submit Status Checks the processing status of the new/modified booking submitted into Results, using the SubmitID from the reply of BookSubmit. Signature: [Visual Basic] SubmitBookingStatus(SubmitID As string, WaitForReply As string, WaitSeconds As int) Parameters SubmitID A submit id returned from the booking service's SubmitBooking method. This parameter a booking submission and is used to retrieve the processing status for the specified submission WaitForReply Boolean flag (true/false) controlling whether the service will wait for the booking to get processed before replying. If set, the service will wait up to the number of seconds specified in WaitSeconds before replying. This should normally be set to false to avoid congestion. WaitSeconds Maximum number of second to wait if WaitForReply is set to True Return values: Locator This is the Results locator ExternalLocator This is the external locator Completed Boolean flag (true/false) indicating processing status. As long as this value is “false”, the SubmitBookingStatus API call needs to be re-issued for the same SubmitID. Make sure that you have a reasonable time and retry limit for the SubmitBookingStatus API, as conditions in the system may exist where submitted booking messages may be XML Service APIs

Page 91

delayed for an indefinitely long time. When those retry limits are reached the transaction with the particular SubmitID should be considered as failed and discarded using the CanceBookingReques API. The end user should be directed to a call center for further handling. Stage String indicating the current processing stage for the submission request. The transactions is considered properly processed only when the Completed reply node is “true”, and the Stage node value has a value of DONE, OUTQUEUE or ETDONE. Any other value in the Stage node should be treated as a failure in processing the booking transaction for the particular SubmitID. The end user should be directed to a call center for further handling. Remarks This methods WSDL description is in resultsservices/bookingsubmitstatus.wsdl. Sample Code [Visual Basic] 'check booking submit status Dim submitStatus As bookingSubmitStatusService.BookingStatus Dim bookingStatus As New bookingSubmitStatusService.bookingSubmitStatus bookingStatus.Url = ConfigurationSettings.AppSettings.GetValues("bookSubmitStatusURL")(0) submitStatus = bookingStatus.SubmitBookingStatus(SubmitID, "false", 1) 'check submit status Dim submitStage As String = submitStatus.Stage Select Case submitStage Case "INQUEUE" 'Booking is in the TTY-in queue, waiting to be processed Case "ETQUEUE" 'Booking is in the ET queue, waiting to be processed Case "ETDONE" 'End transaction processing completed Case "ETREJECT" 'Booking was rejected Case "QUEUEREJECT" 'Booking was put on reject queue Case "OUTQUEUE" 'Booking is in TTY-out queue Case "DONE" 'Booking processing completed End Select Sample SOAP request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <SubmitBookingStatus xmlns="http://rrtechnologies.net/soap/"> <SubmitID>756906 <WaitForReply>false <WaitSeconds>1 XML Service APIs

Page 92

Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> 756906 HNRCZX HNRCZW true DONE Alternative response, while the booking is still being processed: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> 756906 false INQUEUE 2005 5 22 10 27 2005 5 22 10 27 XML Service APIs

Page 93

This reply message indicates the booking is queued for processing. No record locator has been generated at this time.

Cancel Booking Request Cancel the new/modified booking submitted into Results, if for some reason the processing of the booking is stuck, using the SubmitID from the reply of BookSubmit. Parameter SubmitID The submit ID number returned from the system after you submit booking request. Sample SOAP/XML request: <SubmitID>751191 Successful response is: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> <status>OK <description>booking request cancelled

Booking Retrieval Retrieves booking information using booking number or internal record locator or external record locator; or any combination. Signature XML Service APIs

Page 94

[Visual Basic] GetBooking(BookingNumber As Integer, Locator As String, External As String) As XmlNode Parameters: BookingNumber Results numeric booking number. Leave as 0 or blank if Locator or External Locator is used to retrieve the booking Locator Results record locator generated after booking confirmation ExternalLocator The External Locator of the PNR Return values: BookNo Numeric booking number PnrBookNumb The six-character alpha- or alphanumeric record locator GroupName Name of a group if it is a group booking BookAgencyCode Agency code if it is an agency booking CreaDateTime Time the booking is created BookingStatus Values can be A (active) and X (cancelled) NoOfSeats Number of seats in this booking BookCategory Booking category can be S (single), G (group), and N (non revenue) AgencyTradeName This is the agency trade name if it is an agency booking ExternalBookNumber This is the external locator PassengerNo The sequential number of a passenger in the booking PassengerName The name of this passenger

XML Service APIs

Page 95

ClientPrflNo The passenger’s number that is stored in Client Profile database RequestNos This indicates which SSR/OSI belongs to this passenger. Multiple requests are separated by # RemarkNos This indicates which remark is for this passenger RouteNo The route identifier defined in Route table for this city pair FareNos The sequential number of the fare applicable. If this is the first segment of the booking, the number here is 1 SeatRqstType Reserved for now RqstCode This is the special service code. SEAT means seat request ActionCode This is the status of the request. HK for confirmed RqstSeqnNo This is the SSR sequential number in this booking RequestText SSR free text portion SsrOsiIndicator Indicates if this is an SSR or OSI request. S means SSR; O means OSI AllPassengerFlg This indicates if the request is for all the passengers in the booking AllItenaryFlg This indicates if the request is for the whole itinerary PASSENGERCONTACT This wrapper node contains all the passenger contact information, like name, email, phone, etc. FARE This wrapper node contains all fare information of the booking, like fare code, fare amount, etc. PaymentNo This is the payment identifier that is stored in the Payments table RemarksText This is additional payment information stored in the database. If the payment form is credit card, the approval/denial information will be collected and stored here; if the payment form is voucher, the voucher information (number and reason code) will be stored here

XML Service APIs

Page 96

TIMELIMITS The wrapper node that contains the time limit element TIMELIMIT The node that contained detailed time limit information on the booking TimeLimitType Value is T TimeLimitDate Format is ddmmyyyy TimeLimitDateAlt Format is mm/dd/yyyy TimeLimitHour Thime limit in the unit of hours TimeLimitMinute The time limit shown in minute if applicable. Not all the time limits have this value TimeLimitSecond Currently this is 00 for all bookings TimeLimitTime This is the time of the day when the time limit expires. Format is hh:mm:ss CancelFlag The flag to indicate if the booking should be canceled if the time limit expires. Value is C (automatic cancellation) or Q (queuing the booking instead of cancellation) QueueCode The queue code (set uo in the Queue Codes table) for bookings on a time limit DestinationBranch Branch code for the booking Remarks Text description of the time limit. Example: Type B Agency Limit AllPassengers Indicator if the time limit applies to all passengers in the booking. Default is Y SUMMARY The wrapper node that contains information related with fare and payment, such as total fare, total payment, total outstanding amount, etc. InvokingBranch Optional node for the branch information of the location invoking the booking retrieval request. Used for implementations that need to have the branch details returned with the booking detail. When this node is provided, the reply XML will contain the following additional section: RT FLL 0002 XML Service APIs

Page 97

FLL FORT LAUDERDALE <StateCode>FL <StateName>Florida US USA
CommonCurrencyCode Optional node indicating the common currency to be used for the calculation of the CommonCurrencyFactor node in the reply XML. When not provided, the system uses the booking fare currency as the basis for the currency rate calculation. This parameter is relevant only in cases where mixed currency bookings are enabled.

Sample code: [Visual Basic] Dim bookRetrievalService As New bookInfoService.bookinfo bookRetrievalService.Url = ConfigurationSettings.AppSettings.GetValues("bookInfoURL")(0) Dim booking As XmlNode = bookRetrievalService.GetBooking(Nothing, bookRecordLocator, Nothing) Remarks: The booking retrieval functionality is wrapped in the RetrieveBooking method of the ResultsBooking.BookingRetrieval class. This method will call both the booking retrieval service and the ASR service's GetBookSeatReservations, do the necessary format conversions using a stylesheet as defined in the bookRetrievalTransform application setting (normally bookretrieval.xslt that comes with the ResultsBooking library) and deserialize into a new booking object. If the airline allows mixed currency bookings, any calculations performed on financial data needs to be done by multiplying the amount node with the CommonCurrencyFactor node for each value. This will make sure that the calculations are done with the proper exchange rate, effective at the time the financial transaction was recorded in the system. For single currency bookings this multiplication can be avoided. Sample SOAP/XML request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> 0 HNTTTS <ExternalLocator> Successful response is: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> XML Service APIs

Page 98

<soap:Header/> <soap:Body> 2674112 HNTTTS 2007/01/06/15/32/30 A 1 S <ExternalBookNumber>HNTTTR HDKWWRT 0 <EtRejectIndicator>0 <ScrutinyFlag>N <EtQueueCount>0 0 <PassengerNo>1 <PassengerName>XECC/TEST <PassCode>ADULT 4 <SEGMENTS> <SEGMENT> 1 RT111 <SellingClsCode>Y 10Jan2007 FLL LGA HK 1 06:00 07:50 <SeatRqstType>C 2674112 1 0 FLL LGA FT LAUDERDALE/HOLLYWOOD INTL FORT LAUDERDALE LA GUARDIA INTERNATIONAL NEW YORK XML Service APIs

Page 99

A 4 0 <SEGMENT> 2 RT960 <SellingClsCode>Y 13Jan2007 LGA FLL HK 2 07:00 10:00 <SeatRqstType>C 2674112 1 0 LGA FLL LA GUARDIA INTERNATIONAL NEW YORK FT LAUDERDALE/HOLLYWOOD INTL FORT LAUDERDALE A 4 0 <SSROSIS> <SSROSI> <SeatRqstType/> RT CTCE 1 TEST//RRTECHNOLOGIES.NET E <SsrOsiIndicator>O Y Y PASS E-Mail address 1 <SSROSI> <SeatRqstType>C RT RT HK 2 LOCATOR HNTTTS <SsrOsiIndicator>O Y Y XML Service APIs

Page 100

1 <SSROSI> <SeatRqstType>C RT OTHS HK 3 TKNA 4870010043807 <SsrOsiIndicator>S Y Y OTHS Other SSR/OSI, specify details 1 <SSROSI> <SeatRqstType>C RT LEG HK 4 This is the 2nd leg of an XP booking <SsrOsiIndicator>O N N XP This is for Xp booking 1 <SSROSI> <SeatRqstType>C RT ADTK HK 5 TO RT BY 01:00PM EST/08JAN OTHERWISE WILL BE XCLD <SsrOsiIndicator>S Y Y TICK Advice if Ticketed 1 <PassengerNo>1 <PassengerName>XECC/TEST <BussPhoneNo/> <EmailAddress>[email protected] XML Service APIs

Page 101

<BussAddress/> <BussCity/> <BussState/> <BussZip/> <BussNation/>
1 <PassengerDescriptionCode>ADULT FLL LGA 82.79 82.79000 USD A FORT LAUDERDALE NEW YORK <SourceReferenceId>0 N <SurchargeAmount>0.00 1.00000 82.79 82.79000 2 <PassengerDescriptionCode>ADULT LGA FLL 98.72 98.72000 USD A NEW YORK FORT LAUDERDALE <SourceReferenceId>0 N <SurchargeAmount>15.00 1.00000 83.72 83.72000 XML Service APIs

Page 102

6 <PassengerDescriptionCode>ADULT Tax Tax 18.44 18.44000 USD A <SourceReferenceId>0 N <SurchargeAmount>0.00 1.00000 18.44 18.44000
XF 5.00 5.00000 <PassengerCode>ADULT FLL <PaidCurrencyCode>USD RT111 01/10/2007 FLL LGA <SourceReferenceId>3 <ShortDescription>PFC Passenger Facility Charge 1.00000 MX 4.94 4.94000 <PassengerCode>ADULT LGA <PaidCurrencyCode>USD RT960 01/13/2007 LGA FLL <SourceReferenceId>314 <ShortDescription>Percentage Percentage tax 1.00000 XF 3.00 3.00000 XML Service APIs

Page 103

<PassengerCode>ADULT LGA <PaidCurrencyCode>USD RT960 01/13/2007 LGA FLL <SourceReferenceId>5 <ShortDescription>PFC Passenger Facility Charge 1.00000
AY 2.50 2.50000 <PassengerCode>ADULT LGA <PaidCurrencyCode>USD RT960 01/13/2007 LGA FLL <SourceReferenceId>44 <ShortDescription>Security Tax Airport Security Tax 1.00000 AY 3.00 3.00000 <PassengerCode>ADULT FLL <PaidCurrencyCode>USD RT111 01/10/2007 FLL LGA <SourceReferenceId>2 <ShortDescription>Security Tax Airport Security Tax 1.00000
<PassengerDescriptionCode>ADULT USD 199.95 199.95001 - <EndorsementRestriction>- 199.95 199.95000 1.00000 XML Service APIs

Page 104

1 <PassengerDescriptionCode>ADULT RT111 10Jan2007 FLL LGA <SellingClsCode>Y YTL 06Jan2007 06Jan2007 2 <PassengerDescriptionCode>ADULT RT960 13Jan2007 LGA FLL <SellingClsCode>Y YTL 06Jan2007 06Jan2007 1 <PassengerDescriptionCode>ADULT <PaymentCode>FARE YTL 82.79 82.79000 USD N N N <SourceRefId>7360950909099002070 1.00000 2 <PassengerDescriptionCode>ADULT <PaymentCode>FARE YTL 83.72 83.72000 USD N N N XML Service APIs

Page 105

<SourceRefId>5150511732801948700 1.00000
6 <PassengerDescriptionCode>ADULT <PaymentCode>TAX TAX1 3.00 3.00000 USD AY FLL N N N <SourceRefId>2 1.00000 6 <PassengerDescriptionCode>ADULT <PaymentCode>TAX TAX2 5.00 5.00000 USD XF FLL N N N <SourceRefId>3 1.00000 6 <PassengerDescriptionCode>ADULT <PaymentCode>TAX TAX3 2.50 2.50000 USD AY LGA N N N <SourceRefId>44 1.00000 6 <PassengerDescriptionCode>ADULT <PaymentCode>TAX TAX4 3.00 XML Service APIs

Page 106

3.00000 USD XF LGA N N N <SourceRefId>5 1.00000
6 <PassengerDescriptionCode>ADULT <PaymentCode>TAX TAX5 4.94 4.94000 USD MX LGA N N N <SourceRefId>314 1.00000
<SURCHARGES> <SURCHARGE> <PassengerCode>ADULT <SurchargeCode>Q RT960 01/13/2007 LGA FLL <SurchargeAmount>15.00 15.00000 <SurchargeCurrency>USD <SourceReferenceId>-2567289303763301421 2 1.00000 <PaymentNo>10043807 <PaymentForm>VI <PaymentType>CC Credit Card Visa Card <PaymentAmount>199.95 199.95000 <PaymentDate>06Jan2007 <PaymentDateTime>2007-01-06 15:32:30 PMMMMMMMMMMMMMMM ************1111 XML Service APIs

Page 107

<PassengerName>XECC/TEST <PassengerDescriptionCode>ADULT EXTERNAL APPROVAL HDKWWRT/HDQNK/ <PaidCurrencyCode>USD <PaidFlag>Y <PaymentStatusFlg>A AUTO 1209 1.00000
<SequenceNo>1 QPL 1 RT FLL 0001, TTSYS HDKWWRT/HDQNK/ SYS AIRIM 06Jan2007 15:32:30 <SequenceNo>2 NEW 1 NEW BOOKING HDKWWRT/HDQNK/ GSA99 AIRIM 06Jan2007 15:32:30 <SequenceNo>3 ITN 1 RT111 Y 10JAN FLL LGA HK/FB 1 0600 0750 HDKWWRT/HDQNK/ GSA99 AIRIM 06Jan2007 15:32:30 <SequenceNo>4 ITN 1 RT960 Y 13JAN LGA FLL HK/FB 1 0700 1000 XML Service APIs

Page 108

HDKWWRT/HDQNK/ GSA99 AIRIM 06Jan2007 15:32:30
<SequenceNo>5 NAM 1 XECC/TEST HDKWWRT/HDQNK/ GSA99 AIRIM 06Jan2007 15:32:30 <SequenceNo>6 TLQ 1 TK C RT FLL 0001 TLT01 08JAN007 13:00@@Fare Time Limit HDKWWRT/HDQNK/ GSA99 AIRIM 06Jan2007 15:32:30 <SequenceNo>7 FRE 1 AUTO FLL LGA 82.79 USD HDKWWRT/HDQNK/ GSA99 AIRIM 06Jan2007 15:32:30 <SequenceNo>8 FRE 1 AUTO LGA FLL 98.72 USD HDKWWRT/HDQNK/ GSA99 AIRIM 06Jan2007 15:32:30 <SequenceNo>9 FRE 1 AUTO Tax Tax 18.44 USD HDKWWRT/HDQNK/ GSA99 AIRIM 06Jan2007 15:32:30 <SequenceNo>10 XML Service APIs

Page 109

SSR 1 OSI RT CTCE 1 TEST//RRTECHNOLOGIES.NET E HDKWWRT/HDQNK/ GSA99 AIRIM 06Jan2007 15:32:30
<SequenceNo>11 SSR 1 OSI RT RT KK LOCATOR HNTTTS HDKWWRT/HDQNK/ GSA99 AIRIM 06Jan2007 15:32:30
64 6260 0 <ApplicationFieldCode/> Custom Custom Field <MandatoryFlag>N <SeqNo>2 TXT S 15 6261 0 <ApplicationFieldCode/> Costcenter Costcenter <MandatoryFlag>N <SeqNo>3 TXT S 16 6262 0 <ApplicationFieldCode/> Account Account <MandatoryFlag>N <SeqNo>4 TXT XML Service APIs

Page 110

S
17 6263 0 <ApplicationFieldCode/> EmployeeNo EmployeeNo <MandatoryFlag>N <SeqNo>5 TXT S 18 6264 0 <ApplicationFieldCode/> Remarks Remarks <MandatoryFlag>N <SeqNo>6 TXT S 65 6265 0 <ApplicationFieldCode/> Service Service Station <MandatoryFlag>N <SeqNo>7 TXT S
<TIMELIMITS> <TIMELIMIT> <TimeLimitType>T <TimeLimitDate>08Jan2007 <TimeLimitDateAlt>01/08/2007 <TimeLimitHour>13 <TimeLimitMinute>0 <TimeLimitSecond>00 <TimeLimitTime>13:00:00 C TKT01 RT FLL 0001 Fare Time Limit Y XML Service APIs

Page 111

<SUMMARY> 199.95 0.00 199.95 0.00 15.00 0.00 USD US Dollar 2 2 1.00000 840 2006/10/27/17/52/10
Note 1: The below are used by the RRT Web Framework for PNR modifications, and can be ignored: ; ; ; ; ; ; ; and . Note 2: If the booking is paid with PROSA credit card, you will see an extra node within the PAYMENT wrapper node: 19677 56

Split Booking Service Splits passenger(s) from an existing booking into a new booking. This is typically used when changing itinerary for one or several, but not all, passengers on a booking. Signature: [Visual Basic] SplitBooking(BookingNumber As Long, ReceivedFrom As String, UserCode As String, DestID As String, DutyCode As String, BranchCode As String, <XmlArrayItemAttribute("PassengerNo", IsNullable:=false)> Passengers() As Integer) As XmlNode Parameters: BookingNumber Numeric booking number ReceivedFrom Textual description of the requestor, e.g. the IP address of the remote system

XML Service APIs

Page 112

UserCode Up to five-character user code, e.g. ‘WEB’ DestID Requestor destination ID, e.g. ‘FLLNK001’ DutyCode Reserved, set to ‘DBA99’ BranchCode Requesting branch code, e.g. ‘NK FLL 0001’ PassengerNo Array of passenger numbers to split out from the booking Sample code: [Visual Basic] 'numeric booking number Dim bookNo As Integer = 100 'received from text displayed in booking history receivedFromUser = "Split Test" 'split out passengers 1 and 3 Dim passengerNos(1) As Integer passengerNos(0) = 1 passengerNos(1) = 3 'get user/dest id from app settings Dim userCode As String = ConfigurationSettings.AppSettings.GetValues("webUserCode")(0) Dim userDestID As String = ConfigurationSettings.AppSettings.GetValues("webUserDestID")(0) Dim branchCodeApp As String = ConfigurationSettings.AppSettings.GetValues("branchCode")(0) 'call the split booking service Dim bookSubmitService As New bookingSubmitService.bookingsubmit bookSubmitService.Url = ConfigurationSettings.AppSettings.GetValues("bookSubmitURL")(0) Dim splitReply As XmlNode _ = bookSubmitService.SplitBooking(bookNo, receivedFromUser, userCode, userDestID, "DBA99", branchCodeApp, passengerNos) Sample SOAP/XML request: 2654083 TEST <UserCode>ZLI FLLNK001 AGENT RT FLL 0001 <Passengers> <Passenger> XML Service APIs

Page 113

<PassengerNo>3 <Passenger> <PassengerNo>4
Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> 2654086

Cancel Booking Service Downline cancel a no-show booking at the submission of flight PRL/PFS. If the booking uses refundable fares, a voucher will be generated. However if the system does not issue vouchers upon cancellation, no voucher will be generated. Parameters: VoucherReasonCode One of the codes that is setup in the Voucher Reason Code table. Values can be WEB, CP, and CR BookingNumber The seven-digit identifier for the booking that you are canceling ReceivedFrom The name of the person requesting cancellation UserCode The user code of the person that is performing the cancellation DestID The destination branch code DutyCode The user type of the person performing the cancellation BranchCode The branch code of the user Passengers The node that wraps the passenger information in the booking XML Service APIs

Page 114

Passenger Name of the passenger in the booking. Format is LAST/FIRST PassengerNo The sequential number of the passenger in the booking if there are multiple passengers in the booking Return Values VoucherNumber The voucher number generated from the booking cancellation. This field will be empty if the booking uses nonrefundable fares or if your system does not issue vouchers at all. Sample XML Request: WEB Cancelling 2667759 LYNN <UserCode>ZLI RTFLL01 DBA99 RTTTY0001 <Passengers> <Passenger>GOLDBERG/RIAN <PassengerNo>1 Sample Response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> 0017702C

Update FQTV service This service will update the Frequent Flyer information for a passenger, in both the Reservation and the DCS; if the PNR is already in DCS control Parameters: Locator The Airline’s record locator for the PNR. XML Service APIs

Page 115

PassengerName The passenger whose Frequent Flyer information is being updated. FQTVtext The Frequent Flyer ID. Sample XML Request: HNWLSG <PassengerName>TEST/FQTV RNXX68001 Sample Response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> true

XML Service APIs

Page 116

Generate Locator Service Generates an external booking record locator for a booking. When the service call is initiated by the web, only the locator generated is used by the system. The booking number is of no practical value. When the GENERATELOCATOR call is used by the GUI/TypeB/internal-RRT-APPS, then both the locator and the booking number are used by the system. Tuxedo service name: GENERATELOCATOR. Signature: [Visual Basic] GenerateLocator(UserCode As String, DestinationID As String) As XmlNode Parameters: UserCode An up to five-character user ID, e.g. ‘WEB’. DestinationID The destination ID of the caller, e.g. ‘FLLNK0001’ Return values: BookingNumber Web generated unique booking number. However this is not the booking number you see in the booking number field in Results Booking dialog box Locator Web generated external record locator. You will see this in the external locator field in Results Booking dialog box Sample code: [Visual Basic] 'get config settings Dim userCode As String = ConfigurationSettings.AppSettings.GetValues("webUserCode")(0) Dim userDestID As String = ConfigurationSettings.AppSettings.GetValues("webUserDestID")(0) 'call service to create locator Dim locatorGenerator As New generateLocatorService.generateLocator locatorGenerator.Url = ConfigurationSettings.AppSettings.GetValues("generateLocatorURL")(0) Dim locatorInfo As XmlNode _ = locatorGenerator.GenerateLocator(userCode, userDestID) 'print locator information to the debug window Debug.WriteLine("Numeric Booking Number: " _ & locatorInfo.SelectSingleNode("BookingNumber").InnerText) Debug.WriteLine("Alphanumeric Locator: " _ & locatorInfo.SelectSingleNode("Locator").InnerText) Remarks: The WSDL description for this service is in ResultsServices/generatelocator.wsdl XML Service APIs

Page 117

Sample SOAP/XML request for creating new bookings on the web: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <UserCode>WEB FLLNK001 Successful response for web new booking is: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> 2649524 HNRCZW To retrieve GUI bookings from the web, use the following XML call: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> HNTTNX <ExternalLocator>HNTTNZ <ExternalAddress>HDKWWRT For retrieving GUI booking on the web, the response is: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body>

XML Service APIs

Page 118

Floating Fare Services This service locks a floating fare amount using a base fare and assigns the floating fare to a booking. This is used to avoid having floating fares repriced at a higher amount if the base class is sold out between the original availability or pricing request and a reprice-request. Tuxedo service name: LOCKFARESERVICE.

Lock Fare Service Locks a floating fare so it will stay even if the original base fare is sold out Parameters: ClassCode Selling class for the floating fare DepartureDate Departure date this fare is being locked for AirportCodes Array of origin, via and destination airport codes FlightNumbers Flight number(s) this fare was retrieved for FloatingFareCode Fare code for the floating fare FloatingFareAmount The fare amount for the floating fare Currency Fare currency code RefundableFlag Boolean flag (Y/N) indicating whether the floating fare is a refundable or non-refundable fare. BaseFareCode The fare code on which the floating fare is based BaseFareAmount The fare amount on which the floating fare is based Sample SOAP request: A 09/20/2004 XML Service APIs

Page 119

ACY DTW RT1148 ANR 126.51 USD N N LNR L 84.65
Sample response: 1634 FloatingFareID is the return for executing the XML request. This ID number will be used when you assign the floating fare to a booking.

Assign Fare Service To Assign a locked floating fare to a booking. Parameters: FloatingFareID Floating fare ID returned from the lock fare request BookingNumber This is the booking number on which you can apply this FloatingFareID Sample XML code: 1634 1055 XML Service APIs

Page 120

Successful response is: If you go to Results to retrieve the booking, you will see the segment is upgraded to A class.

XML Service APIs

Page 121

Agency Services The agency services provides travel agency related functionality such as creating an agency account, agency/agent validation (login), agency booking statistics, agency booking search, agency voucher search, ‘on behalf of’ booking privilege validation etc. Tuxedo service name: AGENCY_SERVICE

Create Agency Service Create a travel agency from scratch. Parameters: AgencyCode ARC or Results travel agency code Return Values:

Sample SOAP/XML request: 8386198 <EntityType> GOLDIE GOLDIE 407 894-5000 8 Bayside Village Place SUITE 150 MANKATO MN 56001 <EmailAddress>[email protected] <MailName>Golds Travel <MailAddress1> <MailAddress2> <MailCity>San Francisco <MailState>CA <MailZip>94107 <ApplicationDate> XML Service APIs

Page 122

<MailFlg> <ScrutinyFlg>N <PaymentBannedFlg>Q 0b DOUG <TimeLimit> <MailNationCode>US 7 1000 29 10 <ExternalAgencyId>MANK0351
Sample Output: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body>

Retrieve Agency Service To retrieve an agency information. Parameters: AgencyCode ARC or Results travel agency code

Return Values:

Sample SOAP/XML request: XML Service APIs

Page 123

03542534
Sample output: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> 03542534 H <EntityType>Y TRAVEL TO TRAVEL TO 520 322-9600 1402 N ALVERNON WAY SUITE TUCSON AZ 85712 520 322-9494 <EmailAddress/> <MailName/> <MailAddress1/> <MailAddress2/> <MailCity/> <MailState/> <MailZip/> <ApplicationDate/> 95-09-27 03542534 <MailFlg>N <ScrutinyFlg>N <PaymentBannedFlg>C 0b LYNN FLL0001 2005/09/26/15/37/07 US <TimeLimit>5 <MailNationCode>US C Y XML Service APIs

Page 124

2 5000 <ExternalAgencyId>2425245 0.00


Update Agency Service To update agency information. Parameters: AgencyCode ARC or Results travel agency code ScrutinyFlg Default is N if it is not set in the XML message Return Values:

Sample SOAP/XML request: 8386198 <EntityType> ORCITS ORBITZ Travel 312 894-5000 2484 Mississauga Road SUITE 150 MANKATO MN 56001 <EmailAddress> <MailName> <MailAddress1> <MailAddress2> <MailCity> <MailState> XML Service APIs

Page 125

<MailZip> <ApplicationDate> <MailFlg> <ScrutinyFlg>N <PaymentBannedFlg>R 0b DOUG FLLNK001 <TimeLimit> <MailNationCode>US 30 10 <ExternalAgencyId> MANK0351
This changes the InvoiceSchedule date from the 29th to the 30th of each month. Sample output: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body>

Agency Login/Validation Service Validates agency/agent login information. Signature: [Visual Basic] ValidateLogin(AgencyCode As String, AgentCode As String, Password As String) As XmlNode Parameters: AgencyCode ARC or Results travel agency code

XML Service APIs

Page 126

AgentCode The agent’s access code to web that is stored in Results database Password MD5 password hash of the agent’s password, in hexadecimal format. Return values: AccessGranted Boolean flag (true/false) indicating whether the agency/agent/password hash is valid and authorized to log in. AgencyTradeName Trade name of the logged in travel agency. Sample code: [Visual Basic] 'generate MD5 password password hash Dim md5 As New System.Security.Cryptography.MD5CryptoServiceProvider Dim enc As New System.Text.ASCIIEncoding Dim result As Byte() = md5.ComputeHash(enc.GetBytes(agentPassword)) Dim agencyUserPasswordHash As String For byteNo As Integer = 0 To result.Length - 1 Dim hexNo As String = Hex(result(byteNo)) If hexNo.Length = 1 Then hexNo = "0" & hexNo agencyUserPasswordHash = agencyUserPasswordHash & hexNo Next 'call the agency login validation Dim agencyService As New agencyService.agency agencyService.Url = ConfigurationSettings.AppSettings.GetValues("agencyServiceURL")(0) Dim agencyValidation As XmlNode = agencyService.ValidateLogin(agencyCode.ToUpper, agentCode.ToUpper, agencyUserPasswordHash) 'check result Dim failedResultCode As String Dim failedResultText As String If agencyValidation.SelectSingleNode("AccessGranted").InnerText = "true" Then 'Login successful Else 'Login not successful failedResultCode = agencyValidation.SelectSingleNode("ReasonCode").InnerText failedResultText = agencyValidation.SelectSingleNode("Reason").InnerText End If Sample SOAP/XML request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> 03542534 LYNN XML Service APIs

Page 127

<Password>D686A53FB86A6C31FA6FAA1D9333267E
Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> true TRAVEL TO Sample screenshot from the Results web:

Validate Agency Locator Service This service retrieves a single agency booking. Parameters: AgencyCode The travel agency code you are retrieving the booking for Locator The record locator of the booking you are retrieving Return value: RetrievalGranted This indicates if the booking belongs to the agency. You can retrieve the booking when the value is “true”. If the value is “false”, you are not able to retrieve the booking Sample SOAP/XML request: XML Service APIs

Page 128

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> 03542534 HNRNRG Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> true

Agency Booking Retrieval Service This service retrieves a list of bookings by a particular agency, optional filters are creation period, passenger name, flight/date/origin/destination or agent. Signature: [Visual Basic] GetAgencyBookingList(PassengerName As String, FlightNumber As String, BoardDate As String, Origin As String, Destination As String, AgencyCode As String, AgentCode As String, CreatedDateStart As String, CreatedDateEnd As String) As XmlNode Parameters: PassengerName Passenger name filter FlightNumber Flight number filter BoardDate Board date filter in US date format (MM/dd/yyyy) Origin Origin airport code filter Destination Destination airport code filter XML Service APIs

Page 129

AgencyCode ARC or Results travel agency code (mandatory) CreatedDateStart/CreatedDateEnd Creation date range filter for bookings. This is optional but recommended Return values: Locator Record locator FlightNumber First segment in the booking BoardDate First segment’s board date Origin/Destination First segment’s origin/destination airport code AgencyCode Travel agency code AgentCode Booking agent CreatedDateTime Booking creation date time Passengers/Name Array of passenger names on the booking Sample SOAP/XML request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <PassengerName>PASSENGER/FIRST FLL DTW 03542534 05/01/2005 05/03/2005 Sample response: XML Service APIs

Page 130

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> HNQLPD RT7112 05/04/2005 FLL DTW 03542534 2005-05-03 05:44:52 <Passengers> PASSENGER/FIRST MR Screenshot from Results Web:

Agency Booking Statistics Service Retrieves booking statistics for an agency during a specified date range. Signature: [Visual Basic] GetAgencyBookingStatistics(AgencyCode As String, FromDate As String, ToDate As String) As XmlNode Parameters: XML Service APIs

Page 131

AgencyCode ARC or Results travel agency code. FromDate/ToDate Date range to retrieve booking statistics for. Sample code: [Visual Basic] Dim agencySvc As New agencyService.agency agencySvc.Url = ConfigurationSettings.AppSettings.GetValues("agencyServiceURL")(0) Dim agencyBookingInfo As XmlNode = agencySvc.GetAgencyBookingStatistics(agencyCode, _ Convert.ToString(IIf(fromDate.CompareTo(New Date) = 0, _ "", _ fromDate.ToString("MM/dd/yyyy", GetSystemDateFormatProvider())) _ ), _ Convert.ToString(IIf(toDate.CompareTo(New Date) = 0, _ "", _ toDate.ToString("MM/dd/yyyy", GetSystemDateFormatProvider())) _ )) Sample SOAP/XML request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> 03542534 05/12/2005 05/20/2005 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> HNQVYZ 1 S AIRIM 03542534 HDKWWRT 92.09302 0.00000 15.40698 0.00000 XML Service APIs

Page 132

0.00000 123.10000
HNQVZC 1 S AIRIM 03542534 HDKWWRT 100.00000 0.00000 23.10000 0.00000 0.00000 123.10000 ...sample truncated for readability... ...sample truncated for readability... HNRCGH 1 S AIRIM 03542534 HDKWWRT 100.00000 0.00000 23.00000 0.00000 0.00000 123.00000
The following screenshot is from Results Web:

XML Service APIs

Page 133

Agency Voucher Retrieval Service Retrieves a list of vouchers for a specific agency. Signature: [Visual Basic] GetVoucherList(AgencyCode As String, Status As String) As XmlNode Parameters: AgencyCode ARC or Results travel agency code Status Optional voucher status code, e.g. ‘OPEN’, ‘USED’, or ‘CXLD’. When empty, the service will return vouchers of all statuses Return values: VoucherNumber Numeric voucher number. For internal use only Status Voucher status code Recipient Name of the voucher recipient XML Service APIs

Page 134

Locator Record locator if the voucher was generated from a booking (fare difference or cancellation voucher). AppliedLocator Record locator of applied-to booking for used vouchers OriginalVoucherNumber Alphanumeric voucher number AgencyCode ARC or Results travel agency code ExpiryDate The date the voucher expires ReasonCode This is the two character voucher reason code stored in Voucher Reason table ReasonDescription This is a text description of the voucher type Sample code: [Visual Basic] Dim agencySvc As New agencyService.agency agencySvc.Url = ConfigurationSettings.AppSettings.GetValues("agencyServiceURL")(0) Dim agencyVouchersInfo As XmlNode = agencySvc.GetVoucherList(agencyCode, voucherStatus) Sample SOAP/XML request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> 03542534 <Status>OPEN Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> 2999888 <Status>OPEN XML Service APIs

Page 135

TRAVEL/TO USD 200.00 <AppliedLocator /> 9998883T 03542534 <ExpiryDate>06/17/2006 AC Agency credit voucher
Screenshot from Results Web:

Agency Credit Verification Service This service verifies how much credit is left for an agency. Parameter: AgencyCode The ARC agency code for this specific travel agency Return Value: RemainingCredit The amount of credit this agency has with the airline Sample SOAP/XML request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> XML Service APIs

Page 136

10514173 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> 2148 The response indicates the agency has $2148 in credit and will allow the agency to book against this credit.

XML Service APIs

Page 137

Voucher Services Voucher services are responsible for voucher generation and voucher retrieval. Tuxedo service name: VOUCHER_SERVICE.

Voucher Generation Service Creates a new voucher, e.g. a gift certificate or promotional voucher. Signature: [Visual Basic] Public Function CreateVoucher( _ VoucherReason As String, _ VoucherStatus As String, _ VoucherAmount As Decimal, _ CurrencyCode As String, _ Notes As String, _ PercentFlag As String, _ CommissionFlag As String, _ UseFee As Decimal, _ RefundableFlag As String, _ FlightNo As String, _ FlightDate As String, _ FlightOrigin As String, _ FlightDestination As String, _ CancelDate As String, _ RecordLocator As String, _ BookNo As Integer, _ CompanyCode As String, _ UserCode As String, _ Recipient As NameAddress, _ Payer As NameAddress, _ Payments As Payment) As XmlNode Parameters: VoucherReason Two-character voucher reason code stored in the Voucher Reason table VoucherStatus Value for new vouchers can only be OPEN VoucherAmount The amount of the voucher CurrencyCode Voucher currency code Notes Voucher notes, such as voucher source. XML Service APIs

Page 138

PercentFlag This indicates if this is a percentage voucher CommissionFlag This indicates if any commission should be charged UseFee This indicates if any fee applies when using this voucher RefundableFlag This indicates if this is a refundable voucher FlightNo This is the flight number of the booking this voucher will be used on. This parameter is empty if the voucher is not used toward a booking FlightDate This is the flight date of the booking this voucher will be used on. This parameter is empty if the voucher is not used toward a booking FlightOrigin/FlightDestination This is the origination/destination of the booking this voucher will be used on. This parameter is empty if the voucher is not used toward a booking RecordLocator Record locator of the original booking, if the voucher was created from a booking BookNo This is the booking number CompanyCode This is the airline code UserCode Recipient Name of the voucher recipient Payer The node contains payer information of the gift certificate, like the name, address, and phone number Payments This node contains all payment related information for the gift certificate, like type of payment, credit card number, expiration date, payment flag, etc. Return values: Number This is the Results voucher number Expiry This is the expiration date of the voucher. This is the creation date plus number of months specified in the VOUCHER_EXPIRE_MOS system setting

XML Service APIs

Page 139

Sample code: [Visual Basic] 'Create a gift certificate Dim voucherSvc As New voucherService.voucherservice voucherSvc.Url = ConfigurationSettings.AppSettings.GetValues("voucherURL")(0) giftcertificateInfo = voucherSvc.CreateVoucher(voucherReason, "OPEN", giftAmount, currencyCode, _ voucherNotes, "N", "N", 0, "Y", "", "", "", "", _ Now.AddDays(validDays).ToString("MM/dd/yyyy", GetSystemDateFormatProvider()), _ "", 0, companyCode, "WEB", recipientInfo, payerInfo, paymentInfo) 'retrieve the new voucher number Dim voucherNumber As String = giftcertificateInfo.SelectSingleNode("Number").InnerText Parameter structure definitions: Public Class NameAddress Public Name As String Public Addr1 As String Public Addr2 As String Public City As String Public State As String Public Zip As String Public Country As String Public Phone As String Public Email As String End Class Public Class Payment Public Form As String Public Type As String Public Amount As Decimal Public CurrencyCode As String Public DocumentNo As String Public CCExpiry As String Public CVV As String Public [Date] As String Public BranchCode As String Public PassengerName As String Public ReceivedFrom As String Public PaidFlag As String Public PaymentIndicator As String End Class Sample SOAP/XML request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> GC OPEN 200 XML Service APIs

Page 140

USD WEB Voucher, source IP: 192.168.112.64 N N <UseFee>0 Y 0 RT <UserCode>WEB WU/ZHONG <State /> <Email/> <Payer> GE/YIHONG <State /> <Email>[email protected] <Payments>
VI
CC 200 USD 4111111111111111 1212 123 06/16/2005 RT FLL 0001 <PassengerName>GE/YIHONG YIHONG GE <PaidFlag>Y <PaymentIndicator>Y
Sample response: XML Service APIs

Page 141

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> 9998986W <Expiry>06/24/2006 Screenshot from Results Web:

Voucher Retrieval Service Retrieves an existing voucher. Signature: [Visual Basic] GetVoucher(VoucherNumber As String, Locator As String) As XmlNode Parameters: VoucherNumber Alphanumeric voucher number Locator [Optional] Source record locator if voucher number is unknown. Return values:

XML Service APIs

Page 142

VoucherExpiry The date the voucher expires AppliedBookNo This indicates the booking number the was used on BookNo This is the booking number from which the voucher is generated FlightNo This is the flight number this voucher was used on FlightDate This is the flight date for this voucher Recipient Name of the voucher recipient Payer Payer information for purchased vouchers CancelDate Cancellation date, if the voucher is cancelled. PaymentMethod The payment method for purchased vouchers VoucherAmount This is the amount of voucher CreaUserCode Creating user code for the voucher CreaDestID Destination id of the voucher creator CreaDateTime The date and time the voucher was created UpdtUserCode User code of the user that last modified this voucher UpdtDestID Destination id of the user that last modified this voucher UpdtDateTime Date and time of the last modification VoucherNumber Voucher number UseFee If a usage fee applies to this voucher, this is the usage fee amount. XML Service APIs

Page 143

RefundableFlag This indicates if this is a refundable voucher, or if it was generated from a refundable fare. FlightOrigin/FlightDestination The origin and destination for the future flight AgencyCode Agency code, if this is an agency voucher OriginVoucher This is the original voucher number if this is a residual voucher ClientProfileNo This indicates if the passenger is in our client profile database BusinessPassID This indicates the Business Pass Rule Number if the voucher is a business pass voucher. If the value here is in negative, then this is not a business pass voucher Sample code: [Visual Basic] 'retrieve voucher Dim voucherService As New voucherService.voucherservice voucherService.Url = ConfigurationSettings.AppSettings.GetValues("voucherURL")(0) Dim voucherInfo As XmlNode = voucherService.GetVoucher(voucherNumber, Nothing) Sample SOAP/XML request: 0014552T Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> GC 02/17/2007 OPEN 2664721 <AppliedBookNo/> 2664721 XML Service APIs

Page 144

DOE/JOHN <State/> <Payer> <State/> <PaymentMethod/> 111.96 USD AIRIM RTFLL001 2006/02/23/17/45/25 AIRIM RTFLL001 2006/02/23/17/45/25 N N 0014552T HNSTMN HNSTMN <AppliedRecordLocator/> <UseFee/> Y 03542534 0014342Z <BusinessPassID/>
This voucher is the residual voucher of 0014342Z which has an agency code 03542534 associated with it.

Agency Voucher List Retrieval This is to get a list of agency vouchers. XML Service APIs

Page 145

Parameters: AgencyCode This is the agency for whom you want to retrieve the voucher list Status This is the status of the list of vouchers to retrieve. Options are OPEN, USED, EXPD, and CXLD. Return Values: All the return values are the same as in single voucher retrieval except ReasonCode This is the two-character voucher reason code ReasonDescription This is text description of the voucher reason code Sample XML request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> 03542534 <Status>OPEN Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> 2999907 <Status>OPEN LYNN/VCHR USD 100.00 <AppliedLocator /> 9999071V 03542534 <ExpiryDate>07/09/2006 AC Agency credit voucher <BusinessPassID>-2147483648 XML Service APIs

Page 146

...trunkated for readability... 3000020 ...trunkated for readability... 3000021 <Status>OPEN DOE/JOHN USD 500.00 <AppliedLocator /> 0000213Z 03542534 <ExpiryDate>08/24/2006 RP test voucher <BusinessPassID>2 ...trunkated for readability... ...trunkated for readability... ...trunkated for readability... 3001455 <Status>OPEN DOE/JOHN USD 111.96 HNSTMN <AppliedLocator /> 0014552T 03542534 <ExpiryDate>02/17/2007 GC Gift Certificate <BusinessPassID>-2147483648


XML Service APIs

Page 147

Flight Information Services These services retrieve current flight status as well as update flight information. Tuxedo service name: FLIFO_SERVICE.

Get Flight Status Service Retrieves the current flight status information, such as scheduled/estimated/actual departure and arrival, delay information etc. Signature: [Visual Basic] GetFlightInformation(FlightNumber As String, FlightDate As String, DepartureAirport As String, ArrivalAirport As String) As XmlNode Parameters: FlightNumber Flight number (concatenated airline code and flight number) FlightDate Board date is US date format (MM/dd/yyyy) DepartureAirport Origin airport code ArrivalAirport Destination airport code UpdtUserCode User code of the last updating user UpdtUserName Last updating user name Return values: FlightNumber Flight number (concatenated airline code and flight number). BoardDate Board date in US date format (MM/dd/yyyy) DepartureAirport/ArrivalAirport Origin and destination airport codes SequenceNumber TODO

XML Service APIs

Page 148

ScheduledTimeOfDeparture Scheduled departure time EstimatedTimeOfDeparture Estimated departure time or blank if no estimate has been specified ActualTimeOfDeparture Actual departure time or blank of the flight has not departed ScheduledTimeOfArrival Scheduled arrival time EstimatedTimeOfArrival Estimated arrival time or blank if no estimate has been specified ActualTimeOfArrival Actual arrival time or blank if the flight has not arrived DelayTimeForDeparture Departure delay in minutes DelayTimeForArrival Arrival delay in minutes DelayCode Delay code describing the delay reason DelayCodeDescription Textual description of the delay code DelayDescription Textual delay description Remarks Flight remarks SupplementaryComment Additional comments UpdtUserCode User code of the last updating user UpdtUserName Last updating user name UpdtDestID Last updating destination id UpdtDateTime Last updated date and time Sample code: [Visual Basic] XML Service APIs

Page 149

Dim flifo As New flightInfoService.flifoservice flifo.Url = ConfigurationSettings.AppSettings.GetValues("flightStatusURL")(0) Dim flightStatusInfo As XmlNode = flifo.GetFlightInformation(flightNumber, boardDate.ToString("MM/dd/yyyy", GetSystemDateFormatProvider()), originAirport, destinationAirport) Sample SOAP/XML request: RT900 08/22/2004 FLL DTW Sample response: RT900 08/22/2004 FLL DTW <SequenceNumber/> <ScheduledTimeOfDeparture>06:30 <EstimatedTimeOfDeparture/> <ScheduledTimeOfArrival>09:25 <EstimatedTimeOfArrival/> 0 0 <SupplementaryComment/> XML Service APIs

Page 150

Set Flight Status Service Sets or updates flight status information for a flight. Signature: Parameters: FlightNumber FlightDate DepartureAirport/ ArrivalAirport EstimatedTimeOfDeparture EstimatedTimeOfArrival Sample code: Sample SOAP/XML request: RT001 05/05/2005 FLL DTW <EstimatedTimeOfDeparture>1350 <EstimatedTimeOfArrival>1550 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body>

XML Service APIs

Page 151

Client Profile Services To create, retrieve, and modify client/employee profile related information. The RRT application generates an automatic value for the ClientPrflNo field. If the system using the RRT client profile API needs to generate it’s own profile ID, the AltClientPrflNo field should be used. Once it is set to a value using the CreateProfile or ModifyProfile APIs, It can be used instead of the ClientPrflNo node in the GetProfile and ClientProfileLoing API calls. When creating bookings with the SubmitBooking API, you still have to use the system generated ClientPrflNo value for the client profile id of the passenger. So if the system using the RRT API is using the AltClientPrflNo for client profile operations, before creating bookings that belong to a particular profile, the GetProfile API should be used to retrieve the system generated ClientPrflNo value for a particular AltClientPrflNo value. Tuxedo service name: PROFILE_SERVICE.

Create Profile Parameters: ClientName This should be the client’s last name. This is required PassCode The client’s passenger type code. Example: ADULT; INF ProfileType Type of clients. Values can be I (Individual) or C (Company) CompanyPrflNo Company profile number if the ProfileType is Company. Empty if ProfileType is not Company CompanyName Name of the company if ProfileType is Company. Empty if ProfileType is not Company ClientTitle Title of the client. Example: Mr.; Mrs. FirstName Client’s first name. This is required BranchCode The branch code where this profile is created BusinessTitle Client’s business title SecretaryName Client’s secretary name FileExpryDate Date this profile expires. Default is one year from creation date

XML Service APIs

Page 152

ScrutinyFlag Flag to indicate if the client is one on the list. Values can be Y or N UserCode This should indicate from where the profile is created. If value is WEB, it is created on the Web; if value is a Results user code, then it is created by that user CompanyCode Airline code the profile belongs to ContactDetails This is the wrapper node for all contact information ContactDetail This is the wrapper node for each ContactType ContactType This indicates the type of contact. Values can be H (Home) or B (Business) Address City State Zip Nation PhoneNo MobileNo FaxNo EmailAddress Client’s Email address. This is required Action Action that is taken on the contact information. Default is Insert Documents This is the wrapper node for all the document nodes Document This is the wrapper node for this specific document DocumentCategory Document category. Values can be DL (Driver License); Passport; and Social Security Card DocumentType Type of document this document category belongs to. Values can be OT (Other) DocumentNo Number of this specific document. It can be driver license number; passport number; or social security number DocmExpiryDate Date this document expires LastUsedDate Last date the document was used with the airline

XML Service APIs

Page 153

DocmIssueDate Date the document was issued Action Action to be taken on this document. Default is Insert SeqnNo Sequential number of this document in the Document node Remarks This is the wrapper node for all the Remark nodes Remark This is the wrapper node for this Remark RemarkType Remark Type. Default values is T (Text) RemarkText Contents of the Remark text. Default is client’s computer IP address. Example: Source IP: 192.168.112.64 SeqnNo Sequential number of this remark in the Remark node Requests This is the wrapper node for all Request nodes Request This is the wrapper node for this Request Indicator This indicates if the Request is SSR (S) or OSI (O) RequestCode The code for this SSR/OSI. Example: WCOB (Wheel Chair on Board) CarrierCode Airline code that uses this RequestCode. Default is YY (All Airlines) ActionCode Action code (or Status Code) for this Request. Example: HK (Confirmed) ActionNumber Sequential number of action code applied on this Request RequestText Text message that goes with the Request Action Action to be taken on this Request. Default is Insert SeqnNo Sequential number of action to be taken on this Request XML Service APIs

Page 154

Return Values: CreateProfile This is the wrapper node for the response ClientPrflNo This is the Client Profile Number generated. It is a 15-character string Sample SOAP/XML request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> DOE <PassCode>ADULT I MS JOHN RT FLL 0001 <BusinessTitle /> <SecretaryName /> 07/27/2006 <ScrutinyFlag>N <UserCode>WEB RT <PasswordHash>67588486396CA454C5F7F1C470A1074D H
<State /> <MobileNo /> <EmailAddress>[email protected] Insert B
<State /> <MobileNo /> <EmailAddress /> XML Service APIs

Page 155

Insert DL OT L01324326345346 01/01/0001 01/01/0001 01/01/0001 Insert <SeqnNo>1 T Source IP: 192.168.112.64 <SeqnNo>0 S WCOB YY HK 1 ONE Insert <SeqnNo>1 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> LXXZ00000000069

Get Profile Parameters: XML Service APIs

Page 156

ClienPrflNo This is the number of the client/employee to retrieve UserCode This is from where the retrieval request is initiated. Example: WEB CompanyCode This is the airline code this profile belongs. In most cases, this is your airline code BranchCode This is the branch code where this profile is created IncludePastBookings Values can be true or false. This allows retrieval of past bookings with the client profile. Default is false Return values: ClientName This should be the client’s last name PassCode The client’s passenger type code. Example: ADULT; INF ProfileType Type of clients. Values can be I (Individual) or C (Company) CompanyPrflNo Company profile number if the ProfileType is Company. Empty if ProfileType is not Company CompanyName Name of the company if ProfileType is Company. Empty if ProfileType is not Company ClientTitle Title of the client. Example: Mr.; Mrs. FirstName Client’s first name BranchCode The branch code where this profile is created BusinessTitle Client’s business title SecretaryName Client’s secretary name TravTotalMiles Total miles traveled. This is used in Frequent Flyer Program TravExpenses Total travel expenses

XML Service APIs

Page 157

StartDate Date the client starts the Frequent Flyer Program BirthDate Client’s birth date AnniversaryDate Client’s anniversary date FileExpryDate Date this profile expires. Default is one year from creation date ScrutinyFlag Flag to indicate if the client is one on the list. Values can be Y or N UserCode This should indicate from where the profile is created. If value is WEB, it is created on the Web CompanyCode Airline code the profile belongs to ContactDetails This is the wrapper node for all contact information ContactDetail This is the wrapper node for each ContactType ContactType This indicates the type of contact. Values can be C (Company), H (Home), or B (Business) Address

City

State Zip Nation PhoneNo MobileNo FaxNo EmailAddress Client’s Email address ClientFamilyDetails This is the wrapper node for all ClientFamilyDetail nodes ClientFamilyDetail This is the wrapper node for this ClientFamilyDetail SeqnNo This is the sequential number for this ClientFamilyDetail in this node

XML Service APIs

Page 158

FamilyType

FamilyName Client family member’s last name FirstName Client family member’s first name Title Initial BirthDate AnniversaryDate ClientPreferenceDetails This is the wrapper node for all the ClientPreferenceDetails nodes ClientRemarkDetails This is the wrapper node for all the ClientRemarkDetail nodes ClientRemarkDetail This is the wrapper node for this ClientRemarkDetail SeqnNo This is the sequential number of this ClientRemarkDetail RemarkType Remark Type. Default values is T (Text) RemarkText Contents of the RemarkText. Default is client’s computer IP address. Example: Source IP: 192.168.112.64 SeqnNo Sequential number of this remark in the Remark node Requests This is the wrapper node for all Request nodes Request This is the wrapper node for this Request Indicator This indicates if the Request is SSR (S) or OSI (O) RequestCode The code for this SSR/OSI. Example: WCOB (Wheel Chair on Board) CarrierCode Airline code that uses this RequestCode. Default is YY (All Airlines) ActionCode Action code (or Status Code) for this Request. Example: HK (Confirmed) XML Service APIs

Page 159

ActionNumber Sequential number of action code applied on this Request RequestText Text message that goes with the Request Action Action to be taken on this Request. Default is Insert SeqnNo Sequential number of action to be taken on this Request ClientBookingDetails The wrapper node that contains all of the client’s bookings, past and future ClientBookingDetail The wrapper node that contains the information of a specific booking BookNo

Locator

FlightNumber

FlightDate

DeprAirport

Arrvairport

DeprTime

ArrivalTime

SellingClass

FareAmount

CurrencyCode

ClientTravelDetail

XML Service APIs

Page 160

ClientVoucherDetails This is the wrapper node for all ClientVoucherDetail nodes. This is present when there are vouchers (of all status) in the client profile ClientVoucherDetail This is the wrapper node for this ClientVoucherDetail VoucherNumber Voucher Number VoucherReason Voucher reason code as defined in Results Voucher Reason Code Table VoucherExpiry Voucher expiration date VoucherStatus Voucher Status. Values can be OPEN, USED, EXPD, and CXLD RecipientName Voucher recipient’s name CancelDate Date the voucher is canceled VoucherAmount Voucher Amount CurrencyCode Voucher currency code Notes This field contains notes that apply to this voucher. Example: Remainder of :9990284L, meaning this voucher is the residual of a previous voucher. 9990284L is the previous voucher number Sample SOAP/XML request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> WNGM00000085 <UserCode>WEB RT RT FLL 0001 true Sample response:

XML Service APIs

Page 161

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> WANG <PassCode>ADULT I MEIHUA RT FLL 0001 <BusinessTitle>DBA <SecretaryName/> -9999 -9999.00 <StartDate>05/25/2007 12/30/1899 12/30/1899 05/25/2007 <ScrutinyFlag>N <PasswordHash>AE2B1FCA515949E5D54FB22B8ED95575 B
<State/> <MobileNo/> <EmailAddress/> C
<State/> <MobileNo/> <EmailAddress/> H
<State/> XML Service APIs

Page 162

<MobileNo/> <EmailAddress/> <SeqnNo>1 S WCOB YY HK 2678006 HNVFQD RT675 05/26/2007 FLL LGA 15:32 17:50 <SellingClass>C 166.51 USD 9999340L BA 08/24/2008 USED WANG/MEIHUA 807.98 USD Remainder of :9990284L XML Service APIs

Page 163



Modify Proflie Parameters: Action The action to take on a node. Values can be Insert, Update, and Delete Return value: ClientPrflNo Client’s profile number Sample SOAP/XML request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <ModifyProfile xmlns="http://rrtechnologies.net/soap/"> WNGM00000085 WANG <PassCode>ADULT I MEIHUA RT FLL 0001 <BusinessTitle>ORACLE DB PROGRAMMER <SecretaryName /> 12/30/1978 05/28/2008 <ScrutinyFlag>N <UserCode>WEB RT H
<State /> 9545551212 <MobileNo /> <EmailAddress>[email protected] Update B XML Service APIs

Page 164

<State /> <MobileNo /> <EmailAddress /> Update PP OT WM12345678 01/01/0001 01/01/0001 01/01/0001 Insert <SeqnNo>1 C WANG TIM <Title /> 06/01/1998 Insert <SeqnNo>1 S WANG CAROL <Title /> 05/01/1972 Insert <SeqnNo>2 T Source IP: 192.168.112.3 (127.0.0.1) <SeqnNo>0 S WCOB XML Service APIs

Page 165

RT HK 1 NEED ONE Insert <SeqnNo>1
Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> WNGM00000085

Client Profile Login Parameters: ClientPrflNo Return values: LoginResult This is the wrapper node for the response AccessGranted Values can be “true” (for granted) or “false” (for login failure) ClientPrflNo Sample SOAP/XML request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> LSNL00000000064 <PasswordHash>AF1D1E4690898BF89AB8CCFF29F66AEF XML Service APIs

Page 166

Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> true LSNL00000000064

Employee Profile Service Client Profile Service is enhanced to handle employee profile update. The following is a list of tasks this service can handle: 1. Retrieve employee information by making GetProfile call. You will see in the response a different PassCode than that of a normal client profile. Also in addition to all other client profile nodes a ClientEmployeeDetails node is in the response. These indicate this client is also an employee. XML input: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> RTSA1107 <UserCode>WEB RT RT FLL 0001 true Response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> XML Service APIs

Page 167

EVENCHEKE <PassCode>SA4 I L LYNN RT FLL 0001 <BusinessTitle/> 123 main miami fl 33178 usa <BussAddress/> <BussCity/> <BussState/> <BussZip/> <BussNation/> <MailAddress/> <MailCity/> <MailState/> <MailZip/> <MailNation/> 9545551212 <BussPhoneNo/> <SeatTypes/> <SportHobbies/> <SecretaryName/> -2147483648 nan <StartDate/> 11/01/1966 11/01/2107 <ScrutinyFlag>N <PasswordHash/> XML Service APIs

Page 168

2683785 HNVVSJ RT1121 11/12/2007 FLL CUN 06:30 09:30 <SellingClass>Y 0.00 USD <EmployeeNumber>RTSA1107 -2147483648 11/01/1999 <EmploymentStatus>A Y TSA0000001 <JobTitle/> <JumpSeatCode/> <SuspensionDate/> 11/01/2000 Administration <BuddyPassCode>SA7 <EmployeeFamilyMember> EVENCHEKE SARA Spouse <PassCode>SA5 12/11/1971 <EmployeeFamilyMember> EVENCHEKE GIRL Child <PassCode>SA5 12/11/1998 XML Service APIs

Page 169

<EmployeeNumber>RTSA1107_4B7C7 A 11/01/2007 11/01/2008
2. Adding/Modifying employee personal information by making the ModifyEmployeeProfile call. XML input: <UserCode>WEB RT RTSA1234 RT FLL 0001 DOE <PassCode>SA4 I C ZHIGUO RT FLL 0001 <BusinessTitle/> <SecretaryName/> -2147483648 nan <StartDate/> 10/22/1950 10/17/2107 <ScrutinyFlag>N <PasswordHash/> B
<State/> XML Service APIs

Page 170

<MobileNo/> <EmailAddress/> C
<State/> <MobileNo/> <EmailAddress/> H
<State/> <MobileNo/> <EmailAddress/> <EmployeeNumber>RTSA1234 -2147483648 10/22/1988 <EmploymentStatus>A Y <JobTitle/> <JumpSeatCode/> <SuspensionDate/> 10/22/1989 XML Service APIs

Page 171

<BuddyPassCode>SA7
Response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> RTSA1234 <start>2007-10-22 16:03:05 <end>2007-10-22 16:03:05 1278.33 1358.20 3. Adding/Modifying employee family members information by the ModifyEmployeeProfile call. Sample XML input: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <UserCode>WEB RT RTSA1127 RT FLL 0001 <EmployeeFamilyMember> BLACK WIFEE Spouse 11/28/1971 XML Service APIs

Page 172

<PassCode>SA5 RTSA1127_1 Insert <EmployeeFamilyMember> BLACK GIRLIE Child 11/28/1991 <PassCode>SA5 RTSA1127_2 Insert
This is to insert two family members (Spouse and Child) for employee RTSA1127. Other actions are Update (which is to update existing family member information) and Delete (which is to delete an existing family member). After execution of the request, system retursn: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> RTSA1127 <start>2007-11-27 14:44:07 <end>2007-11-27 14:44:08 1278.33 ms 1288.67 ms If you retrieve the employee profile from Results GUI, you will see the new family members. 4. Modify a single field of the employee information by making UpdateEmployeeEntry call. Input XML: XML Service APIs

Page 173

SEC12345 department_name string Administration
This request is to update the department name for the employee from whatever value to Administration. Response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> <start>2007-10-23 11:27:20 <end>2007-10-23 11:27:21 178.85 ms 280.97 ms

XML Service APIs

Page 174

Schedule Service To retrieve flight schedules between two airports on a specific date. Tuxedo service name: SCHEDULE_SVC. Signature: [Visual Basic] GetSchedule(StartCity As String, EndCity As String, FlightNumber As String, StartDate As String, EndDate As String) As XmlElement Parameters: StartCity Three character city code for the origin city EndCity Three character city code for the destination city FlightNumber Flight number filter (airline code and number). This is optional StartDate First travel date in US date format (mm/dd/yyyy). This is optional EndDate Last travel date in US date format (mm/dd/yyyy). This is optional Return values: Schedule This is a wrapper node for the response Flight FlightNum This a wrapper node for each flight schedule returned Departure Arrival StartDate This is the start date of the flight operational period. It may or may not correspond to the input StartDate in the input file EndDate This is the end date of the flight operational period. It may or may not correspond to the input EndDate in the input file

XML Service APIs

Page 175

DepartureTime ArrivalTime FrequencyCode FlightNumber AircraftCode ViaCities SellingClassCode CodeShare This is the wrapper node that contains the code share rule. Empty if the flight has no code share rule FlightNumber This is the other flight number that has a code share rule with the current flight Indicator This indicates the status of the FlightNumber. Its value is either O or M. O means the airline operates the flight; M means the airline markets the flight Remarks: The WSDL description for this service is in scheduleDisplay.wsdl. Sample SOAP/XML request: <StartCity>FLL <EndCity>LAX <StartDate>7/28/2005 <EndDate> Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> <SchedFlight FlightNum="1"> FLL LAX <StartDate>10/15/2004 <EndDate>10/15/2006 08:00 16:00 1234567 RT2550 M80 FLL#LAS#LAX <SellingClassCode>A B C H K L M Q T V Y Z Z1 Z2 XML Service APIs

Page 176

<SchedFlight FlightNum="2"> ...sample truncated for readability... <SchedFlight FlightNum="3"> ...sample truncated for readability... <SchedFlight FlightNum="4"> FLL LGA <StartDate>08/11/2005 <EndDate>09/19/2005 14:25 18:00 1234567 RT2025 321 FLL#LGA <SellingClassCode>A B C H K L M Q Y AA111 O The response matches exactly what is shown in Results Schedule Display GUI:

XML Service APIs

Page 177

Assign External Locator Service Assigns an external locator to a Results booking so that it becomes an external booking and updateable from external sources. For example, a customer can call in to make a booking and later is able to pull it out from the web. Tuxedo service name: ASSIGNLOCATOR. Signature: [Visual Basic] AssignLocator(Locator As String, ExternalLocator As String, ExternalAddress As String) Parameters: Locator This is Results record locator ExternalLocator This is the external locator to be assigned to the booking ExternalAddress Origin address of the external source that will be updating the booking Sample code: If book.OriginAddress = "" Then With book .ExternalLocator = .Locator .OriginAddress = ConfigurationSettings.AppSettings.GetValues("BookOriginAddress")(0) End With Dim assignExternalSvc As New assignExternalLocator.assignlocator assignExternalSvc.Url = ConfigurationSettings.AppSettings.GetValues("assignLocatorURL")(0) assignExternalSvc.AssignLocator(book.Locator, book.ExternalLocator, book.OriginAddress) End If Sample SOAP/XML request: HNRDCP <ExternalLocator>JUNE24 <ExternalAddress>HDKWWRT Sample response: XML Service APIs

Page 178

If you go to Results and retrieve the booking, you will see an external locator is created for this booking:

Screen shot from Results Web:

XML Service APIs

Page 179

XML Service APIs

Page 180

Schedule Change Acknowledgement Service Acknowledges the receipt of a schedule change notification Service name defined in Results: SCHEDULE_CHANGE Signature: [Visual Basic] AcknowledgeChange(LinkID As String, AckInformation As String) As XmlNode Parameters: LinkID The unique identifier of an acknowledgement link AckInformation Remarks or details on the acknowledgement, e.g. IP address of the remote system acknowledging the schedule change Return values: BookNo The booking number of the acknowledged booking RecordLocator The record locator of the acknowledge booking Sample code: [Visual Basic] 'call the schedule change acknowledgement service Dim schedChangeAckSvc As New scheduleChangeAck.ScheduleChangeAck schedChangeAckSvc.Url = ConfigurationSettings.AppSettings.GetValues("schedChangeAckURL")(0) Dim ackResponse As XmlNode = schedChangeAckSvc.AcknowledgeChange(schedChangeLinkID, ackInformation) 'get locator Dim recordLocator As String = ackResponse.SelectSingleNode("RecordLocator").InnerText Sample SOAP/XML request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> 5 192.168.112.81 XML Service APIs

Page 181

Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> 2653164 HNRNHF The following is a screenshot from Results Web that indicates the booking is affected by schedule change and need the passenger to click the link to acknowledge the receipt of this notification:

XML Service APIs

Page 182

Upgrade Service This service groups together multiple XML SOAP calls. Service name defined in Results: UPGRADE_SERVICE.

Reallocation Service This function allows Reallocating passengers in bulk from one Flight to another. Parameters: ForceReallocation Flag to indicate if to force reallocation in the case of bad connection. Value can be true/false OldFlightInfos The wrapper for source flight information FlightNumber The source flight number SchedPerdNo Source flight operational period number that you can find in the inventry_realloc table PerdSeqnNo Source flight sequential period number that you can find in the inventry_realloc table CityPairNo City pair number involved in reallocation NumOfConns Number of connection in the source flight? NoAltFlightFlg Number of targeting flights NewFlightInfo The wrapper for target flight information T1OffsetDays Offset days for the 1st target flight T1ActionType

T1FlightNumber Flight number of the 1st target flight T1CityPairNo City pair number of the 1st target flight

XML Service APIs

Page 183

QueuePrty The flag to indicate if the reallocation record should be inserted into the queue table. Any value means yes. Leaving it empty means no. So do not leave this field empty? The duty code of the person that performs the service call









<PaxBookNos> The wrapper that contains booking numbers that are involved in the reallocation <PaxBookNo> The wrapper for a specific booking number The specific booking number Return values: StatusCode The status of this reallocation. 200 means successful. Any other value indicates a problem. DBErrorCode The database error code. 0 means no error. Any other value indicates a problem. RecordCounts Number of bookings that were processed in this reallocation ReturnCode timing The wrapper that contains the reallocation time stamps start The time that the reallocation process starts for this reallocation XML Service APIs

Page 184

end The time that the reallocation process stops for this reallocation duration The time (in ms) this reallocation process lasts Overall The overall time (in ms) this reallocation process lasts Sample SOAP/XML request: true RT200 <SchdPerdNo>30 1 10 1 <PassRetainFlg>Y 1 G RT200 10 0 DBA99 RTFLL0001 RT ZLI FLL0001 2006/06/16/11/04/32 S <PaxBookNos> <PaxBookNo> 2669073 N XML Service APIs

Page 185

<WaitListFlg>N
Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> <StatusCode>200 0 001 0 <start>2006-06-16 11:05:30 <end>2006-06-16 11:05:34 3643.82 ms 3645.02 ms

XML Service APIs

Page 186

Accounting Report Service Generate Revenue per Passenger Boarded (RPB) report. Service name defined in Results: ACCREP_SERVICE. Parameters: EndDate Board date and end date of the flight Return values: HeaderRecord Wrapper for Header Node RecordCode The indicator record type. H is for Header; R is for Record; and T is for Trailer GMTDate The GMT date for the report GMTTime The GMT time for the report Origin The company that generates this report ReportRecord Wrapper for Record Node (can have multiple) FullFlightNo This is the airline carrier code plus the flight number OperatingFlightNo This is the flight number of the operating flight MarketingFlightNo This is the flight number of the marketing flight (can have multiple) MarketedProvider The carrier code for the marketing flight OperatingProvider The carrier code for the operating flight PNR PNR record locator Origin The origination airport code

XML Service APIs

Page 187

Destination The destination airport code PassengerNo The sequential number of the passenger in the locator PassengerName Passenger’s full name (last/first) plus title DepartureDate Boarding date Class The cabin class printed on the boarding pass PaxCode Passenger type, i.e. e. ADULT, CHD, etc. NonRevenuePax Y for non revenue passenger; otherwise blank (INF is also a non revenue. So if parameter Infant is Y then NonRevenuePax should also have a Y) Infant Y for infants; otherwise blank DistributionChnl This is the origin of the PNR. Values can be WWW (web) or 1A (Amadeus) TrailerRecord Wrapper of the Trailer Node. There is one Trailer per report Count Total number of records in the report Terminator End of report indicator Sample SOAP/XML request: <EndDate>11/21/2005 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> XML Service APIs

Page 188

H 21NOV05 1310 RRT R LF4803 803 <MarketingFlightNo>4803 <MarketedProvider>LF DY HCMTMT OSL LRN <PassengerNo>1 <PassengerName>ACKEMA/EVELYN MS 21NOV05 L <PaxCode>ADULT WWW R LF4803 803 <MarketingFlightNo>4803 <MarketedProvider>LF DY BFRRXK OSL LRN <PassengerNo>1 <PassengerName>CARLGREN/DANIEL MR 21NOV05 K <PaxCode>CHD WWW ... Thunkated for readability... T 237 FFFFFFFF The text format of the report looks like the following: XML Service APIs

Page 189

H10JAN061700RRT ... R LF 240 HDPYBVUMEARN1 R LF 240 HDRSKVUMEARN1 RDY LF 7401401 HDHLMMARNOSL1 RDY LF 7401401 HDRDTRARNOSL1 RDY LF 7414414 HDTWNXOSLARN1 RDY LF 7414414 HDTWNYOSLARN1 RDY LF 7414414 HDKSKJOSLARN2 RDY LF 7414414 HDVFYLOSLARN1 RDY LF 7414414 HCHMKXOSLARN3 RDY LF 7414414 HDNQPROSLARN2 RDY LF 7414414 HDTGMSOSLARN1 RDY LF 7414414 HDTDHXOSLARN1 RDY LF 7414414 HCXTSBOSLARN1 R LF 501 BBTKPVARNLLA1 R LF 501 HDMLSCARNLLA1 R LF 510 HDTTTVLLAARN1 R LF 510 HCRHLJLLAARN1 R LF 510 HCPJRNLLAARN2 R LF 662 HDPNGZGOTARN1 R LF 662 HDHTHRGOTARN1 R LF 662 HDTMQNGOTARN1 RNB LF 4289889 HDSKTTARNTXL1 RNB LF 4290890 HDFRKTTXLARN2 RNB LF 4290890 HDTMDJTXLARN2 RNB LF 4292892 HCQLQCMUCARN1 RNB LF 4292892 HDKQQCMUCARN1 RNB LF 4292892 HCJXBRMUCARN1 RNB LF 4292892 BCQYXYMUCARN2 RNB LF 4292892 HDKQDTMUCARN2 ... T2944FFFFFFFF

XML Service APIs

AHLQVIST/MATHIAS MR 09JAN06VADULT ALENSKAER/CATHRIN MR09JAN06VADULT KANGUR/ROGER MR 09JAN06XADULT KARLSSON/HAAKAN MR 09JAN06VADULT TIMELIUS/CHRISTOFFER09JAN06MADULT TRAAHOLT/HENRIK MR 09JAN06MADULT WAGNERT/NIKLAS MR 09JAN06TADULT WANG/WEI MRS 09JAN06VADULT WELINDER/EVA MISS 09JAN06XADULT WIKLANDER/MAGNUS MR 09JAN06TADULT WILLIAMSON/JONAS MR 09JAN06VADULT WULLUM/ANNE MS 09JAN06VADULT YOUNG/STEPHEN MR 09JAN06NADULT AABERG/DANIEL MR 09JAN06VADULT AIDANPAEAE/CAROLA MR09JAN06MADULT GAELLDIN/KARIN MISS 09JAN06VADULT GOTTHOLD/EMELIE MISS09JAN06VADULT GRANHOLM THOREN/ANNA09JAN06NADULT LIPPENS/HANS MR 09JAN06VADULT LISTE/MATS MR 09JAN06TADULT LITZEN/PETER MR 09JAN06VADULT WASS/PATRIK MR 09JAN06VADULT ALPERMANN/GOTTFRIED 09JAN06IADULT AMAYA/ADAM 09JAN06YADULT WEBER/MICHAEL MR 09JAN06NADULT WEBER/THOMAS MR 09JAN06MADULT WESTER/ULLA MRS 09JAN06NADULT WINTHERSEN/LISELOTTE09JAN06VADULT ZETHELIUS/DANIELA MR09JAN06MADULT

WWW WWW WWW WWW DY DY WWW WWW WWW WWW WWW 1A WWW WWW WWW WWW WWW WWW WWW WWW WWW WWW WWW NB WWW WWW WWW WWW WWW

Page 190

Western Union Service Areo California accepts Western Union as a payment type. A customer can book with Results and then goes to a Western Union branch to pay for the booking. There is an interface at Results backend to settle those payments with Western Union. Service name defined in Results: WU_SERVICE.

Authentication Inquiry This is requesting authentication of payment. Sample SOAP/XML request: <payment_request>{##001HNSYHB 0000000041734 NOWHERETOWN 321745##}

USAUSDWHOEVER

Where {## = Message buffer start 001 = Request Type (Authentication Inquiry) HNSYHB = Record Locator 41734 = Payment Amount (1417.34) Note: The format of the input file should strictly follow that defined in Airline Interface Guide by the Western Union Financial Services, Inc. Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> <payment_response>{##101000 0000000041734USDUSA (000) 123-4567 321745##}

Payment Advice This is the submission of payment, which updates the Payment Status to ‘Paid’ in Results. XML Service APIs

Page 191

Sample SOAP/XML request: <payment_request>{##002HNSYHB MTCNNUMBER04 00000000417342006/03/24 09:16:38 EST 327810025NOWHERETOWN US USD 321745##} Where {## = Message buffer start 002 = Request Type (Payment Advice) HNSYHB = Record Locator MTCNNUMBER04 = Western Union’s unique transaction identifier. (MTCN equals Money Transfer Control Number) 41734 = Payment Amount 2006/03/24 09:16:38 = Transaction date and time Note: The format of the input file should strictly follow that defined in Airline Interface Guide by the Western Union Financial Services, Inc.. not one space more, nor one space less. Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> <payment_response>{##102000 321745##}

XML Service APIs

Page 192

Web Cash Payment Services In addition to specific cash payment interfaces, Results also supports cash payment interfaces in general. Service name defined in Results: CASH_SERVICE. Note 1: For cash service to work, booking payment form and payment type should match those set in the system setting parameter CASHPAY_FM_TPS. For example, if the value for that setting is HS/PE, your booking must have the payment type as PE, and payment form as HS. Otherwise you will get error response from the service. Note 2: If you changed the value for the setting mentioned above, you need to restart cash service for the new value to take effect.

Payment Request When a cash payment is accepted the customer gets a payment number generated Results. The customer then takes this number and makes real payment in the bank. The bank sends a payment request to Results. Parameters: payment_number A numeric string that is generated by the system automatically when a payment of any type is received external_system_id This is a value that identifies who is sending the cash payment. For example, say you are working with two banks, 'Chase' and 'First National', You would use this field to identify from which bank the transaction comes, this could be useful for accounting reports. The value can be 'made up' by the airline, or maybe the sender has an existing ID that they need you to store and reference dot_net_wrapper This indicates if the service call is being made by the Results Web Framework, and if 'yes', it will include values in the reply required by the Results Web. If you are not calling it using the Web, but your own application, set it to 'no' Sample XML/SOAP request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <payment_number>10050780 <external_system_id>AAGT001 Sample XML reply: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> XML Service APIs

Page 193

<soap:Header/> <soap:Body> <external_system_id>AAGT001 <payment_number>10050780 RT1120 08/21/2007 <departure_airport>FLL <arrival_airport>CUN <departure_airport_name>FLL FT LAUDERDALE/HOLLYWOOD INTL <arrival_airport_name>CUN CANCUN INTERNATIONAL <departure_time>06:30 <arrival_time>09:30 2007/08/13/15/38/01 USD 247.46 <currency>USD 247.46 CASH/THREE <paid>false <error_code>00 Results web screen shot:

XML Service APIs

Page 194

Payment Advise When the bank receives the payment it sends a notification message to Results advising that a payment has been successfully received. Sample XML/SOAP request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <PaymentNotification xmlns="http://rrtechnologies.net/soap/"> <payment_number>10050780 <external_system_id>AAGT001 <ext_sys_conf_num /> <paid_currency_code>USD <paid_amount>247.46 <dot_net_wrapper>yes Results replies with a payment confirmation (or an error message in cases of errors) . Sample XML reply: XML Service APIs

Page 195

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> <payment_number>10050780 <external_system_id>AAGT001 <ext_sys_conf_num /> <payment_conf_num>182 <error_code>00 <paid_amount>247.46 Results web screen shot:

At this point the paid status flag changes from N to Y. If you receive an error message, the payment status remains in N (not paid) status.

Cancel Payment If the bank does not receive the PaymentNotificationReply within a given time period or receives an error from Results on the notification, the bank must send a CancelNotification message that will leave the payment in the same status as prior to the notification. Sample XML/SOAP request: XML Service APIs

Page 196

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <payment_number>10050780 <external_system_id>AAGT001 <ext_sys_conf_num /> CXL <note>CANCELED <dot_net_wrapper>yes Results replies with a cancellation confirmation (or an error message in cases of errors). Sample XML reply: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> <payment_number>10050780 <external_system_id>AAGT001 <ext_sys_conf_num /> <payment_conf_num>183 <error_code>00 Results web screen shot:

XML Service APIs

Page 197

Get Payment Reference This service is different from the CASH_SERVICE. Function description: To generate cash Payment Reference Number from Web. A time limit is generated as well. Service name: PRICING_SERVICE. Note: The system setting that affects the functionality of PRICING_SERVICE is paymenttype_paymentform_CONST. For example, if you have payment type AT and payment form WWW, you need to have Results Support team to insert the following setting into your system settings table: AT_WWW_CONST. Results web screen capture:

Parameters

XML Service APIs

Page 198

PaymentForm The cash payment form as defined in System Settings parameter. In this instance it is HS (HS_BC_CONST) PaymentType The cash payment type defined for HSBC. In this instance it is PE Year The year of the flight date Month The month of the flight date Day The day of the flight date Time This is the flight departure time Amount This is the booking fare amount BranchCode This is your web booking branch code. It should match the setting in the web.config file in resultsservices folder Return Value ReferenceNUmber This is the reference number generated by the service. The customer takes this number to the bank and makes cash payment accordingly TimeLimitYear This is the year of the Time Limit TimeLimitMonth This is the month of the Time Limit TimeLimitDay This is the day of the Time limit Sample XML request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <PaymentForm>HS <PaymentType>DP 2006 <Month>10 28 <Time>13:30 308.50 XML Service APIs

Page 199

RT TTY 0001 <dot_net_wrapper>yes
Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> 004153169962023 <TimeLimitYear>2006 <TimeLimitMonth>10 <TimeLimitDay>22 Results Web screen capture:

XML Service APIs

Page 200

Web Credit Card Service Function description: To process the credit card requests directly on the Web, without going through Results. This service is applicable, but not limited to, selling Gift Certificates online in the form of vouchers. Service name: XXX_CC_SERVICE Note: XXX is the credit card service provider code. This parameter is dynamic. It changes depending on the CC processor code. The credit card payment authorization and settlement functionality is already wrapped in the AuthorizePayments and SettlePayments methods of the Booking class of the ResultsBooking library. The first section below provides the VB codes for this service, and the second section lists the corresponding XML calls.

VB Codes for Credit Card Service The codes are given in their logical order. 1. Authorize This section of codes sends authorization request to the CC provider. [Visual Basic] 'Instantiate booking object Dim book As New ResultsBooking.Booking 'Add a visa card payment that covers the booking value Dim payment As New ResultsBooking.Payment With payment .PaymentType = "CC" .PaymentForm = "VI" .DocumentNo = "4111111111111111" .CCExpiryDate = "0506" .CVV = "123" .PassengerName = "John/Doe" .Amount = 500 .CurrencyCode = "USD" End With 'Add credit card payment to the booking object book.Payments.Add(payment) 'Authorize credit card payments book.AuthorizePayments() For the corresponding XML file, please reference 1. XML Call for Authorize. Note: PaymentType property of ResultsBooking.Payment class must be set to "CC" for the payment to be authorized and/or settled. Definition of ‘parameter’ structures: XML Service APIs

Page 201

Public Class Payment Public PaymentNo As Integer Public PaymentForm As String Public PaymentType As String Public TypeDescription As String Public Description As String <XmlElement("PaymentAmount")> _ Public Amount As Decimal Public PaymentDate As String Public DocumentNo As String Public PassengerName As String Public RemarksText As String Public ReceivedFrom As String <XmlElement("PaidCurrencyCode")> _ Public CurrencyCode As String Public PaidFlag As String <XmlElement("CcApprvCode")> _ Public CCApprovalCode As String <XmlElement("CcApprvType")> _ Public CCApprovalType As String <XmlElement("CcExpiryDate")> _ Public CCExpiryDate As String Public CVV As String <XmlElement("CcTransactionID")> _ Public CCTransactionID As String <XmlElement("CcApprvBatch")> _ Public CCApprovalBatch As String Public Address1 As String Public Address2 As String Public State As String Public City As String Public PostalCode As String Public Country As String Public Phone As String End Class 2. CreateVoucher For details on voucher creation service please reference Voucher Generation Service. Sample Code: [Visual Basic] Dim voucherSvc As New voucherService.voucherservice Dim recipientInfo As New voucherService.NameAddress Dim payerInfo As New voucherService.NameAddress Dim paymentInfo As New voucherService.Payment Dim giftcertificateInfo As XmlNode Dim voucherInfo As XmlNode For Each payment In book.Payments With payment If .PaidFlag = "Y" Then paymentInfo.DocumentNo = .DocumentNo XML Service APIs

Page 202

paymentInfo.CCExpiry = .CCExpiryDate paymentInfo.CCCVV = .CVV paymentInfo.PassengerName = .PassengerName paymentInfo.ReceivedFrom = .PassengerName paymentInfo.Amount = .Amount paymentInfo.Type = .PaymentType paymentInfo.Form = .PaymentForm paymentInfo.Date = Now.ToString("MM/dd/yyyy", GetSystemDateFormatProvider()) paymentInfo.PaidFlag = "Y" paymentInfo.PaymentIndicator = "Y" recipientInfo.Name = .PassengerName payerInfo.Name = .PassengerName giftcertificateInfo = voucherSvc.CreateVoucher("GC", "OPEN", .Amount, .CurrencyCode, _ "", "N", "N", 0, "Y", _ Nothing, Nothing, Nothing, Nothing, Nothing, _ "", 0, "XX", Nothing, Nothing, Nothing, "WEB", recipientInfo, payerInfo, paymentInfo) End If End With Next For the corresponding XML file, please reference 2. XML Call for CreateVoucher. 3. GetVoucher For details on voucher retrieval service please reference Voucher Retrieval Service. Sample code: If Not giftcertificateInfo.SelectSingleNode("Number") Is Nothing Then voucherInfo = voucherSvc.GetVoucher(giftcertificateInfo.SelectSingleNode("Number").InnerText, Nothing) End If For the corresponding XML file, please reference 3. XML Call for GetVoucher. 4. Settle This call sends settlement request to CC provider for Payment Number. Sample code: 'Settle credit card payments book.SettlePayments() For the corresponding XML file, please reference XML Call for Settle.

XML Service APIs

Page 203

Sample XML Calls and Responses This section lists the corresponding XML calls to the credit card service using online gift certificate purchase as an example. 1. XML Call for Authorize Before sending authorization request, you need first obtain the credit card processor code. For the sample XML input, please reference Base Data . Note: This is a dynamic call. If the CC processor code from Base Data Retrieval call was ABC instead of RRT, the authorization request file below would use ABCAuthorize instead of RRTAuthorize, and the response would be ABCAuthorizeReply instead of RRTAuthorizeReply. Sample SOAP request for RRT authorization with card and card holder information: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> VI 4111111111111111 123 <expire_year>07 <expire_month>12 WANG MAY <middle_name />
123 MAIN
CORAL SPRINGS <province>FL US <postal_code>33076 800 <dot_net_wrapper>yes
Response gives CC transaction ID: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> true 655 ALL REQUESTS APPROVED IN TEST MODE. See RRT_OPERATION_MODE system parameter XML Service APIs

Page 204

2. XML Call for CreateVoucher SOAP request to create a voucher: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> GC OPEN 800 USD WEB Voucher, source IP: 192.168.112.3 (forwarded for 127.0.0.1) N N <UseFee>0 Y 0 RT <UserCode>WEB DOE/JOHN 345 MAIN MIAMI <State>FL 33178 US 95475512127 <Email>[email protected] <Payer> WANG/MAY 123 MAIN CORAL SPRINGS <State>FL 33076 US 9545551212 <Email>[email protected] <Payments>
VI
CC 800 USD 4111111111111111 1207 123 10/18/2006 XML Service APIs

Page 205

RT FLL 0001 <PassengerName>WANG/MAY M WANG <PaidFlag>Y <PaymentIndicator>Y
Response gives the voucher number and expiration date: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> 0024164L <Expiry>10/18/2007 3. XML Call for GetVoucher SOAP requests retrieval of the voucher generated: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> 0024164L Response gives detailed voucher information including the Payment Number: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> GC 10/18/2007 OPEN 0 <AppliedBookNo /> XML Service APIs

Page 206

DOE/JOHN 345 MAIN MIAMI <State>FL 33178 US 95475512127 <Email>[email protected] <Payer> WANG/MAY 123 MAIN CORAL SPRINGS <State>FL 33076 US 9545551212 <Email>[email protected] <PaymentMethod /> 800.00 USD 1207 WEB Voucher, source IP: 192.168.112.3 (forwarded for 127.0.0.1) WEB FLLNK001 2006/10/18/15/37/22 WEB FLLNK001 2006/10/18/15/37/22 N N 0024186L <AppliedRecordLocator /> <UseFee>0.00 Y <BusinessPassID /> <PaymentNo>10041529


XML Service APIs

Page 207

4. XML Call for Settle Before sending settlement request, you need first obtain the credit card processor code. For the sample XML input, please reference Base Data . Note: This is a dynamic call. If the CC processor code from Base Data Retrieval call was ABC instead of RRT, the settlement request file below would use ABCSettle instead of RRTSettle, and the response would be ABCSettleReply instead of RRTSettleReply. SOAP settlement request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <payment_no>10041529 <dot_net_wrapper>yes Response confirms the RRT settlement: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header /> <soap:Body> <settled>true Screen capture for RRT Web input:

XML Service APIs

Page 208

Screen capture for the RRT Web output:

XML Service APIs

Page 209

Departure Control System (DCS) Services These services perform all kinds of DCS related tasks. Note: Currently all the DCS services are without the WSDL files. However there are other methods to invoke the services. Please reference section Invoking Results APIs Without the WDSL. The service calls are listed in the sequence of passenger check-in. That is: 1. 2. 3. 4. 5.

Locate passenger Input passenger information Bagage checkin Assign/release seats Print boarding pass

XML Service APIs

Page 210

Management Summary Background: WSDL files for DCS does not exists. Below are examples of different methods to POST directly to /resultsservices/services.aspx: 1. 2. 3. 4.

Plain VB.NET Java Unix

Plain: POST /resultsservices/services.aspx HTTP/1.1 Host: 82.150.226.157:80 Content-Type: text/xml; charset=utf-8 SOAPAction: "http://rrtechnologies.net/soap/BOOKING_SERVICE" <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> 1 VB.NET: Dim web As New System.Net.WebClient Dim xmlResponse As New XmlDocument web.Headers.Add("Content-Type", "text/xml") web.Headers.Add("SOAPAction", "'http://rrtechnologies.net/soap/BOOKING_SERVICE'") Dim d As Byte() = System.Text.Encoding.ASCII.GetBytes("<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'><soap:Body>2676003") Dim res As Byte() = web.UploadData("http://82.150.226.157:80/resultsservices/services.aspx", "POST", d) xmlResponse.LoadXml(System.Text.Encoding.ASCII.GetString(res))

Java: XML Service APIs

Page 211

PostMethod post = new PostMethod("http://82.150.226.157:80/resultsservices/services.aspx"); RequestEntity entity; entity = new StringRequestEntity("<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'><soap:Body>2676003", "text/xml", "charset=ISO-8859-1"); post.setRequestEntity(entity); HttpClient httpclient = new HttpClient(); try { int result = httpclient.executeMethod(post); log.debug("Response status code: " + result); responseXml = post.getResponseBodyAsString(); } finally { post.releaseConnection(); }

Unix: cat POST.xml | curl -X POST -H 'Content-type: text/xml' -H 'SOAPAction: "http://rrtechnologies.net/soap/BOOKING_SERVICE"' -d @- http:// 82.150.226.157:80/resultsservices/services.aspx where POST.xml contains: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> 1

Additionally, the service name to be used to execute the calls for the DCS services is called DcsWorker. DcsPeripherals is to be used to execute calls for all printing services e.g. printing boarding pass; printing bag tag; printing DCS reports.

GetPassengerList This service fetches the passenger based on look-up by passenger name; locator; flight, boarding date and bar code and populates the Check-in passenger list. The mandatory fields are DcsCarrierRcd and DepartureDate. Parameters: XML Service APIs

Page 212

DcsCarrierRcd The operating airline code. Required FlightNumber Required if flight number serves as one of the filters DepartureDate Departure date. Required DcsAirportId This information is in the dcs_airport table. This is required Locator Not required unless it is used as one of the filters FirstName Not required unless it is used as one of the filters LastName Not required unless it is used as one of the filters BarCode Not required unless it is used as one of the filters Return values: ReplyFormat Wrapper node that determines the format of all the parameters in the response message PassengerList Wrapper node that contain all the passengers in the list Child Wrapper node that contains individual passenger information FlightNumber Flight number DepartureDateTime Flight departure date and time DcsBookingId DCS booking ID BookingNumber Booking number in Results Locator Locator reference in Results ExternalLocator This is not required.

XML Service APIs

Page 213

OriginName This indicates the booking origin. Values can be Native (Results booking), web (airline website), and GDS DcsPassengerTitleRcd Title of the passenger shown in DCS, like Mr., or Mrs. DcsPassengerCodeRcd Passenger code shown in DCS. For example, ADULT DcsPassengerTypeRcd Genger of the passenger. For example, MALE LastName Passenger’s last name FirstName Passenger’s first name DcsClassRcd This is the selling class of the booking DcsCompartmentRcd This is the cabin class of the aircraft according to the booking selling class SeatNumber Seat number assigned DcsPassengerId Unique ID assigned to each passenger DcsCheckinStatusRcd Passenger’s checkin status Description Text description of the checkin status DcsCheckinId Unique ID assigned to each itinerary marked as part of ‘This Checkin’ DcsPriorityRcd DCS Priority record FromCarrierFlightNumber This is the previous flight number ToCarrierFlightNumber This is the current flight number DcsFlightId Flight ID SortOrder Sort Order XML Service APIs

Page 214

OriginAirportCode Origin airport of the this passenger DestinationAirportCode Destination airport of this passenger, but may not be that of this flight in the case of a through flight FinalDestination This is the final destination airport of a through flight, going from point A to C, via B CreatedDateTime Timestamp ThruFlag Flag to indicate if this leg/segment of booking is a through flight. 0 means No; 1 means Yes. Usually the first leg of a through booking has a 0; the second/third/forth leg has a 1 InvalidatedDcsGatewayActionId Invalidated DCS check-in ID Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> RT 1111 6/12/0008 rHx122oXSp00

Sample response: <soap:Header/> <soap:Body> varchar(20) date bigint integer XML Service APIs

Page 215

varchar(20) <ExternalLocator>varchar(20) varchar(240) varchar(20) varchar(20) <PassengerName>varchar(240) varchar(20) varchar(50) varchar(50) varchar(20) varchar(20) <SeatNumber>varchar(20) bigint varchar(20) varchar(200) bigint varchar(20) varchar(20) varchar(20) bigint <SortOrder>integer varchar(20) varchar(20) varchar(20) date integer bigint
<PassengerList> RT1111 2008-06-12 22:35:00 592985192096183427 2686547 HNWCYW <ExternalLocator/> Native ADULT Male <PassengerName>TEST/SELECTEE TEST SELECTEE C C <SeatNumber/> 841946572474553349 ConfRev Confirmed Revenue 926764197021725813 Normal 42516784968418499 <SortOrder>80 FLL LGA XML Service APIs

Page 216

LGA 2008-06-12 11:12:46 0


XML Service APIs

Page 217

GetCheckinStatusForPassenger This service returns the check-in status for a specific passenger using the DCS_Checkin_Id, which is a unique identifier for the passenger’s check-in. Parameters: DcsCheckinId 18-digit string from the GetPassengerList call ReplyFormat The wrapper node that contains all the return values CheckinStatus The wrapper node that contains the passenger’s checkin status information PassengerName Format is LAST/FIRST LastName Passenger’s last name FirstName Passenger’s first name MiddleName Passenger’s middle name DcsPassengerTitleRcd Title of the passenger shown in DCS, like Mr or Mrs DcsPassengerCodeRcd Passenger code shown in DCS. For example, ADULT DcsPassengerTypeRcd Genger of the passenger. For example, MALE DcsCheckinStatusRcd Valid values are Init (initialization); Partially Checked-in; Confirmed Revenue (i.e. boarding pass is printed) Return values: Init Initialization Partially Checked-in For example, a seat assigned or baggage has been checked in Confirmed Revenue That is, boarding pass printed

XML Service APIs

Page 218

Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1=”http://www.w3.org/2001/XMLSchema” xmlns:SOAPSDK2=”http://www.w3.org/2001/XMLSchema-instance” xmlns:SOAPSDK3=”http://schemas.xmlsoap.org/soap/encoding/” xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/”> <SOAP-ENV:Body> 359991372911998058 Sample response: <soap:Envelope xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”> <soap:Header/> <soap:Body> <PassengerName>varchar(240) varchar(50) varchar(50) <MiddleName>varchar(50) varchar(20) varchar(20) varchar(20) varchar(20) <PassengerName>SMITH/ANGELA SMITH ANGELA <MiddleName/> ADULT Male Init

XML Service APIs

Page 219

GetPassengerInfo This service takes the passenger id and returns the passenger’s name; type and code. For example, SMITH/ANGELINA; Female; Adult. Parameters: DcsPassengerId Otained from GetPassengerList call Return values: PassengerStatus The wrapper node that contains information on all the passengers in a passenger list Child The wrapper node that contains information on each individual passenger PassengerName Format is LAST/FIRST LastName Passenger’s last name FirstName Passenger’s first name MiddleName Passenger’s middle name DcsPassengerTitleRcd Passenger’s title DcsPassengerCodeRcd Passenger code e.g. Adult, Infant, etc DcsPassengerTypeRcd Passenger type e.g. Male, Female, etc

Sample request: XML Service APIs

Page 220

<SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 400657278934737994 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> <PassengerName>varchar(240) varchar(50) varchar(50) <MiddleName>varchar(50) varchar(20) varchar(20) varchar(20) <PassengerStatus> <PassengerName>SMITH/ANGELA SMITH ANGELA <MiddleName/> ADULT Male

GetRequestsByCheckin This service retrieves the passenger’s service requests (SSR) for the Check-in.

XML Service APIs

Page 221

Parameters: DcsPassengerId Obtained from GetPassengerList call DcsCheckinId Obtained from GetPassengerList call Return values: Requests Wrapper node that contains all the service requests of the passenger DcsPassengerRequestId Passenger Request ID DcsServiceRequestRid The service type (example:seat) ID in DCS. This ID remains the same for different passenger if the service type does not change RequestedCount Number of request of the same type for a passenger ServiceRequestDescription Text description of the service request. For exampole: Seat Requested RequiresActionDescription Text to describe if action is needed for this type of service request ActionTakenFlag Flag to indicate if action has been taken for this request. 0 means not taken; 1 means the opposite AddedFromDcsFlag Flag to indicate if this request is iniated from DCS. 0 means not from DCS; 1 means the opposite PaidFlag Flag to indicate if this request has been paid by the passenger. 0 means not paid; 1 means the opposite PassengerRequestComment Text that comes with the request. For example, if the request is seat, the text here should be the seat number (2A)

Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema” XML Service APIs

Page 222

xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance” xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 634179250061530141 1042824714171827352 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> bigint varchar(40) integer <ServiceRequestDescription>varchar(240) varchar(240) integer integer <PaidFlag>integer <PassengerRequestComment>varchar(240) 23453092823704749 436158869850915945 1 <ServiceRequestDescription>Seat Requested No action required 0 1 <PaidFlag>0 <PassengerRequestComment>2A 337987476265456736 436158869850915945 1 <ServiceRequestDescription>Seat Requested No action required 0 1 <PaidFlag>0 <PassengerRequestComment>1A 953007719094793248 XML Service APIs

Page 223

222423905972233252 0 <ServiceRequestDescription>Child description No action required 0 0 <PaidFlag>0 <PassengerRequestComment>3YRS


GetActions This service populates the Actions tab in the Check-in form for the actions that need to be addressed before a passenger check-in can be completed and before the boarding pass can be printed. Parameters: XML Service APIs

Page 224

DcsCheckinId Obtained from GetPassengerList call Actions The wrapper node that contains all the actions needed in DCS DcsPassengerRequestId Passenger request ID DcsSelecteeId Selectee ID DcsPassengerInfoRequestId Passenger Info Request ID DcsNoFlyId No-Fly ID DcsCheckinActionId Check-in Action ID DcsGatewayDiscrepancyId Gateway ID Description The actual action required. Example: APIS RequiresActionDescription Text to describe the action ActionTakenDescription Text to describe the action taken ActionTakenFlag Flag to indicate of the action has been completed. 0 means not completed; 1 means completed ActionComment Not required DcsActionSecurityRcd This is the action value (Apis; Nofly; Selectee; Unpaid Balance )

Return values: APIS Advanced Passenger Information System Nofly TSA Government No-Fly watch list

XML Service APIs

Page 225

Selectee TSA Government Selectee watch list Unpaid Un-paid booking APIS Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 359991372911998058 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> bigint bigint bigint bigint bigint bigint varchar(240) varchar(240) varchar(240) integer varchar(240) varchar(240) 0 0 481273126373057786 0 0 0 APIS Enter Document Information XML Service APIs

Page 226

1 Apis


Selectee Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 303439896325039185 Sample reponse: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> bigint bigint bigint bigint bigint bigint varchar(240) varchar(240) varchar(240) integer varchar(240) varchar(240) 0 53495603926283304 0 XML Service APIs

Page 227

0 0 0 Selectee ResultS Gateway Not cleared 0 Selectee


UpdateRequestAction This service call is used to update the action item. Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 358220247733040348 XML Service APIs

Page 228

1 671884342155244708
Sample reponse: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> bigint

Note: The reply does not have an OK indicator, so the error conditions will be general SOAP errors and not the typical error codes. To validate that the action update took place; re-retrieve the passenger’s action codes and make sure the action was marked as checked i.e. ActionTakenFlag value is 1.

UpdateSelecteeAction This service call is used to clear a selectee to enable checkin to proceed. Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 150421371246232747 ANC 0 XML Service APIs

Page 229

Passenger to be cleared by TSA Susan <Witness>TEST Passenger to be cleared by TSA 659664309577364680
Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> bigint 916369454150169665

GetPassportInfoFromServiceRequest This service fetches any passport passenger information for a specific passenger from the service request i.e. PSPT SSR. Parameters: DcsPassengerId Otained from GetPassengerList call Child The wrapper node that contains all the document information parameters DocumentType Travel document type e.g. passport DocumentNumber Travel document number XML Service APIs

Page 230

CountryCode Country code where document was issued BirthDate Passenger’s date of birth Gender Passenger’s gender e.g. male; female Return values: Document type values include: Code

Description

A C F G I M P T V

Alien Registration Card Permanent Resident Card Facilitation Document (e.g. deportee or consular letter) US Merchant Mariner Document NEXUS or SENTRI Card US Military ID Passport Re-entry or Refugee Permit Visa

Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 783323375479411882 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> XML Service APIs

Page 231

varchar(20) varchar(20) varchar(20) varchar(20) varchar(20) P 1234567 UK 20JAN06 M

SaveTravelDocument This service saves the passenger passport information for local government requirement. Parameters: DcsPassengerId Obtained from getPassengerList call DcsCountryOfResidence Passenger’s country of residence according to the document collected DcsCitizenCountryCode Passenger Country of Citizenship DcsGenderType Gender of the passenger BirthDate Passenger’s date of birth XML Service APIs

Page 232

TelephoneNumber Telephone number Address Address AddressCity City AddressProvince State AddressPostCode Zip Code EmergencyContactName Emergency contact name EmergencyPhoneNumber Emergency phone number DcsPassengerDocumentType Type of document collected DocumentNumber Travel document number IssuingCountryCode Country code that issues the document ExpirationDate Document expiration date DcsUserId Obtained from dcs_user table DcsPassengerDocumentId Document ID Return values: Document type values include: Code

Description

A C F G I M P T V

Alien Registration Card Permanent Resident Card Facilitation Document (e.g. deportee or consular letter) US Merchant Mariner Document NEXUS or SENTRI Card US Military ID Passport Re-entry or Refugee Permit Visa

XML Service APIs

Page 233

Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 500431214337184799 PR PR F 10/27/2006
<EmergencyContactName> <EmergencyPhoneNumber> V a43526 PR <ExpirationDate>2006-10-27 22:19:51 659664309577364680


Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> bigint 801446767694255222

XML Service APIs

Page 234

UpdatePassengerInfoAction This service marks the action item as being completed. Paremeters: DcsPassengerInfoRequestId Passenger Info Request ID ActionTakenFlag Action taken flag; 1 for true i.e. action cleared DcsUserId Obtained from dcs_user table Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> XML Service APIs

Page 235

122475823348065523 1 659664309577364680
Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> bigint

GetBaggage This service retrieves the baggage detail for the passenger Check-in. Values include baggage description, weight and charge Parameters: DcsCheckinId Obtained from getPassengerList call Return values: DcsBaggageId Baggage ID TagNumber Baggage tag number DcsBaggageColorRcd Baggage color code DcsBaggageCodeRcd Baggage code

XML Service APIs

Page 236

RuleTypeDescription Baggage rule description Weight Baggage weight WeightDescription Text description of the baggage weight UOM. Example: Pounds DcsWeightTypeRcd Code of the baggage weight UOM. Example: Lb DamagedFlag Flag to indicate if the bag is damaged. 0 means not damanaged; 1 means the opposite Amount Amount charged for this baggage if it applies Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 359991372911998058 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> bigint varchar(20) varchar(20) varchar(20) varchar(240) varchar(240) <Weight>currency <WeightDescription>varchar(240) varchar(20) integer currency currency XML Service APIs

Page 237

varchar(20)
478324683596629039 529 NA Normal Baggage free when between two weights <Weight>10.0000 <WeightDescription>Pounds Lb 0 35.0000000000000000 Lb 1132348223977853958 530 NA Normal Percentage of amount between two weights <Weight>25.0000 <WeightDescription>Pounds Lb 0 311.2507


XML Service APIs

Page 238

CanPassengerHaveBaggage This service checks whether a passenger is allowed to have checked baggage and is controlled by system setting DCS_NOBAG_PAX_TYPE Parameters: DcsPassengerId Obtained from getPassengerList call Return values: AllowedFlag 0 - means no baggage allowed; 1 - means true i.e. baggage allowed Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 27104934735008786 XML Service APIs

Page 239

Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> integer 0

SaveBaggage This service saves the passenger’s baggage check-in information. Parameters: DcsBaggageId Empty if the bag is not checked in yet DcsCheckinId Obtained from the getpassengerList call Return values: DcsBaggageId A digit string generated by system when the bag is checked in Indocator To indicate if the baggage is acceptable for transportation DcsBaggageCodeRcd Baggage code e.g. Normal; Excess; Overweight Description Remark e.g. heavy bag DamagedFlag Damage flag indicator Weight Baggage weight

XML Service APIs

Page 240

DcsWeightTypeRcd Baggage weight type e.g. pounds;kilos; etc CreatedUserId Agent who checked in the bag

Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 196639496704463970 Normal <ManualTagNumber> <Weight>5 NA 0 <Weight>5 Lb 659664309577364680 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> XML Service APIs

Page 241

bigint varchar(20) 306067550197994641 Ok


RemoveBaggage This service removes the passenger’s baggage check-in information. Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 1082546617798673452 671884342155244708 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> varchar(20) Ok XML Service APIs

Page 242



GetFlightDateAllSeats This service retrieves the seat definition for all flights including any blocked seats and pre-assigned seats as well as seat attributes e.g. exit row. The service can also be used to get seat assignments for all legs of a multi-leg flight using DcsFlightId. Parameters: DcsFlightId Obtained from getpassegerList call. Not required here DcsFlightSegmentId Obtained from GetBookingLegs call. Required here SellingClassCode Required here Return values: SeatMapId This is the same for all the selling classes that belong to the same cabin SeatDefinitionId A unique number that is RowNumber Seat row number SeatCode Code assigned to this row of seats. Examples: A, C, etc. SeatNumber This is RowNumber plus the SeatCode PositionX/PositionY This is the horizontal and vertical location in pixels of the seat in the seat map image AvailableFlag Boolean flag (Y/N), indicating whether the seat is available for sale XML Service APIs

Page 243

BlockedFlag Boolean flag (Y/N) indicating whether the seat is blocked ForSaleFlag Boolean flag (Y/N) indicating whether the seat is within the selling period (i.e. after the start selling time and before the stop selling time). In DCS, this flag for all seats is going to be marked by N since the checkin time is normally beyond the stop selling time. You can reserve a seat as long as its AvailableFlag is Y. Locator This indicates to which locator this seat is assgined to. If empty, the seat is available for assignment BookNo Booking reference number FlightSeatReservationId Reserved Seat ID ReservationDescription PNR Remark Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 327902220545913942 <SellingClassCode>C Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> <SeatMapId>integer <SeatDefinitionId>bigint smallint <SeatCode>varchar(2) <SeatNumber>varchar(5) integer integer integer XML Service APIs

Page 244

integer char(1) char(1) char(1) char(6) bigint bigint varchar(250)
<SeatAttributes> <SeatMapId>5 <SeatDefinitionId>180 1 <SeatCode>A <SeatNumber>1A 198 151 Y N N <SeatMapId>5 <SeatDefinitionId>181 1 <SeatCode>C <SeatNumber>1C 199 126 Y N N <SeatMapId>5 <SeatDefinitionId>182 1 <SeatCode>D <SeatNumber>1D 200 85 Y XML Service APIs

Page 245

N N
<SeatMapId>5 <SeatDefinitionId>183 1 <SeatCode>F <SeatNumber>1F 198 58 Y N N <SeatMapId>5 <SeatDefinitionId>184 2 <SeatCode>A <SeatNumber>2A 227 149 Y N N <SeatMapId>5 <SeatDefinitionId>185 2 <SeatCode>C <SeatNumber>2C 228 123 Y N N XML Service APIs

Page 246

Blocked
<SeatMapId>5 <SeatDefinitionId>186 2 <SeatCode>D <SeatNumber>2D 229 82 N Y N 9421434 Blocked <SeatMapId>5 <SeatDefinitionId>187 2 <SeatCode>F <SeatNumber>2F 229 60 Y N N


XML Service APIs

Page 247

GetFlightDateSeatAttributes This services describes the seat attributes e.g. aisle; window or passenger seat assignments. Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 327902220545913942 <SellingClassCode>C Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> <SeatMapId>integer <SeatDefinitionId>bigint smallint <SeatCode>varchar(2) <SeatNumber>varchar(5) integer integer <SeatAttributeRcd>varchar(5) varchar(250) varchar(5) <ServiceRequestCode>varchar(5) varchar(20) varchar(240) <SeatAttributes> <SeatMapId>5 <SeatDefinitionId>180 XML Service APIs

Page 248

1 <SeatCode>A <SeatNumber>1A 198 151 <SeatAttribute>WIND Window WIN <ServiceRequestCode/> INF
<SeatMapId>5 <SeatDefinitionId>185 2 <SeatCode>C <SeatNumber>2C 228 123 <SeatAttribute>AISL Aisle AISLE <ServiceRequestCode/> COMP 3 <SeatMapId>5 <SeatDefinitionId>185 2 <SeatCode>C <SeatNumber>2C 228 123 <SeatAttribute>AISL Aisle AISLE <ServiceRequestCode>CBBG <SeatMapId>5 <SeatDefinitionId>185 2 <SeatCode>C <SeatNumber>2C 228 123 <SeatAttribute>AISL Aisle AISLE <ServiceRequestCode>CHD CHD bla bla bla XML Service APIs

Page 249

<SeatMapId>5 <SeatDefinitionId>187 2 <SeatCode>F <SeatNumber>2F 229 60 <SeatAttribute>WIND Window WIN <ServiceRequestCode/> INF


XML Service APIs

Page 250

SeatAttributeRulesAgainstPassenger This service checks for any seat attribute rules that have been defined for example, wheelchair passenger cannot be seated in an exit row. If the passenger has a wheelchair SSR e.g. WCHR then this service will prevent any seat assignment to an exit row. Parameter: DcsPassengerId Required. This is obtained from the getPassengerList call SeatDefinitionId Required. This is obtained from the GetFlightDateSeatAttributes call DcdFlightId Not required here. This is obtained from the getPassengerList call Return values: ServiceRequestCode Example: WCHR DcsPassengerCodeRcd Example: ADULT SeatAttributeRcd Example: EXIT AllowFlag This checks passenger SSR against ServiceRequestCode. If the passenger’s SSR code matches that of ServiceRequestCode, then the passenger cannot have this seat assigned. Values for this field can be 0 or 1. 0 means not allowed; 1 means the opposite Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 1076558471373542505 <SeatDefinitionId>185

Sample response: XML Service APIs

Page 251

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> <ServiceRequestCode>varchar(20) varchar(20) <SeatAttributeRcd>varchar(5) integer <ServiceRequestDescription>varchar(240) varchar(240) <SeatAttributeRuleDescription>varchar(240) <SeatRules> <ServiceRequestCode/> CHD <SeatAttributeRcd>AISL 0 <ServiceRequestDescription/> Child <SeatAttributeRuleDescription>Aisle

XML Service APIs

Page 252

ReserveSingleSeatNew This service reserves a seat assignment and returns a seat confirmation id. Parameters: SeatDefinitionId Otained from GetFlightDateSeatAttributes call FlightDateLegId Obatined from GetFlightDateClassSeatMaps call BookingNumber DcsUserId Return values: FlightSeatReservationId This is the seat confirmation ID Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <SeatDefinitionId>181 406532 2672651 659664309577364680 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> bigint 9457147 XML Service APIs

Page 253



ReleaseSeatCalls This service is responsible for releasing previously assigned seats. XML Service APIs

Page 254

Return values: Indicator Indicate if the call goes through or not. Values can be OK or NOTOK Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 9457153 500431214337184799 836286976835073167 327902220545913942 659664309577364680 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> varchar(5) OK

ConfirmAddition This service confirms the actual seat assignment. The first call is to reserve the seat temporarily, but this call actually confirms it. Sample request:

XML Service APIs

Page 255

<SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 9457153 500431214337184799 196639496704463970 327902220545913942 659664309577364680

Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> varchar(5) OK

ValidatePassengerPassPrinting This service is initiated when the boarding pass is printed. Return values: OK Ok

XML Service APIs

Page 256

previous That is, call previously executed missing seat No seat assignment unpaid charges Booking has an outstanding balance No adult printed This is for an infant passenger. That is, the adult’s boarding pass must be printed before the infant’s Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 861769645535114419 659664309577364680 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> varchar(20) OK

MarkCheckinReadyForBoarding The return value for this service is OK; unless a system error is indicated in the SOAP fault nodes. Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" XML Service APIs

Page 257

xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 861769645535114419 659664309577364680 Original Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> varchar(20) OK

GetPassengersForBoarding This service call retrieves the boarding information for the passenger; such as the system generated check-in sequence identifier, which is stored in the BoardingCardNumber node. Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> XML Service APIs

Page 258

<SOAP-ENV:Body> RT 1120 11/03/2006 1 675623999401555002 HNTQRK SELECTEE PAX Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> varchar(20) date bigint bigint bigint bigint integer varchar(20) <SeatNumber>varchar(20) varchar(20) <PassengerName>varchar(240) varchar(50) varchar(50) <MiddleName>varchar(50) varchar(20) varchar(20) bigint varchar(20) varchar(20) varchar(20) <SortOrder>integer varchar(20) varchar(20) varchar(20) varchar(20) varchar(20) date integer <PassengersForBoarding> RT1120 2006-11-03 06:30:00 XML Service APIs

Page 259

1131318543157011508 405720241091765359 801099235251831938 1063479678800860251 2672740 HNTQRK <SeatNumber>1A 1 <PassengerName>PAX/SELECTEE PAX SELECTEE <MiddleName/> 3380023105696907 FLL CUN CUN <SortOrder>80 Normal Male ConfRev 2006-11-02 21:27:10 0


GetAirportIdFromAirportCode This service retrieves the system id for a particular airport code. Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> XML Service APIs

Page 260

CUN


Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> bigint 675623999401555002

GetFlights This service retrieves the system flight id for a particular flight. All parameters are mandatory. Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> RT 1120 XML Service APIs

Page 261

1 675623999401555002 11/03/2006


Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> bigint bigint varchar(240) varchar(20) varchar(10) date varchar(5) varchar(5) varchar(20) integer <PassengerCount>integer integer varchar(20) <UserName>varchar(240) varchar(240) varchar(20) varchar(5) integer integer bigint bigint 3380023105696907 1113380291738371196 Open Open RT1120 2006-11-03 06:30:00 FLL CUN 319 141 <PassengerCount>4 1 H8 <UserName>Auto XML Service APIs

Page 262

RT 1120 0 0 1 675623999401555002


GetFlightDetails This service is used to return the flight details for a CheckinId. It can also be used to get seat assignments for all legs of a multi-leg flight using DcsFlightSegmentId or for a single leg using DcsFlightId. Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 551619656694215920 XML Service APIs

Page 263

Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> bigint varchar(20) varchar(20) date varchar(20) varchar(20) integer varchar(20) bigint 788704968748250146 RT 961 2006-11-21 07:55:00 LGA FLL 1 C 15268208960218247 1017867870058406938 RT 961 2006-11-21 12:15:00 FLL SJU 2 C 15268208960218247

XML Service APIs

Page 264

FindFlightFromId This service retrieves all the flight details for a particular flight. Records with the InvalidatedUserId node populated are for historical purposes only to and do not contain any current flight information. Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 3380023105696907 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> XML Service APIs

Page 265

bigint char(5) char(5) <ScheduledDepartureTime>date <EstimatedDepartureTime>date date char(5) <ScheduledArrivalTime>date <EstimatedArrivalTime>date date varchar(20) varchar(240) <Supplements>varchar(240) varchar(240) varchar(240) date bigint date date date date integer integer <WhoLanded>varchar(20) varchar(20) varchar(20) varchar(20) varchar(20) 3380023105696907 1120 FLL <ScheduledDepartureTime>06:30 <EstimatedDepartureTime>06:30 CUN <ScheduledArrivalTime>09:30 <EstimatedArrivalTime>09:30 On Time <Supplements/> SUSAN LEVY 2006-11-03 02:27:24 06:43 07:00 09:45 10:00 XML Service APIs

Page 266

<WhoLanded>Not landed 319 H8
3380023105696907 1120 FLL <ScheduledDepartureTime>06:30 <EstimatedDepartureTime>06:30 CUN <ScheduledArrivalTime>09:30 <EstimatedArrivalTime>09:30 On Time <Supplements/> Auto 2006-10-30 15:02:20 659664309577364680 <WhoLanded>Not landed 319


XML Service APIs

Page 267

GetBookingLegs This is needed to retrieve the value of the DcsFlightSegmentId. Only the records with ThisCheckinFlag set to 1 are a part of the checkin id. Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 84956577372959964 75382166804862064 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> XML Service APIs

Page 268

bigint varchar(20) varchar(20) varchar(20) varchar(20) date date integer varchar(20) <SeatNumber>varchar(20) varchar(240) varchar(240) bigint bigint bigint bigint
1099963760180675742 RT 111 FLL LGA 2006-11-13 06:00:00 2006-11-13 07:50:00 1 319 <SeatNumber>2F FT LAUDERDALE/HOLLYWOOD INTL LA GUARDIA INTERNATIONAL 1 2 878421273876407397


XML Service APIs

Page 269

GetFlightDateClassSeatMaps This is needed to retrieve the value of the FlightDateLegId. Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 735406459167839315 <SellingClassCode>C Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> <SeatMapId>integer varchar(250) varchar(250) integer integer XML Service APIs

Page 270

varchar(250) varchar(250) varchar(250) varchar(250) <SeatWidth>integer <SeatHeight>integer integer
<SeatMapId>5 A319 C http://www.rrtechnologies.net/internal/asr/a319.gif 911 402 http://www.rrtechnologies.net/internal/asr/block.gif http://www.rrtechnologies.net/internal/asr/seatmarker.gif http://www.rrtechnologies.net/internal/asr/blank.gif http://www.rrtechnologies.net/internal/asr/block.gif <SeatWidth>16 <SeatHeight>16 280544


XML Service APIs

Page 271

GetUserId This service retrieves the numeric ID of a user in the system. Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <UserCode>AUTO Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> bigint <UserName>varchar(240) <UserId> 60 <UserName>Auto

XML Service APIs

Page 272

GetCurrentUserLocation This service is used to get the location id for the selectee clearance. Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 659664309577364680 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> varchar(20) varchar(240) Susan Susan's Desk

XML Service APIs

Page 273

AddPassengerRequest This service was created to support the WEB checkin and uses SSR WEBC. Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 1038442991293228165, 287539504831329528 <ServiceRequestCode>WEBC Web Checkin 732963972619306124 282886087898469620

NB The DcsItineraryId field MUST contain a comma at the end like this: 422498530183304294, In cases where there are multiple itineraries associated with a single checkin id, then the XML node needs to have all itinerary IDs for the checkin comma separated like this: 422498530183304294,34523453423423442,123432423464346,

XML Service APIs

Page 274

Sample (successful) response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> bigint varchar(20) 636880067152860199 OK Sample (unsuccessful) response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> bigint varchar(20) 0 NOINVENTORY

XML Service APIs

Page 275

CanPassengerBoard This service is used to identify if the passenger is applicable for boarding by verifying whether or not the passenger is on this flight and has a BCN. Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 865734555585410078 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> varchar(20) OK

GetPassengerByBoardingCardNumber This service is used to get the BCN, which will be used to board the passenger. Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> XML Service APIs

Page 276

<SOAP-ENV:Body> UGlSFtFj3m00 1107581071879238779 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> bigint bigint varchar(20) bigint <SeatNumber>varchar(20) <PassengerByBCN> 865734555585410078 838462610154320915 39527841796805737 <SeatNumber>2F

BoardPassenger This service is used to board the passengers. XML Service APIs

Page 277

Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 39527841796805737 Boarded 732963972619306124 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> varchar(20) OK

GetBoardedPassengers This service returns the boarding status via the DcsBoardingStatusRcd node. Return values:

XML Service APIs

Page 278

Boarded Boarded NoShow No show VDenied Voluntarily Denied Boarding IDenied Involuntarily Denied Boarding UnBoarded Un-Boarded Sample request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> 450764700546335808 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> bigint bigint bigint bigint integer varchar(20) <SeatNumber>varchar(20) varchar(20) <PassengerName>varchar(240) varchar(50) varchar(50) <MiddleName>varchar(50) varchar(20) varchar(20) 991678843307869186 227366237040374916 XML Service APIs

Page 279

580304289701774356 232312158191768664 9976 GXCCRC <SeatNumber/> 32 <PassengerName>ZINICOLA/ZAIN ZINICOLA ZAIN <MiddleName/> Boarded


PrintBagTag This service enables a passenger that was checked in at a kiosk to print a bag tag. Pre-requisites:

XML Service APIs

Page 280

• •



The GetUserId API will need to be used with the assigned RRT application user code so that the DcsUserId node can be provided to the printing API calls. The user code provided to the application using the API will have to be setup with bag tag printers at the appropriate locations. o Alternatively, step 1 can be skipped, and the system using the API can provide the location code without using the GetCurrentUserLocation API. o This method can be useful when the external system (kiosk, web) uses a single RRT application user id. The DcsBaggageId value is needed for printing. This value is returned by our API call SaveBaggage.

The API call request/reply pairs: 1. Get the location for the user id. If the system using the API uses the same user code for all connections, then skip to step 2, and provide the location directly Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 671884342155244708 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> varchar(20) varchar(240) Test Test

2. Get the bag tag printer for that location: XML Service APIs

Page 281

Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> Test BagTag 671884342155244708 Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> 457351263046784041 BagTag DCSMT IER 411 Bag Tag Printer 192.168.112.80 3004 bigint varchar(20) varchar(20) varchar(240) varchar(240)

3. Print to the printer using the DeviceAddress value: The important reply node is and it should contain the value “Printed” on success. Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" XML Service APIs

Page 282

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> 192.168.112.80 3004 648253417750545493 671884342155244708 Print Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> 648253417750545493 <PassengerName>TEST/BAG HNVMMG 000834 0 0 35 <SelecteeFlag>1 TEST NEW YORK NEW YORK NY 487 1558 02AUGUST <JRBTBagTag>834 FLL 02Aug07 LGA RT 4321 1 varchar(240) varchar(240) Printed XML Service APIs

Page 283

Return codes: Here is a list of return codes: 1. Printed - successful print of the bag tag 2. Print Bag Tag First - requires that a boarding pass be printed before bagtag printing is allowed. This is controlled by an application configuration parameter 3. No city information - indicates that the baggage record is not properly associated with flights for the passenger. It will require agent assistance to resolve. 4. NothingToPrint - indicates an invalid baggage record, agent assistance will be needed for resolution. 5. <error conditions outside the application> - besides the above conditions, the printing subsystems can fail with network/device/other issues, those errors will be returned in the status field

PrintCloseoutReport This service generates flight Closeout Report after the flight is closed. Service name for all the reports is DcsPeripheral. Parameters: DcsFlightId Obtained from getPassengerList call. Note: Different cabin class has different flight ID Sample request: XML Service APIs

Page 284

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> 1003462334101963792 Display Sample repsonse: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> varchar(240) <PassengerCount>integer <SpecialRequestPassenger> None 3 <PassengerCount> <ManifestedPlus>2 <ManifestedCoach>1 0 0 1 2 <StandByCoach>0 <StandByPlus>0 0 0 0 0 <JumpSeatCockpit>0 <JumpSeatFlightAttendant>0 2 1 16 134 2 1 0 0 LGA FLL 1 2 3 XML Service APIs

Page 285

FLL SJU 1 2 3
Hello


PrintFlightManifest This service generates the flight manifest report. Parameters: DcsFlightId Sample request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> 1003462334101963792 XML Service APIs

Page 286

Boarded <SortOrder>ascending <SortCriteria>LastName <Mode>Display


Sample repsonse: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> varchar(240) RT 961 1 19Mar07 LGAFLL 0 <SortOrder>ascending <SortCriteria>LastName <SortSubCriteria>FirstName Displayed

UpdateResultsPayments This service will synchronize all the payments made in DCS into Results. As soon as a flight is closed, the system makes a call to this service. Then the payments from DCS checkin are sent to Results bookings and are shown on the Booking Payment screen:

XML Service APIs

Page 287

Sample request: <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.or /soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> XML Service APIs

Page 288

750576615304012989
Note: To get the DcsFlightId, enter the following SQL command: SELECT dcs_flight_id FROM dcs_flight df INNER JOIN dcs_airport da ON df.dcs_origin_airport_id = da.dcs_airport_id WHERE df.dcs_carrier_rcd || df.flight_number = 'NK17' AND DATE (df.departure_date_time) = '08/16/2006' AND da.airport_code = 'FLL' Sample response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> <PaymentUpdate> OK You can also run the request if there are changes to the DCS payment information on a flight after the flight is already closed. A rerun of the service will adjust the payment information again. The following shows the additional DCS payment after a rerun:

XML Service APIs

Page 289

The adjustment will reflect on the DCS Financial form as well.

XML Service APIs

Page 290

Related Documents

Xml Services
June 2020 5
Xml Web Services
June 2020 6
Xml
June 2020 21
Xml
November 2019 35
Xml
May 2020 25
Xml
November 2019 45