SeatMap API: GetSeatMap - Sabre Dev Studio

122
SeatMap API: GetSeatMap Version 3.4 Digital Connect Service Engine

Transcript of SeatMap API: GetSeatMap - Sabre Dev Studio

SeatMap API: GetSeatMap

Version 3.4

Digital Connect Service Engine

Software version 3.4

Document Edition 1.0 (December 2017)

Template Version 4.9

This documentation is the confidential and proprietary intellectual property of the Sabre Airline Solutions® business. Any unauthorized use, reproduction, preparation of derivative works, performance or display of this document or software represented by this document, without the express written permission of Sabre Airline Solutions is strictly prohibited.

Sabre®, the Sabre logo, Sabre Airline Solutions, the Sabre Airline Solutions logo, Sabre Travel Network®, the Sabre Travel Network logo, Sabre AirCentre®, Sabre AirVision®, SabreSonic® CSS, and Sabre Data & Analytics® are trademarks and/or service marks of an affiliate of Sabre Corporation. All other trademarks, service marks and trade names are the property of their respective owners.

© 2017 Sabre GLBL Inc. All rights reserved.

SeatMap API: GetSeatMap Table of Contents December 2017 iii Confidential and Proprietary Sabre Inc.

Table of Contents

1 I n t r o d u c t i o n 1.1 Document Overview ............................................................................................................................... 1

1.1.1 Benefits of using Digital Connect Service Engine XML APIs ................................................... 1 1.1.1.1 SeatMap API benefits ................................................................................................. 2

2 S t a n d a r d m e s s a g e s t r u c t u r e 2.1 Request .................................................................................................................................................. 3 2.2 Context ................................................................................................................................................... 3 2.3 Response ............................................................................................................................................... 3

2.3.1 *Results .................................................................................................................................... 4 2.3.1.1 Template describing *Results ..................................................................................... 4 2.3.1.2 Example of *Results in GetSeatMap operation ........................................................... 4

2.4 Error response structure ......................................................................................................................... 4 2.4.1 STL and error handling ............................................................................................................ 4

2.4.1.1 *Results structure indicating errors ............................................................................. 4

3 S e a t M a p 3.1 Introduction ............................................................................................................................................. 7

3.1.1 GetSeatMap ............................................................................................................................. 7

4 G e t S e a t M a p 4.1 Description ............................................................................................................................................. 9 4.2 GetSeatMap request .............................................................................................................................. 9

4.2.1 Context ..................................................................................................................................... 9 4.2.2 Point of sale ........................................................................................................................... 10 4.2.3 SeatMapContext .................................................................................................................. 11 4.2.4 SearchCriteria ...................................................................................................................... 11 4.2.5 SeatMapRetrievalOptions .................................................................................................... 12

4.3 GetSeatMap response.......................................................................................................................... 12 4.3.1 Context ................................................................................................................................... 12 4.3.2 Passengers ............................................................................................................................ 13 4.3.3 SeatMap ................................................................................................................................. 14 4.3.4 PriceRange ............................................................................................................................ 16 4.3.5 ConversionRules .................................................................................................................... 16 4.3.6 GetSeatMapResults ............................................................................................................... 16

4.4 Error handling ....................................................................................................................................... 17 4.5 Warnings .............................................................................................................................................. 17 4.6 Index..................................................................................................................................................... 18

4.6.1 SearchCriteria (Composite) .................................................................................................... 18 4.6.2 GetSeatMapResults (Composite) .......................................................................................... 18

SeatMap API: GetSeatMap Table of Contents December 2017 iv Confidential and Proprietary Sabre Inc.

4.6.3 GetSeatMapResult (Composite) ............................................................................................ 18 4.6.4 SeatMapContext (Composite) ................................................................................................ 19 4.6.5 SeatMapRetrievalOptions (Composite) .................................................................................. 20 4.6.6 PricingOptions (Composite) ................................................................................................... 20 4.6.7 Enum_RevenueType (ClosedEnumeration) ........................................................................... 21 4.6.8 SeatMap (Composite) ............................................................................................................ 22 4.6.9 PassengerSeatDetails (Composite) ....................................................................................... 23 4.6.10 PassengerSeatDetail ........................................................................................................... 23 4.6.11 SeatPrice (Composite) ......................................................................................................... 23 4.6.12 SeatNumbers (Composite) ................................................................................................... 23 4.6.13 SeatFeeWiaver (Composite) ................................................................................................ 23 4.6.14 SeatEntitlement (Composite) ............................................................................................... 24 4.6.15 Cabin (Composite) ............................................................................................................... 24 4.6.16 Column (Composite) ............................................................................................................ 24 4.6.17 Row (Composite) ................................................................................................................. 25 4.6.18 Slot (Composite) .................................................................................................................. 25 4.6.19 Seat (Composite) ................................................................................................................. 26 4.6.20 Facility (Composite) ............................................................................................................. 27 4.6.21 Enum_LocationType (ClosedEnumeration) ......................................................................... 27 4.6.22 Enum_SeatStatus (ClosedEnumeration) ............................................................................. 27 4.6.23 Enum_ColumnCharacteristic (ClosedEnumeration) ............................................................. 28 4.6.24 Enum_RowCharacteristic (ClosedEnumeration) .................................................................. 28 4.6.25 Enum_FacilityType (ClosedEnumeration) ............................................................................ 28 4.6.26 Code_CustomCharacteristic (Scalar) ................................................................................... 29 4.6.27 Pricing (Composite).............................................................................................................. 29 4.6.28 PriceRange (Composite) ...................................................................................................... 30 4.6.29 Price (Composite) ................................................................................................................ 30 4.6.30 Segment (Composite) .......................................................................................................... 30 4.6.31 Code_Deck (Scalar) ............................................................................................................. 32 4.6.32 ColumnCharacteristic (ValueWithAttributes) ........................................................................ 32 4.6.33 Code_SeatBooking (Scalar) .............................................................................................. 32 4.6.34 Enum_SeatLimitation (ClosedEnumeration) ........................................................................ 32 4.6.35 Enum_SeatDesignation (ClosedEnumeration) ..................................................................... 33 4.6.36 Itinerary (Composite)............................................................................................................ 34 4.6.37 SeatMapPassenger (Composite) ......................................................................................... 34 4.6.38 PassengerSegment (Composite) ......................................................................................... 35 4.6.39 Passengers (Composite) ...................................................................................................... 36 4.6.40 RuleResult (ValueWithAttributes) ......................................................................................... 36 4.6.41 Enum_AncillaryGroup (ClosedEnumeration) ....................................................................... 36 4.6.42 ServiceType (ValueWithAttributes) ...................................................................................... 38 4.6.43 Enum_ServiceType (ClosedEnumeration) ........................................................................... 38 4.6.44 Ancillary (Composite) ........................................................................................................... 39 4.6.45 SpecialService (Composite) ................................................................................................. 40 4.6.46 SpecialServiceDetailType (ClosedEnumeration) ................................................................. 40 4.6.47 Enum_AncillaryReasonForIssuance (ClosedEnumeration) ................................................. 41

SeatMap API: GetSeatMap Table of Contents December 2017 v Confidential and Proprietary Sabre Inc.

4.6.48 Enum_ElectronicMiscDocType (ClosedEnumeration) ......................................................... 42 4.6.49 Enum_AncillaryBookingMethod (ClosedEnumeration) ........................................................ 42 4.6.50 AncillaryFee (Composite) ..................................................................................................... 43 4.6.51 PricedAncillaryRefs (ScalarList) ........................................................................................... 43 4.6.52 PricedAncillary (Composite) ................................................................................................. 44 4.6.53 AncillaryPurchaseRules (Composite) ................................................................................... 44 4.6.54 PricedAncillaries (Composite) .............................................................................................. 45 4.6.55 AncillaryRules (Composite) .................................................................................................. 45 4.6.56 Enum_AncillaryFeeApplicationMethod (ClosedEnumeration) .............................................. 46 4.6.57 Enum_AncillaryFormOfRefund (ClosedEnumeration) .......................................................... 47 4.6.58 Ancillaries (Composite) ........................................................................................................ 47 4.6.59 Enum_FreeOfChargeRules (ClosedEnumeration) ............................................................... 47 4.6.60 AncillaryGroups (Composite) ............................................................................................... 48 4.6.61 AncillaryRefs (ScalarList) ..................................................................................................... 48 4.6.62 AncillaryGrouping (ValueWithAttributes) .............................................................................. 48 4.6.63 Ancillary_CommercialName (Scalar) ................................................................................... 48 4.6.64 ReasonForIssuance (ValueWithAttributes) .......................................................................... 48 4.6.65 AncillaryGroup (ValueWithAttributes) ................................................................................... 49 4.6.66 ElectronicMiscDocType (ValueWithAttributes) ..................................................................... 49 4.6.67 Code_AlphaNumeric1 (Scalar) ............................................................................................ 49 4.6.68 BookingMethod (ValueWithAttributes) ................................................................................. 49 4.6.69 Code_AlphaNumeric2 (Scalar) ............................................................................................ 50 4.6.70 FormOfRefund (ValueWithAttributes)................................................................................... 50 4.6.71 FeeApplicationMethod (ValueWithAttributes) ....................................................................... 50 4.6.72 CustomRules (Composite) ................................................................................................... 50 4.6.73 Code_FormOfPayment (Scalar) ........................................................................................... 51 4.6.74 TotalFee (Composite) .......................................................................................................... 52 4.6.75 Enum_RedemptionCalculationRule (ClosedEnumeration) ................................................... 53 4.6.76 Enum_DiscountCalculationRule (ClosedEnumeration) ........................................................ 53 4.6.77 Enum_AncillaryPricingLevel (ClosedEnumeration) .............................................................. 53 4.6.78 Enum_ConfirmationStatus (ClosedEnumeration) ................................................................ 54 4.6.79 FreeAllowanceEligibility (Composite) ................................................................................... 54 4.6.80 AncillaryTravelPortion (Composite) ...................................................................................... 54 4.6.81 AncillaryTravelPortions (Composite) .................................................................................... 55 4.6.82 RequiredProperties (Composite) .......................................................................................... 55 4.6.83 AncillaryInventory (ValueWithAttributes) .............................................................................. 55 4.6.84 AncillariesInventory (Composite) ......................................................................................... 55 4.6.85 AlphaNumericString (Scalar) ................................................................................................ 56 4.6.86 TinyString (Scalar) ............................................................................................................... 56 4.6.87 ShortString (Scalar).............................................................................................................. 56 4.6.88 MediumString (Scalar) ......................................................................................................... 56 4.6.89 LongString (Scalar) .............................................................................................................. 56 4.6.90 Code_Storefront (Scalar) ..................................................................................................... 56 4.6.91 Enum_Gender (ClosedEnumeration) ................................................................................... 57 4.6.92 Enum_MaritalStatus (ClosedEnumeration) .......................................................................... 57

SeatMap API: GetSeatMap Table of Contents December 2017 vi Confidential and Proprietary Sabre Inc.

4.6.93 Enum_PhoneType (ClosedEnumeration) ............................................................................. 57 4.6.94 Enum_AddressType (ClosedEnumeration) .......................................................................... 58 4.6.95 Code_Postal (Scalar) ........................................................................................................... 58 4.6.96 PaymentCard_MaskedNumber (Scalar) .............................................................................. 58 4.6.97 Enum_EmailType (ClosedEnumeration) .............................................................................. 59 4.6.98 EmailAddress (ValueWithAttributes) .................................................................................... 59 4.6.99 Email (Scalar) ...................................................................................................................... 59 4.6.100 Code_Language (Scalar) ................................................................................................... 59 4.6.101 Code_Phone_Area (Scalar) ............................................................................................... 59 4.6.102 Code_Phone_Country (Scalar) .......................................................................................... 60 4.6.103 Code_Market (Scalar) ........................................................................................................ 60 4.6.104 Name_Market (Scalar) ....................................................................................................... 60 4.6.105 Market (ValueWithAttributes) ............................................................................................. 60 4.6.106 PaymentCard_ExpirationDetails (Scalar) ........................................................................... 60 4.6.107 TimeRange (Composite) ................................................................................................ 60 4.6.108 Address (Composite) ......................................................................................................... 61 4.6.109 PaymentCard (Composite) ................................................................................................. 62 4.6.110 Phone (Composite) ............................................................................................................ 62 4.6.111 PersonName (Composite) .................................................................................................. 63 4.6.112 Enum_DocumentType (ClosedEnumeration) ..................................................................... 63 4.6.113 Money (ValueWithAttributes) ............................................................................................. 64 4.6.114 LoyaltyPoints (Scalar) ........................................................................................................ 64 4.6.115 Mileage (ValueWithAttributes) ............................................................................................ 64 4.6.116 Enum_MileageUnit (ClosedEnumeration) .......................................................................... 65 4.6.117 LoyaltyAccount (Composite) .............................................................................................. 65 4.6.118 Document (Composite) ...................................................................................................... 66 4.6.119 Enum_ProfileType (ClosedEnumeration) ........................................................................... 67 4.6.120 FlightStop (Composite) ...................................................................................................... 67 4.6.121 DurationInMinutes (Scalar) ................................................................................................ 68 4.6.122 RecordLocator (Scalar) ...................................................................................................... 68 4.6.123 EmergencyContact (Composite) ........................................................................................ 68 4.6.124 Enum_WeightUnit (ClosedEnumeration) ........................................................................... 68 4.6.125 Weight (ValueWithAttributes) ............................................................................................. 69 4.6.126 Enum_CabinClass (ClosedEnumeration) ........................................................................... 69 4.6.127 Code_BookingClass (Scalar) ............................................................................................. 69 4.6.128 Code_FareBrand (Scalar) .................................................................................................. 70 4.6.129 Enum_ItineraryPartType (ClosedEnumeration) ................................................................. 70 4.6.130 Code_Meal (Scalar) ........................................................................................................... 70 4.6.131 Code_SpecialService (Scalar) ........................................................................................... 70 4.6.132 Enum_FlightSpan (ClosedEnumeration) ............................................................................ 70 4.6.133 SeatNumber (Scalar) ......................................................................................................... 70 4.6.134 ContactDetails (Composite) ............................................................................................... 71 4.6.135 Enum_PassengerTypeBase (ClosedEnumeration) ............................................................ 71 4.6.136 Enum_PassengerTypeBaseExtension (Scalar) ................................................................. 71 4.6.137 Enum_PassengerType (ValueWithAttributes) .................................................................... 72

SeatMap API: GetSeatMap Table of Contents December 2017 vii Confidential and Proprietary Sabre Inc.

4.6.138 Pnr_NameNumber (Scalar) ................................................................................................ 72 4.6.139 Enum_SpecialServiceStatus (ClosedEnumeration) ........................................................... 72 4.6.140 Enum_SpecialServiceType (ClosedEnumeration) ............................................................. 72 4.6.141 Pnr_SegmentNumber (Scalar) ........................................................................................... 72 4.6.142 PriceElement (Composite) ................................................................................................. 73 4.6.143 PriceBreakdown (Composite) ............................................................................................ 74 4.6.144 Enum_ModificationOperation (ClosedEnumeration) .......................................................... 74 4.6.145 Code_Country (Scalar) ...................................................................................................... 75 4.6.146 Code_City (Scalar) ............................................................................................................. 75 4.6.147 Code_Currency (Scalar) .................................................................................................... 75 4.6.148 Amount (Scalar) ................................................................................................................. 75 4.6.149 PaymentCard_TypeCode (Scalar) ..................................................................................... 75 4.6.150 PaymentCard_Number (Scalar) ......................................................................................... 76 4.6.151 Code_Airline (Scalar) ......................................................................................................... 76 4.6.152 FlightNumber (Scalar) ........................................................................................................ 76 4.6.153 Code_AircraftType (Scalar) ................................................................................................ 76 4.6.154 Code_Airport (Scalar) ........................................................................................................ 76 4.6.155 PhoneNumber (Scalar) ...................................................................................................... 77 4.6.156 Consent_Category (Scalar) ................................................................................................ 77 4.6.157 Consent_CategoryType (Scalar) ........................................................................................ 77 4.6.158 Hobby_Category (Scalar) ................................................................................................... 77 4.6.159 Hobby_Code (Scalar) ......................................................................................................... 77 4.6.160 Code_Occupation (Scalar) ................................................................................................. 77 4.6.161 Code_Tour (Scalar)............................................................................................................ 78 4.6.162 LoyaltyTierLevel (Composite) ............................................................................................ 78 4.6.163 Code_PassengerType (Scalar) .......................................................................................... 78 4.6.164 PointsConversionRatio (Scalar) ......................................................................................... 78 4.6.165 Enum_RoundingMode (ClosedEnumeration) ..................................................................... 79 4.6.166 Enum_ScalingMode (ClosedEnumeration) ........................................................................ 80 4.6.167 Enum_TaxType (ClosedEnumeration) ............................................................................... 80 4.6.168 PaymentCard_SecurityCode (Scalar) ................................................................................ 80 4.6.169 PaymentCard_ApprovalCode (Scalar) ............................................................................... 81 4.6.170 Credentials (Composite) .................................................................................................... 81 4.6.171 Deal_OfferName (Scalar) ................................................................................................... 81 4.6.172 Deal_PromotionCode (Scalar) ........................................................................................... 81 4.6.173 Deal_DealName (Scalar) ................................................................................................... 81 4.6.174 ConversionRatio (ValueWithAttributes) .............................................................................. 82 4.6.175 String_From1to35 (Scalar) ................................................................................................. 82 4.6.176 BinaryData (ValueWithAttributes) ...................................................................................... 82 4.6.177 ContentType (Scalar) ......................................................................................................... 82 4.6.178 Enum_FlightScheduleStatus (ClosedEnumeration) ........................................................... 82 4.6.179 AircraftLease (Composite) ................................................................................................. 83 4.6.180 SyntheticIdentifier (Scalar) ................................................................................................. 83 4.6.181 Rate (Scalar) ...................................................................................................................... 83 4.6.182 ContextualCode (ValueWithAttributes)............................................................................... 84

SeatMap API: GetSeatMap Table of Contents December 2017 viii Confidential and Proprietary Sabre Inc.

4.6.183 ClientIdentification (Composite) ......................................................................................... 84 4.6.184 Deal (Composite) ............................................................................................................... 84 4.6.185 Enum_TravelPortionType (ClosedEnumeration) ................................................................ 85 4.6.186 Flight (Composite) .............................................................................................................. 85 4.6.187 FlightDetail (Composite) ..................................................................................................... 86 4.6.188 Code_AncillaryGroup (Scalar) ........................................................................................... 87 4.6.189 Code_AncillarySubCode (Scalar) ...................................................................................... 88 4.6.190 Code_SSIM (Scalar) .......................................................................................................... 88 4.6.191 ConversionRules (Composite) ........................................................................................... 88 4.6.192 Percent (Scalar) ................................................................................................................. 88 4.6.193 Enum_Deck (ClosedEnumeration) ..................................................................................... 89 4.6.194 Deck (ValueWithAttributes) ................................................................................................ 89 4.6.195 Code_Deck (Scalar) ........................................................................................................... 89 4.6.196 Segment (Composite) ........................................................................................................ 89 4.6.197 Segments (Composite) ...................................................................................................... 90 4.6.198 ItineraryPart (Composite) ................................................................................................... 90 4.6.199 ItineraryParts (Composite) ................................................................................................. 91 4.6.200 FareInfo (Composite) ......................................................................................................... 91 4.6.201 DiscountCategories (Scalar) .............................................................................................. 92 4.6.202 Code_FareType (Scalar) .................................................................................................... 92 4.6.203 FareVendor (ValueWithAttributes) ..................................................................................... 93 4.6.204 Code_Vendor (Scalar) ....................................................................................................... 93 4.6.205 Enum_FareVendor (ClosedEnumeration) .......................................................................... 93 4.6.206 Passenger (Composite) ..................................................................................................... 93 4.6.207 Passengers (Composite) .................................................................................................... 94 4.6.208 ItineraryPartRefs (ScalarList) ............................................................................................. 95 4.6.209 SegmentRefs (ScalarList) .................................................................................................. 95 4.6.210 TravelPortion (Composite) ................................................................................................. 95 4.6.211 PointOfSale (Composite) ................................................................................................... 96 4.6.212 ServerInfo (Composite) ...................................................................................................... 97 4.6.213 BrowserInfo (Composite) ................................................................................................... 97 4.6.214 Agent_DutyCode (Scalar) .................................................................................................. 97 4.6.215 Agent_Lniata (Scalar) ........................................................................................................ 97 4.6.216 AgentIdentification (Composite) ......................................................................................... 98 4.6.217 Enum_DistributionChannel (ClosedEnumeration) .............................................................. 98 4.6.218 DistributionChannel (ValueWithAttributes) ......................................................................... 99 4.6.219 Enum_BusinessTransactionType (ClosedEnumeration) .................................................... 99 4.6.220 Enum_HttpHeaderName (ClosedEnumeration) ................................................................. 99 4.6.221 HttpHeader (ValueWithAttributes) .................................................................................... 100 4.6.222 Agent_PersonalCityCode (Scalar) ................................................................................... 101 4.6.223 Agent_PseudoCityCode (Scalar) ..................................................................................... 101 4.6.224 Agent_AccountingCode (Scalar) ...................................................................................... 101 4.6.225 Agent_OfficeCode (Scalar) .............................................................................................. 101 4.6.226 Enum_RetrievalContext (ClosedEnumeration) ................................................................ 102 4.6.227 Identifier_LoyaltyProgram (Scalar) ................................................................................... 102

SeatMap API: GetSeatMap Table of Contents December 2017 ix Confidential and Proprietary Sabre Inc.

4.6.228 Enum_DealType (ClosedEnumeration) ............................................................................ 102 4.6.229 Code_ReasonForIssuance (Scalar) ................................................................................. 102 4.6.230 Code_AirlineAccounting (Scalar) ..................................................................................... 102 4.6.231 Code_TicketCheckDigit (Scalar) ...................................................................................... 103 4.6.232 TicketNumber (Composite) .............................................................................................. 103 4.6.233 NonNegativeInteger (Scalar) ............................................................................................ 103 4.6.234 PositiveInteger (Scalar) .................................................................................................... 103 4.6.235 SpecialServiceCodes (ScalarList) .................................................................................... 104 4.6.236 Size (ValueWithAttributes) ............................................................................................... 104 4.6.237 Enum_SizeUnit (ClosedEnumeration).............................................................................. 104 4.6.238 PassengerIdentifier (Composite) ...................................................................................... 104 4.6.239 Enum_AirExtraPaymentStatus (ClosedEnumeration) ...................................................... 104 4.6.240 Number_TicketCoupon (Scalar) ....................................................................................... 105 4.6.241 Property (ValueWithAttributes) ......................................................................................... 105 4.6.242 PropertyName (Scalar) .................................................................................................... 105 4.6.243 WeightValue (Scalar) ....................................................................................................... 105 4.6.244 Number_SequenceNumber (Scalar) ................................................................................ 105 4.6.245 PropertyDefinition (Composite) ........................................................................................ 105 4.6.246 Enum_PropertyType (ClosedEnumeration) ..................................................................... 106 4.6.247 DynamicCurrencyConversion (Composite) ...................................................................... 106 4.6.248 DynamicCurrencyConversionSupplierIdentification (Scalar) ............................................ 107 4.6.249 ExchangeRateBasedOnName (Scalar)............................................................................ 107 4.6.250 ExchangeRateInfo (Composite) ....................................................................................... 107 4.6.251 Enum_FormOfPaymentType (ClosedEnumeration) ......................................................... 107 4.6.252 Code_SegmentStatus (Scalar) ........................................................................................ 108 4.6.253 Enum_PaymentCardType (ClosedEnumeration) ............................................................. 108 4.6.254 PriceModifier (Composite) ................................................................................................ 109 4.6.255 Service_Code_Storefront (Scalar) ................................................................................... 109 4.6.256 Context (Composite) ........................................................................................................ 109 4.6.257 Enum_SessionPropagation (ClosedEnumeration) ........................................................... 110 4.6.258 Enum_StatusType (ClosedEnumeration) ......................................................................... 110 4.6.259 Status (Composite) .......................................................................................................... 110 4.6.260 Service_Code_Airline (Scalar) ......................................................................................... 110 4.6.261 Service_String_Short (Scalar) .......................................................................................... 111 4.6.262 Service_String_Long (Scalar) .......................................................................................... 111 4.6.263 ConfigurationVersionId (Scalar) ....................................................................................... 111 4.6.264 Code_Country_Extended (Scalar) ................................................................................... 111

SeatMap API: GetSeatMap Table of Contents December 2017 x Confidential and Proprietary Sabre Inc.

• • •

SeatMap API: GetSeatMap Introduction December 2017 1 Confidential and Proprietary Sabre Inc.

1 Introduction

1.1 Document Overview

Sabre’s new Digital Connect Service Engine APIs are simpler to use and more relevant to e-commerce solution development than traditional Sabre web services.

With a single Digital Connect Service Engine API operation, many low-level web services are aggregated into an entire workflow. For example, a single Digital Connect Service Engine operation could be used to book + pay + ticket. Traditionally, each of these operations would have required up to a dozen or more lower-level services.

By providing a higher level of functional abstraction, Digital Connect Service Engine APIs free you to focus on creating your user interface, instead of code to integrate with Sabre’s core systems.

1.1.1 Benefits of using Digital Connect Service Engine XML APIs

• Ease of use. The learning curve is shortened. There is much less need for in-depth knowledge of Sabre system functionality. The data structure returned by Digital Connect Service Engine is specifically optimized for e-commerce application development and allows you to manage a session for the entire operation.

• Faster time to market. New capabilities can be deployed to production sooner. Using pre-built operations that have been architected and designed to execute entire workflows, your development time is shorter, and you can implement your application more quickly.

• Cost savings. Development and maintenance with Digital Connect Service Engine APIs is less expensive because design complexity, coding, and testing efforts are reduced. Additional cost savings can be realized by re-using the same pre-built operations across multiple e-commerce channels.

• Consistent branding. The customer experience is the same, regardless of the touch point or device. Digital Connect Service Engine operations contain business logic that enables multi-tiered architecture and facilitates re-use across multiple applications.

• Flexible functionality. The majority of the functions available within Digital Connect Service Engine operations are optional. As such, the client application has the flexibility to control which functions are executed, allowing it to mix-and-match functions to meet its specific needs.

• Improved response time. By avoiding the round trip latency inherent with multiple, individual low-level web service calls to perform single functions, overall responses for the entire operation are faster.

• Improved bandwidth usage. Digital Connect Service Engine APIs give clients an opportunity to optimize existing applications. Because the HTTP overhead associated with multiple low-level web service calls is avoided, use of bandwidth is improved.

1

SeatMap API: GetSeatMap Introduction December 2017 2 Confidential and Proprietary Sabre Inc.

1.1.1.1 SeatMap API benefits

Digital Connect Service Engine SeatMap API benefits include:

• Diverse downline system implementation, which is available for alternative context (CheckIn vs. Booking)

• Retailing Rules, which can be applied to include discounts and promotional bundles

• Premium seat pricing

• Dynamic rewards capability, which allows airlines to use dynamic points pricing for premium seats

SeatMap API: GetSeatMap Standard message structure December 2017 3 Confidential and Proprietary Sabre Inc.

2 Standard message structure

All Digital Connect Service Engine API operations use a consistent structure of requests and responses based on the Sabre Type Library (STL).

2.1 Request

Each request extends the standard message structure of the STLRequestPayload and consists of:

• A mandatory Context element

• Service/Operation specific structures, which could be:

o Search criteria for get type services

o Appropriate data structure and corresponding operation designators.

2.2 Context

Context is a mandatory part of each request and consists of the following elements:

• Airline

• Storefront

• Configuration

Airline and Storefront are mandatory elements; Configuration is optional. If a configuration is not provided in the request, the active (current) configuration is used.

A configuration request should be sent only once per client session. When the client sends an initial request to determine the active configuration, it is returned in the response.

These elements provide Digital Connect Service Engine with the context required to select the proper database connection and configuration data to execute the operation.

<Context> <Airline>K0</Airline> <Storefront>K0M0</Storefront> <Configuration>1</Configuration> </Context>

2.3 Response

Each response extends the standard message structure of the STLResponsePayload and consists of:

• A mandatory Context element

• Data structures specific to a Service or Operation, such as Air for the GetSeatMap operation

The optional *Results structure is described in the following section.

Context returned in the response contains a comprehensive succession of information that includes Configuration.

2

SeatMap API: GetSeatMap Standard message structure December 2017 4 Confidential and Proprietary Sabre Inc.

2.3.1 *Results

*Results structures that display apply only to those responses where multiple logical sub-operations occur. They are used to indicate the status of an individual sub-operation implementation. For example, the GetSeatMap operation allows multiple results in the context of flight details. Although, there is neither a single name, nor a fixed structure for the *Results structure, the *Results contain a Status that is common to all of them.

2.3.1.1 Template describing *Results

<PrefixResults> <PrefixResult ref=""> <Designator></Designator> <Status type="SUCCESS|WARNING|ERROR" code="SOME_CODE"> <Message>Detailed description</Message> </Status> </PrefixResult> </PrefixResults>

2.3.1.2 Example of *Results in GetSeatMap operation

<smps:GetSeatMapResults>

<smps:GetSeatMapResult seatMapRef="sm1">

<svc:Status type="SUCCESS"/>

</smps:GetSeatMapResult>

</smps:GetSeatMapResults>

2.4 Error response structure

Both STL built-in structures and additional Digital Connect Service Engine structures are used to provide error handling details to client applications.

2.4.1 STL and error handling

All Digital Connect Service Engine responses use the standard STL error handling structures in the SOAP header and payload.

The STL header contains a ResultSummary element that indicates, at high level, whether the operation was successful.

The Message payload contains an ApplicationResults element that provides detailed information about warnings and/or errors returned in the response.

2.4.1.1 *Results structure indicating errors

The STL does not support error handling for batch type operations. For example, when one operation contains a series of independent sub-operations, the operation can be shown as successful, even if part of the operation was not successful. To support this type of processing, Digital Connect Service Engine introduced *Results structures used in multiple services.

SeatMap API: GetSeatMap Standard message structure December 2017 5 Confidential and Proprietary Sabre Inc.

Refer to section 2.3.1 *Results for additional details.

The following rules describe the dependency between STL error handling structures and *Results.

• If all Status elements in *Results contain a SUCCESS or WARNING type, the:

o ResultSummary indicates SUCCESS

o ApplicationResults do not indicate any errors or warnings

• If there is at least one Status that contains an ERROR type, but there is also at least one Status that contains a SUCCESS or WARNING type, the:

o ResultSummary indicates SUCCESS

o ApplicationResults indicates a PARTIAL_SUCCESS warning

• If all Status elements contain an ERROR type, the:

o ResultSummary indicates an UNSUCCESSFUL error

o ApplicationResults indicates UNSUCCESSFUL error

SeatMap API: GetSeatMap Standard message structure December 2017 6 Confidential and Proprietary Sabre Inc.

• • •

SeatMap API: GetSeatMap SeatMap December 2017 7 Confidential and Proprietary Sabre Inc.

3 SeatMap

3.1 Introduction

The SeatMap Service currently consists of one operation: GetSeatMap. It is used to retrieve a list of seat maps for a list of flights. Seat maps can be described as designated spaces, locations, and characteristics of the deck of an aircraft cabin.

3.1.1 GetSeatMap

The GetSeatMap operation allows users to retrieve an aircraft seat map tailored to the parameters specified in the request.

3

SeatMap API: GetSeatMap SeatMap December 2017 8 Confidential and Proprietary Sabre Inc.

• • •

SeatMap API: GetSeatMap GetSeatMap December 2017 9 Confidential and Proprietary Sabre Inc.

4 GetSeatMap

4.1 Description

The GetSeatMap operation allows users to retrieve an aircraft seat map tailored to the parameters specified in the request.

Seat maps can be requested based on the following search criteria by:

• List of segments (airline, flight number, departure/arrival airports, dates, etc.)

• Available seat status (available/unavailable)

• SeatMap context (passenger and itinerary details, or PNR locator)

4.2 GetSeatMap request

The GetSeatMap request consists of the following elements:

• Context

• PointOfSale

• SeatMapContext

• SearchCriteria

• SeatMapRetrievalOptions

4.2.1 Context

The Context element defines the framework used to execute an operation. It is a mandatory element that defines the context of a request by airline, storefront, and Service Engine configuration versions. These details uniquely identify the configuration used in the transaction. When the element is not provided, a schema validation error occurs.

If the configuration within the Context element is not provided, then the default configuration is used.

When pseudo sub-elements are provided, errors are returned.

Element type

svc:Context (mandatory)

Example

<svc:Context>

<svc:Airline>K0</svc:Airline>

<svc:Storefront>K0K0</svc:Storefront>

<svc:Configuration>1</svc:Configuration>

</svc:Context>

4

SeatMap API: GetSeatMap GetSeatMap December 2017 10 Confidential and Proprietary Sabre Inc.

4.2.2 Point of sale

The Point of Sale (POS) offers details that can vary depending on the distribution channel and technology used. This example uses the WEB distribution channel for which ServerInfo and BrowserInfo are provided. A single, functional agent is provided for all web users; however, one can be provided if the agent stored in the configuration is overridden. The AGENT distribution channel, AgentIdentification, is critical because each agent uses its own identification data for each transaction. The KIOSK distribution channel, in some cases, mandates the Identifier element as mandatory if it represents the device identification relative to this context.

The POS contains the AgentIdentification element that defines the Pseudo City Code (PCC) and the Office Account Code (OAC) used by Service Engine services. Changing the context is not performed in the Stateful or SkipRevenuePricing paths, but can be disabled in other paths using the storefront configuration defined in Service Engine configuration tool.

For each POS, the properties are different. It is not a mandatory element, but if it is not provided, the default settings are applied for an airline. An internal algorithm, based on the Service Engine configuration tool configuration, is used to define the Pseudo City Code (PCC) details. It influences the response by changing the fare availability and prices. No additional validation is applied.

Notes

• Within this element, the customer defines the distribution channel for which the request is processed. It is not mandatory. The customer decides whether the element is used.

• When the element is not provided, default parameters are set.

• If the PointOfSale/AgentIdentification/PserudoCityCode is not provided, it is retrieved from gds.sabre.command.pos.

• This element influences the response by providing different offers and prices. Consequently, if incorrect data is entered, the system does not return any results.

• Additional validation is performed if more than three (3) characters are provided in the request. An error is returned in the response.

Element type

sec:PointOfSale (optional)

Example

<sec2:PointOfSale>

<sec2:BusinessTransactionType>...</sec2:BusinessTransactionType>

<sec2:DistributionChannel name="...">...</sec2:DistributionChannel>

<sec2:Identifier>...</sec2:Identifier>

<sec2:Country>...</sec2:Country>

<sec2:AgentIdentification>... </sec2:AgentIdentification>

<sec2:ServerInfo>... </sec2:ServerInfo>

<sec2:BrowserInfo>... </sec2:BrowserInfo>

</sec2:PointOfSale>

SeatMap API: GetSeatMap GetSeatMap December 2017 11 Confidential and Proprietary Sabre Inc.

4.2.3 SeatMapContext

The SeatMapContext element is used to customize the response for a shopping request such as currency, loyalty account details, seat availability and selection, etc. Note that general context can be sent in all services.

Element type

smps:SeatMapContext

Example

<smps:SeatMapContext>

<smps:Currency>USD</smps:Currency>

<smps:RecordLocator>NZLZAO</smps:RecordLocator>

<smp:Passengers>

<smp:SeatMapPassenger>

<sec:Passenger id="p1">

<sec:PersonName>

<sec:First>Sandra</sec:First>

<sec:Last>Rogers</sec:Last>

</sec:PersonName>

<sec:LoyaltyAccount memberAirline="K0" memberId="300053951120">

<sec:LoyaltyTierLevel>

<sec:Name>Guest Silver</sec:Name>

<sec:Number>5</sec:Number>

<sec:Tag>BAS</sec:Tag>

</sec:LoyaltyTierLevel>

</sec:LoyaltyAccount>

</sec:Passenger>

</smp:SeatMapPassenger>

<smp:SeatMapPassenger>

<sec:Passenger id="p2">

<sec:PersonName>

<sec:First>Leanne</sec:First>

<sec:Last>Carter Taylor</sec:Last>

</sec:PersonName>

<sec:LoyaltyAccount memberAirline="K0" memberId="100092048184">

<sec:LoyaltyTierLevel>

<sec:Name>Guest Gold</sec:Name>

<sec:Number>5</sec:Number>

<sec:Tag>GLD</sec:Tag>

</sec:LoyaltyTierLevel>

</sec:LoyaltyAccount>

</sec:Passenger>

</smp:SeatMapPassenger>

</smp:Passengers>

</smps:SeatMapContext>

4.2.4 SearchCriteria

The SearchCriteria element allows the user to perform a search specific to this service.

SeatMap API: GetSeatMap GetSeatMap December 2017 12 Confidential and Proprietary Sabre Inc.

Element type

smps: SearchCriteria (mandatory)

Example

<smps:SearchCriteria>

<smp:Segment>

<smp:Airline>K0</smp:Airline>

<smp:FlightNumber>399</smp:FlightNumber>

<smp:DepartureAirport>AUH</smp:DepartureAirport>

<smp:ArrivalAirport>DOH</smp:ArrivalAirport>

<smp:OperatingAirline>K0</smp:OperatingAirline>

<smp:OperatingFlightNumber>399</smp:OperatingFlightNumber>

<smp:DepartureDate>2016-06-20</smp:DepartureDate>

<smp:BookingClass>Y</smp:BookingClass>

</smp:Segment>

</smps:SearchCriteria>

4.2.5 SeatMapRetrievalOptions

The SeatMapRetrievalOptions element is a set of options that control the form of the response.

Element type

smps: SeatMapRetrievalOptions (mandatory)

Example

<smps:SeatMapRetrievalOptions>

<smps:Context>BOOKING</smps:Context>

<smps:PricingOptions include="false"/>

</smps:SeatMapRetrievalOptions>

4.3 GetSeatMap response

The GetSeatMap response consists of the following elements:

• Context

• Passengers

• SeatMap

• PriceRange

• ConversionRules

• GetSeatMapResults

4.3.1 Context

The Context element is common to both the request and the response. Please refer to section 4.2.1 Context for details.

SeatMap API: GetSeatMap GetSeatMap December 2017 13 Confidential and Proprietary Sabre Inc.

4.3.2 Passengers

The Passengers element provides a list of passengers used to customize returned seat map availability and prices. Depending on the underlying configuration and downline systems, the customization can be done by a:

• Passenger type (ADULT, CHILD)

• Loyalty account tier level

• Combination of passenger type and loyalty account tier level.

For pricing in POINTS, to properly convert currency to points, a corresponding passenger fare is required. Based on the number of passengers passed and the underlying configuration, one (1) or more seat maps can be returned. Moreover, each seat map can also be applicable to one (1) or more passengers. Passenger details can also include type and number of passengers. Note, however:

• Multiple elements are allowed

• Each element is specific to a passenger type

• Total number of requested passengers for all types cannot exceed 99

• The number of requested passengers for each type cannot exceed 99

• Passenger types cannot be duplicated.

Element type

smp: Passengers

Example

<smp:Passengers>

<smp:SeatMapPassenger id="smp1">

<sec:Passenger id="p1">

<sec:PersonName>

<sec:First>Sandra</sec:First>

<sec:Last>Rogers</sec:Last>

</sec:PersonName>

<sec:LoyaltyAccount memberAirline="K0" memberId="300053951120">

<sec:LoyaltyTierLevel>

<sec:Name>Guest Silver</sec:Name>

<sec:Number>5</sec:Number>

<sec:Tag>BAS</sec:Tag>

</sec:LoyaltyTierLevel>

</sec:LoyaltyAccount>

</sec:Passenger>

</smp:SeatMapPassenger>

<smp:SeatMapPassenger id="smp2">

<sec:Passenger id="p2">

<sec:PersonName>

<sec:First>Leanne</sec:First>

<sec:Last>Carter Taylor</sec:Last>

</sec:PersonName>

<sec:LoyaltyAccount memberAirline="K0" memberId="100092048184">

<sec:LoyaltyTierLevel>

SeatMap API: GetSeatMap GetSeatMap December 2017 14 Confidential and Proprietary Sabre Inc.

<sec:Name>Guest Gold</sec:Name>

<sec:Number>5</sec:Number>

<sec:Tag>GLD</sec:Tag>

</sec:LoyaltyTierLevel>

</sec:LoyaltyAccount>

</sec:Passenger>

</smp:SeatMapPassenger>

</smp:Passengers>

4.3.3 SeatMap

The SeatMap element provides a list of specific seat map types returned by the service.

Element type

smp:SeatMap (repeat 1000)

Example

<smp:SeatMap id="sm1">

<smp:Segment id="s1">

<smp:Airline>K0</smp:Airline>

<smp:FlightNumber>395</smp:FlightNumber>

<smp:DepartureAirport>AUH</smp:DepartureAirport>

<smp:ArrivalAirport>DOH</smp:ArrivalAirport>

<smp:OperatingAirline>K0</smp:OperatingAirline>

<smp:OperatingFlightNumber>395</smp:OperatingFlightNumber>

<smp:DepartureDate>2015-07-15</smp:DepartureDate>

<smp:BookingClass>J</smp:BookingClass>

<smp:Equipment>320</smp:Equipment>

</smp:Segment>

<smp:RequestedSegment>

<smp:Airline>K0</smp:Airline>

<smp:FlightNumber>395</smp:FlightNumber>

<smp:DepartureAirport>AUH</smp:DepartureAirport>

<smp:ArrivalAirport>DOH</smp:ArrivalAirport>

<smp:OperatingAirline>K0</smp:OperatingAirline>

<smp:OperatingFlightNumber>395</smp:OperatingFlightNumber>

<smp:DepartureDate>2015-07-15</smp:DepartureDate>

<smp:BookingClass>J</smp:BookingClass>

</smp:RequestedSegment>

<smp:Cabin>

<smp:Column id="C1" name="A">

<smp:Characteristic>WINDOW</smp:Characteristic>

</smp:Column>

<smp:Column id="C2" name="C">

<smp:Characteristic

location="RIGHT">AISLE</smp:Characteristic>

</smp:Column>

<smp:Column id="C3" name="D">

<smp:Characteristic

location="LEFT">AISLE</smp:Characteristic>

SeatMap API: GetSeatMap GetSeatMap December 2017 15 Confidential and Proprietary Sabre Inc.

</smp:Column>

<smp:Column id="C4" name="F">

<smp:Characteristic>WINDOW</smp:Characteristic>

</smp:Column>

<smp:Row number="1" deck="MAIN">

<smp:Slot columnRef="C1">

<smp:Seat number="1A" status="AVAILABLE"

chargeable="false" priorityHold="false"/>

</smp:Slot>

<smp:Slot columnRef="C2">

<smp:Seat number="1C" status="AVAILABLE"

chargeable="false" priorityHold="false">

<smp:Designation>PASSENGER_WITH_INFANT</smp:Designation>

</smp:Seat>

<smp:Position>CENTER</smp:Position>

</smp:Slot>

<smp:Slot columnRef="C3">

<smp:Seat number="1D" status="AVAILABLE"

chargeable="false" priorityHold="false">

<smp:Designation>PASSENGER_WITH_INFANT</smp:Designation>

</smp:Seat>

<smp:Position>CENTER</smp:Position>

</smp:Slot>

<smp:Slot columnRef="C4">

<smp:Seat number="1F" status="AVAILABLE"

chargeable="false" priorityHold="false"/>

</smp:Slot>

</smp:Row>

<smp:Row number="2" deck="MAIN">

<smp:Slot columnRef="C1">

<smp:Seat number="2A" status="AVAILABLE"

chargeable="false" priorityHold="false">

<smp:Designation>PASSENGER_WITH_INFANT</smp:Designation>

</smp:Seat>

<smp:Position>CENTER</smp:Position>

</smp:Slot>

<smp:Slot columnRef="C2">

<smp:Seat number="2C" status="AVAILABLE"

chargeable="false" priorityHold="false"/>

</smp:Slot>

<smp:Slot columnRef="C3">

<smp:Seat number="2D" status="AVAILABLE"

chargeable="false" priorityHold="false"/>

</smp:Slot>

<smp:Slot columnRef="C4">

<smp:Seat number="2F" status="AVAILABLE"

chargeable="false" priorityHold="false">

SeatMap API: GetSeatMap GetSeatMap December 2017 16 Confidential and Proprietary Sabre Inc.

<smp:Designation>PASSENGER_WITH_INFANT</smp:Designation>

</smp:Seat>

<smp:Position>CENTER</smp:Position>

</smp:Slot>

</smp:Row>

</smp:Cabin>

</smp:SeatMap>

4.3.4 PriceRange

The PriceRange element provides a configured price range that includes both minimum and maximum currency amounts.

Price zones are determined and PriceRange blocks are created based on the seat prices. A maximum of nine (9) price zones can be created.

Element type

smp:PriceRange (repeat 9)

Example

<smp:PriceRange id="pr1">

<smp:Index>1</smp:Index>

<smp:MinPrice>21</smp:MinPrice>

<smp:MaxPrice>30</smp:MaxPrice>

<smp:Currency>USD</smp:Currency>

</smp:PriceRange>

4.3.5 ConversionRules

The ConversionRules element has been configured to provide details that convert loyalty points/miles into a monetary amount. This element provides all required data to allow dynamic recalculation of the returned amounts into loyalty points based on user inputs. The calculation is based on the monetary amount/ratio. The result is adjusted to the designated scaling mode and rounded, if required.

Element type

sec:ConversionRules

Example

<sec:ConversionRules>

<sec:ScalingMode>NEAREST_100</sec:ScalingMode>

<sec:RoundingMode>HALF_DOWN</sec:RoundingMode>

</sec:ConversionRules>

4.3.6 GetSeatMapResults

The GetSeatMapResults element is a data structure that provides a method to return a status (errors/warnings/success) reported by the SeatMap operation. It also provides a direct reference to the SeatMap to which it is linked.

SeatMap API: GetSeatMap GetSeatMap December 2017 17 Confidential and Proprietary Sabre Inc.

Element type

smps:GetSeatMapResults

Example

<smps:GetSeatMapResults>

<smps:GetSeatMapResult seatMapRef="sm1">

<svc:Status type="SUCCESS"/>

</smps:GetSeatMapResult>

</smps:GetSeatMapResults>

4.4 Error handling

An error scenario for the GetSeatMap operation is shown in the table below.

Error code Sub-code or Message

INCORRECT_LOYALTY_ACCOUNT_DATA PersonName and LoyaltyAccount do not match

4.5 Warnings

Warning scenarios for the GetSeatMap operation are shown in the table below.

Warning code Sub-code or Message

CODESHARE_SEATMAP_UNAVAILABLE Codeshare seat map is unavailable

INTERLINE_SEATMAP_UNAVAILABLE Interline seat map is unavailable

SEATMAP_UNAVAILABLE Seat map is not available

NO_SEATS_AVAILABLE No seats are available

PARAMETERS_NOT_SUPPORTED_FOR_PRICING_METHOD

Itinerary and FareBreakdown are ignored for seat pricing in the specified currency

NO_PAID_SEATS_ON_FLIGHT Seat pricing has been requested, but there are no paid seats available on the flight

MISSING_LOYALTY_CONVERSION_DATA Unable to retrieve Loyalty Conversion data

UNABLE_TO_VERIFY_USER_PROFILE Passenger profile verification failed

UNABLE_TO_RETRIEVE_USER_PROFILE Unable to retrieve passenger profile

UNABLE_TO_APPLY_RETAILING_RULES Unable to apply retailing rules

PRICE_RANGES_COULD_NOT_BE_CALCULATED Price ranges could not be returned. Usually due to missing configuration (default currency or it's price ranges)

INADEQUATE_PAID_SEATS_ON_FLIGHT Premium seats are not available for all the passengers with seat bundle

SeatMap API: GetSeatMap GetSeatMap December 2017 18 Confidential and Proprietary Sabre Inc.

4.6 Index

4.6.1 SearchCriteria (Composite)

Search criteria specific to this service

Elements

Segment type: smp:Segment (repeat 200)

Flight segment for which the seat map is requested. This could also include the segment description associated with the seat map returned in the response. It is mandatory when the SeatMapContext RecordLocator element is missing; it is optional when the SeatMapContext RecordLocator element is present. The seat map is returned for all un-flown flights in the reservation when Segment elements are missing, or it is returned only for the segment specified in the search criteria. In addition, it could also pertain to a flight segment(s) to which ancillary pricing parameters apply.

SeatStatus type: smp:Enum_SeatStatus (repeat 3)

Response returned when seat availability is requested

4.6.2 GetSeatMapResults (Composite)

Data structure that provides a method to return a status (errors/warnings/success) reported by the SeatMap service. It also provides a direct reference to the SeatMap to which it is linked.

Elements

GetSeatMapResult type: smps:GetSeatMapResult (mandatory, repeat 1000)

List of returned SeatMap results

4.6.3 GetSeatMapResult (Composite)

List of returned SeatMap results

Attributes

seatMapRef type: smp:SeatMap (mandatory)

XML reference to the SeatMap to which this result is linked

Elements

Status type: svc:Status (mandatory, repeat 20)

Description of seat map issues encountered

Supported Warning/Error statuses

Code Type Status or Message

CODESHARE_SEATMAP_UNAVAILABLE Warning Codeshare seat map is unavailable

INTERLINE_SEATMAP_UNAVAILABLE Warning Interline seat map is unavailable

SEATMAP_UNAVAILABLE Warning Seat map is not available

SeatMap API: GetSeatMap GetSeatMap December 2017 19 Confidential and Proprietary Sabre Inc.

Code Type Status or Message

NO_SEATS_AVAILABLE Warning No seats are available

PARAMETERS_NOT_SUPPORTED_FOR_PRICING_METHOD

Warning Itinerary and FareBreakdown are ignored for seat pricing in the specified currency

NO_PAID_SEATS_ON_FLIGHT Warning Seat pricing has been requested, but there are no paid seats available on the flight

INCORRECT_LOYALTY_ACCOUNT_DATA Error PersonName and LoyaltyAccount do not match

MISSING_LOYALTY_CONVERSION_DATA Warning Unable to retrieve Loyalty Conversion data

UNABLE_TO_VERIFY_USER_PROFILE Warning Passenger profile verification failed

UNABLE_TO_RETRIEVE_USER_PROFILE Warning Unable to retrieve passenger profile

UNABLE_TO_APPLY_RETAILING_RULES Warning Unable to apply retailing rules

PRICE_RANGES_COULD_NOT_BE_ CALCULATED

Warning Price ranges could not be returned. Usually due to missing configuration (default currency or its price ranges).

INADEQUATE_PAID_SEATS_ON_FLIGHT Warning Number of premium seats are not available for all passengers with seat bundle.

OPERATING_AIRLINE_ADJUSTED Warning Operating airline from a request has been adjusted to comply with regulations of Department of Transportation to present disclosure airline as operating airline.

4.6.4 SeatMapContext (Composite)

Seat map-specific context provided in the element to customize the response for a shopping request such as currency, loyalty account details, seat availability and selection, etc. Note that general context can be sent in all services.

Elements

Currency type: sec:Code_Currency

Currency code. If specified, all returned prices are converted to this currency.

RecordLocator type: sec: RecordLocator

Code assigned to a passenger to identify an existing reservation. When requested, passenger details and their itinerary are retrieved and displayed.

Passengers type: smp:Passengers

List of passengers used to customize returned seat map availability and prices. Depending on the underlying configuration and downline systems, the customization can be done by a:

o Passenger type (ADULT, CHILD)

o Loyalty account tier level

o Combination of passenger type and loyalty account tier level.

For pricing in POINTS, to properly convert currency to points, a corresponding passenger fare is required. Based on the number of passengers passed and the underlying configuration, one (1) or

SeatMap API: GetSeatMap GetSeatMap December 2017 20 Confidential and Proprietary Sabre Inc.

more seat maps can be returned. Moreover, each seat map can also be applicable to one (1) or more passengers. Passenger details can also include type and number of passengers. Note, however:

o Multiple elements are allowed

o Each element is specific to a passenger type

o Total number of requested passengers for all types cannot exceed 99

o The number of requested passengers for each type cannot exceed 99

o Passenger types cannot be duplicated.

Itinerary type: smp:Itinerary

Itinerary consisting of itinerary parts and fare breakdowns

4.6.5 SeatMapRetrievalOptions (Composite)

Set of options that control the form of the response

Elements

Context type: sec:Enum_RetrievalContext (mandatory)

Retrieval options used to indicate which data should be returned in addition to the standard set of options, using the applicable downline systems.

PricingOptions type: smps:PricingOptions

Set of options that control the form of the pricing result in the response

BlockPaidSeats type: Boolean

Flag that determines the status of a paid seat. If set to TRUE, the paid seats are returned with either:

o BLOCKED, if the seats are not occupied

o OCCUPIED, if the seats are occupied. All seat prices (if they apply) are returned.

AggregatePassengerSeatData type: Boolean

Flag that determines whether the payload size of the Service Engine GetSeatMap response is reduced by extracting all passenger-specific information from each seat into separate PassengerSeatDetail blocks. This allows the user to have a single seat map per segment.

When the AggregatePassengerSeatData flag is set to TRUE, seats in the PassengerDetails section can return PassengerRefs, a SeatPrice with a PriceRef, SeatEntitlement, etc., for every passenger.

4.6.6 PricingOptions (Composite)

Set of options that control the form of the pricing result in the response. By default, if this element does not exist, seat prices are not returned. If this element does exist, and the PricingOptions Include element is set to TRUE, and the PricingOptions Redemption element is set to FALSE or not specified, then seat prices are returned in the form of currency by default.

SeatMap API: GetSeatMap GetSeatMap December 2017 21 Confidential and Proprietary Sabre Inc.

Seat pricing in the form of currency attempts to return seat prices in the currency specified in the SeatMapContext Currency element. Seat pricing in the form of loyalty points are returned in both the currency and loyalty points applying the conversion ratio between the currency and the points.

Notes

• If seat pricing is requested in the form of currency and the Itinerary element is provided, the following Warning is returned:

PARAMETERS_NOT_SUPPORTED_FOR_PRICING_METHOD

• If seat pricing is requested in the form of currency or loyalty points, but a flight does not have any paid seats, the following Warning is returned:

NO_PAID_SEATS_ON_FLIGHT

• If seat pricing is requested in loyalty points but the points and conversion ratio cannot be computed, the following Warning is returned:

MISSING_LOYALTY_CONVERSION_DATA

Attributes

include type: Boolean (mandatory)

Flag that indicates whether to include seat prices in the response. By default, this value is FALSE. In addition, the PricingOptions Type element is forbidden and returns an error.

Elements

IncludePriceRanges type: Boolean

Flag that indicates whether seat price ranges are returned (if configured) and linked with appropriate ranges, if set to TRUE.

Redemption type: Boolean

Flag indicating whether redemption pricing or LoyaltyConversion data can be applied to this operation, if set to TRUE. It can also determine whether an ancillary is refundable, and is used only in the response.

4.6.7 Enum_RevenueType (ClosedEnumeration)

Type of passenger from a revenue standpoint. There are basically three (3) groups of passengers:

• Regular passengers that generate revenue for the airline; they are represented as REVENUE types.

• Passengers that do not generate revenue, and are typically airline employees traveling on company business; they are represented as NON_REVENUE_POSITIVE_SPACE types.

• Passengers that do not generate revenue, and are typically airline employees on personal travel that are wait-listed for a flight; they are represented as NON_REVENUE_STAND_BY types.

Seat pricing in the form of either currency or points is supported only for REVENUE type passengers.

SeatMap API: GetSeatMap GetSeatMap December 2017 22 Confidential and Proprietary Sabre Inc.

Notes

• For NON_REVENUE_POSITIVE_SPACE type passengers, paid seats are blocked.

• For NON_REVENUE_STAND_BY type passengers, a seat map is not available and returns an error in the response.

• For REVENUE passengers, seat map features are available.

Literals

REVENUE

NON_REVENUE_POSITIVE_SPACE

NON_REVENUE_STAND_BY

4.6.8 SeatMap (Composite)

Aircraft seat map linked with available pricing options

Elements

PassengerRefs type: smp:SeatMapPassenger (repeat unbounded)

If present, this element identifies the passengers for whom a seat map applies. This is especially important if more than one (1) seat map is returned, and each contains different seat prices and seat availability, customized per loyalty account tier level or passenger type.

If absent, only one (1) seat map is returned. This occurs when SeatMapContext is not provided in the request. Consequently, there is no need for any passenger-level customizations.

Segment type: smp:Segment

Flight segment for which the seat map is requested. This could also include the segment description associated with the seat map returned in the response. It is mandatory when the SeatMapContext RecordLocator element is missing; it is optional when the SeatMapContext RecordLocator element is present. The seat map is returned for all un-flown flights in the reservation when Segment elements are missing, or it is returned only for the segment specified in the search criteria. In addition, it could also pertain to a flight segment(s) to which ancillary pricing parameters apply.

RequestedSegment type: smp:Segment (mandatory)

Requested flight segment to which a seat map is attached. Note, however, that in some cases, more than one seat map can be returned if there is a Change of Gauge (COG).

Cabin type: smp:Cabin (repeat 9)

Seat map cabin

Pricing type: smp:Pricing

Available pricing options if paid seats are present in the seat map

SmokingAllowed type: Boolean

Indicator that determines whether smoking is permitted on the flight

PassengerSeatDetails type: smp:PassengerSeatDetails

Contains smp:SeatPassengerData elements (unbounded)

SeatMap API: GetSeatMap GetSeatMap December 2017 23 Confidential and Proprietary Sabre Inc.

4.6.9 PassengerSeatDetails (Composite)

Wrapping element for PassengerSeatDetails that include price, ancillaries, loyalty status, etc.

Elements

PassengerSeatDetail type: smp:PassengerSeatDetail (mandatory, repeat unbounded)

4.6.10 PassengerSeatDetail

Passenger-specific data, such as price, entitlement, etc.

Elements

PassengerRefs type: Reference to: smp:SeatMapPassenger (repeat unbounded)

Reference to SeatMap passengers

SeatPrice type: smp:SeatPrice (repeat unbounded)

List of seats with prices separated by a whitespace

SeatFeeWiaver type: smp:SeatFeeWiaver (repeat unbounded)

Details of the fee waiver rule appliance. When the rule result is TRUE, then a paid seat is available at no charge.

SeatEntitlement type: smp:SeatEntitlement (repeat unbounded)

List of whitespace-separated seat numbers for seats designated with an Entitlement rule

4.6.11 SeatPrice (Composite)

Elements

SeatNumbers type: smp:SeatNumbers

PriceRef type: smp:PriceRef

4.6.12 SeatNumbers (Composite)

List of seat numbers separated by white spaces

4.6.13 SeatFeeWiaver (Composite)

List of whitespace-separated seat numbers for seats designated with a FeeWaiver rule

Elements

SeatNumbers type: smp:SeatNumbers

ruleId type: String

SeatMap API: GetSeatMap GetSeatMap December 2017 24 Confidential and Proprietary Sabre Inc.

4.6.14 SeatEntitlement (Composite)

Elements

SeatNumbers type: smp:SeatNumbers

ruleId type: String

entitled type: Boolean

4.6.15 Cabin (Composite)

Seat map cabin

Elements

BookingClass type: sec:Code_BookingClass (mandatory)

Cabin booking class code, also known as RBD (Reservations/Booking Designator) that contains one uppercase alpha character. If the code is not specified, seat maps for all booking classes are retrieved.

Column type: smp:Column (repeat 20)

Space designated as a column on the deck of the aircraft cabin. For example, all seats at the window on the left side of the aircraft are considered to be in the same column.

Row type: smp:Row (repeat 100)

Row location and identifier within the aircraft

4.6.16 Column (Composite)

Space designated as a column on the deck of the aircraft cabin. For example, all seats at the window on the left side of the aircraft are considered to be in the same column.

Attributes

name type: sec:TinyString (mandatory)

Alpha character that identifies a column in the aircraft cabin

Examples: A, B, C

Elements

CustomCharacteristic type: smp:Code_CustomCharacteristic (repeat 10)

Custom characteristic that is specific to a location within the aircraft cabin, if applicable.

Characteristic type: smp:ColumnCharacteristic (repeat 5)

Specific location characteristic on the deck of the aircraft cabin. Column characteristics include WINDOW, AISLE, or CENTER. Row characteristics include EXIT, WING, or SPACE.

SeatMap API: GetSeatMap GetSeatMap December 2017 25 Confidential and Proprietary Sabre Inc.

4.6.17 Row (Composite)

Row location and identifier within the aircraft

Attributes

number type: sec:TinyString

Numeric identifier of a row that is located in the aircraft cabin

Examples: 1, 10, 12, 25, etc.

notPresent type: Boolean

Flag indicating whether a row is actually present in the aircraft cabin

deck type: smp:Code_Deck

Deck code assigned to a multi-deck aircraft. If not specified, the row is located on the main deck of the aircraft cabin. If the aircraft contains an upper deck, the UPPER code is specified.

Elements

Slot type: smp:Slot (repeat 20)

Space within the aircraft cabin identified by a column and row coordinate. This space can be occupied by either a seat, facility, or both.

Characteristic type: smp:Enum_RowCharacteristic (repeat 5)

Specific location characteristic on the deck of the aircraft cabin. Column characteristics include WINDOW, AISLE, or CENTER. Row characteristics include EXIT, WING, or SPACE.

CustomCharacteristic type: smp:Code_CustomCharacteristic (repeat 10)

Custom characteristic that is specific to a location within the aircraft cabin, if applicable.

4.6.18 Slot (Composite)

Space within the aircraft cabin identified by a column and row coordinate. This space can be occupied by either a seat, facility, or both.

Attributes

columnRef type: smp:Column

XML reference to a column in the aircraft cabin

Elements

Seat type: smp:Seat

Seat description, which is present if an actual seat occupies the slot

Facility type: smp:Facility (repeat 20)

Space within the aircraft designated as a facility, which can also include its location and facility type

Position type: smp:Enum_ColumnCharacteristic

Horizontal position of the slot location on the deck of the aircraft. In some cases, this entry can override the column location characteristic with a different value. For example, if a row is

SeatMap API: GetSeatMap GetSeatMap December 2017 26 Confidential and Proprietary Sabre Inc.

missing some seats, a seat that would otherwise be described as an aisle seat, is actually a window seat. Another example is for seats that are neither aisle nor window seats; they are described as center seats.

CustomCharacteristic type: smp:Code_CustomCharacteristic (repeat 10)

Custom characteristic that is specific to a location within the aircraft cabin, if applicable.

4.6.19 Seat (Composite)

Seat description, which is present if an actual seat occupies a slot in the aircraft cabin

Attributes

number type: sec:SeatNumber (mandatory)

Seat number, which is a combination of the column and row number that identifies the slot occupied by the seat, such as 1A, 26B, etc.

status type: smp:Enum_SeatStatus

Current status of a seat in the aircraft cabin

blockCode type: string

Code indicating the reason a seat is blocked

chargeable type: Boolean

Code indicating whether a seat is chargeable. If priceRef is present, the chargeable element must be set to TRUE. If priceRef is missing and the chargeable element is set to TRUE, pricing information about the seat is not returned.

priceRef type: smp:Price

XML reference to the seat price. If present, the chargeable element must be set to TRUE.

rearFacing type: Boolean

Code indicating whether a seat faces the rear of the aircraft, such as the jump-seat

priorityHold type: Boolean

Indicator that determines whether a seat contains a priority hold for specific tier-level or full-fare customer

Elements

Limitation type: smp:Enum_SeatLimitation (repeat 20)

Limitations related to a seat that can affect passenger seat selection, such as an exit-row seat

Designation type: smp:Enum_SeatDesignation (repeat 20)

Recommendations and designations related to the seat selection based on passenger type

BrandType type: sec:String_From1to35

Supporting description that could be returned when a seat is branded based on additional services. Seat brand names can differ between carriers, but for clarity, they should be included as part of the configuration. For example, these seats could be identified as PREMIUM, SUPER_PREMIUM, ULTRA_PREMIUM, etc.

SeatMap API: GetSeatMap GetSeatMap December 2017 27 Confidential and Proprietary Sabre Inc.

FeeWaiver type: smp:RuleResult

Code indicating whether a fee waiver rule applies to a seat. If set to TRUE, the fee for a paid seat is waived.

Entitlement type: smp:RuleResult

Code indicating whether an entitlement rule applies to a seat. If set to TRUE, the passenger is permitted to book the seat (assuming no other rules prohibit the booking).

4.6.20 Facility (Composite)

Space within the aircraft designated as a facility, which can also include its location and facility type

Attributes

type type: smp:Enum_FacilityType (mandatory)

Facility type, such as galley, lavatory, etc.

location type: smp:Enum_LocationType

Specific location within the aircraft cabin

4.6.21 Enum_LocationType (ClosedEnumeration)

Facility location within the aircraft cabin

Literals

LEFT

RIGHT

CENTER

LEFT_CENTER

RIGHT_CENTER

4.6.22 Enum_SeatStatus (ClosedEnumeration)

Response returned when seat availability is requested

Literals

AVAILABLE

Seat is available and can be selected

OCCUPIED

Seat is already occupied and cannot be selected

BLOCKED

Seat is blocked and cannot be selected

SeatMap API: GetSeatMap GetSeatMap December 2017 28 Confidential and Proprietary Sabre Inc.

4.6.23 Enum_ColumnCharacteristic (ClosedEnumeration)

Characteristics that describe the column location

Literals

WINDOW

Column is located at the window

AISLE

Column is located at the aisle

CENTER

Column is located in the center position between two slots

WINDOW_AND_AISLE

Column is located both at the window and at the aisle (common on a smaller aircraft)

4.6.24 Enum_RowCharacteristic (ClosedEnumeration)

Characteristics that describe the row location

Literals

EXIT

Row is located at aircraft exit

WING

Row is located on aircraft wing

SPACE

Row is an empty space

4.6.25 Enum_FacilityType (ClosedEnumeration)

Facility type

Literals

BULKHEAD

BULKHEAD_WITH_MOVIE_SCREEN CLOSET

EXIT_DOOR

GALLEY

LAVATORY

PREFERRED_ACCESS_LAVATORY

MOVIE_SCREEN

INDIVIDUAL_MOVIE_SCREEN_WITH_CHOICE

INDIVIDUAL_MOVIE_SCREEN_WITHOUT_CHOICE

SeatMap API: GetSeatMap GetSeatMap December 2017 29 Confidential and Proprietary Sabre Inc.

AIR_PHONE

INDIVIDUAL_AIRPHONE

BAR

EMERGENCY_EXIT

LUGGAGE_STORAGE

STORAGE_SPACE

STAIRS

TABLE

HANDICAPPED_FACILITY

BASSINET

SHOWER

LOUNGE

PRAYER_ROOM

LEG_REST

ELECTRONICS_CONNECTION

EXTRA_COMFORT

EXTRA_LEG_SPACE

EXTRA_OXYGEN_MASK

MOVIE_VIEW

4.6.26 Code_CustomCharacteristic (Scalar)

Base type: string

Custom characteristics that describe a column, row, or seat location

4.6.27 Pricing (Composite)

Available pricing options if paid seats are present on the seat map

Elements

Price type: smp:Price (mandatory, repeat 1000)

List of seat prices. This structure is present if paid seats are configured for the aircraft and booking class

SeatMap API: GetSeatMap GetSeatMap December 2017 30 Confidential and Proprietary Sabre Inc.

4.6.28 PriceRange (Composite)

Configured price range that includes both minimum and maximum currency amounts

Elements

Index type: integer (mandatory)

Price range order indicator

MinPrice type: sec:Amount (mandatory)

Minimum price range boundary

MaxPrice type: sec:Amount (mandatory)

Maximum price range boundary

Currency type: sec:Code_Currency (mandatory)

Code identifying the currency used in this price range

4.6.29 Price (Composite)

List of seat prices. This structure is present if paid seats are configured for the aircraft and booking class.

ElementsCode_AncillarySubCode (Scalar)

AncillarySubCode type: sec:Code_AncillarySubCode

Code used to book a corresponding seat with an ancillary

AncillaryFee type: anc:AncillaryFee

Ancillary pricing option. An ancillary can have multiple pricing variations depending on the passenger type, loyalty, rules, etc.

PriceRangeRef type: smp:PriceRange (optional)

Price range reference for a requested seat in the aircraft. This value is returned when the IncludePriceRanges element is set to TRUE in the request.

4.6.30 Segment (Composite)

Flight segment for which the seat map is requested. This could also include the segment description associated with the seat map returned in the response. It is mandatory when the SeatMapContext RecordLocator element is missing; it is optional when the SeatMapContext RecordLocator element is present. The seat map is either returned for all un-flown flights in the reservation when Segment elements are missing, or it is returned only for the segment specified in the search criteria. In addition, it could also pertain to a flight segment(s) to which ancillary pricing parameters apply.

Aliases

RequestedSegment

SeatMap API: GetSeatMap GetSeatMap December 2017 31 Confidential and Proprietary Sabre Inc.

Elements

Airline type: sec:Code_Airline (mandatory)

Marketing airline code

Example: PG

FlightNumber type: sec:FlightNumber (mandatory)

Flight number provided by the marketing airline

DepartureAirport type: sec:Code_Airport (mandatory)

Origin of the flight

Example: KRK

ArrivalAirport type: sec:Code_Airport (mandatory)

Destination of the flight

Example: DFW

OperatingAirline type: sec:Code_Airline

Operating airline code, which could be different from the marketing airline code

OperatingFlightNumber type: sec:FlightNumber

Flight number of the operating airline, which could be different from the marketing airline

DisclosureAirline type: sec:Code_Airline Code that identifies (discloses) the codeshare airline that operates the flight. This code can be different from the marketing or operating airline codes.

DepartureDate type: date (mandatory)

Departure date

DepartureTime type: time

Departure time

ArrivalDate type: date

Arrival date

ArrivalTime type: time

Arrival time

BookingClass type: sec:Code_BookingClass

Cabin booking class code, also known as RBD (Reservations/Booking Designator) that contains one uppercase alpha character. If the code is not specified, seat maps for all booking classes are retrieved.

Equipment type: sec:Code_AircraftType

Code identifying the type of equipment used for the flight

SeatMap API: GetSeatMap GetSeatMap December 2017 32 Confidential and Proprietary Sabre Inc.

CabinClass type: sec:Enum_CabinClass

Cabin class, such as ECONOMY, BUSINESS, etc. Multiple classes can be requested, however only a single cabin class is currently supported. Although, this attribute is optional, it must be provided in almost all cases; otherwise, an error is returned. The exception is that the cabin class should not be provided for legacy redemption shopping.

4.6.31 Code_Deck (Scalar)

Base type: string

Deck code assigned to a multi-deck aircraft. If not specified, the row is located on the main deck of the aircraft cabin. If the aircraft contains an upper deck, the UPPER code is specified.

4.6.32 ColumnCharacteristic (ValueWithAttributes)

Base type: string

Characteristics that describe the column location

Attributes

location type: smp:Enum_LocationType

Specific location within the aircraft cabin

4.6.33 Code_SeatBooking (Scalar)

Base type: string

Alphanumeric values are allowed. Minimum length is one (1) and maximum length is 20.

4.6.34 Enum_SeatLimitation (ClosedEnumeration)

Literals

NEXT_TO_EXIT_DOOR

Seat could require passenger intervention if there is an air emergency. If a passenger is not willing to perform additional duties in the event of an emergency, the seat assignment can be declined.

NOT_SUITABLE_FOR_CHILD

Seat is not suitable for a child passenger

NO_MOVIE_VIEW

Seat does not have a movie view

RESTRICTED_RECLINE

Seat is unable to recline

NOT_ALLOWED_FOR_INFANT

Seat is not permitted for a passenger travelling with an infant. In the event of an emergency, there could be insufficient means to sustain both the adult and the infant.

SeatMap API: GetSeatMap GetSeatMap December 2017 33 Confidential and Proprietary Sabre Inc.

NOT_ALLOWED_FOR_PASSENGER_WITH_MEDICAL_CONDITION

Seat is not permitted for passengers with a medical condition

NOT_ALLOWED_FOR_UNACCOMPANIED_MINOR_PASSENGER

Seat is not permitted for unaccompanied minors

NO_WINDOW

Seat does not have a window, even though it is located on the side of the plane

AVAILABLE_CONDITIONALLY

Seat is available only under certain conditions, which should be communicated by the servicing airline

NO_FACILITIES

Seat lacks facilities or amenities that would normally be provided

4.6.35 Enum_SeatDesignation (ClosedEnumeration)

Literals

PASSENGER_WITH_PET

Seat designated for passengers traveling with a pet

PASSENGER_IN_WHEELCHAIR

Seat designated for passengers in a wheelchair

SMOKING_PASSENGER

Seat designated for a smoking passenger

UNACCOMPANIED_MINOR_PASSENGER

Seat designated for (unaccompanied) minor passengers

DEPORTEE_PASSENGER

Seat designated for deportees

PASSENGER_IN_A_GROUP

Seat designated for passenger traveling in a group

PASSENGER_WITH_INFANT

Seat designated for passengers traveling with an infant

LONG_HAUL_JOURNEY

Seat designated for passengers traveling on a long-haul journey

QUIET_ZONE

Seat designated to be in a quiet zone

VACANT_OR_OFFERED_LAST

Seat designated as vacant or to be offered last, typically for airport use at the time of check-in

SeatMap API: GetSeatMap GetSeatMap December 2017 34 Confidential and Proprietary Sabre Inc.

BUFFER_ROW

Seat designated as a buffer to be used if a passenger must be sequestered from other passengers for medical reasons, allergies, etc.

FRONT_OF_CABIN

Seat designated to be present in front of cabin

BLOCKED_SEAT_FOR_PREFERRED_PASSENGER_IN_ADJACENT_SEAT

Seat designated as blocked for a preferred passenger in the adjacent seat

PREFERRED_SEAT_PREFERENTIAL_SEAT

Seat designated as a preferred seat or preferential seat

4.6.36 Itinerary (Composite)

Itinerary consisting of itinerary parts and fare breakdowns

Elements

ItineraryPart type: sec:ItineraryPart (mandatory, repeat 20)

Portion of the itinerary to be searched for which a seat price is requested, or to identify any corresponding ancillaries. ItineraryPart is a mandatory element, particularly if the RecordLocator is missing. If the itinerary part is provided with the RecordLocator, it must reflect the itinerary from the reservation request.

4.6.37 SeatMapPassenger (Composite)

Passenger whose data is used to customize returned seat map availability and prices. The following combinations of elements are supported for pricing in CURRENCY:

• PersonName (first, last and middle), LoyaltyAccount/memberAirline, and LoyaltyAccount/memberId

• PersonName (first, last and middle), LoyaltyAccount/memberAirline, and LoyaltyAccount/memberId, Type

• Type

For pricing in points, PassengerFareRef is required and must correspond to a PassengerFare having the same passenger type as this element.

Elements

Passenger type: sec:Passenger (mandatory)

Passenger for whom an ancillary modification is requested. The modification directly correlates with one or multiple Service Engine Services.

SpecialServiceCodes type: sec:SpecialServiceCodes

IATA-defined Special Service Request (SSR) code list applicable to the sub codes

PassengerSegment type: smp:PassengerSegment (repeat 200)

Segment-specific details related to a passenger

SeatMap API: GetSeatMap GetSeatMap December 2017 35 Confidential and Proprietary Sabre Inc.

AncillaryTravelPortions type: anc:AncillaryTravelPortions

List of ancillary travel portions

PassengerFareRefs type: sec:FareInfo (repeat unbounded)

Fares referenced for a passenger on different segments from the itinerary. If each segment from the itinerary contains one (1) FareInfo element, this reference is optional. If any of the segments from the itinerary contain more than one (1) FareInfo element, the user is required to specify which fare applies to the passenger on all segments. Failing to do so causes a request validation error.

4.6.38 PassengerSegment (Composite)

Details related to a passenger in the context of a segment

Attributes

segmentRef type: smp:Segment (mandatory)

XML reference to the segment. If not present, details in this structure are applicable to all segments.

Elements

RevenueType type: smp:Enum_RevenueType (mandatory)

Type of the passenger from a revenue standpoint. There are three (3) groups of passengers:

o Passengers that generate regular revenue for the airline; they are represented as a REVENUE type

o Passengers that do not generate revenue and are airline employees traveling on company business; they are represented as a NON_REVENUE_POSITIVE_SPACE type

o Passengers that do not generate revenue and are airline employees on personal travel on the stand-by list; they are represented as a NON_REVENUE_STAND_BY type. Seat pricing (in currency and in points) is supported only for REVENUE passengers. For NON_REVENUE_POSITIVE_SPACE type passengers, paid seats are blocked.

Note For NON_REVENUE_STAND_BY passengers, the seat map is not available and an error is returned.

Other seat map features are the same for REVENUE passengers.

SpecialServiceCodes type: sec:SpecialServiceCodes

IATA-defined Special Service Request (SSR) code list applicable to the sub codes

TicketNumber type: sec:TicketNumber

Airline ticket number

FareInfoRef type: sec:FareInfo

Reference used to support a Fare Basis Code per passenger (PAX), per segment (SEG)

SeatMap API: GetSeatMap GetSeatMap December 2017 36 Confidential and Proprietary Sabre Inc.

4.6.39 Passengers (Composite)

List of passengers used to customize returned seat map availability and prices. Depending on the underlying configuration and downline systems, the customization can be done by a:

• Passenger type (ADULT, CHILD)

• Loyalty account tier level

• Combination of passenger type and loyalty account tier level.

For pricing in POINTS, to properly convert currency to points, a corresponding passenger fare is required.

Based on the number of passengers passed and the underlying configuration, one (1) or more seat maps can be returned. Moreover, each seat map can also be applicable to one (1) or more passengers.

Passenger details can also include the type and number of passengers. Note, however:

• Multiple elements are allowed

• Each element is specific to a passenger type

• Total number of requested passengers for all types cannot exceed 99

• The number of requested passengers for each type cannot exceed 99

• Passenger types cannot be duplicated.

Elements

SeatMapPassenger type: smp:SeatMapPassenger (mandatory, repeat 99)

Passenger whose data is used to customize returned seat map availability and prices. The following combinations of elements are supported for pricing in currency:

o PersonName (first, last and middle), LoyaltyAccount/memberAirline, and LoyaltyAccount/memberId

o PersonName (first, last and middle), LoyaltyAccount/memberAirline, and LoyaltyAccount/memberId, Type

o Type For pricing in points, PassengerFareRef is required and must correspond to a PassengerFare having the same passenger type as this Passenger element.

4.6.40 RuleResult (ValueWithAttributes)

Attributes

ruleId type: string

4.6.41 Enum_AncillaryGroup (ClosedEnumeration)

Group of services. Ancillaries are organized into groups established by ATPCO as the industry standard.

SeatMap API: GetSeatMap GetSeatMap December 2017 37 Confidential and Proprietary Sabre Inc.

Literals

BUNDLED_SERVICE

Maps to value BD defined by ATPCO in Appendix A. Bundled service

BAGGAGE

Maps to value BG defined by ATPCO in Appendix A. Baggage

CARBON_OFFSET

Maps to value CO defined by ATPCO in Appendix A. Carbon offset

FREQUENT_FLYER

Maps to value FF defined by ATPCO in Appendix A. Frequent Flyer

GROUND_TRANSPORT_NON_AIR

Maps to value GT defined by ATPCO in Appendix A. Ground transportation and non-air services

IN_FLIGHT_ENTERTAINMENT

Maps to value IE defined by ATPCO in Appendix A. In-flight entertainment

LOUNGE

Maps to value LG defined by ATPCO in Appendix A. Lounge

MEDICAL

Maps to value MD defined by ATPCO in Appendix A. Medical

MEAL_BEVERAGE

Maps to value ML defined by ATPCO in Appendix A. Meal/Beverage

PETS

Maps to value PT defined by ATPCO in Appendix A. Pets

RULE_OVERRIDE

Maps to value RO defined by ATPCO in Appendix A. Rule override

PRE_RESERVED_SEAT

Maps to value SA defined by ATPCO in Appendix A. Pre-reserved seat assignment

STANDBY

Maps to value SB defined by ATPCO in Appendix A. Standby

STORE

Maps to value ST defined by ATPCO in Appendix A. Store

TRAVEL_SERVICES

Maps to value TS defined by ATPCO in Appendix A. Travel services

UNACCOMPANIED_TRAVEL_ESCORTED

Maps to value UN defined by ATPCO in Appendix A. Unaccompanied travel (Escorted)

SeatMap API: GetSeatMap GetSeatMap December 2017 38 Confidential and Proprietary Sabre Inc.

UNACCOMPANIED_TRAVEL_UNESCORTED

Maps to value UU defined by ATPCO in Appendix A. Unaccompanied travel (Unescorted)

RESERVED_98

Maps to value 98 defined by ATPCO in Appendix A.

RESERVED_99

Maps to value 99 defined by ATPCO in Appendix A.

OTHER

Added to support new groups not yet defined in the WS contract

UPGRADES

Maps to value UP defined by ATPCO in Appendix A. Upgrades

4.6.42 ServiceType (ValueWithAttributes)

Code that identifies and describes an ancillary type

Value

value type: anc:Enum_ServiceType

Attributes

code type: string

Associated service type code defined by ATPCO (where applicable)

4.6.43 Enum_ServiceType (ClosedEnumeration)

Literals

FLIGHT_RELATED

Flight related - code F

CHARGES

Charges - code C

BAGGAGE_ALLOWANCE

Baggage allowance - code A

CARRY_ON_BAGGAGE_ALLOWANCE

Carry-on baggage allowance - code B

EMBARGOES

Embargoes - code E

PREPAID

Prepaid - code P

SeatMap API: GetSeatMap GetSeatMap December 2017 39 Confidential and Proprietary Sabre Inc.

DISCLOSURE

Disclosure - code D

PREREGISTERED_BAGGAGE

Preregistered baggage - code PB

4.6.44 Ancillary (Composite)

Additional service that can be sold to a passenger for a specific portion of travel, or a service that is completely unrelated to a particular itinerary. Other names used in the industry for this entity are Optional Service defined by ATPCO or Travel Extra defined by MTS. For additional details, refer to the DATA APPLICATION OPTIONAL SERVICES - SUB CODE SERVICES RECORD S5 document published by ATPCO.

Attributes

subCode type: sec:Code_AncillarySubCode (mandatory)

The Sub Code is either an industry- or carrier-defined code identifying a type of service. Industry-defined codes are available for all carriers or vendors to use, and contain standard definitions. Carrier-defined codes are available for a specific carrier or vendor only, and are defined by that carrier or vendor. All industry-defined Sub Codes are maintained by ATPCO. Carrier-defined Sub Codes are maintained by each carrier or vendor using the code. If the content comes from MTS, this code is the Special Service Request (SSR) code associated to the service.Constraints: minLength: 3, maxLength: 4

ssimCode type: sec:Code_SSIM

Standard Schedules Information Manual (SSIM) code

Elements

Group type: sec:Code_AncillaryGroup (mandatory)

Group of services. Ancillaries are organized into groups established by ATPCO as the industry standard.

ReasonForIssuance type: anc:ReasonForIssuance (mandatory)

IATA-defined Reason for Issuance Code (RFIC) applicable to the Electronic Miscellaneous Document (EMD) issued for the sub code identified in this record.

CommercialName type: anc:Ancillary_CommercialName (mandatory)

Commercial name associated to the ancillary sub code

Airline type: sec:Code_Airline (mandatory)

Marketing airline code

SpecialService type: anc:SpecialService

IATA-defined Special Service Request (SSR) code applicable to the sub code

Vendor type: sec:ShortString

Vendor providing a special service, if applicable

Example: MMGR

SeatMap API: GetSeatMap GetSeatMap December 2017 40 Confidential and Proprietary Sabre Inc.

ElectronicMiscDocType type: anc:ElectronicMiscDocType

Type of Electronic Miscellaneous Document (EMD) or other document that must be issued for the sub code

BookingMethod type: anc:BookingMethod

Method by which the sub code must be booked

DisplayOnly type: Boolean

Ancillary can be displayed, but not booked or purchased

Weight type: sec:Weight (repeat 20)

Baggage weight

BagType type: sec:ShortString

Non-standard bag type

Example: BIKE

AncillaryRules type: anc:AncillaryRules

Rules defined for an ancillary

BundledAncillaryRefs type: anc:Ancillary (repeat unbounded)

List of XML references to ancillary elements included in the ancillary bundle. Populated only when the ancillary represents a bundle of other ancillaries

ServiceType type: anc:ServiceType

Code that identifies and describes an ancillary type

4.6.45 SpecialService (Composite)

Groups of fields related to the IATA-defined Special Service Request (SSR)

Elements

Code type: sec:Code_SpecialService (mandatory)

IATA-defined Special Service Request (SSR) code applicable to the sub code

Type type: anc:SpecialServiceDetailType

Type of IATA-defined Special Service Request (SSR)

RequiredProperties type: anc:RequiredProperties

List of all properties that must be provided to book an ancillary

4.6.46 SpecialServiceDetailType (ClosedEnumeration)

Literals

STRUCTURED

Structured data must be added to the Special Service Request (SSR)

SeatMap API: GetSeatMap GetSeatMap December 2017 41 Confidential and Proprietary Sabre Inc.

NOTALLOWED

Free text should not be added to the SSR

OPTIONAL

Free text can be optionally added to the SSR

REQUIRED

Free text must be added to the SSR

4.6.47 Enum_AncillaryReasonForIssuance (ClosedEnumeration)

IATA-defined Reason for Issuance Code (RFIC) applicable to the Electronic Miscellaneous Document (EMD) that is issued for the sub code identified in this record

Literals

AIR_TRANSPORTATION

Maps to code A defined by IATA/ATPCO. Air transportation

GROUND_TRANSPORT_NON_AIR_SERVICES

Maps to code B defined by IATA/ATPCO. Surface transportation/non-air services

BAGGAGE

Maps to code C defined by IATA/ATPCO. Baggage

FINANCIAL_IMPACT

Maps to code D defined by IATA/ATPCO. Financial impact

AIRPORT_SERVICES

Maps to code E defined by IATA/ATPCO. Airport services

MERCHANDISE

Maps to code F defined by IATA/ATPCO. Merchandise

IN_FLIGHT_SERVICES

Maps to code G defined by IATA/ATPCO. In-flight services

INDIVIDUAL_AIRLINE_USE

Maps to code I defined by IATA/ATPCO. Individual airline use

OTHER

Added to support new reasons not yet defined in the WS contract

UNKNOWN

The reason for issuance is unknown.

SeatMap API: GetSeatMap GetSeatMap December 2017 42 Confidential and Proprietary Sabre Inc.

4.6.48 Enum_ElectronicMiscDocType (ClosedEnumeration)

Type of Electronic Miscellaneous Document (EMD) or other document that must be issued for the sub code

Literals

STANDALONE

Maps to value 1 in the EMD Type field of the S5 record specification. The EMD must be a standalone EMD (not issued in conjunction with a passenger ticket).

FLIGHT_COUPON_ASSOCIATED

Maps to value 2 in the EMD Type field of the S5 record specification. Associated with the ticket flight coupon

STANDALONE_TICKET_ASSOCIATED

Maps to value 3 in the EMD Type field of the S5 record specification. Standalone referenced to a ticket number, but not associated with a ticket flight coupon

OTHER_THAN_EMD

Maps to value 4 of the EMD Type field in the S5 record specification. The subscriber must have received instructions from the Record S5 owning carrier regarding how to document the service.

ETICKET

Maps to value 5 in the EMD Type field of the S5 record specification. Electronic ticket

4.6.49 Enum_AncillaryBookingMethod (ClosedEnumeration)

Booking method field described in the S5 record defined by ATPCO.

Literals

SPECIAL_SERVICE_REQUEST

Maps to value 01 in the Booking field of the S5 record specification. The service identified by the Sub Code in this record must be booked via SSR messaging.

AUXILIARY_SEGMENT

Maps to value 02 in the Booking field of the S5 record specification. Auxiliary Segment. The service identified by the Sub Code in this record can be booked via an auxiliary segment.

CONTACT_AIRLINE

Maps to value 03 in the Booking field of the S5 record specification. Available for Display and/or Pricing. Contact Carrier for booking method. The service identified by the Sub Code is available for display and/or pricing. The carrier must be contacted for the applicable booking details.

NO_BOOKING_REQUIRED

Maps to value 04 in the Booking field of the S5 record specification. No Booking Required. The service identified by the Sub Code is available for display and/or pricing. There is no booking required for the specified service.

SeatMap API: GetSeatMap GetSeatMap December 2017 43 Confidential and Proprietary Sabre Inc.

PER_SERVICE_RECORD

Maps to value 05 in the Booking field of the S5 record specification. Apply Booking Method per Service Record. The service identified by the Sub Code is a bundled service.

ANY_ALLOWED

Maps to a blank value in the Booking field of the S5 record specification. Any booking method is allowed.

4.6.50 AncillaryFee (Composite)

Ancillary pricing option. An ancillary can have multiple pricing variations depending on the passenger type, loyalty, rules, etc.

Elements

Unavailable type: Boolean

Flag indicating that a service exists, but is unavailable

TaxesIncludedInBase type: Boolean

Flag indicating whether taxes are included in the base price of an ancillary

TaxExempt type: Boolean

Ancillary is not subject to taxation by regulators or government entities

TotalFee type: anc:TotalFee (repeat 4)

Total ancillary fee, which could vary depending on the calculation rules defined in the configuration

Base type: sec:PriceElement (mandatory)

Base amount of the ancillary fee that can also include taxes if TaxesIncludedInBase is set to TRUE. Mandatory for non-exchange shopping requests

Tax type: sec:PriceElement (repeat 30)

Code representing a price, or price component that supports both monetary and/or frequent flyer type of amounts. There should be only a single element for each tax type/code.

Deal type: sec:Deal (repeat 10)

Applicable discounts

4.6.51 PricedAncillaryRefs (ScalarList)

Base type: anc:PricedAncillary

List of references to a PricedAncillary

SeatMap API: GetSeatMap GetSeatMap December 2017 44 Confidential and Proprietary Sabre Inc.

4.6.52 PricedAncillary (Composite)

Code identifying the connection between an ancillary and its pricing

Aliases

AncillaryPricing

Attributes

ancillaryRef type: anc:Ancillary (mandatory)

XML reference to the ancillary

Elements

PricingLevel type: anc:Enum_AncillaryPricingLevel (mandatory)

Level at which an ancillary is priced. This value must be provided when an ancillary is booked in the reservation system.

ConfirmationStatus type: anc:Enum_ConfirmationStatus

Result of the confirmation process. There are ancillaries, such as booking class upgrades, whose availability depends on different factors. These factors can range from being inventory controlled, available to frequent flyer members with a higher status, etc.

AncillaryFee type: anc:AncillaryFee (mandatory)

Ancillary pricing option. An ancillary can have multiple pricing variations depending on the passenger type, loyalty, rules, etc.

AncillaryPurchaseRules type: anc:AncillaryPurchaseRules

Purchase rules and availability details defined for an ancillary

4.6.53 AncillaryPurchaseRules (Composite)

Purchase rules and availability details defined for an ancillary

Elements

AvailableSince type: date

First day of travel from the itinerary for which this ancillary is available

AvailableUntil type: date

Last day of travel from the itinerary for which this ancillary is available

PurchaseByDate type: date

Last day this ancillary must be paid.

SeatMap API: GetSeatMap GetSeatMap December 2017 45 Confidential and Proprietary Sabre Inc.

4.6.54 PricedAncillaries (Composite)

List of priced ancillaries that shows the connection between the ancillary definition and its fee

Elements

PricedAncillary type: anc:PricedAncillary (mandatory, repeat 10000)

Code identifying the connection between an ancillary and its pricing

ConversionRules type: sec:ConversionRules

Rules configured to provide details that convert loyalty points/miles into a monetary amount. This element provides all required data to allow dynamic recalculation of the returned amounts into loyalty points based on user inputs. The calculation is based on the monetary amount/ratio. The result is adjusted to the designated scaling mode and rounded, if required.

4.6.55 AncillaryRules (Composite)

Rules defined for an ancillary fee, properties, such as refundability, form of payment, etc.

Elements

TourCode type: sec:Code_Tour

Tour Code specified on the ticket to which an ancillary applies

Refundable type: Boolean

Flag indicating whether an ancillary is refundable

FormOfRefund type: anc:FormOfRefund

Form of refund of any applicable fee

Exchangeable type: Boolean

Flag indicating whether an ancillary can be exchanged for another product; however, it is not refundable.

Commissionable type: Boolean

Code indicating that a commission can be applied to an ancillary fee

Interlineable type: Boolean

Code indicating that a fee can be applied to interline itineraries

FeeApplicationMethod type: anc:FeeApplicationMethod

Code indicating whether a service fee applies to a one-way or round-trip item, travel, or ticket

FreeOfChargeRules type: anc:Enum_FreeOfChargeRules (repeat 2)

Rules defined regarding bookings and EMDs for free-of-charge services/ancillaries. In addition, they can possibly correspond to the Not Available/No Charge field on the S5 record specification defined by ATPCO, if applicable.

PurchaseAtTicketIssue type: Boolean

Value indicating whether an ancillary must be purchased at the time a ticket is issued

SeatMap API: GetSeatMap GetSeatMap December 2017 46 Confidential and Proprietary Sabre Inc.

PurchaseBy type: date

Latest date an ancillary can be purchased

InventoryControlled type: Boolean

Flag indicating that there is a limited number of ancillary items that can be purchased for a segment(s)

FreeAllowanceEligibility type: anc:FreeAllowanceEligibility

Code indicating that an ancillary can substitute items from a free-allowance bucket

CustomRules type: anc:CustomRules

Custom rules that are not defined by ATPCO

PaperTicketRequired type: Boolean

Flag indicating whether a paper ticket is required

4.6.56 Enum_AncillaryFeeApplicationMethod (ClosedEnumeration)

Fee Application field described in the S7 record defined by ATPCO

Literals

ONE_WAY

Maps to value 1 in the Fee Application field of the S7 record specification. Per one-way (per fare component)

ROUND_TRIP

Maps to value 2 in the Fee Application field of the S7 record specification. Per round trip (half of the amount per fare component)

ITEM

Maps to value 3 in the Fee Application field of the S7 record specification. Per item (each time the service is used or requested)

PER_CHECKED_PORTION

User-friendly alias for ITEM that applies to BG and PT groups. Maps to value 3 in the Fee Application field of the S7 record specification. Per item (each time the service is used or requested)

TRAVEL

Maps to value 4 in the Fee Application field of the S7 record specification. Per travel (the fee amount is charged per matched travel record)

PER_BAGGAGE_TRAVEL

User-friendly alias for TRAVEL that applies to BG and PT groups. Maps to value 4 in the Fee Application field of the S7 record specification. Per travel (the fee amount is charged per matched travel record)

SeatMap API: GetSeatMap GetSeatMap December 2017 47 Confidential and Proprietary Sabre Inc.

TICKET

Maps to value 5 in the Fee Application field of the S7 record specification. Per ticket (the fee amount is charged per ticket):

o PER_1KG_OVER_FREE_BAGGAGE_ALLOWANCE

o PER_5KG_OVER_FREE_BAGGAGE_ALLOWANCE

o HALF_PERCENT_OF_FARE_PER_KG

o ONE_PERCENT_OF_FARE_PER_KG

o ONE_AND_A_HALF_PERCENT_OF_FARE_PER_KG

4.6.57 Enum_AncillaryFormOfRefund (ClosedEnumeration)

Form of Refund field described in the S7 record defined by ATPCO

Literals

ORIGINAL

Maps to value 1 in the Form of Refund field of the S7 record specification. The fee is only refundable via the original form of payment.

VOUCHER

Maps to value 2 in the Form of Refund field of the S7 record specification. The fee is only refundable via electronic voucher.

4.6.58 Ancillaries (Composite)

List of additional services sold to a passenger for a specific portion of travel, or services that are completely unrelated to a particular itinerary. Other names used in the industry are Optional Services defined by ATPCO or Travel Extras defined by MTS. For additional details, refer to the DATA APPLICATION OPTIONAL SERVICES - SUB CODE SERVICES RECORD S5 document published by ATPCO.

Elements

Ancillary type: anc:Ancillary (mandatory, repeat 1000)

Additional service that can be sold to a passenger for a specific portion of travel, or a service that is completely unrelated to a particular itinerary. Other names used in the industry for this entity are Optional Service defined by ATPCO or Travel Extra defined by MTS. For additional details, refer to the DATA APPLICATION OPTIONAL SERVICES - SUB CODE SERVICES RECORD S5 document published by ATPCO.

4.6.59 Enum_FreeOfChargeRules (ClosedEnumeration)

Rules defined regarding bookings and EMDs for free-of-charge services/ancillaries. In addition, they can possibly correspond to the Not Available/No Charge field of the S5 record specification defined by ATPCO, if applicable.

SeatMap API: GetSeatMap GetSeatMap December 2017 48 Confidential and Proprietary Sabre Inc.

Literals

BOOKING_REQUIRED

Booking is required for a free-of-charge ancillary

EMD_REQUIRED

EMD is required for a free-of-charge ancillary

4.6.60 AncillaryGroups (Composite)

Groups of services. Ancillaries are organized into groups established by ATPCO as the industry standard.

Elements

AncillaryGroup type: anc:AncillaryGrouping (mandatory, repeat 30)

Group of services. Ancillaries are organized into groups established by ATPCO as the industry standard.

4.6.61 AncillaryRefs (ScalarList)

Base type: anc:Ancillary

Base amount of the ancillary fee that can also include taxes if TaxesIncludedInBase is set to TRUE. Mandatory for non-exchange shopping requests.

4.6.62 AncillaryGrouping (ValueWithAttributes)

Ancillary group used to map ancillary definitions

Attributes

group type: anc:Enum_AncillaryGroup (mandatory)

Group of services. Ancillaries are organized into groups established by ATPCO as the industry standard.

4.6.63 Ancillary_CommercialName (Scalar)

Base type: string

Commercial name associated to the ancillary sub code

Constraints: maxLength: 30

Example: UPTO50LB 23KG AND85LI 215LCM

4.6.64 ReasonForIssuance (ValueWithAttributes)

IATA-defined Reason for Issuance Code (RFIC) applicable to the Electronic Miscellaneous Document (EMD) that is issued for the sub code identified in this record.

SeatMap API: GetSeatMap GetSeatMap December 2017 49 Confidential and Proprietary Sabre Inc.

Attributes

code type: sec:Code_ReasonForIssuance

Industry standard code

Example: G

4.6.65 AncillaryGroup (ValueWithAttributes)

Group of services. Ancillaries are organized into groups established by ATPCO as the industry standard.

Attributes

code type: sec:Code_AncillaryGroup

Industry standard code

Example: BG

4.6.66 ElectronicMiscDocType (ValueWithAttributes)

Type of Electronic Miscellaneous Document (EMD) or other document that must be issued for the sub code

Attributes

code type: anc:Code_AlphaNumeric1

Industry standard code

Example: 1

consumedAtIssuance – Boolean

Determination of how the EMD should be issued in a USED or OK/open status. An EMD-A (flight associated) is always issued in OK/open status, but EMD-S (standalone) can be issued in either status. For example, when collecting a deposit on an EMD-S, the document would be issued in OK status so that it can be exchanged or refunded later. Collecting a penalty fee issued in USED status, the penalty would be collected, applied to revenue, and not refunded.

4.6.67 Code_AlphaNumeric1 (Scalar)

Base type: string

Constraints: minLength: 1, maxLength: 1

Example: 1

4.6.68 BookingMethod (ValueWithAttributes)

Method by which the sub code must be booked

Example: 1

SeatMap API: GetSeatMap GetSeatMap December 2017 50 Confidential and Proprietary Sabre Inc.

Attributes

code type: anc:Code_AlphaNumeric2

Industry standard code

Example: 12

4.6.69 Code_AlphaNumeric2 (Scalar)

Base type: string

Constraints: minLength: 2, maxLength: 2

Example: 12

4.6.70 FormOfRefund (ValueWithAttributes)

Form of refund of any applicable fee

Example: 12

Attributes

code type: anc:Code_AlphaNumeric1

Industry standard code

Example: 1

4.6.71 FeeApplicationMethod (ValueWithAttributes)

Code indicating whether a service fee applies to a one-way or round-trip item, travel, or ticket

Attributes

code type: anc:Code_AlphaNumeric1

Industry standard code

Example: 1

4.6.72 CustomRules (Composite)

Elements

MaxQuantityPerPassenger type: int

Maximum number of ancillaries that can be purchased by each passenger

Convertible type: Boolean

Flag indicating whether a monetary amount can be converted to points or miles

ApplyHighestTierLevel type: Boolean

If set, tier benefits of the passenger with the highest tier apply to all passengers in the PNR; otherwise, tier benefits of the tiered passenger apply only to this passenger.

SeatMap API: GetSeatMap GetSeatMap December 2017 51 Confidential and Proprietary Sabre Inc.

ExcludedFormOfPayment type: anc:Code_FormOfPayment (repeat 10)

Form(s) of payment that can be found on the list of excluded payment forms for an ancillary. The following values are supported:

AX - American Express

AM - American Mobile

BL - Bill Me Later

BT - Travel Bank

IK - Mastercard

CA - Mastercard

DC - Diner’s Club

DS - Discover

PP - PayPal

TP - Universal Air Travel Program

BA - Visa

VI - Visa

VE - Visa Electron

JB - Japan Credit Bureau

FA - Era Alaska

AF - First Air

BPC - Banking Production Centre

SV - External Gateway Card

PO - POLi 3rd party payment

VN - SmartLink 3rd party payment

SML_PAY_LATER - SmartLink 3rd party payment

SID - SID payment

EFT - EFT payment

GC - Gift Card

Example: AX

4.6.73 Code_FormOfPayment (Scalar)

Base type: string

Form(s) of payment that can be found on the list of excluded payment forms for an ancillary. The following values are supported:

AX - American Express

AM - American Mobile

SeatMap API: GetSeatMap GetSeatMap December 2017 52 Confidential and Proprietary Sabre Inc.

BL - Bill Me Later

BT - Travel Bank

IK - Mastercard

CA - Mastercard

DC - Diner’s Club

DS - Discover

PP - PayPal

TP - Universal Air Travel Program

BA - Visa

VI - Visa

VE - Visa Electron

JB - Japan Credit Bureau

FA - Era Alaska

AF - First Air

BPC - Banking Production Centre

SV - External Gateway Card

PO - POLi 3rd party payment

VN - SmartLink 3rd party payment

SML_PAY_LATER - SmartLink 3rd party payment

SID - SID payment

EFT - EFT payment

GC - Gift Card

Constraints: minLength: 1, maxLength: 30, pattern: [A-Z0-9_]{1,30}

4.6.74 TotalFee (Composite)

Total cost of an itinerary that includes all fare components, such as the base price, taxes, fees, as well as ancillary base amounts and taxes. These totals directly correlate with one or multiple Service Engine Services. In this case, redemptionCalculationRule and discountCalculationRule attributes define how the total is calculated.

Attributes

redemptionCalculationRule type: anc:Enum_RedemptionCalculationRule

Rule used to calculate the total fare in the redemption path. For redemption shopping, the total price is not clear since it is often a combination of currency and loyalty points (different breakdowns can represent the same price).

discountCalculationRule type: anc:Enum_DiscountCalculationRule

Discount-related calculation rule used when the total was calculated

SeatMap API: GetSeatMap GetSeatMap December 2017 53 Confidential and Proprietary Sabre Inc.

Elements

Total type: sec:PriceElement (mandatory)

Total cost of an itinerary that includes all fare components, such as the base price, taxes, fees, as well as ancillary base amounts and taxes. These totals directly correlate with one or multiple Service Engine Services. In this case, redemptionCalculationRule and discountCalculationRule attributes define how the total is calculated.

Base type: sec:PriceElement (mandatory)

Base amount of the ancillary fee that can also include taxes if TaxesIncludedInBase is set to TRUE. Mandatory for non-exchange shopping requests.

Tax type: sec:PriceElement (repeat 30)

Code representing a price or a price component that supports both monetary and/or frequent flyer type of amounts. There should be only a single element for each tax type/code.

TotalTaxes type: sec:PriceElement

Summarized ancillary taxes value

4.6.75 Enum_RedemptionCalculationRule (ClosedEnumeration)

Rules that describe how loyalty points and currency are divided in totals

Literals

MAX_POINTS_USED

Maximum points used

MIN_POINTS_USED

Minimum points used

4.6.76 Enum_DiscountCalculationRule (ClosedEnumeration)

Rules that describe how discounts are calculated in totals

Literals

WITH_DISCOUNTS

Discounts are included in the calculated total values

WITHOUT_DISCOUNTS

Discounts are not included in the calculated total values

4.6.77 Enum_AncillaryPricingLevel (ClosedEnumeration)

Literals

ITINERARY

Level at which the entire itinerary is priced. Used for standalone ancillaries.

SeatMap API: GetSeatMap GetSeatMap December 2017 54 Confidential and Proprietary Sabre Inc.

PORTION

Level at which the portion (a list of segments that can be either an itinerary part or any continuous list of segments) is priced.

SEGMENT

Level at which a single segment is priced

4.6.78 Enum_ConfirmationStatus (ClosedEnumeration)

Literals

CONFIRMED

Ancillary availability is confirmed

UNCONFIRMED

Ancillary availability is unconfirmed

WAIT_LIST

Ancillary availability is wait-listed

UNKNOWN

Ancillary availability is unknown, which most likely means that there was an error during the confirmation process

4.6.79 FreeAllowanceEligibility (Composite)

Code indicating that an ancillary can substitute items from a free-allowance bucket

Elements

Quantity type: sec:NonNegativeInteger (mandatory)

Number of baggage pieces that qualify as free of charge. If any baggage restrictions apply, they are specified in the BaggageRestriction structure.

4.6.80 AncillaryTravelPortion (Composite)

Ancillary available for a specific travel portion

Elements

Ancillary type: anc:Ancillary (repeat 100)

Additional service that can be sold to a passenger for a specific portion of travel, or a service that is completely unrelated to a particular itinerary. Other names used in the industry for this entity are Optional Service defined by ATPCO or Travel Extra defined by MTS. For additional details, refer to the DATA APPLICATION OPTIONAL SERVICES - SUB CODE SERVICES RECORD S5 document published by ATPCO.

SeatMap API: GetSeatMap GetSeatMap December 2017 55 Confidential and Proprietary Sabre Inc.

TravelPortion type: sec:TravelPortion

Portion of travel to which a deal is applied. The type attribute determines which of the optional elements are present:

o If type=ITINERARY_PART, ItineraryPartRefs is present

o If type=SEGMENT, SegmentRefs is present

o If type=FLIGHT, FlightRefs is present

o If type=ITINERARY, ItineraryPartRefs, SegmentRefs, and FlightRefs are not present.

4.6.81 AncillaryTravelPortions (Composite)

List of ancillaries available for a specific travel portion

Elements

AncillaryTravelPortion type: anc:AncillaryTravelPortion (repeat 100)

Ancillary available for a specific travel portion

4.6.82 RequiredProperties (Composite)

List of all properties that must be provided to book an ancillary

Elements

PropertyDefinition type: sec:PropertyDefinition (mandatory, repeat 20)

Name of a property that must be provided to book an ancillary

4.6.83 AncillaryInventory (ValueWithAttributes)

Inventory count for an ancillary priced for a particular segment

Value

value type: sec:NonNegativeInteger

Attributes

pricedAncillaryRef type: anc:PricedAncillary (mandatory)

Ancillary definition and pricing details/formula used to create an air extra

segmentRef type: sec:Segment (mandatory)

4.6.84 AncillariesInventory (Composite)

Inventory count for a list of ancillaries priced for a particular segment

Elements

AncillaryInventory type: anc:AncillaryInventory (repeat unbounded)

SeatMap API: GetSeatMap GetSeatMap December 2017 56 Confidential and Proprietary Sabre Inc.

4.6.85 AlphaNumericString (Scalar)

Base type: string

Alphanumeric string

4.6.86 TinyString (Scalar)

Base type: string

Tiny string 1 to 32 characters in length

Constraints: minLength: 1, maxLength: 32

Example: I am a tiny string

4.6.87 ShortString (Scalar)

Base type: string

Short string 1 to 123 characters in length

Constraints: minLength: 1, maxLength: 128

Example: I am a short string

4.6.88 MediumString (Scalar)

Base type: string

Medium string 1 to 512 characters in length

Constraints: minLength: 1, maxLength: 512

Example: I am a medium string

4.6.89 LongString (Scalar)

Base type: string

Long string 1 to 4096 characters in length

Constraints: minLength: 1, maxLength: 4096

Example: I am a long string

4.6.90 Code_Storefront (Scalar)

Base type: string

Numeric or alphanumeric storefront code ten (10) characters in length

Constraints: minLength: 2, maxLength: 10, pattern: [A-Z0-9]{2,10}

Example: K0K0

SeatMap API: GetSeatMap GetSeatMap December 2017 57 Confidential and Proprietary Sabre Inc.

4.6.91 Enum_Gender (ClosedEnumeration)

Gender indicator

Literals

FEMALE

MALE

4.6.92 Enum_MaritalStatus (ClosedEnumeration)

Marital status

Literals

SINGLE

MARRIED

4.6.93 Enum_PhoneType (ClosedEnumeration)

Types of phone numbers

Literals

MOBILE

Mobile number

WORK

Work number

HOME

Home number

FAX

Fax number

OTHER

Other - not listed

BUSINESS

Interchangeable with WORK

CELLULAR

Interchangeable with MOBILE

HOTEL

Phone number of the hotel where the passenger is staying

SeatMap API: GetSeatMap GetSeatMap December 2017 58 Confidential and Proprietary Sabre Inc.

4.6.94 Enum_AddressType (ClosedEnumeration)

Types of addresses

Literals

HOME

Home address

RESIDENCE

Residence address

WORK

Work address

INVOICE

Address where invoices should be sent

OTHER

Other type of address

DESTINATION

Travel destination address

PRIVATE

Private address

BUSINESS

Business address

Note There are countries where the company name must be included on the invoices to reimburse business travel expenses. The company name stored in this element can be extracted from the reservation by the automated tools included on the invoice/receipt if required.

4.6.95 Code_Postal (Scalar)

Base type: string

Postal code. This format depends on the country therefore it is represented as a plain string

Example: 4555

4.6.96 PaymentCard_MaskedNumber (Scalar)

Base type: string

Masked credit card number; only the last four (4) digits should be visible

Example: XXXXXXXXXXX1234

SeatMap API: GetSeatMap GetSeatMap December 2017 59 Confidential and Proprietary Sabre Inc.

4.6.97 Enum_EmailType (ClosedEnumeration)

Types of email addresses

Literals

PERSONAL

WORK

OTHER

4.6.98 EmailAddress (ValueWithAttributes)

Email address

Attributes

type type: sec:Enum_EmailType

Type of email address

Example: PERSONAL

4.6.99 Email (Scalar)

Base type: string

Email address as defined in RFC 3696 - 3 and errata, RFC 2822 - 3.4.1. A simplified validation pattern is used to verify the address.

Example: [email protected]

4.6.100 Code_Language (Scalar)

Base type: string

Pattern of the content of section 2.12 of XML 1.0e2

Constraints: pattern: [a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*

Example: EN

4.6.101 Code_Phone_Area (Scalar)

Base type: string

1-8 digit area code of the phone number

Example: 604

SeatMap API: GetSeatMap GetSeatMap December 2017 60 Confidential and Proprietary Sabre Inc.

4.6.102 Code_Phone_Country (Scalar)

Base type: string

Telephone number country code. It is usually a two- or three-digit code; however there are cases, such as in the Western Sahara, where the country code can be up to seven (7) digits.

Example: 48

4.6.103 Code_Market (Scalar)

Base type: string

Market code, which is a three (3), uppercase-character country code

Example: EMEA

4.6.104 Name_Market (Scalar)

Base type: string

Market name, which is the name of a country

4.6.105 Market (ValueWithAttributes)

Description of the market, such as a country or region

Attributes

code type: sec:Code_Market (mandatory)

Code identifying the market country or region

4.6.106 PaymentCard_ExpirationDetails (Scalar)

Base type: string

Date the payment card expires. A credit card format is usually MM/YY. However, there are payment cards, such as gift cards that also require a day component. The format can be DD/MM/YY or MM/DD/YYYY.

4.6.107 TimeRange (Composite)

Period in which a time range is designated by a start and end time

Attributes

begin type: time

Time the range begins

end type: time

Time the range ends

SeatMap API: GetSeatMap GetSeatMap December 2017 61 Confidential and Proprietary Sabre Inc.

4.6.108 Address (Composite)

Passenger location address, which can be any part of an address, such as street name, postal code, country code, province, etc.

Attributes

type type: sec:Enum_AddressType

Type of address

Example: HOME

Elements

CompanyName type: sec:ShortString

Name of the company. Mandatory when type is BUSINESS

Example: Sabre Corporation

PersonName type: sec:PersonName

Passenger name

Street1 type: sec:ShortString

Street portion of an address

Example: Buma Square

Street2 type: sec:ShortString

Additional street portion that could also be required (in some cases)

Example: Wadowicka 6D

PostalCode type: sec:Code_Postal

Postal code. The format depends on the country

Example: 30-303

Country type: sec:Code_Country

Country that determines the currency in the response based on the internal Service Engine configuration. If the Currency element is populated, it overrides the country currency.

Example: PL

City type: sec:ShortString

City name

Example: Krakow

StateProvince type: sec:ShortString

State or province. In the United States, it is a state code; for other countries, it is a province identification.

Example: MALOPOLSKA

SeatMap API: GetSeatMap GetSeatMap December 2017 62 Confidential and Proprietary Sabre Inc.

4.6.109 PaymentCard (Composite)

Type of payment card, such as a credit card or debit card

Elements

TypeCode type: sec:PaymentCard_TypeCode (mandatory)

Code identifying the credit card type, such as VA for Visa

Example: VA

CardType type: sec:Enum_PaymentCardType

Type of payment card, such as a credit card or debit card

Example: CREDIT_CARD

Number type: sec:PaymentCard_Number (mandatory)

Payment card number

Example: 4111111111111111

NameOnCard type: sec:ShortString

Person to whom the payment card belongs

Example: John Doe

ExpirationDetails type: sec:PaymentCard_ExpirationDetails

Date the payment card expires

4.6.110 Phone (Composite)

Passenger telephone number

Attributes

type type: sec:Enum_PhoneType

Phone type, such as mobile, work, etc.

Example: MOBILE

Elements

CountryCode type: sec:Code_Phone_Country

Country code portion of the number

AreaCode type: sec:Code_Phone_Area

Area code portion of the number

Number type: sec:PhoneNumber (mandatory)

Passenger telephone number

Example: 12345678

SeatMap API: GetSeatMap GetSeatMap December 2017 63 Confidential and Proprietary Sabre Inc.

Extension type: sec:PhoneNumber

Optional extension suffix

Example: 123

4.6.111 PersonName (Composite)

Traveler name

Aliases

TravelerName

Elements

Prefix type: sec:TinyString

Prefix placed before the passenger name, such as Mr., Dr., Ms, etc.

Example: Mr.

First type: sec:ShortString (mandatory)

First name

Example: John

Middle type: sec:ShortString

Optional middle name

Example: Peter

Last type: sec:ShortString (mandatory)

Last name

Example: Doe

Suffix type: sec:TinyString

Optional suffix

Example: III

Raw type: sec:ShortString

Passenger surname as stored in the system. It can be separated from the remaining name data with a slash, such as SMITH/JOHN DAVID.

4.6.112 Enum_DocumentType (ClosedEnumeration)

Travel document type. The NATIONAL_ID and NEXUS_CARD can be used as an identity document to travel between countries in lieu of a passport. Both use the same validation procedures as a passport.

Literals

PASSPORT

ALIEN_RESIDENT_CARD

SeatMap API: GetSeatMap GetSeatMap December 2017 64 Confidential and Proprietary Sabre Inc.

PERMANENT_RESIDENT_CARD

FACILITATION_DOC

MILITARY_ID

US_NATURALIZATION_CERT

REENTRY_PERMIT

BORDER_CROSSING_CARD

REFUGEE_TRAVEL_DOCUMENT

VISA

NATIONAL_ID

NEXUS_CARD

4.6.113 Money (ValueWithAttributes)

Code representing a monetary amount

Value

value type: sec:Amount

Attributes

currency type: sec:Code_Currency (mandatory)

Code identifying the currency

Example: USD

4.6.114 LoyaltyPoints (Scalar)

Base type: int

Frequent Flyer points shown in positive numbers

Example: 1000

4.6.115 Mileage (ValueWithAttributes)

Current mileage value associated with the loyalty account

Value

value type: int

Attributes

unit type: sec:Enum_MileageUnit (mandatory)

Unit of stored mileage, such as miles or kilometers

Example: MILES

SeatMap API: GetSeatMap GetSeatMap December 2017 65 Confidential and Proprietary Sabre Inc.

4.6.116 Enum_MileageUnit (ClosedEnumeration)

Mileage unit

Literals

MILES

Distance in miles

KILOMETERS

Distance in kilometers

4.6.117 LoyaltyAccount (Composite)

Loyalty account details of the user who requires the Service request

Attributes

memberAirline type: sec:Code_Airline (mandatory)

Member airline code

Example: K0

memberId type: sec:ShortString (mandatory)

Member identifier - the format depends on the airline

Example: 1234444423423

Elements

Mileage type: sec:Mileage

Current mileage value associated with the loyalty account

Points type: sec:LoyaltyPoints

Price expressed in frequent flyer points/miles

LoyaltyTierLevel type: sec:LoyaltyTierLevel

Passenger’s loyalty account tier level. These levels are specific to each airline that offers a loyalty-type program.

MembershipStartDate type: date

Date the member joined the loyalty program

LatestAwardDate type: date

Last date the member received an award(s)

SeatMap API: GetSeatMap GetSeatMap December 2017 66 Confidential and Proprietary Sabre Inc.

4.6.118 Document (Composite)

Identification document issued for the user

Attributes

type type: sec:Enum_DocumentType (mandatory)

Type of document

Example: PASSPORT

Elements

Number type: sec:TinyString (mandatory)

Document number

Example: AL12345678

PersonName type: sec:PersonName

Passenger name

Nationality type: sec:Code_Country_Extended

Nationality country code

CountryOfBirth type: sec:Code_Country

Code that indicates the country in which the passenger was born. This element should be populated if the code is available. If the country code is not available, the PlaceOfBirth element can be populated and the country of birth derived from the language in which the document is written.

PlaceOfBirth type: sec:String_From1to35

Element that contains unstructured details about a passenger’s place of birth, such as a country name, a city and state, or a city and country name. If this field contains no value but the country of birth is known, the CountryOfBirth element is populated instead.

Example: Southlake, Texas

DateOfBirth type: date

Passenger date of birth

IssuingCountry type: sec:Code_Country

Code of the country that issued the document

ApplicableCountry type: sec:Code_Country

Code of the country to which this document applies, such as US for a United States visa issued in PL (Poland)

IssuingPlace type: sec:ShortString

Location city where the document was issued

Example: Krakow

SeatMap API: GetSeatMap GetSeatMap December 2017 67 Confidential and Proprietary Sabre Inc.

IssueDate type: date

Date the document was issued

ExpiryDate type: date

Date the document expires

Gender type: sec:Enum_Gender

Passenger gender, as provided in the document

4.6.119 Enum_ProfileType (ClosedEnumeration)

Type of profile returned for the passenger

Literals

WEB

TBD

LOYALTY

TBD

4.6.120 FlightStop (Composite)

Flight stop during a multi-leg flight for reasons such as refueling, etc. A single-leg scenario is not available.

Attributes

airport type: sec:Code_Airport (mandatory)

Code identifying the location where the stop occurs

Example: FRA

Elements

ArrivalTime type: dateTime (mandatory)

Arrival date and time

DepartureTime type: dateTime (mandatory)

Departure date and time

Durationtype: sec:DurationInMinutes Time at the stop airport expressed in minutes

ElapsedTime type: sec:DurationInMinutes Flight time from the departure airport to the layover airport expressed in minutes

SeatMap API: GetSeatMap GetSeatMap December 2017 68 Confidential and Proprietary Sabre Inc.

4.6.121 DurationInMinutes (Scalar)

Base type: int

Flight duration in minutes

Example: 120

4.6.122 RecordLocator (Scalar)

Base type: string

Passenger record locator identifier

Constraints: minLength: 5, maxLength: 8, pattern: [A-Za-z0-9]{5,8}

Example: DEWJNK

4.6.123 EmergencyContact (Composite)

Contact data to be used in case of emergency

Elements

Name type: sec:ShortString

Name of emergency contact. No particular format is expected.

Example: John Doe

CountryCode type: sec:Code_Country

Country associated with the emergency contact details

ContactDetails type: sec:ShortString

Contact details, such as a phone number

Example: +48 12 12 23 123

Relationship type: sec:ShortString

Relationship between emergency contact and passenger(s)

Example: brother

4.6.124 Enum_WeightUnit (ClosedEnumeration)

Baggage weight unit in kilograms or pounds

Literals

KILOGRAM

POUND

SeatMap API: GetSeatMap GetSeatMap December 2017 69 Confidential and Proprietary Sabre Inc.

4.6.125 Weight (ValueWithAttributes)

Weight of an object, such as baggage

Value

value type: sec:WeightValue

Attributes

unit type: sec:Enum_WeightUnit (mandatory)

Weight unit, such as kilograms or pounds

Example: KILOGRAM

4.6.126 Enum_CabinClass (ClosedEnumeration)

Literals

ECONOMY

Economy class cabin type

PREMIUM_ECONOMY

Premium economy class cabin type

BUSINESS

Business class cabin type

PREMIUM_BUSINESS

Premium business class cabin type

FIRST

First class cabin type

PREMIUM_FIRST

Premium first class cabin type

4.6.127 Code_BookingClass (Scalar)

Base type: string

Cabin booking class code, also known as RBD (Reservations/Booking Designator) that contains one uppercase alpha character. If the code is not specified, seat maps for all booking classes are retrieved.

Constraints: minLength: 1, maxLength: 1, pattern: [A-Z]

Example: Y

SeatMap API: GetSeatMap GetSeatMap December 2017 70 Confidential and Proprietary Sabre Inc.

4.6.128 Code_FareBrand (Scalar)

Base type: string

Fare brand code

Constraints: pattern: [A-Z0-9]{1,10}

Example: F6

4.6.129 Enum_ItineraryPartType (ClosedEnumeration)

Literals

OUTBOUND

Outbound part of the itinerary

INBOUND

Inbound part of the itinerary

MULTICITY

Itinerary part for the multicity journey

4.6.130 Code_Meal (Scalar)

Base type: string

Indicator that determines whether the flight includes a meal

Example: MEAL

4.6.131 Code_SpecialService (Scalar)

Base type: string

Code of a special service requested by a passenger

Constraints: minLength: 1, maxLength: 20, pattern: [A-Z0-9]{1,20}

Example: BGDA

4.6.132 Enum_FlightSpan (ClosedEnumeration)

Literals

DOMESTIC

INTERNATIONAL

4.6.133 SeatNumber (Scalar)

Base type: string

Seat number on the aircraft assigned to a passenger

SeatMap API: GetSeatMap GetSeatMap December 2017 71 Confidential and Proprietary Sabre Inc.

4.6.134 ContactDetails (Composite)

Passenger contact information

Example: 1D

Elements

Email type: sec:EmailAddress (repeat 10)

Email address(s) associated with the PNR

Phone type: sec:Phone (repeat 10)

Phone number(s) associated with the PNR

Address type: sec:Address (repeat 10)

Address(s) associated with the PNR

4.6.135 Enum_PassengerTypeBase (ClosedEnumeration)

Type of passenger. Used instead of OpenEnumeration to validate the extension attribute format, which OpenEnumeration does not support.

Literals

ADULT

SENIOR

YOUTH

CHILD

CHILD_04

CHILD_11

INFANT

INFANT_WITH_SEAT

STUDENT

MILITARY

SENIOR_CITIZEN

FREQUENT_FLYER

COMPANION

ADULT_WITH_COMPANION

OTHER

4.6.136 Enum_PassengerTypeBaseExtension (Scalar)

Base type: string

SeatMap API: GetSeatMap GetSeatMap December 2017 72 Confidential and Proprietary Sabre Inc.

4.6.137 Enum_PassengerType (ValueWithAttributes)

Type of passenger. If a special value called Other is used, then the extension element is required. For example, if type is one of the listed passenger types, the value is taken from a pre-defined set of passenger types (shown under Literals below). If type is not one of the pre-defined types (shown below), the passenger type value is defined as Other, and the actual value is held by the extension attribute.

Attributes

extension type: sec:Enum_PassengerTypeBaseExtension

Example: MRE

Constraints: minLength: 3, maxLength: 3, pattern: [A-Z0-9]{3}

4.6.138 Pnr_NameNumber (Scalar)

Base type: string

PNR passenger name and number

Constraints: minLength: 3, maxLength: 5, pattern: [0-9]{1,2}\.[0-9]{1,2}

Example: 1.1

4.6.139 Enum_SpecialServiceStatus (ClosedEnumeration)

Literals

REQUESTED

CONFIRMED

REJECTED

4.6.140 Enum_SpecialServiceType (ClosedEnumeration)

Literals

STANDARD

MEAL

OTHER

4.6.141 Pnr_SegmentNumber (Scalar)

Base type: string

PNR segment number

SeatMap API: GetSeatMap GetSeatMap December 2017 73 Confidential and Proprietary Sabre Inc.

4.6.142 PriceElement (Composite)

Price or price component that supports both monetary and/or frequent flyer types of amounts

Aliases

Tax, Base, Fee, Surcharge, Total, Price, Commission, Discount, TicketingFee

Attributes

code type: sec:ShortString

Optional code used to specify a subtype of a price, such as a specific tax category

Example: AB

Elements

ReferenceAmount type: sec:Money

Value that is not used as the amount a passenger pays for the fare. Instead, it is used as a reference, or internal calculation to determine the fare amount. For example, if a passenger chooses to pay for the fare in points and in currency, then both the Amount and the EquivAmount, together with points, are populated. Consequently, the ReferenceAmount can be used to provide the initial amount that was split into both points and currency amount based on a designated set of rules.

Similarly, when points are returned from a source other than the reservation system, and the user has elected to pay in points only, the ReferenceAmount can be populated with a currency amount returned from the system to use as a reference or for internal calculations (as described at the beginning of this statement).

Amount type: sec:Money

Regulatory price amount in the original currency in which the fare was defined. It could also refer to the number of loyalty points present when the type is *_AMOUNT. If the value is a calculated value, then the percentage is also populated for reference.

EquivAmount type: sec:Money

Regulatory price amount converted to the requested currency

Points type: sec:LoyaltyPoints

Price expressed in frequent flyer points/miles

ConversionRatio type: sec:ConversionRatio

Details required to convert loyalty points/miles to a monetary amount. This element provides the client with all required data to allow dynamic recalculation of the returned amounts into loyalty points based on user inputs. If required, RoundingMode and ScalingMode are taken from the ConversionRules element in PriceBreakdown.

TaxType type: sec:Enum_TaxType

Tax application type

SeatMap API: GetSeatMap GetSeatMap December 2017 74 Confidential and Proprietary Sabre Inc.

4.6.143 PriceBreakdown (Composite)

Price components, such as base, tax, fees, etc., that represent the total fare

Elements

Total type: sec:PriceElement

Total cost of an itinerary that includes all fare components, such as the base price, taxes, fees, as well as ancillary base amounts and taxes. These totals directly correlate with one or multiple Service Engine Services.

Base type: sec:PriceElement

Base amount of the ancillary fee that can also include taxes if TaxesIncludedInBase is set to TRUE. Mandatory for non-exchange shopping requests.

Tax type: sec:PriceElement (repeat 20)

Code used to represent a price or a price component that supports both monetary and/or frequent flyer type of amounts. There should be only a single element for each tax type/code.

Fee type: sec:PriceElement (repeat 20)

Fee amount with currency

Surcharge type: sec:PriceElement (repeat 20)

Summarized surcharge prices

Commission type: sec:PriceElement (repeat 20)

Commission amount included as part of the price

Discount type: sec:PriceElement (repeat 20)

Summarized discount for an itinerary that includes all passengers

4.6.144 Enum_ModificationOperation (ClosedEnumeration)

Modification types, such as ADD, MODIFY, and DELETE

Literals

ADD

New data element should be added

MODIFY

Data element should be modified

DELETE

Data element should be deleted

SeatMap API: GetSeatMap GetSeatMap December 2017 75 Confidential and Proprietary Sabre Inc.

4.6.145 Code_Country (Scalar)

Base type: string

ISO 3166-1 alpha-2 country codes

Constraints: minLength: 2, maxLength: 2, pattern: [A-Z]{2}

Example: US

4.6.146 Code_City (Scalar)

Base type: string

Three-character alpha city code

Example: DFW

4.6.147 Code_Currency (Scalar)

Base type: string

A three-character currency code as defined in ISO 4217

If the currency code is provided, prices are shown in that currency. If a currency code is not provided, the currency is selected based on the priority of the parameters that are:

1. Retrieved from the request 2. From the country shown in the ShoppingContext request 3. Retrieved from the default configuration (property sat.currency.default) 4. Retrieved from the PseudoCityCode (PCC) Constraints: minLength: 3, maxLength: 3, pattern: [A-Z]{3}

Example: USD

4.6.148 Amount (Scalar)

Base type: decimal

Monetary amount

Example: USD

4.6.149 PaymentCard_TypeCode (Scalar)

Base type: string

Code identifying the credit card type, such as VI for Visa

Example: 156.59

SeatMap API: GetSeatMap GetSeatMap December 2017 76 Confidential and Proprietary Sabre Inc.

4.6.150 PaymentCard_Number (Scalar)

Base type: string

Payment card number as defined in ISO/IEC 7812 or a masked credit card number where only the last four (4) digits are visible

Example: VI, XXXXXXXXXXX1234

4.6.151 Code_Airline (Scalar)

Base type: string

Airline code as defined by IATA (two (2) characters) or the International Civil Aviation Organization (ICAO) (three (3) characters)

Constraints: minLength: 2, maxLength: 3, pattern: [A-Z0-9]{2}[A-Z]?

Example: K0

4.6.152 FlightNumber (Scalar)

Base type: string

Numeric part of the flight code as defined by IATA SISC

Constraints: minLength: 1, maxLength: 4, pattern: [0-9]{1,4}

Example: 1234

4.6.153 Code_AircraftType (Scalar)

Base type: string

Three-character IATA aircraft type designator

Constraints: minLength: 3, maxLength: 3, pattern: [A-Z0-9]{3}

Example: 380

4.6.154 Code_Airport (Scalar)

Base type: string

IATA three-character airport/city code

Constraints: minLength: 3, maxLength: 3, pattern: [A-Z]{3}

Example: LHR

SeatMap API: GetSeatMap GetSeatMap December 2017 77 Confidential and Proprietary Sabre Inc.

4.6.155 PhoneNumber (Scalar)

Base type: string

Passenger telephone number

Example: +48 12 12 23 123

4.6.156 Consent_Category (Scalar)

Base type: string

Consent category as defined in SSW

Example: XYZ

4.6.157 Consent_CategoryType (Scalar)

Base type: string

Consent category type as defined in SSW

Example: ABC

4.6.158 Hobby_Category (Scalar)

Base type: string

Hobby category as defined in SSW

Example: XY

4.6.159 Hobby_Code (Scalar)

Base type: string

Hobby code as defined in SSW

Example: ART

4.6.160 Code_Occupation (Scalar)

Base type: string

Occupation code as defined in SSW

Example: BAL

SeatMap API: GetSeatMap GetSeatMap December 2017 78 Confidential and Proprietary Sabre Inc.

4.6.161 Code_Tour (Scalar)

Base type: string

Tour code on a flight ticket that is a special code arranged between the travel agency and the sales representative for a particular airline. When the agent enters a tour code into the reservation and ticketing system, it inputs certain information onto the ticket. For example, agent commissions, specific fare rules that override the published fare rules, etc.

Constraints: minLength: 1, maxLength: 15, pattern: [a-zA-Z0-9]{1,15}

Example: AND12M

4.6.162 LoyaltyTierLevel (Composite)

Passenger’s loyalty account tier level. These levels are specific to each airline that offers a loyalty-type program.

Elements

Name type: sec:ShortString

Loyalty tier level, such as Gold, Silver, Platinum, etc.

Example: Gold

Number type: int

Loyalty tier level identifier

Tag type: sec:ShortString

Code that identifies a loyalty account tier level

Example: GLD

4.6.163 Code_PassengerType (Scalar)

Base type: string

Passenger type code. There is a set of standard passenger type codes, such as ADT for adult; however, each airline can also define customer types.

Constraints: minLength: 3, maxLength: 3, pattern: [A-Z0-9]{3}

4.6.164 PointsConversionRatio (Scalar)

Base type: decimal

Conversion factor used to recalculate loyalty points/miles to a monetary amount and vice versa.

Example: 0.000444

Constraints: minLength: 3, maxLength: 3, pattern: [A-Z0-9]{3}

SeatMap API: GetSeatMap GetSeatMap December 2017 79 Confidential and Proprietary Sabre Inc.

4.6.165 Enum_RoundingMode (ClosedEnumeration)

Literals

UP

Rounding mode to round away from zero. Always increments the digit prior to a non-zero discarded fraction. Note that this rounding mode never decreases the magnitude of the calculated value.

5.5 → 6 2.5 → 3 1.6 → 2 1.1 → 2 1.0 → 1 -1.0 → -1 -1.1 → -2 -1.6 → -2 -2.5 → -3 -5.5 → -6

DOWN

Rounding mode to round toward zero. Never increments the digit prior to a discarded fraction. Note that this rounding mode never increases the magnitude of the calculated value.

5.5 → 5 2.5 → 2 1.6 → 1 1.1 → 1 1.0 → 1 -1.0 → -1 -1.1 → -1 -1.6 → -1 -2.5 → -2 -5.5 → -5

CEILING

Rounding mode to round toward positive infinity. If the result is positive, it performs as it would for RoundingMode.UP; if negative, it performes at it would for RoundingMode.DOWN. Note that this rounding mode never decreases the calculated value.

5.5 → 6 2.5 → 3 1.6 → 2 1.1 → 2 1.0 → 1 -1.0 → -1 -1.1→ -1 -1.6 → -1 -2.5 → -2 -5.5 → -5

FLOOR

Rounding mode to round toward negative infinity. If the result is positive, it performs as it would for RoundingMode.DOWN; if negative, it performs as it would for RoundingMode.UP. Note that this rounding mode never increases the calculated value.

5.5 → 5 2.5 → 2 1.6 → 1 1.1 → 1 1.0 → 1 -1.0 → -1 -1.1→ -2 -1.6 → -2 -2.5 → -3 -5.5 → -6

HALF_UP

Rounding mode to round toward nearest number unless both numbers are equidistant, in which case it would round up. It performs as it would for RoundingMode.UP if the discarded fraction is >= 0.5; otherwise, it performs as it would for RoundingMode.DOWN. Note that this is the rounding mode commonly taught at school.

5.5 → 6 2.5 → 3 1.6 → 2 1.1 → 1 1.0 → 1 -1.0 → -1 -1.1 → -1 -1.6 → -2-2.5 → -3 -5.5 → -6

HALF_DOWN

Rounding mode to round toward nearest number unless both numbers are equidistant, in which case it would round down. It performs as it would for RoundingMode.UP if the discarded fraction is > 0.5; otherwise, it performs as it would for RoundingMode.DOWN.

5.5 → 5 2.5 → 2 1.6 → 2 1.1 → 1 1.0 → 1 -1.0 →-1 -1.1 → -1 -1.6 → -2 -2.5 → -2 -5.5 → -5

HALF_EVEN

Rounding mode to round towards the nearest number unless both numbers are equidistant, in which case it would round toward the even number. It performs as it would for RoundingMode.HALF_UP if the digit to the left of the discarded fraction is odd; it performs as it would for RoundingMode.HALF_DOWN if the number is even. Note that this is the rounding mode that statistically minimizes cumulative errors when applied repeatedly over a sequence of

SeatMap API: GetSeatMap GetSeatMap December 2017 80 Confidential and Proprietary Sabre Inc.

calculations. It is sometimes known as Banker’s rounding, and is primarily used in the USA. This rounding mode is analogous to the rounding policy used for float and double arithmetic in Java.

5.5 → 6 2.5 → 2 1.6 → 2 1.1 → 1 1.0 → 1 -1.0→ -1 -1.1 → -1 -1.6 → -2 -2.5 → -2 -5.5 → -6

4.6.166 Enum_ScalingMode (ClosedEnumeration)

Literals

NEAREST_1

Example: 12345.67 → 12345

NEAREST_10

Example: 12345.67 → 12340

NEAREST_100

Example: 12345.67 → 12300

NEAREST_1000

Example: 12345.67 → 12000

4.6.167 Enum_TaxType (ClosedEnumeration)

Tax application type

Literals

FLAT

Flat tax type

PROPORTIONAL

Proportional tax type

4.6.168 PaymentCard_SecurityCode (Scalar)

Base type: string

A three- or four-digit value printed on the card or signature strip, but not encoded on the magnetic strip. It is often required by merchants to secure transactions occurring over the Internet, by mail, fax or over the phone.

The following names are used by card issuers:

• CVC2 (Card Validation Code) for MasterCard

• CVV2 (Card Verification Value) for Visa

• CID (Card Identification Number) for Discover

• CID or unique card code for American Express

SeatMap API: GetSeatMap GetSeatMap December 2017 81 Confidential and Proprietary Sabre Inc.

4.6.169 PaymentCard_ApprovalCode (Scalar)

Base type: string

Code generated by the payment card authorization process as the part of payment transaction.

Example: 023

4.6.170 Credentials (Composite)

Username and password form of authentication

Constraints: minLength: 3, maxLength: 6

Elements

Username type: sec:ShortString (mandatory)

Username recognized by the system for which these credentials are used.

Example: alice

Password type: sec:ShortString (mandatory)

Password that matches the Username

Example: secret

4.6.171 Deal_OfferName (Scalar)

Base type: string

Constraints: minLength: 1, maxLength: 255

Example: MAY WEEKEND DISCOUNT

4.6.172 Deal_PromotionCode (Scalar)

Base type: string

Constraints: minLength: 1, maxLength: 255

Example: MAY2010

4.6.173 Deal_DealName (Scalar)

Base type: string

Constraints: minLength: 1, maxLength: 255

Example: SPRING DEAL

SeatMap API: GetSeatMap GetSeatMap December 2017 82 Confidential and Proprietary Sabre Inc.

4.6.174 ConversionRatio (ValueWithAttributes)

Ratio used to calculate the monetary equivalent of points/miles. For example, if the ratio is 0.25, then 20 points are equal to five (5) units of the currency, such as 20 = 5 / 0.25

Value

value type: sec:PointsConversionRatio

Attributes

minimumPoints type: sec:LoyaltyPoints

Minimum number of points that must remain unconverted. It is specified only if there is a minimum defined for the PriceElement to which it refers.

4.6.175 String_From1to35 (Scalar)

Base type: string

4.6.176 BinaryData (ValueWithAttributes)

Binary data, such as images, documents, etc.

Constraints: minLength: 1, maxLength: 35

Attributes

contentType type: sec:ContentType (mandatory)

Content type (also known as mime or media type) that specifies the type of binary content

Example: image/png

name type: sec:LongString

Optional name associated with binary data, such as a file name

Example: sample.png

4.6.177 ContentType (Scalar)

Base type: string

Content type (also known as mime or media type) that specifies the type of binary content

4.6.178 Enum_FlightScheduleStatus (ClosedEnumeration)

Flight status related to schedule

Literals

ON_TIME

Flight is departing or arriving on time

SeatMap API: GetSeatMap GetSeatMap December 2017 83 Confidential and Proprietary Sabre Inc.

DELAYED

Flight is departing or arriving later than scheduled

EARLY

Flight is departing or arriving earlier than scheduled

CANCELLED

Flight is cancelled

4.6.179 AircraftLease (Composite)

Details regarding the aircraft lease used to operate the flight. The industry has two (2) main leasing types: wet leasing, which is used for short-term leasing in cases such as accommodating a temporary increase in capacity; and dry leasing, which is used for long-term leases.

Elements

LessorAirline type: sec:Code_Airline

Airline that provides an aircraft to another airline. Depending on the lease type, it can also provide a complete crew, maintenance, and insurance.

Example: ZZ

MarketingText type: sec:ShortString

Free-text description that describes the relationship between lessor and lessee airlines, such as AIR ZZ FOR K0 AIRWAYS

Example: AIR ZZ FOR K0 AIRWAYS

4.6.180 SyntheticIdentifier (Scalar)

Base type: string

Pseudo identifier generated to identify a passenger when no other identifier is applicable or can be selected from a designated list

Constraints: minLength: 1, maxLength: 1000

Example: 4324143134214231412412

4.6.181 Rate (Scalar)

Base type: decimal

Recalculation rate

Example: 4324143134214231412412

SeatMap API: GetSeatMap GetSeatMap December 2017 84 Confidential and Proprietary Sabre Inc.

4.6.182 ContextualCode (ValueWithAttributes)

Code of unknown format accompanied with context representing the origin domain of the code

Constraints: fractionDigits: 15, totalDigits: 30

Attributes

context type: sec:ShortString

Origin domain of the code

Example: IATA

4.6.183 ClientIdentification (Composite)

Client identification data that provides end-user data. For example, if the service is used by a web application, the IP address of the customer computer (or IP address of the provider when a connection is established from the internal network), identifies the user.

Elements

IpAddress type: sec:ShortString

IP address

Example: 63.241.219.25

4.6.184 Deal (Composite)

Discount details applicable to the price

Attributes

type type: sec:Enum_DealType (mandatory)

Type of deal this structure represents

Elements

OfferName type: sec:Deal_OfferName (mandatory)

Name of the offer that identifies the discount

PromotionCode type: sec:Deal_PromotionCode

Promotion code considered when the request is processed

Amount type: sec:Money

Regulatory price amount in the original currency in which the fare was defined. It could also refer to the number of loyalty points present when the type is *_AMOUNT. If the value is a calculated value, then the percentage is also populated for reference.

Points type: sec:Amount

Discount represented in number of loyalty points

SeatMap API: GetSeatMap GetSeatMap December 2017 85 Confidential and Proprietary Sabre Inc.

Percentage type: sec:Amount

Discount represented in percentage of the price.

ConversionRatio type: sec:ConversionRatio

Details required to convert loyalty points/miles to a monetary amount. This element provides the client with all required data to allow dynamic recalculation of the returned amounts into loyalty points based on user inputs. If required, RoundingMode and ScalingMode are taken from the ConversionRules element in PriceBreakdown.

4.6.185 Enum_TravelPortionType (ClosedEnumeration)

Literals

ITINERARY

The whole itinerary

ITINERARY_PART

Itinerary part

FLIGHT

Flight

SEGMENT

Segment

4.6.186 Flight (Composite)

Structure used to represent a flight/sector/flight leg/segment (different names used for the same entity). This could be either a single portion of air travel determined as a pair of departure and arrival flights (flight leg), or many pairs (multi-leg flight) flown on the same equipment type with the same flight number and date.

Aliases

FlightSummary

Elements

Airline type: sec:Code_Airline (mandatory)

Marketing airline code

Example: K0

FlightNumber type: sec:FlightNumber (mandatory)

Flight number provided by the marketing airline

Example: 123

DepartureAirport type: sec:Code_Airport (mandatory)

Origin of the flight

Example: KRK

SeatMap API: GetSeatMap GetSeatMap December 2017 86 Confidential and Proprietary Sabre Inc.

DepartureTime type: dateTime (mandatory)

Departure date and time

ArrivalAirport type: sec:Code_Airport (mandatory)

Destination of the flight

Example: DFW

ArrivalTime type: dateTime (mandatory)

Arrival date and time

OperatingAirline type: sec:Code_Airline

Operating airline code, which could be different from the marketing airline code

Example: ZZ

OperatingFlightNumber type: sec:FlightNumber

Flight number of the operating airline, which could be different from the marketing airline

Example: 222

Equipment type: sec:Code_AircraftType

Code identifying the type of equipment used for the flight

Example: 747

4.6.187 FlightDetail (Composite)

extends sec:Flight

Elements

FlightStop type: sec:FlightStop (repeat 10)

Flight stop during a multi-leg flight for reasons such as refueling, etc. A single-leg scenario is not available.

Distance type: sec:Mileage

Distance of the flight in the selected unit of measure

Span type: sec:Enum_FlightSpan

Flight span, such as Domestic, International, etc.

Example: DOMESTIC

EstimatedDepartureTime type: dateTime

Estimated departure date and time, which is when the flight moves under airport control

EstimatedArrivalTime type: dateTime

Estimated arrival date and time, which is when the flight moves under airport control

DepartureFlightScheduleStatus type: sec:Enum_FlightScheduleStatus

Departure flight status as it relates to the schedule

SeatMap API: GetSeatMap GetSeatMap December 2017 87 Confidential and Proprietary Sabre Inc.

ArrivalFlightScheduleStatus type: sec:Enum_FlightScheduleStatus

Arrival flight status related to schedule.

BoardingTime type: dateTime

Time the aircraft is scheduled for boarding

DepartureTerminal type: sec:ShortString

Terminal designated for boarding.

Example: TERMINAL A

DepartureGate type: sec:TinyString

Gate designated for boarding

Example: A35

DepartureCountry type: sec:Code_Country

Code identifying the departure country

ArrivalCountry type: sec:Code_Country

Code of the arrival country

Commuter type: Boolean

Flag indicating whether this is a commuter flight. A commuter flight is operated by an airline that is not the marketing airline. It is similar to a codeshare flight, but is actually hosted by the marketing airline. One advantage of a commuter airline is that is has fewer restrictions than a marketing airline. For example, a boarding pass can be reprinted for a commuter flight, but it is not permitted for a codeshare flight.

AircraftLease type: sec:AircraftLease

Details regarding the aircraft lease used to operate the flight. The industry has two (2) main leasing types: wet leasing, which is used for short-term leasing in cases such as accommodating a temporary increase in capacity; and dry leasing, which is used for long-term leases.

ChangeOfGauge type: Boolean

Change of equipment on multi-leg flights. Note that flights with the same flight number do not always indicate that a flight should be marked as change of gauge; however, this change is only present for multi-leg flights, if applicable.

4.6.188 Code_AncillaryGroup (Scalar)

Base type: string

Ancillary group as defined by ATPCO. See Enum_AncillaryGroup in the AncillariesShopping: QueryAncillaries API Guide for mapping details.

Constraints: minLength: 1, maxLength: 3

Example: BG

SeatMap API: GetSeatMap GetSeatMap December 2017 88 Confidential and Proprietary Sabre Inc.

4.6.189 Code_AncillarySubCode (Scalar)

Base type: string

The Sub Code is either an industry- or carrier-defined code identifying a type of service. Industry-defined codes are available for all carriers or vendors to use, and contain standard definitions. Carrier-defined codes are available for a specific carrier or vendor only, and are defined by that carrier or vendor. All industry-defined Sub Codes are maintained by ATPCO. Carrier-defined Sub Codes are maintained by each carrier or vendor using the code. If the content comes from MTS, this code is the Special Service Request (SSR) code associated to the service.

Constraints: minLength: 3, maxLength: 4

Example: 0FN

4.6.190 Code_SSIM (Scalar)

Base type: string

Standard Schedules Information Manual (SSIM) code

Constraints: minLength: 1

Example: H

4.6.191 ConversionRules (Composite)

Rules that have been configured to provide details that convert loyalty points/miles into a monetary amount. This element provides all required data to allow dynamic recalculation of the returned amounts into loyalty points based on user inputs. The calculation is based on the monetary amount/ratio. The result is adjusted to the designated scaling mode and rounded, if required.

Example: H

Elements

ScalingMode type: sec:Enum_ScalingMode

Scale indicating the calculated converted value

RoundingMode type: sec:Enum_RoundingMode

Rounding mode used when the converted value is calculated

MinimumPoints type: sec:LoyaltyPoints

Minimum points required for dynamic conversion

4.6.192 Percent (Scalar)

Base type: decimal

Percentage value

Constraints: fractionDigits: 4

Example: 156.59

SeatMap API: GetSeatMap GetSeatMap December 2017 89 Confidential and Proprietary Sabre Inc.

4.6.193 Enum_Deck (ClosedEnumeration)

Literals

MAIN

UPPER

OTHER

4.6.194 Deck (ValueWithAttributes)

Deck code assigned to a multi-deck aircraft. If not specified, the row is located on the main deck of the aircraft cabin. If the aircraft contains an upper deck, the UPPER code is specified.

Attributes

code type: sec:Code_Deck

Custom deck code. Used only with OTHER deck value. Allows to accommodate new deck codes without contract/enum extension and used until the new codes are added to the new version of contract.

Example: MIDDLE

4.6.195 Code_Deck (Scalar)

Base type: string

Deck code assigned to a multi-deck aircraft. If not specified, the row is located on the main deck of the aircraft cabin. If the aircraft contains an upper deck, the UPPER code is specified.

4.6.196 Segment (Composite)

Flight segment for which the seat map is requested. This could also include the segment description associated with the seat map returned in the response. It is mandatory when the SeatMapContext RecordLocator element is missing; it is optional when the SeatMapContext RecordLocator element is present. The seat map is returned for all un-flown flights in the reservation when Segment elements are missing, or it is returned only for the segment specified in the search criteria. In addition, it could also pertain to a flight segment(s) to which ancillary pricing parameters apply.

Elements

SyntheticIdentifier type: sec:SyntheticIdentifier

Pseudo identifier generated to identify a passenger when no other identifier is applicable or can be selected from a designated list

FlightDetail type: sec:FlightDetail (mandatory, repeat 10)

Flight details. In cases other than Change of Gauge (COG) or through-flights, only a single element is expected.

SeatMap API: GetSeatMap GetSeatMap December 2017 90 Confidential and Proprietary Sabre Inc.

FareInfo type: sec:FareInfo (mandatory, repeat 10)

Fare information, which is usually a single element. However, multiple elements can be provided to allow representation of various fare details associated with several passenger types on the same flight segment.

4.6.197 Segments (Composite)

Used to group segments

Elements

Segment type: sec:Segment (mandatory, repeat 1000)

Flight segment for which the seat map is requested. This could also include the segment description associated with the seat map returned in the response. It is mandatory when the SeatMapContext RecordLocator element is missing; it is optional when the SeatMapContext RecordLocator element is present. The seat map is returned for all un-flown flights in the reservation when Segment elements are missing, or it is returned only for the segment specified in the search criteria. In addition, it could also pertain to a flight segment(s) to which ancillary pricing parameters apply.

4.6.198 ItineraryPart (Composite)

Portion of the itinerary that identifies a seat price request, or any corresponding ancillaries. ItineraryPart is a mandatory element, particularly if the RecordLocator is missing. If the itinerary part is provided with the RecordLocator, it must reflect the itinerary from the reservation request.

Attributes

type type: sec:Enum_ItineraryPartType (mandatory)

Type of itinerary part, such as INBOUND, INBOUND, etc.

Elements

FlightDetail type: sho:FlightDetail (mandatory, repeat 10)

Flight details. In cases other than Change of Gauge (COG) or through-flights, only a single element is expected.

Duration type: sec:DurationInMinutes

Duration of the itinerary part, which is considered to be the time between the departure of the first sector of the flight and the arrival of the last sector

Stops type: int

Number of sectors in the itinerary part minus one

MarriageGroup type: sho:MarriageGroup (repeat 10)

Group of married flights. Many airlines link connection flights together by terming them as married segments. When two or more segments are married, they must be processed as one unit. For example, segments must be moved, cancelled, and/or priced together as one unit.

SeatMap API: GetSeatMap GetSeatMap December 2017 91 Confidential and Proprietary Sabre Inc.

4.6.199 ItineraryParts (Composite)

List of the itinerary portions of a flight that identifies a seat price request, or any corresponding ancillaries. ItineraryPart is a mandatory element, particularly if the RecordLocator is missing. If the itinerary part is provided with the RecordLocator, it must reflect the itinerary from the reservation request.

Elements

ItineraryPart type: sec:ItineraryPart (mandatory, repeat 1000)

Portion of the itinerary that identifies a seat price request, or any corresponding ancillaries. ItineraryPart is a mandatory element, particularly if the RecordLocator is missing. If the itinerary part is provided with the RecordLocator, it must reflect the itinerary from the reservation request.

4.6.200 FareInfo (Composite)

Air fare attributes, such as booking class, fare basis code, etc.

Elements

BookingClass type: sec:Code_BookingClass (mandatory)

Cabin booking class code, also known as RBD (Reservations/Booking Designator) that contains one (1) uppercase alpha character. If the code is not specified, seat maps for all booking classes are retrieved.

CabinClass type: sec:Enum_CabinClass

Cabin class, such as ECONOMY. Multiple classes can be requested, however only a single cabin class is currently supported. Although, this attribute is optional, it must be provided in almost all cases; otherwise, an error is returned. The exception is that the cabin class should not be provided for legacy redemption shopping.

FareBasisCode type: sec:ShortString

Alpha or alphanumeric code that describes the fare type and its applicable fare rules

Example: XZDAU1

Brand type: sec:Code_FareBrand

Fare brand code

GoverningAirline type: sec:Code_Airline

Governing carrier whose fares are used on a designated Fare Component. If there is an interline fare component, the governing carrier is selected based on criteria established by IATA. Note that changing the validating airline does not change the governing airline.

Amount type: sec:Amount

Regulatory price amount in the original currency in which the fare was defined. It could also refer to the number of loyalty points present when the type is *_AMOUNT. If the value is a calculated value, then the percentage is also populated for reference.

SeatMap API: GetSeatMap GetSeatMap December 2017 92 Confidential and Proprietary Sabre Inc.

Type type: sec:Code_FareType

Code identifying specific categories or groups of fares, such as normal, special, refundable, non-refundable, exchangeable, etc.

Example: NLX

AtpcoTariff type: short

ATPCO tariff number (geographically based) that indicates the fare paid for the travel with the priced service is governed by a specific rule. Each fare is determined by the tariff given by the fare market.

AtpcoRule type: sec:TinyString

Rule indicating that the fare paid for the travel (with the priced service) is governed by a specific rule. Each fare has a rule, which links the fare and the rule categories, and is defined by the airline.

Example: WB05

Vendor type: sec:FareVendor

Entity filing the fare, such as ATPCO or SITA

PrivateTariff type: Boolean

Flag indicating whether the fare is governed by a private or public ATP tariff. Options are either TRUE or FALSE.

DiscountCategory type: sec:DiscountCategories

Numeric value specifying that the fare paid for the travel with the priced service has been created from various categories. For example, categories 19-22 apply to Discounts, category 25 applies to Fare by Rule, and category 35 applies to Negotiated Fare Restrictions.

4.6.201 DiscountCategories (Scalar)

Base type: string

Constraints: pattern: 19|20|21|22|25|35

4.6.202 Code_FareType (Scalar)

Base type: string

Constraints: pattern: [A-Z0-9]{1,3}

Example: ABC

SeatMap API: GetSeatMap GetSeatMap December 2017 93 Confidential and Proprietary Sabre Inc.

4.6.203 FareVendor (ValueWithAttributes)

Entity who filed the fare

Value

value type: sec:Enum_FareVendor

Attributes

code type: sec:Code_Vendor

4.6.204 Code_Vendor (Scalar)

Base type: string

Value

ATP

ATPCO

SITA

SITA

SMFC

SABRE MYFARES/FARES WEB SERVICE - AIRLINES /PCC/*

SABRE MYFARES/FARES WEB SERVICE - SUBSCRIBERS

Note Fares filed via Sabre myfares/fares web service uses the actual pseudo city code of the agency that filed the fare.

Constraints: minLength: 1, maxLength: 4

4.6.205 Enum_FareVendor (ClosedEnumeration)

Literals

ATPCO

SITA

SABRE_MYFARES_AIRLINES

SABRE_MYFARES_SUBSCRIBERS

4.6.206 Passenger (Composite)

Passenger details

Elements

Type type: sec:Enum_PassengerType

Type of passenger to which a specific action, such as a discount, upgrade, etc., applies. The action taken directly correlates with one or multiple Service Engine Services.

SeatMap API: GetSeatMap GetSeatMap December 2017 94 Confidential and Proprietary Sabre Inc.

In this case, if it is an Other PassengerType, an extension is used to populate the passengerType and looks like the following:

<Type extention="CMM">Other</Type>

Example: Other

PassengerIdentifier type: sec:PassengerIdentifier

Code that uniquely identifies the passenger

PersonName type: sec:PersonName

Passenger name

DateOfBirth type: date

Date of birth

LoyaltyAccount type: sec:LoyaltyAccount (repeat 5)

Loyalty account details of the user who performs the Service request

4.6.207 Passengers (Composite)

List of passengers used to customize returned seat map availability and prices. Depending on the underlying configuration and downline systems, the customization can be done by a:

• Passenger type (ADULT, CHILD)

• Loyalty account tier level

• Combination of passenger type and loyalty account tier level.

For pricing in POINTS, to properly convert currency to points, a corresponding passenger fare is required.

Based on the number of passengers passed and the underlying configuration, one (1) or more seat maps can be returned. Moreover, each seat map can also be applicable to one (1) or more passengers.

Passenger details can also include the type and number of passengers. Note, however:

• Multiple elements are allowed

• Each element is specific to a passenger type

• Total number of requested passengers for all types cannot exceed 99

• The number of requested passengers for each type cannot exceed 99

• Passenger types cannot be duplicated.

Elements

SeatMapPassenger type: smp:SeatMapPassenger (mandatory, repeat 99)

Passenger whose data is used to customize returned seat map availability and prices. The following combinations of elements are supported for pricing in currency:

o PersonName (first, last and middle), LoyaltyAccount/memberAirline, and LoyaltyAccount/memberId

SeatMap API: GetSeatMap GetSeatMap December 2017 95 Confidential and Proprietary Sabre Inc.

o PersonName (first, last and middle), LoyaltyAccount/memberAirline, and LoyaltyAccount/memberId, Type

o Type For pricing in points, PassengerFareRef is required and must correspond to a PassengerFare having the same passenger type as this Passenger element.

Elements

Passenger type: sec:Passenger (mandatory, repeat 1000)

Passenger details

4.6.208 ItineraryPartRefs (ScalarList)

Base type: sec:ItineraryPart

List of references to an ItineraryPart

4.6.209 SegmentRefs (ScalarList)

Base type: sec:Segment

List of references to a Segment

4.6.210 TravelPortion (Composite)

Portion of travel to which a deal applies. The type attribute determines which of the optional elements are present.

• If type=ITINERARY_PART, ItineraryPartRefs is present

• If type=SEGMENT, SegmentRefs is present

• If type=FLIGHT, FlightRefs is present

• If type=ITINERARY, ItineraryPartRefs, SegmentRefs, and FlightRefs are not present.

Attributes

type type: sec:Enum_TravelPortionType (mandatory)

Type of travel portion, such as itinerary part, flight, etc.

Elements

ItineraryPartRefs type: sec:ItineraryPart (repeat unbounded)

Travel portion/discount that applies to each itinerary part. This can include XML references, as well as ItineraryPart elements. The same loyalty data values apply to each itinerary part specified.

For example, BasePoints = 10000 references itinerary parts ip1 and ip2, as well as the total for ip1 and ip2, which is 20000. If missing, this structure applies to all itinerary parts.

FlightRefs type: sho:FlightDetail (unbounded)

List of XML-referenced flights. Flights must be provided in sequence.

SeatMap API: GetSeatMap GetSeatMap December 2017 96 Confidential and Proprietary Sabre Inc.

4.6.211 PointOfSale (Composite)

Service consumer Point of Sale (POS) details that can vary depending on the distribution channel and technology used. This example uses the WEB distribution channel for which ServerInfo and BrowserInfo are provided. A single, functional agent is provided for all web users; however, one can be provided if the agent stored in the configuration should be overridden. The AGENT distribution channel, AgentIdentification, is critical because each agent uses its own identification data for each transaction. The KIOSK distribution channel, in some cases, mandates the Identifier element as mandatory if it represents the device identification relative to this context.

Elements

BusinessTransactionType type: sec:Enum_BusinessTransactionType

Type of business transactions executed by the POS. It can be either a retailer type of transaction (B2C) or agency (B2B). If not provided, the system determines the type of transaction based on the stored configuration.

DistributionChannel type: sec:DistributionChannel

Channel of product distribution. If not provided, the system determines the distribution channel based on the stored configuration.

Identifier type: sec:MediumString

POS identifier used for a distribution channel, such as a KIOSK, which represents the device identifier.

Example: ABCDEF

Country type: sec:Code_Country

Country that determines the currency in the response based on the internal Service Engine configuration. If the Currency element is populated, it overrides the country currency.

AgentIdentification type: sec:AgentIdentification

Travel agent sending the request

Note Service Engine services use Pseudo City and Office Account Code details provided in this element. If not provided, the system attempts to locate the information based on the stored configuration using BusinessTransactionType, Country, and details from the itinerary.

ServerInfo type: sec:ServerInfo

Web distribution channel that provides information about the web server used by web clients to execute an operation.

BrowserInfo type: sec:BrowserInfo

Information regarding the web browser used to execute the Service

PrinterAddress type: sec:AlphaNumericString

Printer address

SeatMap API: GetSeatMap GetSeatMap December 2017 97 Confidential and Proprietary Sabre Inc.

4.6.212 ServerInfo (Composite)

Web distribution channel that provides information about the web server used by web clients to execute an operation, such as payment services.

Elements

HostName type: string

Example: pos-server.com

IpAddress type: string

IP address

Example: 10.1.0.5

4.6.213 BrowserInfo (Composite)

Web distribution channel that provides information about the web browser used by web clients to execute an operation, such as payment services.

Elements

SessionId type: string (mandatory)

Session ID

Example: 2350C24FAD804EDB4A6789A12E3DF929

HostName type: string

Example: client-server.com

IpAddress type: sec:ShortString

IP address

Example: 176.4.1.8

HttpHeader type: sec:HttpHeader (repeat 50)

4.6.214 Agent_DutyCode (Scalar)

Base type: string

Constraints pattern: [1-9#@'*\-/]

4.6.215 Agent_Lniata (Scalar)

Base type: string

Constraints: maxLength: 6, pattern: [A-F0-9]+

SeatMap API: GetSeatMap GetSeatMap December 2017 98 Confidential and Proprietary Sabre Inc.

4.6.216 AgentIdentification (Composite)

Travel agent sending the request. If not provided, the system attempts to locate the information based on the stored configuration using BusinessTransactionType, Country, and details from the itinerary.

Elements

PseudoCityCode type: sec:Agent_PseudoCityCode

Identification code assigned to an office or agency by a reservation system

PersonalCityCode type: sec:Agent_PersonalCityCode

City code identifier included in the Office Accounting Code

AccountingCode type: sec:Agent_AccountingCode

Accounting Code identifier included in the Office Accounting Code

OfficeCode type: sec:Agent_OfficeCode

Office Code part of Office Accounting Code

Sine type: sec:TinyString

Agent or party within the requesting entity

DutyCode type: sec:Agent_DutyCode

Authority code assigned to a requestor.

Lniata type: sec:Agent_Lniata

LNIATA of the console into which the agent signed in

4.6.217 Enum_DistributionChannel (ClosedEnumeration)

Distribution channels

Literals

WEB

Web application

KIOSK

Dedicated device usually located at the airport

AGENT

Application used by an agent (airline or travel agency employee)

OTHER

Distribution channel not defined by other values

SeatMap API: GetSeatMap GetSeatMap December 2017 99 Confidential and Proprietary Sabre Inc.

4.6.218 DistributionChannel (ValueWithAttributes)

Value

value type: sec:Enum_DistributionChannel

Attributes

name type: sec:ShortString

Example: MOBILE

4.6.219 Enum_BusinessTransactionType (ClosedEnumeration)

Literals

B2C

Regular retail customers

B2B

Agencies, corporations, and other types of business

4.6.220 Enum_HttpHeaderName (ClosedEnumeration)

Literals

CACHE_CONTROL

Corresponds to "Cache-Control" HTTP header.

Example value: "max-age=0"

CONTENT_TYPE

Corresponds to "Content-Type" HTTP header.

Example value: "application/x-www-form- urlencoded"

COOKIE

Corresponds to "Cookie" HTTP header.

Example value: "JSESSIONID=2350C24FAD804EDB4A6789A12E3DF929; WLPCOOKIE=localhostnull"

CONNECTION

Corresponds to "Connection" HTTP header.

Example value: "keep-alive"

HOST

Corresponds to "Host" HTTP header.

Example value: "localhost:8443"

SeatMap API: GetSeatMap GetSeatMap December 2017 100 Confidential and Proprietary Sabre Inc.

ACCEPT_LANGUAGE

Corresponds to "Accept-Language" HTTP header.

Example value: "pl-PL,pl;q=0.8,en- US;q=0.6,en;q=0.4"

CONTENT_LENGTH

Corresponds to "Content-Length" HTTP header.

Example value: "2688"

ACCEPT

Corresponds to "Accept" HTTP header.

Example value: "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8"

ORIGIN

Corresponds to "Origin" HTTP header.

Example value: "https://localhost:8443"

USER_AGENT

Corresponds to "User-Agent" HTTP header.

Example value: "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36"

REFERER

Corresponds to "Referer" HTTP header.

Example value: "https://localhost:8443/SSW2010/VAVA/webqtrip.html?execution=e1s7"

ACCEPT_ENCODING

Corresponds to "Accept-Encoding" HTTP header.

Example value: "gzip,deflate,sdch"

ACCEPT_CHARSET

Corresponds to "Accept-Charset" HTTP header.

Example value: "utf-8"

OTHER

Non-standard HTTP header

4.6.221 HttpHeader (ValueWithAttributes)

Value

value type: string

Example: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8

SeatMap API: GetSeatMap GetSeatMap December 2017 101 Confidential and Proprietary Sabre Inc.

Attributes

name type: sec:Enum_HttpHeaderName (mandatory)

customName type: string

Example: X-Requested-With

4.6.222 Agent_PersonalCityCode (Scalar)

Base type: string

City code part of an Office Accounting Code

Constraints: minLength: 3, maxLength: 4, pattern: [0-9A-Z]{3,4}

Example: GYP

4.6.223 Agent_PseudoCityCode (Scalar)

Base type: string

Identification code assigned to an office/agency by a reservation system

Constraints: minLength: 1, maxLength: 16

Example: GYP

4.6.224 Agent_AccountingCode (Scalar)

Base type: string

Accounting Code identifier included in the Office Accounting Code

Constraints: minLength: 2, maxLength: 3, pattern: [0-9a-zA-Z]{2,3}

Example: RE

4.6.225 Agent_OfficeCode (Scalar)

Base type: string

Office Code part of the Office Accounting Code

Constraints: minLength: 7, maxLength: 7, pattern: [0-9]{7}

Example: 9920401

SeatMap API: GetSeatMap GetSeatMap December 2017 102 Confidential and Proprietary Sabre Inc.

4.6.226 Enum_RetrievalContext (ClosedEnumeration)

Retrieval options used to indicate which additional data should be returned in addition to the standard set

Literals

CHECK_IN

CheckIn-related data using applicable downline systems

BOOKING

Booking-related data using applicable downline systems

4.6.227 Identifier_LoyaltyProgram (Scalar)

Base type: string

Company owner of the loyalty program

Constraints: minLength: 1, maxLength: 16

Example: 1123344

4.6.228 Enum_DealType (ClosedEnumeration)

Custom deals defined in the system

Literals

DISCOUNT

Deal that decreases a price

RISE

Deal that increases a price

4.6.229 Code_ReasonForIssuance (Scalar)

Base type: string

Reason for issuance as defined by ATPCO. See Enum_AncillaryReasonForIssuance for mapping details.

Constraints: minLength: 1, maxLength: 1, pattern: [A-Z]{1}

Example: R

4.6.230 Code_AirlineAccounting (Scalar)

Base type: string

Constraints: minLength: 3, maxLength: 3, pattern: [0-9]{3}

Example: 001

SeatMap API: GetSeatMap GetSeatMap December 2017 103 Confidential and Proprietary Sabre Inc.

4.6.231 Code_TicketCheckDigit (Scalar)

Base type: string

Constraints: minLength: 1, maxLength: 1, pattern: [0-6]{1}

Example: 6

4.6.232 TicketNumber (Composite)

Airline ticket number. The number attribute represents the full ticket number, including all of its components, such as the airline accounting code, stock number, and check digit. Other elements are present only when available.

Attributes

number type: sec:TinyString (mandatory)

Full ticket number including all of its components, such as the airline accounting code, stock number, and check digit.

Example: 00121250016462

Elements

AirlineAccountingCode type: sec:Code_AirlineAccounting

IATA-assigned three-digit number unique to each airline. It is the first three (3) digits of a ticket number.

Example: 001

SerialNumber type: sec:TinyString

Ticket serial number

Example: 2125001646

CheckDigit type: sec:Code_TicketCheckDigit

Ticket number check digit that is calculated as a concatenation of the airline accounting code and the serial number.

Example: 2

4.6.233 NonNegativeInteger (Scalar)

Base type: int

Constraints: minInclusive: 0

Example: 25

4.6.234 PositiveInteger (Scalar)

Base type: int

Constraints: minInclusive: 1

SeatMap API: GetSeatMap GetSeatMap December 2017 104 Confidential and Proprietary Sabre Inc.

4.6.235 SpecialServiceCodes (ScalarList)

Base type: sec:Code_SpecialService

List of special service codes

Constraints: minInclusive: 1

4.6.236 Size (ValueWithAttributes)

Attributes

unit type: sec:Enum_SizeUnit (mandatory)

4.6.237 Enum_SizeUnit (ClosedEnumeration)

Literals

CENTIMETER

INCH

METER

FEET

4.6.238 PassengerIdentifier (Composite)

Attributes

nameNumber type: sec:Pnr_NameNumber

Example: 01.01

nameAssociationId type: sec:MediumString

Example: 2773627635452

Elements

SyntheticIdentifier type: sec:SyntheticIdentifier

4.6.239 Enum_AirExtraPaymentStatus (ClosedEnumeration)

Literals

PENDING

Ancillary has been selected by the passenger, but has not yet been purchased

FULFILLED

Ancillary has been selected and purchased by the passenger

WAIVED

Ancillary has been selected by the passenger, but purchase is not required since the payment has been waived

SeatMap API: GetSeatMap GetSeatMap December 2017 105 Confidential and Proprietary Sabre Inc.

4.6.240 Number_TicketCoupon (Scalar)

Base type: string

Number of the ticket coupon linked to the flight.

4.6.241 Property (ValueWithAttributes)

Single property (name/value pair)

Example: 01

Attributes

name type: sec:PropertyName (mandatory)

Example: height

4.6.242 PropertyName (Scalar)

Base type: string

Name of a property

4.6.243 WeightValue (Scalar)

Base type: decimal

Example: aNameOfSomeProperty

4.6.244 Number_SequenceNumber (Scalar)

Base type: string

Three- to five-digit number, including leading zeros

Example: 00123.44

4.6.245 PropertyDefinition (Composite)

Dynamic property definition

Constraints: minLength: 1, pattern: [0-9]{3,5}

Attributes

name type: sec:MediumString (mandatory)

Name of a property

Example: WEIGHT

type type: sec:Enum_PropertyType (mandatory)

Type of property

SeatMap API: GetSeatMap GetSeatMap December 2017 106 Confidential and Proprietary Sabre Inc.

min type: integer

Minimum value for a property

Example: 0

max type: integer

Maximum value for a property

Example: 20

unit type: sec:ShortString

Unit of the value

Example: KG

optional type: Boolean

Property is optional. If this attribute contains no value, or is not present the Property is required.

Elements

AllowedValue type: sec:MediumString (repeat 100)

Example: DOG

4.6.246 Enum_PropertyType (ClosedEnumeration)

Literals

INT

DECIMAL

TEXT

ENUM

4.6.247 DynamicCurrencyConversion (Composite)

Offer of Dynamic Currency Conversion payment

Elements

Amount type: sec:Money (mandatory)

Regulatory price amount in the original currency in which the fare was defined. It could also refer to the number of loyalty points present when the type is *_AMOUNT. If the value is a calculated value, then the percentage is also populated for reference.

OriginalAmount type: sec:Money (mandatory)

Original amount in terminal (POS) currency

ExchangeRateInfo type: sec:ExchangeRateInfo (mandatory)

Exchange rate details used for amount calculation. It includes merchant margin rate.

SeatMap API: GetSeatMap GetSeatMap December 2017 107 Confidential and Proprietary Sabre Inc.

SupplierIdentifier type: sec:DynamicCurrencyConversionSupplierIdentification

Identification of the supplier of the DCC solution

Example: FEXCO

4.6.248 DynamicCurrencyConversionSupplierIdentification (Scalar)

Base type: string

4.6.249 ExchangeRateBasedOnName (Scalar)

Base type: string

Name of the provider of the exchange rate used as a base for the final exchange rate returned to the consumer.

Constraints: minLength: 1, maxLength: 8

4.6.250 ExchangeRateInfo (Composite)

Elements

Rate type: sec:Rate (mandatory)

Exchange rate used to calculate amount in payment card native currency from the original POS currency. It includes merchant margin rate.

Margin type: sec:Rate

Applicable merchant margin rate

BasedOn type: sec:ExchangeRateBasedOnName

Name of the provider of the exchange rate used as a base for the final exchange rate returned to the consumer.

Example: REUTERS WHOLESALE INTERBA

4.6.251 Enum_FormOfPaymentType (ClosedEnumeration)

Literals

PAYMENT_CARD

Credit or debit card

LOYALTY

Loyalty points/miles

EBANK

eBank, such as Travel Bank

GIFT_CARD

Gift card

SeatMap API: GetSeatMap GetSeatMap December 2017 108 Confidential and Proprietary Sabre Inc.

VOUCHER

UATP eVoucher.

CHECK

Check

CASH

Cash

OFFLINE

Payment is made offline (not at the same time when booking) either at a designated location/retailer or over the Internet

POLI

POLi internet payment

SMART_LINK

SmartLink internet or offline payment

PAYPAL

PayPal internet payment

DIRECT_DEBIT

Financial transaction where a fare is automatically deducted from the passenger bank account.

OTHER

Not yet defined

4.6.252 Code_SegmentStatus (Scalar)

Base type: string

Low-level status code used by the Reservation/CheckIn system

4.6.253 Enum_PaymentCardType (ClosedEnumeration)

Literals

CREDIT_CARD

PaymentCardType is a credit card

DEBIT_CARD

PaymentCardType is a debit card

SeatMap API: GetSeatMap GetSeatMap December 2017 109 Confidential and Proprietary Sabre Inc.

4.6.254 PriceModifier (Composite)

Price modifier containing applicable discount or markup

Elements

Markup type: sec:PriceElement

Applicable markup

Discount type: sec:PriceElement

Applicable discount

OriginalBase type: sec:PriceElement (mandatory)

Base price without markup/discount

4.6.255 Service_Code_Storefront (Scalar)

Base type: string

Numeric or alphanumeric storefront code ten (10) characters in length

Constraints: minLength: 2, maxLength: 10, pattern: [A-Z0-9]{2,10}

Example: K0K0

4.6.256 Context (Composite)

Context used to execute an operation

Elements

Airline type: svc:Service_Code_Airline (mandatory)

Unique code (per airline) that identifies a storefront

Example: K0

Storefront type: svc:Service_Code_Storefront (mandatory)

Operation storefront

Example: K0K0

Configuration type: svc:ConfigurationVersionId

Configuration version ID used by Service Engine. A single, Service Engine client session should always use the same configuration version to receive consistent responses and avoid changing an active configuration during a client session. If Configuration is not provided in the request, Service Engine uses the active configuration and returns its ID in the response.

SessionPropagation type: svc:Enum_SessionPropagation

Indicator that defines how a USG session should be created. The default behavior is equivalent to specifying REQUIRES_NEW. (See description in item 4.6.257 Enum_SessionPropagation (ClosedEnumeration) below.)

SeatMap API: GetSeatMap GetSeatMap December 2017 110 Confidential and Proprietary Sabre Inc.

4.6.257 Enum_SessionPropagation (ClosedEnumeration)

REQUIRED – If session is provided in the request header, it is reused; otherwise, a new session is created by Service Engine.

REQUIRES_NEW – Service Engine manages the request in its own USG session.

MANDATORY – Session must be provided in the request header; otherwise, an error is returned.

Literals

REQUIRED

REQUIRES_NEW

MANDATORY

4.6.258 Enum_StatusType (ClosedEnumeration)

Literals

ERROR

WARNING

SUCCESS

4.6.259 Status (Composite)

Attributes

type type: svc:Enum_StatusType (mandatory)

code type: svc:Service_String_Short

Example: VALIDATION_ERROR

Elements

Message type: svc:Service_String_Long

Application-specific code and message. It is a textual description to provide more information about the specific condition, warning, or error displaying a code attribute as a numeric value.

Example: Only two (2) passenger types are allowed.

4.6.260 Service_Code_Airline (Scalar)

Base type: string

Airline code as defined by IATA (two (2) characters)

Constraints: minLength: 2, maxLength: 2, pattern: [A-Z0-9]{2}

Example: K0

SeatMap API: GetSeatMap GetSeatMap December 2017 111 Confidential and Proprietary Sabre Inc.

4.6.261 Service_String_Short (Scalar)

Base type: string

Same as String_Short from STL2

Constraints: minLength: 1, maxLength: 100

Example: A short string

4.6.262 Service_String_Long (Scalar)

Base type: string

Same as String_Long from STL2

Constraints: minLength: 1, maxLength: 1000

Example: Very long string

4.6.263 ConfigurationVersionId (Scalar)

Base type: string

Configuration version used

Constraints: minLength: 1, maxLength: 100, pattern: \S{1,100}

Example: 123

4.6.264 Code_Country_Extended (Scalar)

Base type: string

Two- or three-alpha character country code. This type was added not only for support of ISO 3166-1 alfa-3 country codes, but also for support of three-alpha character ICAO codes, which are not part of ISO 3166-1 alfa-3.

Constraints: minLength: 2, maxLength: 2, pattern: [A-Z]{2,3}

Example: GBO

SeatMap API: GetSeatMap GetSeatMap December 2017 112 Confidential and Proprietary Sabre Inc.

• • •