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 RecorderLocator > 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> 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> 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