MISC Web Service User Guide 1.6.2 -...

352
Version #1.6.2 February 6, 2019 User Guide Miscellaneous Sales and Service (MISC) via the Web Service

Transcript of MISC Web Service User Guide 1.6.2 -...

Version #1.6.2

February 6, 2019

User Guide Miscellaneous Sales and Service (MISC) via

the Web Service

Document Edition 1.6.2

This documentation is the confidential and proprietary intellectual property of the Sabre Airline Solution® 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 Airline Solutions, the Sabre Airline Solutions logo, Sabre Holdings, the Sabre Holdings logo, Sabre Travel Network, the Sabre Travel Network logo, AirCentre, AirCommerce, AirVision, ASx, MyFares, Qik, Sabre, SabreSonic, Service360° and Virtually There are trademarks and/or service marks of an affiliate of Sabre Holdings Corp. All other trademarks, service marks and trade names are the property of their respective owners.

© 2019 Sabre Inc. All rights reserved. 02_2019

Name of Product Table of Contents 19 March 2019 iii Confidential and Proprietary Sabre Airline Solutions

Document Revision Information

Date Revised by Reason for Revision Revision Control No.

05 Jun 2012 Denise Bowen / David Priddy

Creation 1.0

20 Jul 2012 Denise Bowen Added EMD MISC WS Scenarios

27 Aug 2012 Denise Bowen Updated feedback from Ticketing Team

10 Sept 2012 Denise Bowen / Kerri Baxley

Improved definition for EMD to EMD Exchange web services: CalculateExchangeCostRQ and ExchangeDocumentforEMDRQ.

1.4.2

07 October 2015

Stephanie Schulko Updated CollectMiscFee for EMD to 1.3.5 1.3.0

10 February 2016

Stephanie Schulko Updated CollectMiscFee for EMD to 1.3.6 1.4.0

14 November 2016

Stephanie Schulko Updated CollectMiscFee for EMD to 1.3.7 1.5.0

28 March 2017

Stephanie Schulko Updated CollectMiscFee for EMD to 1.4.0 1.6.0

12 April 2017 Stephanie Schulko Updated CollectMiscFee for EMD to 1.4.1 1.6.1

6 February 2019

Stephanie Schulko Updated section 2.5 for Issuing an MSR with APAY

1.6.2

Name of Product Table of Contents 19 March 2019 iv Confidential and Proprietary Sabre Airline Solutions

Table of Contents

1 I n t r o d u c t i o n

1.1 Overview .................................................................................................................................................. 1 1.2 Purpose of this Guide ............................................................................................................................... 1

1.2.1 Important Note About Web Services in this Guide: ................................................................... 1 1.2.2 Additional User Guides .............................................................................................................. 2

1.3 MISC Web Service Account Code Table (MISC*ALL) ............................................................................. 2 1.4 Important Concepts to Know .................................................................................................................... 2

1.4.1 Linked vs Grouped: ................................................................................................................... 2 1.4.2 Group (GRP) Number: ............................................................................................................... 3

1.5 XML Version In Guide vs. Production or Test Environments ................................................................... 3 1.6 Sabre Dev Studio ..................................................................................................................................... 4 1.7 Sabre Dev Studio Links ............................................................................................................................ 4 1.8 End Points ................................................................................................................................................ 5 1.9 MISC Web Service Major Functional Divisions ........................................................................................ 5

1.9.1 EMD Specific MISC Web Service Functions ............................................................................. 6

2 M S R / E X B M I S C W e b S e r v i c e S c e n a r i o s

2.1 Issue MSR with Amount from GetMiscFeesRQ ....................................................................................... 7 2.1.1 Get MISC Fees .......................................................................................................................... 7

2.1.1.1 Display MISC*ALL ........................................................................................................ 7 2.1.2 Collect MISC Fee .................................................................................................................... 21

2.2 Get EXB MISC Fees for Specific City Pair (GetMISCFeesRQ) ............................................................. 29 2.3 Issue EXB Document for Multiple Baggage Items (CollectMISCFee) .................................................... 33

2.3.1 Display the PNR ...................................................................................................................... 33 2.3.2 Issue EXB Document (CollectMiscFeeRQ) ............................................................................. 39 2.3.3 Review the PNR ...................................................................................................................... 47

2.4 Issue Multiple MSRs for Multiple Passengers (CollectMiscFee) ............................................................ 48 2.4.1 Display the PNR ...................................................................................................................... 48 2.4.2 Issue MSRs (CollectMiscFeeRQ) ............................................................................................ 54

2.5 Issue MSR Documents For Seats and Build APAY ............................................................................... 62 2.6 Issue MSR for Multiple PRAS Codes with Same GRP Number (CollectMiscFeeRQ) ........................... 64

2.6.1 Display the PNR ...................................................................................................................... 66 2.6.2 Collect MISC Fees for PRAS Codes with Same GRP Numbers ............................................. 66 2.6.3 Review PNR ............................................................................................................................ 72 2.6.4 Completed MSRs via Agent Sales Report ............................................................................... 73

2.7 Issue MSRs for Multiple PRAS Codes with Different GRP Numbers (CollectMiscFeeRQ) ................... 74 2.7.1 Display the PNR ...................................................................................................................... 75 2.7.2 Collect MISC Fees for PRAS Codes with Different GRP Numbers ......................................... 75

Name of Product Table of Contents 19 March 2019 v Confidential and Proprietary Sabre Airline Solutions

2.7.3 Review PNR ............................................................................................................................ 80 2.7.4 Completed MSRs via Agent Sales Report ............................................................................... 81

2.8 Issue MSR with “Grouped” Payload Type (CollectMiscFeeRQ) ............................................................ 82 2.8.1 Display the PNR ...................................................................................................................... 82 2.8.2 Issue MSR (CollectMiscFeeRQ) .............................................................................................. 83 2.8.3 Review PNR ............................................................................................................................ 88 2.8.4 Completed Grouped Payload MSR via Agent Sales Report ................................................... 89

2.9 Issue MSR with “Linked” Payload Type (CollectMISCFee) .................................................................... 90 2.9.1 Display PNR ............................................................................................................................ 90 2.9.2 Collect MISC Fee with Linked Payload ................................................................................... 96 2.9.3 Completed Linked Payload MSR via Agent Sales Report ..................................................... 100

2.10 Error Message When PRAS Code Not in MISC*ALL ......................................................................... 101 2.11 Calculate Total Cost (CalculateTotalCostRQ) .................................................................................... 107

2.11.1 Display the PNR .................................................................................................................. 107 2.11.2 Calculate Total Cost ............................................................................................................ 112

2.12 Get Override Reasons for MSR (GetMiscOverrideRQ) ..................................................................... 119 2.13 Get Override Reasons for EXB (GetMiscOverrideRQ) ...................................................................... 122 2.14 Override Multiple MSR Fees for Multiple Passengers (WaiveMiscFeeRQ) ....................................... 127

2.14.1 Display PNR ........................................................................................................................ 127 2.14.2 Override MISC Fees (WaiveMiscFeeRQ) ........................................................................... 136 2.14.3 Review PNR ........................................................................................................................ 146

2.15 MSR with Endorsement and “Null Value” PRAS Code ...................................................................... 147 2.15.1 Issue MSR with Endorsement and “Null Value” PRAS Code .............................................. 148 2.15.2 Review PNR ........................................................................................................................ 154 2.15.3 Review MSR via Agent Sales Report .................................................................................. 155

3 E M D M I S C W e b S e r v i c e S c e n a r i o s

3.1 Web Services Included ........................................................................................................................ 156 3.2 Native Sabre Examples ........................................................................................................................ 156 3.3 Current versions of Web Services For EMD ........................................................................................ 156 3.4 Summary of changes from 1.3.5 to 1.4.1 ............................................................................................. 156

3.4.1 1.3.7 to 1.4.1 .......................................................................................................................... 156 3.4.2 1.3.6 to 1.3.7 .......................................................................................................................... 157 3.4.3 1.3.5. to 1.3.6 ......................................................................................................................... 157

3.5 EMD Associated (EMD-A) – Sector ..................................................................................................... 158 3.5.1 Add AE Items to the PNR ...................................................................................................... 158

3.5.1.1 Price Ancillary ........................................................................................................... 158 3.5.1.2 Get Reservation ........................................................................................................ 158 3.5.1.3 Add AE Items ............................................................................................................ 159 3.5.1.4 End and Redisplay PNR ........................................................................................... 159

3.5.2 Get Ancillary Fee Information from PNR ............................................................................... 159 3.5.3 Issue EMD (CollectMiscFeeRQ) ............................................................................................ 160 3.5.4 Display the EMD .................................................................................................................... 166

Name of Product Table of Contents 19 March 2019 vi Confidential and Proprietary Sabre Airline Solutions

3.6 EMD Associated (EMD-A) – Portion of Travel ..................................................................................... 172 3.6.1 Add AE Items to the PNR ...................................................................................................... 172

3.6.1.1 Price Ancillary ........................................................................................................... 172 3.6.1.2 Get Reservation ........................................................................................................ 173 3.6.1.3 Add AE Items ............................................................................................................ 173 3.6.1.4 End and Redisplay PNR ........................................................................................... 173

3.6.1 Get Ancillary Fee Information from PNR ............................................................................... 173 3.6.2 Issue EMD (CollectMiscFeeRQ) ............................................................................................ 173 3.6.3 Display the EMD .................................................................................................................... 179

3.7 EMD Associated (EMD-A) Multiple Passengers .................................................................................. 186 3.7.1 Add AE Items to the PNR ...................................................................................................... 186

3.7.1.1 Price Ancillary ........................................................................................................... 186 3.7.1.2 Get Reservation ........................................................................................................ 186 3.7.1.3 Add AE Items ............................................................................................................ 186 3.7.1.4 End and Redisplay PNR ........................................................................................... 186

3.7.2 Get Ancillary Fee Information from PNR ............................................................................... 186 3.7.3 Issue EMD (CollectMiscFeeRQ) ............................................................................................ 187 3.7.4 Display EMD .......................................................................................................................... 192

3.8 Interline EMD Associated (IEMD-A) Multiple Passengers ................................................................... 194 3.8.1 Add AE Items to the PNR ...................................................................................................... 194

3.8.1.1 Price Ancillary ........................................................................................................... 194 3.8.1.2 Get Reservation ........................................................................................................ 194 3.8.1.3 Add AE Items ............................................................................................................ 194 3.8.1.4 End and Redisplay PNR ........................................................................................... 194

3.8.2 Get Ancillary Fee Information from PNR ............................................................................... 194 3.8.3 Issue EMD (CollectMiscFeeRQ) ............................................................................................ 195 3.8.4 Display EMD .......................................................................................................................... 201

3.9 Codeshare EMD Associated (IEMD-A) Single Passenger ................................................................... 201 3.9.1 Add AE Items to the PNR ...................................................................................................... 201

3.9.1.1 Price Ancillary ........................................................................................................... 202 3.9.1.2 Get Reservation ........................................................................................................ 202 3.9.1.3 Add AE Items ............................................................................................................ 202 3.9.1.4 End and Redisplay PNR ........................................................................................... 202

3.9.2 Get Ancillary Fee Information from PNR ............................................................................... 202 3.9.3 Issue EMD (CollectMiscFeeRQ) ............................................................................................ 202 3.9.1 Display EMD .......................................................................................................................... 208

3.10 EMD Associated (EMD-A) Associate Payment to Specific AE .......................................................... 208 3.10.1 Add AE Items to the PNR .................................................................................................... 208

3.10.1.1 Price Ancillary ......................................................................................................... 208 3.10.1.2 Get Reservation ...................................................................................................... 208 3.10.1.3 Add AE Items .......................................................................................................... 209 3.10.1.4 End and Redisplay PNR ......................................................................................... 209

3.10.2 Get Ancillary Fee Information from PNR ............................................................................. 209 3.10.3 Issue EMD (CollectMiscFeeRQ) .......................................................................................... 209

Name of Product Table of Contents 19 March 2019 vii Confidential and Proprietary Sabre Airline Solutions

3.10.4 Display EMD ........................................................................................................................ 219 3.11 EMD Associated (EMD-A) – Waive EMD ........................................................................................... 221

3.11.1 Add AE Items to PNR .......................................................................................................... 221 3.11.1.1 Price Ancillary ......................................................................................................... 221 3.11.1.2 Get Reservation ...................................................................................................... 221 3.11.1.3 Add AE Items .......................................................................................................... 221 3.11.1.4 End and Redisplay PNR ......................................................................................... 222

3.11.2 Get Ancillary Fee Information from PNR ............................................................................. 222 3.11.3 Waive EMD (WaiveMiscFeeRQ) ......................................................................................... 223 3.11.4 Get the Ancillary Information from PNR .............................................................................. 227

3.12 EMD Associated (EMD-A) – XEMD Override / Issue MSR ................................................................ 228 3.12.1 Add AE Items to the PNR .................................................................................................... 228

3.12.1.1 Price Ancillary ......................................................................................................... 228 3.12.1.2 Get Reservation ...................................................................................................... 228 3.12.1.3 Add AE Items .......................................................................................................... 228 3.12.1.4 End and Redisplay PNR ......................................................................................... 228

3.12.2 Get Ancillary Fee Information from PNR ............................................................................. 228 3.12.3 Issue MSR (CollectMiscFeeRQ) ......................................................................................... 229 3.12.4 Display MSR via Agent Sales Report .................................................................................. 234

3.13 EMD to EMD Exchange ..................................................................................................................... 235 3.13.1 Add New AE Item ................................................................................................................ 235

3.13.1.1 Price Ancillary ......................................................................................................... 236 3.13.1.2 Get Reservation ...................................................................................................... 236 3.13.1.3 Add AE Items .......................................................................................................... 236 3.13.1.4 End and Redisplay PNR ......................................................................................... 236

3.13.2 Calculate and Exchange the EMD ....................................................................................... 236 3.13.2.1 Calculate Exchange for EMD (MISCServicesRQ) .................................................. 236 3.13.2.2 Exchange the EMD ................................................................................................. 240

3.13.3 Display the EMD .................................................................................................................. 245 3.14 EMD to EMD Exchange Codeshare (IEMD) ...................................................................................... 248

3.14.1 Add New AE Item ................................................................................................................ 248 3.14.1.1 Price Ancillary ......................................................................................................... 248 3.14.1.2 Get Reservation ...................................................................................................... 248 3.14.1.3 Add AE Items .......................................................................................................... 248 3.14.1.4 End and Redisplay PNR ......................................................................................... 248

3.14.2 Calculate and Exchange the EMD ....................................................................................... 248 3.14.2.1 Calculate Exchange for EMD (MISCServicesRQ) .................................................. 248

3.15 EMD Standalone Type 1 (EMD-S) ..................................................................................................... 253 3.15.1 Add AE Items to the PNR .................................................................................................... 254

3.15.1.1 Price Ancillary ......................................................................................................... 254 3.15.1.2 Get Reservation ...................................................................................................... 254 3.15.1.3 Add AE Items .......................................................................................................... 254 3.15.1.4 End and Redisplay PNR ......................................................................................... 254

3.15.2 Get Ancillary Fee Information from PNR ............................................................................. 254

Name of Product Table of Contents 19 March 2019 viii Confidential and Proprietary Sabre Airline Solutions

3.15.3 Issue EMD (CollectMiscFeeRQ) .......................................................................................... 255 3.15.4 Display EMD ........................................................................................................................ 259

3.16 EMD Standalone Type 3 Referenced to ETKT (EMD-S) ................................................................... 273 3.16.1 Add AE Items to the PNR .................................................................................................... 273

3.16.1.1 Price Ancillary ......................................................................................................... 273 3.16.1.2 Get Reservation ...................................................................................................... 273 3.16.1.3 Add AE Items .......................................................................................................... 273 3.16.1.4 End and Redisplay PNR ......................................................................................... 273

3.16.2 Get Ancillary Fee Information from PNR ............................................................................. 274 3.16.3 Issue EMD (CollectMiscFeeRQ) .......................................................................................... 274 3.16.4 Display EMD ........................................................................................................................ 279

4 T r o u b l e s h o o t i n g

4.1 MISC Web Service Communication Points .......................................................................................... 285 4.2 Common Error Responses, Causes and Solutions .............................................................................. 285

4.2.1 ICE/ESSM Problem Due to Invalid Session – Error Message Code 9004 ............................ 285 4.2.2 MOM Timeout – Error Message Code 8001 .......................................................................... 286 4.2.3 MISC Request Has Been Throttled – Error Message Code 9005 ......................................... 287 4.2.4 Invalid MISC Request ............................................................................................................ 287

4.2.4.1 Unsupported XML Request Version – Error Message Code 9002 ........................... 287 4.2.4.2 Request is Not Valid Against Schema – Error Message Code 9001 ........................ 288 4.2.4.3 Request is Not Valid According to Business Logic – Error Message Code 9008 ..... 289

4.2.5 MISC PSS Response with TPF (Host) Error Message .......................................................... 290 4.2.5.1 Printer Not Assigned – Error Message Code 0208 .................................................. 290

4.2.6 Invalid PSS Response Causing lrec to xml Conversion Failure – Error Message Code 7000 ........................................................................................................................................................ 290 4.2.7 MiscService failure: EMD and ET board and off points do not match. Departure city of ETKT with value: BKK should match EMD value: null for coupon: 1. Message Code 9038 .................... 291

5 A p p e n d i x : S e t - U p W e b S e r v i c e C a l l s

5.1 Set Up as Robotic Agent – Session Create ......................................................................................... 293 5.2 Designate Printer ................................................................................................................................. 295 5.3 Build a Reservation .............................................................................................................................. 297

5.3.1 Display Flight Availability ....................................................................................................... 298 5.3.2 Sell Seat From Availability ..................................................................................................... 315 5.3.3 Add Name, Phone, Ticketing Time Limit to PNR ................................................................... 317 5.3.4 Add Form of Identification (FOID) .......................................................................................... 320 5.3.5 Add Secure Flight Documentation - Date of Birth, Gender .................................................... 322 5.3.6 Price for Lowest Fare and Retain Price Quote ...................................................................... 324 5.3.7 End and Redisplays PNR ...................................................................................................... 328

5.4 Issue Ticket .......................................................................................................................................... 330 5.4.1 End and Redisplay PNR ........................................................................................................ 333

Name of Product Table of Contents 19 March 2019 ix Confidential and Proprietary Sabre Airline Solutions

5.5 Display a PNR ...................................................................................................................................... 335 5.6 Session Close ...................................................................................................................................... 340

Misc Web Services 19 March 2019 1 Confidential and Proprietary Sabre Airline Solutions

1 Introduction

1.1 Overview

The Ticketing Miscellaneous Web service (MISCServicesRQ) enables the following ticketing functions in the Sabre Passenger Services System (PSS):

• MISC (MSR/EXB) mask functions.

• Electronic Miscellaneous Document (EMD) Ancillary functions

1.2 Purpose of this Guide

The purpose of this guide is to introduce how the web service processes MISC and EMD Ancillary transactions. It is not intended to be a complete reference tool for XML design. Developers should refer to the Sabre Dev Studio for the most complete information. You can find instructions on how to access Sabre Dev Studio later in this document.

Simulation of Business Scenarios

This document describes how to use the MISC web service and includes examples of calls to MISCServicesRQ. It also includes links to information on other web services that are part of various typical business scenarios involving MISCServicesRQ.

Native Sabre

Also included in this guide are translations between what you see in native Sabre and what is expected in an XML request, where applicable. Some transactions have been programmed for the web service only and do not have a parallel in native Sabre.

1.2.1 Important Note About Web Services in this Guide:

All XML examples of web services other than MISCServicesRQ are provided in this guide for demonstration purposes only. Always refer to Sabre Dev Studio for the lastest version and examples of any of these web services.

In addition, the process used to complete each transaction may not be the method your airline wishes to use. Consult with your Sabre contacts when designing your web service.

Misc Web Services 19 March 2019 2 Confidential and Proprietary Sabre Airline Solutions

1.2.2 Additional User Guides

To understand the Ticketing products demonstrated in this guide, refer to the following user guides which are available on the Community Portal:

• MISC Web Service Account Code Table (MISC*ALL)

• Miscelleneous Sales and Service Mask (MISC)

• Ancillary Electronic Miscellaneous Documents (EMD)

1.3 MISC Web Service Account Code Table (MISC*ALL)

For MSRs, the functionality of the MISC web service depends upon the PRAS codes set up in the MISC Web Service Account Code table (MISC*ALL).

To find out how to set up the table refer to the user guide available on the Community Portal.

To be able to display the MISC*ALL table, you must possess the following in your Employee Profile Record (EPR):

• Programmer duty code (SI‡) and change AAA to HDQ -OR-

• Supervisor duty code (SI8), change AAA to HDQ, and keyword TREASU

1.4 Important Concepts to Know

A knowledge of the following terms is necessary for understanding the MISC web service:

1.4.1 Linked vs Grouped:

When building the XML request, you have to choose between these two payload types.

A Linked payload is defined by the following:

• Required when there is a one-to-one correlation or direct link between the PRAS code and the Ticket (TKT), Segment (SEG), or Coupon (CPN).

• Allows only one PRAS code per document.

• Indicated in the MISC*ALL table with the setting for TKT, SEG, or CPN as “A” for Associated rather than Y for Yes or N for No. See the example below:

MISC*ALL« PRAS ITEM COST-ITEM EFF CUR SUF 438 ANCILLARY SEAT FEE 0.00 15JUN12 USD AS TAX TKT PNR SEG OVR GRP TMX SMX NULL CPN NPR N A Y A Y 2 1 1 N N N

A Grouped payload is defined by the following:

Misc Web Services 19 March 2019 3 Confidential and Proprietary Sabre Airline Solutions

• Allows association of multiple ticket numbers or flight segments to the fees being collected (Sales items, services, unpaid taxes, excess baggage).

• Allows multiple PRAS items on one document.

• Indicated in the MISC*ALL table with the setting for TKT, SEG, or CPN as Y for Yes or N for No. See the example below.

MISC*ALL« PRAS ITEM COST-ITEM EFF CUR SUF 420 CLUBHOUSE 0.00 01MAY12 USD AS TAX TKT PNR SEG OVR GRP TMX SMX NULL CPN NPR N N Y Y Y 2 4 4 N N N

Your choice depends on the kind of document being issued. Certain documents or fees (eg. change fee, optional fee, EMD) must be linked to either a specific flight or to a specific ticket or both. These require a linked payload type. Other documents or fees (eg. Sales items, services, unpaid taxes, excess baggage) may apply to one or more tickets without a direct link required.

1.4.2 Group (GRP) Number:

In the MISC*ALL table, multiple PRAS codes that have the same GRP number and are in the same CollectMiscFee request appear together (up to 4) on the same document. If the PRAS codes have different GRP numbers, the system issues separate documents for them.

In the example below, Booking Fee and Bronze Trvl Insurance could appear on the same document, but Car Rental Booking would always appear on a separate document from the other two below.

400 BOOKING FEE 15.00 09DEC11 USD TAX TKT PNR SEG OVR GRP TMX SMX NULL CPN NPR N N Y N N 1 6 4 N N N 419 BRONZE TRVL INSURANCE 11.00 09DEC11 USD TAX TKT PNR SEG OVR GRP TMX SMX NULL CPN NPR N N N N N 1 6 4 N N N 601 CAR RENTAL BOOKING 0.00 09DEC11 USD TAX TKT PNR SEG OVR GRP TMX SMX NULL CPN NPR N N N N Y 5 6 4 N N N

1.5 XML Version In Guide vs. Production or Test Environments

The initial examples created for this guide use version 1.4.2. The MISC web service maintains compatibility between pervious and current XML versions as much as possible. The XML in the examples are largely compatible with 1.2.5 and 1.2.2.

Misc Web Services 19 March 2019 4 Confidential and Proprietary Sabre Airline Solutions

1.6 Sabre Dev Studio

Sabre Dev Studio is available to airlines and has documentation including schemas, WSDL files, code samples, workflows, and Sabre Web Services related information.

It is the most comprehensive reference tool available for XML developers.

Sabre Dev Studio is located at the following web address: https://developer.sabre.com/

If you do not have access to this web site contact your airline’s Sabre Account Director.

Make sure you are using an updated version of Internet Explorer or Google Chrome to be able to download all resources available.

1.7 Sabre Dev Studio Links

Sabre Dev Studio contains a lot of information, included is a list of common services used with Miscservices. The links are the general site for the services, to download the Web Services Description Language (WSDL) and other more detailed information please click on Resources at the bottom.

The Web Services Description Language (WSDL) is an XML-based language used for describing the functionality offered by a Web service. The WSDL file provides a description of how the service can be called, what parameters it expects, and what data structures it returns.

The WSDL files included in this guide are as follows:

Function WSDL File

MISC Web Service https://developer.sabre.com/docs/read/soap_apis/air/fulfill/miscellaneous_sales_and_emd

Ancillary Price EMD https://developer.sabre.com/docs/soap_apis/air/book/air_extras

Get Reservation - EMD

https://developer.sabre.com/docs/read/soap_apis/management/itinerary/Retrieve_Itinerary

Update Reservation - (EMD)

https://developer.sabre.com/docs/read/soap_apis/management/itinerary/update_itinerary

Get Ticketing Document

https://developer.sabre.com/docs/soap_apis/air/fulfill/get_ticket_doc_details

Session Create https://developer.sabre.com/docs/read/soap_apis/session_management/create_session

Designate Printer https://developer.sabre.com/docs/read/soap_apis/management/utility/Designate_Printer

Flight Availability https://developer.sabre.com/docs/read/soap_apis/air/search/Air_Availability

Sell Seat https://developer.sabre.com/docs/read/soap_apis/air/book/book_from_air_availability/

Add Name, Phone, Ticketing Time Limit

http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/tpf/TravelItineraryAddInfoLLS1.8.1RQ.wsdl

Add Form of ID (FOID) Add Secure Flight Birth/Gender Info End and Redisplay PNR

http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/tpf/SabreCommandLLS1.6.1RQ.wsdl

Misc Web Services 19 March 2019 5 Confidential and Proprietary Sabre Airline Solutions

Function WSDL File

Price Itinerary and Retain Price Quote

https://developer.sabre.com/docs/read/soap_apis/air/book/Price_Air_Itinerary/

Issue a Ticket https://developer.sabre.com/docs/read/soap_apis/air/fulfill/issue_air_ticket

The above files are available on Sabre Dev Studios web site (https://developer.sabre.com/).

Note All XML examples of web services other than MISCServicesRQ are provided in this guide for demonstration purposes only. Always refer to Sabre Dev Studio for the lastest version and examples of any of these web services.

1.8 End Points

The End Point is the location where the system begins processing the transaction.

The three end points developers will need for testing and production are as follows:

TSTS/Integration: https://sws-sts.cert.sabre.com/

CERT/Certification: https://sws-crt.sabre.com/

RES/Production: https://webservices.sabre.com/websvc

All scenarios for this guide were produced in the CERT environment (https://sws-crt.sabre.com/).

1.9 MISC Web Service Major Functional Divisions

The MISCServicesRQ Web service provides five separate operations.

CollectMISCFeeRQ

Allows the purchase of miscellaneous items available via the MISC web service and the issuance of the miscellaneous document.

GetMISCFeesRQ

Provides a list of all fee items defined in the MISC fee tables. (This covers native Sabre entries MISC*ALL and MIXB*)

CalculateTotalCostRQ

Provides currency conversion of amounts, taxes, and total cost before collecting payment. (This covers native Sabre functionality of MISC Mask Screens 2/1, 2/2, 2/3, 2/4, 2/5, 3)

Misc Web Services 19 March 2019 6 Confidential and Proprietary Sabre Airline Solutions

GetMiscOverrideRQ

Provides a list of override reason codes for waiving a miscellaneous fee.(This covers native Sabre entries MISCO* and MIXBO*)

WaiveMiscFeeRQ

Waives the miscellaneous fee. Waiver reported to override file - no EMD or MSR issued (This covers native Sabre functionality of MISC Mask Screens 2/4, 2/5 and EXB thru ACS/SSCI with 'override' option). In order to waive fees, your airline must have the Override Reason table updated (MISCO* / MIXBO*).

1.9.1 EMD Specific MISC Web Service Functions

There are two additional MISC Web Service functions created specifically for EMD to EMD exchanges.

CalculateExchangeCostRQ

Calculates the value difference between the exchanged EMD and unfulfilled ancillaries. Provides the difference (additional collection, refund or an even exchange) and the resulting residual value or addition collection amount.

ExchangeDocumentforEMDRQ

Completes the exchanges of one EMD and fulfills ancillaries by issuing one or more EMD documents.

Misc Web Services 19 March 2019 7 Confidential and Proprietary Sabre Airline Solutions

2 MSR / EXB MISC Web Service Scenarios

2.1 Issue MSR with Amount from GetMiscFeesRQ

This scenario demonstrates the use of the GetMiscFees portion of MISCServicesRQ to get the amounts for PRAS code 419 to place in the web service. For this example, the PRAS code does not require any special processing related to PNRs, tickets, or fight segments.

2.1.1 Get MISC Fees

For this scenario, you will get the amount of the MSR from the host by using the GetMiscFees portion of MISCServicesRQ.

As you will see below, when using GetMiscFees all the PRAS codes are returned with associated details. For this example, we only use the base amount and the total amount for PRAS code 419.

2.1.1.1 Display MISC*ALL

Native Sabre

Agents won’t typically make the entry to display the PRAS codes because they will not have access to that information. This display is for example purposes only to show what the table looks like for the PRAS code in this scenario.

To be able to display the MISC*ALL table, refer to the EPR requirements listed at the beginning of this document.

MISC*ALL PRAS ITEM COST-ITEM EFF CUR SUF 602 ATTRACTION BOOKING 0.00 06DEC11 USD TAX TKT PNR SEG OVR GRP TMX SMX NULL CPN NPR N N N N Y 5 6 4 N N N 419 BRONZE TRVL INSURANCE 11.00 06DEC11 USD TAX TKT PNR SEG OVR GRP TMX SMX NULL CPN NPR N N N N N 1 6 4 N N N

Web Service Calls

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version=""

Misc Web Services 19 March 2019 8 Confidential and Proprietary Sabre Airline Solutions

xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T 11:15:12Z</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTC!ICESMSLB\/CRT.LB!-3963710968609906557!1659122!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <GetMiscFeesRQ version="1.4.2" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="SY" lniata="000000" xmlns:ns1="http://services.sabre.com/STL/v01"/> <ns2:Transaction code="MSR" xmlns:ns2="http://services.sabre.com/STL/v01"/> </GetMiscFeesRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader ns1:version="" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <eb:From xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <ns1:PartyId xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader">123123</ns1:PartyId> </eb:From> <eb:To xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <ns1:PartyId xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader">999999</ns1:PartyId> </eb:To> <ns1:CPAId>IPCC</ns1:CPAId>

Misc Web Services 19 March 2019 9 Confidential and Proprietary Sabre Airline Solutions

<ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <eb:Action xmlns:eb="http://www.ebxml.org/namespaces/messageHeader">MISCServicesRS</eb:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T 11:15:12Z</ns1:Timestamp> </ns1:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTC!ICESMSLB\/CRT.LB!-3963710968609906557!1659122!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:GetMiscFeesRS version="1.4.2" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="SY" lniata="658592" xmlns="http://services.sabre.com/STL/v01"/> <Transaction code="MSR" xmlns="http://services.sabre.com/STL/v01"/> <Fees xmlns="http://services.sabre.com/STL/v01"> <Fee> <FeeDetails code="602" description="ATTRACTION BOOKING"> <Base currencyCode="USD">0.00</Base> <Total currencyCode="USD">0.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="N" coupon="N" fakePras="N" null="N" override="Y" segment="N" ticket="N"> <Max segment="4" ticket="6"/> <Group>05</Group> </Usage> </Fee>

Misc Web Services 19 March 2019 10 Confidential and Proprietary Sabre Airline Solutions

<Fee> <FeeDetails code="400" description="BOOKING FEE"> <Base currencyCode="USD">15.00</Base> <Total currencyCode="USD">15.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="N" ticket="N"> <Max segment="4" ticket="6"/> <Group>01</Group> </Usage> </Fee> <Fee> <FeeDetails code="419" description="BRONZE TRVL INSURANCE"> <Base currencyCode="USD">11.00</Base> <Total currencyCode="USD">11.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="N" coupon="N" fakePras="N" null="N" override="N" segment="N" ticket="N"> <Max segment="4" ticket="6"/> <Group>01</Group> </Usage> </Fee> <Fee> <FeeDetails code="601" description="CAR RENTAL BOOKING"> <Base currencyCode="USD">0.00</Base> <Total currencyCode="USD">0.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="N" coupon="N" fakePras="N" null="N" override="Y" segment="N" ticket="N"> <Max segment="4" ticket="6"/> <Group>05</Group> </Usage> </Fee> <Fee> <FeeDetails code="017" description="CHANGE FEE INTL"> <Base currencyCode="USD">100.00</Base> <Total

Misc Web Services 19 March 2019 11 Confidential and Proprietary Sabre Airline Solutions

currencyCode="USD">100.00</Total> <EffectiveDate>2010-07-16</EffectiveDate> </FeeDetails> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Group>01</Group> </Usage> </Fee> <Fee> <FeeDetails code="101" description="CHANGE FEE"> <Base currencyCode="USD">50.00</Base> <Total currencyCode="USD">50.00</Total> <EffectiveDate>2010-07-16</EffectiveDate> </FeeDetails> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Group>04</Group> </Usage> </Fee> <Fee> <FeeDetails code="603" description="CRUISE BOOKING"> <Base currencyCode="USD">0.00</Base> <Total currencyCode="USD">0.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="N" coupon="N" fakePras="N" null="N" override="Y" segment="N" ticket="N"> <Max segment="4" ticket="6"/> <Group>05</Group> </Usage> </Fee> <Fee> <FeeDetails code="411" description="GOLD TRAVEL INSURANCE"> <Base currencyCode="USD">45.00</Base> <Total currencyCode="USD">45.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="N" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>01</Group> </Usage>

Misc Web Services 19 March 2019 12 Confidential and Proprietary Sabre Airline Solutions

</Fee> <Fee> <FeeDetails code="605" description="GROUP DEPOSIT"> <Base currencyCode="USD">0.00</Base> <Total currencyCode="USD">0.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="N" coupon="N" fakePras="N" null="N" override="Y" segment="N" ticket="N"> <Max segment="4" ticket="6"/> <Group>05</Group> </Usage> </Fee> <Fee> <FeeDetails code="600" description="HOTEL BOOKING"> <Base currencyCode="USD">0.00</Base> <Total currencyCode="USD">0.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="N" coupon="N" fakePras="N" null="N" override="Y" segment="N" ticket="N"> <Max segment="4" ticket="6"/> <Group>05</Group> </Usage> </Fee> <Fee> <FeeDetails code="412" description="PLATINUM INSURANCE"> <Base currencyCode="USD">149.00</Base> <Total currencyCode="USD">149.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="N" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>01</Group> </Usage> </Fee> <Fee> <FeeDetails code="099" description="SALES OTHER"> <Base currencyCode="USD">0.00</Base>

Misc Web Services 19 March 2019 13 Confidential and Proprietary Sabre Airline Solutions

<Total currencyCode="USD">0.00</Total> <EffectiveDate>2010-07-16</EffectiveDate> </FeeDetails> <Usage PNR="N" coupon="N" fakePras="N" null="N" override="Y" segment="N" ticket="N"> <Group>02</Group> </Usage> </Fee> <Fee> <FeeDetails code="410" description="SILVER TRVL INSURANCE"> <Base currencyCode="USD">24.00</Base> <Total currencyCode="USD">24.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="N" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>01</Group> </Usage> </Fee> <Fee> <FeeDetails code="609" description="SPCL MKTG TRIP CHARGE"> <Base currencyCode="USD">0.00</Base> <Total currencyCode="USD">0.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="N" coupon="N" fakePras="N" null="N" override="Y" segment="N" ticket="N"> <Max segment="4" ticket="6"/> <Group>05</Group> </Usage> </Fee> <Fee> <FeeDetails code="610" description="SPCL MKTG TRIP LAND"> <Base currencyCode="USD">0.00</Base> <Total currencyCode="USD">0.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="N" coupon="N" fakePras="N" null="N" override="Y" segment="N" ticket="N"> <Max segment="4"

Misc Web Services 19 March 2019 14 Confidential and Proprietary Sabre Airline Solutions

ticket="6"/> <Group>05</Group> </Usage> </Fee> <Fee> <FeeDetails code="604" description="TRANSFER"> <Base currencyCode="USD">0.00</Base> <Total currencyCode="USD">0.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="N" coupon="N" fakePras="N" null="N" override="Y" segment="N" ticket="N"> <Max segment="4" ticket="6"/> <Group>05</Group> </Usage> </Fee> <Fee> <FeeDetails code="418" description="UFLY TRAVEL INSURANCE"> <Base currencyCode="USD">15.00</Base> <Total currencyCode="USD">15.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="N" coupon="N" fakePras="N" null="N" override="N" segment="N" ticket="N"> <Max segment="4" ticket="6"/> <Group>01</Group> </Usage> </Fee> <Fee> <FeeDetails code="409" description="UNACCOMPAN MINR FEE"> <Base currencyCode="USD">75.00</Base> <Total currencyCode="USD">75.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>01</Group> </Usage> </Fee> <Fee> <FeeDetails

Misc Web Services 19 March 2019 15 Confidential and Proprietary Sabre Airline Solutions

code="401" description="10.00 SEAT SELECTION"> <Base currencyCode="USD">10.00</Base> <Total currencyCode="USD">10.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>01</Group> </Usage> </Fee> <Fee> <FeeDetails code="435" description="100.00 PET IN CABIN"> <Base currencyCode="USD">100.00</Base> <Total currencyCode="USD">100.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>02</Group> </Usage> </Fee> <Fee> <FeeDetails code="422" description="119.00 DOMESTIC UPGRD"> <Base currencyCode="USD">110.70</Base> <TotalTax currencyCode="USD">8.30</TotalTax> <Total currencyCode="USD">119.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Tax code="US"> <Amount currencyCode="USD">8.30</Amount> </Tax> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>02</Group> </Usage> </Fee> <Fee>

Misc Web Services 19 March 2019 16 Confidential and Proprietary Sabre Airline Solutions

<FeeDetails code="424" description="119.00 INTL UPGRD"> <Base currencyCode="USD">119.00</Base> <Total currencyCode="USD">119.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>02</Group> </Usage> </Fee> <Fee> <FeeDetails code="423" description="139.00 DOMESTIC UPGRD"> <Base currencyCode="USD">129.30</Base> <TotalTax currencyCode="USD">9.70</TotalTax> <Total currencyCode="USD">139.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Tax code="US"> <Amount currencyCode="USD">9.70</Amount> </Tax> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>02</Group> </Usage> </Fee> <Fee> <FeeDetails code="425" description="139.00 INTL UPGRD"> <Base currencyCode="USD">139.00</Base> <Total currencyCode="USD">139.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>02</Group> </Usage> </Fee>

Misc Web Services 19 March 2019 17 Confidential and Proprietary Sabre Airline Solutions

<Fee> <FeeDetails code="426" description="149.00 INTL UPGRD"> <Base currencyCode="USD">149.00</Base> <Total currencyCode="USD">149.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>02</Group> </Usage> </Fee> <Fee> <FeeDetails code="433" description="149.00 ANCHORAGE UPGR"> <Base currencyCode="USD">144.59</Base> <TotalTax currencyCode="USD">0.00</TotalTax> <Total currencyCode="USD">144.59</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Tax code="US"> <Amount currencyCode="USD">0.00</Amount> </Tax> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>02</Group> </Usage> </Fee> <Fee> <FeeDetails code="405" description="15.00 UFLEX"> <Base currencyCode="USD">15.00</Base> <Total currencyCode="USD">15.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="Y"> <Max segment="4" ticket="6"/> <Group>01</Group> </Usage>

Misc Web Services 19 March 2019 18 Confidential and Proprietary Sabre Airline Solutions

</Fee> <Fee> <FeeDetails code="407" description="15.00 SEAT SELECTION"> <Base currencyCode="USD">15.00</Base> <Total currencyCode="USD">15.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>01</Group> </Usage> </Fee> <Fee> <FeeDetails code="437" description="199.00 ANIMAL IN HOLD"> <Base currencyCode="USD">199.00</Base> <Total currencyCode="USD">199.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>02</Group> </Usage> </Fee> <Fee> <FeeDetails code="402" description="20.00 FIRST BAG FEE"> <Base currencyCode="USD">20.00</Base> <Total currencyCode="USD">20.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>01</Group> </Usage> </Fee> <Fee> <FeeDetails code="408" description="25.00 SEAT SELECTION"> <Base currencyCode="USD">25.00</Base>

Misc Web Services 19 March 2019 19 Confidential and Proprietary Sabre Airline Solutions

<Total currencyCode="USD">25.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>01</Group> </Usage> </Fee> <Fee> <FeeDetails code="429" description="25.00 FIRST BAG FEE"> <Base currencyCode="USD">25.00</Base> <Total currencyCode="USD">25.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>02</Group> </Usage> </Fee> <Fee> <FeeDetails code="403" description="30.00 SECND BAG FEE"> <Base currencyCode="USD">30.00</Base> <Total currencyCode="USD">30.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>01</Group> </Usage> </Fee> <Fee> <FeeDetails code="431" description="35.00 SECOND BAG FEE"> <Base currencyCode="USD">35.00</Base> <Total currencyCode="USD">35.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y"

Misc Web Services 19 March 2019 20 Confidential and Proprietary Sabre Airline Solutions

ticket="N"> <Max segment="4" ticket="6"/> <Group>02</Group> </Usage> </Fee> <Fee> <FeeDetails code="434" description="35.00 SYEMPL CRCL UPG"> <Base currencyCode="USD">35.00</Base> <Total currencyCode="USD">35.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>02</Group> </Usage> </Fee> <Fee> <FeeDetails code="420" description="45.00 DOMESTIC UPGRD"> <Base currencyCode="USD">41.86</Base> <TotalTax currencyCode="USD">3.14</TotalTax> <Total currencyCode="USD">45.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Tax code="US"> <Amount currencyCode="USD">3.14</Amount> </Tax> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>02</Group> </Usage> </Fee> <Fee> <FeeDetails code="430" description="75.00 EXCESS BAG FEE"> <Base currencyCode="USD">75.00</Base> <Total currencyCode="USD">75.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Usage

Misc Web Services 19 March 2019 21 Confidential and Proprietary Sabre Airline Solutions

PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>02</Group> </Usage> </Fee> <Fee> <FeeDetails code="421" description="89.00 DOMESTIC UPGRD"> <Base currencyCode="USD">82.79</Base> <TotalTax currencyCode="USD">6.21</TotalTax> <Total currencyCode="USD">89.00</Total> <EffectiveDate>2011-12-06</EffectiveDate> </FeeDetails> <Tax code="US"> <Amount currencyCode="USD">6.21</Amount> </Tax> <Usage PNR="Y" coupon="N" fakePras="N" null="N" override="N" segment="Y" ticket="N"> <Max segment="4" ticket="6"/> <Group>02</Group> </Usage> </Fee> </Fees> </misc:GetMiscFeesRS> </soap-env:Body> </soap-env:Envelope>

2.1.2 Collect MISC Fee

Native Sabre

In this scenario you do not have a PNR displayed, so you need to add a Purchaser Name.

Select 2 For Miscellaneous Sales Receipt, and add the Last and First name of the purchaser.

MISC MI - MAIN MENU. RESET, CLEAR AND IGNORE TO EXIT. NBR <2> PCHRS LAST NAME <USERGUIDE > FIRST <ONE > 1. PREPAID TICKET ADVICE 2. MISCELLANEOUS SALES RECEIPT 3. EXCESS BAGGAGE TICKET

Misc Web Services 19 March 2019 22 Confidential and Proprietary Sabre Airline Solutions

RETRIEVE PNR IF APPLICABLE - 0201

Select 1 for Sales Items.

MI - MSR MAIN MENU. TO EXIT- RESET, CLEAR AND IGNORE NBR OR X TO DISPLAY SELECTIONS 1-3 <1> 1. SALES ITEMS 2. SERVICES 3. UNPAID TAXES. 4. CHANGE FEE... 5. OPTIONAL FEE < >X TO DISPLAY MISC MAIN MENU

Enter 1 for one Bronze Travel Insurance.

MISC - SALES ITEMS RESET, CLEAR AND IGNORE TO EXIT PLACE NUMBER OF ITEMS SOLD IN BOX PROVIDED. USERGUIDE/ONE BOOKING FEE < > 10.00 SEAT SELE < > TOURIST CARDS 20.00 FIRST BAG < > 30.00 SECND BAG < > 15.00 UFLEX < > 15.00 SEAT SELE < > 25.00 SEAT SELE < > UNACCOMPAN MINR < > SILVER TRVL INS < > GOLD TRAVEL INS < > PLATINUM INSURA < > UFLY TRAVEL INS < > BRONZE TRVL INS <1 > TAXABLE OTHER < > COST < > DESCRIPTION < >

Press ENTER to accept the amounts the MISC mask displays.

Misc Web Services 19 March 2019 23 Confidential and Proprietary Sabre Airline Solutions

MISC - TOTAL COST SUMMARY. DEPRESS ENTER TO CONTINUE - RESET, CLEAR AND IGNORE TO EXIT. USERGUIDE/ONE < > EQUIV AMT CURR CODE <USD> QTY ITEM/SVC COST TAX TOTAL 01 BRONZE TRVL INSURANCE 11.00 < 0.00> 11.00 < > < > < > TTL COST 11.00 0.00 11.00 RETURN TO FIRST MASK < >

Misc Web Services 19 March 2019 24 Confidential and Proprietary Sabre Airline Solutions

Press ENTER after adding the form of payment. In this scenario you have a credit card and already have the approval code.

MISC-FORM OF PAYMENT. ENTER AMOUNT IN ASSOCIATED FOP BOX DEPRESS ENTER TO ISSUE DOC-RESET, CLEAR, AND IGNORE TO EXIT. TTL COST 11.00 USD CASH AMT < > CHECK AMT < > <X>X IF CC1 APPROVAL PREVIOUSLY OBTAINED CC1 AMT <11.00 > CC EXP <0216> AX EXTENDED PAY < > CC NBR <XXXXXXXXXXXX1111 > CC2 AMT < > CC EXP < > AX EXTENDED PAY < > CC NBR < > EXCH AMT < > EXCH DOC NBR < >CPN< > ORIG FOP < > DATE/PLACE < > INV AMT < > DOCUMENT NBR < > GTR AMT < > DOCUMENT NBR < > PTA AMT < >

Type the Approval Code and press ENTER.

MI - APPROVAL CODE. ENTER CREDIT CARD OR CHECK APPROVAL CODE. DEPRESS ENTER TO ISSUE DOC. TO EXIT - RESET AND CLEAR APPROVAL CODE <9018 > CC AMT 11.00 CC NBR XXXXXXXXXXXX1111 CC EXP 0216 CK AMT MICR NBR ID - DRIVERS LICENSE DL ID - ARMED FORCES MI IF APPLICABLE - SECONDARY ID ID RETURN TO PREVIOUS MASK TO CHANGE FORM OF PAYMENT < >

The MSR document issues.

OK 11.00 / 06 1167 9580 5 9018

Misc Web Services 19 March 2019 25 Confidential and Proprietary Sabre Airline Solutions

Web Service Calls

For this scenario in the CollectMISCFee request, you use the base amount, total amount, and PRAS code given in the GetMISCFees response. In this case the other information is omitted. This will result in a blank ITEM/SVC line on the Agent Sales Resport (ASR) since no description attribute is included – only the amounts and the PRAS code display.

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/fulfillment/Miscellaneous_v.1.4.2.wsdl

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T 11:15:12Z</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTC!ICESMSLB\/CRT.LB!-3963710968609906557!1659122!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CollectMiscFeeRQ version="1.4.2" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="SY" lniata="000000" xmlns:ns1="http://services.sabre.com/STL/v01"/> <ns2:Transaction code="MSR" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Grouped> <ns3:Customer firstName="ONE"

Misc Web Services 19 March 2019 26 Confidential and Proprietary Sabre Airline Solutions

lastName="USERGUIDE"> <ns3:CustomerDetails/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="419"> <ns3:Base>11.00</ns3:Base> <ns3:Total>11.00</ns3:Total> </ns3:FeeDetails> </ns3:Fee> </ns3:Grouped> </ns3:Fees> <ns4:TotalCost xmlns:ns4="http://services.sabre.com/STL/v01">11.00</ns4:TotalCost> <ns5:Payment xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:Amount>11.00</ns5:Amount> <ns5:FormOfPayment> <ns5:CreditCard> <ns5:Code>BA</ns5:Code> <ns5:Number>XXXXXXXXXXXX1111</ns5:Number> <ns5:ExpiryDate>0216</ns5:ExpiryDate> <ns5:ApprovalCode>9018</ns5:ApprovalCode> </ns5:CreditCard> </ns5:FormOfPayment> </ns5:Payment> <ns6:DetailLevel xmlns:ns6="http://services.sabre.com/STL/v01">Full</ns6:DetailLevel> </CollectMiscFeeRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader ns1:version="" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <eb:From xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <ns1:PartyId xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader">123123</ns1:PartyId> </eb:From> <eb:To xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <ns1:PartyId xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader">999999</ns1:PartyId> </eb:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <eb:Action xmlns:eb="http://www.ebxml.org/namespaces/messageHeader">MISCServicesRS</eb:Action>

Misc Web Services 19 March 2019 27 Confidential and Proprietary Sabre Airline Solutions

<ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T 11:15:12Z</ns1:Timestamp> </ns1:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTC!ICESMSLB\/CRT.LB!-3963710968609906557!1659122!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CollectMiscFeeRS version="1.4.2" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="SY" lniata="658592" xmlns="http://services.sabre.com/STL/v01"/> <Transaction code="MSR" xmlns="http://services.sabre.com/STL/v01"/> <Fees xmlns="http://services.sabre.com/STL/v01"> <Grouped> <Customer firstName="ONE" lastName="USERGUIDE"/> <Fee> <FeeDetails code="419"> <Base currencyCode="USD">11.00</Base> <Total currencyCode="USD">11.00</Total> </FeeDetails> <IssuedDocumentNumber couponNumber="1">3370611679497</IssuedDocumentNumber> </Fee> </Grouped> </Fees> <TotalCost currencyCode="USD" xmlns="http://services.sabre.com/STL/v01">11.00</TotalCost> <Payment

Misc Web Services 19 March 2019 28 Confidential and Proprietary Sabre Airline Solutions

xmlns="http://services.sabre.com/STL/v01"> <Amount currencyCode="USD">11.00</Amount> <FormOfPayment> <CreditCard> <Code>BA</Code> <Number>XXXXXXXXXXXX1111</Number> <ExpiryDate>0216</ExpiryDate> <ApprovalCode>9018</ApprovalCode> </CreditCard> </FormOfPayment> </Payment> </misc:CollectMiscFeeRS> </soap-env:Body> </soap-env:Envelope>

The MISC web service performs an internal end transaction after issuing a document, thus it is not necessary to insert an End Transaction in your web service calls.

Misc Web Services 19 March 2019 29 Confidential and Proprietary Sabre Airline Solutions

2.2 Get EXB MISC Fees for Specific City Pair (GetMISCFeesRQ)

This scenario involves getting the EXB fees for a specific city pair.

You can limit the excess baggage response to include only those PRAS codes that apply to a specific city or country pair. When you include a country pair you need the two digit country codes which is available in the MISC Mask User Guide available on the Community Portal.

Native Sabre

MIXB*YYC/LAX« PRAS-CODE ITEM COST CUR CCODE DATE 200 EXCESS BAGGAGE CAD 02 /01 18JAN11 201 OVERSIZET EXCESS 50.00 CAD 02 /01 01OCT09 202 OVERWEIGHT EXCESS 50.00 CAD 02 /01 01OCT09 203 OVERSIZE INTL 75.00 CAD YYC/LAX 02JUL12 207 EXCESS 1-3 BAGS 50.00 CAD 02 /01 18JAN11 208 EXCESS 4-6 BAGS 50.00 CAD 02 /01 18JAN11 209 OVER 7 BAGS EXCESS 50.00 CAD 02 /01 18JAN11 210 OVERSIZE 50.00 CAD 02 /01 01OCT09 211 OVERWEIGHT 50.00 CAD 02 /01 01OCT09 213 SECOND BAG FEE 20.00 CAD 02 /01 18JAN11 END OF DATA

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/fulfillment/Miscellaneous_v.1.4.2.wsdl

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp/> </ns1:MessageData>

Misc Web Services 19 March 2019 30 Confidential and Proprietary Sabre Airline Solutions

</ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3904931348898449536!1220160!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <GetMiscFeesRQ version="1.4.2" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="WS" dutyCode="5" lniata="F28C0C" sine="HUH" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>YYZ</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="EXB" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Parameters xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:OriginCityCode>YYC</ns3:OriginCityCode> <ns3:DestCityCode>LAX</ns3:DestCityCode> </ns3:Parameters> </GetMiscFeesRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp/> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary"

Misc Web Services 19 March 2019 31 Confidential and Proprietary Sabre Airline Solutions

valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3904931348898449536!1220160!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:GetMiscFeesRS version="1.4.2" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="WS" dutyCode="5" lniata="B3E90A" sine="HUH" xmlns="http://services.sabre.com/STL/v01"> <AAA>YYC</AAA> </AgentPOS> <Transaction code="EXB" xmlns="http://services.sabre.com/STL/v01"/> <Parameters xmlns="http://services.sabre.com/STL/v01"> <OriginCityCode>YYC</OriginCityCode> <DestCityCode>LAX</DestCityCode> </Parameters> <Fees xmlns="http://services.sabre.com/STL/v01"> <Fee> <FeeDetails code="213" description="SECOND BAG FEE"> <Base currencyCode="CAD">20.00</Base> <Total currencyCode="CAD">20.00</Total> <EffectiveDate>2011-01-18</EffectiveDate> </FeeDetails> </Fee> <Fee> <FeeDetails code="211" description="OVERWEIGHT"> <Base currencyCode="CAD">50.00</Base> <Total currencyCode="CAD">50.00</Total> <EffectiveDate>2009-10-01</EffectiveDate> </FeeDetails> </Fee> <Fee> <FeeDetails

Misc Web Services 19 March 2019 32 Confidential and Proprietary Sabre Airline Solutions

code="210" description="OVERSIZE"> <Base currencyCode="CAD">50.00</Base> <Total currencyCode="CAD">50.00</Total> <EffectiveDate>2009-10-01</EffectiveDate> </FeeDetails> </Fee> <Fee> <FeeDetails code="209" description="OVER 7 BAGS EXCESS"> <Base currencyCode="CAD">50.00</Base> <Total currencyCode="CAD">50.00</Total> <EffectiveDate>2011-01-18</EffectiveDate> </FeeDetails> </Fee> <Fee> <FeeDetails code="208" description="EXCESS 4-6 BAGS"> <Base currencyCode="CAD">50.00</Base> <Total currencyCode="CAD">50.00</Total> <EffectiveDate>2011-01-18</EffectiveDate> </FeeDetails> </Fee> <Fee> <FeeDetails code="207" description="EXCESS 1-3 BAGS"> <Base currencyCode="CAD">50.00</Base> <Total currencyCode="CAD">50.00</Total> <EffectiveDate>2011-01-18</EffectiveDate> </FeeDetails> </Fee> <Fee> <FeeDetails code="203" description="OVERSIZE INTL"> <Base currencyCode="CAD">75.00</Base> <Total currencyCode="CAD">75.00</Total> <EffectiveDate>2012-07-02</EffectiveDate> </FeeDetails> </Fee> <Fee> <FeeDetails code="202" description="OVERWEIGHT EXCESS"> <Base currencyCode="CAD">50.00</Base> <Total currencyCode="CAD">50.00</Total> <EffectiveDate>2009-10-01</EffectiveDate> </FeeDetails>

Misc Web Services 19 March 2019 33 Confidential and Proprietary Sabre Airline Solutions

</Fee> <Fee> <FeeDetails code="201" description="OVERSIZET EXCESS"> <Base currencyCode="CAD">50.00</Base> <Total currencyCode="CAD">50.00</Total> <EffectiveDate>2009-10-01</EffectiveDate> </FeeDetails> </Fee> <Fee> <FeeDetails code="200" description="EXCESS BAGGAGE"> <EffectiveDate>2011-01-18</EffectiveDate> </FeeDetails> </Fee> </Fees> </misc:GetMiscFeesRS> </soap-env:Body> </soap-env:Envelope>

2.3 Issue EXB Document for Multiple Baggage Items (CollectMISCFee)

This scenarios demonstrates issuing one EXB document for multiple baggage items.

2.3.1 Display the PNR

Native Sabre

*MDXVML« MDXVML 1.1FIFTY/CAROL 1 WS 110Y 23SEP S YYCYXX HK1 820A 841A HRS /E TKT/TIME LIMIT 1.T-05JUL-LAX5WAE 2.TE 8382181901351 FIFTY/C LAX5WAE 0726/05JUL VCR COUPON DATA EXISTS *VI TO DISPLAY PHONES 1.LAX123-1234 PRICE QUOTE RECORD EXISTS - *PQS WS FACTS 1.SSR APAY WS NN1 YYCYXX0110Y23SEP/SEAT/ACCPT/USD1000 CA LAX.HDQ5WAE 0925/05JUL12 MDXVML H B

Misc Web Services 19 March 2019 34 Confidential and Proprietary Sabre Airline Solutions

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/tpf/OTA_TravelItineraryReadLLS1.13.1RQ.wsdl

Request

<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service ns1:type="OTA">OTA_TravelItineraryReadLLSRQ</ns1:Service> <ns1:Action>OTA_TravelItineraryReadLLSRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T11:15:12Z</ns1:Timestamp> <ns1:TimeToLive>2001-02-15T11:15:12Z</ns1:TimeToLive> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3903948770904515584!844561!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <OTA_TravelItineraryReadRQ AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2001-12-17T09:30:47-05:00" Version="2003A.TsabreXML1.13.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07"> <UniqueID> <TPA_Extensions> <Redisplay Ind="true"/> </TPA_Extensions> </UniqueID> </OTA_TravelItineraryReadRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Misc Web Services 19 March 2019 35 Confidential and Proprietary Sabre Airline Solutions

Response

<?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="urn:x12.org:IO5:01">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="urn:x12.org:IO5:01">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service eb:type="OTA">OTA_TravelItineraryReadLLSRQ</eb:Service> <eb:Action>OTA_TravelItineraryReadLLSRS</eb:Action> <eb:MessageData> <eb:MessageId>46683a44-700d-484d-9cb8-94ecced6ee4a@176</eb:MessageId> <eb:Timestamp>2012-07-05T14:27:04</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3903948770904515584!844561!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <OTA_TravelItineraryRS AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2012-07-05T14:27:04" Version="2003A.TsabreXML1.13.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Success/> <TravelItinerary> <ItineraryRef ID="MDXVML"/> <CustomerInfos> <CustomerInfo> <Customer> <PersonName> <GivenName>CAROL</GivenName> <Surname>FIFTY</Surname> <TPA_Extensions> <NameNumber Number="01.01"/>

Misc Web Services 19 March 2019 36 Confidential and Proprietary Sabre Airline Solutions

</TPA_Extensions> </PersonName> <Telephone AreaCityCode="LAX" PhoneNumber="123-1234" RPH="001"/> </Customer> </CustomerInfo> </CustomerInfos> <ItineraryInfo> <ReservationItems> <Item RPH="0001"> <Air ActionCode="HK" AirMilesFlown="0397" ArrivalDateTime="2012-09-23T08:41:00" DepartureDateTime="2012-09-23T08:20:00" ElapsedTime="01.21" FlightNumber="0110" NumberInParty="01" RPH="0001" ResBookDesigCode="Y" SmokingAllowed="N" StopQuantity="00"> <DepartureAirport CodeContext="IATA" LocationCode="YYC"/> <ArrivalAirport CodeContext="IATA" LocationCode="YXX"/> <OperatingAirline/> <Equipment AirEquipType="73W"/> <MarketingAirline Code="WS"/> <Seats> <Seat Characteristic="ARMI" CustomerRPH="01.01" LocationCode="YXX" Number="06D" PseudoCityCode="YYC" Segment="0001" SmokingPreference="N" Status="HRS"/> </Seats> <TPA_Extensions> <ConnectionIndicator Type=" "/> <Eticket Ind="true"/> <UpdatedDepartureTime>2012-09-23T08:20:00</UpdatedDepartureTime> <UpdatedArrivalTime>2012-09-23T08:41:00</UpdatedArrivalTime> </TPA_Extensions> </Air> </Item> </ReservationItems> <Ticketing RPH="01" TicketTimeLimit="T-05JUL-LAX5WAE"/> <Ticketing RPH="02" eTicketNumber="TE 8382181901351 FIFTY/C LAX5WAE 0726/05JUL"/> <ItineraryPricing> <PriceQuote> <ResponseHeader> <Text>FARE - PRICE RETAINED</Text> <Text>FARE USED TO CALCULATE DISCOUNT</Text> </ResponseHeader> <PricedItinerary

Misc Web Services 19 March 2019 37 Confidential and Proprietary Sabre Airline Solutions

InputMessage="WPRQ" SequenceNumber="1" StatusCode="A" TaxExempt="N"> <AirItineraryPricingInfo> <ItinTotalFare> <BaseFare Amount="334.00" CurrencyCode="CAD" DecimalPlaces="2"/> <EquivFare Amount="333.00" CurrencyCode="USD" DecimalPlaces="2"/> <Taxes> <Tax Amount="86.58" CurrencyCode="CAD" DecimalPlaces="2" TaxCode="XT"/> <TaxBreakdownCode>3.00YQ</TaxBreakdownCode> <TaxBreakdownCode>14.90YQ</TaxBreakdownCode> <TaxBreakdownCode>24.98US</TaxBreakdownCode> <TaxBreakdownCode>24.90SQ</TaxBreakdownCode> <TaxBreakdownCode>18.80XG</TaxBreakdownCode> </Taxes> <TotalFare Amount="419.58" CurrencyCode="USD" DecimalPlaces="2"/> <Totals> <BaseFare Amount="334.00"/> <EquivFare Amount="333.00" DecimalPlaces="2"/> <Taxes> <Tax Amount="86.58"/> </Taxes> <TotalFare Amount="419.58" DecimalPlaces="2"/> </Totals> </ItinTotalFare> <PTC_FareBreakdown> <PassengerTypeQuantity Code="ADT" Quantity="01"/> <FareBasisCode>YBR</FareBasisCode> <FareCalc>YYC WS YXX334.00YBR CAD334.00END</FareCalc> <Endorsements> <Text>NONREF - FEE FOR CHG/CXL</Text> </Endorsements> <FlightSegment ActionCode="OK" DepartureDateTime="2012-09-23T08:20:00" FlightNumber="110" RPH=" 1" ResBookDesigCode="Y"> <FlightType Ind="O"/> <Airport LocationCode="YYC"/> <OperatingAirline Code="WS" FlightNumber="110"/> <FareBasisCode>YBR</FareBasisCode>

Misc Web Services 19 March 2019 38 Confidential and Proprietary Sabre Airline Solutions

<ValidityDates> <NotValidAfter>2012-09-23T00:00:00</NotValidAfter> </ValidityDates> </FlightSegment> <FlightSegment> <Airport LocationCode="YXX"/> </FlightSegment> </PTC_FareBreakdown> <SignatureLine> <Text>LAX HDQ 5WAE 0925/05JUL</Text> </SignatureLine> </AirItineraryPricingInfo> </PricedItinerary> </PriceQuote> </ItineraryPricing> </ItineraryInfo> <SpecialServices ItemRPH="001" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>APAY</SSRType> <Name Number="01.01">FIFTY/CAROL</Name> </TPA_Extensions> <Text>WS NN1 YYCYXX0110Y23SEP/SEAT/ACCPT/USD1000 CA</Text> </Service> </SpecialServices> <SpecialServices ItemRPH="002" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>TKNE</SSRType> <Name Number="01.01">FIFTY/CAROL</Name> </TPA_Extensions> <Text>WS HK1 YYCYXX0110Y23SEP/8382181901351C1</Text> </Service> </SpecialServices> <UpdatedBy CreateDateTime="2012-07-05T09:25:00"> <TPA_Extensions> <Source AAACity="LAX" AgentSine="WAE" HomePseudoCityCode="HDQ"/> </TPA_Extensions> </UpdatedBy> </TravelItinerary> <TPA_Extensions> <HostCommand>Â?Â?Â?AÂ?Â?RS01S093Â?JX PNR</HostCommand> </TPA_Extensions> </OTA_TravelItineraryRS> </soap-env:Body> </soap-env:Envelope>

Misc Web Services 19 March 2019 39 Confidential and Proprietary Sabre Airline Solutions

2.3.2 Issue EXB Document (CollectMiscFeeRQ)

Native Sabre

Access the Excess Baggage mask. Indicate the applicable flight and press ENTER.

MISC3« MI - BAGGAGE FLIGHT SEGMENTS SUBJECT TO CHARGES. DEPRESS ENTER WHEN COMPLETE - RESET, CLEAR AND IGNORE TO EXIT. FIFTY/CAROL <8382181901351> PSGR TRANSACTION TICKET NUMBER IF ALL FLT SEGS SHOWN BELOW ARE SUBJECT TO CHARGES - ENTER TO CONTINUE OR USE AN X TO SELECT APPLICABLE SEGMENTS. AL FLT X CODE NBRS CITIES S < ><WS><110 ><YYCYXX>< > VERIFY STOPOVERS -S- OR

Select the bag charges that apply.

Note The charges shown in the native Sabre example are for demonstration only and are not intended to match those of the web service example.

MI - BAGGAGE CHARGE DESCRIPTIONS. PLACE NBR IN AREA PROVIDED. DEPRESS ENTER WHEN COMPLETE - RESET, CLEAR AND IGNORE TO EXIT FIFTY/CAROL < > X FOR SPORTS/OTHER ITEMS MASK NBR OF NBR OF <1 > EXCESS BAGGAGE <1 > OVERSIZE EXCESS < > OVERWEIGHT EXCESS < > OVERSIZE <1 > OVERWEIGHT <1 > SECOND BAG FEE < > HIGH VALUE/EXCESS VALUATION PIECES < > CHARGE BY WEIGHT < > TOTAL POUNDS

Misc Web Services 19 March 2019 40 Confidential and Proprietary Sabre Airline Solutions

The Total Codes Summary screen displays. Press ENTER to continue.

MISC - TOTAL COST SUMMARY. DEPRESS ENTER TO CONTINUE - RESET, CLEAR AND IGNORE TO EXIT. FIFTY/CAROL < > EQUIV AMT CURR CODE <USD> QTY ITEM/SVC COST TAX TOTAL 01 OVERSIZE EXCESS 48.91 < 0.00> 48.91 02 EXCESS 1-3 BAGS 97.82 < 0.00> 97.82 01 OVERWEIGHT 48.91 < 0.00> 48.91 01 SECOND BAG FEE 19.56 < 0.00> 19.56 TTL COST 215.20 0.00 215.20 RETURN TO FIRST MASK < >

Indicate the form of payment for the EXB charges and press ENTER.

MISC-FORM OF PAYMENT. ENTER AMOUNT IN ASSOCIATED FOP BOX DEPRESS ENTER TO ISSUE DOC-RESET, CLEAR, AND IGNORE TO EXIT. TTL COST 215.20 USD CASH AMT <215.20 > CHECK AMT < > CC1 AMT < > CC EXP < > ADDTL CC DATA < > CC NBR < > < > CC1 APPROVAL CODE IF PREVIOUSLY OBTAINED CC2 AMT < > CC EXP < > ADDTL CC DATA < > CC NBR < > < > CC2 APPROVAL CODE IF PREVIOUSLY OBTAINED EXCH AMT < > EXCH DOC NBR < >CPN< > ORIG FOP < > DATE/PLACE < > INV AMT < > DOCUMENT NBR < > GTR AMT < > DOCUMENT NBR < > PTA AMT < > OK 215.20 / 26 0147 5312 1

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/fulfillment/Miscellaneous_v.1.4.2.wsdl

Note This XML example uses credit card form of payment. When you have a credit card as payment, you need to request authorization via the PaymentRQ web service prior to the CollectMISCFee web service call.

Request

Misc Web Services 19 March 2019 41 Confidential and Proprietary Sabre Airline Solutions

<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T 11:15:12Z</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3903948770904515584!844561!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CollectMiscFeeRQ version="1.4.2" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="WS" dutyCode="5" lniata="F28C0C" sine="HUH" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>YYZ</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="EXB" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Grouped> <ns3:Customer firstName="CAROL" lastName="FIFTY"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="MDXVML"/> </ns3:Customer> <ns3:TicketNumber>8382181901351</ns3:TicketNumber> <ns3:Flight> <ns3:CarrierCode>WS</ns3:CarrierCode> <ns3:FlightNumber>110</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>YYC</ns3:DepartureCity>

Misc Web Services 19 March 2019 42 Confidential and Proprietary Sabre Airline Solutions

<ns3:ArrivalCity>YXX</ns3:ArrivalCity> <ns3:DepartureDate>2011-06-23</ns3:DepartureDate> </ns3:Flight> <ns3:Flight> <ns3:CarrierCode>WS</ns3:CarrierCode> <ns3:FlightNumber>110</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>YYC</ns3:DepartureCity> <ns3:ArrivalCity>YXX</ns3:ArrivalCity> <ns3:DepartureDate>2011-04-15</ns3:DepartureDate> </ns3:Flight> <ns3:Flight> <ns3:CarrierCode>WS</ns3:CarrierCode> <ns3:FlightNumber>110</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>YYC</ns3:DepartureCity> <ns3:ArrivalCity>YXX</ns3:ArrivalCity> <ns3:DepartureDate>2011-04-15</ns3:DepartureDate> </ns3:Flight> <ns3:Fee> <ns3:FeeDetails code="201" description="OVERSIZE EXCESS" quantity="3"> <ns3:Base currencyCode="USD">50.00</ns3:Base> <ns3:TotalTax currencyCode="USD">1.00</ns3:TotalTax> <ns3:Total currencyCode="USD">51.00</ns3:Total> </ns3:FeeDetails> <ns3:Tax code="US" exempt="false"> <ns3:Amount currencyCode="USD">1.00</ns3:Amount> </ns3:Tax> </ns3:Fee> <ns3:Fee> <ns3:FeeDetails code="202" description="OVERWEIGHT EXCESS" quantity="2"> <ns3:Base currencyCode="USD">50.00</ns3:Base> <ns3:Total currencyCode="USD">50.00</ns3:Total> </ns3:FeeDetails> </ns3:Fee> <ns3:Fee> <ns3:FeeDetails code="207" description="EXCESS 1-3 BAGS" quantity="2"> <ns3:Base currencyCode="USD">50.00</ns3:Base> <ns3:Total currencyCode="USD">50.00</ns3:Total> </ns3:FeeDetails> </ns3:Fee> <ns3:Fee>

Misc Web Services 19 March 2019 43 Confidential and Proprietary Sabre Airline Solutions

<ns3:FeeDetails code="208" description="EXCESS 4-6 BAGS" quantity="1"> <ns3:Base currencyCode="USD">50.00</ns3:Base> <ns3:Total currencyCode="USD">50.00</ns3:Total> </ns3:FeeDetails> </ns3:Fee> </ns3:Grouped> </ns3:Fees> <ns4:TotalCost currencyCode="USD" xmlns:ns4="http://services.sabre.com/STL/v01">201.00</ns4:TotalCost> <ns5:Payment xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:Amount currencyCode="USD">201.00</ns5:Amount> <ns5:FormOfPayment> <ns5:CreditCard> <ns5:Code>BA</ns5:Code> <ns5:Number>XXXXXXXXXXXX1111</ns5:Number> <ns5:ExpiryDate>1216</ns5:ExpiryDate> <ns5:ApprovalCode>5YH7</ns5:ApprovalCode> </ns5:CreditCard> </ns5:FormOfPayment> </ns5:Payment> <ns6:DetailLevel xmlns:ns6="http://services.sabre.com/STL/v01">Full</ns6:DetailLevel> </CollectMiscFeeRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2001-02-15T 11:15:12Z</eb:Timestamp> </eb:MessageData> </eb:MessageHeader>

Misc Web Services 19 March 2019 44 Confidential and Proprietary Sabre Airline Solutions

<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3903948770904515584!844561!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CollectMiscFeeRS version="1.4.2" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="WS" dutyCode="5" lniata="26A609" sine="HUH" xmlns="http://services.sabre.com/STL/v01"> <AAA>YYZ</AAA> </AgentPOS> <Transaction code="EXB" xmlns="http://services.sabre.com/STL/v01"/> <Fees xmlns="http://services.sabre.com/STL/v01"> <Grouped> <Customer firstName="CAROL" lastName="FIFTY"> <CustomerDetails nameRefNumber="1.1" pnrLocator="MDXVML"/> </Customer> <TicketNumber>8382181901351</TicketNumber> <Flight> <CarrierCode>WS</CarrierCode> <FlightNumber>110</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>YYC</DepartureCity> <ArrivalCity>YXX</ArrivalCity> <DepartureDate>2011-06-23</DepartureDate> </Flight> <Flight> <CarrierCode>WS</CarrierCode> <FlightNumber>110</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>YYC</DepartureCity> <ArrivalCity>YXX</ArrivalCity> <DepartureDate>2011-04-15</DepartureDate> </Flight>

Misc Web Services 19 March 2019 45 Confidential and Proprietary Sabre Airline Solutions

<Flight> <CarrierCode>WS</CarrierCode> <FlightNumber>110</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>YYC</DepartureCity> <ArrivalCity>YXX</ArrivalCity> <DepartureDate>2011-04-15</DepartureDate> </Flight> <Fee> <FeeDetails code="201" description="OVERSIZE EXCESS" quantity="3"> <Base currencyCode="USD">50.00</Base> <TotalTax currencyCode="USD">1.00</TotalTax> <Total currencyCode="USD">51.00</Total> </FeeDetails> <Tax code="US" exempt="false"> <Amount currencyCode="USD">1.00</Amount> </Tax> <IssuedDocumentNumber couponNumber="1">8382601475311</IssuedDocumentNumber> </Fee> <Fee> <FeeDetails code="202" description="OVERWEIGHT EXCESS" quantity="2"> <Base currencyCode="USD">50.00</Base> <Total currencyCode="USD">50.00</Total> </FeeDetails> <IssuedDocumentNumber couponNumber="2">8382601475311</IssuedDocumentNumber> </Fee> <Fee> <FeeDetails code="207" description="EXCESS 1-3 BAGS" quantity="2"> <Base currencyCode="USD">50.00</Base> <Total currencyCode="USD">50.00</Total> </FeeDetails> <IssuedDocumentNumber couponNumber="3">8382601475311</IssuedDocumentNumber> </Fee> <Fee> <FeeDetails code="208" description="EXCESS 4-6 BAGS" quantity="1"> <Base currencyCode="USD">50.00</Base>

Misc Web Services 19 March 2019 46 Confidential and Proprietary Sabre Airline Solutions

<Total currencyCode="USD">50.00</Total> </FeeDetails> <IssuedDocumentNumber couponNumber="4">8382601475311</IssuedDocumentNumber> </Fee> </Grouped> </Fees> <TotalCost currencyCode="USD" xmlns="http://services.sabre.com/STL/v01">201.00</TotalCost> <Payment xmlns="http://services.sabre.com/STL/v01"> <Amount currencyCode="USD">201.00</Amount> <FormOfPayment> <CreditCard> <Code>BA</Code> <Number>XXXXXXXXXXXX1111</Number> <ExpiryDate>1216</ExpiryDate> <ApprovalCode>5YH7</ApprovalCode> </CreditCard> </FormOfPayment> </Payment> </misc:CollectMiscFeeRS> </soap-env:Body> </soap-env:Envelope>

Misc Web Services 19 March 2019 47 Confidential and Proprietary Sabre Airline Solutions

2.3.3 Review the PNR

Native Sabre

Notice the remarks added for the four EXB items issued on the document.

*MDXVML« MDXVML 1.1FIFTY/CAROL 1 WS 110Y 23SEP S YYCYXX HK1 820A 841A HRS /E TKT/TIME LIMIT 1.T-05JUL-LAX5WAE 2.TE 8382181901351 FIFTY/C LAX5WAE 0726/05JUL 3.TK 8382601475311 FIFTY/C LAX5WAE 0726/05JUL VCR COUPON DATA EXISTS *VI TO DISPLAY PHONES 1.LAX123-1234 PRICE QUOTE RECORD EXISTS - *PQS WS FACTS 1.SSR APAY WS NN1 YYCYXX0110Y23SEP/SEAT/ACCPT/USD1000 CA REMARKS 1.BAG-03 OVERSIZE EXCESS USD 50.00 2.BAG-02 OVERWEIGHT EXCESS USD 50.00 3.BAG-02 EXCESS 1-3 BAGS USD 50.00 4.BAG-01 EXCESS 4-6 BAGS USD 50.00 LAX.HDQ5WAE 0925/05JUL12 MDXVML H B

Misc Web Services 19 March 2019 48 Confidential and Proprietary Sabre Airline Solutions

2.4 Issue Multiple MSRs for Multiple Passengers (CollectMiscFee)

2.4.1 Display the PNR

Native Sabre

*KZUGOS« KZUGOS 1.1MISCTWO/PAXONE 2.1MISCTWO/PAXTWO 1 WS 425Y 03SEP M YYZYYC HK2 905A 1114A /E 2 WS 445Y 04SEP T YYCYVR HK2 900A 926A /E TKT/TIME LIMIT 1.T-15JUN-LAX5WAE 2.TE 8382180352903 MISCT/P LAX5WAE 0647/15JUN 3.TE 8382180352904 MISCT/P LAX5WAE 0647/15JUN VCR COUPON DATA EXISTS *VI TO DISPLAY PHONES 1.LAX123-1234 PRICE QUOTE RECORD EXISTS - *PQS REMARKS LAX.HDQ5WAE 0847/15JUN12 KZUGOS H

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/tpf/OTA_TravelItineraryReadLLS1.13.1RQ.wsdl

Request

<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service ns1:type="OTA">OTA_TravelItineraryReadLLSRQ</ns1:Service> <ns1:Action>OTA_TravelItineraryReadLLSRQ</ns1:Action> <ns1:MessageData>

Misc Web Services 19 March 2019 49 Confidential and Proprietary Sabre Airline Solutions

<ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T11:15:12Z</ns1:Timestamp> <ns1:TimeToLive>2001-02-15T11:15:12Z</ns1:TimeToLive> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3911036220913792379!1051233!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <OTA_TravelItineraryReadRQ AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2001-12-17T09:30:47-05:00" Version="2003A.TsabreXML1.13.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07"> <UniqueID> <TPA_Extensions> <Redisplay Ind="true"/> <Transaction Code="PNR"/> </TPA_Extensions> </UniqueID> </OTA_TravelItineraryReadRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response

<?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="urn:x12.org:IO5:01">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="urn:x12.org:IO5:01">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service eb:type="OTA">OTA_TravelItineraryReadLLSRQ</eb:Service> <eb:Action>OTA_TravelItineraryReadLLSRS</eb:Action> <eb:MessageData> <eb:MessageId>0e5e735b-32ac-451d-9160-90995a9e745c@152</eb:MessageId> <eb:Timestamp>2012-06-15T13:48:13</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader>

Misc Web Services 19 March 2019 50 Confidential and Proprietary Sabre Airline Solutions

<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3911036220913792379!1051233!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <OTA_TravelItineraryRS AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2012-06-15T13:48:13" Version="2003A.TsabreXML1.13.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Success/> <TravelItinerary> <ItineraryRef ID="KZUGOS"/> <CustomerInfos> <CustomerInfo> <Customer> <PersonName> <GivenName>PAXONE</GivenName> <Surname>MISCTWO</Surname> <TPA_Extensions> <NameNumber Number="01.01"/> </TPA_Extensions> </PersonName> <PersonName> <GivenName>PAXTWO</GivenName> <Surname>MISCTWO</Surname> <TPA_Extensions> <NameNumber Number="02.01"/> </TPA_Extensions> </PersonName> <Telephone AreaCityCode="LAX" PhoneNumber="123-1234" RPH="001"/> </Customer> </CustomerInfo> </CustomerInfos> <ItineraryInfo> <ReservationItems> <Item RPH="0001"> <Air ActionCode="HK" AirMilesFlown="1677" ArrivalDateTime="2012-09-03T11:14:00" DepartureDateTime="2012-09-03T09:05:00" ElapsedTime="04.09" FlightNumber="0425" NumberInParty="02" RPH="0001" ResBookDesigCode="Y" SmokingAllowed="N" StopQuantity="00"> <DepartureAirport CodeContext="IATA" LocationCode="YYZ"/>

Misc Web Services 19 March 2019 51 Confidential and Proprietary Sabre Airline Solutions

<ArrivalAirport CodeContext="IATA" LocationCode="YYC"/> <OperatingAirline/> <Equipment AirEquipType="73H"/> <MarketingAirline Code="WS"/> <TPA_Extensions> <ConnectionIndicator Type=" O"/> <Eticket Ind="true"/> <UpdatedDepartureTime>2012-09-03T09:05:00</UpdatedDepartureTime> <UpdatedArrivalTime>2012-09-03T11:14:00</UpdatedArrivalTime> </TPA_Extensions> </Air> </Item> <Item RPH="0002"> <Air ActionCode="HK" AirMilesFlown="0427" ArrivalDateTime="2012-09-04T09:26:00" DepartureDateTime="2012-09-04T09:00:00" ElapsedTime="01.26" FlightNumber="0445" NumberInParty="02" RPH="0002" ResBookDesigCode="Y" SmokingAllowed="N" StopQuantity="00"> <DepartureAirport CodeContext="IATA" LocationCode="YYC"/> <ArrivalAirport CodeContext="IATA" LocationCode="YVR"/> <OperatingAirline/> <Equipment AirEquipType="73W"/> <MarketingAirline Code="WS"/> <TPA_Extensions> <ConnectionIndicator Type="I"/> <Eticket Ind="true"/> <UpdatedDepartureTime>2012-09-04T09:00:00</UpdatedDepartureTime> <UpdatedArrivalTime>2012-09-04T09:26:00</UpdatedArrivalTime> </TPA_Extensions> </Air> </Item> </ReservationItems> <Ticketing RPH="01" TicketTimeLimit="T-15JUN-LAX5WAE"/> <Ticketing RPH="02" eTicketNumber="TE 8382180352903 MISCT/P LAX5WAE 0647/15JUN"/> <Ticketing RPH="03" eTicketNumber="TE 8382180352904 MISCT/P LAX5WAE 0647/15JUN"/> <ItineraryPricing> <PriceQuote> <ResponseHeader> <Text>FARE - PRICE RETAINED</Text>

Misc Web Services 19 March 2019 52 Confidential and Proprietary Sabre Airline Solutions

<Text>FARE USED TO CALCULATE DISCOUNT</Text> </ResponseHeader> <PricedItinerary InputMessage="WPRQ" SequenceNumber="1" StatusCode="A" TaxExempt="N"> <AirItineraryPricingInfo> <ItinTotalFare> <BaseFare Amount="910.00" CurrencyCode="CAD" DecimalPlaces="2"/> <EquivFare Amount="907.00" CurrencyCode="USD" DecimalPlaces="2"/> <Taxes> <Tax Amount="265.70" CurrencyCode="CAD" DecimalPlaces="2" TaxCode="XT"/> <TaxBreakdownCode>3.00YQ</TaxBreakdownCode> <TaxBreakdownCode>34.80YQ</TaxBreakdownCode> <TaxBreakdownCode>68.00US</TaxBreakdownCode> <TaxBreakdownCode>7.60ZP</TaxBreakdownCode> <TaxBreakdownCode>27.90SQ</TaxBreakdownCode> <TaxBreakdownCode>123.20RC</TaxBreakdownCode> <TaxBreakdownCode>1.20XG</TaxBreakdownCode> </Taxes> <TotalFare Amount="1172.70" CurrencyCode="USD" DecimalPlaces="2"/> <Totals> <BaseFare Amount="1820.00"/> <EquivFare Amount="1814.00" DecimalPlaces="2"/> <Taxes> <Tax Amount="531.40"/> </Taxes> <TotalFare Amount="2345.40" DecimalPlaces="2"/> </Totals> </ItinTotalFare> <PTC_FareBreakdown> <PassengerTypeQuantity Code="ADT" Quantity="02"/> <FareBasisCode>YCR/YBR</FareBasisCode> <FareCalc>YTO WS YYC566.00YCR WS YVR344.00YBR CAD910.00END ZPYYZYYC</FareCalc> <Endorsements> <Text>NONREF - FEE FOR CHG/CXL</Text> </Endorsements> <FlightSegment ActionCode="OK" DepartureDateTime="2012-09-03T09:05:00" FlightNumber="425" RPH=" 1" ResBookDesigCode="Y"> <FlightType Ind="O"/>

Misc Web Services 19 March 2019 53 Confidential and Proprietary Sabre Airline Solutions

<Airport LocationCode="YYZ"/> <OperatingAirline Code="WS" FlightNumber="425"/> <FareBasisCode>YCR</FareBasisCode> <ValidityDates> <NotValidAfter>2012-09-03T00:00:00</NotValidAfter> </ValidityDates> </FlightSegment> <FlightSegment ActionCode="OK" DepartureDateTime="2012-09-04T09:00:00" FlightNumber="445" RPH=" 2" ResBookDesigCode="Y"> <FlightType Ind="O"/> <Airport LocationCode="YYC"/> <OperatingAirline Code="WS" FlightNumber="445"/> <FareBasisCode>YBR</FareBasisCode> <ValidityDates> <NotValidAfter>2012-09-03T00:00:00</NotValidAfter> </ValidityDates> </FlightSegment> <FlightSegment> <Airport LocationCode="YVR"/> </FlightSegment> </PTC_FareBreakdown> <SignatureLine> <Text>LAX HDQ 5WAE 0847/15JUN</Text> </SignatureLine> </AirItineraryPricingInfo> </PricedItinerary> </PriceQuote> </ItineraryPricing> </ItineraryInfo> <SpecialServices ItemRPH="001" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>TKNE</SSRType> <Name Number="01.01">MISCTWO/PAXONE</Name> </TPA_Extensions> <Text>WS HK1 YYZYYC0425Y03SEP/8382180352903C1</Text> </Service> </SpecialServices> <SpecialServices ItemRPH="002" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>TKNE</SSRType> <Name Number="01.01">MISCTWO/PAXONE</Name>

Misc Web Services 19 March 2019 54 Confidential and Proprietary Sabre Airline Solutions

</TPA_Extensions> <Text>WS HK1 YYCYVR0445Y04SEP/8382180352903C2</Text> </Service> </SpecialServices> <SpecialServices ItemRPH="003" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>TKNE</SSRType> <Name Number="02.01">MISCTWO/PAXTWO</Name> </TPA_Extensions> <Text>WS HK1 YYZYYC0425Y03SEP/8382180352904C1</Text> </Service> </SpecialServices> <SpecialServices ItemRPH="004" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>TKNE</SSRType> <Name Number="02.01">MISCTWO/PAXTWO</Name> </TPA_Extensions> <Text>WS HK1 YYCYVR0445Y04SEP/8382180352904C2</Text> </Service> </SpecialServices> <UpdatedBy CreateDateTime="2012-06-15T08:47:00"> <TPA_Extensions> <Source AAACity="LAX" AgentSine="WAE" HomePseudoCityCode="HDQ"/> </TPA_Extensions> </UpdatedBy> </TravelItinerary> <TPA_Extensions> <HostCommand>Â?Â?Â?AÂ?Â?RS01S093Â?JX PNR</HostCommand> </TPA_Extensions> </OTA_TravelItineraryRS> </soap-env:Body> </soap-env:Envelope>

2.4.2 Issue MSRs (CollectMiscFeeRQ)

Native Sabre

Issue a 50.00 service item MSR for the first passenger to purchase a pet kennel.

MISC2/2‡N1.1« MISC - SERVICES RESET, CLEAR AND IGNORE TO EXIT <MISCTWO/PAXONE > NBR OF NBR OF

Misc Web Services 19 March 2019 55 Confidential and Proprietary Sabre Airline Solutions

< > CHANGE CANCEL FEE < > UNACCOMPANIED MINOR < > EXPEDITE BAG < > TRAVEL BANK EXTENSION < > PET KENNEL CABIN <1 > PET KENNEL HOLD

MISC - TOTAL COST SUMMARY. DEPRESS ENTER TO CONTINUE - RESET, CLEAR AND IGNORE TO EXIT. MISCTWO/PAXONE < > EQUIV AMT CURR CODE <USD> QTY ITEM/SVC COST TAX TOTAL 01 PET KENNEL HOLD 50.00 < 0.00> 50.00 < > < > < > TTL COST 50.00 0.00 50.00 RETURN TO FIRST MASK < >

MISC-FORM OF PAYMENT. ENTER AMOUNT IN ASSOCIATED FOP BOX DEPRESS ENTER TO ISSUE DOC-RESET, CLEAR, AND IGNORE TO EXIT. TTL COST 50.00 USD CASH AMT <50.00 > CHECK AMT < > CC1 AMT < > CC EXP < > ADDTL CC DATA < > CC NBR < > < > CC1 APPROVAL CODE IF PREVIOUSLY OBTAINED CC2 AMT < > CC EXP < > ADDTL CC DATA < > CC NBR < > < > CC2 APPROVAL CODE IF PREVIOUSLY OBTAINED EXCH AMT < > EXCH DOC NBR < >CPN< > ORIG FOP < > DATE/PLACE < > INV AMT < > DOCUMENT NBR < > GTR AMT < > DOCUMENT NBR < > PTA AMT < > OK 50.00 / 06 1760 9961 2

Issue a service item MSR for the second passenger for a group deposit.

MISC2/2‡N2« MISC - SERVICES RESET, CLEAR AND IGNORE TO EXIT <MISCTWO/PAXTWO > NBR OF NBR OF < > CHANGE CANCEL FEE < > UNACCOMPANIED MINOR

Misc Web Services 19 March 2019 56 Confidential and Proprietary Sabre Airline Solutions

< > EXPEDITE BAG < > TRAVEL BANK EXTENSION < > PET KENNEL CABIN < > PET KENNEL HOLD < > EARLY SHOW < > LATE SHOW < > SPOILAGE < > NO SHOW REACCOM <8 > GROUP DEPOSIT < > REWARD TRANSFER FEE < > REWARD EXTEND FEE < > EXCESS VALUATION < > OTHER FEE < > DESCRIPTION < > PSGR TICKET NBR/S/ - <8382180352904> < > IF REQUIRED < > < >

MISC - TOTAL COST SUMMARY. DEPRESS ENTER TO CONTINUE - RESET, CLEAR AND IGNORE TO EXIT. MISCTWO/PAXTWO < > EQUIV AMT CURR CODE <USD> QTY ITEM/SVC COST TAX TOTAL 08 GROUP DEPOSIT 400.00 < 2.30> 402.30 < > < > < > TTL COST 400.00 2.30 402.30 RETURN TO FIRST MASK < >

MISC-FORM OF PAYMENT. ENTER AMOUNT IN ASSOCIATED FOP BOX DEPRESS ENTER TO ISSUE DOC-RESET, CLEAR, AND IGNORE TO EXIT. TTL COST 402.30 USD CASH AMT <150.30 > CHECK AMT < > CC1 AMT < > CC EXP < > ADDTL CC DATA < > CC NBR < > < > CC1 APPROVAL CODE IF PREVIOUSLY OBTAINED CC2 AMT < > CC EXP < > ADDTL CC DATA < > CC NBR < > < > CC2 APPROVAL CODE IF PREVIOUSLY OBTAINED EXCH AMT < > EXCH DOC NBR < >CPN< > ORIG FOP < > DATE/PLACE < > INV AMT <252.00 > DOCUMENT NBR <8382165610> GTR AMT < > DOCUMENT NBR < > OK 402.30 / 06 1760 9962 3

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/fulfillment/Miscellaneous_v.1.4.2.wsdl

Misc Web Services 19 March 2019 57 Confidential and Proprietary Sabre Airline Solutions

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T 11:15:12Z</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3911036220913792379!1051233!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CollectMiscFeeRQ version="1.4.2" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="WS" dutyCode="4" lniata="F28730" sine="HUH" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>YYZ</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="MSR" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Grouped> <ns3:Customer firstName="PAXONE" lastName="MISCTWO"> <ns3:CustomerDetails pnrLocator="KZUGOS"/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="423" description="PET KENNEL HOLD" quantity="1"> <ns3:Base

Misc Web Services 19 March 2019 58 Confidential and Proprietary Sabre Airline Solutions

currencyCode="USD">50.00</ns3:Base> <ns3:Total currencyCode="USD">50.00</ns3:Total> </ns3:FeeDetails> </ns3:Fee> </ns3:Grouped> </ns3:Fees> <ns4:Fees xmlns:ns4="http://services.sabre.com/STL/v01"> <ns4:Grouped> <ns4:Customer firstName="PAXTWO" lastName="MISCTWO"> <ns4:CustomerDetails pnrLocator="KZUGOS"/> </ns4:Customer> <ns4:Fee> <ns4:FeeDetails code="428" description="GROUP DEPOSIT" quantity="1"> <ns4:Base currencyCode="USD">400.00</ns4:Base> <ns4:TotalTax currencyCode="USD">2.30</ns4:TotalTax> <ns4:Total currencyCode="USD">402.30</ns4:Total> </ns4:FeeDetails> <ns4:Tax code="AY" exempt="false"> <ns4:Amount currencyCode="USD">2.30</ns4:Amount> </ns4:Tax> </ns4:Fee> </ns4:Grouped> </ns4:Fees> <ns5:TotalCost currencyCode="USD" xmlns:ns5="http://services.sabre.com/STL/v01">452.30</ns5:TotalCost> <ns6:Payment xmlns:ns6="http://services.sabre.com/STL/v01"> <ns6:Amount currencyCode="USD">200.30</ns6:Amount> <ns6:FormOfPayment> <ns6:Cash>CA</ns6:Cash> </ns6:FormOfPayment> </ns6:Payment> <ns7:Payment xmlns:ns7="http://services.sabre.com/STL/v01"> <ns7:Amount currencyCode="USD">252.00</ns7:Amount> <ns7:FormOfPayment> <ns7:Invoice> <ns7:Number>8382165610</ns7:Number> </ns7:Invoice> </ns7:FormOfPayment> </ns7:Payment> <ns8:DetailLevel xmlns:ns8="http://services.sabre.com/STL/v01">Full</ns8:DetailLevel> </CollectMiscFeeRQ>

Misc Web Services 19 March 2019 59 Confidential and Proprietary Sabre Airline Solutions

</SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2001-02-15T 11:15:12Z</eb:Timestamp> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3911036220913792379!1051233!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CollectMiscFeeRS version="1.4.2" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="WS" dutyCode="4" lniata="2B8F09" sine="HUH" xmlns="http://services.sabre.com/STL/v01"> <AAA>YYZ</AAA> </AgentPOS>

Misc Web Services 19 March 2019 60 Confidential and Proprietary Sabre Airline Solutions

<Transaction code="MSR" xmlns="http://services.sabre.com/STL/v01"/> <Fees xmlns="http://services.sabre.com/STL/v01"> <Grouped> <Customer firstName="PAXONE" lastName="MISCTWO"> <CustomerDetails pnrLocator="KZUGOS"/> </Customer> <Fee> <FeeDetails code="423" description="PET KENNEL HOLD" quantity="1"> <Base currencyCode="USD">50.00</Base> <Total currencyCode="USD">50.00</Total> </FeeDetails> <IssuedDocumentNumber couponNumber="1">8380617609957</IssuedDocumentNumber> </Fee> </Grouped> </Fees> <Fees xmlns="http://services.sabre.com/STL/v01"> <Grouped> <Customer firstName="PAXTWO" lastName="MISCTWO"> <CustomerDetails pnrLocator="KZUGOS"/> </Customer> <Fee> <FeeDetails code="428" description="GROUP DEPOSIT" quantity="1"> <Base currencyCode="USD">400.00</Base> <TotalTax currencyCode="USD">2.30</TotalTax> <Total currencyCode="USD">402.30</Total> </FeeDetails> <Tax code="AY" exempt="false"> <Amount currencyCode="USD">2.30</Amount> </Tax> <IssuedDocumentNumber couponNumber="1">8380617609958</IssuedDocumentNumber> </Fee> </Grouped> </Fees> <TotalCost currencyCode="USD" xmlns="http://services.sabre.com/STL/v01">452.30</TotalCost> <Payment xmlns="http://services.sabre.com/STL/v01">

Misc Web Services 19 March 2019 61 Confidential and Proprietary Sabre Airline Solutions

<Amount currencyCode="USD">200.30</Amount> <FormOfPayment> <Cash/> </FormOfPayment> </Payment> <Payment xmlns="http://services.sabre.com/STL/v01"> <Amount currencyCode="USD">252.00</Amount> <FormOfPayment> <Invoice> <Number>8382165610</Number> </Invoice> </FormOfPayment> </Payment> </misc:CollectMiscFeeRS> </soap-env:Body> </soap-env:Envelope>

The MISC web service performs an internal end transaction after issuing a document, thus it is not necessary to insert an End Transaction in your web service calls.

Misc Web Services 19 March 2019 62 Confidential and Proprietary Sabre Airline Solutions

2.5 Issue MSR Documents For Seats and Build APAY

A customer has the provision to collect the fees for ancillaries (SEAT) via issuing MSR documents through CollectMiscFeeRQ service.

Host (PSS) system performs a keyword “IRCLSS” check to ensure that legitimate request is received. If the keyword is missing in the requestor’s EPR, then the request will be rejected and an error response will be returned. In general, check-in or gate agents should have this keyword added in their EPR.

If a requestor intends to build the APAY through the service, then a new attribute “buildAPAY” needs to set as “TRUE” to indicate that an APAY should be created. Once the APAY gets created, the MSR details get pushed to T2 database.

Below are some of the use cases that illustrates the system behavior.

1. Service user requested APAY to be build and PNR doesn’t contain the APAY details.

a. In this case, service will get the APAY created in the system and fulfill it.

2. Service user requested APAY to be build and PNR also contain the APAY details.

a. In this case, service will override the APAY in the system and fulfill it.

3. Service user sets the Build APAY indicator as false

a. In this case, service will not make any changes in the PNR.

Request

<CollectMiscFeeRQ version="1.4.2" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <!-- SYSTEM-T2DAILY-SYSTEM --> <ns1:AgentPOS company="B6" lniata="F28730" sine="HUH" dutyCode="5" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA province="BC">LHR</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="MSR" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Linked> <ns3:Customer lastName="PONEEE" firstName="TESSSS"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="EHXEFY"/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="438" description="ANCILLARY SEAT FEE" quantity="1" buildAPAY="true"> <ns3:Base currencyCode="CAD">50.00</ns3:Base> <ns3:Equiv currencyCode="EUR">20.00</ns3:Equiv> <ns3:Total currencyCode="EUR">20.00</ns3:Total> </ns3:FeeDetails> <ns3:OptionalService RFIC="A" subCode="AS" ssrCode="SEAT"/> <ns3:AssociatedFlight> <ns3:CarrierCode>B6</ns3:CarrierCode> <ns3:FlightNumber>318</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>JFK</ns3:DepartureCity> <ns3:ArrivalCity>BOS</ns3:ArrivalCity> <ns3:DepartureDate>2018-05-23</ns3:DepartureDate> </ns3:AssociatedFlight>

Misc Web Services 19 March 2019 63 Confidential and Proprietary Sabre Airline Solutions

<ns3:AssociatedTicketNumber couponNumber="01">2792194535014</ns3:AssociatedTicketNumber> </ns3:Fee> </ns3:Linked> </ns3:Fees> <ns4:TotalCost currencyCode="EUR" xmlns:ns4="http://services.sabre.com/STL/v01">20.00</ns4:TotalCost> <ns5:Payment xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:Amount currencyCode="EUR">20.00</ns5:Amount> <ns5:FormOfPayment> <ns5:CreditCard> <ns5:Code>BA</ns5:Code> <ns5:Number>4444333322221111</ns5:Number> <ns5:ExpiryDate>1218</ns5:ExpiryDate> <ns5:ApprovalCode>8TSD</ns5:ApprovalCode> </ns5:CreditCard> </ns5:FormOfPayment> </ns5:Payment> <ns6:DetailLevel xmlns:ns6="http://services.sabre.com/STL/v01">Full</ns6:DetailLevel> </CollectMiscFeeRQ>

Respnse

<misc:CollectMiscFeeRS xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0" xmlns="http://services.sabre.com/STL/v01" version="1.4.2"> <Header> <Results messageId="TKTHLI702-19593-826688607-1524490207145-91-misc" timeStamp="2018-04-23T08:30:07"> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="B6" dutyCode="5" sine="HUH" lniata="38D63A"> <AAA province="BC">LHR</AAA> </AgentPOS> <Transaction code="MSR"/> <Fees> <Linked> <Customer firstName="TESSSS" lastName="PONEEE"> <CustomerDetails nameRefNumber="1.1" pnrLocator="EHXEFY"/> </Customer> <Fee> <FeeDetails code="438" description="ANCILLARY SEAT FEE" quantity="1" buildAPAY="true"> <Base currencyCode="CAD">50.00</Base> <Equiv currencyCode="EUR">20.00</Equiv> <Total currencyCode="EUR">20.00</Total> </FeeDetails> <OptionalService RFIC="A" subCode="AS" ssrCode="SEAT"/> <AssociatedFlight segmentID="0"> <CarrierCode>B6</CarrierCode> <FlightNumber>318</FlightNumber>

Misc Web Services 19 March 2019 64 Confidential and Proprietary Sabre Airline Solutions

<ClassOfService>Y</ClassOfService> <DepartureCity>JFK</DepartureCity> <ArrivalCity>BOS</ArrivalCity> <DepartureDate>2018-05-23</DepartureDate> </AssociatedFlight> <AssociatedTicketNumber couponNumber="1">2792194535014</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="1">2790616925321</IssuedDocumentNumber> </Fee> </Linked> </Fees> <TotalCost currencyCode="EUR">20.00</TotalCost> <Payment> <Amount currencyCode="EUR">20.00</Amount> <FormOfPayment> <CreditCard> <Code>BA</Code> <Number>4444333322221111</Number> <ExpiryDate>1218</ExpiryDate> <ApprovalCode>8TSD</ApprovalCode> </CreditCard> </FormOfPayment> </Payment> </misc:CollectMiscFeeRS>

2.6 Issue MSR for Multiple PRAS Codes with Same GRP Number (CollectMiscFeeRQ)

The GRP number in the MISC*ALL table determines which PRAS codes can print on the same MSR, up to a maximum of 4 per document. If the GRP number is the same, the MISC Web Service automatically issues them on the same MSR; if the GRP number is different, they appear on separate MSRs.

To be able to display the MISC*ALL table, refer to the EPR requirements listed at the beginning of this document.

In the example MISC*ALL display below, PRAS codes 008, 425, 017, and 429 would print on the same MSR because they have the same GRP number.

MISC*ALL« PRAS ITEM COST-ITEM EFF CUR SUF 008 CHANGE CANCEL FEE 50.00 27JUN12 CAD TAX TKT PNR SEG OVR GRP TMX SMX NULL CPN NPR V Y Y N Y 1 1 1 N N N 425 LATE SHOW 50.00 27JUN12 CAD TAX TKT PNR SEG OVR GRP TMX SMX NULL CPN NPR V N N N Y 1 1 1 N N N 017 NAME CHANGE FEE 25.00 27JUN12 CAD

Misc Web Services 19 March 2019 65 Confidential and Proprietary Sabre Airline Solutions

TAX TKT PNR SEG OVR GRP TMX SMX NULL CPN NPR V N N N Y 1 6 6 N N N 422 PET KENNEL CABIN 50.00 27JUN12 CAD TAX TKT PNR SEG OVR GRP TMX SMX NULL CPN NPR V N N N Y 2 6 4 N N N 423 PET KENNEL HOLD 50.00 26JUN12 CAD TAX TKT PNR SEG OVR GRP TMX SMX NULL CPN NPR N N N N Y 2 1 1 N N N 429 REWARD EXTEND FEE 20.00 27JUN12 CAD TAX TKT PNR SEG OVR GRP TMX SMX NULL CPN NPR V N N N Y 1 6 4 N N N END OF DATA

This scenario demonstrates what happens when the web service call sends four PRAS codes with the same GRP number.

Misc Web Services 19 March 2019 66 Confidential and Proprietary Sabre Airline Solutions

2.6.1 Display the PNR

Native Sabre

*LGUFMS« LGUFMS 1.1FIFTYTHREE/BEBE 2.1FIFTYTHREE/CECE 1 WS 699Y 18SEP T YYZYYC HK2 1100A 109P /E TKT/TIME LIMIT 1.T-28JUN-LAX5WAE 2.TE 8382181900761 FIFTY/B LAX5WAE 0817/28JUN 3.TE 8382181900762 FIFTY/C LAX5WAE 0817/28JUN VCR COUPON DATA EXISTS *VI TO DISPLAY PHONES 1.LAX123-1234 PRICE QUOTE RECORD EXISTS - *PQS LAX.HDQ5WAE 1016/28JUN12 LGUFMS H

Web Service Calls

Refer to the Set-Up Web Service Calls section for an example XML.

2.6.2 Collect MISC Fees for PRAS Codes with Same GRP Numbers

Native Sabre

The GRP number functionality in the MISC*ALL table was developed only for the MISC web service. It is not available for native Sabre, which uses the MISC* for PRAS code information.

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/fulfillment/Miscellaneous_v.1.4.2.wsdl

Note This XML example uses credit card form of payment. When you have a credit card as payment, you need to request authorization via the PaymentRQ web service prior to the CollectMISCFee web service call.

Request ?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version=""

Misc Web Services 19 March 2019 67 Confidential and Proprietary Sabre Airline Solutions

xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T 11:15:12Z</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3906410439869863035!1759145!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CollectMiscFeeRQ version="1.4.2" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="WS" dutyCode="5" lniata="F28C0C" sine="HUH" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>YYZ</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="MSR" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Grouped> <ns3:Customer firstName="BEBE" lastName="FIFTYTHREE"> <ns3:CustomerDetails pnrLocator="LGUFMS"/> </ns3:Customer> <ns3:TicketNumber>8382181900761</ns3:TicketNumber> <ns3:Flight> <ns3:CarrierCode>WS</ns3:CarrierCode> <ns3:FlightNumber>507</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>DFW</ns3:DepartureCity> <ns3:ArrivalCity>CUN</ns3:ArrivalCity> <ns3:DepartureDate>2010-10-23</ns3:DepartureDate> <ns3:StopOver>1</ns3:StopOver> </ns3:Flight> <ns3:Fee> <ns3:FeeDetails code="017" description="NAME CHANGE FEE" quantity="1"> <ns3:Base

Misc Web Services 19 March 2019 68 Confidential and Proprietary Sabre Airline Solutions

currencyCode="USD">50.00</ns3:Base> <ns3:TotalTax currencyCode="USD">1.00</ns3:TotalTax> <ns3:Total currencyCode="USD">51.00</ns3:Total> </ns3:FeeDetails> </ns3:Fee> <ns3:Fee> <ns3:FeeDetails code="429" description="REWARD EXTEND FEE" quantity="1"> <ns3:Base currencyCode="USD">20.00</ns3:Base> <ns3:TotalTax currencyCode="USD">1.00</ns3:TotalTax> <ns3:Total currencyCode="USD">21.00</ns3:Total> </ns3:FeeDetails> </ns3:Fee> <ns3:Fee> <ns3:FeeDetails code="425" description="LATE SHOW" quantity="1"> <ns3:Base currencyCode="USD">50.00</ns3:Base> <ns3:TotalTax currencyCode="USD">1.00</ns3:TotalTax> <ns3:Total currencyCode="USD">51.00</ns3:Total> </ns3:FeeDetails> </ns3:Fee> <ns3:Fee> <ns3:FeeDetails code="008" description="CHANGE CANCEL FEE" quantity="1"> <ns3:Base currencyCode="USD">50.00</ns3:Base> <ns3:TotalTax currencyCode="USD">1.00</ns3:TotalTax> <ns3:Total currencyCode="USD">51.00</ns3:Total> </ns3:FeeDetails> <ns3:IssuedDocumentNumber>8382181900761</ns3:IssuedDocumentNumber> </ns3:Fee> </ns3:Grouped> </ns3:Fees> <ns4:TotalCost currencyCode="USD" xmlns:ns4="http://services.sabre.com/STL/v01">174.00</ns4:TotalCost> <ns5:Payment xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:Amount currencyCode="USD">174.00</ns5:Amount> <ns5:FormOfPayment> <ns5:CreditCard> <ns5:Code>BA</ns5:Code> <ns5:Number>XXXXXXXXXXXX1111</ns5:Number> <ns5:ExpiryDate>1216</ns5:ExpiryDate>

Misc Web Services 19 March 2019 69 Confidential and Proprietary Sabre Airline Solutions

<ns5:ApprovalCode>5YH7</ns5:ApprovalCode> </ns5:CreditCard> </ns5:FormOfPayment> </ns5:Payment> <ns6:DetailLevel xmlns:ns6="http://services.sabre.com/STL/v01">Full</ns6:DetailLevel> </CollectMiscFeeRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2001-02-15T 11:15:12Z</eb:Timestamp> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3906410439869863035!1759145!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CollectMiscFeeRS version="1.4.2" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults>

Misc Web Services 19 March 2019 70 Confidential and Proprietary Sabre Airline Solutions

</Results> </Header> <AgentPOS company="WS" dutyCode="5" lniata="3DF20A" sine="HUH" xmlns="http://services.sabre.com/STL/v01"> <AAA>YYZ</AAA> </AgentPOS> <Transaction code="MSR" xmlns="http://services.sabre.com/STL/v01"/> <Fees xmlns="http://services.sabre.com/STL/v01"> <Grouped> <Customer firstName="BEBE" lastName="FIFTYTHREE"> <CustomerDetails pnrLocator="LGUFMS"/> </Customer> <TicketNumber>8382181900761</TicketNumber> <Flight> <CarrierCode>WS</CarrierCode> <FlightNumber>507</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>DFW</DepartureCity> <ArrivalCity>CUN</ArrivalCity> <DepartureDate>2010-10-23</DepartureDate> <StopOver>1</StopOver> </Flight> <Fee> <FeeDetails code="017" description="NAME CHANGE FEE" quantity="1"> <Base currencyCode="USD">50.00</Base> <TotalTax currencyCode="USD">1.00</TotalTax> <Total currencyCode="USD">51.00</Total> </FeeDetails> <IssuedDocumentNumber couponNumber="1">8380618229115</IssuedDocumentNumber> </Fee> <Fee> <FeeDetails code="429" description="REWARD EXTEND FEE" quantity="1"> <Base currencyCode="USD">20.00</Base> <TotalTax currencyCode="USD">1.00</TotalTax> <Total currencyCode="USD">21.00</Total> </FeeDetails> <IssuedDocumentNumber couponNumber="2">8380618229115</IssuedDocumentNumber> </Fee> <Fee> <FeeDetails

Misc Web Services 19 March 2019 71 Confidential and Proprietary Sabre Airline Solutions

code="425" description="LATE SHOW" quantity="1"> <Base currencyCode="USD">50.00</Base> <TotalTax currencyCode="USD">1.00</TotalTax> <Total currencyCode="USD">51.00</Total> </FeeDetails> <IssuedDocumentNumber couponNumber="3">8380618229115</IssuedDocumentNumber> </Fee> <Fee> <FeeDetails code="008" description="CHANGE CANCEL FEE" quantity="1"> <Base currencyCode="USD">50.00</Base> <TotalTax currencyCode="USD">1.00</TotalTax> <Total currencyCode="USD">51.00</Total> </FeeDetails> <IssuedDocumentNumber couponNumber="4">8380618229115</IssuedDocumentNumber> </Fee> </Grouped> </Fees> <TotalCost currencyCode="USD" xmlns="http://services.sabre.com/STL/v01">174.00</TotalCost> <Payment xmlns="http://services.sabre.com/STL/v01"> <Amount currencyCode="USD">174.00</Amount> <FormOfPayment> <CreditCard> <Code>BA</Code> <Number>XXXXXXXXXXX1111</Number> <ExpiryDate>1216</ExpiryDate> <ApprovalCode>5YH7</ApprovalCode> </CreditCard> </FormOfPayment> </Payment> </misc:CollectMiscFeeRS> </soap-env:Body> </soap-env:Envelope>

The MISC web service performs an internal end transaction after issuing a document, thus it is not necessary to insert an End Transaction in your web service calls.

Misc Web Services 19 March 2019 72 Confidential and Proprietary Sabre Airline Solutions

2.6.3 Review PNR

Native Sabre

From the redisplayed PNR you can view the data for the issued MSR in the Remarks field

*LGUFMS LGUFMS 1.1FIFTYTHREE/BEBE 2.1FIFTYTHREE/CECE 1 WS 699Y 18SEP T YYZYYC HK2 1100A 109P /E TKT/TIME LIMIT 1.T-28JUN-LAX5WAE 2.TE 8382181900761 FIFTY/B LAX5WAE 0817/28JUN 3.TE 8382181900762 FIFTY/C LAX5WAE 0817/28JUN 4.TK 8380618229115 FIFTY/B LAX5WAE 0833/28JUN VCR COUPON DATA EXISTS *VI TO DISPLAY PHONES 1.LAX123-1234 PRICE QUOTE RECORD EXISTS - *PQS REMARKS 1.H-01 NAME CHANGE FEE USD 50.00 2.H-01 REWARD EXTEND FEE USD 20.00 3.H-01 LATE SHOW USD 50.00 4.H-01 CHANGE CANCEL FEE USD 50.00 5.H- 8382181900761 LAX.HDQ5WAE 1016/28JUN12 LGUFMS H

Misc Web Services 19 March 2019 73 Confidential and Proprietary Sabre Airline Solutions

2.6.4 Completed MSRs via Agent Sales Report

Below is the display of the MSR in the Agent Sales Report.

Since all four PRAS code have the same GRP number in the MISC*ALL table, they all printed on the same MSR. If there had been more than four PRAS codes with the same GRP number sent in the web service call, the system would have issued multiple MSRs.

WY*4« MSR - MISCELLANEOUS RECORD AGNT:HDQWAE EMP:800022 PNR:LGUFMS TKT:8380618229115 ISSUED:28JUN12 CTY:LAX STA:21000055 NAME: FIFTYTHREE/BEBE FOP:BA4444********1111 AMT: USD 170.00 EXP:1216 APPV:5YH7 CPN A/L FLT CLS DATE BRDOFF 1 WS 507 Y 23OCT DFW QTY COD ITEM/SVC COST TAX TOTAL 01 017 NAME CHANGE FEE 50.00 0.00 50.00 01 429 REWARD EXTEND FEE 20.00 0.00 20.00 01 425 LATE SHOW 50.00 0.00 50.00 01 008 CHANGE CANCEL FEE 50.00 0.00 50.00 COST : USD 170.00 TOTAL: USD 170.00 ISSUED IN CONNECTION WITH: 8382181900761 END OF REPORT

Misc Web Services 19 March 2019 74 Confidential and Proprietary Sabre Airline Solutions

2.7 Issue MSRs for Multiple PRAS Codes with Different GRP Numbers (CollectMiscFeeRQ)

The GRP number in the MISC*ALL table determines which PRAS codes can print on the same MSR, up to a maximum of 4 per document. If the GRP number is the same, the MISC Web Service automatically issues them on the same MSR; if the GRP number is different, they appear on separate MSRs.

To be able to display the MISC*ALL table, refer to the EPR requirements listed at the beginning of this document.

In the example MISC*ALL display below, PRAS codes 425 and 429 would print on the same MSR, while PRAS code 423 would print on a separate MSR.

MISC*ALL« PRAS ITEM COST-ITEM EFF CUR SUF 425 LATE SHOW 50.00 27JUN12 CAD TAX TKT PNR SEG OVR GRP TMX SMX NULL CPN NPR V N N N Y 1 1 1 N N N 423 PET KENNEL HOLD 50.00 26JUN12 CAD TAX TKT PNR SEG OVR GRP TMX SMX NULL CPN NPR N N N N Y 2 1 1 N N N 429 REWARD EXTEND FEE 20.00 27JUN12 CAD TAX TKT PNR SEG OVR GRP TMX SMX NULL CPN NPR V N N N Y 1 6 4 N N N END OF DATA

This scenario demonstrates sending all three of the above PRAS codes in one web service call.

Misc Web Services 19 March 2019 75 Confidential and Proprietary Sabre Airline Solutions

2.7.1 Display the PNR

Native Sabre

*LFTLER« LFTLER 1.1FIFTYTHREE/BEBE 2.1FIFTYTHREE/CECE 1 WS 611Y 17SEP M YYZYYC HK2 315P 524P /E TKT/TIME LIMIT 1.T-27JUN-LAX5WAE 2.TE 8382181900747 FIFTY/B LAX5WAE 1315/27JUN 3.TE 8382181900748 FIFTY/C LAX5WAE 1315/27JUN VCR COUPON DATA EXISTS *VI TO DISPLAY PHONES 1.LAX123-1234 PRICE QUOTE RECORD EXISTS - *PQS LAX.HDQ5WAE 1514/27JUN12 LFTLER H

Web Service Calls

Refer to the Set-Up Web Service Calls section for an example XML.

2.7.2 Collect MISC Fees for PRAS Codes with Different GRP Numbers

Native Sabre

The GRP number functionality in the MISC*ALL table was developed only for the MISC web service. It is not available for native Sabre, which uses the MISC* for PRAS code information.

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/fulfillment/Miscellaneous_v.1.4.2.wsdl

Note This XML example uses credit card form of payment. When you have a credit card as payment, you need to request authorization via the PaymentRQ web service prior to the CollectMISCFee web service call.

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version=""

Misc Web Services 19 March 2019 76 Confidential and Proprietary Sabre Airline Solutions

xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T 11:15:12Z</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3906441510305101307!1758473!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CollectMiscFeeRQ version="1.4.2" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="WS" dutyCode="5" lniata="F28C0C" sine="HUH" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>YYZ</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="MSR" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Grouped> <ns3:Customer firstName="BEBE" lastName="FIFTYTHREE"> <ns3:CustomerDetails pnrLocator="LFTLER"/> </ns3:Customer> <ns3:Flight> <ns3:CarrierCode>WS</ns3:CarrierCode> <ns3:FlightNumber>507</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>DFW</ns3:DepartureCity> <ns3:ArrivalCity>CUN</ns3:ArrivalCity> <ns3:DepartureDate>2010-10-23</ns3:DepartureDate> <ns3:StopOver>1</ns3:StopOver> </ns3:Flight> <ns3:Fee> <ns3:FeeDetails code="423" description="PET KENNEL HOLD" quantity="1"> <ns3:Base currencyCode="USD">50.00</ns3:Base>

Misc Web Services 19 March 2019 77 Confidential and Proprietary Sabre Airline Solutions

<ns3:TotalTax currencyCode="USD">0.00</ns3:TotalTax> <ns3:Total currencyCode="USD">50.00</ns3:Total> </ns3:FeeDetails> </ns3:Fee> <ns3:Fee> <ns3:FeeDetails code="429" description="REWARD EXTEND FEE" quantity="1"> <ns3:Base currencyCode="USD">50.00</ns3:Base> <ns3:TotalTax currencyCode="USD">0.00</ns3:TotalTax> <ns3:Total currencyCode="USD">50.00</ns3:Total> </ns3:FeeDetails> </ns3:Fee> <ns3:Fee> <ns3:FeeDetails code="425" description="LATE SHOW" quantity="1"> <ns3:Base currencyCode="USD">50.00</ns3:Base> <ns3:TotalTax currencyCode="USD">0.00</ns3:TotalTax> <ns3:Total currencyCode="USD">50.00</ns3:Total> </ns3:FeeDetails> </ns3:Fee> </ns3:Grouped> </ns3:Fees> <ns4:TotalCost currencyCode="USD" xmlns:ns4="http://services.sabre.com/STL/v01">150.00</ns4:TotalCost> <ns5:Payment xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:Amount currencyCode="USD">150.00</ns5:Amount> <ns5:FormOfPayment> <ns5:CreditCard> <ns5:Code>BA</ns5:Code> <ns5:Number>XXXXXXXXXXXX1111</ns5:Number> <ns5:ExpiryDate>1216</ns5:ExpiryDate> <ns5:ApprovalCode>5YH7</ns5:ApprovalCode> </ns5:CreditCard> </ns5:FormOfPayment> </ns5:Payment> <ns6:DetailLevel xmlns:ns6="http://services.sabre.com/STL/v01">Full</ns6:DetailLevel> </CollectMiscFeeRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope

Misc Web Services 19 March 2019 78 Confidential and Proprietary Sabre Airline Solutions

xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2001-02-15T 11:15:12Z</eb:Timestamp> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3906441510305101307!1758473!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CollectMiscFeeRS version="1.4.2" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="WS" dutyCode="5" lniata="570509" sine="HUH" xmlns="http://services.sabre.com/STL/v01"> <AAA>YYZ</AAA> </AgentPOS> <Transaction code="MSR" xmlns="http://services.sabre.com/STL/v01"/> <Fees xmlns="http://services.sabre.com/STL/v01"> <Grouped> <Customer firstName="BEBE" lastName="FIFTYTHREE"> <CustomerDetails

Misc Web Services 19 March 2019 79 Confidential and Proprietary Sabre Airline Solutions

pnrLocator="LFTLER"/> </Customer> <Flight> <CarrierCode>WS</CarrierCode> <FlightNumber>507</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>DFW</DepartureCity> <ArrivalCity>CUN</ArrivalCity> <DepartureDate>2010-10-23</DepartureDate> <StopOver>1</StopOver> </Flight> <Fee> <FeeDetails code="423" description="PET KENNEL HOLD" quantity="1"> <Base currencyCode="USD">50.00</Base> <TotalTax currencyCode="USD">0.00</TotalTax> <Total currencyCode="USD">50.00</Total> </FeeDetails> <IssuedDocumentNumber couponNumber="1">8380618229112</IssuedDocumentNumber> </Fee> <Fee> <FeeDetails code="429" description="REWARD EXTEND FEE" quantity="1"> <Base currencyCode="USD">50.00</Base> <TotalTax currencyCode="USD">0.00</TotalTax> <Total currencyCode="USD">50.00</Total> </FeeDetails> <IssuedDocumentNumber couponNumber="1">8380618229113</IssuedDocumentNumber> </Fee> <Fee> <FeeDetails code="425" description="LATE SHOW" quantity="1"> <Base currencyCode="USD">50.00</Base> <TotalTax currencyCode="USD">0.00</TotalTax> <Total currencyCode="USD">50.00</Total> </FeeDetails> <IssuedDocumentNumber couponNumber="2">8380618229113</IssuedDocumentNumber> </Fee> </Grouped> </Fees> <TotalCost currencyCode="USD" xmlns="http://services.sabre.com/STL/v01">153.00</TotalCost>

Misc Web Services 19 March 2019 80 Confidential and Proprietary Sabre Airline Solutions

<Payment xmlns="http://services.sabre.com/STL/v01"> <Amount currencyCode="USD">150.00</Amount> <FormOfPayment> <CreditCard> <Code>BA</Code> <Number>XXXXXXXXXXXX1111</Number> <ExpiryDate>1216</ExpiryDate> <ApprovalCode>5YH7</ApprovalCode> </CreditCard> </FormOfPayment> </Payment> </misc:CollectMiscFeeRS> </soap-env:Body> </soap-env:Envelope>

The MISC web service performs an internal end transaction after issuing a document, thus it is not necessary to insert an End Transaction in your web service calls.

2.7.3 Review PNR

Native Sabre

From the redisplayed PNR you can view the data for each issued MSR in the Remarks field.

Below are the document numbers in the Ticketing field of the issued MSRs. Notice there are two MSRs.

*LFTLER« LFTLER 1.1FIFTYTHREE/BEBE 2.1FIFTYTHREE/CECE 1 WS 611Y 17SEP M YYZYYC HK2 315P 524P /E TKT/TIME LIMIT 1.T-27JUN-LAX5WAE 2.TE 8382181900747 FIFTY/B LAX5WAE 1315/27JUN 3.TE 8382181900748 FIFTY/C LAX5WAE 1315/27JUN 4.TK 8380618229112 FIFTY/B LAX5WAE 0622/28JUN 5.TK 8380618229113 FIFTY/B LAX5WAE 0622/28JUN VCR COUPON DATA EXISTS *VI TO DISPLAY PHONES 1.LAX123-1234 PRICE QUOTE RECORD EXISTS - *PQS REMARKS 1.H-01 PET KENNEL HOLD USD 50.00 2.H-01 REWARD EXTEND FEE USD 50.00 3.H-01 LATE SHOW USD 50.00 LAX.HDQ5WAE 1514/27JUN12 LFTLER H

Misc Web Services 19 March 2019 81 Confidential and Proprietary Sabre Airline Solutions

2.7.4 Completed MSRs via Agent Sales Report

Below is the display of the first MSR (item on line number 4 of the Ticketing field).

Pet Kennel Hold is GRP 2 in the MISC*ALL table. Since that is a different GRP number from the other two PRAS codes in the web service call, the system automatically placed it on a separate MSR.

WY*4« MSR - MISCELLANEOUS RECORD AGNT:HDQWAE EMP:800022 PNR:LFTLER TKT:8380618229112 ISSUED:28JUN12 CTY:LAX STA:21000055 NAME: FIFTYTHREE/BEBE FOP:BA4444********1111 AMT: USD 50.00 EXP:1216 APPV:5YH7 CPN A/L FLT CLS DATE BRDOFF 1 WS 507 Y 23OCT DFW QTY COD ITEM/SVC COST TAX TOTAL 01 423 PET KENNEL HOLD 50.00 0.00 50.00 COST : USD 50.00 TOTAL: USD 50.00 END OF REPORT

The MSR from line number 5 in the Ticketing field contains the MSR with the PRAS codes for Reward Extend Fee and Late Show. They are both GRP 1 in the MISC*ALL table, and as such the system automatically placed them on the same MSR.

WY*5« MSR - MISCELLANEOUS RECORD AGNT:HDQWAE EMP:800022 PNR:LFTLER TKT:8380618229113 ISSUED:28JUN12 CTY:LAX STA:21000055 NAME: FIFTYTHREE/BEBE FOP:BA4444********1111 AMT: USD 100.00 EXP:1216 APPV:5YH7 CPN A/L FLT CLS DATE BRDOFF 1 WS 507 Y 23OCT DFW QTY COD ITEM/SVC COST TAX TOTAL 01 429 REWARD EXTEND FEE 50.00 0.00 50.00 01 425 LATE SHOW 50.00 0.00 50.00 COST : USD 100.00 TOTAL: USD 100.00 END OF REPORT

Misc Web Services 19 March 2019 82 Confidential and Proprietary Sabre Airline Solutions

2.8 Issue MSR with “Grouped” Payload Type (CollectMiscFeeRQ)

A Grouped Payload allows you to associate multiple tickets and segments to a single document, and allows PRAS codes to be combined up to a maximum of 4 per document.

In this scenario there are three passengers traveling together. They are purchasing three Pet Kennels for the Cabin and a Reward Extension Fee. In this case, passenger 1.1 is purchasing all of the items for the party.

2.8.1 Display the PNR

Native Sabre

*MVUHZT« MVUHZT 1.1FIFTYFOUR/AMY 2.1FIFTYFOUR/NOLAN 3.1FIFTYFOUR/HARRY 1 WS 310Y 22SEP J YYCYYZ HK3 225P 805P /E TKT/TIME LIMIT 1.T-02JUL-LAX5WAE 2.TE 8382181900786 FIFTY/A LAX5WAE 1124/02JUL 3.TE 8382181900787 FIFTY/N LAX5WAE 1124/02JUL 4.TE 8382181900788 FIFTY/H LAX5WAE 1124/02JUL VCR COUPON DATA EXISTS *VI TO DISPLAY PHONES 1.LAX123-1234 PRICE QUOTE RECORD EXISTS - *PQS LAX.HDQ5WAE 1324/02JUL12 MVUHZT H

Web Services Call

Refer to the Set-Up Web Service Calls section for an XML example.

Misc Web Services 19 March 2019 83 Confidential and Proprietary Sabre Airline Solutions

2.8.2 Issue MSR (CollectMiscFeeRQ)

Native Sabre

Access the MISC mask Service Items for name 1.1. Select 3 of each item being purchased.

MISC2/2‡N1.1« MISC - SERVICES RESET, CLEAR AND IGNORE TO EXIT <FIFTYFOUR/AMY > NBR OF NBR OF < > CHANGE CANCEL FEE < > UNACCOMPANIED MINOR < > EXPEDITE BAG < > TRAVEL BANK EXTENSION <3 > PET KENNEL CABIN < > PET KENNEL HOLD < > EARLY SHOW < > LATE SHOW < > SPOILAGE < > NO SHOW REACCOM < > GROUP DEPOSIT <3 > REWARD EXTEND FEE < > EXCESS VALUATION < > OTHER FEE < > DESCRIPTION < > PSGR TICKET NBR/S/ - <8382181900786> <8382181900787> IF REQUIRED <8382181900788> < >

The Total Cost Summary displays. Press ENTER to continue to the Form of Payment screen.

MISC - TOTAL COST SUMMARY. DEPRESS ENTER TO CONTINUE - RESET, CLEAR AND IGNORE TO EXIT. FIFTYFOUR/AMY < > EQUIV AMT CURR CODE <CAD> QTY ITEM/SVC COST TAX TOTAL 03 PET KENNEL CABIN 149.98 < 0.00> 149.98 03 REWARD EXTEND FEE 59.98 < 0.00> 59.98 < > < > TTL COST 209.96 0.00 209.96 RETURN TO FIRST MASK < >

Misc Web Services 19 March 2019 84 Confidential and Proprietary Sabre Airline Solutions

Indicate the Form of Payment and press ENTER.

MISC-FORM OF PAYMENT. ENTER AMOUNT IN ASSOCIATED FOP BOX DEPRESS ENTER TO ISSUE DOC-RESET, CLEAR, AND IGNORE TO EXIT. TTL COST 209.96 CAD CASH AMT < > CHECK AMT < > CC1 AMT <209.96 > CC EXP <1216> ADDTL CC DATA < > CC NBR <XXXXXXXXXXXX1111 > <6SDF > CC1 APPROVAL CODE IF PREVIOUSLY OBTAINED CC2 AMT < > CC EXP < > ADDTL CC DATA < > CC NBR < > < > CC2 APPROVAL CODE IF PREVIOUSLY OBTAINED EXCH AMT < > EXCH DOC NBR < >CPN< > ORIG FOP < > DATE/PLACE < > INV AMT < > DOCUMENT NBR < > GTR AMT < > DOCUMENT NBR < > PTA AMT < > OK 209.96 / 06 1822 9127 4

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/fulfillment/Miscellaneous_v.1.4.2.wsdl

Note This XML example uses credit card form of payment. When you have a credit card as payment, you need to request authorization via the PaymentRQ web service prior to the CollectMISCFee web service call.

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData>

Misc Web Services 19 March 2019 85 Confidential and Proprietary Sabre Airline Solutions

<ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T 11:15:12Z</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3904951821853750780!840513!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CollectMiscFeeRQ version="1.4.2" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="WS" dutyCode="5" lniata="F28C0C" sine="HUH" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>YYZ</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="MSR" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Grouped> <ns3:Customer firstName="AMY" lastName="FIFTYFOUR"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="MVUHZT"/> </ns3:Customer> <ns3:TicketNumber couponNumber="1">8382181900783</ns3:TicketNumber> <ns3:TicketNumber couponNumber="1">8382181900784</ns3:TicketNumber> <ns3:TicketNumber couponNumber="1">8382181900785</ns3:TicketNumber> <ns3:Flight> <ns3:CarrierCode>WS</ns3:CarrierCode> <ns3:FlightNumber>507</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>DFW</ns3:DepartureCity> <ns3:ArrivalCity>CUN</ns3:ArrivalCity> <ns3:DepartureDate>2010-10-23</ns3:DepartureDate> <ns3:StopOver>1</ns3:StopOver> </ns3:Flight> <ns3:Fee> <ns3:FeeDetails code="017" description="NAME CHANGE FEE" quantity="3"> <ns3:Base currencyCode="CAD">75.00</ns3:Base> <ns3:Total currencyCode="CAD">75.00</ns3:Total> </ns3:FeeDetails> </ns3:Fee> <ns3:Fee>

Misc Web Services 19 March 2019 86 Confidential and Proprietary Sabre Airline Solutions

<ns3:FeeDetails code="429" description="REWARD EXTEND FEE" quantity="3"> <ns3:Base currencyCode="CAD">60.00</ns3:Base> <ns3:Total currencyCode="CAD">60.00</ns3:Total> </ns3:FeeDetails> </ns3:Fee> </ns3:Grouped> </ns3:Fees> <ns4:TotalCost currencyCode="CAD" xmlns:ns4="http://services.sabre.com/STL/v01">135.00</ns4:TotalCost> <ns5:Payment xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:Amount currencyCode="USD">135.00</ns5:Amount> <ns5:FormOfPayment> <ns5:CreditCard> <ns5:Code>BA</ns5:Code> <ns5:Number>XXXXXXXXXXXX1111</ns5:Number> <ns5:ExpiryDate>1216</ns5:ExpiryDate> <ns5:ApprovalCode>6SDF</ns5:ApprovalCode> </ns5:CreditCard> </ns5:FormOfPayment> </ns5:Payment> <ns6:DetailLevel xmlns:ns6="http://services.sabre.com/STL/v01">Full</ns6:DetailLevel> </CollectMiscFeeRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2001-02-15T 11:15:12Z</eb:Timestamp> </eb:MessageData> </eb:MessageHeader>

Misc Web Services 19 March 2019 87 Confidential and Proprietary Sabre Airline Solutions

<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3904951821853750780!840513!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CollectMiscFeeRS version="1.4.2" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="WS" dutyCode="5" lniata="71520A" sine="HUH" xmlns="http://services.sabre.com/STL/v01"> <AAA>YYZ</AAA> </AgentPOS> <Transaction code="MSR" xmlns="http://services.sabre.com/STL/v01"/> <Fees xmlns="http://services.sabre.com/STL/v01"> <Grouped> <Customer firstName="AMY" lastName="FIFTYFOUR"> <CustomerDetails nameRefNumber="1.1" pnrLocator="MVUHZT"/> </Customer> <TicketNumber>8382181900783</TicketNumber> <TicketNumber>8382181900784</TicketNumber> <TicketNumber>8382181900785</TicketNumber> <Flight> <CarrierCode>WS</CarrierCode> <FlightNumber>507</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>DFW</DepartureCity> <ArrivalCity>CUN</ArrivalCity> <DepartureDate>2010-10-23</DepartureDate> <StopOver>1</StopOver> </Flight> <Fee> <FeeDetails code="017" description="NAME CHANGE FEE" quantity="3"> <Base

Misc Web Services 19 March 2019 88 Confidential and Proprietary Sabre Airline Solutions

currencyCode="CAD">75.00</Base> <Total currencyCode="CAD">75.00</Total> </FeeDetails> <IssuedDocumentNumber couponNumber="1">8380618229126</IssuedDocumentNumber> </Fee> <Fee> <FeeDetails code="429" description="REWARD EXTEND FEE" quantity="3"> <Base currencyCode="CAD">60.00</Base> <Total currencyCode="CAD">60.00</Total> </FeeDetails> <IssuedDocumentNumber couponNumber="2">8380618229126</IssuedDocumentNumber> </Fee> </Grouped> </Fees> <TotalCost currencyCode="CAD" xmlns="http://services.sabre.com/STL/v01">135.00</TotalCost> <Payment xmlns="http://services.sabre.com/STL/v01"> <Amount currencyCode="USD">135.00</Amount> <FormOfPayment> <CreditCard> <Code>BA</Code> <Number>XXXXXXXXXXXX1111</Number> <ExpiryDate>1216</ExpiryDate> <ApprovalCode>6SDF</ApprovalCode> </CreditCard> </FormOfPayment> </Payment> </misc:CollectMiscFeeRS> </soap-env:Body> </soap-env:Envelope>

2.8.3 Review PNR

Native Sabre

ER« MVUHZT 1.1FIFTYFOUR/AMY 2.1FIFTYFOUR/NOLAN 3.1FIFTYFOUR/HARRY 1 WS 310Y 22SEP J YYCYYZ HK3 225P 805P /E TKT/TIME LIMIT 1.T-02JUL-LAX5WAE 2.TE 8382181900786 FIFTY/A LAX5WAE 1124/02JUL 3.TE 8382181900787 FIFTY/N LAX5WAE 1124/02JUL 4.TE 8382181900788 FIFTY/H LAX5WAE 1124/02JUL 5.TK 8380618229126 FIFTY/A LAX5WAE 1125/02JUL

Misc Web Services 19 March 2019 89 Confidential and Proprietary Sabre Airline Solutions

VCR COUPON DATA EXISTS *VI TO DISPLAY PHONES 1.LAX123-1234 PRICE QUOTE RECORD EXISTS - *PQS REMARKS 1.H-03 NAME CHANGE FEE CAD 75.00 2.H-03 REWARD EXTEND FEE CAD 60.00 3.H- 8382181900783 8382181900784 8382181900785 LAX.HDQ5WAE 1324/02JUL12 MVUHZT H

Notice that all three ticket numbers are associated with the MSR.

2.8.4 Completed Grouped Payload MSR via Agent Sales Report

The MSR with multiple PRAS codes is associated with all three passenger ticket numbers.

WY*5« MSR - MISCELLANEOUS RECORD AGNT:HDQWAE EMP:800022 PNR:MVUHZT TKT:8380618229126 ISSUED:02JUL12 CTY:LAX STA:21000055 NAME: FIFTYFOUR/AMY FOP:BA4444********1111 AMT: CAD 135.00 EXP:1216 APPV:6SDF CPN A/L FLT CLS DATE BRDOFF 1 WS 507 Y 23OCT DFW QTY COD ITEM/SVC COST TAX TOTAL 03 017 NAME CHANGE FEE 75.00 0.00 75.00 03 429 REWARD EXTEND FEE 60.00 0.00 60.00 COST : CAD 135.00 TOTAL: CAD 135.00 ISSUED IN CONNECTION WITH: 8382181900783 8382181900784 8382181900785 END OF REPORT

Misc Web Services 19 March 2019 90 Confidential and Proprietary Sabre Airline Solutions

2.9 Issue MSR with “Linked” Payload Type (CollectMISCFee)

A Linked Payload applies when you have a one-to-one correlation between the PRAS code and the ticket, coupon, or an itinerary segment. Only one PRAS code is allowed on the document.

You know that a linked payload is required when you see the “A” for Associated (instead of Y or N) for Segment, Ticket, or Coupon in the MISC*ALL table. Example: TKT-A, SEG-A, CPN-A. Some examples of when this setting might be necessary are ancillary seats or a change fee.

To be able to display the MISC*ALL table, refer to the EPR requirements listed at the beginning of this document.

In this scenario the item being sold is the PRAS item for Pet Kennel Hold.

MISC*ALL« PRAS ITEM COST-ITEM EFF CUR SUF 423 PET KENNEL HOLD 50.00 03JUL12 CAD TAX TKT PNR SEG OVR GRP TMX SMX NULL CPN NPR N A Y N Y 2 1 1 N N N 429 REWARD EXTEND FEE 20.00 27JUN12 CAD TAX TKT PNR SEG OVR GRP TMX SMX NULL CPN NPR V N N N Y 1 6 4 N N N END OF DATA

2.9.1 Display PNR

Native Sabre

*JEDTZN« JEDTZN 1.1THIRTYONE/JOAN 1 WS 611Y 26JUN T YYZYYC HK1 315P 523P HRS /E TKT/TIME LIMIT 1.T-19JUN-LAX5WAE 2.TE 8382180353038 THIRT/J LAX5WAE 1343/19JUN VCR COUPON DATA EXISTS *VI TO DISPLAY PHONES 1.LAX123-1234 PRICE QUOTE RECORD EXISTS - *PQS WS FACTS 1.SSR APAY WS NN1 YYZYYC0611Y26JUN/SEAT/ACCPT/USD1500 CA LAX.HDQ5WAE 1543/19JUN12 JEDTZN H B

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/tpf/OTA_TravelItineraryReadLLS1.13.1RQ.wsdl

Request <?xml version="1.0" encoding="UTF-8"?>

Misc Web Services 19 March 2019 91 Confidential and Proprietary Sabre Airline Solutions

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service ns1:type="OTA">OTA_TravelItineraryReadLLSRQ</ns1:Service> <ns1:Action>OTA_TravelItineraryReadLLSRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T11:15:12Z</ns1:Timestamp> <ns1:TimeToLive>2001-02-15T11:15:12Z</ns1:TimeToLive> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3909518270938730619!1064905!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <OTA_TravelItineraryReadRQ AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2001-12-17T09:30:47-05:00" Version="2003A.TsabreXML1.13.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07"> <UniqueID> <TPA_Extensions> <Redisplay Ind="true"/> <Transaction Code="PNR"/> </TPA_Extensions> </UniqueID> </OTA_TravelItineraryReadRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header>

Misc Web Services 19 March 2019 92 Confidential and Proprietary Sabre Airline Solutions

<eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="urn:x12.org:IO5:01">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="urn:x12.org:IO5:01">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service eb:type="OTA">OTA_TravelItineraryReadLLSRQ</eb:Service> <eb:Action>OTA_TravelItineraryReadLLSRS</eb:Action> <eb:MessageData> <eb:MessageId>84dc7b3c-ebb3-4a54-a121-cb9c5ce5aca4@176</eb:MessageId> <eb:Timestamp>2012-06-19T20:44:26</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3909518270938730619!1064905!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <OTA_TravelItineraryRS AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2012-06-19T20:44:26" Version="2003A.TsabreXML1.13.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Success/> <TravelItinerary> <ItineraryRef ID="JEDTZN"/> <CustomerInfos> <CustomerInfo> <Customer> <PersonName> <GivenName>JOAN</GivenName> <Surname>THIRTYONE</Surname> <TPA_Extensions> <NameNumber Number="01.01"/> </TPA_Extensions> </PersonName> <Telephone AreaCityCode="LAX" PhoneNumber="123-1234" RPH="001"/> </Customer>

Misc Web Services 19 March 2019 93 Confidential and Proprietary Sabre Airline Solutions

</CustomerInfo> </CustomerInfos> <ItineraryInfo> <ReservationItems> <Item RPH="0001"> <Air ActionCode="HK" AirMilesFlown="1677" ArrivalDateTime="2012-06-26T17:23:00" DepartureDateTime="2012-06-26T15:15:00" ElapsedTime="04.08" FlightNumber="0611" NumberInParty="01" RPH="0001" ResBookDesigCode="Y" SmokingAllowed="N" StopQuantity="00"> <DepartureAirport CodeContext="IATA" LocationCode="YYZ"/> <ArrivalAirport CodeContext="IATA" LocationCode="YYC"/> <OperatingAirline/> <Equipment AirEquipType="73H"/> <MarketingAirline Code="WS"/> <Seats> <Seat Characteristic="ALMU" CustomerRPH="01.01" LocationCode="YYC" Number="28C" PseudoCityCode="YYZ" Segment="0001" SmokingPreference="N" Status="HRS"/> </Seats> <TPA_Extensions> <ConnectionIndicator Type=" "/> <Eticket Ind="true"/> <UpdatedDepartureTime>2012-06-26T15:15:00</UpdatedDepartureTime> <UpdatedArrivalTime>2012-06-26T17:23:00</UpdatedArrivalTime> </TPA_Extensions> </Air> </Item> </ReservationItems> <Ticketing RPH="01" TicketTimeLimit="T-19JUN-LAX5WAE"/> <Ticketing RPH="02" eTicketNumber="TE 8382180353038 THIRT/J LAX5WAE 1343/19JUN"/> <ItineraryPricing> <PriceQuote> <ResponseHeader> <Text>FARE - PRICE RETAINED</Text> <Text>FARE USED TO CALCULATE DISCOUNT</Text> </ResponseHeader> <PricedItinerary InputMessage="WPRQ" SequenceNumber="1" StatusCode="A" TaxExempt="N"> <AirItineraryPricingInfo> <ItinTotalFare> <BaseFare Amount="566.00" CurrencyCode="CAD"

Misc Web Services 19 March 2019 94 Confidential and Proprietary Sabre Airline Solutions

DecimalPlaces="2"/> <EquivFare Amount="564.00" CurrencyCode="USD" DecimalPlaces="2"/> <Taxes> <Tax Amount="148.70" CurrencyCode="CAD" DecimalPlaces="2" TaxCode="XT"/> <TaxBreakdownCode>3.00YQ</TaxBreakdownCode> <TaxBreakdownCode>19.90YQ</TaxBreakdownCode> <TaxBreakdownCode>42.30US</TaxBreakdownCode> <TaxBreakdownCode>3.80ZP</TaxBreakdownCode> <TaxBreakdownCode>3.00SQ</TaxBreakdownCode> <TaxBreakdownCode>76.70RC</TaxBreakdownCode> </Taxes> <TotalFare Amount="712.70" CurrencyCode="USD" DecimalPlaces="2"/> <Totals> <BaseFare Amount="566.00"/> <EquivFare Amount="564.00" DecimalPlaces="2"/> <Taxes> <Tax Amount="148.70"/> </Taxes> <TotalFare Amount="712.70" DecimalPlaces="2"/> </Totals> </ItinTotalFare> <PTC_FareBreakdown> <PassengerTypeQuantity Code="ADT" Quantity="01"/> <FareBasisCode>YCR</FareBasisCode> <FareCalc>YTO WS YYC566.00YCR CAD566.00END ZPYYZ</FareCalc> <Endorsements> <Text>NONREF - FEE FOR CHG/CXL</Text> </Endorsements> <FlightSegment ActionCode="OK" DepartureDateTime="2012-06-26T15:15:00" FlightNumber="611" RPH=" 1" ResBookDesigCode="Y"> <FlightType Ind="O"/> <Airport LocationCode="YYZ"/> <OperatingAirline Code="WS" FlightNumber="611"/> <FareBasisCode>YCR</FareBasisCode> <ValidityDates> <NotValidAfter>2012-06-26T00:00:00</NotValidAfter> </ValidityDates> </FlightSegment> <FlightSegment>

Misc Web Services 19 March 2019 95 Confidential and Proprietary Sabre Airline Solutions

<Airport LocationCode="YYC"/> </FlightSegment> </PTC_FareBreakdown> <SignatureLine> <Text>LAX HDQ 5WAE 1543/19JUN</Text> </SignatureLine> </AirItineraryPricingInfo> </PricedItinerary> </PriceQuote> </ItineraryPricing> </ItineraryInfo> <SpecialServices ItemRPH="001" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>APAY</SSRType> <Name Number="01.01">THIRTYONE/JOAN</Name> </TPA_Extensions> <Text>WS NN1 YYZYYC0611Y26JUN/SEAT/ACCPT/USD1500 CA</Text> </Service> </SpecialServices> <SpecialServices ItemRPH="002" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>TKNE</SSRType> <Name Number="01.01">THIRTYONE/JOAN</Name> </TPA_Extensions> <Text>WS HK1 YYZYYC0611Y26JUN/8382180353038C1</Text> </Service> </SpecialServices> <UpdatedBy CreateDateTime="2012-06-19T15:43:00"> <TPA_Extensions> <Source AAACity="LAX" AgentSine="WAE" HomePseudoCityCode="HDQ"/> </TPA_Extensions> </UpdatedBy> </TravelItinerary> <TPA_Extensions> <HostCommand>Â?Â?Â?AÂ?Â?RS01S093Â?JX PNR</HostCommand> </TPA_Extensions> </OTA_TravelItineraryRS> </soap-env:Body> </soap-env:Envelope>

Misc Web Services 19 March 2019 96 Confidential and Proprietary Sabre Airline Solutions

2.9.2 Collect MISC Fee with Linked Payload

Native Sabre

Access the MISC Services screen.

MISC2/2« MISC - SERVICES RESET, CLEAR AND IGNORE TO EXIT <THIRTYONE/JOAN > NBR OF NBR OF < > CHANGE CANCEL FEE < > UNACCOMPANIED MINOR < > EXPEDITE BAG < > TRAVEL BANK EXTENSION < > PET KENNEL CABIN <1 > PET KENNEL HOLD < > EARLY SHOW < > LATE SHOW < > SPOILAGE < > NO SHOW REACCOM < > GROUP DEPOSIT < > REWARD TRANSFER FEE < > REWARD EXTEND FEE < > EXCESS VALUATION < > OTHER FEE < > DESCRIPTION < > PSGR TICKET NBR/S/ - <8382180353038> < > IF REQUIRED < > < > < > < >

The Total Cost Summary displays. Press ENTER to continue.

MISC - TOTAL COST SUMMARY. DEPRESS ENTER TO CONTINUE - RESET, CLEAR AND IGNORE TO EXIT. THIRTYONE/JOAN < > EQUIV AMT CURR CODE <USD> QTY ITEM/SVC COST TAX TOTAL 01 PET KENNEL HOLD 50.00 < 0.00> 50.00 < > < > < > TTL COST 50.00 0.00 50.00 RETURN TO FIRST MASK < >

Misc Web Services 19 March 2019 97 Confidential and Proprietary Sabre Airline Solutions

Indicate the Form of Payment and press ENTER.

MISC-FORM OF PAYMENT. ENTER AMOUNT IN ASSOCIATED FOP BOX DEPRESS ENTER TO ISSUE DOC-RESET, CLEAR, AND IGNORE TO EXIT. TTL COST 50.00 USD CASH AMT <50.00 > OK 50.65 / 06 1761 0011 3

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/fulfillment/Miscellaneous_v.1.4.2.wsdl

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T 11:15:12Z</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3909518270938730619!1064905!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CollectMiscFeeRQ version="1.4.2" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="WS" dutyCode="5" lniata="F28730" sine="HUH" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA province="AB">YYZ</ns1:AAA>

Misc Web Services 19 March 2019 98 Confidential and Proprietary Sabre Airline Solutions

</ns1:AgentPOS> <ns2:Transaction code="MSR" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Linked> <ns3:Customer firstName="MULTIPLE" lastName="PAX"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="JEDTZN"/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="423" description="PET KENNEL HOLD" quantity="4"> <ns3:Base currencyCode="USD">50.00</ns3:Base> <ns3:Total currencyCode="USD">50.00</ns3:Total> </ns3:FeeDetails> <ns3:AssociatedTicketNumber couponNumber="01">8382180353038</ns3:AssociatedTicketNumber> </ns3:Fee> </ns3:Linked> </ns3:Fees> <ns4:TotalCost currencyCode="USD" xmlns:ns4="http://services.sabre.com/STL/v01">50.00</ns4:TotalCost> <ns5:Payment xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:Amount currencyCode="USD">50.00</ns5:Amount> <ns5:FormOfPayment> <ns5:Cash>CA</ns5:Cash> </ns5:FormOfPayment> </ns5:Payment> <ns6:DetailLevel xmlns:ns6="http://services.sabre.com/STL/v01">Full</ns6:DetailLevel> </CollectMiscFeeRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To>

Misc Web Services 19 March 2019 99 Confidential and Proprietary Sabre Airline Solutions

<eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2001-02-15T 11:15:12Z</eb:Timestamp> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3909518270938730619!1064905!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CollectMiscFeeRS version="1.4.2" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="WS" dutyCode="5" lniata="7F110A" sine="HUH" xmlns="http://services.sabre.com/STL/v01"> <AAA province="AB">YYZ</AAA> </AgentPOS> <Transaction code="MSR" xmlns="http://services.sabre.com/STL/v01"/> <Fees xmlns="http://services.sabre.com/STL/v01"> <Linked> <Customer firstName="MULTIPLE" lastName="PAX"> <CustomerDetails nameRefNumber="1.1" pnrLocator="JEDTZN"/> </Customer> <Fee> <FeeDetails code="423" description="PET KENNEL HOLD" quantity="4"> <Base

Misc Web Services 19 March 2019 100 Confidential and Proprietary Sabre Airline Solutions

currencyCode="USD">50.00</Base> <Total currencyCode="USD">50.00</Total> </FeeDetails> <AssociatedTicketNumber couponNumber="1">8382180353038</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="1">8380617610010</IssuedDocumentNumber> </Fee> </Linked> </Fees> <TotalCost currencyCode="USD" xmlns="http://services.sabre.com/STL/v01">50.00</TotalCost> <Payment xmlns="http://services.sabre.com/STL/v01"> <Amount currencyCode="USD">50.00</Amount> <FormOfPayment> <Cash/> </FormOfPayment> </Payment> </misc:CollectMiscFeeRS> </soap-env:Body> </soap-env:Envelope>

The MISC web service performs an internal end transaction after issuing a document, thus it is not necessary to insert an End Transaction in your web service calls.

2.9.3 Completed Linked Payload MSR via Agent Sales Report

WY*D‡T8380617610010« MSR - MISCELLANEOUS RECORD AGNT:HDQWAE EMP:800022 PNR:JEDTZN TKT:8380617610010 ISSUED:19JUN12 CTY:LAX STA:21000055 NAME: PAX/MULTIPLE FOP:CASH AMT: USD 50.00 QTY COD ITEM/SVC COST TAX TOTAL 04 423 PET KENNEL HOLD 50.00 0.00 50.00 COST : USD 50.00 TOTAL: USD 50.00 ISSUED IN CONNECTION WITH: 8382180353038 END OF REPORT

Misc Web Services 19 March 2019 101 Confidential and Proprietary Sabre Airline Solutions

2.10 Error Message When PRAS Code Not in MISC*ALL

In order to issue an MSR through the MISC Web Service, the PRAS code must be present in the MISC*ALL table.

This example demonstrates what happens when the PRAS code is present in the MISC*, but not present in the MISC*ALL.

To be able to display the MISC*ALL table, refer to the EPR requirements listed at the beginning of this document.

The item being sold is Pet Kennel Hold.

MISC*« PRAS-CODE ITEM COST-ITEM TAX EFF 438 ANCILLARY SEAT FEE 0.00 V 01OCT09 008 CHANGE CANCEL FEE 50.00 V 04AUG09 009 CHANGE CANCEL FEE 50.00 V 04AUG09 101 CHANGE CANCEL FEE 0.00 V 05OCT09 424 EARLY SHOW 50.00 V 01OCT09 431 EXCESS VALUATION 10.00 V 01MAR12 420 EXPEDITE BAG 50.00 V 01OCT09 428 GROUP DEPOSIT 50.00 N 03MAR10 425 LATE SHOW 50.00 V 11FEB10 017 NAME CHANGE FEE 25.00 V 01OCT09 427 NO SHOW REACCOM 50.00 V 01OCT09 422 PET KENNEL CABIN 50.00 V 01OCT09 423 PET KENNEL HOLD 50.00 V 01OCT09 429 REWARD TRANSFER FEE 20.00 V 04MAR10

In this case the MISC*ALL table is empty:

MISC*ALL« PRAS ITEM COST-ITEM EFF CUR SUF END OF DATA

Misc Web Services 19 March 2019 102 Confidential and Proprietary Sabre Airline Solutions

Native Sabre

Because the item exists in the MISC* table, you can issue an MSR through native Sabre.

MISC2/2« MISC - SERVICES RESET, CLEAR AND IGNORE TO EXIT <FIFTYONE/DON > NBR OF NBR OF < > CHANGE CANCEL FEE < > UNACCOMPANIED MINOR < > EXPEDITE BAG < > TRAVEL BANK EXTENSION < > PET KENNEL CABIN <1 > PET KENNEL HOLD < > EARLY SHOW < > LATE SHOW < > SPOILAGE < > NO SHOW REACCOM < > GROUP DEPOSIT < > REWARD TRANSFER FEE < > REWARD EXTEND FEE < > EXCESS VALUATION < > OTHER FEE < > DESCRIPTION < > PSGR TICKET NBR/S/ - <8382181900094> < >

The Total Cost Summary screen displays. Press ENTER to continue.

MISC - TOTAL COST SUMMARY. DEPRESS ENTER TO CONTINUE - RESET, CLEAR AND IGNORE TO EXIT. FIFTYONE/DON < > EQUIV AMT CURR CODE <USD> QTY ITEM/SVC COST TAX TOTAL 01 PET KENNEL HOLD 48.91 < 0.00> 48.91 < > < > < > TTL COST 48.91 0.00 48.91 RETURN TO FIRST MASK < >

Misc Web Services 19 March 2019 103 Confidential and Proprietary Sabre Airline Solutions

Indicate the Form of Payment and press ENTER.

MISC-FORM OF PAYMENT. ENTER AMOUNT IN ASSOCIATED FOP BOX DEPRESS ENTER TO ISSUE DOC-RESET, CLEAR, AND IGNORE TO EXIT. TTL COST 48.91 USD CASH AMT <48.91 > CHECK AMT < > CC1 AMT < > CC EXP < > ADDTL CC DATA < > CC NBR < > < > CC1 APPROVAL CODE IF PREVIOUSLY OBTAINED CC2 AMT < > CC EXP < > ADDTL CC DATA < > CC NBR < > < > CC2 APPROVAL CODE IF PREVIOUSLY OBTAINED EXCH AMT < > EXCH DOC NBR < >CPN< > OK 48.91 / 06 1822 9081 0

Web Services Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/fulfillment/Miscellaneous_v.1.4.2.wsdl Since the PRAS code does not appear in the MISC*ALL table, you see an error message when you try to sell that item via the web service.

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T 11:15:12Z</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3907453293428088960!218168!0</ns1:BinarySecurityToken>

Misc Web Services 19 March 2019 104 Confidential and Proprietary Sabre Airline Solutions

</ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CollectMiscFeeRQ version="1.4.2" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="WS" dutyCode="5" lniata="F28730" sine="HUH" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>YYZ</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="MSR" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Linked> <ns3:Customer firstName="DON" lastName="FIFTYONE"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="FNCWBT"/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="423" description="PET KENNEL HOLD" quantity="4"> <ns3:Base currencyCode="CAD">50.00</ns3:Base> <ns3:Equiv currencyCode="EUR">20.00</ns3:Equiv> <ns3:Total currencyCode="EUR">20.00</ns3:Total> </ns3:FeeDetails> <ns3:AssociatedFlight> <ns3:CarrierCode>WS</ns3:CarrierCode> <ns3:FlightNumber>509</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>YYZ</ns3:DepartureCity> <ns3:ArrivalCity>YYC</ns3:ArrivalCity> <ns3:DepartureDate>2012-07-02</ns3:DepartureDate> </ns3:AssociatedFlight> <ns3:AssociatedTicketNumber couponNumber="01">8382181900094</ns3:AssociatedTicketNumber> </ns3:Fee> </ns3:Linked> </ns3:Fees> <ns4:TotalCost currencyCode="EUR" xmlns:ns4="http://services.sabre.com/STL/v01">20.00</ns4:TotalCost> <ns5:Payment xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:Amount currencyCode="EUR">20.00</ns5:Amount> <ns5:FormOfPayment> <ns5:CreditCard> <ns5:Code>BA</ns5:Code>

Misc Web Services 19 March 2019 105 Confidential and Proprietary Sabre Airline Solutions

<ns5:Number>4444333322221111</ns5:Number> <ns5:ExpiryDate>1216</ns5:ExpiryDate> <ns5:ApprovalCode>8TSD</ns5:ApprovalCode> </ns5:CreditCard> </ns5:FormOfPayment> </ns5:Payment> <ns6:DetailLevel xmlns:ns6="http://services.sabre.com/STL/v01">Full</ns6:DetailLevel> </CollectMiscFeeRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2001-02-15T 11:15:12Z</eb:Timestamp> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3907453293428088960!218168!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CollectMiscFeeRS version="1.4.2" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results> <ErrorSource>TPF</ErrorSource> <Status>ApplicationError</Status> <CompletionStatus>NotProcessed</CompletionStatus> <SystemSpecificResults> <ErrorMessage

Misc Web Services 19 March 2019 106 Confidential and Proprietary Sabre Airline Solutions

code="0606">PROCESSING ERROR - PRAS CODE PARAMETERS NOT PRESENT</ErrorMessage> <ShortText>PROCESSING ERROR - PRAS CODE PARAMETERS NOT PRESENT</ShortText> <RecordID>1949</RecordID> </SystemSpecificResults> </Results> </Header> <AgentPOS company="WS" dutyCode="5" lniata="12F50B" sine="HUH" xmlns="http://services.sabre.com/STL/v01"> <AAA>YYZ</AAA> </AgentPOS> <Transaction code="MSR" xmlns="http://services.sabre.com/STL/v01"/> <Fees xmlns="http://services.sabre.com/STL/v01"> <Linked> <Customer firstName="DON" lastName="FIFTYONE"> <CustomerDetails nameRefNumber="1.1" pnrLocator="FNCWBT"/> </Customer> <Fee> <FeeDetails code="423" description="PET KENNEL HOLD" quantity="4"> <Base currencyCode="CAD">50.00</Base> <Equiv currencyCode="EUR">20.00</Equiv> <Total currencyCode="EUR">20.00</Total> </FeeDetails> <AssociatedFlight segmentID="0"> <CarrierCode>WS</CarrierCode> <FlightNumber>509</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>YYZ</DepartureCity> <ArrivalCity>YYC</ArrivalCity> <DepartureDate>2012-07-02</DepartureDate> </AssociatedFlight> <AssociatedTicketNumber couponNumber="1">8382181900094</AssociatedTicketNumber> </Fee> </Linked> </Fees> <TotalCost currencyCode="EUR" xmlns="http://services.sabre.com/STL/v01">20.00</TotalCost> <Payment xmlns="http://services.sabre.com/STL/v01"> <Amount currencyCode="EUR">20.00</Amount> <FormOfPayment> <CreditCard> <Code>BA</Code> <Number>XXXXXXXXXXXX1111</Number>

Misc Web Services 19 March 2019 107 Confidential and Proprietary Sabre Airline Solutions

<ExpiryDate>1216</ExpiryDate> <ApprovalCode>8TSD</ApprovalCode> </CreditCard> </FormOfPayment> </Payment> </misc:CollectMiscFeeRS> </soap-env:Body> </soap-env:Envelope>

2.11 Calculate Total Cost (CalculateTotalCostRQ)

You use the Calculate Total Cost function to obtain the currency conversion of amounts, taxes, and total cost before collecting payment.

This scenario demonstrates calculating the total cost from CAD to INR.

2.11.1 Display the PNR

Native Sabre

*LENCRJ« LENCRJ 1.1TWENTYFOUR/OPAL 2.1TWENTYFOUR/PATRICIA 1 WS 612Y 15SEP J YYCYYZ HK2 1210P 552P /E PHONES 1.YYZ123-1234 PRICE QUOTE RECORD EXISTS - *PQS YYZ.HDQ5WAE 1213/27JUN12 LENCRJ

Web Service Calls

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId>

Misc Web Services 19 March 2019 108 Confidential and Proprietary Sabre Airline Solutions

<ns1:Service ns1:type="OTA">OTA_TravelItineraryReadLLSRQ</ns1:Service> <ns1:Action>OTA_TravelItineraryReadLLSRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T11:15:12Z</ns1:Timestamp> <ns1:TimeToLive>2001-02-15T11:15:12Z</ns1:TimeToLive> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3906738747580294269!221848!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <OTA_TravelItineraryReadRQ AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2001-12-17T09:30:47-05:00" Version="2003A.TsabreXML1.13.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07"> <UniqueID> <TPA_Extensions> <Redisplay Ind="true"/> </TPA_Extensions> </UniqueID> </OTA_TravelItineraryReadRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="urn:x12.org:IO5:01">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="urn:x12.org:IO5:01">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service eb:type="OTA">OTA_TravelItineraryReadLLSRQ</eb:Service> <eb:Action>OTA_TravelItineraryReadLLSRS</eb:Action> <eb:MessageData> <eb:MessageId>d4e7f396-3587-41e9-914e-dd8ed8e8e904@152</eb:MessageId> <eb:Timestamp>2012-06-27T17:14:05</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId>

Misc Web Services 19 March 2019 109 Confidential and Proprietary Sabre Airline Solutions

</eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3906738747580294269!221848!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <OTA_TravelItineraryRS AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2012-06-27T17:14:05" Version="2003A.TsabreXML1.13.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Success/> <TravelItinerary> <ItineraryRef ID="LENCRJ"/> <CustomerInfos> <CustomerInfo> <Customer> <PersonName> <GivenName>OPAL</GivenName> <Surname>TWENTYFOUR</Surname> <TPA_Extensions> <NameNumber Number="01.01"/> </TPA_Extensions> </PersonName> <PersonName> <GivenName>PATRICIA</GivenName> <Surname>TWENTYFOUR</Surname> <TPA_Extensions> <NameNumber Number="02.01"/> </TPA_Extensions> </PersonName> <Telephone AreaCityCode="YYZ" PhoneNumber="123-1234" RPH="001"/> </Customer> </CustomerInfo> </CustomerInfos> <ItineraryInfo> <ReservationItems> <Item RPH="0001"> <Air ActionCode="HK" AirMilesFlown="1677" ArrivalDateTime="2012-09-15T17:52:00" DepartureDateTime="2012-09-15T12:10:00" ElapsedTime="03.42" FlightNumber="0612" NumberInParty="02" RPH="0001" ResBookDesigCode="Y" SmokingAllowed="N" StopQuantity="00">

Misc Web Services 19 March 2019 110 Confidential and Proprietary Sabre Airline Solutions

<DepartureAirport CodeContext="IATA" LocationCode="YYC"/> <ArrivalAirport CodeContext="IATA" LocationCode="YYZ"/> <OperatingAirline/> <Equipment AirEquipType="73W"/> <MarketingAirline Code="WS"/> <TPA_Extensions> <ConnectionIndicator Type=" "/> <Eticket Ind="true"/> <UpdatedDepartureTime>2012-09-15T12:10:00</UpdatedDepartureTime> <UpdatedArrivalTime>2012-09-15T17:52:00</UpdatedArrivalTime> </TPA_Extensions> </Air> </Item> </ReservationItems> <ItineraryPricing> <PriceQuote> <ResponseHeader> <Text>FARE - PRICE RETAINED</Text> <Text>FARE USED TO CALCULATE DISCOUNT</Text> </ResponseHeader> <PricedItinerary InputMessage="WPRQ" SequenceNumber="1" StatusCode="A" TaxExempt="N"> <AirItineraryPricingInfo> <ItinTotalFare> <BaseFare Amount="566.00" CurrencyCode="CAD" DecimalPlaces="2"/> <Taxes> <Tax Amount="86.18" CurrencyCode="CAD" DecimalPlaces="2" TaxCode="XT"/> <TaxBreakdownCode>7.12CA</TaxBreakdownCode> <TaxBreakdownCode>31.06XG</TaxBreakdownCode> <TaxBreakdownCode>25.00SQ</TaxBreakdownCode> <TaxBreakdownCode>3.00YQ</TaxBreakdownCode> <TaxBreakdownCode>20.00YQ</TaxBreakdownCode> </Taxes> <TotalFare Amount="652.18" CurrencyCode="CAD" DecimalPlaces="2"/> <Totals> <BaseFare Amount="1132.00"/> <Taxes> <Tax Amount="172.36"/> </Taxes> <TotalFare Amount="1304.36" DecimalPlaces="2"/>

Misc Web Services 19 March 2019 111 Confidential and Proprietary Sabre Airline Solutions

</Totals> </ItinTotalFare> <PTC_FareBreakdown> <PassengerTypeQuantity Code="ADT" Quantity="02"/> <FareBasisCode>YCR</FareBasisCode> <FareCalc>YYC WS YTO566.00YCR CAD566.00END</FareCalc> <Endorsements> <Text>NONREF - FEE FOR CHG/CXL</Text> </Endorsements> <FlightSegment ActionCode="OK" DepartureDateTime="2012-09-15T12:10:00" FlightNumber="612" RPH=" 1" ResBookDesigCode="Y"> <FlightType Ind="O"/> <Airport LocationCode="YYC"/> <OperatingAirline Code="WS" FlightNumber="612"/> <FareBasisCode>YCR</FareBasisCode> <ValidityDates> <NotValidAfter>2012-09-15T00:00:00</NotValidAfter> </ValidityDates> </FlightSegment> <FlightSegment> <Airport LocationCode="YYZ"/> </FlightSegment> </PTC_FareBreakdown> <SignatureLine> <Text>YYZ HDQ 5WAE 1213/27JUN</Text> </SignatureLine> </AirItineraryPricingInfo> </PricedItinerary> </PriceQuote> </ItineraryPricing> </ItineraryInfo> <UpdatedBy CreateDateTime="2012-06-27T12:13:00"> <TPA_Extensions> <Source AAACity="YYZ" AgentSine="WAE" HomePseudoCityCode="HDQ"/> </TPA_Extensions> </UpdatedBy> </TravelItinerary> <TPA_Extensions> <HostCommand>Â?Â?Â?AÂ?Â?RS01S093Â?JX PNR</HostCommand> </TPA_Extensions> </OTA_TravelItineraryRS> </soap-env:Body> </soap-env:Envelope>

Misc Web Services 19 March 2019 112 Confidential and Proprietary Sabre Airline Solutions

2.11.2 Calculate Total Cost

Native Sabre

Access the MISC mask with name select for name 2.1.

MISC2/2‡N2.1« MI - MSR MAIN MENU TO EXIT- RESET, CLEAR NBR OR X TO DISPLAY SELECTIONS 1-3 <2> <AB> PROVINCE CODE <N> GST EXEMPT <N>PST EXEMPT MISC - SERVICES RESET, CLEAR AND IGNORE TO EXIT

Select each of the four items to price.

Note The selections and prices in native Sabre screens are for demonstration only and are not intended to match those in the web service calls example.

<TWENTYFOUR/PATRICIA > NBR OF NBR OF < > CHANGE CANCEL FEE < > UNACCOMPANIED MINOR < > EXPEDITE BAG <1 > TRAVEL BANK EXTENSION <1 > PET KENNEL CABIN < > PET KENNEL HOLD < > EARLY SHOW < > LATE SHOW < > SPOILAGE < > NO SHOW REACCOM < > GROUP DEPOSIT <1 > REWARD TRANSFER FEE < > REWARD EXTEND FEE < > EXCESS VALUATION <1 > OTHER FEE <3.25 > DESCRIPTION <BOB VOUCH > PSGR TICKET NBR/S/ - < > < > IF REQUIRED < > < > MISC - TOTAL COST SUMMARY. DEPRESS ENTER TO CONTINUE - RESET, CLEAR AND IGNORE TO EXIT.

The Total Cost Summary screen displays with the amounts in the airline’s default currency. In this case: CAD.

Select EQUIV AMT and type the currency code INR in the space provided. Press ENTER.

MISC - TOTAL COST SUMMARY. DEPRESS ENTER TO CONTINUE - RESET, CLEAR AND IGNORE TO EXIT. TWENTYFOUR/PATRICIA <X> EQUIV AMT CURR CODE <INR> QTY ITEM/SVC COST PST TAX TOTAL 01 TRAVEL BANK EXTENSION 20.00 < 0.00> 20.00 01 PET KENNEL CABIN 50.00 < 0.00> 50.00 01 REWARD TRANSFER FEE 40.00 < 0.00> 40.00 01 BOB VOUCH 3.25 < 0.00> 3.25 < 4.50> XG < 0.00> XQ

Misc Web Services 19 March 2019 113 Confidential and Proprietary Sabre Airline Solutions

TTL COST 93.25 4.50 97.75 RETURN TO FIRST MASK < > MISC - TOTAL COST SUMMARY. DEPRESS ENTER TO CONTINUE - RESET, CLEAR AND IGNORE TO EXIT.

The Total Cost Summary redisplays with the prices listed in the INR currency.

MISC - TOTAL COST SUMMARY. DEPRESS ENTER TO CONTINUE - RESET, CLEAR AND IGNORE TO EXIT. TWENTYFOUR/OPAL < > EQUIV AMT CURR CODE <INR> QTY ITEM/SVC COST PST TAX TOTAL 01 TRAVEL BANK EXTENSION 1036 < 0> 1036 01 PET KENNEL CABIN 2590 < 0> 2590 01 REWARD TRANSFER FEE 1036 < 0> 1036 01 BOB VOUCH 168 < 0> 168 < 233> XG < 0> XQ TTL COST 4830 233 5063 RETURN TO FIRST MASK < >

To obtain the same information for another passenger, you would repeat the above process.

Web Service Calls

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId>

Misc Web Services 19 March 2019 114 Confidential and Proprietary Sabre Airline Solutions

<ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3906738747580294269!221848!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CalculateTotalCostRQ version="1.4.2" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="WS" dutyCode="5" lniata="F28C0C" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA country="CA" number="21000486" province="AB">YYZ</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="MSR" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Parameters xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:InputCurrency>INR</ns3:InputCurrency> <ns3:ExemptGSTTax>false</ns3:ExemptGSTTax> </ns3:Parameters> <ns4:Fees xmlns:ns4="http://services.sabre.com/STL/v01"> <ns4:Linked> <ns4:Customer firstName="PATRICIA" lastName="TWENTYFOUR"> <ns4:CustomerDetails nameRefNumber="2.1" pnrLocator="LENCRJ"/> </ns4:Customer> <ns4:Fee> <ns4:FeeDetails code="422" quantity="1"/> </ns4:Fee> <ns4:Fee> <ns4:FeeDetails code="429" quantity="2"/> </ns4:Fee> <ns4:Fee> <ns4:FeeDetails code="421" quantity="1"/>

Misc Web Services 19 March 2019 115 Confidential and Proprietary Sabre Airline Solutions

</ns4:Fee> </ns4:Linked> </ns4:Fees> <ns5:Fees xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:Grouped> <ns5:Customer firstName="OPAL" lastName="TWENTYFOUR"> <ns5:CustomerDetails pnrLocator="LENCRJ"/> </ns5:Customer> <ns5:Fee> <ns5:FeeDetails code="421" quantity="2"/> </ns5:Fee> <ns5:Fee> <ns5:FeeDetails code="404" quantity="10"/> </ns5:Fee> <ns5:Fee> <ns5:FeeDetails code="427" quantity="1"/> </ns5:Fee> </ns5:Grouped> </ns5:Fees> </CalculateTotalCostRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2001-02-15T</eb:Timestamp> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">

Misc Web Services 19 March 2019 116 Confidential and Proprietary Sabre Airline Solutions

<wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3906738747580294269!221848!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CalculateTotalCostRS version="1.4.2" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="WS" dutyCode="5" lniata="544909" xmlns="http://services.sabre.com/STL/v01"> <AAA country="CA" number="21000486" province="AB">YYZ</AAA> </AgentPOS> <Transaction code="MSR" xmlns="http://services.sabre.com/STL/v01"/> <Parameters xmlns="http://services.sabre.com/STL/v01"> <InputCurrency>INR</InputCurrency> </Parameters> <Fees xmlns="http://services.sabre.com/STL/v01"> <Linked> <Customer firstName="PATRICIA" lastName="TWENTYFOUR"> <CustomerDetails nameRefNumber="2.1" pnrLocator="LENCRJ"/> </Customer> <Fee> <FeeDetails code="422" description="PET KENNEL CABIN" quantity="1"> <Base currencyCode="CAD">50.00</Base> <Equiv currencyCode="INR">2590</Equiv> <TotalTax currencyCode="INR">129</TotalTax> <Total currencyCode="INR">2719</Total> </FeeDetails>

Misc Web Services 19 March 2019 117 Confidential and Proprietary Sabre Airline Solutions

<Tax code="XG"> <Amount currencyCode="INR">129</Amount> </Tax> </Fee> <Fee> <FeeDetails code="429" description="REWARD TRANSFER FEE" quantity="2"> <Base currencyCode="CAD">40.00</Base> <Equiv currencyCode="INR">2072</Equiv> <TotalTax currencyCode="INR">103</TotalTax> <Total currencyCode="INR">2175</Total> </FeeDetails> <Tax code="XG"> <Amount currencyCode="INR">103</Amount> </Tax> </Fee> <Fee> <FeeDetails code="421" description="TRAVEL BANK EXTENSION" quantity="1"> <Base currencyCode="CAD">20.00</Base> <Equiv currencyCode="INR">1036</Equiv> <TotalTax currencyCode="INR">051</TotalTax> <Total currencyCode="INR">1087</Total> </FeeDetails> <Tax code="XG"> <Amount currencyCode="INR">051</Amount> </Tax> </Fee> </Linked> </Fees> <Fees xmlns="http://services.sabre.com/STL/v01"> <Grouped> <Customer firstName="OPAL" lastName="TWENTYFOUR"> <CustomerDetails pnrLocator="LENCRJ"/> </Customer> <Fee> <FeeDetails code="421" description="TRAVEL BANK EXTENSION"

Misc Web Services 19 March 2019 118 Confidential and Proprietary Sabre Airline Solutions

quantity="2"> <Base currencyCode="CAD">40.00</Base> <Equiv currencyCode="INR">2072</Equiv> <TotalTax currencyCode="INR">103</TotalTax> <Total currencyCode="INR">2175</Total> </FeeDetails> <Tax code="XG"> <Amount currencyCode="INR">103</Amount> </Tax> </Fee> <Fee> <FeeDetails code="404" description="3.25 BOB VOUCH" quantity="10"> <Base currencyCode="CAD">32.50</Base> <Equiv currencyCode="INR">1683</Equiv> <Total currencyCode="INR">1683</Total> </FeeDetails> </Fee> <Fee> <FeeDetails code="427" description="NO SHOW REACCOM" quantity="1"> <Base currencyCode="CAD">50.00</Base> <Equiv currencyCode="INR">2590</Equiv> <TotalTax currencyCode="INR">129</TotalTax> <Total currencyCode="INR">2719</Total> </FeeDetails> <Tax code="XG"> <Amount currencyCode="INR">129</Amount> </Tax> </Fee> </Grouped> </Fees> <TotalCost currencyCode="INR" xmlns="http://services.sabre.com/STL/v01">12558</TotalCost> </misc:CalculateTotalCostRS> </soap-env:Body> </soap-env:Envelope>

Misc Web Services 19 March 2019 119 Confidential and Proprietary Sabre Airline Solutions

2.12 Get Override Reasons for MSR (GetMiscOverrideRQ)

This scenario demonstrates how to get the override reasons available for MSR documents.

Native Sabre

MISCO*« WS AIRLINE MISC OVERRIDE REASON TABLE CODE REASON EXPLAIN EFF DTE DISC DTE 01 ALREADY PAID N 01OCT2009 INF 02 IROP Y 01OCT2009 INF 03 GUEST EXPERIENCE Y 01OCT2009 INF 04 TA/GDS SUPPORT Y 01OCT2009 INF 05 WS BUSINESS TRAVEL Y 01OCT2009 INF 06 HUMANITARIAN AID N 01OCT2009 INF 07 OPERATIONAL REQ Y 01OCT2009 INF 08 CONTRACTUAL Y 01OCT2009 INF 09 SS-CUST SERV EXCEPTN Y 01OCT2009 INF 10 SS-CONTRACTUAL Y 15OCT2009 INF 11 SS-EXHG FLT-PAID ORIG Y 15OCT2009 INF 12 SS-IROP/SCHED CHG Y 15OCT2009 INF 13 SS-SEAT VOUCHER Y 04MAR2010 INF 14 SS-GRP BKG OF 10 PLUS N 07APR2010 INF 15 SS-SPECIAL NEEDS N 07APR2010 INF END OF DATA

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/fulfillment/Miscellaneous_v.1.4.2.wsdl

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData>

Misc Web Services 19 March 2019 120 Confidential and Proprietary Sabre Airline Solutions

<ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T 11:15:12Z</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3910968875835765629!772496!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <GetMiscOverrideRQ version="1.4.2" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="WS" dutyCode="4" lniata="F28C0C" sine="HUH" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>JFK</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="MSR" xmlns:ns2="http://services.sabre.com/STL/v01"/> </GetMiscOverrideRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2001-02-15T 11:15:12Z</eb:Timestamp> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3910968875835765629!772496!0</wsse:BinarySecurityToken>

Misc Web Services 19 March 2019 121 Confidential and Proprietary Sabre Airline Solutions

</wsse:Security> </soap-env:Header> <soap-env:Body> <misc:GetMiscOverrideRS version="1.4.2" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="WS" dutyCode="4" lniata="12D60A" sine="HUH" xmlns="http://services.sabre.com/STL/v01"> <AAA>JFK</AAA> </AgentPOS> <Transaction code="MSR" xmlns="http://services.sabre.com/STL/v01"/> <Override option="N" reasonCode="01" reasonDesc="ALREADY PAID" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-01</EffectiveDate> </Override> <Override option="Y" reasonCode="02" reasonDesc="IROP" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-01</EffectiveDate> </Override> <Override option="Y" reasonCode="03" reasonDesc="GUEST EXPERIENCE" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-01</EffectiveDate> </Override> <Override option="Y" reasonCode="04" reasonDesc="TA/GDS SUPPORT" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-01</EffectiveDate> </Override> <Override option="Y" reasonCode="05" reasonDesc="WS BUSINESS TRAVEL" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-01</EffectiveDate> </Override> <Override option="N" reasonCode="06" reasonDesc="HUMANITARIAN AID" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-01</EffectiveDate> </Override> <Override option="Y" reasonCode="07" reasonDesc="OPERATIONAL REQ"

Misc Web Services 19 March 2019 122 Confidential and Proprietary Sabre Airline Solutions

xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-01</EffectiveDate> </Override> <Override option="Y" reasonCode="08" reasonDesc="CONTRACTUAL" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-01</EffectiveDate> </Override> <Override option="Y" reasonCode="09" reasonDesc="SS-CUST SERV EXCEPTN" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-01</EffectiveDate> </Override> <Override option="Y" reasonCode="10" reasonDesc="SS-CONTRACTUAL" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-15</EffectiveDate> </Override> <Override option="Y" reasonCode="11" reasonDesc="SS-EXHG FLT-PAID ORIG" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-15</EffectiveDate> </Override> <Override option="Y" reasonCode="12" reasonDesc="SS-IROP/SCHED CHG" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-15</EffectiveDate> </Override> <Override option="Y" reasonCode="13" reasonDesc="SS-SEAT VOUCHER" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2010-03-04</EffectiveDate> </Override> <Override option="N" reasonCode="14" reasonDesc="SS-GRP BKG OF 10 PLUS" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2010-04-07</EffectiveDate> </Override> <Override option="N" reasonCode="15" reasonDesc="SS-SPECIAL NEEDS" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2010-04-07</EffectiveDate> </Override> </misc:GetMiscOverrideRS> </soap-env:Body> </soap-env:Envelope>

2.13 Get Override Reasons for EXB (GetMiscOverrideRQ)

This scenario demonstrates how to get the override reasons available for EXB documents.

Native Sabre

MIXBO*« WS AIRLINE EXCESS BAGGAGE CHARGE OVERRIDE REASON TABLE

Misc Web Services 19 March 2019 123 Confidential and Proprietary Sabre Airline Solutions

CODE REASON EXPLAIN EFF DTE DISC DTE 01 ALREADY PAID N 01OCT2009 INF 02 EMPLOYEE TRAVEL N 01OCT2009 INF 03 GUEST EXPERIENCE Y 01OCT2009 INF 04 HUMANITARIAN AID N 01OCT2009 INF 05 INF/CHILD EQUIPMENT N 01OCT2009 INF 06 INTERLINE N 01OCT2009 INF 07 ORGANIZATION EXEMPT N 01OCT2009 INF 08 SPORTING EQUIPMENT N 01OCT2009 INF 09 ASSISTIVE DEVICE N 01OCT2009 INF 10 SECOND BAG N 18JAN2011 INF 11 SELF SERVE N 16JAN2012 INF END OF DATA

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/fulfillment/Miscellaneous_v.1.4.2.wsdl

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T 11:15:12Z</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3910971142575558272!771480!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <GetMiscOverrideRQ version="1.4.2"

Misc Web Services 19 March 2019 124 Confidential and Proprietary Sabre Airline Solutions

xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="WS" dutyCode="8" lniata="F28C0C" sine="HUH" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>YYZ</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="EXB" xmlns:ns2="http://services.sabre.com/STL/v01"/> </GetMiscOverrideRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2001-02-15T 11:15:12Z</eb:Timestamp> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3910971142575558272!771480!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:GetMiscOverrideRS version="1.4.2" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage>

Misc Web Services 19 March 2019 125 Confidential and Proprietary Sabre Airline Solutions

<ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="WS" dutyCode="8" lniata="5D8E09" sine="HUH" xmlns="http://services.sabre.com/STL/v01"> <AAA>YYZ</AAA> </AgentPOS> <Transaction code="EXB" xmlns="http://services.sabre.com/STL/v01"/> <Override option="N" reasonCode="01" reasonDesc="ALREADY PAID" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-01</EffectiveDate> </Override> <Override option="N" reasonCode="02" reasonDesc="EMPLOYEE TRAVEL" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-01</EffectiveDate> </Override> <Override option="Y" reasonCode="03" reasonDesc="GUEST EXPERIENCE" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-01</EffectiveDate> </Override> <Override option="N" reasonCode="04" reasonDesc="HUMANITARIAN AID" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-01</EffectiveDate> </Override> <Override option="N" reasonCode="05" reasonDesc="INF/CHILD EQUIPMENT" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-01</EffectiveDate> </Override> <Override option="N" reasonCode="06" reasonDesc="INTERLINE" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-01</EffectiveDate> </Override> <Override option="N" reasonCode="07" reasonDesc="ORGANIZATION EXEMPT" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-01</EffectiveDate> </Override> <Override option="N" reasonCode="08" reasonDesc="SPORTING EQUIPMENT" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-01</EffectiveDate> </Override> <Override option="N" reasonCode="09" reasonDesc="ASSISTIVE DEVICE" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2009-10-01</EffectiveDate> </Override> <Override

Misc Web Services 19 March 2019 126 Confidential and Proprietary Sabre Airline Solutions

option="N" reasonCode="10" reasonDesc="SECOND BAG" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2011-01-18</EffectiveDate> </Override> <Override option="N" reasonCode="11" reasonDesc="SELF SERVE" xmlns="http://services.sabre.com/STL/v01"> <EffectiveDate>2012-01-16</EffectiveDate> </Override> </misc:GetMiscOverrideRS> </soap-env:Body> </soap-env:Envelope>

Misc Web Services 19 March 2019 127 Confidential and Proprietary Sabre Airline Solutions

2.14 Override Multiple MSR Fees for Multiple Passengers (WaiveMiscFeeRQ)

This scenario demonstrates how you can waive multiple fees for multiple passengers in one web service call.

In order to waive MSR fees, your airline must have the Override Reason table updated (MISCO*).

2.14.1 Display PNR

Native Sabre

*HQEATW« HQEATW 1.1SIXTYTHREE/PAUL 2.1SIXTYTHREE/YALONDA 1 WS 652Y 16SEP S YYCYYZ HK2 1235A 617A /E 2 WS1140Y 16SEP S YYZMIA HK2 1045A 153P /E 3 WS1141Y 23SEP S MIAYYZ HK2 245P 550P /E 4 WS 397Y 23SEP S YYZYYC HK2 735P 944P /E TKT/TIME LIMIT 1.T-27JUN-LAX5WAE 2.TE 8382181900739 SIXTY/P LAX5WAE 1138/27JUN 3.TE 8382181900740 SIXTY/Y LAX5WAE 1138/27JUN VCR COUPON DATA EXISTS *VI TO DISPLAY PRICE QUOTE RECORD EXISTS - *PQS LAX.HDQ5WAE 1337/27JUN12 HQEATW H

Web Services Calls

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service ns1:type="OTA">OTA_TravelItineraryReadLLSRQ</ns1:Service> <ns1:Action>OTA_TravelItineraryReadLLSRQ</ns1:Action>

Misc Web Services 19 March 2019 128 Confidential and Proprietary Sabre Airline Solutions

<ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T11:15:12Z</ns1:Timestamp> <ns1:TimeToLive>2001-02-15T11:15:12Z</ns1:TimeToLive> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3906717923902353791!1758937!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <OTA_TravelItineraryReadRQ AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2001-12-17T09:30:47-05:00" Version="2003A.TsabreXML1.13.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07"> <UniqueID> <TPA_Extensions> <Redisplay Ind="true"/> </TPA_Extensions> </UniqueID> </OTA_TravelItineraryReadRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="urn:x12.org:IO5:01">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="urn:x12.org:IO5:01">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service eb:type="OTA">OTA_TravelItineraryReadLLSRQ</eb:Service> <eb:Action>OTA_TravelItineraryReadLLSRS</eb:Action> <eb:MessageData> <eb:MessageId>8d56b7fd-1d7a-47fb-b803-eb97c53c8b82@152</eb:MessageId> <eb:Timestamp>2012-06-27T18:39:11</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security

Misc Web Services 19 March 2019 129 Confidential and Proprietary Sabre Airline Solutions

xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3906717923902353791!1758937!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <OTA_TravelItineraryRS AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2012-06-27T18:39:11" Version="2003A.TsabreXML1.13.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Success/> <TravelItinerary> <ItineraryRef ID="HQEATW"/> <CustomerInfos> <CustomerInfo> <Customer> <PersonName> <GivenName>PAUL</GivenName> <Surname>SIXTYTHREE</Surname> <TPA_Extensions> <NameNumber Number="01.01"/> </TPA_Extensions> </PersonName> <PersonName> <GivenName>YALONDA</GivenName> <Surname>SIXTYTHREE</Surname> <TPA_Extensions> <NameNumber Number="02.01"/> </TPA_Extensions> </PersonName> <Telephone AreaCityCode="LAX" PhoneNumber="123-1234" RPH="001"/> </Customer> </CustomerInfo> </CustomerInfos> <ItineraryInfo> <ReservationItems> <Item RPH="0001"> <Air ActionCode="HK" AirMilesFlown="1677" ArrivalDateTime="2012-09-16T06:17:00" DepartureDateTime="2012-09-16T00:35:00" ElapsedTime="03.42" FlightNumber="0652" NumberInParty="02" RPH="0001" ResBookDesigCode="Y" SmokingAllowed="N" StopQuantity="00"> <DepartureAirport CodeContext="IATA" LocationCode="YYC"/> <ArrivalAirport CodeContext="IATA"

Misc Web Services 19 March 2019 130 Confidential and Proprietary Sabre Airline Solutions

LocationCode="YYZ"/> <OperatingAirline/> <Equipment AirEquipType="73H"/> <MarketingAirline Code="WS"/> <TPA_Extensions> <ConnectionIndicator Type=" O"/> <Eticket Ind="true"/> <UpdatedDepartureTime>2012-09-16T00:35:00</UpdatedDepartureTime> <UpdatedArrivalTime>2012-09-16T06:17:00</UpdatedArrivalTime> </TPA_Extensions> </Air> </Item> <Item RPH="0002"> <Air ActionCode="HK" AirMilesFlown="1224" ArrivalDateTime="2012-09-16T13:53:00" DepartureDateTime="2012-09-16T10:45:00" ElapsedTime="03.08" FlightNumber="1140" NumberInParty="02" RPH="0002" ResBookDesigCode="Y" SmokingAllowed="N" StopQuantity="00"> <DepartureAirport CodeContext="IATA" LocationCode="YYZ"/> <ArrivalAirport CodeContext="IATA" LocationCode="MIA"/> <OperatingAirline/> <Equipment AirEquipType="73W"/> <MarketingAirline Code="WS"/> <TPA_Extensions> <ConnectionIndicator Type="I"/> <Eticket Ind="true"/> <UpdatedDepartureTime>2012-09-16T10:45:00</UpdatedDepartureTime> <UpdatedArrivalTime>2012-09-16T13:53:00</UpdatedArrivalTime> </TPA_Extensions> </Air> </Item> <Item RPH="0003"> <Air ActionCode="HK" AirMilesFlown="1224" ArrivalDateTime="2012-09-23T17:50:00" DepartureDateTime="2012-09-23T14:45:00" ElapsedTime="03.05" FlightNumber="1141" NumberInParty="02" RPH="0003" ResBookDesigCode="Y" SmokingAllowed="N" StopQuantity="00"> <DepartureAirport CodeContext="IATA" LocationCode="MIA"/> <ArrivalAirport CodeContext="IATA" LocationCode="YYZ"/> <OperatingAirline/> <Equipment

Misc Web Services 19 March 2019 131 Confidential and Proprietary Sabre Airline Solutions

AirEquipType="73W"/> <MarketingAirline Code="WS"/> <TPA_Extensions> <ConnectionIndicator Type=" O"/> <Eticket Ind="true"/> <UpdatedDepartureTime>2012-09-23T14:45:00</UpdatedDepartureTime> <UpdatedArrivalTime>2012-09-23T17:50:00</UpdatedArrivalTime> </TPA_Extensions> </Air> </Item> <Item RPH="0004"> <Air ActionCode="HK" AirMilesFlown="1677" ArrivalDateTime="2012-09-23T21:44:00" DepartureDateTime="2012-09-23T19:35:00" ElapsedTime="04.09" FlightNumber="0397" NumberInParty="02" RPH="0004" ResBookDesigCode="Y" SmokingAllowed="N" StopQuantity="00"> <DepartureAirport CodeContext="IATA" LocationCode="YYZ"/> <ArrivalAirport CodeContext="IATA" LocationCode="YYC"/> <OperatingAirline/> <Equipment AirEquipType="73W"/> <MarketingAirline Code="WS"/> <TPA_Extensions> <ConnectionIndicator Type="I"/> <Eticket Ind="true"/> <UpdatedDepartureTime>2012-09-23T19:35:00</UpdatedDepartureTime> <UpdatedArrivalTime>2012-09-23T21:44:00</UpdatedArrivalTime> </TPA_Extensions> </Air> </Item> </ReservationItems> <Ticketing RPH="01" TicketTimeLimit="T-27JUN-LAX5WAE"/> <Ticketing RPH="02" eTicketNumber="TE 8382181900739 SIXTY/P LAX5WAE 1138/27JUN"/> <Ticketing RPH="03" eTicketNumber="TE 8382181900740 SIXTY/Y LAX5WAE 1138/27JUN"/> <ItineraryPricing> <PriceQuote> <ResponseHeader> <Text>FARE - PRICE RETAINED</Text> <Text>FARE USED TO CALCULATE DISCOUNT</Text> </ResponseHeader> <PricedItinerary InputMessage="WPRQ" SequenceNumber="1" StatusCode="A"

Misc Web Services 19 March 2019 132 Confidential and Proprietary Sabre Airline Solutions

TaxExempt="N"> <AirItineraryPricingInfo> <ItinTotalFare> <BaseFare Amount="1357.99" CurrencyCode="CAD" DecimalPlaces="2"/> <EquivFare Amount="1353.00" CurrencyCode="USD" DecimalPlaces="2"/> <Taxes> <Tax Amount="293.80" CurrencyCode="CAD" DecimalPlaces="2" TaxCode="XT"/> <TaxBreakdownCode>15.00YQ</TaxBreakdownCode> <TaxBreakdownCode>101.40US</TaxBreakdownCode> <TaxBreakdownCode>15.20ZP</TaxBreakdownCode> <TaxBreakdownCode>5.50YC</TaxBreakdownCode> <TaxBreakdownCode>7.00XY</TaxBreakdownCode> <TaxBreakdownCode>5.00XA</TaxBreakdownCode> <TaxBreakdownCode>2.50AY</TaxBreakdownCode> <TaxBreakdownCode>12.10CA</TaxBreakdownCode> <TaxBreakdownCode>51.80SQ</TaxBreakdownCode> <TaxBreakdownCode>3.50RC</TaxBreakdownCode> <TaxBreakdownCode>70.30XG</TaxBreakdownCode> <TaxBreakdownCode>4.50XF</TaxBreakdownCode> </Taxes> <TotalFare Amount="1646.80" CurrencyCode="USD" DecimalPlaces="2"/> <Totals> <BaseFare Amount="2715.98"/> <EquivFare Amount="2706.00" DecimalPlaces="2"/> <Taxes> <Tax Amount="587.60"/> </Taxes> <TotalFare Amount="3293.60" DecimalPlaces="2"/> </Totals> </ItinTotalFare> <PTC_FareBreakdown> <PassengerTypeQuantity Code="ADT" Quantity="02"/> <FareBasisCode>YCR/YCR/YCR/YCR</FareBasisCode> <FareCalc>YYC WS YTO WS MIA681.42YCR WS X/YTO WS YYC681.42YCR NUC1362.84END ROE0.99644 ZPYYCYYZMIAYYZ XFMIA4.5</FareCalc> <Endorsements> <Text>NONREF - FEE FOR CHG/CXL</Text> </Endorsements> <FlightSegment ActionCode="OK" DepartureDateTime="2012-09-16T00:35:00" FlightNumber="652" RPH=" 1" ResBookDesigCode="Y"> <FlightType

Misc Web Services 19 March 2019 133 Confidential and Proprietary Sabre Airline Solutions

Ind="O"/> <Airport LocationCode="YYC"/> <OperatingAirline Code="WS" FlightNumber="652"/> <FareBasisCode>YCR</FareBasisCode> <ValidityDates> <NotValidAfter>2012-09-16T00:00:00</NotValidAfter> </ValidityDates> </FlightSegment> <FlightSegment ActionCode="OK" DepartureDateTime="2012-09-16T10:45:00" FlightNumber="1140" RPH=" 2" ResBookDesigCode="Y"> <FlightType Ind="O"/> <Airport LocationCode="YYZ"/> <OperatingAirline Code="WS" FlightNumber="1140"/> <FareBasisCode>YCR</FareBasisCode> <ValidityDates> <NotValidAfter>2012-09-16T00:00:00</NotValidAfter> </ValidityDates> </FlightSegment> <FlightSegment ActionCode="OK" DepartureDateTime="2012-09-23T14:45:00" FlightNumber="1141" RPH=" 3" ResBookDesigCode="Y"> <FlightType Ind="O"/> <Airport LocationCode="MIA"/> <OperatingAirline Code="WS" FlightNumber="1141"/> <FareBasisCode>YCR</FareBasisCode> <ValidityDates> <NotValidAfter>2012-09-16T00:00:00</NotValidAfter> </ValidityDates> </FlightSegment> <FlightSegment ActionCode="OK" DepartureDateTime="2012-09-23T19:35:00" FlightNumber="397" RPH=" 4" ResBookDesigCode="Y"> <FlightType Ind="X"/> <Airport LocationCode="YYZ"/> <OperatingAirline Code="WS" FlightNumber="397"/> <FareBasisCode>YCR</FareBasisCode> <ValidityDates> <NotValidAfter>2012-09-16T00:00:00</NotValidAfter> </ValidityDates> </FlightSegment> <FlightSegment> <Airport

Misc Web Services 19 March 2019 134 Confidential and Proprietary Sabre Airline Solutions

LocationCode="YYC"/> </FlightSegment> </PTC_FareBreakdown> <SignatureLine> <Text>LAX HDQ 5WAE 1337/27JUN</Text> </SignatureLine> </AirItineraryPricingInfo> </PricedItinerary> </PriceQuote> </ItineraryPricing> </ItineraryInfo> <SpecialServices ItemRPH="001" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>DOCS</SSRType> <Name Number="01.01">SIXTYTHREE/PAUL</Name> </TPA_Extensions> <Text>WS HK1/DB/01MAY30/M/TEST/TEST</Text> </Service> </SpecialServices> <SpecialServices ItemRPH="002" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>DOCS</SSRType> <Name Number="02.01">SIXTYTHREE/YALONDA</Name> </TPA_Extensions> <Text>WS HK1/DB/01MAY30/M/TEST/TEST</Text> </Service> </SpecialServices> <SpecialServices ItemRPH="003" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>TKNE</SSRType> <Name Number="01.01">SIXTYTHREE/PAUL</Name> </TPA_Extensions> <Text>WS HK1 YYCYYZ0652Y16SEP/8382181900739C1</Text> </Service> </SpecialServices> <SpecialServices ItemRPH="004" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>TKNE</SSRType> <Name Number="01.01">SIXTYTHREE/PAUL</Name> </TPA_Extensions> <Text>WS HK1 YYZMIA1140Y16SEP/8382181900739C2</Text>

Misc Web Services 19 March 2019 135 Confidential and Proprietary Sabre Airline Solutions

</Service> </SpecialServices> <SpecialServices ItemRPH="005" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>TKNE</SSRType> <Name Number="01.01">SIXTYTHREE/PAUL</Name> </TPA_Extensions> <Text>WS HK1 MIAYYZ1141Y23SEP/8382181900739C3</Text> </Service> </SpecialServices> <SpecialServices ItemRPH="006" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>TKNE</SSRType> <Name Number="01.01">SIXTYTHREE/PAUL</Name> </TPA_Extensions> <Text>WS HK1 YYZYYC0397Y23SEP/8382181900739C4</Text> </Service> </SpecialServices> <SpecialServices ItemRPH="007" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>TKNE</SSRType> <Name Number="02.01">SIXTYTHREE/YALONDA</Name> </TPA_Extensions> <Text>WS HK1 YYCYYZ0652Y16SEP/8382181900740C1</Text> </Service> </SpecialServices> <SpecialServices ItemRPH="008" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>TKNE</SSRType> <Name Number="02.01">SIXTYTHREE/YALONDA</Name> </TPA_Extensions> <Text>WS HK1 YYZMIA1140Y16SEP/8382181900740C2</Text> </Service> </SpecialServices> <SpecialServices ItemRPH="009" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>TKNE</SSRType> <Name

Misc Web Services 19 March 2019 136 Confidential and Proprietary Sabre Airline Solutions

Number="02.01">SIXTYTHREE/YALONDA</Name> </TPA_Extensions> <Text>WS HK1 MIAYYZ1141Y23SEP/8382181900740C3</Text> </Service> </SpecialServices> <SpecialServices ItemRPH="010" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>TKNE</SSRType> <Name Number="02.01">SIXTYTHREE/YALONDA</Name> </TPA_Extensions> <Text>WS HK1 YYZYYC0397Y23SEP/8382181900740C4</Text> </Service> </SpecialServices> <UpdatedBy CreateDateTime="2012-06-27T13:37:00"> <TPA_Extensions> <Source AAACity="LAX" AgentSine="WAE" HomePseudoCityCode="HDQ"/> </TPA_Extensions> </UpdatedBy> </TravelItinerary> <TPA_Extensions> <HostCommand>Â?Â?Â?AÂ?Â?RS01S093Â?JX PNR</HostCommand> </TPA_Extensions> </OTA_TravelItineraryRS> </soap-env:Body> </soap-env:Envelope>

2.14.2 Override MISC Fees (WaiveMiscFeeRQ)

Native Sabre

The native Sabre functionality is not the same as that of the web service. There is less flexibility in waiving fees with native Sabre than you have with the MISC web service. For this reason, the screen examples below will not match those of the web service calls.

This example demonstrates waiving a change fee.

Select item 4 for Change Fee and press ENTER.

MISC2‡N1.1« MI - MSR MAIN MENU. TO EXIT- RESET, CLEAR AND IGNORE NBR OR X TO DISPLAY SELECTIONS 1-3 <4> 1. SALES ITEMS 2. SERVICES

Misc Web Services 19 March 2019 137 Confidential and Proprietary Sabre Airline Solutions

3. UNPAID TAXES. 4. CHANGE FEE... 5. OPTIONAL FEE < >X TO DISPLAY MISC MAIN MENU

The Collect Change Fee screen displays. Indicate the amount of the Change Fee and select Waive Fee at the bottom of the screen.

MI - COLLECT CHANGE FEE <X> X IF SAME FOP OR OVERRIDE FOR ALL PASSENGERS -OR- SELECT NAME/S/ <USD> SELECT NAME/S/ TKT NBR CHANGE FEE AMT < > SIXTYTHREE/PAUL <8382181900739> <50.00 > <X>WAIVE FEE - OVERRIDE MASK

Misc Web Services 19 March 2019 138 Confidential and Proprietary Sabre Airline Solutions

The Waive Fee Collection Override Mask displays. Select the reason code and provide a reason if applicable. Press ENTER.

MI - WAIVE FEE COLLECTION - OVERRIDE MASK ** OVERRIDE WILL GENERATE REPORT TO MANAGEMENT ** REASON CODE PASSENGER NAME CODES DESCRIPTION 01 ALREADY PAID <02> SIXTYTHREE/PAUL 02 IROP 03 GUEST EXPERIENCE 04 TA/GDS SUPPORT 05 WS BUSINESS TRAVEL 06 HUMANITARIAN AID 07 OPERATIONAL REQ 08 CONTRACTUAL 09 SS-CUST SERV EXCEPTN 10 SS-CONTRACTUAL EXPLAIN <WEATHER > < > RETURN TO PREVIOUS SCREEN OK - OVERRIDE RECORDED

Web Services Calls

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext">

Misc Web Services 19 March 2019 139 Confidential and Proprietary Sabre Airline Solutions

<ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3906717923902353791!1758937!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <WaiveMiscFeeRQ version="1.4.2" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="WS" dutyCode="5" lniata="F28C0C" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>HDQ</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="MSR" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Linked> <ns3:Customer firstName="PAUL" lastName="SIXTYTHREE"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="HQEATW"/> <ns3:Override reasonCode="03" reasonDesc="GUEST EXPERIENCE"/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="425" description="LATE SHOW" quantity="1"> <ns3:Base currencyCode="CAD">10.00</ns3:Base> <ns3:Total currencyCode="CAD">10.00</ns3:Total> </ns3:FeeDetails> <ns3:AssociatedFlight> <ns3:CarrierCode>WS</ns3:CarrierCode> <ns3:FlightNumber>652</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>YYC</ns3:DepartureCity> <ns3:ArrivalCity>YYZ</ns3:ArrivalCity> <ns3:DepartureDate>2012-09-16</ns3:DepartureDate> </ns3:AssociatedFlight> <ns3:AssociatedTicketNumber couponNumber="01">8382181900739</ns3:AssociatedTicketNumber> </ns3:Fee> </ns3:Linked> </ns3:Fees> <ns4:Fees xmlns:ns4="http://services.sabre.com/STL/v01"> <ns4:Linked> <ns4:Customer firstName="YALONDA" lastName="SIXTYTHREE"> <ns4:CustomerDetails nameRefNumber="2.1" pnrLocator="HQEATW"/> <ns4:Override

Misc Web Services 19 March 2019 140 Confidential and Proprietary Sabre Airline Solutions

reasonCode="05" reasonDesc="WS BUSINESS TRAVEL"/> </ns4:Customer> <ns4:Fee> <ns4:FeeDetails code="425" description="LATE SHOW" quantity="1"> <ns4:Base currencyCode="USD">10.00</ns4:Base> <ns4:Total currencyCode="USD">10.00</ns4:Total> </ns4:FeeDetails> <ns4:AssociatedFlight> <ns4:CarrierCode>WS</ns4:CarrierCode> <ns4:FlightNumber>1140</ns4:FlightNumber> <ns4:ClassOfService>Y</ns4:ClassOfService> <ns4:DepartureCity>YYZ</ns4:DepartureCity> <ns4:ArrivalCity>MIA</ns4:ArrivalCity> <ns4:DepartureDate>2012-09-16</ns4:DepartureDate> </ns4:AssociatedFlight> <ns4:AssociatedTicketNumber couponNumber="01">8382181900740</ns4:AssociatedTicketNumber> </ns4:Fee> </ns4:Linked> </ns4:Fees> <ns5:Fees xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:Linked> <ns5:Customer firstName="PAUL" lastName="SIXTYTHREE"> <ns5:CustomerDetails nameRefNumber="1.1" pnrLocator="HQEATW"/> <ns5:Override reasonCode="07" reasonDesc="OPERATIONAL REQ"/> </ns5:Customer> <ns5:Fee> <ns5:FeeDetails code="425" description="LATE SHOW" quantity="1"> <ns5:Base currencyCode="CAD">7.00</ns5:Base> <ns5:Total currencyCode="CAD">7.00</ns5:Total> </ns5:FeeDetails> <ns5:AssociatedFlight> <ns5:CarrierCode>WS</ns5:CarrierCode> <ns5:FlightNumber>1141</ns5:FlightNumber> <ns5:ClassOfService>Y</ns5:ClassOfService> <ns5:DepartureCity>MIA</ns5:DepartureCity> <ns5:ArrivalCity>YYZ</ns5:ArrivalCity> <ns5:DepartureDate>2012-09-16</ns5:DepartureDate> </ns5:AssociatedFlight> <ns5:AssociatedTicketNumber couponNumber="03">8382181900739</ns5:AssociatedTicketNumber> </ns5:Fee> </ns5:Linked> </ns5:Fees> <ns6:Fees

Misc Web Services 19 March 2019 141 Confidential and Proprietary Sabre Airline Solutions

xmlns:ns6="http://services.sabre.com/STL/v01"> <ns6:Linked> <ns6:Customer firstName="YALONDA" lastName="SIXTYTHREE"> <ns6:CustomerDetails nameRefNumber="2.1" pnrLocator="HQEATW"/> <ns6:Override reasonCode="02" reasonDesc="IROP"/> </ns6:Customer> <ns6:Fee> <ns6:FeeDetails code="008" description="CHANGE CANCEL FEE" quantity="2"> <ns6:Base currencyCode="USD">23.00</ns6:Base> <ns6:Total currencyCode="USD">23.00</ns6:Total> </ns6:FeeDetails> <ns6:AssociatedFlight> <ns6:CarrierCode>WS</ns6:CarrierCode> <ns6:FlightNumber>0397</ns6:FlightNumber> <ns6:ClassOfService>Y</ns6:ClassOfService> <ns6:DepartureCity>YYZ</ns6:DepartureCity> <ns6:ArrivalCity>YYC</ns6:ArrivalCity> <ns6:DepartureDate>2012-09-16</ns6:DepartureDate> </ns6:AssociatedFlight> <ns6:AssociatedTicketNumber couponNumber="02">8382181900740</ns6:AssociatedTicketNumber> </ns6:Fee> </ns6:Linked> </ns6:Fees> <ns7:TotalCost currencyCode="USD" xmlns:ns7="http://services.sabre.com/STL/v01">67.00</ns7:TotalCost> <ns8:DetailLevel xmlns:ns8="http://services.sabre.com/STL/v01">Full</ns8:DetailLevel> </WaiveMiscFeeRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To>

Misc Web Services 19 March 2019 142 Confidential and Proprietary Sabre Airline Solutions

<eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2001-02-15T</eb:Timestamp> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3906717923902353791!1758937!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:WaiveMiscFeeRS version="1.4.2" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="WS" dutyCode="5" lniata="64A50A" xmlns="http://services.sabre.com/STL/v01"> <AAA>HDQ</AAA> </AgentPOS> <Transaction code="MSR" xmlns="http://services.sabre.com/STL/v01"/> <Fees xmlns="http://services.sabre.com/STL/v01"> <Linked> <Customer firstName="PAUL" lastName="SIXTYTHREE"> <CustomerDetails nameRefNumber="1.1" pnrLocator="HQEATW"/> <Override reasonCode="03" reasonDesc="GUEST EXPERIENCE"/> </Customer> <Fee> <FeeDetails code="425" description="LATE SHOW" quantity="1"> <Base currencyCode="CAD">10.00</Base> <Total

Misc Web Services 19 March 2019 143 Confidential and Proprietary Sabre Airline Solutions

currencyCode="CAD">10.00</Total> </FeeDetails> <AssociatedFlight segmentID="0"> <CarrierCode>WS</CarrierCode> <FlightNumber>652</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>YYC</DepartureCity> <ArrivalCity>YYZ</ArrivalCity> <DepartureDate>2012-09-16</DepartureDate> </AssociatedFlight> <AssociatedTicketNumber couponNumber="1">8382181900739</AssociatedTicketNumber> </Fee> </Linked> </Fees> <Fees xmlns="http://services.sabre.com/STL/v01"> <Linked> <Customer firstName="YALONDA" lastName="SIXTYTHREE"> <CustomerDetails nameRefNumber="2.1" pnrLocator="HQEATW"/> <Override reasonCode="05" reasonDesc="WS BUSINESS TRAVEL"/> </Customer> <Fee> <FeeDetails code="425" description="LATE SHOW" quantity="1"> <Base currencyCode="USD">10.00</Base> <Total currencyCode="USD">10.00</Total> </FeeDetails> <AssociatedFlight segmentID="0"> <CarrierCode>WS</CarrierCode> <FlightNumber>1140</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>YYZ</DepartureCity> <ArrivalCity>MIA</ArrivalCity> <DepartureDate>2012-09-16</DepartureDate> </AssociatedFlight> <AssociatedTicketNumber couponNumber="1">8382181900740</AssociatedTicketNumber> </Fee> </Linked> </Fees> <Fees xmlns="http://services.sabre.com/STL/v01"> <Linked> <Customer firstName="PAUL" lastName="SIXTYTHREE"> <CustomerDetails nameRefNumber="1.1" pnrLocator="HQEATW"/> <Override

Misc Web Services 19 March 2019 144 Confidential and Proprietary Sabre Airline Solutions

reasonCode="07" reasonDesc="OPERATIONAL REQ"/> </Customer> <Fee> <FeeDetails code="425" description="LATE SHOW" quantity="1"> <Base currencyCode="CAD">7.00</Base> <Total currencyCode="CAD">7.00</Total> </FeeDetails> <AssociatedFlight segmentID="0"> <CarrierCode>WS</CarrierCode> <FlightNumber>1141</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>MIA</DepartureCity> <ArrivalCity>YYZ</ArrivalCity> <DepartureDate>2012-09-16</DepartureDate> </AssociatedFlight> <AssociatedTicketNumber couponNumber="3">8382181900739</AssociatedTicketNumber> </Fee> </Linked> </Fees> <Fees xmlns="http://services.sabre.com/STL/v01"> <Linked> <Customer firstName="YALONDA" lastName="SIXTYTHREE"> <CustomerDetails nameRefNumber="2.1" pnrLocator="HQEATW"/> <Override reasonCode="02" reasonDesc="IROP"/> </Customer> <Fee> <FeeDetails code="008" description="CHANGE CANCEL FEE" quantity="2"> <Base currencyCode="USD">23.00</Base> <Total currencyCode="USD">23.00</Total> </FeeDetails> <AssociatedFlight segmentID="0"> <CarrierCode>WS</CarrierCode> <FlightNumber>397</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>YYZ</DepartureCity> <ArrivalCity>YYC</ArrivalCity> <DepartureDate>2012-09-16</DepartureDate> </AssociatedFlight> <AssociatedTicketNumber couponNumber="2">8382181900740</AssociatedTicketNumber> </Fee>

Misc Web Services 19 March 2019 145 Confidential and Proprietary Sabre Airline Solutions

</Linked> </Fees> <TotalCost currencyCode="USD" xmlns="http://services.sabre.com/STL/v01">67.00</TotalCost> </misc:WaiveMiscFeeRS> </soap-env:Body> </soap-env:Envelope>

Misc Web Services 19 March 2019 146 Confidential and Proprietary Sabre Airline Solutions

2.14.3 Review PNR

If you redisplay the PNR you see remarks added to document the waived fees.

HQEATW 1.1SIXTYTHREE/PAUL 2.1SIXTYTHREE/YALONDA 1 WS 652Y 16SEP S YYCYYZ HK2 1235A 617A /E 2 WS1140Y 16SEP S YYZMIA HK2 1045A 153P /E 3 WS1141Y 23SEP S MIAYYZ HK2 245P 550P /E 4 WS 397Y 23SEP S YYZYYC HK2 735P 944P /E TKT/TIME LIMIT 1.T-27JUN-LAX5WAE 2.TE 8382181900739 SIXTY/P LAX5WAE 1138/27JUN 3.TE 8382181900740 SIXTY/Y LAX5WAE 1138/27JUN VCR COUPON DATA EXISTS *VI TO DISPLAY PHONES 1.LAX123-1234 PRICE QUOTE RECORD EXISTS - *PQS WS FACTS 1.SSR DOCS WS HK1/DB/01MAY30/M/TEST/TEST 2.SSR DOCS WS HK1/DB/01MAY30/M/TEST/TEST REMARKS 1.H-OPT FEE OVERRIDE BY HDQWAE 27JUN12 SIXTY/P REASON 03 2.H-OPT FEE OVERRIDE BY HDQWAE 27JUN12 SIXTY/Y REASON 05 3.H-OPT FEE OVERRIDE BY HDQWAE 27JUN12 SIXTY/P REASON 07 4.H-OPT FEE OVERRIDE BY HDQWAE 27JUN12 SIXTY/Y REASON 02 LAX.HDQ5WAE 1337/27JUN12 HQEATW H

Misc Web Services 19 March 2019 147 Confidential and Proprietary Sabre Airline Solutions

2.15 MSR with Endorsement and “Null Value” PRAS Code

This scenario demonstrates how you can add an endorsement and a PRAS code with no or “null” value on an MSR.

This functionality was developed for the MISC Web Service only. It is not available via native Sabre, and it does not apply to EXB bag documents. It applies to MSRs only.

Endorsement:

• The Endorsement can be up to 60 characters.

• For ATB2, the endorsement (if present) prints where “*THIS IS YOUR RECEIPT*” prints on the ticket portion of the document.

• For ATB1, the endorsement (if present) prints where “*NOT VALID FOR*TRANSPORTATION*” prints on the ticket portion of the document.

Null Value PRAS Codes:

• This functionality was designed so that you can include additional information on an MSR in place of a second, third, or fourth PRAS code. For example: Special remarks or a tour code.

• The null value item cannot be the only PRAS codes on the MSR; there must be at least one PRAS item that carries value.

• The null value PRAS code is set up in the MISC*ALL table. To be able to display the MISC*ALL table, refer to the EPR requirements listed at the beginning of this document.

• For the PRAS code to carry no value, it must be added to the MISC*ALL table with the NULL indicator set to Y for Yes. See the example below:

• For Linked payloads you must also have the NPR (Non-real PRAS code) setting to Y. For Grouped

payloads only the NULL must be set to Yes.

Note Refer to the MISC Web Service Account Code Table user guide for more information on setting up the MISC*ALL table.

• These special non-value PRAS codes can be up to 21 characters.

Misc Web Services 19 March 2019 148 Confidential and Proprietary Sabre Airline Solutions

2.15.1 Issue MSR with Endorsement and “Null Value” PRAS Code

Native Sabre

This functionality was developed only for MISC Web Service. It is not available in native Sabre.

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/fulfillment/Miscellaneous_v.1.4.2.wsdl

Note This XML example uses credit card form of payment. When you have a credit card as payment, you need to request authorization via the PaymentRQ web service prior to the CollectMISCFee web service call.

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T 11:15:12Z</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3928990789961345531!1833307!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CollectMiscFeeRQ version="1.4.2" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="LA" dutyCode="4" lniata="F28C0C" sine="ZAK"

Misc Web Services 19 March 2019 149 Confidential and Proprietary Sabre Airline Solutions

xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>SCL</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="MSR" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Grouped> <ns3:Customer firstName="PAXONE" lastName="FOURTEEN"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="LIHITA"/> </ns3:Customer> <ns3:TicketNumber>0452100255233</ns3:TicketNumber> <ns3:Flight> <ns3:CarrierCode>XL</ns3:CarrierCode> <ns3:FlightNumber>7614</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>SCL</ns3:DepartureCity> <ns3:ArrivalCity>EZE</ns3:ArrivalCity> <ns3:DepartureDate>2012-07-19</ns3:DepartureDate> <ns3:AssociatedTicketNumber>0452100255233</ns3:AssociatedTicketNumber> </ns3:Flight> <ns3:Fee> <ns3:FeeDetails code="789" description="SERV TERRESTRE HOTEL" quantity="2"> <ns3:Base currencyCode="CLP">50000</ns3:Base> <ns3:TotalTax currencyCode="CLP">2500</ns3:TotalTax> <ns3:Total currencyCode="CLP">52500</ns3:Total> </ns3:FeeDetails> <ns3:OptionalService taxable="true"/> <ns3:Tax code="XT"> <ns3:Amount currencyCode="CLP">2500</ns3:Amount> </ns3:Tax> </ns3:Fee> <ns3:Fee> <ns3:FeeDetails code="815" description="THIS IS A TOUR CODE" quantity="1"> <ns3:Base currencyCode="CLP">0</ns3:Base> <ns3:Total currencyCode="CLP">0</ns3:Total> </ns3:FeeDetails> </ns3:Fee> <ns3:Fee> <ns3:FeeDetails code="816" description="THIS IS REMARK 1" quantity="1">

Misc Web Services 19 March 2019 150 Confidential and Proprietary Sabre Airline Solutions

<ns3:Base currencyCode="CLP">0</ns3:Base> <ns3:Total currencyCode="CLP">0</ns3:Total> </ns3:FeeDetails> </ns3:Fee> <ns3:Fee> <ns3:FeeDetails code="816" description="THIS IS REMARK 2" quantity="1"> <ns3:Base currencyCode="CLP">0</ns3:Base> <ns3:Total currencyCode="CLP">0</ns3:Total> </ns3:FeeDetails> </ns3:Fee> <ns3:Endorsement>THIS IS AN ENDORSEMENT OF UP TO 60 CHARACTERS</ns3:Endorsement> </ns3:Grouped> </ns3:Fees> <ns4:TotalCost currencyCode="CLP" xmlns:ns4="http://services.sabre.com/STL/v01">52500</ns4:TotalCost> <ns5:Payment xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:Amount currencyCode="CLP">20000</ns5:Amount> <ns5:FormOfPayment> <ns5:Cash>CA</ns5:Cash> </ns5:FormOfPayment> </ns5:Payment> <ns6:Payment xmlns:ns6="http://services.sabre.com/STL/v01"> <ns6:Amount currencyCode="CLP">32500</ns6:Amount> <ns6:FormOfPayment> <ns6:CreditCard> <ns6:Code>BA</ns6:Code> <ns6:Number>XXXXXXXXX0006</ns6:Number> <ns6:ExpiryDate>1212</ns6:ExpiryDate> <ns6:SecurityCode>999</ns6:SecurityCode> <ns6:ApprovalCode>876543</ns6:ApprovalCode> <ns6:ExtendedPayCode>12</ns6:ExtendedPayCode> </ns6:CreditCard> </ns6:FormOfPayment> </ns6:Payment> <ns7:DetailLevel xmlns:ns7="http://services.sabre.com/STL/v01">Full</ns7:DetailLevel> </CollectMiscFeeRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header>

Misc Web Services 19 March 2019 151 Confidential and Proprietary Sabre Airline Solutions

<eb:MessageHeader eb:version="" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2001-02-15T 11:15:12Z</eb:Timestamp> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3928990789961345531!1833307!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CollectMiscFeeRS version="1.4.2" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="LA" dutyCode="4" lniata="7F1B08" sine="ZAK" xmlns="http://services.sabre.com/STL/v01"> <AAA>SCL</AAA> </AgentPOS> <Transaction code="MSR" xmlns="http://services.sabre.com/STL/v01"/> <Fees xmlns="http://services.sabre.com/STL/v01"> <Grouped> <Customer firstName="PAXONE" lastName="FOURTEEN"> <CustomerDetails nameRefNumber="1.1" pnrLocator="LIHITA"/>

Misc Web Services 19 March 2019 152 Confidential and Proprietary Sabre Airline Solutions

</Customer> <TicketNumber>0452100255233</TicketNumber> <Flight> <CarrierCode>XL</CarrierCode> <FlightNumber>7614</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>SCL</DepartureCity> <ArrivalCity>EZE</ArrivalCity> <DepartureDate>2012-07-19</DepartureDate> </Flight> <Fee> <FeeDetails code="789" description="SERV TERRESTRE HOTEL" quantity="2"> <Base currencyCode="CLP">50000</Base> <TotalTax currencyCode="CLP">2500</TotalTax> <Total currencyCode="CLP">52500</Total> </FeeDetails> <Tax code="XT" exempt="false"> <Amount currencyCode="CLP">2500</Amount> </Tax> <IssuedDocumentNumber couponNumber="1">0450610005966</IssuedDocumentNumber> </Fee> <Fee> <FeeDetails code="815" description="THIS IS A TOUR CODE" quantity="1"> <Base currencyCode="CLP">0</Base> <Total currencyCode="CLP">0</Total> </FeeDetails> <IssuedDocumentNumber couponNumber="2">0450610005966</IssuedDocumentNumber> </Fee> <Fee> <FeeDetails code="816" description="THIS IS REMARK 1" quantity="1"> <Base currencyCode="CLP">0</Base> <Total currencyCode="CLP">0</Total> </FeeDetails> <IssuedDocumentNumber couponNumber="3">0450610005966</IssuedDocumentNumber> </Fee> <Fee> <FeeDetails code="816" description="THIS IS REMARK 2" quantity="1">

Misc Web Services 19 March 2019 153 Confidential and Proprietary Sabre Airline Solutions

<Base currencyCode="CLP">0</Base> <Total currencyCode="CLP">0</Total> </FeeDetails> <IssuedDocumentNumber couponNumber="4">0450610005966</IssuedDocumentNumber> </Fee> <Endorsement>THIS IS AN ENDORSEMENT OF UP TO 60 CHARACTERS</Endorsement> </Grouped> </Fees> <TotalCost currencyCode="CLP" xmlns="http://services.sabre.com/STL/v01">52500</TotalCost> <Payment xmlns="http://services.sabre.com/STL/v01"> <Amount currencyCode="CLP">20000</Amount> <FormOfPayment> <Cash/> </FormOfPayment> </Payment> <Payment xmlns="http://services.sabre.com/STL/v01"> <Amount currencyCode="CLP">32500</Amount> <FormOfPayment> <CreditCard> <Code>BA</Code> <Number>XXXXXXXXX0006</Number> <ExpiryDate>1212</ExpiryDate> <SecurityCode>999</SecurityCode> <ApprovalCode>876543</ApprovalCode> <ExtendedPayCode>12</ExtendedPayCode> </CreditCard> </FormOfPayment> </Payment> </misc:CollectMiscFeeRS> </soap-env:Body> </soap-env:Envelope>

Misc Web Services 19 March 2019 154 Confidential and Proprietary Sabre Airline Solutions

2.15.2 Review PNR

LIHITA 1.1FOURTEEN/PAXONE 2.1FOURTEEN/PAXTWO 1 LA7614Y 19JUL Q SCLEZE HK2 240P 540P /E /OPERATED BY LAN ECUADOR AEROLANE SA /XL 7704Y/DDDWSP 2 LA4642Y 25JUL W EZESCL HK2 245P 405P /E /OPERATED BY LANARGENTINA TKT/TIME LIMIT 1.T-25APR-SCL4ZAK 2.TE 0452100255233 FOURT/P SCL4ZAK 1709/25APR 3.TE 0452100255234 FOURT/P SCL4ZAK 1709/25APR 4.TK 0450610005966 FOURT/P SCL4ZAK 1709/25APR VCR COUPON DATA EXISTS *VI TO DISPLAY PHONES 1.SCL123-1234 PRICE QUOTE RECORD EXISTS - *PQS LA FACTS 1.SSR DOCS LA HK1/DB/01MAY60/M/FOURTEEN/PAXONE 2.SSR DOCS LA HK1/DB/01MAY60/M/FOURTEEN/PAXTWO 3.SSR FOID LA HK1/PPUS9876543‡ 4.SSR FOID LA HK1/PPUS9876544 GENERAL FACTS 1.OSI XL CTCP SCL123 1234 REMARKS 1.H-02 SERV TERRESTRE HOTEL CLP 50000 2.H-01 THIS IS A TOUR CODE CLP 0 3.H-01 THIS IS REMARK 1 CLP 0 4.H-01 THIS IS REMARK 2 CLP 0 5.H- 0452100255233 OAC - LA SCL T1 8994000 SCL-SCL-T1.SCL4ZAK 1509/25APR12 LIHITA H

Misc Web Services 19 March 2019 155 Confidential and Proprietary Sabre Airline Solutions

2.15.3 Review MSR via Agent Sales Report

WY*4« MSR - MISCELLANEOUS RECORD AGNT:SCLZAK EMP:682606 PNR:LIHITA TKT:0450610005966 ISSUED:25APR12 CTY:SCL STA:89940001 NAME: FOURTEEN/PAXONE FOP:CASH AMT: CLP 20000 FOP:BA**********0006 AMT: CLP 32500 EXP:1212 APPV:876543 CPN A/L FLT CLS DATE BRDOFF 1 XL 7614 Y 19JUL SCL QTY COD ITEM/SVC COST TAX TOTAL 02 789 SERV TERRESTRE HOTEL 50000 2500 52500 01 815 THIS IS A TOUR CODE 0 0 0 01 816 THIS IS REMARK 1 0 0 0 01 816 THIS IS REMARK 2 0 0 0 COST : CLP 50000 2500XT TOTAL: CLP 52500 ISSUED IN CONNECTION WITH: 0452100255233 ENDORSEMENTS/RESTRICTIONS: THIS IS AN ENDORSEMENT OF UP TO 60 CHARACTERS END OF REPORT

Misc Web Services 19 March 2019 156 Confidential and Proprietary Sabre Airline Solutions

3 EMD MISC Web Service Scenarios

3.1 Web Services Included

The purpose of the scenarios in this guide is to provide a flow for the Ancillary EMD process using the MISC web service (CollectMiscFeeRQ). Web services used are:

• AncillaryPriceRQ (GetPriceListRQ)

• CDI (GetReservationRQ)

• CDI Service (UpdateReservationRQ)

• TicketingDocumentServiceRQ (GetTicketingDocumentRQ)

3.2 Native Sabre Examples

Ancillary EMD was developed for the web service, therefore there are few native Sabre entries that mirror the actions performed by the XML requests and responses. Native Sabre displays will appear in these scenarios only when applicable.

To find out more about EMD Ancillaries, refer to the user guide located on the Community Portal.

3.3 Current versions of Web Services For EMD

CollectMISCFeeRQ

1.4.1

CalculateTotalCostRQ

1.4.1

ExchangeDocumentForEMDRQ

1.4.1

WaiveMiscFeeRQ

1.4.1

3.4 Summary of changes from 1.3.5 to 1.4.1

3.4.1 1.3.7 to 1.4.1

• Project: EMD Maintenance

Misc Web Services 19 March 2019 157 Confidential and Proprietary Sabre Airline Solutions

o Modified //element(*,Fee.Linked)/FrequentFlyer/Number to accept alphanumeric values

3.4.2 1.3.6 to 1.3.7

• Modified optional element //element(*,Collect.MiscTransInfo)/PrinterLniata to accept special characters

3.4.3 1.3.5. to 1.3.6

• Added optional taxExempt and consumed (at issuance) attributes to IATAParameters sub element of OptionalService element.

<OptionalService RFIC="D" group="Miscellaneous Fees" name="BASIC PLAN INSURANCE 31TO60" segmentIndicator="S" subCode="B60" userFee="false"> <EmdType>Standalone</EmdType> <AirExtraItemNumber>25</AirExtraItemNumber> <OwningCarrierCode>EY</OwningCarrierCode> <IATAParameters consumed="N" refundable="Y" taxExempt="false"/> </OptionalService> • Added new optional element OperatingCarrierCode to //Fees/Linked/Fee/AssociatedFlight </ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="1"> <ns3:CarrierCode>PG</ns3:CarrierCode> <ns3:OperatingCarrierCode>PG</ns3:OperatingCarrierCode> <ns3:FlightNumber>0145</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>BKK</ns3:DepartureCity> <ns3:ArrivalCity>USM</ns3:ArrivalCity> <ns3:DepartureDate>2015-12-12</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="1">8292174705555</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> </ns3:Fee>

• Added new optional attribute //element(*,OptionalService)/@paper to indicate that Fee needs to be used to create special paper document

<OptionalService RFIC="C" bookingIndicator="SSR" group="Pets" name="EXTRA LARGE PET IN HOLD" paper="true" segmentIndicator="P" subCode="0A1" userFee="false">

• Project: AE Payments Allocations fix - to explicitly identify payment(s) being used for given service fee.

Note Added new optional element CollectMiscFeeRQ/STL:Fees/STL:Linked/STL:Fee/STL:FOPDetails with STL:FOP and STL:FOP/@paymentRefNumber

Note Added new optional attribute CollectMiscFeeRQ/STL:Payment/@refNumber

Misc Web Services 19 March 2019 158 Confidential and Proprietary Sabre Airline Solutions

3.5 EMD Associated (EMD-A) – Sector

The first scenario involves issuing 1 EMD for 1 passenger with two services sold which requires two coupons. It also involves a fee that was filed for a “Sector” of travel.

From the EMD Ancillary User Guide:

A Sector is a single service associated to a board and off point.

If a service is filed as a Sector, the EMD will have one coupon to correspond to the unit of travel (board and off point). Multiple services can be fulfilled under one EMD document and each coupon contains a value for that service. The total value of all services will be combined at the document level.

A sector is indicated in the XML by the following element:

<SegmentIndicator>S</SegmentIndicator>

The PNR has already been booked and ticketed.

3.5.1 Add AE Items to the PNR

The first step in the process is to add the AE items to the PNR.

3.5.1.1 Price Ancillary

Before you can add the AE items to the PNR, you need to send a request to gather all the pricing information. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

Note If you add a Group Code or Group Code and RFIC Sub Code you will have a smaller response returned by the web service. To obtain these codes contact ATPCO, or refer to their web site: http://info.atpco.net/download/OptionalSubCodes.pdf

3.5.1.2 Get Reservation

Next you need to obtain the reservation data in order to issue the EMD. For this function you use GetReservationRQ. It unpacks the PNR information, including any existing AE items. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

Native Sabre

A similar function in native Sabre is displaying the PNR.

*NGIZUK« NGIZUK 1.1EMD/SEAT 1 PG 145Y 12DEC J BKKUSM HK1 200P 305P /E

Misc Web Services 19 March 2019 159 Confidential and Proprietary Sabre Airline Solutions

2 PG 136Y 14DEC M USMBKK HK1 200P 305P /E TKT/TIME LIMIT 1.T-03SEP-BKK5TKT 2.TE 8292174705555 EMD/S BKK5TKT 0207/03SEP VCR COUPON DATA EXISTS *VI TO DISPLAY PRICE QUOTE RECORD EXISTS - *PQS PG FACTS 1.SSR DOCS PG HK1/DB/01MAY60/M/TEST/TEST BKK.HDQ5TKT 1407/02SEP15 NGIZUK H

3.5.1.3 Add AE Items

The next step is to add the AE item for the first segment. For this function you use UpdateReservationRQ. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/update_itinerary for more information and examples.

3.5.1.4 End and Redisplay PNR

You need to end the PNR to save the AE items you just added by ending the transaction. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/End_Transaction for more information and examples.

Native Sabre

Notice the Ancillary Exists field in the PNR below.

3.5.2 Get Ancillary Fee Information from PNR

The next step in the process is to obtain the reservation again, but his time it will include the AE items now in the PNR.

Misc Web Services 19 March 2019 160 Confidential and Proprietary Sabre Airline Solutions

Native Sabre

Below is the native Sabre entry and response when displaying the AE field from the PNR. The web service call below provides more information about the AE items than what you see in this display.

*AE« ANCILLARY SERVICES 1.WINDOW SEAT 1.1 EMD/SEAT STATUS - HD1/PAYMENT REQUIRED AMOUNT - 445THB TOTAL - 445THB FLIGHT - PG0145Y12DECBKKUSM DOC/CF - CPN - 2.WINDOW SEAT 1.1 EMD/SEAT STATUS - HD1/PAYMENT REQUIRED AMOUNT - 445THB TOTAL - 445THB FLIGHT - DOC/CF - CPN -

Web Services Call

You accomplish this in the web service by using another GetReservationRQ web service call. This time it pulls in the newly added AE items. GetReservationRQ was specifically developed to pull in AE information.

3.5.3 Issue EMD (CollectMiscFeeRQ)

The next step is to issue the EMD. For this function, the EMD process calls the Misc Web Service and uses the CollectMISCFeeRQ Please refer to https://developer.sabre.com/docs/read/soap_apis/air/fulfill/miscellaneous_sales_and_emd for information and examples.

Note This XML example uses credit card form of payment. When you have a credit card as payment, you need to request authorization via the PaymentRQ web service prior to the CollectMISCFee web service call.

Request

<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To>

Misc Web Services 19 March 2019 161 Confidential and Proprietary Sabre Airline Solutions

<ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2010-10-16</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3495485436968917758!756304!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CollectMiscFeeRQ version="1.4.1" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="PG" dutyCode="4" lniata="F27F26" sine="-NC" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>MSP</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="EMD" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Linked> <ns3:Customer firstName="SEAT" lastName="EMD"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="NGIZUK"/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="0B5" quantity="1"> <ns3:Base currencyCode="THB">445</ns3:Base> <ns3:Total currencyCode="THB">445</ns3:Total> </ns3:FeeDetails> <ns3:OptionalService RFIC="A" bookingIndicator="SSR" group="SA" name="WINDOW SEAT" segmentIndicator="S" subCode="0B5"> <ns3:EmdType>Associated</ns3:EmdType> <ns3:AirExtraItemNumber>15</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>PG</ns3:OwningCarrierCode> <ns3:Vendor>MMGR</ns3:Vendor> <ns3:IATAParameters commission="N" interline="N" refundable="Y"/>

Misc Web Services 19 March 2019 162 Confidential and Proprietary Sabre Airline Solutions

</ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="1"> <ns3:CarrierCode>PG</ns3:CarrierCode> <ns3:OperatingCarrierCode>PG</ns3:OperatingCarrierCode> <ns3:FlightNumber>0145</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>BKK</ns3:DepartureCity> <ns3:ArrivalCity>USM</ns3:ArrivalCity> <ns3:DepartureDate>2015-12-12</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="1">8292174705555</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> </ns3:Fee> <ns3:Fee> <ns3:FeeDetails code="0B5" quantity="1"> <ns3:Base currencyCode="THB">445</ns3:Base> <ns3:Total currencyCode="THB">445</ns3:Total> </ns3:FeeDetails> <ns3:OptionalService RFIC="A" bookingIndicator="SSR" group="SA" name="WINDOW SEAT" segmentIndicator="S" subCode="0B5"> <ns3:EmdType>Associated</ns3:EmdType> <ns3:AirExtraItemNumber>16</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>PG</ns3:OwningCarrierCode> <ns3:Vendor>MMGR</ns3:Vendor> <ns3:IATAParameters commission="N" interline="N" refundable="Y"/> </ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="2"> <ns3:CarrierCode>PG</ns3:CarrierCode> <ns3:OperatingCarrierCode>PG</ns3:OperatingCarrierCode> <ns3:FlightNumber>0136</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>USM</ns3:DepartureCity> <ns3:ArrivalCity>BKK</ns3:ArrivalCity> <ns3:DepartureDate>2015-12-14</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="2">8292174705555</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> </ns3:Fee> </ns3:Linked> </ns3:Fees> <ns4:TotalCost currencyCode="THB" xmlns:ns4="http://services.sabre.com/STL/v01">890</ns4:TotalCost> <ns5:Payment xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:Amount currencyCode="THB">890</ns5:Amount> <ns5:FormOfPayment>

Misc Web Services 19 March 2019 163 Confidential and Proprietary Sabre Airline Solutions

<ns5:CreditCard> <ns5:Code>BA</ns5:Code> <ns5:Number>xxxxxxxxxxxxxxx</ns5:Number> <ns5:ExpiryDate>xxxx</ns5:ExpiryDate> <ns5:ApprovalCode>BA5452</ns5:ApprovalCode> </ns5:CreditCard> </ns5:FormOfPayment> </ns5:Payment> <ns6:DetailLevel xmlns:ns6="http://services.sabre.com/STL/v01">Full</ns6:DetailLevel> </CollectMiscFeeRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Response

<?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2010-10-16</eb:Timestamp> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3495485436968917758!756304!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CollectMiscFeeRS version="1.4.1" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results messageId="TKTHLI700-31319-902633233-1441220885910-5193-misc" timeStamp="2015-09-02T14:08:05"> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus>

Misc Web Services 19 March 2019 164 Confidential and Proprietary Sabre Airline Solutions

<SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="PG" dutyCode="4" lniata="52E644" sine="-NC" xmlns="http://services.sabre.com/STL/v01"> <AAA>MSP</AAA> </AgentPOS> <Transaction code="EMD" xmlns="http://services.sabre.com/STL/v01"/> <Fees xmlns="http://services.sabre.com/STL/v01"> <Linked> <Customer firstName="SEAT" lastName="EMD"> <CustomerDetails nameRefNumber="1.1" pnrLocator="NGIZUK"/> </Customer> <Fee> <FeeDetails code="0B5" quantity="1"> <Base currencyCode="THB">445</Base> <Total currencyCode="THB">445</Total> </FeeDetails> <OptionalService RFIC="A" bookingIndicator="SSR" group="Pre-reserved Seat Assignments" name="WINDOW SEAT" segmentIndicator="S" subCode="0B5" userFee="false"> <EmdType>Associated</EmdType> <AirExtraItemNumber>15</AirExtraItemNumber> <OwningCarrierCode>PG</OwningCarrierCode> <Vendor>MMGR</Vendor> <IATAParameters commission="N" consumed="N/A" interline="N" refundable="Y" taxExempt="false"/> </OptionalService> <AssociatedFlight segmentID="0" segmentNumber="1"> <CarrierCode>PG</CarrierCode> <OperatingCarrierCode>PG</OperatingCarrierCode> <FlightNumber>145</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>BKK</DepartureCity> <ArrivalCity>USM</ArrivalCity> <DepartureDate>2015-12-12</DepartureDate> <AssociatedTicketNumber couponNumber="1">8292174705555</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="1">8298200268284</IssuedDocumentNumber>

Misc Web Services 19 March 2019 165 Confidential and Proprietary Sabre Airline Solutions

</AssociatedFlight> </Fee> <Fee> <FeeDetails code="0B5" quantity="1"> <Base currencyCode="THB">445</Base> <Total currencyCode="THB">445</Total> </FeeDetails> <OptionalService RFIC="A" bookingIndicator="SSR" group="Pre-reserved Seat Assignments" name="WINDOW SEAT" segmentIndicator="S" subCode="0B5" userFee="false"> <EmdType>Associated</EmdType> <AirExtraItemNumber>16</AirExtraItemNumber> <OwningCarrierCode>PG</OwningCarrierCode> <Vendor>MMGR</Vendor> <IATAParameters commission="N" consumed="N/A" interline="N" refundable="Y" taxExempt="false"/> </OptionalService> <AssociatedFlight segmentID="0" segmentNumber="2"> <CarrierCode>PG</CarrierCode> <OperatingCarrierCode>PG</OperatingCarrierCode> <FlightNumber>136</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>USM</DepartureCity> <ArrivalCity>BKK</ArrivalCity> <DepartureDate>2015-12-14</DepartureDate> <AssociatedTicketNumber couponNumber="2">8292174705555</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="1">8298200268285</IssuedDocumentNumber> </AssociatedFlight> </Fee> </Linked> </Fees> <TotalCost currencyCode="THB" xmlns="http://services.sabre.com/STL/v01">890</TotalCost> <Payment xmlns="http://services.sabre.com/STL/v01"> <Amount currencyCode="THB">890</Amount> <FormOfPayment> <CreditCard> <Code>BA</Code> <Number>xxxxxxxxxxxxxxx</Number> <ExpiryDate>xxxx</ExpiryDate> <ApprovalCode>BA5452</ApprovalCode> </CreditCard> </FormOfPayment> </Payment> </misc:CollectMiscFeeRS>

Misc Web Services 19 March 2019 166 Confidential and Proprietary Sabre Airline Solutions

</soap-env:Body> </soap-env:Envelope>

The MISC web service performs an internal end transaction after issuing a document, thus it is not necessary to insert an End Transaction in your web service calls.

3.5.4 Display the EMD

Now you can display the newly issued EMD.

Native Sabre

Below is the native Sabre entry and response to display an EMD.

WEMD*8298200268284 ELECTRONIC MISCELLANEOUS DOCUMENT - A/ASSOCIATED 8298200268284 NAME-EMD/SEAT TTL NBR OF CPNS-01 DATE OF ISSUE-03SEP15 PNR-NGIZUK REASON FOR ISSUANCE CODE-A/AIR TRANSPORTATION CPN A/L BRDOFF RFISC STAT 1 PG BKKUSM 0B5 OK BASE VALUE THB 445 TOTAL VALUE THB 445 FORM OF PAYMENT FOP- BA************0002 445 APP CODE-BA5452 DATE OF ISSUE-03SEP15 ISSUED AT-BKKTO ISSUED IN CONNECTION WITH - 8292174705555 **** VALUE COUPONS DETAILS **** CPN 01 OF 01 CPN A/L BRDOFF RFISC STAT QTY 01 PG BKKUSM 0B5 OK 1 REASON FOR ISSUANCE SUB CODE-0B5/WINDOW SEAT AE ITEM FILING SOURCE-MMGR IN CONNECTION WITH DOCUMENT-8292174705555/1 ASSOCIATED CPN BASE VALUE THB 445 CPN TOTAL VALUE THB 445

Web Service Calls

To display the EMD use GetTicketingDocumentRQ. Please refer to https://developer.sabre.com/docs/soap_apis/air/fulfill/get_ticket_doc_details for more information and examples.

Request

<dc:GetTicketingDocumentRQ Version="3.12.0" xmlns:dc="http://www.sabre.com/ns/Ticketing/DC" xmlns:STL="http://services.sabre.com/STL/v01"> <STL:STL_Header.RQ/>

Misc Web Services 19 March 2019 167 Confidential and Proprietary Sabre Airline Solutions

<STL:POS/> <dc:SearchParameters> <dc:TicketingProvider>PG</dc:TicketingProvider> <dc:DocumentNumber>8298200268284</dc:DocumentNumber> </dc:SearchParameters> </dc:GetTicketingDocumentRQ>

Response

<?xml version="1.0" encoding="UTF-8"?> <TT:GetTicketingDocumentRS xmlns:TT="http://www.sabre.com/ns/Ticketing/DC" Version="3.12.0"> <STL:STL_Header.RS xmlns:STL="http://services.sabre.com/STL/v01" messageID="TKTHLI700-31319-902633233-1441307611224-6699-tktdoc" timeStamp="2015-09-03T14:13:31"> <OrchestrationID xmlns="http://services.sabre.com/STL/v01" seq="1">TKTHLI700-31319-902633233-1441307611224-6699-tktdoc</OrchestrationID> <DiagnosticData xmlns="http://services.sabre.com/STL/v01">Found</DiagnosticData> <STL:Results> <Success xmlns="http://services.sabre.com/STL/v01"> <System>T2</System> <Source>DocumentServices</Source> </Success> </STL:Results> </STL:STL_Header.RS> <TT:Details> <TT:Agent duty="5" sine="TKT" type="KSK"> <ns2:TicketingProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC" checkDigit="3" name="BANGKOK AIRWAYS" number="829">PG</ns2:TicketingProvider> <ns2:StationLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">BKKTO</ns2:StationLocation> <ns2:StationNumber xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">35391355</ns2:StationNumber> <ns2:WorkLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">BKK</ns2:WorkLocation> <ns2:HomeLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">HDQ</ns2:HomeLocation> <ns2:Lniata xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">52E644</ns2:Lniata> <ns2:IsoCountryCode xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">TH</ns2:IsoCountryCode> <ns2:CompanyName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">BANGKOK AIRWAYS</ns2:CompanyName> <ns2:Name xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">S TESTING</ns2:Name> <ns2:FirstName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">S </ns2:FirstName> <ns2:LastName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">TESTING</ns2:LastName> <ns2:EmployeeNumber xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">0590000</ns2:EmployeeNumber> <ns2:ShiftStartDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-03T01:41:57</ns2:ShiftStartDateTime> <ns2:Session xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC"> <ns2:AgentOpenType>AGT</ns2:AgentOpenType>

Misc Web Services 19 March 2019 168 Confidential and Proprietary Sabre Airline Solutions

<ns2:StationOpenType>DCP</ns2:StationOpenType> </ns2:Session> </TT:Agent> <TT:TransactionInfo actionType="" category="C" code="" sequence="1" type="SALE"> <ns2:TCN xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">10252532421</ns2:TCN> <ns2:LocalDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-03T02:08:07</ns2:LocalDateTime> <ns2:SystemDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-02T14:08:07</ns2:SystemDateTime> <ns2:SystemProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">PG</ns2:SystemProvider> <ns2:InputEntry xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VIA MISC WEBSERVICES</ns2:InputEntry> </TT:TransactionInfo> <TT:ElectronicMiscDocument accountingCode="829" checkDigit="3" formNumber="820" number="8298200268284" serialNumber="0268284" type="EMD"> <TT:Indicators commisionable="false" electronic="true" historical="false" interlineable="false" refundable="Y"/> <TT:Details> <TT:Reservation> <TT:Sabre createDate="2015-09-02T14:07:00" provider="PG">NGIZUK</TT:Sabre> </TT:Reservation> <ns2:SystemCreateDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-02T14:08:07</ns2:SystemCreateDateTime> <ns2:LocalIssueDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-03T02:08:07</ns2:LocalIssueDateTime> <ns2:LastUpdate xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-02T14:08:07</ns2:LastUpdate> <ns2:ValidatingProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC" checkDigit="3" name="BANGKOK AIRWAYS" number="829">PG</ns2:ValidatingProvider> <ns2:ElectronicMiscType xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">A</ns2:ElectronicMiscType> <ns2:ReasonForIssue xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">A</ns2:ReasonForIssue> </TT:Details> <TT:Customer> <TT:Traveler> <ns2:Name xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">EMD/SEAT</ns2:Name> <ns2:FirstName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">SEAT</ns2:FirstName> <ns2:LastName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">EMD</ns2:LastName> </TT:Traveler> <ns2:Purchaser xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC"> <ns2:Name>EMD/SEAT</ns2:Name> <ns2:FirstName>SEAT</ns2:FirstName> <ns2:LastName>EMD</ns2:LastName> </ns2:Purchaser> </TT:Customer> <TT:Miscellaneous>

Misc Web Services 19 March 2019 169 Confidential and Proprietary Sabre Airline Solutions

<TT:Fee coupon="1" description="WINDOW SEAT" quantity="1"> <TT:Base> <TT:Amount currencyCode="THB" decimalPlace="0">445</TT:Amount> <ns2:Text xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">445</ns2:Text> </TT:Base> <TT:TotalTax> <TT:Amount currencyCode="THB" decimalPlace="0">0</TT:Amount> <ns2:Text xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">0</ns2:Text> </TT:TotalTax> <TT:Total> <TT:Amount currencyCode="THB" decimalPlace="0">445</TT:Amount> <ns2:Text xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">445</ns2:Text> </TT:Total> </TT:Fee> <TT:OptionalService filingSource="MMGR" group="SA" journeyType="S" reason="0B5"> <TT:FeeProvider>PG</TT:FeeProvider> <TT:Indicators consumed=" " feeOverride="false" taxExempt="false"/> </TT:OptionalService> <TT:ServiceCoupon coupon="1"> <ns2:MarketingProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">PG</ns2:MarketingProvider> <ns2:MarketingFlightNumber xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">145</ns2:MarketingFlightNumber> <ns2:OperatingProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">PG</ns2:OperatingProvider> <ns2:ClassOfService xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">Y</ns2:ClassOfService> <TT:StartLocation>BKK</TT:StartLocation> <ns2:StartDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-12-12T00:00:00</ns2:StartDateTime> <ns2:EndLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">USM</ns2:EndLocation> <TT:CurrentStatus>OK</TT:CurrentStatus> <ns2:AssociatedFareBasis xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">Y</ns2:AssociatedFareBasis> </TT:ServiceCoupon> <TT:AssociatedTicketNumber associationType="A" checkDigit="6" couponNumber="1">8292174705555</TT:AssociatedTicketNumber> </TT:Miscellaneous> <TT:Amounts> <TT:New> <ns2:Base xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC"> <ns2:Amount currencyCode="THB" decimalPlace="0">445</ns2:Amount> <ns2:Text>445</ns2:Text> <ns2:ApplyCreditInd>false</ns2:ApplyCreditInd> </ns2:Base> <TT:Total>

Misc Web Services 19 March 2019 170 Confidential and Proprietary Sabre Airline Solutions

<ns2:Amount xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC" currencyCode="THB" decimalPlace="0">445</ns2:Amount> <ns2:Text xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">445</ns2:Text> <ns2:ApplyCreditInd xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">false</ns2:ApplyCreditInd> </TT:Total> </TT:New> </TT:Amounts> <TT:ValueCalculation/> <TT:RelatedDocument> <ns2:Miscellaneous xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC" sequence="1"> <ns2:Number>8292174705555</ns2:Number> <ns2:CheckDigit>6</ns2:CheckDigit> </ns2:Miscellaneous> </TT:RelatedDocument> <TT:Payment paymentConfirmation="false" sequence="1" type="CC"> <TT:Base> <TT:Amount currencyCode="THB" decimalPlace="0">445</TT:Amount> <ns2:ApplyCreditInd xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">false</ns2:ApplyCreditInd> </TT:Base> <TT:Total> <TT:Amount currencyCode="THB" decimalPlace="0">445</TT:Amount> <ns2:ApplyCreditInd xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">false</ns2:ApplyCreditInd> </TT:Total> <ns2:Remarks xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">CC</ns2:Remarks> <TT:Card cardType="BA"> <ns2:MaskedCardNumber xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">XXXXXXXXXXXX0002</ns2:MaskedCardNumber> <ns2:ExpireDate xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">xxxx</ns2:ExpireDate> <TT:ApprovalCode>BA5452</TT:ApprovalCode> <ns2:CardBinNumber xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">xxxxxx</ns2:CardBinNumber> </TT:Card> </TT:Payment> <TT:History code="OC" number="9" sequence="1"> <TT:Agent duty="5" sine="TKT"> <ns2:TicketingProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">PG</ns2:TicketingProvider> <ns2:WorkLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">BKK</ns2:WorkLocation> <ns2:HomeLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">HDQ</ns2:HomeLocation> </TT:Agent> <TT:TransactionInfo> <ns2:LocalDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-03T02:08:07</ns2:LocalDateTime>

Misc Web Services 19 March 2019 171 Confidential and Proprietary Sabre Airline Solutions

<ns2:SystemDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-02T14:08:07</ns2:SystemDateTime> <ns2:SystemProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">PG</ns2:SystemProvider> <ns2:InputMessage xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VIA MISC WEBSERVICES</ns2:InputMessage> </TT:TransactionInfo> <TT:Details> <ns2:SupportingDocument xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">8298200268284</ns2:SupportingDocument> <ns2:OldReservation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">NGIZUK</ns2:OldReservation> <ns2:AffectedCoupons xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">01</ns2:AffectedCoupons> </TT:Details> <ns2:ServiceCouponHistory xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC" coupon="1" sequence="1"> <ns2:CurrentStatus>OK</ns2:CurrentStatus> <ns2:InConnectionDocument couponNumber="1">8292174705555</ns2:InConnectionDocument> </ns2:ServiceCouponHistory> </TT:History> </TT:ElectronicMiscDocument> </TT:Details> </TT:GetTicketingDocumentRS>

Misc Web Services 19 March 2019 172 Confidential and Proprietary Sabre Airline Solutions

3.6 EMD Associated (EMD-A) – Portion of Travel

This scenario demonstrates an EMD issued where a “portion” of travel was filed for CPT-DUR-CPT.

From the Ancillary EMD user guide:

A Portion is a single service associated to a unit of travel which is comprised of multiple board and off points (journey of travel).

If a service is filed as a Portion of Travel, the EMD will have one coupon to correspond to each board and off point of the unit of travel, up to a maximum of four coupons.

A Portion is indicated in the XML by the following element:

<SegmentIndicator>P</SegmentIndicator>

Here is the display of the PNR and itinerary in native Sabre. It is already ticketed.

AWQXHD 1.1PASSENGER/PORTION 1 MN 701Y 26OCT F CPTDUR HK1 1035A 1240P /E /OPERATED BY COMAIR 2 MN 704Y 28OCT S DURCPT HK1 1210P 215P /E /OPERATED BY COMAIR TKT/TIME LIMIT 1.T-17JUL-CPT5WWW 2.TE 1612100000654 PASSE/P CPT5WWW 2129/17JUL VCR COUPON DATA EXISTS *VI TO DISPLAY PRICE QUOTE RECORD EXISTS - *PQS MN FACTS 1.SSR DOCS MN HK1/DB/29DEC1975/F/EMDSFOURCPNS/TESTFOUR CPT.VGQ5WWW 1429/17JUL12 AWQXHD H

3.6.1 Add AE Items to the PNR

The first step in the process is to add the AE items to the PNR.

3.6.1.1 Price Ancillary

Before you can add the AE items to the PNR, you need to send a request to gather all the pricing information. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

Note If you add a Group Code or Group Code and Rfic Sub Code you will have a smaller response returned by the web service. To obtain these codes contact ATPCO, or refer to their web site: http://info.atpco.net/download/OptionalSubCodes.pdf

Misc Web Services 19 March 2019 173 Confidential and Proprietary Sabre Airline Solutions

3.6.1.2 Get Reservation

Next you need to obtain the reservation data in order to issue the EMD. For this function you use GetReservationRQ. It unpacks the PNR information, including any existing AE items. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

3.6.1.3 Add AE Items

The next step is to add the AE items. For this function you use UpdateReservationRQ. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/update_itinerary for more information and examples.

3.6.1.4 End and Redisplay PNR

You need to end the PNR to save the AE items you just added by ending the transaction. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/End_Transaction for more information and examples.

3.6.1 Get Ancillary Fee Information from PNR

The next step in the process is to obtain the reservation again, but his time it will include the AE items now in the PNR.

Web Services Call

You accomplish this in the web service by using another GetReservationRQ web service call. This time it pulls in the newly added AE items. GetReservationRQ was specifically developed to pull in AE information.

3.6.2 Issue EMD (CollectMiscFeeRQ)

In this step you issue the EMD by calling the MISC web service and uses the CollectMISCFeeRQ. Please refer to https://developer.sabre.com/docs/read/soap_apis/air/fulfill/miscellaneous_sales_and_emd for information and examples.

Note This XML example uses credit card form of payment. When you have a credit card as payment, you need to request authorization via the PaymentRQ web service prior to the CollectMISCFee web service call.

Request

<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From>

Misc Web Services 19 March 2019 174 Confidential and Proprietary Sabre Airline Solutions

<ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2010-10-16</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3495489123101871451!1732561!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CollectMiscFeeRQ version="1.4.1" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="PG" dutyCode="4" lniata="F27F26" sine="-NC" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>MSP</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="EMD" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Linked> <ns3:Customer firstName="PORTION" lastName="EMD"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="FRKTKB"/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="0G0" quantity="1"> <ns3:Base currencyCode="THB">485</ns3:Base> <ns3:Total currencyCode="THB">485</ns3:Total> </ns3:FeeDetails> <ns3:OptionalService RFIC="C" bookingIndicator="SSR" group="BG" name="SURFBOARD" segmentIndicator="P" subCode="0G0"> <ns3:EmdType>Associated</ns3:EmdType> <ns3:AirExtraItemNumber>15</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>PG</ns3:OwningCarrierCode> <ns3:Vendor>MMGR</ns3:Vendor> <ns3:IATAParameters commission="Y" interline="N"

Misc Web Services 19 March 2019 175 Confidential and Proprietary Sabre Airline Solutions

refundable="Y"/> </ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="1"> <ns3:CarrierCode>PG</ns3:CarrierCode> <ns3:OperatingCarrierCode>PG</ns3:OperatingCarrierCode> <ns3:FlightNumber>0139</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>BKK</ns3:DepartureCity> <ns3:ArrivalCity>USM</ns3:ArrivalCity> <ns3:DepartureDate>2015-12-12</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="1">8292174705686</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> <ns3:AssociatedFlight segmentNumber="1"> <ns3:CarrierCode>PG</ns3:CarrierCode> <ns3:OperatingCarrierCode>PG</ns3:OperatingCarrierCode> <ns3:FlightNumber>0136</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>USM</ns3:DepartureCity> <ns3:ArrivalCity>BKK</ns3:ArrivalCity> <ns3:DepartureDate>2015-12-14</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="2">8292174705686</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> </ns3:Fee> </ns3:Linked> </ns3:Fees> <ns4:TotalCost currencyCode="THB" xmlns:ns4="http://services.sabre.com/STL/v01">485</ns4:TotalCost> <ns5:Payment xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:Amount currencyCode="THB">485</ns5:Amount> <ns5:FormOfPayment> <ns5:CreditCard> <ns5:Code>BA</ns5:Code> <ns5:Number>xxxxxxxxxxxxxxx</ns5:Number> <ns5:ExpiryDate>1216</ns5:ExpiryDate> <ns5:ApprovalCode>X85290</ns5:ApprovalCode> </ns5:CreditCard> </ns5:FormOfPayment> </ns5:Payment> <ns6:DetailLevel xmlns:ns6="http://services.sabre.com/STL/v01">Full</ns6:DetailLevel> </CollectMiscFeeRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Response

<?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version=""

Misc Web Services 19 March 2019 176 Confidential and Proprietary Sabre Airline Solutions

xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2010-10-16</eb:Timestamp> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3495489123101871451!1732561!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CollectMiscFeeRS version="1.4.1" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results messageId="TKTHLI700-31319-902633233-1441219948866-5177-misc" timeStamp="2015-09-02T13:52:28"> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="PG" dutyCode="4" lniata="2C7542" sine="-NC" xmlns="http://services.sabre.com/STL/v01"> <AAA>MSP</AAA> </AgentPOS> <Transaction code="EMD" xmlns="http://services.sabre.com/STL/v01"/> <Fees xmlns="http://services.sabre.com/STL/v01"> <Linked> <Customer firstName="PORTION" lastName="EMD"> <CustomerDetails nameRefNumber="1.1" pnrLocator="FRKTKB"/>

Misc Web Services 19 March 2019 177 Confidential and Proprietary Sabre Airline Solutions

</Customer> <Fee> <FeeDetails code="0G0" quantity="1"> <Base currencyCode="THB">485</Base> <Total currencyCode="THB">485</Total> </FeeDetails> <OptionalService RFIC="C" bookingIndicator="SSR" group="Baggage" name="SURFBOARD" segmentIndicator="P" subCode="0G0" userFee="false"> <EmdType>Associated</EmdType> <AirExtraItemNumber>15</AirExtraItemNumber> <OwningCarrierCode>PG</OwningCarrierCode> <Vendor>MMGR</Vendor> <IATAParameters commission="Y" consumed="N/A" interline="N" refundable="Y" taxExempt="false"/> </OptionalService> <AssociatedFlight segmentID="0" segmentNumber="1"> <CarrierCode>PG</CarrierCode> <OperatingCarrierCode>PG</OperatingCarrierCode> <FlightNumber>139</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>BKK</DepartureCity> <ArrivalCity>USM</ArrivalCity> <DepartureDate>2015-12-12</DepartureDate> <AssociatedTicketNumber couponNumber="1">8292174705686</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="1">8298200268282</IssuedDocumentNumber> </AssociatedFlight> <AssociatedFlight segmentID="0" segmentNumber="2"> <CarrierCode>PG</CarrierCode> <OperatingCarrierCode>PG</OperatingCarrierCode> <FlightNumber>136</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>USM</DepartureCity> <ArrivalCity>BKK</ArrivalCity> <DepartureDate>2015-12-14</DepartureDate> <AssociatedTicketNumber couponNumber="2">8292174705686</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="2">8298200268282</IssuedDocumentNumber> </AssociatedFlight> </Fee> </Linked> </Fees> <TotalCost currencyCode="THB" xmlns="http://services.sabre.com/STL/v01">485</TotalCost>

Misc Web Services 19 March 2019 178 Confidential and Proprietary Sabre Airline Solutions

<Payment xmlns="http://services.sabre.com/STL/v01"> <Amount currencyCode="THB">485</Amount> <FormOfPayment> <CreditCard> <Code>BA</Code> <Number>xxxxxxxxxxxxxxx</Number> <ExpiryDate>xxxx</ExpiryDate> <ApprovalCode>X85290</ApprovalCode> </CreditCard> </FormOfPayment> </Payment> </misc:CollectMiscFeeRS> </soap-env:Body> </soap-env:Envelope>

Misc Web Services 19 March 2019 179 Confidential and Proprietary Sabre Airline Solutions

3.6.3 Display the EMD

After the web service has issued the EMD, you can display it.

Native Sabre

Below is the entry and response in native Sabre when you use the EMD document number .

WEMD*829200268282 « ELECTRONIC MISCELLANEOUS DOCUMENT - A/ASSOCIATED 8298200268282 NAME-EMD/PORTION TTL NBR OF CPNS-02 DATE OF ISSUE-03SEP15 PNR-FRKTKB REASON FOR ISSUANCE CODE-C/BAGGAGE CPN A/L BRDOFF RFISC STAT 1 PG BKKUSM 0G0 OK 2 PG USMBKK 0G0 OK BASE VALUE THB 485 TOTAL VALUE THB 485 VALUE CALC BKK PG X/USM PG BKKTHB485END FORM OF PAYMENT FOP- BA************1111 485 APP CODE-X85290 DATE OF ISSUE-03SEP15 ISSUED AT-BKKTO ISSUED IN CONNECTION WITH - 8292174705686 **** VALUE COUPONS DETAILS **** CPN 01 OF 02 CPN A/L BRDOFF RFISC STAT QTY 01 PG BKKUSM 0G0 OK 1 REASON FOR ISSUANCE SUB CODE-0G0/SURFBOARD AE ITEM FILING SOURCE-MMGR IN CONNECTION WITH DOCUMENT-8292174705686/1 ASSOCIATED CPN BASE VALUE THB 0 CPN TOTAL VALUE THB 0 CPN 02 OF 02 CPN A/L BRDOFF RFISC STAT QTY 02 PG USMBKK 0G0 OK 1 REASON FOR ISSUANCE SUB CODE-0G0/SURFBOARD AE ITEM FILING SOURCE-MMGR IN CONNECTION WITH DOCUMENT-8292174705686/2 ASSOCIATED CPN BASE VALUE THB 485 CPN TOTAL VALUE THB 485

Misc Web Services 19 March 2019 180 Confidential and Proprietary Sabre Airline Solutions

Web Service Calls

To display the EMD use GetTicketingDocumentRQ. Please refer to https://developer.sabre.com/docs/soap_apis/air/fulfill/get_ticket_doc_details for more information and examples.

Request

<dc:GetTicketingDocumentRQ Version="3.12.0" xmlns:dc="http://www.sabre.com/ns/Ticketing/DC" xmlns:STL="http://services.sabre.com/STL/v01"> <STL:STL_Header.RQ/> <STL:POS/> <dc:SearchParameters> <dc:TicketingProvider>PG</dc:TicketingProvider> <dc:DocumentNumber>8298200268282</dc:DocumentNumber> </dc:SearchParameters> </dc:GetTicketingDocumentRQ>

Response

<?xml version="1.0" encoding="UTF-8"?> <TT:GetTicketingDocumentRS xmlns:TT="http://www.sabre.com/ns/Ticketing/DC" Version="3.12.0"> <STL:STL_Header.RS xmlns:STL="http://services.sabre.com/STL/v01" messageID="TKTHLI700-31319-902633233-1441312094405-6752-tktdoc" timeStamp="2015-09-03T15:28:14"> <OrchestrationID xmlns="http://services.sabre.com/STL/v01" seq="1">TKTHLI700-31319-902633233-1441312094405-6752-tktdoc</OrchestrationID> <DiagnosticData xmlns="http://services.sabre.com/STL/v01">Found</DiagnosticData> <STL:Results> <Success xmlns="http://services.sabre.com/STL/v01"> <System>T2</System> <Source>DocumentServices</Source> </Success> </STL:Results> </STL:STL_Header.RS> <TT:Details> <TT:Agent duty="5" sine="TKT" type="KSK"> <ns2:TicketingProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC" checkDigit="3" name="BANGKOK AIRWAYS" number="829">PG</ns2:TicketingProvider> <ns2:StationLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">BKKTO</ns2:StationLocation> <ns2:StationNumber xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">35391355</ns2:StationNumber> <ns2:WorkLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">BKK</ns2:WorkLocation> <ns2:HomeLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">HDQ</ns2:HomeLocation> <ns2:Lniata xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2C7542</ns2:Lniata> <ns2:IsoCountryCode xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">TH</ns2:IsoCountryCode> <ns2:CompanyName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">BANGKOK AIRWAYS</ns2:CompanyName> <ns2:Name xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">S TESTING</ns2:Name>

Misc Web Services 19 March 2019 181 Confidential and Proprietary Sabre Airline Solutions

<ns2:FirstName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">S </ns2:FirstName> <ns2:LastName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">TESTING</ns2:LastName> <ns2:EmployeeNumber xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">0590000</ns2:EmployeeNumber> <ns2:ShiftStartDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-03T01:41:57</ns2:ShiftStartDateTime> <ns2:Session xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC"> <ns2:AgentOpenType>AGT</ns2:AgentOpenType> <ns2:AgentCloseType>AGT</ns2:AgentCloseType> <ns2:StationOpenType>DCP</ns2:StationOpenType> </ns2:Session> </TT:Agent> <TT:TransactionInfo actionType="" category="C" code="" sequence="1" type="SALE"> <ns2:TCN xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">00310980926</ns2:TCN> <ns2:LocalDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-03T01:52:30</ns2:LocalDateTime> <ns2:SystemDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-02T13:52:30</ns2:SystemDateTime> <ns2:SystemProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">PG</ns2:SystemProvider> <ns2:InputEntry xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VIA MISC WEBSERVICES</ns2:InputEntry> </TT:TransactionInfo> <TT:ElectronicMiscDocument accountingCode="829" checkDigit="1" formNumber="820" number="8298200268282" serialNumber="0268282" type="EMD"> <TT:Indicators commisionable="true" electronic="true" historical="false" interlineable="false" refundable="Y"/> <TT:Details> <TT:Reservation> <TT:Sabre createDate="2015-09-02T13:52:00" provider="PG">FRKTKB</TT:Sabre> </TT:Reservation> <ns2:SystemCreateDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-02T13:52:30</ns2:SystemCreateDateTime> <ns2:LocalIssueDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-03T01:52:30</ns2:LocalIssueDateTime> <ns2:LastUpdate xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-02T13:52:30</ns2:LastUpdate> <ns2:ValidatingProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC" checkDigit="3" name="BANGKOK AIRWAYS" number="829">PG</ns2:ValidatingProvider> <ns2:ElectronicMiscType xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">A</ns2:ElectronicMiscType> <ns2:ReasonForIssue xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">C</ns2:ReasonForIssue> </TT:Details> <TT:Customer> <TT:Traveler> <ns2:Name xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">EMD/PORTION</ns2:Name>

Misc Web Services 19 March 2019 182 Confidential and Proprietary Sabre Airline Solutions

<ns2:FirstName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">PORTION</ns2:FirstName> <ns2:LastName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">EMD</ns2:LastName> </TT:Traveler> <ns2:Purchaser xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC"> <ns2:Name>EMD/PORTION</ns2:Name> <ns2:FirstName>PORTION</ns2:FirstName> <ns2:LastName>EMD</ns2:LastName> </ns2:Purchaser> </TT:Customer> <TT:Miscellaneous> <TT:Fee coupon="1" description="SURFBOARD" quantity="1"> <TT:Base> <TT:Amount currencyCode="THB" decimalPlace="0">0</TT:Amount> <ns2:Text xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">0</ns2:Text> </TT:Base> <TT:TotalTax> <TT:Amount currencyCode="THB" decimalPlace="0">0</TT:Amount> <ns2:Text xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">0</ns2:Text> </TT:TotalTax> <TT:Total> <TT:Amount currencyCode="THB" decimalPlace="0">0</TT:Amount> <ns2:Text xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">0</ns2:Text> </TT:Total> </TT:Fee> <TT:OptionalService filingSource="MMGR" group="BG" journeyType="P" reason="0G0"> <TT:FeeProvider>PG</TT:FeeProvider> <TT:Indicators consumed=" " feeOverride="false" taxExempt="false"/> </TT:OptionalService> <TT:ServiceCoupon coupon="1"> <ns2:MarketingProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">PG</ns2:MarketingProvider> <ns2:MarketingFlightNumber xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">139</ns2:MarketingFlightNumber> <ns2:OperatingProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">PG</ns2:OperatingProvider> <ns2:ClassOfService xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">Y</ns2:ClassOfService> <TT:StartLocation>BKK</TT:StartLocation> <ns2:StartDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-12-12T00:00:00</ns2:StartDateTime> <ns2:EndLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">USM</ns2:EndLocation> <TT:CurrentStatus>OK</TT:CurrentStatus> <ns2:AssociatedFareBasis xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">Y</ns2:AssociatedFareBasis> </TT:ServiceCoupon>

Misc Web Services 19 March 2019 183 Confidential and Proprietary Sabre Airline Solutions

<TT:AssociatedTicketNumber associationType="A" checkDigit="4" couponNumber="1">8292174705686</TT:AssociatedTicketNumber> </TT:Miscellaneous> <TT:Miscellaneous> <TT:Fee coupon="2" description="SURFBOARD" quantity="1"> <TT:Base> <TT:Amount currencyCode="THB" decimalPlace="0">485</TT:Amount> <ns2:Text xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">485</ns2:Text> </TT:Base> <TT:TotalTax> <TT:Amount currencyCode="THB" decimalPlace="0">0</TT:Amount> <ns2:Text xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">0</ns2:Text> </TT:TotalTax> <TT:Total> <TT:Amount currencyCode="THB" decimalPlace="0">485</TT:Amount> <ns2:Text xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">485</ns2:Text> </TT:Total> </TT:Fee> <TT:OptionalService filingSource="MMGR" group="BG" journeyType="P" reason="0G0"> <TT:FeeProvider>PG</TT:FeeProvider> <TT:Indicators consumed=" " feeOverride="false" taxExempt="false"/> </TT:OptionalService> <TT:ServiceCoupon coupon="2"> <ns2:MarketingProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">PG</ns2:MarketingProvider> <ns2:MarketingFlightNumber xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">136</ns2:MarketingFlightNumber> <ns2:OperatingProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">PG</ns2:OperatingProvider> <ns2:ClassOfService xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">Y</ns2:ClassOfService> <TT:StartLocation>USM</TT:StartLocation> <ns2:StartDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-12-14T00:00:00</ns2:StartDateTime> <ns2:EndLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">BKK</ns2:EndLocation> <TT:CurrentStatus>OK</TT:CurrentStatus> <ns2:AssociatedFareBasis xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">Y</ns2:AssociatedFareBasis> </TT:ServiceCoupon> <TT:AssociatedTicketNumber associationType="A" checkDigit="4" couponNumber="2">8292174705686</TT:AssociatedTicketNumber> </TT:Miscellaneous> <TT:Amounts> <TT:New> <ns2:Base xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC"> <ns2:Amount currencyCode="THB" decimalPlace="0">485</ns2:Amount> <ns2:Text>485</ns2:Text>

Misc Web Services 19 March 2019 184 Confidential and Proprietary Sabre Airline Solutions

<ns2:ApplyCreditInd>false</ns2:ApplyCreditInd> </ns2:Base> <TT:Total> <ns2:Amount xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC" currencyCode="THB" decimalPlace="0">485</ns2:Amount> <ns2:Text xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">485</ns2:Text> <ns2:ApplyCreditInd xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">false</ns2:ApplyCreditInd> </TT:Total> </TT:New> </TT:Amounts> <TT:ValueCalculation> <ns2:New xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">BKK PG X/USM PG BKKTHB485END</ns2:New> </TT:ValueCalculation> <TT:RelatedDocument> <ns2:Miscellaneous xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC" sequence="1"> <ns2:Number>8292174705686</ns2:Number> <ns2:CheckDigit>4</ns2:CheckDigit> </ns2:Miscellaneous> </TT:RelatedDocument> <TT:Payment paymentConfirmation="false" sequence="1" type="CC"> <TT:Base> <TT:Amount currencyCode="THB" decimalPlace="0">485</TT:Amount> <ns2:ApplyCreditInd xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">false</ns2:ApplyCreditInd> </TT:Base> <TT:Total> <TT:Amount currencyCode="THB" decimalPlace="0">485</TT:Amount> <ns2:ApplyCreditInd xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">false</ns2:ApplyCreditInd> </TT:Total> <ns2:Remarks xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">CC</ns2:Remarks> <TT:Card cardType="BA"> <ns2:MaskedCardNumber xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">XXXXXXXXXXXX1111</ns2:MaskedCardNumber> <ns2:ExpireDate xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">xxxx</ns2:ExpireDate> <TT:ApprovalCode>X85290</TT:ApprovalCode> <ns2:CardBinNumber xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">xxxxxx</ns2:CardBinNumber> <ns2:TransactionId xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">352289036672265</ns2:TransactionId> </TT:Card> </TT:Payment> <TT:History code="OC" number="9" sequence="1"> <TT:Agent duty="5" sine="TKT"> <ns2:TicketingProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">PG</ns2:TicketingProvider> <ns2:WorkLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">BKK</ns2:WorkLocation>

Misc Web Services 19 March 2019 185 Confidential and Proprietary Sabre Airline Solutions

<ns2:HomeLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">HDQ</ns2:HomeLocation> </TT:Agent> <TT:TransactionInfo> <ns2:LocalDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-03T01:52:30</ns2:LocalDateTime> <ns2:SystemDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-02T13:52:30</ns2:SystemDateTime> <ns2:SystemProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">PG</ns2:SystemProvider> <ns2:InputMessage xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VIA MISC WEBSERVICES</ns2:InputMessage> </TT:TransactionInfo> <TT:Details> <ns2:SupportingDocument xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">8298200268282</ns2:SupportingDocument> <ns2:OldReservation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">FRKTKB</ns2:OldReservation> <ns2:AffectedCoupons xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">0102</ns2:AffectedCoupons> </TT:Details> <ns2:ServiceCouponHistory xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC" coupon="1" sequence="1"> <ns2:CurrentStatus>OK</ns2:CurrentStatus> <ns2:InConnectionDocument couponNumber="1">8292174705686</ns2:InConnectionDocument> </ns2:ServiceCouponHistory> <ns2:ServiceCouponHistory xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC" coupon="2" sequence="2"> <ns2:CurrentStatus>OK</ns2:CurrentStatus> <ns2:InConnectionDocument couponNumber="2">8292174705686</ns2:InConnectionDocument> </ns2:ServiceCouponHistory> </TT:History> </TT:ElectronicMiscDocument> </TT:Details> </TT:GetTicketingDocumentRS>

Misc Web Services 19 March 2019 186 Confidential and Proprietary Sabre Airline Solutions

3.7 EMD Associated (EMD-A) Multiple Passengers

3.7.1 Add AE Items to the PNR

The first step in the process is to add the AE items to the PNR.

3.7.1.1 Price Ancillary

Before you can add the AE items to the PNR, you need to send a request to gather all the pricing information. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

Note If you add a Group Code or Group Code and Rfic Sub Code you will have a smaller response returned by the web service. To obtain these codes contact ATPCO, or refer to their web site: http://info.atpco.net/download/OptionalSubCodes.pdf

3.7.1.2 Get Reservation

Next you need to obtain the reservation data in order to issue the EMD. For this function you use GetReservationRQ. It unpacks the PNR information, including any existing AE items. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

3.7.1.3 Add AE Items

The next step is to add the AE items. For this function you use UpdateReservationRQ. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/update_itinerary for more information and examples.

3.7.1.4 End and Redisplay PNR

You need to end the PNR to save the AE items you just added by ending the transaction. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/End_Transaction for more information and examples.

3.7.2 Get Ancillary Fee Information from PNR

The next step in the process is to obtain the reservation again, but his time it will include the AE items now in the PNR.

Web Services Call

You accomplish this in the web service by using another GetReservationRQ web service call. This time it pulls in the newly added AE items. GetReservationRQ was specifically developed to pull in AE information.

Misc Web Services 19 March 2019 187 Confidential and Proprietary Sabre Airline Solutions

3.7.3 Issue EMD (CollectMiscFeeRQ)

In this step you issue the EMDs by calling the MISC web service and uses the CollectMISCFeeRQ. Please refer to https://developer.sabre.com/docs/read/soap_apis/air/fulfill/miscellaneous_sales_and_emd for information and examples.

Note This XML example uses credit card form of payment. When you have a credit card as payment, you need to request authorization via the PaymentRQ web service prior to the CollectMISCFee web service call.

Request

<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2010-10-16</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3495441727136578816!838112!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CollectMiscFeeRQ version="1.4.1" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="PG" dutyCode="4" lniata="F27F26" sine="-NC" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>MSP</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="EMD" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Linked>

Misc Web Services 19 March 2019 188 Confidential and Proprietary Sabre Airline Solutions

<ns3:Customer firstName="POLLY" lastName="PASSENGER"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="NHQGZF"/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="0EF" quantity="1"> <ns3:Base currencyCode="THB">475</ns3:Base> <ns3:Total currencyCode="THB">475</ns3:Total> </ns3:FeeDetails> <ns3:OptionalService RFIC="C" bookingIndicator="SSR" group="BG" name="SMALL SPORTING EQUIPMENT" segmentIndicator="S" subCode="0EF"> <ns3:EmdType>Associated</ns3:EmdType> <ns3:AirExtraItemNumber>21</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>PG</ns3:OwningCarrierCode> <ns3:Vendor>MMGR</ns3:Vendor> <ns3:IATAParameters commission="Y" interline="N" refundable="Y"/> </ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="1"> <ns3:CarrierCode>PG</ns3:CarrierCode> <ns3:OperatingCarrierCode>PG</ns3:OperatingCarrierCode> <ns3:FlightNumber>0161</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>BKK</ns3:DepartureCity> <ns3:ArrivalCity>USM</ns3:ArrivalCity> <ns3:DepartureDate>2015-12-12</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="1">8292174705560</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> </ns3:Fee> </ns3:Linked> </ns3:Fees> <ns4:Fees xmlns:ns4="http://services.sabre.com/STL/v01"> <ns4:Linked> <ns4:Customer firstName="PENNY" lastName="PASSENGER"> <ns4:CustomerDetails nameRefNumber="2.1" pnrLocator="NHQGZF"/> </ns4:Customer> <ns4:Fee> <ns4:FeeDetails code="0EF" quantity="1"> <ns4:Base currencyCode="THB">475</ns4:Base> <ns4:Total currencyCode="THB">475</ns4:Total>

Misc Web Services 19 March 2019 189 Confidential and Proprietary Sabre Airline Solutions

</ns4:FeeDetails> <ns4:OptionalService RFIC="C" bookingIndicator="SSR" group="BG" name="SMALL SPORTING EQUIPMENT" segmentIndicator="S" subCode="0EF"> <ns4:EmdType>Associated</ns4:EmdType> <ns4:AirExtraItemNumber>22</ns4:AirExtraItemNumber> <ns4:OwningCarrierCode>PG</ns4:OwningCarrierCode> <ns4:Vendor>MMGR</ns4:Vendor> <ns4:IATAParameters commission="Y" interline="N" refundable="Y"/> </ns4:OptionalService> <ns4:AssociatedFlight segmentNumber="1"> <ns4:CarrierCode>PG</ns4:CarrierCode> <ns4:OperatingCarrierCode>PG</ns4:OperatingCarrierCode> <ns4:FlightNumber>0161</ns4:FlightNumber> <ns4:ClassOfService>Y</ns4:ClassOfService> <ns4:DepartureCity>BKK</ns4:DepartureCity> <ns4:ArrivalCity>USM</ns4:ArrivalCity> <ns4:DepartureDate>2015-12-12</ns4:DepartureDate> <ns4:AssociatedTicketNumber couponNumber="1">8292174705561</ns4:AssociatedTicketNumber> </ns4:AssociatedFlight> </ns4:Fee> </ns4:Linked> </ns4:Fees> <ns5:TotalCost currencyCode="THB" xmlns:ns5="http://services.sabre.com/STL/v01">950</ns5:TotalCost> <ns6:Payment xmlns:ns6="http://services.sabre.com/STL/v01"> <ns6:Amount currencyCode="THB">950</ns6:Amount> <ns6:FormOfPayment> <ns6:CreditCard> <ns6:Code>BA</ns6:Code> <ns6:Number>xxxxxxxxxxxxxxx</ns6:Number> <ns6:ExpiryDate>xxxx</ns6:ExpiryDate> <ns6:ApprovalCode>X40318</ns6:ApprovalCode> </ns6:CreditCard> </ns6:FormOfPayment> </ns6:Payment> <ns7:DetailLevel xmlns:ns7="http://services.sabre.com/STL/v01">Full</ns7:DetailLevel> </CollectMiscFeeRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Response

<?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version=""

Misc Web Services 19 March 2019 190 Confidential and Proprietary Sabre Airline Solutions

xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2010-10-16</eb:Timestamp> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3495441727136578816!838112!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CollectMiscFeeRS version="1.4.1" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results messageId="TKTHLI700-31319-902633233-1441231536733-5338-misc" timeStamp="2015-09-02T17:05:36"> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="PG" dutyCode="4" lniata="3D354A" sine="-NC" xmlns="http://services.sabre.com/STL/v01"> <AAA>MSP</AAA> </AgentPOS> <Transaction code="EMD" xmlns="http://services.sabre.com/STL/v01"/> <Fees xmlns="http://services.sabre.com/STL/v01"> <Linked> <Customer firstName="POLLY" lastName="PASSENGER"> <CustomerDetails nameRefNumber="1.1" pnrLocator="NHQGZF"/>

Misc Web Services 19 March 2019 191 Confidential and Proprietary Sabre Airline Solutions

</Customer> <Fee> <FeeDetails code="0EF" quantity="1"> <Base currencyCode="THB">475</Base> <Total currencyCode="THB">475</Total> </FeeDetails> <OptionalService RFIC="C" bookingIndicator="SSR" group="Baggage" name="SMALL SPORTING EQUIPMENT" segmentIndicator="S" subCode="0EF" userFee="false"> <EmdType>Associated</EmdType> <AirExtraItemNumber>21</AirExtraItemNumber> <OwningCarrierCode>PG</OwningCarrierCode> <Vendor>MMGR</Vendor> <IATAParameters commission="Y" consumed="N/A" interline="N" refundable="Y" taxExempt="false"/> </OptionalService> <AssociatedFlight segmentID="0" segmentNumber="1"> <CarrierCode>PG</CarrierCode> <OperatingCarrierCode>PG</OperatingCarrierCode> <FlightNumber>161</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>BKK</DepartureCity> <ArrivalCity>USM</ArrivalCity> <DepartureDate>2015-12-12</DepartureDate> <AssociatedTicketNumber couponNumber="1">8292174705560</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="1">8298200268288</IssuedDocumentNumber> </AssociatedFlight> </Fee> </Linked> </Fees> <Fees xmlns="http://services.sabre.com/STL/v01"> <Linked> <Customer firstName="PENNY" lastName="PASSENGER"> <CustomerDetails nameRefNumber="2.1" pnrLocator="NHQGZF"/> </Customer> <Fee> <FeeDetails code="0EF" quantity="1"> <Base currencyCode="THB">475</Base> <Total currencyCode="THB">475</Total> </FeeDetails>

Misc Web Services 19 March 2019 192 Confidential and Proprietary Sabre Airline Solutions

<OptionalService RFIC="C" bookingIndicator="SSR" group="Baggage" name="SMALL SPORTING EQUIPMENT" segmentIndicator="S" subCode="0EF" userFee="false"> <EmdType>Associated</EmdType> <AirExtraItemNumber>22</AirExtraItemNumber> <OwningCarrierCode>PG</OwningCarrierCode> <Vendor>MMGR</Vendor> <IATAParameters commission="Y" consumed="N/A" interline="N" refundable="Y" taxExempt="false"/> </OptionalService> <AssociatedFlight segmentID="0" segmentNumber="1"> <CarrierCode>PG</CarrierCode> <OperatingCarrierCode>PG</OperatingCarrierCode> <FlightNumber>161</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>BKK</DepartureCity> <ArrivalCity>USM</ArrivalCity> <DepartureDate>2015-12-12</DepartureDate> <AssociatedTicketNumber couponNumber="1">8292174705561</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="1">8298200268289</IssuedDocumentNumber> </AssociatedFlight> </Fee> </Linked> </Fees> <TotalCost currencyCode="THB" xmlns="http://services.sabre.com/STL/v01">950</TotalCost> <Payment xmlns="http://services.sabre.com/STL/v01"> <Amount currencyCode="THB">950</Amount> <FormOfPayment> <CreditCard> <Code>BA</Code> <Number>xxxxxxxxxxxxxxxx</Number> <ExpiryDate>xxxx</ExpiryDate> <ApprovalCode>X40318</ApprovalCode> </CreditCard> </FormOfPayment> </Payment> </misc:CollectMiscFeeRS> </soap-env:Body> </soap-env:Envelope>

3.7.4 Display EMD

Now you can display the EMD.

Misc Web Services 19 March 2019 193 Confidential and Proprietary Sabre Airline Solutions

Web Service Calls

To display the EMD use GetTicketingDocumentRQ. Please refer to https://developer.sabre.com/docs/soap_apis/air/fulfill/get_ticket_doc_details for more information and examples.

Misc Web Services 19 March 2019 194 Confidential and Proprietary Sabre Airline Solutions

3.8 Interline EMD Associated (IEMD-A) Multiple Passengers

3.8.1 Add AE Items to the PNR

The first step in the process is to add the AE items to the PNR.

3.8.1.1 Price Ancillary

Before you can add the AE items to the PNR, you need to send a request to gather all the pricing information. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

Note If you add a Group Code or Group Code and Rfic Sub Code you will have a smaller response returned by the web service. To obtain these codes contact ATPCO, or refer to their web site: http://info.atpco.net/download/OptionalSubCodes.pdf

3.8.1.2 Get Reservation

Next you need to obtain the reservation data in order to issue the EMD. For this function you use GetReservationRQ. It unpacks the PNR information, including any existing AE items. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

3.8.1.3 Add AE Items

The next step is to add the AE items. For this function you use UpdateReservationRQ. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/update_itinerary for more information and examples.

3.8.1.4 End and Redisplay PNR

You need to end the PNR to save the AE items you just added by ending the transaction. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/End_Transaction for more information and examples.

3.8.2 Get Ancillary Fee Information from PNR

The next step in the process is to obtain the reservation again, but his time it will include the AE items now in the PNR.

Web Services Call

You accomplish this in the web service by using another GetReservationRQ web service call. This time it pulls in the newly added AE items. GetReservationRQ was specifically developed to pull in AE information.

Misc Web Services 19 March 2019 195 Confidential and Proprietary Sabre Airline Solutions

3.8.3 Issue EMD (CollectMiscFeeRQ)

In this step you issue the EMDs by calling the MISC web service and uses the CollectMISCFeeRQ. Please refer to https://developer.sabre.com/docs/read/soap_apis/air/fulfill/miscellaneous_sales_and_emd for information and examples.

Note This XML example uses credit card form of payment. When you have a credit card as payment, you need to request authorization via the PaymentRQ web service prior to the CollectMISCFee web service call.

Request

<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>abc123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2010-10-16</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3362343036834944220!1528329!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CollectMiscFeeRQ version="1.4.1" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="EY" dutyCode="4" lniata="F27F26" sine="-NC" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>MSP</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="EMD" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Linked>

Misc Web Services 19 March 2019 196 Confidential and Proprietary Sabre Airline Solutions

<ns3:Customer firstName="BART" lastName="SIMPSON"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="PJPNYR"/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="0B4" quantity="1"> <ns3:Base currencyCode="USD">60.00</ns3:Base> <ns3:Total currencyCode="USD">60.00</ns3:Total> </ns3:FeeDetails> <ns3:OptionalService RFIC="G" bookingIndicator="SSR" group="MD" name="OXYGEN" segmentIndicator="P" subCode="0B4"> <ns3:EmdType>Associated</ns3:EmdType> <ns3:AirExtraItemNumber>26</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>EY</ns3:OwningCarrierCode> <ns3:Vendor>ATP</ns3:Vendor> <ns3:IATAParameters commission="N" interline="Y" refundable="Y"/> </ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="1"> <ns3:CarrierCode>EY</ns3:CarrierCode> <ns3:FlightNumber>0450</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>AUH</ns3:DepartureCity> <ns3:ArrivalCity>SYD</ns3:ArrivalCity> <ns3:DepartureDate>2016-12-01</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="1">6072129804218</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> <ns3:AssociatedFlight segmentNumber="2"> <ns3:CarrierCode>VA</ns3:CarrierCode> <ns3:FlightNumber>0001</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>SYD</ns3:DepartureCity> <ns3:ArrivalCity>LAX</ns3:ArrivalCity> <ns3:DepartureDate>2016-12-11</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="2">6072129804218</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> </ns3:Fee> </ns3:Linked> </ns3:Fees> <ns4:Fees xmlns:ns4="http://services.sabre.com/STL/v01"> <ns4:Linked> <ns4:Customer firstName="LISA" lastName="SIMPSON"> <ns4:CustomerDetails

Misc Web Services 19 March 2019 197 Confidential and Proprietary Sabre Airline Solutions

nameRefNumber="2.1" pnrLocator="PJPNYR"/> </ns4:Customer> <ns4:Fee> <ns4:FeeDetails code="0B4" quantity="1"> <ns4:Base currencyCode="USD">60.00</ns4:Base> <ns4:Total currencyCode="USD">60.00</ns4:Total> </ns4:FeeDetails> <ns4:OptionalService RFIC="G" bookingIndicator="SSR" group="MD" name="OXYGEN" segmentIndicator="P" subCode="0B4"> <ns4:EmdType>Associated</ns4:EmdType> <ns4:AirExtraItemNumber>28</ns4:AirExtraItemNumber> <ns4:OwningCarrierCode>EY</ns4:OwningCarrierCode> <ns4:Vendor>ATP</ns4:Vendor> <ns4:IATAParameters commission="N" interline="Y" refundable="Y"/> </ns4:OptionalService> <ns4:AssociatedFlight segmentNumber="1"> <ns4:CarrierCode>EY</ns4:CarrierCode> <ns4:FlightNumber>0450</ns4:FlightNumber> <ns4:ClassOfService>Y</ns4:ClassOfService> <ns4:DepartureCity>AUH</ns4:DepartureCity> <ns4:ArrivalCity>SYD</ns4:ArrivalCity> <ns4:DepartureDate>2016-12-01</ns4:DepartureDate> <ns4:AssociatedTicketNumber couponNumber="1">6072129804219</ns4:AssociatedTicketNumber> </ns4:AssociatedFlight> <ns4:AssociatedFlight segmentNumber="2"> <ns4:CarrierCode>VA</ns4:CarrierCode> <ns4:FlightNumber>0001</ns4:FlightNumber> <ns4:ClassOfService>Y</ns4:ClassOfService> <ns4:DepartureCity>SYD</ns4:DepartureCity> <ns4:ArrivalCity>LAX</ns4:ArrivalCity> <ns4:DepartureDate>2016-12-11</ns4:DepartureDate> <ns4:AssociatedTicketNumber couponNumber="2">6072129804219</ns4:AssociatedTicketNumber> </ns4:AssociatedFlight> </ns4:Fee> </ns4:Linked> </ns4:Fees> <ns5:TotalCost currencyCode="USD" xmlns:ns5="http://services.sabre.com/STL/v01">120.00</ns5:TotalCost> <ns6:Payment xmlns:ns6="http://services.sabre.com/STL/v01"> <ns6:Amount currencyCode="USD">120.00</ns6:Amount> <ns6:FormOfPayment> <ns6:Check/>

Misc Web Services 19 March 2019 198 Confidential and Proprietary Sabre Airline Solutions

</ns6:FormOfPayment> </ns6:Payment> <ns7:DetailLevel xmlns:ns7="http://services.sabre.com/STL/v01">Full</ns7:DetailLevel> </CollectMiscFeeRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response

<?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="URI">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="URI">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>abc123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>21126015672271760</eb:MessageId> <eb:Timestamp>2016-09-13T00:26:10</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3362343036834944220!1528329!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CollectMiscFeeRS version="1.4.1" xmlns="http://services.sabre.com/STL/v01" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header> <Results messageId="TKTHLI701-22778-2050401307-1473726367296-6492-misc" timeStamp="2016-09-12T19:26:07"> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText>

Misc Web Services 19 March 2019 199 Confidential and Proprietary Sabre Airline Solutions

</SystemSpecificResults> </Results> </Header> <AgentPOS company="EY" dutyCode="4" lniata="38D15A" sine="-NC"> <AAA>MSP</AAA> </AgentPOS> <Transaction code="EMD"/> <Fees> <Linked> <Customer firstName="BART" lastName="SIMPSON"> <CustomerDetails nameRefNumber="1.1" pnrLocator="PJPNYR"/> </Customer> <Fee> <FeeDetails code="0B4" quantity="1"> <Base currencyCode="USD">60.00</Base> <Total currencyCode="USD">60.00</Total> </FeeDetails> <OptionalService RFIC="G" bookingIndicator="SSR" group="Medical" name="OXYGEN" segmentIndicator="P" subCode="0B4" userFee="false"> <EmdType>Associated</EmdType> <AirExtraItemNumber>26</AirExtraItemNumber> <OwningCarrierCode>EY</OwningCarrierCode> <Vendor>ATP</Vendor> <IATAParameters commission="N" consumed="N/A" interline="Y" refundable="Y" taxExempt="false"/> </OptionalService> <AssociatedFlight segmentID="0" segmentNumber="1"> <CarrierCode>EY</CarrierCode> <FlightNumber>450</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>AUH</DepartureCity> <ArrivalCity>SYD</ArrivalCity> <DepartureDate>2016-12-01</DepartureDate> <AssociatedTicketNumber couponNumber="1">6072129804218</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="1">6078202266551</IssuedDocumentNumber> </AssociatedFlight> <AssociatedFlight segmentID="0" segmentNumber="2"> <CarrierCode>VA</CarrierCode> <FlightNumber>1</FlightNumber>

Misc Web Services 19 March 2019 200 Confidential and Proprietary Sabre Airline Solutions

<ClassOfService>Y</ClassOfService> <DepartureCity>SYD</DepartureCity> <ArrivalCity>LAX</ArrivalCity> <DepartureDate>2016-12-11</DepartureDate> <AssociatedTicketNumber couponNumber="2">6072129804218</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="2">6078202266551</IssuedDocumentNumber> </AssociatedFlight> </Fee> </Linked> </Fees> <Fees> <Linked> <Customer firstName="LISA" lastName="SIMPSON"> <CustomerDetails nameRefNumber="2.1" pnrLocator="PJPNYR"/> </Customer> <Fee> <FeeDetails code="0B4" quantity="1"> <Base currencyCode="USD">60.00</Base> <Total currencyCode="USD">60.00</Total> </FeeDetails> <OptionalService RFIC="G" bookingIndicator="SSR" group="Medical" name="OXYGEN" segmentIndicator="P" subCode="0B4" userFee="false"> <EmdType>Associated</EmdType> <AirExtraItemNumber>28</AirExtraItemNumber> <OwningCarrierCode>EY</OwningCarrierCode> <Vendor>ATP</Vendor> <IATAParameters commission="N" consumed="N/A" interline="Y" refundable="Y" taxExempt="false"/> </OptionalService> <AssociatedFlight segmentID="0" segmentNumber="1"> <CarrierCode>EY</CarrierCode> <FlightNumber>450</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>AUH</DepartureCity> <ArrivalCity>SYD</ArrivalCity> <DepartureDate>2016-12-01</DepartureDate> <AssociatedTicketNumber couponNumber="1">6072129804219</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="1">6078202266552</IssuedDocumentNumber> </AssociatedFlight> <AssociatedFlight segmentID="0" segmentNumber="2">

Misc Web Services 19 March 2019 201 Confidential and Proprietary Sabre Airline Solutions

<CarrierCode>VA</CarrierCode> <FlightNumber>1</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>SYD</DepartureCity> <ArrivalCity>LAX</ArrivalCity> <DepartureDate>2016-12-11</DepartureDate> <AssociatedTicketNumber couponNumber="2">6072129804219</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="2">6078202266552</IssuedDocumentNumber> </AssociatedFlight> </Fee> </Linked> </Fees> <TotalCost currencyCode="USD">120.00</TotalCost> <Payment> <Amount currencyCode="USD">120.00</Amount> <FormOfPayment> <Check/> </FormOfPayment> </Payment> </misc:CollectMiscFeeRS> </soap-env:Body> </soap-env:Envelope>

3.8.4 Display EMD

Now you can display the EMD.

Web Service Calls

To display the EMD use GetTicketingDocumentRQ. Please refer to https://developer.sabre.com/docs/soap_apis/air/fulfill/get_ticket_doc_details for more information and examples.

3.9 Codeshare EMD Associated (IEMD-A) Single Passenger

3.9.1 Add AE Items to the PNR

The first step in the process is to add the AE items to the PNR.

Misc Web Services 19 March 2019 202 Confidential and Proprietary Sabre Airline Solutions

3.9.1.1 Price Ancillary

Before you can add the AE items to the PNR, you need to send a request to gather all the pricing information. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

Note If you add a Group Code or Group Code and Rfic Sub Code you will have a smaller response returned by the web service. To obtain these codes contact ATPCO, or refer to their web site: http://info.atpco.net/download/OptionalSubCodes.pdf

3.9.1.2 Get Reservation

Next you need to obtain the reservation data in order to issue the EMD. For this function you use GetReservationRQ. It unpacks the PNR information, including any existing AE items. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

3.9.1.3 Add AE Items

The next step is to add the AE items. For this function you use UpdateReservationRQ. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/update_itinerary for more information and examples.

3.9.1.4 End and Redisplay PNR

You need to end the PNR to save the AE items you just added by ending the transaction. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/End_Transaction for more information and examples.

3.9.2 Get Ancillary Fee Information from PNR

The next step in the process is to obtain the reservation again, but his time it will include the AE items now in the PNR.

Web Services Call

You accomplish this in the web service by using another GetReservationRQ web service call. This time it pulls in the newly added AE items. GetReservationRQ was specifically developed to pull in AE information.

3.9.3 Issue EMD (CollectMiscFeeRQ)

In this step you issue the EMDs by calling the MISC web service and uses the CollectMISCFeeRQ. Please refer to https://developer.sabre.com/docs/read/soap_apis/air/fulfill/miscellaneous_sales_and_emd for information and examples.

Note This XML example uses credit card form of payment. When you have a credit card as payment, you need to request authorization via the PaymentRQ web service prior to the CollectMISCFee web service call.

Request

<?xml version="1.0" encoding="UTF-8"?>

Misc Web Services 19 March 2019 203 Confidential and Proprietary Sabre Airline Solutions

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="1.0" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2010-10-16</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3347240089352613726!1917849!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CollectMiscFeeRQ version="1.4.1" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="EY" dutyCode="4" lniata="F27F26" sine="-NC" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>HDQ</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="EMD" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Linked> <ns3:Customer firstName="DAMIEN MR" lastName="MARTIN"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="DPIOVK"/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="0EF" quantity="1"> <ns3:Base currencyCode="AED">550</ns3:Base> <ns3:Total currencyCode="AED">550</ns3:Total>

Misc Web Services 19 March 2019 204 Confidential and Proprietary Sabre Airline Solutions

</ns3:FeeDetails> <ns3:OptionalService RFIC="C" bookingIndicator="SSR" group="BG" name="SMALL SPORTING EQUIPMENT" segmentIndicator="S" subCode="0EF"> <ns3:EmdType>Associated</ns3:EmdType> <ns3:AirExtraItemNumber>23</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>EY</ns3:OwningCarrierCode> <ns3:Vendor>MMGR</ns3:Vendor> <ns3:IATAParameters commission="Y" interline="N" refundable="Y"/> </ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="1"> <ns3:CarrierCode>EY</ns3:CarrierCode> <ns3:OperatingCarrierCode>9W</ns3:OperatingCarrierCode> <ns3:FlightNumber>0516</ns3:FlightNumber> <ns3:ClassOfService>T</ns3:ClassOfService> <ns3:DepartureCity>BLR</ns3:DepartureCity> <ns3:ArrivalCity>AUH</ns3:ArrivalCity> <ns3:DepartureDate>2016-11-10</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="1">6072130375928</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> </ns3:Fee> <ns3:Fee> <ns3:FeeDetails code="0EF" quantity="1"> <ns3:Base currencyCode="AED">550</ns3:Base> <ns3:Total currencyCode="AED">550</ns3:Total> </ns3:FeeDetails> <ns3:OptionalService RFIC="C" bookingIndicator="SSR" group="BG" name="SMALL SPORTING EQUIPMENT" segmentIndicator="S" subCode="0EF"> <ns3:EmdType>Associated</ns3:EmdType> <ns3:AirExtraItemNumber>25</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>EY</ns3:OwningCarrierCode> <ns3:Vendor>MMGR</ns3:Vendor> <ns3:IATAParameters commission="Y" interline="N" refundable="Y"/> </ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="2"> <ns3:CarrierCode>EY</ns3:CarrierCode> <ns3:OperatingCarrierCode>9W</ns3:OperatingCarrierCode> <ns3:FlightNumber>0515</ns3:FlightNumber> <ns3:ClassOfService>T</ns3:ClassOfService> <ns3:DepartureCity>AUH</ns3:DepartureCity> <ns3:ArrivalCity>BLR</ns3:ArrivalCity> <ns3:DepartureDate>2016-11-13</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="2">6072130375928</ns3:AssociatedTicketNumber>

Misc Web Services 19 March 2019 205 Confidential and Proprietary Sabre Airline Solutions

</ns3:AssociatedFlight> </ns3:Fee> </ns3:Linked> </ns3:Fees> <ns4:TotalCost currencyCode="AED" xmlns:ns4="http://services.sabre.com/STL/v01">1100</ns4:TotalCost> <ns5:Payment xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:Amount currencyCode="AED">1100</ns5:Amount> <ns5:FormOfPayment> <ns5:CreditCard> <ns5:Code>VI</ns5:Code> <ns5:Number>411xxxxxxxxxxxxx/ns5:Number> <ns5:ExpiryDate>1229</ns5:ExpiryDate> <ns5:ApprovalCode>US13475</ns5:ApprovalCode> </ns5:CreditCard> </ns5:FormOfPayment> </ns5:Payment> <ns6:DetailLevel xmlns:ns6="http://services.sabre.com/STL/v01">Full</ns6:DetailLevel> </CollectMiscFeeRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response

<?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="URI">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="URI">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>479976599542001760</eb:MessageId> <eb:Timestamp>2016-10-25T16:39:30</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary"

Misc Web Services 19 March 2019 206 Confidential and Proprietary Sabre Airline Solutions

valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3347240089352613726!1917849!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CollectMiscFeeRS version="1.4.1" xmlns="http://services.sabre.com/STL/v01" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header> <Results messageId="TKTHLI701-15897-1667268713-1477413554269-7969-misc" timeStamp="2016-10-25T11:39:14"> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="EY" dutyCode="4" lniata="1C6A11" sine="-NC"> <AAA>HDQ</AAA> </AgentPOS> <Transaction code="EMD"/> <Fees> <Linked> <Customer firstName="DAMIEN MR" lastName="MARTIN"> <CustomerDetails nameRefNumber="1.1" pnrLocator="DPIOVK"/> </Customer> <Fee> <FeeDetails code="0EF" quantity="1"> <Base currencyCode="AED">550</Base> <Total currencyCode="AED">550</Total> </FeeDetails> <OptionalService RFIC="C" bookingIndicator="SSR" group="Baggage" name="SMALL SPORTING EQUIPMENT" segmentIndicator="S" subCode="0EF" userFee="false"> <EmdType>Associated</EmdType> <AirExtraItemNumber>23</AirExtraItemNumber> <OwningCarrierCode>EY</OwningCarrierCode> <Vendor>MMGR</Vendor> <IATAParameters commission="Y" consumed="N/A" interline="N" refundable="Y" taxExempt="false"/> </OptionalService>

Misc Web Services 19 March 2019 207 Confidential and Proprietary Sabre Airline Solutions

<AssociatedFlight segmentID="0" segmentNumber="1"> <CarrierCode>EY</CarrierCode> <OperatingCarrierCode>9W</OperatingCarrierCode> <FlightNumber>516</FlightNumber> <ClassOfService>T</ClassOfService> <DepartureCity>BLR</DepartureCity> <ArrivalCity>AUH</ArrivalCity> <DepartureDate>2016-11-10</DepartureDate> <AssociatedTicketNumber couponNumber="1">6072130375928</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="1">6078202390118</IssuedDocumentNumber> </AssociatedFlight> </Fee> <Fee> <FeeDetails code="0EF" quantity="1"> <Base currencyCode="AED">550</Base> <Total currencyCode="AED">550</Total> </FeeDetails> <OptionalService RFIC="C" bookingIndicator="SSR" group="Baggage" name="SMALL SPORTING EQUIPMENT" segmentIndicator="S" subCode="0EF" userFee="false"> <EmdType>Associated</EmdType> <AirExtraItemNumber>25</AirExtraItemNumber> <OwningCarrierCode>EY</OwningCarrierCode> <Vendor>MMGR</Vendor> <IATAParameters commission="Y" consumed="N/A" interline="N" refundable="Y" taxExempt="false"/> </OptionalService> <AssociatedFlight segmentID="0" segmentNumber="2"> <CarrierCode>EY</CarrierCode> <OperatingCarrierCode>9W</OperatingCarrierCode> <FlightNumber>515</FlightNumber> <ClassOfService>T</ClassOfService> <DepartureCity>AUH</DepartureCity> <ArrivalCity>BLR</ArrivalCity> <DepartureDate>2016-11-13</DepartureDate> <AssociatedTicketNumber couponNumber="2">6072130375928</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="2">6078202390118</IssuedDocumentNumber> </AssociatedFlight> </Fee> </Linked> </Fees> <TotalCost currencyCode="AED">1100</TotalCost>

Misc Web Services 19 March 2019 208 Confidential and Proprietary Sabre Airline Solutions

<Payment> <Amount currencyCode="AED">1100</Amount> <FormOfPayment> <CreditCard> <Code>VI</Code> <Number>411xxxxxxxxxxxx</Number> <ExpiryDate>1229</ExpiryDate> <ApprovalCode>US13475</ApprovalCode> </CreditCard> </FormOfPayment> </Payment> </misc:CollectMiscFeeRS> </soap-env:Body> </soap-env:Envelope>

3.9.1 Display EMD

Now you can display the EMD.

Web Service Calls

To display the EMD use GetTicketingDocumentRQ. Please refer to https://developer.sabre.com/docs/soap_apis/air/fulfill/get_ticket_doc_details for more information and examples.

3.10 EMD Associated (EMD-A) Associate Payment to Specific AE

3.10.1 Add AE Items to the PNR

The first step in the process is to add the AE items to the PNR.

3.10.1.1 Price Ancillary

Before you can add the AE items to the PNR, you need to send a request to gather all the pricing information. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

Note If you add a Group Code or Group Code and Rfic Sub Code you will have a smaller response returned by the web service. To obtain these codes contact ATPCO, or refer to their web site: http://info.atpco.net/download/OptionalSubCodes.pdf

3.10.1.2 Get Reservation

Next you need to obtain the reservation data in order to issue the EMD. For this function you use GetReservationRQ. It unpacks the PNR information, including any existing AE items. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

Misc Web Services 19 March 2019 209 Confidential and Proprietary Sabre Airline Solutions

3.10.1.3 Add AE Items

The next step is to add the AE items. For this function you use UpdateReservationRQ. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/update_itinerary for more information and examples.

3.10.1.4 End and Redisplay PNR

You need to end the PNR to save the AE items you just added by ending the transaction. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/End_Transaction for more information and examples.

3.10.2 Get Ancillary Fee Information from PNR

The next step in the process is to obtain the reservation again, but his time it will include the AE items now in the PNR.

Web Services Call

You accomplish this in the web service by using another GetReservationRQ web service call. This time it pulls in the newly added AE items. GetReservationRQ was specifically developed to pull in AE information.

3.10.3 Issue EMD (CollectMiscFeeRQ)

In this step you issue the EMDs by calling the MISC web service and uses the CollectMISCFeeRQ. Please refer to https://developer.sabre.com/docs/read/soap_apis/air/fulfill/miscellaneous_sales_and_emd for information and examples.

Note This XML example uses credit card form of payment. When you have a credit card as payment, you need to request authorization via the PaymentRQ web service prior to the CollectMISCFee web service call.

Request

<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="1.0" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>abc123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action>

Misc Web Services 19 March 2019 210 Confidential and Proprietary Sabre Airline Solutions

<ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2010-10-16</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/CERTG!ICESMSLB\/CRT.LB!-3438805733530093274!545982!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CollectMiscFeeRQ version="1.4.1" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="VA" dutyCode="4" lniata="F27F26" sine="-NC" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>HDQ</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="EMD" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Linked> <ns3:Customer firstName="IFTIKHAR" lastName="HUSSAIN"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="DKSOAM"/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="088" quantity="1"> <ns3:Base currencyCode="USD">80.00</ns3:Base> <ns3:Total currencyCode="USD">80.00</ns3:Total> </ns3:FeeDetails> <ns3:FOPDetails> <ns3:FOP paymentRefNumber="1">30.00</ns3:FOP> <ns3:FOP paymentRefNumber="2">50.00</ns3:FOP> </ns3:FOPDetails> <ns3:OptionalService RFIC="A" bookingIndicator="SSR" group="IE" name="TV SCREEN" segmentIndicator="P" subCode="088" userFee="true"> <ns3:EmdType>Associated</ns3:EmdType> <ns3:AirExtraItemNumber>25</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>VA</ns3:OwningCarrierCode> <ns3:IATAParameters commission="Y" refundable="Y"/>

Misc Web Services 19 March 2019 211 Confidential and Proprietary Sabre Airline Solutions

</ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="1"> <ns3:CarrierCode>VA</ns3:CarrierCode> <ns3:FlightNumber>0803</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>MEL</ns3:DepartureCity> <ns3:ArrivalCity>SYD</ns3:ArrivalCity> <ns3:DepartureDate>2016-04-29</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="1">7952127748123</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> <ns3:AssociatedFlight segmentNumber="2"> <ns3:CarrierCode>VA</ns3:CarrierCode> <ns3:FlightNumber>0551</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>SYD</ns3:DepartureCity> <ns3:ArrivalCity>PER</ns3:ArrivalCity> <ns3:DepartureDate>2016-05-09</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="2">7952127748123</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> </ns3:Fee> <ns3:Fee> <ns3:FeeDetails code="0BF" quantity="1"> <ns3:Base currencyCode="USD">100.00</ns3:Base> <ns3:Total currencyCode="USD">100.00</ns3:Total> </ns3:FeeDetails> <ns3:FOPDetails> <ns3:FOP paymentRefNumber="1">80.00</ns3:FOP> <ns3:FOP paymentRefNumber="2">20.00</ns3:FOP> </ns3:FOPDetails> <ns3:OptionalService RFIC="F" bookingIndicator="SSR" group="GT" name="TOY AIRPLANE" segmentIndicator="P" subCode="0BF"> <ns3:EmdType>Associated</ns3:EmdType> <ns3:AirExtraItemNumber>28</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>VA</ns3:OwningCarrierCode> <ns3:IATAParameters commission="Y" refundable="Y"/> </ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="2"> <ns3:CarrierCode>VA</ns3:CarrierCode> <ns3:FlightNumber>0551</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>SYD</ns3:DepartureCity> <ns3:ArrivalCity>PER</ns3:ArrivalCity> <ns3:DepartureDate>2016-05-09</ns3:DepartureDate>

Misc Web Services 19 March 2019 212 Confidential and Proprietary Sabre Airline Solutions

<ns3:AssociatedTicketNumber couponNumber="2">7952127748123</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> <ns3:AssociatedFlight segmentNumber="3"> <ns3:CarrierCode>VA</ns3:CarrierCode> <ns3:FlightNumber>0463</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>PER</ns3:DepartureCity> <ns3:ArrivalCity>BNE</ns3:ArrivalCity> <ns3:DepartureDate>2016-05-19</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="3">7952127748123</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> </ns3:Fee> <ns3:Fee> <ns3:FeeDetails code="0CM" quantity="1"> <ns3:Base currencyCode="USD">90.00</ns3:Base> <ns3:Total currencyCode="USD">90.00</ns3:Total> </ns3:FeeDetails> <ns3:FOPDetails> <ns3:FOP paymentRefNumber="1">90.00</ns3:FOP> </ns3:FOPDetails> <ns3:OptionalService RFIC="I" bookingIndicator="SSR" group="GT" name="BONUS MILES" segmentIndicator="P" subCode="0CM"> <ns3:EmdType>Associated</ns3:EmdType> <ns3:AirExtraItemNumber>31</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>VA</ns3:OwningCarrierCode> <ns3:IATAParameters commission="Y" refundable="Y"/> </ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="3"> <ns3:CarrierCode>VA</ns3:CarrierCode> <ns3:FlightNumber>0463</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>PER</ns3:DepartureCity> <ns3:ArrivalCity>BNE</ns3:ArrivalCity> <ns3:DepartureDate>2016-05-19</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="3">7952127748123</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> <ns3:AssociatedFlight segmentNumber="4"> <ns3:CarrierCode>VA</ns3:CarrierCode> <ns3:FlightNumber>1210</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>BNE</ns3:DepartureCity> <ns3:ArrivalCity>CBR</ns3:ArrivalCity> <ns3:DepartureDate>2016-05-29</ns3:DepartureDate>

Misc Web Services 19 March 2019 213 Confidential and Proprietary Sabre Airline Solutions

<ns3:AssociatedTicketNumber couponNumber="4">7952127748123</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> </ns3:Fee> <ns3:Fee> <ns3:FeeDetails code="088" quantity="1"> <ns3:Base currencyCode="USD">30.00</ns3:Base> <ns3:Total currencyCode="USD">30.00</ns3:Total> </ns3:FeeDetails> <ns3:FOPDetails> <ns3:FOP paymentRefNumber="1">20.00</ns3:FOP> <ns3:FOP paymentRefNumber="2">10.00</ns3:FOP> </ns3:FOPDetails> <ns3:OptionalService RFIC="A" bookingIndicator="SSR" group="IE" name="TV SCREEN" segmentIndicator="P" subCode="088" userFee="true"> <ns3:EmdType>Associated</ns3:EmdType> <ns3:AirExtraItemNumber>34</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>VA</ns3:OwningCarrierCode> <ns3:IATAParameters commission="Y" refundable="Y"/> </ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="1"> <ns3:CarrierCode>VA</ns3:CarrierCode> <ns3:FlightNumber>1210</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>BNE</ns3:DepartureCity> <ns3:ArrivalCity>CBR</ns3:ArrivalCity> <ns3:DepartureDate>2016-05-29</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="4">7952127748123</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> </ns3:Fee> </ns3:Linked> </ns3:Fees> <ns4:TotalCost currencyCode="USD" xmlns:ns4="http://services.sabre.com/STL/v01">300.00</ns4:TotalCost> <ns5:Payment refNumber="1" xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:Amount currencyCode="USD">220.00</ns5:Amount> <ns5:FormOfPayment> <ns5:CreditCard> <ns5:Code>VI</ns5:Code> <ns5:Number>4111111111111111</ns5:Number> <ns5:ExpiryDate>1229</ns5:ExpiryDate> <ns5:ApprovalCode>US13475</ns5:ApprovalCode>

Misc Web Services 19 March 2019 214 Confidential and Proprietary Sabre Airline Solutions

</ns5:CreditCard> </ns5:FormOfPayment> </ns5:Payment> <ns6:Payment refNumber="2" xmlns:ns6="http://services.sabre.com/STL/v01"> <ns6:Amount currencyCode="USD">80.00</ns6:Amount> <ns6:FormOfPayment> <ns6:Cash/> </ns6:FormOfPayment> </ns6:Payment> <ns7:DetailLevel xmlns:ns7="http://services.sabre.com/STL/v01">Full</ns7:DetailLevel> </CollectMiscFeeRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Response

<?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>abc123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2010-10-16</eb:Timestamp> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/CERTG!ICESMSLB\/CRT.LB!-3438805733530093274!545982!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CollectMiscFeeRS version="1.4.1" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results

Misc Web Services 19 March 2019 215 Confidential and Proprietary Sabre Airline Solutions

messageId="TKTVLC750-5631-1859014323-1455058680521-34030-misc" timeStamp="2016-02-09T16:58:00"> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="VA" dutyCode="4" lniata="52D6CE" sine="-NC" xmlns="http://services.sabre.com/STL/v01"> <AAA>HDQ</AAA> </AgentPOS> <Transaction code="EMD" xmlns="http://services.sabre.com/STL/v01"/> <Fees xmlns="http://services.sabre.com/STL/v01"> <Linked> <Customer firstName="IFTIKHAR" lastName="HUSSAIN"> <CustomerDetails nameRefNumber="1.1" pnrLocator="DKSOAM"/> </Customer> <Fee> <FeeDetails code="088" quantity="1"> <Base currencyCode="USD">80.00</Base> <Total currencyCode="USD">80.00</Total> </FeeDetails> <FOPDetails> <FOP paymentRefNumber="1">30.00</FOP> <FOP paymentRefNumber="2">50.00</FOP> </FOPDetails> <OptionalService RFIC="A" bookingIndicator="SSR" group="In Flight Entertainment" name="TV SCREEN" segmentIndicator="P" subCode="088" userFee="true"> <EmdType>Associated</EmdType> <AirExtraItemNumber>25</AirExtraItemNumber> <OwningCarrierCode>VA</OwningCarrierCode> <IATAParameters commission="Y" consumed="N/A" refundable="Y" taxExempt="false"/> </OptionalService> <AssociatedFlight segmentID="0" segmentNumber="1"> <CarrierCode>VA</CarrierCode> <FlightNumber>803</FlightNumber>

Misc Web Services 19 March 2019 216 Confidential and Proprietary Sabre Airline Solutions

<ClassOfService>Y</ClassOfService> <DepartureCity>MEL</DepartureCity> <ArrivalCity>SYD</ArrivalCity> <DepartureDate>2016-04-29</DepartureDate> <AssociatedTicketNumber couponNumber="1">7952127748123</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="1">7958219703851</IssuedDocumentNumber> </AssociatedFlight> <AssociatedFlight segmentID="0" segmentNumber="2"> <CarrierCode>VA</CarrierCode> <FlightNumber>551</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>SYD</DepartureCity> <ArrivalCity>PER</ArrivalCity> <DepartureDate>2016-05-09</DepartureDate> <AssociatedTicketNumber couponNumber="2">7952127748123</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="2">7958219703851</IssuedDocumentNumber> </AssociatedFlight> </Fee> <Fee> <FeeDetails code="0BF" quantity="1"> <Base currencyCode="USD">100.00</Base> <Total currencyCode="USD">100.00</Total> </FeeDetails> <FOPDetails> <FOP paymentRefNumber="1">80.00</FOP> <FOP paymentRefNumber="2">20.00</FOP> </FOPDetails> <OptionalService RFIC="F" bookingIndicator="SSR" group="Ground Transportation and Non Air Services" name="TOY AIRPLANE" segmentIndicator="P" subCode="0BF" userFee="false"> <EmdType>Associated</EmdType> <AirExtraItemNumber>28</AirExtraItemNumber> <OwningCarrierCode>VA</OwningCarrierCode> <IATAParameters commission="Y" consumed="N/A" refundable="Y" taxExempt="false"/> </OptionalService> <AssociatedFlight segmentID="0" segmentNumber="2"> <CarrierCode>VA</CarrierCode> <FlightNumber>551</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>SYD</DepartureCity>

Misc Web Services 19 March 2019 217 Confidential and Proprietary Sabre Airline Solutions

<ArrivalCity>PER</ArrivalCity> <DepartureDate>2016-05-09</DepartureDate> <AssociatedTicketNumber couponNumber="2">7952127748123</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="1">7958219703853</IssuedDocumentNumber> </AssociatedFlight> <AssociatedFlight segmentID="0" segmentNumber="3"> <CarrierCode>VA</CarrierCode> <FlightNumber>463</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>PER</DepartureCity> <ArrivalCity>BNE</ArrivalCity> <DepartureDate>2016-05-19</DepartureDate> <AssociatedTicketNumber couponNumber="3">7952127748123</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="2">7958219703853</IssuedDocumentNumber> </AssociatedFlight> </Fee> <Fee> <FeeDetails code="0CM" quantity="1"> <Base currencyCode="USD">90.00</Base> <Total currencyCode="USD">90.00</Total> </FeeDetails> <FOPDetails> <FOP paymentRefNumber="1">90.00</FOP> </FOPDetails> <OptionalService RFIC="I" bookingIndicator="SSR" group="Ground Transportation and Non Air Services" name="BONUS MILES" segmentIndicator="P" subCode="0CM" userFee="false"> <EmdType>Associated</EmdType> <AirExtraItemNumber>31</AirExtraItemNumber> <OwningCarrierCode>VA</OwningCarrierCode> <IATAParameters commission="Y" consumed="N/A" refundable="Y" taxExempt="false"/> </OptionalService> <AssociatedFlight segmentID="0" segmentNumber="3"> <CarrierCode>VA</CarrierCode> <FlightNumber>463</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>PER</DepartureCity> <ArrivalCity>BNE</ArrivalCity> <DepartureDate>2016-05-19</DepartureDate> <AssociatedTicketNumber couponNumber="3">7952127748123</AssociatedTicketNumber>

Misc Web Services 19 March 2019 218 Confidential and Proprietary Sabre Airline Solutions

<IssuedDocumentNumber couponNumber="1">7958219703854</IssuedDocumentNumber> </AssociatedFlight> <AssociatedFlight segmentID="0" segmentNumber="4"> <CarrierCode>VA</CarrierCode> <FlightNumber>1210</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>BNE</DepartureCity> <ArrivalCity>CBR</ArrivalCity> <DepartureDate>2016-05-29</DepartureDate> <AssociatedTicketNumber couponNumber="4">7952127748123</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="2">7958219703854</IssuedDocumentNumber> </AssociatedFlight> </Fee> <Fee> <FeeDetails code="088" quantity="1"> <Base currencyCode="USD">30.00</Base> <Total currencyCode="USD">30.00</Total> </FeeDetails> <FOPDetails> <FOP paymentRefNumber="1">20.00</FOP> <FOP paymentRefNumber="2">10.00</FOP> </FOPDetails> <OptionalService RFIC="A" bookingIndicator="SSR" group="In Flight Entertainment" name="TV SCREEN" segmentIndicator="P" subCode="088" userFee="true"> <EmdType>Associated</EmdType> <AirExtraItemNumber>34</AirExtraItemNumber> <OwningCarrierCode>VA</OwningCarrierCode> <IATAParameters commission="Y" consumed="N/A" refundable="Y" taxExempt="false"/> </OptionalService> <AssociatedFlight segmentID="0" segmentNumber="1"> <CarrierCode>VA</CarrierCode> <FlightNumber>1210</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>BNE</DepartureCity> <ArrivalCity>CBR</ArrivalCity> <DepartureDate>2016-05-29</DepartureDate> <AssociatedTicketNumber couponNumber="4">7952127748123</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="1">7958219703852</IssuedDocumentNumber> </AssociatedFlight>

Misc Web Services 19 March 2019 219 Confidential and Proprietary Sabre Airline Solutions

</Fee> </Linked> </Fees> <TotalCost currencyCode="USD" xmlns="http://services.sabre.com/STL/v01">300.00</TotalCost> <Payment refNumber="1" xmlns="http://services.sabre.com/STL/v01"> <Amount currencyCode="USD">220.00</Amount> <FormOfPayment> <CreditCard> <Code>VI</Code> <Number>4111111111111111</Number> <ExpiryDate>1229</ExpiryDate> <ApprovalCode>US13475</ApprovalCode> </CreditCard> </FormOfPayment> </Payment> <Payment refNumber="2" xmlns="http://services.sabre.com/STL/v01"> <Amount currencyCode="USD">80.00</Amount> <FormOfPayment> <Cash/> </FormOfPayment> </Payment> </misc:CollectMiscFeeRS> </soap-env:Body> </soap-env:Envelope>

3.10.4 Display EMD

Now you can display the EMD.

*TR4« ELECTRONIC MISCELLANEOUS DOCUMENT - A/ASSOCIATED 7958219703852 NAME-HUSSAIN/IFTIKHAR TTL NBR OF CPNS-01 DATE OF ISSUE-10FEB16 PNR-DKSOAM REASON FOR ISSUANCE CODE-A/AIR TRANSPORTATION CPN A/L BRDOFF RFISC STAT 1 VA BNECBR 088 OK BASE VALUE USD 30.00 TOTAL VALUE USD 30.00 VALUE CALC BNE VA CBRUSD30.00END FORM OF PAYMENT FOP- VI************1111 20.00 APP CODE-US1347 FOP- CA 10.00 DATE OF ISSUE-10FEB16 ISSUED AT-WAGWA ISSUED IN CONNECTION WITH - 7952127748123 **** VALUE COUPONS DETAILS ****

Misc Web Services 19 March 2019 220 Confidential and Proprietary Sabre Airline Solutions

CPN 01 OF 01 CPN A/L BRDOFF RFISC STAT QTY 01 VA BNECBR 088 OK 1 REASON FOR ISSUANCE SUB CODE-088/TV SCREEN ‡ IN CONNECTION WITH DOCUMENT-7952127748123/4 ASSOCIATED CPN BASE VALUE USD 30.00 CPN TOTAL VALUE USD 30.00

Web Service Calls

To display the EMD use GetTicketingDocumentRQ. Please refer to https://developer.sabre.com/docs/soap_apis/air/fulfill/get_ticket_doc_details for more information and examples.

Misc Web Services 19 March 2019 221 Confidential and Proprietary Sabre Airline Solutions

3.11 EMD Associated (EMD-A) – Waive EMD

This scenario demonstrates the waiving of an EMD fee.

What does happen:

• The transaction updates the applicable AE item status from ‘HD’ to reflect “HK/CONFIRMED.”

• The waive data will be passed to existing offline files in order to record the waive transaction on the Airline Override Report.

What does not happen:

• No MSR or EMD documents are issued as part of the Waive process.

• The transaction does not update the remarks field of the PNR with the agent data and waive reason code.

3.11.1 Add AE Items to PNR

As you have seen in other scenarios, the first step for issuing an EMD is to add the AE items to the PNR.

3.11.1.1 Price Ancillary

Before you can add the AE items to the PNR, you need to send a request to gather all the pricing information. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

Note If you add a Group Code or Group Code and Rfic Sub Code you will have a smaller response returned by the web service. To obtain these codes contact ATPCO, or refer to their web site: http://info.atpco.net/download/OptionalSubCodes.pdf

3.11.1.2 Get Reservation

Next you need to obtain the reservation data in order to issue the EMD. For this function you use GetReservationRQ. It unpacks the PNR information, including any existing AE items. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

3.11.1.3 Add AE Items

The next step is to add the AE items. For this function you use UpdateReservationRQ. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/update_itinerary for more information and examples.

Misc Web Services 19 March 2019 222 Confidential and Proprietary Sabre Airline Solutions

3.11.1.4 End and Redisplay PNR

You need to end the PNR to save the AE items you just added by ending the transaction. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/End_Transaction for more information and examples.

3.11.2 Get Ancillary Fee Information from PNR

The next step in the process is to obtain the reservation again, but his time it will include the AE items now in the PNR.

Web Services Call

You accomplish this in the web service by using another GetReservationRQ web service call. This time it pulls in the newly added AE items. GetReservationRQ was specifically developed to pull in AE information.

Misc Web Services 19 March 2019 223 Confidential and Proprietary Sabre Airline Solutions

3.11.3 Waive EMD (WaiveMiscFeeRQ)

This step shows how you waive an EMD using the MISC web service and uses the WaiveMiscFeeRQ.

Note In order to waive EMD fees, your airline must have the Override Reason table updated (MISCO*).

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/fulfillment/Miscellaneous_v.1.4.2.wsdl

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service ns1:type="OTA">MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T11:15:12Z</ns1:Timestamp> <ns1:TimeToLive>2001-02-15T11:15:12Z</ns1:TimeToLive> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3495446363391834720!1803689!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <WaiveMiscFeeRQ version="1.4.1" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="PG" dutyCode="4" lniata="EMDS55" sine="-NC" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA/> </ns1:AgentPOS> <ns2:Transaction

Misc Web Services 19 March 2019 224 Confidential and Proprietary Sabre Airline Solutions

code="EMD" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Linked> <ns3:Customer firstName="WAIVE" lastName="EMD"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="NGPOPH"/> <ns3:Override reasonCode="01" reasonDesc="IRREGULAR SERVICE"/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="0CW" quantity="1"> <ns3:Base currencyCode="THB">505</ns3:Base> <ns3:Total currencyCode="THB">505</ns3:Total> </ns3:FeeDetails> <ns3:OptionalService RFIC="C" bookingIndicator="SSR" group="BG" name="SURFBOARD" segmentIndicator="S" subCode="0G0"> <ns3:EmdType>Associated</ns3:EmdType> <ns3:AirExtraItemNumber>15</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>MN</ns3:OwningCarrierCode> <ns3:Vendor>MMGR</ns3:Vendor> <ns3:IATAParameters commission="Y" interline="N" refundable="Y"/> </ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="1"> <ns3:CarrierCode>PG</ns3:CarrierCode> <ns3:OperatingCarrierCode>PG</ns3:OperatingCarrierCode> <ns3:FlightNumber>0161</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>BKK</ns3:DepartureCity> <ns3:ArrivalCity>USM</ns3:ArrivalCity> <ns3:DepartureDate>2015-12-12</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="1">8292174705690</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> </ns3:Fee> </ns3:Linked> </ns3:Fees> <ns4:TotalCost currencyCode="ZAR" xmlns:ns4="http://services.sabre.com/STL/v01">120</ns4:TotalCost> <ns5:DetailLevel xmlns:ns5="http://services.sabre.com/STL/v01">Full</ns5:DetailLevel> </WaiveMiscFeeRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Misc Web Services 19 March 2019 225 Confidential and Proprietary Sabre Airline Solutions

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="urn:x12.org:IO5:01">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="urn:x12.org:IO5:01">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service eb:type="OTA">MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2001-02-15T11:15:12Z</eb:Timestamp> <eb:TimeToLive>2001-02-15T11:15:12Z</eb:TimeToLive> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3495446363391834720!1803689!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:WaiveMiscFeeRS version="1.4.1" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results messageId="TKTHLI700-31319-902633233-1441230398260-5315-misc" timeStamp="2015-09-02T16:46:38"> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="PG" dutyCode="4" lniata="16AF46" sine="-NC" xmlns="http://services.sabre.com/STL/v01"/>

Misc Web Services 19 March 2019 226 Confidential and Proprietary Sabre Airline Solutions

<Transaction code="EMD" xmlns="http://services.sabre.com/STL/v01"/> <Fees xmlns="http://services.sabre.com/STL/v01"> <Linked> <Customer firstName="WAIVE" lastName="EMD"> <CustomerDetails nameRefNumber="1.1" pnrLocator="NGPOPH"/> <Override reasonCode="01" reasonDesc="IRREGULAR SERVICE"/> </Customer> <Fee> <FeeDetails code="0CW" quantity="1"> <Base currencyCode="THB">505</Base> <Total currencyCode="THB">505</Total> </FeeDetails> <OptionalService RFIC="C" bookingIndicator="SSR" group="Baggage" name="SURFBOARD" segmentIndicator="S" subCode="0G0" userFee="false"> <EmdType>Associated</EmdType> <AirExtraItemNumber>15</AirExtraItemNumber> <OwningCarrierCode>MN</OwningCarrierCode> <Vendor>MMGR</Vendor> <IATAParameters commission="Y" consumed="N/A" interline="N" refundable="Y" taxExempt="false"/> </OptionalService> <AssociatedFlight segmentID="0" segmentNumber="1"> <CarrierCode>PG</CarrierCode> <OperatingCarrierCode>PG</OperatingCarrierCode> <FlightNumber>161</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>BKK</DepartureCity> <ArrivalCity>USM</ArrivalCity> <DepartureDate>2015-12-12</DepartureDate> <AssociatedTicketNumber couponNumber="1">8292174705690</AssociatedTicketNumber> </AssociatedFlight> </Fee> </Linked> </Fees> <TotalCost currencyCode="ZAR" xmlns="http://services.sabre.com/STL/v01">120</TotalCost> </misc:WaiveMiscFeeRS> </soap-env:Body> </soap-env:Envelope>

Misc Web Services 19 March 2019 227 Confidential and Proprietary Sabre Airline Solutions

3.11.4 Get the Ancillary Information from PNR

Since the fee was wavied, there is no EMD created to view. However, you can view the AE items in the PNR to see that they have been confirmed.

Native Sabre

Here you can see the status has been updated from HD to HK/Confirmed. Since no EMD has been issued, the DOC/CF field is blank.

Web Service Calls

You accomplish this in the web service by using another GetReservationRQ web service call. This time it pulls in the updated AE items. GetReservationRQ was specifically developed to pull in AE information.

Misc Web Services 19 March 2019 228 Confidential and Proprietary Sabre Airline Solutions

3.12 EMD Associated (EMD-A) – XEMD Override / Issue MSR

This scenario demonstrates the process of overriding the issuance of an EMD when you want to issue an MSR instead.

3.12.1 Add AE Items to the PNR

The first step in the process is to add the AE items to the PNR.

3.12.1.1 Price Ancillary

Before you can add the AE items to the PNR, you need to send a request to gather all the pricing information. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

Note If you add a Group Code or Group Code and Rfic Sub Code you will have a smaller response returned by the web service. To obtain these codes contact ATPCO, or refer to their web site: http://info.atpco.net/download/OptionalSubCodes.pdf

3.12.1.2 Get Reservation

Next you need to obtain the reservation data in order to issue the EMD. For this function you use GetReservationRQ. It unpacks the PNR information, including any existing AE items. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

3.12.1.3 Add AE Items

The next step is to add the AE item for the first segment. For this function you use UpdateReservationRQ. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/update_itinerary for more information and examples.

3.12.1.4 End and Redisplay PNR

You need to end the PNR to save the AE items you just added by ending the transaction. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/End_Transaction for more information and examples.

3.12.2 Get Ancillary Fee Information from PNR

The next step in the process is to obtain the reservation again, but his time it will include the AE items now in the PNR.

Web Services Call

You accomplish this in the web service by using another GetReservationRQ web service call. This time it pulls in the newly added AE items. GetReservationRQ was specifically developed to pull in AE information.

Misc Web Services 19 March 2019 229 Confidential and Proprietary Sabre Airline Solutions

3.12.3 Issue MSR (CollectMiscFeeRQ)

Now you can issue the MSR. Please refer to https://developer.sabre.com/docs/read/soap_apis/air/fulfill/miscellaneous_sales_and_emd for information and examples.

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="1.0" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2010-10-16</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3490574683510974973!1005024!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CollectMiscFeeRQ version="1.4.1" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="SY" dutyCode="4" lniata="F27F26" sine="-NC" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>HDQ</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="XEMD" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Linked> <ns3:Customer firstName="AMBERCROMBIE"

Misc Web Services 19 March 2019 230 Confidential and Proprietary Sabre Airline Solutions

lastName="THOMAS"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="FNNCKD"/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="0HF" quantity="1"> <ns3:Base currencyCode="USD">10.00</ns3:Base> <ns3:TotalTax currencyCode="USD">2.00</ns3:TotalTax> <ns3:Total currencyCode="USD">12.00</ns3:Total> </ns3:FeeDetails> <ns3:OptionalService RFIC="G" bookingIndicator="SSR" group="ML" name="Meal Beverage" segmentIndicator="S" subCode="0HF" userFee="false"> <ns3:EmdType>Associated</ns3:EmdType> <ns3:AirExtraItemNumber>12</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>MN</ns3:OwningCarrierCode> <ns3:IATAParameters commission="N"/> </ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="1"> <ns3:CarrierCode>MN</ns3:CarrierCode> <ns3:FlightNumber>0468</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>CPT</ns3:DepartureCity> <ns3:ArrivalCity>HLA</ns3:ArrivalCity> <ns3:DepartureDate>2015-12-05</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="1">1612107460391</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> <ns3:Tax code="US1"> <ns3:Amount currencyCode="USD">1.00</ns3:Amount> </ns3:Tax> <ns3:Tax code="US2"> <ns3:Amount currencyCode="USD">1.00</ns3:Amount> </ns3:Tax> </ns3:Fee> </ns3:Linked> </ns3:Fees> <ns4:TotalCost currencyCode="USD" xmlns:ns4="http://services.sabre.com/STL/v01">12.00</ns4:TotalCost> <ns5:Payment xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:Amount currencyCode="USD">12.00</ns5:Amount> <ns5:FormOfPayment> <ns5:Cash>12.00</ns5:Cash>

Misc Web Services 19 March 2019 231 Confidential and Proprietary Sabre Airline Solutions

</ns5:FormOfPayment> </ns5:Payment> <ns6:DetailLevel xmlns:ns6="http://services.sabre.com/STL/v01">Full</ns6:DetailLevel> </CollectMiscFeeRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2010-10-16</eb:Timestamp> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3490574683510974973!1005024!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CollectMiscFeeRS version="1.4.1" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results messageId="TKTHLI701-13554-955005577-1442419765111-2878-misc" timeStamp="2015-09-16T11:09:25"> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header>

Misc Web Services 19 March 2019 232 Confidential and Proprietary Sabre Airline Solutions

<AgentPOS company="SY" dutyCode="4" lniata="457A2E" sine="-NC" xmlns="http://services.sabre.com/STL/v01"> <AAA>HDQ</AAA> </AgentPOS> <Transaction code="XEMD" xmlns="http://services.sabre.com/STL/v01"/> <Fees xmlns="http://services.sabre.com/STL/v01"> <Linked> <Customer firstName="AMBERCROMBIE" lastName="THOMAS"> <CustomerDetails nameRefNumber="1.1" pnrLocator="FNNCKD"/> </Customer> <Fee> <FeeDetails code="0HF" quantity="1"> <Base currencyCode="USD">10.00</Base> <TotalTax currencyCode="USD">2.00</TotalTax> <Total currencyCode="USD">12.00</Total> </FeeDetails> <OptionalService RFIC="G" bookingIndicator="SSR" group="Meal/Beverage" name="Meal Beverage" segmentIndicator="S" subCode="0HF" userFee="false"> <EmdType>Associated</EmdType> <AirExtraItemNumber>12</AirExtraItemNumber> <OwningCarrierCode>MN</OwningCarrierCode> <IATAParameters commission="N"/> </OptionalService> <AssociatedFlight segmentID="0" segmentNumber="1"> <CarrierCode>MN</CarrierCode> <FlightNumber>468</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>CPT</DepartureCity> <ArrivalCity>HLA</ArrivalCity> <DepartureDate>2015-12-05</DepartureDate> <AssociatedTicketNumber couponNumber="1">1612107460391</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="1">1610612728105</IssuedDocumentNumber> </AssociatedFlight> <Tax code="US1" exempt="false"> <Amount currencyCode="USD">1.00</Amount> </Tax> <Tax code="US2" exempt="false">

Misc Web Services 19 March 2019 233 Confidential and Proprietary Sabre Airline Solutions

<Amount currencyCode="USD">1.00</Amount> </Tax> </Fee> </Linked> </Fees> <TotalCost currencyCode="USD" xmlns="http://services.sabre.com/STL/v01">12.00</TotalCost> <Payment xmlns="http://services.sabre.com/STL/v01"> <Amount currencyCode="USD">12.00</Amount> <FormOfPayment> <Cash/> </FormOfPayment> </Payment> </misc:CollectMiscFeeRS> </soap-env:Body> </soap-env:Envelope>

Misc Web Services 19 March 2019 234 Confidential and Proprietary Sabre Airline Solutions

3.12.4 Display MSR via Agent Sales Report

Now that the MSR has been issued, you can display it.

Since the MSR is not an electronic document, the Get Ticket Document function of the GetTicketingDocumentRQ has nothing to obtain through the web service. However, you can view the MSR in the Agent Sales Report.

Native Sabre

WY*3« MSR - MISCELLANEOUS RECORD AGNT:HDQSD1 EMP:590000 PNR:FNNCKD TKT:1610612728105 ISSUED:16SEP15 CTY:VZN STA:77495250 NAME: THOMAS/AMBERCROMBIE FOP:CASH AMT: USD 12.00 RFIC-G CPN A/L FLT CLS DATE BRDOFF 1 MN 468 Y 05DEC CPTHLA QTY COD ITEM/SVC COST TAX TOTAL 01 0HF MEAL BEVERAGE 10.00 2.00 12.00 COST : USD 10.00 1.00US1 1.00US2 TOTAL: USD 12.00 END OF REPORT

Misc Web Services 19 March 2019 235 Confidential and Proprietary Sabre Airline Solutions

3.13 EMD to EMD Exchange

Another scenario where the EMD process calls the MISC Web Service is when you exchange one EMD for another EMD.

For EMD to EMD exchanges, two new functions within the MISC web service have been developed:

• CalculateExchnageCostRQ

Calculates the value difference between the exchanged EMD and unfulfilled ancillaries. Provides the difference (additional collection, refund or an even exchange) and the resulting residual value or addition collection amount.

• ExchangeDocumentforEMDRQ

Completes the exchange of one EMD and fulfills ancillaries by issuing one or more EMD documents.

If there are multiple documents on the database with the same document number, the IssueDate must be passed in the web service request to further indicate which EMD document is to be exchanged. In the case where multiple documents exist, the web services will return all document data in the response.

Example of duplicate exchange document numbers in the response: <ExchangeDoc xmlns="http://services.sabre.com/STL/v01"><DocumentNumber>9988200000254</DocumentNumber><IssueDate>2012-09-06T00:00:00.000-05:00</IssueDate><DocumentType>EMD</DocumentType><IssuePlace>JFK</IssuePlace><Reservation>KNLJDZ</Reservation><FirstName>PAXTWO</FirstName><LastName>FINAL</LastName><TotalAmount currencyCode="USD">210.00</TotalAmount></ExchangeDoc><ExchangeDoc xmlns="http://services.sabre.com/STL/v01"><DocumentNumber>9988200000254</DocumentNumber><IssueDate>2012-11-29T00:00:00.000-06:00</IssueDate><DocumentType>EMD</DocumentType><IssuePlace>DFW</IssuePlace><Reservation>GVDLOR</Reservation><FirstName>POLLY</FirstName><LastName>PASSENGER</LastName><TotalAmount currencyCode="USD">16.00</TotalAmount></ExchangeDoc><ExchangeDoc xmlns="http://services.sabre.com/STL/v01"><DocumentNumber>9988200000254</DocumentNumber><IssueDate>2013-01-24T00:00:00.000-06:00</IssueDate><DocumentType>EMD</DocumentType><IssuePlace>SFO</IssuePlace><Reservation>DGZKUZ</Reservation><FirstName>JOHN</FirstName><LastName>TESTER</LastName><TotalAmount currencyCode="USD">99.00</TotalAmount></ExchangeDoc><ExchangeDoc xmlns="http://services.sabre.com/STL/v01"><DocumentNumber>9988200000254</DocumentNumber><IssueDate>2013-04-09T00:00:00.000-05:00</IssueDate><DocumentType>EMD</DocumentType><IssuePlace>SFO</IssuePlace><Reservation>DFQMTM</Reservation><FirstName>LUCY</FirstName><LastName>SMITH</LastName><TotalAmount currencyCode="USD">75.00</TotalAmount></ExchangeDoc>

For demonstration purposes, this scenario begins after the initial EMD has been issued.

3.13.1 Add New AE Item

The first step in this process is to add the new AE item.

Misc Web Services 19 March 2019 236 Confidential and Proprietary Sabre Airline Solutions

3.13.1.1 Price Ancillary

Before you can add the AE items to the PNR, you need to send a request to gather all the pricing information. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

Note If you add a Group Code or Group Code and Rfic Sub Code you will have a smaller response returned by the web service. To obtain these codes contact ATPCO, or refer to their web site: http://info.atpco.net/download/OptionalSubCodes.pdf

3.13.1.2 Get Reservation

Next you need to obtain the reservation data in order to issue the EMD. For this function you use GetReservationRQ. It unpacks the PNR information, including any existing AE items. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

3.13.1.3 Add AE Items

The next step is to add the AE items. For this function you use UpdateReservationRQ. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/update_itinerary for more information and examples.

3.13.1.4 End and Redisplay PNR

You need to end the PNR to save the AE items you just added by ending the transaction. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/End_Transaction for more information and examples.

3.13.2 Calculate and Exchange the EMD

3.13.2.1 Calculate Exchange for EMD (MISCServicesRQ)

This step demonstrates calculating the cost of the exchange via the MISC web service (CalculateExchangeCostRQ). The calculation could result in an even exchange, an additional collection, or a refund.

This scenario is an add collect.

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/fulfillment/Miscellaneous_v.1.4.2.wsdl

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader">

Misc Web Services 19 March 2019 237 Confidential and Proprietary Sabre Airline Solutions

<ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T11:15:12Z</ns1:Timestamp> <TimeToLive>2001-02-15T11:15:12Z</TimeToLive> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3483756930261000319!624768!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CalculateExchangeCostRQ version="1.4.1" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="PG" dutyCode="4" lniata="F27F26" sine="-NC" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>CPT</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="EMD" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Customer firstName="AC" lastName="EMDTOEMD"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="IHUITA"/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="0BT" quantity="1"> <ns3:Base currencyCode="THB">755</ns3:Base> <ns3:Total currencyCode="THB">755</ns3:Total> </ns3:FeeDetails> <ns3:OptionalService RFIC="C" group="PT" name="PET IN CABIN" subCode="0BT"> <ns3:EmdType>Associated</ns3:EmdType> <ns3:AirExtraItemNumber>19</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>PG</ns3:OwningCarrierCode> <ns3:Vendor>MMGR</ns3:Vendor>

Misc Web Services 19 March 2019 238 Confidential and Proprietary Sabre Airline Solutions

</ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="1"> <ns3:CarrierCode>PG</ns3:CarrierCode> <ns3:FlightNumber>0171</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>BKK</ns3:DepartureCity> <ns3:ArrivalCity>USM</ns3:ArrivalCity> <ns3:DepartureDate>2016-01-14</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="1">8292174707412</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> </ns3:Fee> </ns3:Fees> <ns4:TotalCost currencyCode="THB" xmlns:ns4="http://services.sabre.com/STL/v01">755</ns4:TotalCost> <ns5:ExchangeDoc xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:DocumentNumber>8298200268625</ns5:DocumentNumber> </ns5:ExchangeDoc> <ns6:DetailLevel xmlns:ns6="http://services.sabre.com/STL/v01">Full</ns6:DetailLevel> </CalculateExchangeCostRQ>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2001-02-15T11:15:12Z</eb:Timestamp> <TimeToLive>2001-02-15T11:15:12Z</TimeToLive> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3483756930261000319!624768!0</wsse:BinarySecurityToken>

Misc Web Services 19 March 2019 239 Confidential and Proprietary Sabre Airline Solutions

</wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CalculateExchangeCostRS version="1.4.1" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results messageId="TKTHLI701-21842-679564063-1444084254818-12240-misc"> <ErrorSource>MISC-BSO</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <stl:AgentPOS company="PG" dutyCode="4" lniata="F27F26" sine="-NC" xmlns:stl="http://services.sabre.com/STL/v01"> <stl:AAA>CPT</stl:AAA> </stl:AgentPOS> <stl:Transaction code="EMD" xmlns:stl="http://services.sabre.com/STL/v01"/> <stl:Fees xmlns:stl="http://services.sabre.com/STL/v01"> <stl:Customer firstName="AC" lastName="EMDTOEMD"> <stl:CustomerDetails nameRefNumber="1.1" pnrLocator="IHUITA"/> </stl:Customer> <stl:Fee> <stl:FeeDetails code="0BT" quantity="1"> <stl:Base currencyCode="THB">755</stl:Base> <stl:Total currencyCode="THB">755</stl:Total> </stl:FeeDetails> <stl:OptionalService RFIC="C" group="PT" name="PET IN CABIN" subCode="0BT"> <stl:EmdType>Associated</stl:EmdType> <stl:AirExtraItemNumber>19</stl:AirExtraItemNumber> <stl:OwningCarrierCode>PG</stl:OwningCarrierCode> <stl:Vendor>MMGR</stl:Vendor> </stl:OptionalService> <stl:AssociatedFlight segmentNumber="1"> <stl:CarrierCode>PG</stl:CarrierCode> <stl:FlightNumber>0171</stl:FlightNumber> <stl:ClassOfService>Y</stl:ClassOfService> <stl:DepartureCity>BKK</stl:DepartureCity>

Misc Web Services 19 March 2019 240 Confidential and Proprietary Sabre Airline Solutions

<stl:ArrivalCity>USM</stl:ArrivalCity> <stl:DepartureDate>2016-01-14</stl:DepartureDate> <stl:AssociatedTicketNumber couponNumber="1">8292174707412</stl:AssociatedTicketNumber> </stl:AssociatedFlight> </stl:Fee> </stl:Fees> <stl:TotalCost currencyCode="THB" xmlns:stl="http://services.sabre.com/STL/v01">755</stl:TotalCost> <ExchangeDoc xmlns="http://services.sabre.com/STL/v01"> <DocumentNumber>8298200268625</DocumentNumber> <IssueDate>2015-10-06T05:30:44</IssueDate> <DocumentType>EMD</DocumentType> <IssuePlace>BKK</IssuePlace> <Reservation>IHUITA</Reservation> <FirstName>AC</FirstName> <LastName>EMDTOEMD</LastName> <TotalAmount currencyCode="THB">705</TotalAmount> <Payment>CA</Payment> </ExchangeDoc> <ExchangeCost result="AC" xmlns="http://services.sabre.com/STL/v01"> <Exchange> <Amount currencyCode="THB">50</Amount> </Exchange> </ExchangeCost> </misc:CalculateExchangeCostRS> </soap-env:Body> </soap-env:Envelope>

3.13.2.2 Exchange the EMD

In this step you exchange the EMD for a new one via the MISC web service (ExchangeDocumentForEMDRQ).

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/fulfillment/Miscellaneous_v.1.4.2.wsdl

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="1.0" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId>

Misc Web Services 19 March 2019 241 Confidential and Proprietary Sabre Airline Solutions

</ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2012-05-14</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3483756930261000319!624768!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <ExchangeDocumentForEMDRQ version="1.4.1" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="PG" dutyCode="1" lniata="E2EABC" sine="-NC" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>CPT</ns1:AAA> <ns1:Location>CPT</ns1:Location> </ns1:AgentPOS> <ns2:Transaction code="EMD" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Customer firstName="AC" lastName="EMDTOEMD"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="IHUITA"/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="0BT" quantity="1"> <ns3:Base currencyCode="THB">755</ns3:Base> <ns3:Total currencyCode="THB">755</ns3:Total> </ns3:FeeDetails> <ns3:FOPDetails> <ns3:FOP paymentRefNumber="1">20</ns3:FOP> <ns3:FOP paymentRefNumber="2">30</ns3:FOP> </ns3:FOPDetails> <ns3:OptionalService RFIC="C" group="PT" name="PET IN CABIN" segmentIndicator="S" subCode="0BT">

Misc Web Services 19 March 2019 242 Confidential and Proprietary Sabre Airline Solutions

<ns3:EmdType>Associated</ns3:EmdType> <ns3:AirExtraItemNumber>19</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>PG</ns3:OwningCarrierCode> <ns3:Vendor>MMGR</ns3:Vendor> <ns3:IATAParameters commission="N/A" consumed="Y"/> </ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="1"> <ns3:CarrierCode>PG</ns3:CarrierCode> <ns3:FlightNumber>0171</ns3:FlightNumber> <ns3:ClassOfService>Y</ns3:ClassOfService> <ns3:DepartureCity>BKK</ns3:DepartureCity> <ns3:ArrivalCity>USM</ns3:ArrivalCity> <ns3:DepartureDate>2016-01-14</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="1">8292174707412</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> </ns3:Fee> </ns3:Fees> <ns4:TotalCost currencyCode="THB" xmlns:ns4="http://services.sabre.com/STL/v01">755</ns4:TotalCost> <ns5:Payment xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:Amount currencyCode="THB">705</ns5:Amount> <ns5:FormOfPayment> <ns5:ExchangeDoc> <ns5:DocumentNumber couponNumber="1">8298200268625</ns5:DocumentNumber> </ns5:ExchangeDoc> </ns5:FormOfPayment> </ns5:Payment> <ns6:Payment xmlns:ns6="http://services.sabre.com/STL/v01"> <ns6:Amount currencyCode="THB">50</ns6:Amount> <ns6:FormOfPayment> <ns6:Cash/> </ns6:FormOfPayment> </ns6:Payment> <ns7:DetailLevel xmlns:ns7="http://services.sabre.com/STL/v01">Full</ns7:DetailLevel> </ExchangeDocumentForEMDRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader">

Misc Web Services 19 March 2019 243 Confidential and Proprietary Sabre Airline Solutions

<eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2012-05-14</eb:Timestamp> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3483756930261000319!624768!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:ExchangeDocumentForEMDRS version="1.4.1" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results messageId="TKTHLI701-21842-679564063-1444084255578-12242-misc" timeStamp="2015-10-05T17:30:55"> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="PG" dutyCode="1" lniata="60E26A" sine="-NC" xmlns="http://services.sabre.com/STL/v01"> <AAA>CPT</AAA> </AgentPOS> <Transaction code="EMD" xmlns="http://services.sabre.com/STL/v01"/> <Fees xmlns="http://services.sabre.com/STL/v01"> <Customer firstName="AC" lastName="EMDTOEMD"> <CustomerDetails nameRefNumber="1.1" pnrLocator="IHUITA"/> </Customer> <Fee>

Misc Web Services 19 March 2019 244 Confidential and Proprietary Sabre Airline Solutions

<FeeDetails code="0BT" quantity="1"> <Base currencyCode="THB">755</Base> <Total currencyCode="THB">755</Total> </FeeDetails> <OptionalService RFIC="C" group="Pets" name="PET IN CABIN" segmentIndicator="S" subCode="0BT"> <EmdType>Associated</EmdType> <AirExtraItemNumber>19</AirExtraItemNumber> <OwningCarrierCode>PG</OwningCarrierCode> <Vendor>MMGR</Vendor> <IATAParameters commission="N/A" consumed="Y" taxExempt="false"/> </OptionalService> <AssociatedFlight segmentID="0" segmentNumber="1"> <CarrierCode>PG</CarrierCode> <FlightNumber>171</FlightNumber> <ClassOfService>Y</ClassOfService> <DepartureCity>BKK</DepartureCity> <ArrivalCity>USM</ArrivalCity> <DepartureDate>2016-01-14</DepartureDate> <AssociatedTicketNumber couponNumber="1">8292174707412</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="1">8298200268626</IssuedDocumentNumber> </AssociatedFlight> </Fee> </Fees> <TotalCost currencyCode="THB" xmlns="http://services.sabre.com/STL/v01">755</TotalCost> <Payment xmlns="http://services.sabre.com/STL/v01"> <Amount currencyCode="THB">705</Amount> <FormOfPayment> <ExchangeDoc> <DocumentNumber couponNumber="1">8298200268625</DocumentNumber> <IssueDate>2015-10-06</IssueDate> <IssuePlace>BKK</IssuePlace> <OrigFop>CA</OrigFop> </ExchangeDoc> </FormOfPayment> </Payment> <Payment xmlns="http://services.sabre.com/STL/v01"> <Amount currencyCode="THB">50</Amount> <FormOfPayment> <Cash/>

Misc Web Services 19 March 2019 245 Confidential and Proprietary Sabre Airline Solutions

</FormOfPayment> </Payment> <ExchangeDoc xmlns="http://services.sabre.com/STL/v01"> <DocumentNumber>8298200268625</DocumentNumber> <IssueDate>2015-10-06T05:30:44</IssueDate> <DocumentType>EMD</DocumentType> <IssuePlace>BKK</IssuePlace> <Reservation>IHUITA</Reservation> <FirstName>AC</FirstName> <LastName>EMDTOEMD</LastName> <TotalAmount currencyCode="THB">705</TotalAmount> <Payment>CA</Payment> </ExchangeDoc> <ExchangeCost result="AC" xmlns="http://services.sabre.com/STL/v01"> <Exchange> <Amount currencyCode="THB">50</Amount> </Exchange> </ExchangeCost> </misc:ExchangeDocumentForEMDRS> </soap-env:Body> </soap-env:Envelope>

3.13.3 Display the EMD

Native Sabre

Here is the new EMD displayed in native Sabre.

WEMD*8298200268626« ELECTRONIC MISCELLANEOUS DOCUMENT - A/ASSOCIATED 8298200268626 NAME-EMDTOEMD/AC TTL NBR OF CPNS-01 DATE OF ISSUE-06OCT15 PNR-IHUITA REASON FOR ISSUANCE CODE-C/BAGGAGE CPN A/L BRDOFF RFISC STAT 1 PG BKKUSM 0BT OK BASE VALUE THB 755 TOTAL VALUE THB 50A FORM OF PAYMENT FOP- ET 705 FOP- CA 50 DATE OF ISSUE-06OCT15 ISSUED AT-BKKTO ISSUED IN CONNECTION WITH - 8292174707412 ORIG FOP-EFCA ORIG DOCUMENT-8298200268625 DATE/PLACE OF ISSUE-06OCT15/BKK **** VALUE COUPONS DETAILS ****

Misc Web Services 19 March 2019 246 Confidential and Proprietary Sabre Airline Solutions

CPN 01 OF 01 CPN A/L BRDOFF RFISC STAT QTY 01 PG BKKUSM 0BT OK 1 ‡ REASON FOR ISSUANCE SUB CODE-0BT/PET IN CABIN AE ITEM FILING SOURCE-MMGR IN CONNECTION WITH DOCUMENT-8292174707412/1 ASSOCIATED CPN BASE VALUE THB 755 CPN TOTAL VALUE THB 755

And here is the original EMD. Notice the status is now EXCH, and the coupons are disassociated.

WMD*8298200268625« ELECTRONIC MISCELLANEOUS DOCUMENT - A/ASSOCIATED 8298200268625 NAME-EMDTOEMD/AC TTL NBR OF CPNS-01 DATE OF ISSUE-06OCT15 PNR-IHUITA REASON FOR ISSUANCE CODE-C/BAGGAGE CPN A/L BRDOFF RFISC STAT 1 PG BKKUSM 0EF EXCH BASE VALUE THB 705 TOTAL VALUE THB 705 FORM OF PAYMENT FOP- CA 705 DATE OF ISSUE-06OCT15 ISSUED AT-BKKTO ISSUED IN CONNECTION WITH - 8292174707412 **** VALUE COUPONS DETAILS **** CPN 01 OF 01 CPN A/L BRDOFF RFISC STAT QTY 01 PG BKKUSM 0EF EXCH 1 REASON FOR ISSUANCE SUB CODE-0EF/SMALL SPORTING EQUIPMENT AE ITEM FILING SOURCE-MMGR IN CONNECTION WITH DOCUMENT-8292174707412/1 DISASSOCIATED CPN BASE VALUE THB 705 CPN TOTAL VALUE THB 705

Misc Web Services 19 March 2019 247 Confidential and Proprietary Sabre Airline Solutions

Web Service Calls

To display the EMD use GetTicketingDocumentRQ. Please refer to https://developer.sabre.com/docs/soap_apis/air/fulfill/get_ticket_doc_details for more information and examples.

Misc Web Services 19 March 2019 248 Confidential and Proprietary Sabre Airline Solutions

3.14 EMD to EMD Exchange Codeshare (IEMD)

For demonstration purposes, this scenario begins after the initial EMD has been issued.

3.14.1 Add New AE Item

The first step in this process is to add the new AE item.

3.14.1.1 Price Ancillary

Before you can add the AE items to the PNR, you need to send a request to gather all the pricing information. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

Note If you add a Group Code or Group Code and Rfic Sub Code you will have a smaller response returned by the web service. To obtain these codes contact ATPCO, or refer to their web site: http://info.atpco.net/download/OptionalSubCodes.pdf

3.14.1.2 Get Reservation

Next you need to obtain the reservation data in order to issue the EMD. For this function you use GetReservationRQ. It unpacks the PNR information, including any existing AE items. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

3.14.1.3 Add AE Items

The next step is to add the AE items. For this function you use UpdateReservationRQ. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/update_itinerary for more information and examples.

3.14.1.4 End and Redisplay PNR

You need to end the PNR to save the AE items you just added by ending the transaction. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/End_Transaction for more information and examples.

3.14.2 Calculate and Exchange the EMD

3.14.2.1 Calculate Exchange for EMD (MISCServicesRQ)

This step demonstrates calculating the cost of the exchange via the MISC web service (CalculateExchangeCostRQ). The calculation could result in an even exchange, an additional collection, or a refund.

This scenario is an add collect.

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/fulfillment/Miscellaneous_v.1.4.2.wsdl

Misc Web Services 19 March 2019 249 Confidential and Proprietary Sabre Airline Solutions

Request

<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T11:15:12Z</ns1:Timestamp> <TimeToLive>2001-02-15T11:15:12Z</TimeToLive> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3347234881716015577!1922233!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CalculateExchangeCostRQ version="1.4.1" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="EY" dutyCode="4" lniata="F27F26" sine="-NC" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>AUH</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="EMD" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Customer firstName="MARK MR" lastName="WAUGH"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="HZAGQD"/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="0CC" quantity="1"> <ns3:Base

Misc Web Services 19 March 2019 250 Confidential and Proprietary Sabre Airline Solutions

currencyCode="AED">300</ns3:Base> <ns3:Total currencyCode="AED">300</ns3:Total> </ns3:FeeDetails> <ns3:OptionalService RFIC="C" group="BG" name="CHECKED BAG FIRST" subCode="0CC"> <ns3:EmdType>Associated</ns3:EmdType> <ns3:AirExtraItemNumber>30</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>EY</ns3:OwningCarrierCode> <ns3:Vendor>ATP</ns3:Vendor> </ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="2"> <ns3:CarrierCode>EY</ns3:CarrierCode> <ns3:FlightNumber>8734</ns3:FlightNumber> <ns3:ClassOfService>T</ns3:ClassOfService> <ns3:DepartureCity>BLR</ns3:DepartureCity> <ns3:ArrivalCity>AUH</ns3:ArrivalCity> <ns3:DepartureDate>2016-11-10</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="1">6072130375941</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> </ns3:Fee> <ns3:Fee> <ns3:FeeDetails code="0CC" quantity="1"> <ns3:Base currencyCode="AED">300</ns3:Base> <ns3:Total currencyCode="AED">300</ns3:Total> </ns3:FeeDetails> <ns3:OptionalService RFIC="C" group="BG" name="CHECKED BAG FIRST" subCode="0CC"> <ns3:EmdType>Associated</ns3:EmdType> <ns3:AirExtraItemNumber>34</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>EY</ns3:OwningCarrierCode> <ns3:Vendor>ATP</ns3:Vendor> </ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="2"> <ns3:CarrierCode>EY</ns3:CarrierCode> <ns3:FlightNumber>8735</ns3:FlightNumber> <ns3:ClassOfService>T</ns3:ClassOfService> <ns3:DepartureCity>AUH</ns3:DepartureCity> <ns3:ArrivalCity>BLR</ns3:ArrivalCity> <ns3:DepartureDate>2016-11-13</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="2">6072130375941</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> </ns3:Fee> </ns3:Fees> <ns4:TotalCost currencyCode="AED" xmlns:ns4="http://services.sabre.com/STL/v01">600</ns4:TotalCost> <ns5:ExchangeDoc

Misc Web Services 19 March 2019 251 Confidential and Proprietary Sabre Airline Solutions

xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:DocumentNumber>6078202390119</ns5:DocumentNumber> </ns5:ExchangeDoc> <ns6:DetailLevel xmlns:ns6="http://services.sabre.com/STL/v01">Full</ns6:DetailLevel> </CalculateExchangeCostRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response

<?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="URI">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="URI">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRQ</eb:Action> <eb:MessageData> <eb:MessageId>504679614356411760</eb:MessageId> <eb:Timestamp>2016-10-25T17:03:56</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!-3347234881716015577!1922233!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CalculateExchangeCostRS version="1.4.1" xmlns="http://services.sabre.com/STL/v01" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header> <Results messageId="TKTHLI701-15897-1667268713-1477415035652-8915-misc"> <ErrorSource>MISC-BSO</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText>

Misc Web Services 19 March 2019 252 Confidential and Proprietary Sabre Airline Solutions

</SystemSpecificResults> </Results> </Header> <ns1:AgentPOS company="EY" dutyCode="4" lniata="F27F26" sine="-NC" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>AUH</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="EMD" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0" xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Customer firstName="MARK MR" lastName="WAUGH"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="HZAGQD"/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="0CC" quantity="1"> <ns3:Base currencyCode="AED">300</ns3:Base> <ns3:Total currencyCode="AED">300</ns3:Total> </ns3:FeeDetails> <ns3:OptionalService RFIC="C" group="BG" name="CHECKED BAG FIRST" subCode="0CC"> <ns3:EmdType>Associated</ns3:EmdType> <ns3:AirExtraItemNumber>30</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>EY</ns3:OwningCarrierCode> <ns3:Vendor>ATP</ns3:Vendor> </ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="2"> <ns3:CarrierCode>EY</ns3:CarrierCode> <ns3:FlightNumber>8734</ns3:FlightNumber> <ns3:ClassOfService>T</ns3:ClassOfService> <ns3:DepartureCity>BLR</ns3:DepartureCity> <ns3:ArrivalCity>AUH</ns3:ArrivalCity> <ns3:DepartureDate>2016-11-10</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="1">6072130375941</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> </ns3:Fee> <ns3:Fee> <ns3:FeeDetails code="0CC" quantity="1"> <ns3:Base currencyCode="AED">300</ns3:Base> <ns3:Total currencyCode="AED">300</ns3:Total> </ns3:FeeDetails>

Misc Web Services 19 March 2019 253 Confidential and Proprietary Sabre Airline Solutions

<ns3:OptionalService RFIC="C" group="BG" name="CHECKED BAG FIRST" subCode="0CC"> <ns3:EmdType>Associated</ns3:EmdType> <ns3:AirExtraItemNumber>34</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>EY</ns3:OwningCarrierCode> <ns3:Vendor>ATP</ns3:Vendor> </ns3:OptionalService> <ns3:AssociatedFlight segmentNumber="2"> <ns3:CarrierCode>EY</ns3:CarrierCode> <ns3:FlightNumber>8735</ns3:FlightNumber> <ns3:ClassOfService>T</ns3:ClassOfService> <ns3:DepartureCity>AUH</ns3:DepartureCity> <ns3:ArrivalCity>BLR</ns3:ArrivalCity> <ns3:DepartureDate>2016-11-13</ns3:DepartureDate> <ns3:AssociatedTicketNumber couponNumber="2">6072130375941</ns3:AssociatedTicketNumber> </ns3:AssociatedFlight> </ns3:Fee> </ns3:Fees> <ns4:TotalCost currencyCode="AED" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0" xmlns:ns4="http://services.sabre.com/STL/v01">600</ns4:TotalCost> <ExchangeDoc> <DocumentNumber>6078202390119</DocumentNumber> <IssueDate>2016-10-25T20:47:30</IssueDate> <DocumentType>EMD</DocumentType> <IssuePlace>AUH</IssuePlace> <Reservation>HZAGQD</Reservation> <FirstName>MARK MR</FirstName> <LastName>WAUGH</LastName> <TotalAmount currencyCode="AED">1100</TotalAmount> <Payment>CCVI41xxxxxxxxxxxxx</Payment> </ExchangeDoc> <ExchangeCost refundFOP="CC" result="RF"> <Exchange> <Amount currencyCode="AED">500</Amount> </Exchange> </ExchangeCost> </misc:CalculateExchangeCostRS> </soap-env:Body> </soap-env:Envelope>

3.15 EMD Standalone Type 1 (EMD-S)

An EMD Standalone transaction means that the EMD is not associated to a VCR coupon. It is dependent on an AE item but it stands alone other than that.

This scenario demonstrates how to issue an EMD Standalone via the the web service.

Misc Web Services 19 March 2019 254 Confidential and Proprietary Sabre Airline Solutions

3.15.1 Add AE Items to the PNR

The first step in the process is to add the AE items to the PNR.

3.15.1.1 Price Ancillary

Before you can add the AE items to the PNR, you need to send a request to gather all the pricing information. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

Note If you add a Group Code or Group Code and Rfic Sub Code you will have a smaller response returned by the web service. To obtain these codes contact ATPCO, or refer to their web site: http://info.atpco.net/download/OptionalSubCodes.pdf

3.15.1.2 Get Reservation

Next you need to obtain the reservation data in order to issue the EMD. For this function you use GetReservationRQ. It unpacks the PNR information, including any existing AE items. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

3.15.1.3 Add AE Items

The next step is to add the AE item for the first segment. For this function you use UpdateReservationRQ. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/update_itinerary for more information and examples.

3.15.1.4 End and Redisplay PNR

You need to end the PNR to save the AE items you just added by ending the transaction. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/End_Transaction for more information and examples.

3.15.2 Get Ancillary Fee Information from PNR

The next step in the process is to obtain the reservation again, but his time it will include the AE items now in the PNR.

Native Sabre

Below is the native Sabre entry and response when displaying the AE field from the PNR. The web service call below provides more information about the AE items than what you see in this display.

*AE« ANCILLARY SERVICES 1.BOOKING FEE 1.1 PASSENGER/PENNY STATUS - HD1/PAYMENT REQUIRED AMOUNT - 50.00AUD TOTAL - 50.00AUD DOC/CF -

Misc Web Services 19 March 2019 255 Confidential and Proprietary Sabre Airline Solutions

2.NON REVENUE INTL SERVICE FEE 1.1 PASSENGER/PENNY STATUS - HD1/PAYMENT REQUIRED AMOUNT - 65.00AUD TOTAL - 65.00AUD DOC/CF -

Web Services Call

You accomplish this in the web service by using another GetReservationRQ web service call. This time it pulls in the newly added AE items. GetReservationRQ was specifically developed to pull in AE information.

3.15.3 Issue EMD (CollectMiscFeeRQ)

This step demonstrates issuing the EMD via the MISC web service (CollectMiscFeeRQ). Please refer to https://developer.sabre.com/docs/read/soap_apis/air/fulfill/miscellaneous_sales_and_emd for information and examples.

Note This XML example uses credit card form of payment. When you have a credit card as payment, you need to request authorization via the PaymentRQ web service prior to the CollectMISCFee web service call.

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2010-10-16</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/CERTG!ICESMSLB\/CRT.LB!-3495443432709941342!18158!0</ns1:BinarySecurityToken> </ns1:Security>

Misc Web Services 19 March 2019 256 Confidential and Proprietary Sabre Airline Solutions

</SOAP-ENV:Header> <SOAP-ENV:Body> <CollectMiscFeeRQ version="1.4.1" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="VA" dutyCode="4" lniata="LNEMDS" sine="EMD" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>MEL</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="EMD" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Linked> <ns3:Customer firstName="PENNY" lastName="PASSENGER"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="TCFUDN"/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="990" quantity="1"> <ns3:Base currencyCode="AUD">50.00</ns3:Base> <ns3:Total currencyCode="AUD">50.00</ns3:Total> </ns3:FeeDetails> <ns3:OptionalService RFIC="D" bookingIndicator="SSR" group="99" name="BOOKING FEE" segmentIndicator="S" subCode="990"> <ns3:EmdType>Standalone</ns3:EmdType> <ns3:AirExtraItemNumber>8</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>VA</ns3:OwningCarrierCode> <ns3:Vendor>MMGR</ns3:Vendor> <ns3:IATAParameters commission="Y" consumed="Y" interline="Y" refundable="Y" taxExempt="true"/> </ns3:OptionalService> </ns3:Fee> <ns3:Fee> <ns3:FeeDetails code="98A" quantity="1"> <ns3:Base currencyCode="AUD">65.00</ns3:Base> <ns3:Total currencyCode="AUD">65.00</ns3:Total> </ns3:FeeDetails> <ns3:OptionalService RFIC="D" bookingIndicator="SSR" group="99" name="NON REVENUE INTL SERVICE FEE" segmentIndicator="S" subCode="98A"> <ns3:EmdType>Standalone</ns3:EmdType> <ns3:AirExtraItemNumber>9</ns3:AirExtraItemNumber>

Misc Web Services 19 March 2019 257 Confidential and Proprietary Sabre Airline Solutions

<ns3:OwningCarrierCode>VA</ns3:OwningCarrierCode> <ns3:Vendor>MMGR</ns3:Vendor> <ns3:IATAParameters commission="N" consumed="Y" interline="Y" refundable="Y" taxExempt="true"/> </ns3:OptionalService> </ns3:Fee> <ns3:Endorsement>STANDALONE EMD ENDORSEMENT</ns3:Endorsement> </ns3:Linked> </ns3:Fees> <ns4:TotalCost currencyCode="AUD" xmlns:ns4="http://services.sabre.com/STL/v01">115.00</ns4:TotalCost> <ns5:Payment xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:Amount currencyCode="AUD">115.00</ns5:Amount> <ns5:FormOfPayment> <ns5:CreditCard> <ns5:Code>VI</ns5:Code> <ns5:Number>xxxxxxxxxxxxxxxx</ns5:Number> <ns5:ExpiryDate>xxxx</ns5:ExpiryDate> <ns5:ApprovalCode>Z4444</ns5:ApprovalCode> </ns5:CreditCard> </ns5:FormOfPayment> </ns5:Payment> <ns6:DetailLevel xmlns:ns6="http://services.sabre.com/STL/v01">Full</ns6:DetailLevel> </CollectMiscFeeRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2010-10-16</eb:Timestamp> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken

Misc Web Services 19 March 2019 258 Confidential and Proprietary Sabre Airline Solutions

EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/CERTG!ICESMSLB\/CRT.LB!-3495443432709941342!18158!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CollectMiscFeeRS version="1.4.1" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header xmlns="http://services.sabre.com/STL/v01"> <Results messageId="TKTHLC704-45695-1859694991-1441231135940-4602-misc" timeStamp="2015-09-02T16:58:55"> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="VA" dutyCode="4" lniata="38C7D0" sine="EMD" xmlns="http://services.sabre.com/STL/v01"> <AAA>MEL</AAA> </AgentPOS> <Transaction code="EMD" xmlns="http://services.sabre.com/STL/v01"/> <Fees xmlns="http://services.sabre.com/STL/v01"> <Linked> <Customer firstName="PENNY" lastName="PASSENGER"> <CustomerDetails nameRefNumber="1.1" pnrLocator="TCFUDN"/> </Customer> <Fee> <FeeDetails code="990" quantity="1"> <Base currencyCode="AUD">50.00</Base> <Total currencyCode="AUD">50.00</Total> </FeeDetails> <OptionalService RFIC="D" bookingIndicator="SSR" group="Miscellaneous Fees" name="BOOKING FEE" segmentIndicator="S" subCode="990" userFee="false"> <EmdType>Standalone</EmdType> <AirExtraItemNumber>8</AirExtraItemNumber> <OwningCarrierCode>VA</OwningCarrierCode> <Vendor>MMGR</Vendor> <IATAParameters commission="Y" consumed="Y" interline="Y" refundable="Y"

Misc Web Services 19 March 2019 259 Confidential and Proprietary Sabre Airline Solutions

taxExempt="true"/> </OptionalService> <IssuedDocumentNumber couponNumber="1">7958216920632</IssuedDocumentNumber> </Fee> <Fee> <FeeDetails code="98A" quantity="1"> <Base currencyCode="AUD">65.00</Base> <Total currencyCode="AUD">65.00</Total> </FeeDetails> <OptionalService RFIC="D" bookingIndicator="SSR" group="Miscellaneous Fees" name="NON REVENUE INTL SERVICE FEE" segmentIndicator="S" subCode="98A" userFee="false"> <EmdType>Standalone</EmdType> <AirExtraItemNumber>9</AirExtraItemNumber> <OwningCarrierCode>VA</OwningCarrierCode> <Vendor>MMGR</Vendor> <IATAParameters commission="N" consumed="Y" interline="Y" refundable="Y" taxExempt="true"/> </OptionalService> <IssuedDocumentNumber couponNumber="1">7958216920633</IssuedDocumentNumber> </Fee> <Endorsement>STANDALONE EMD ENDORSEMENT</Endorsement> </Linked> </Fees> <TotalCost currencyCode="AUD" xmlns="http://services.sabre.com/STL/v01">115.00</TotalCost> <Payment xmlns="http://services.sabre.com/STL/v01"> <Amount currencyCode="AUD">115.00</Amount> <FormOfPayment> <CreditCard> <Code>VI</Code> <Number>xxxxxxxxxxxxxxx</Number> <ExpiryDate>xxxx</ExpiryDate> <ApprovalCode>Z4444</ApprovalCode> </CreditCard> </FormOfPayment> </Payment> </misc:CollectMiscFeeRS> </soap-env:Body> </soap-env:Envelope>

3.15.4 Display EMD

Now you can display the EMD.

Misc Web Services 19 March 2019 260 Confidential and Proprietary Sabre Airline Solutions

Native Sabre

Below is the native Sabre entry and response when you display the EMD from the PNR.

WEMD*7958216920632« ELECTRONIC MISCELLANEOUS DOCUMENT - S/STANDALONE 7958216920632 NAME-PASSENGER/PENNY TTL NBR OF CPNS-01 DATE OF ISSUE-03SEP15 PNR-TCFUDN EXP-03SEP16 REASON FOR ISSUANCE CODE-D/FINANCIAL IMPACT CPN A/L BRDOFF RFISC STAT 1 VA 990 USED BASE VALUE AUD 50.00 TOTAL VALUE AUD 50.00 FORM OF PAYMENT FOP- VI************1111 50.00 APP CODE-Z4444 DATE OF ISSUE-03SEP15 ISSUED AT-MELAD ENDORSEMENTS/RESTRICTIONS- STANDALONE EMD ENDORSEMENT **** VALUE COUPONS DETAILS **** CPN 01 OF 01 CPN A/L BRDOFF RFISC STAT QTY 01 VA 990 USED 1 REASON FOR ISSUANCE SUB CODE-990/BOOKING FEE AE ITEM FILING SOURCE-MMGR ‡ CPN BASE VALUE AUD 50.00 CPN TAXES TAX EX CPN TOTAL VALUE AUD 50.00 *TR3« ELECTRONIC MISCELLANEOUS DOCUMENT - S/STANDALONE 7958216920633 NAME-PASSENGER/PENNY TTL NBR OF CPNS-01 DATE OF ISSUE-03SEP15 PNR-TCFUDN EXP-03SEP16 REASON FOR ISSUANCE CODE-D/FINANCIAL IMPACT CPN A/L BRDOFF RFISC STAT 1 VA 98A USED BASE VALUE AUD 65.00 TOTAL VALUE AUD 65.00 FORM OF PAYMENT FOP- VI************1111 65.00 APP CODE-Z4444 DATE OF ISSUE-03SEP15 ISSUED AT-MELAD ENDORSEMENTS/RESTRICTIONS- STANDALONE EMD ENDORSEMENT

Misc Web Services 19 March 2019 261 Confidential and Proprietary Sabre Airline Solutions

**** VALUE COUPONS DETAILS **** CPN 01 OF 01 CPN A/L BRDOFF RFISC STAT QTY 01 VA 98A USED 1 REASON FOR ISSUANCE SUB CODE-98A/NON REVENUE INTL SERVICE FEE AE ITEM FILING SOURCE-MMGR CPN BASE VALUE AUD 65.00 CPN TAXES TAX EX CPN TOTAL VALUE AUD 65.00

Web Service Calls

To display the EMD use GetTicketingDocumentRQ. Please refer to https://developer.sabre.com/docs/soap_apis/air/fulfill/get_ticket_doc_details for more information and examples.

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="1.0" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>TicketingDocumentServicesRQ</ns1:Service> <ns1:Action>TicketingDocumentServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2010-10-16</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/CERTG!ICESMSLB\/CRT.LB!-3492660030041992030!816670!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <GetTicketingDocumentRQ Version="3.12.0" xmlns="http://www.sabre.com/ns/Ticketing/DC">

Misc Web Services 19 March 2019 262 Confidential and Proprietary Sabre Airline Solutions

<ns1:STL_Header.RQ xmlns:ns1="http://services.sabre.com/STL/v01"/> <ns2:POS xmlns:ns2="http://services.sabre.com/STL/v01"/> <SearchParameters> <TicketingProvider>VA</TicketingProvider> <DocumentNumber>7958216920632</DocumentNumber> <DocumentNumber>7958216920633</DocumentNumber> </SearchParameters> </GetTicketingDocumentRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId>123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId>999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>TicketingDocumentServicesRQ</eb:Service> <eb:Action>TicketingDocumentServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2010-10-16</eb:Timestamp> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/CERTG!ICESMSLB\/CRT.LB!-3492660030041992030!816670!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <TT:GetTicketingDocumentRS Version="3.12.0" xmlns:TT="http://www.sabre.com/ns/Ticketing/DC"> <STL:STL_Header.RS messageID="TKTHLC604-22399-167628500-1441910626048-51800-tktdoc" timeStamp="2015-09-10T13:43:46" xmlns:STL="http://services.sabre.com/STL/v01"> <OrchestrationID seq="1" xmlns="http://services.sabre.com/STL/v01">TKTHLC604-22399-167628500-1441910626048-51800-tktdoc</OrchestrationID> <DiagnosticData

Misc Web Services 19 March 2019 263 Confidential and Proprietary Sabre Airline Solutions

xmlns="http://services.sabre.com/STL/v01">Found</DiagnosticData> <STL:Results> <Success xmlns="http://services.sabre.com/STL/v01"> <System>T2</System> <Source>DocumentServices</Source> </Success> </STL:Results> </STL:STL_Header.RS> <TT:Details> <TT:Agent duty="4" sine="WBT"> <ns2:TicketingProvider checkDigit="4" name="AA DO NOT TKT" number="795" xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VA</ns2:TicketingProvider> <ns2:StationLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">MELAD</ns2:StationLocation> <ns2:StationNumber xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">99101295</ns2:StationNumber> <ns2:WorkLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">MEL</ns2:WorkLocation> <ns2:HomeLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">GAH</ns2:HomeLocation> <ns2:Lniata xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">38C7D0</ns2:Lniata> <ns2:IsoCountryCode xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">AU</ns2:IsoCountryCode> <ns2:CompanyName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VIRGIN AUSTRALIA INTL</ns2:CompanyName> <ns2:Name xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">T WEBSERVICE</ns2:Name> <ns2:FirstName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">T</ns2:FirstName> <ns2:LastName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">WEBSERVICE</ns2:LastName> <ns2:EmployeeNumber xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">0682606</ns2:EmployeeNumber> <ns2:ShiftStartDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-03T07:58:06</ns2:ShiftStartDateTime> <ns2:Session xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC"> <ns2:AgentOpenType>AGT</ns2:AgentOpenType> <ns2:AgentCloseType>AUT</ns2:AgentCloseType> <ns2:StationCloseType>AUT</ns2:StationCloseType> </ns2:Session> </TT:Agent> <TT:TransactionInfo actionType="" category="C" code="" sequence="1" type="SALE"> <ns2:TCN xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">30868526325</ns2:TCN> <ns2:LocalDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-03T07:59:02</ns2:LocalDateTime> <ns2:SystemDateTime

Misc Web Services 19 March 2019 264 Confidential and Proprietary Sabre Airline Solutions

xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-02T16:59:02</ns2:SystemDateTime> <ns2:SystemProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VA</ns2:SystemProvider> <ns2:InputEntry xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VIA MISC WEBSERVICES</ns2:InputEntry> </TT:TransactionInfo> <TT:ElectronicMiscDocument accountingCode="795" checkDigit="6" formNumber="821" number="7958216920632" serialNumber="6920632" type="EMD"> <TT:Indicators commisionable="true" electronic="true" interlineable="true" refundable="Y"/> <TT:Details> <TT:Reservation> <TT:Sabre createDate="2015-09-02T16:58:00" provider="VA">TCFUDN</TT:Sabre> </TT:Reservation> <ns2:SystemCreateDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-02T16:59:02</ns2:SystemCreateDateTime> <ns2:LocalIssueDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-03T07:59:02</ns2:LocalIssueDateTime> <ns2:LastUpdate xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-10T01:06:02</ns2:LastUpdate> <ns2:ExpirationDate xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2016-09-03</ns2:ExpirationDate> <ns2:ValidatingProvider checkDigit="4" name="AA DO NOT TKT" number="795" xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VA</ns2:ValidatingProvider> <ns2:ElectronicMiscType xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">S</ns2:ElectronicMiscType> <ns2:ReasonForIssue xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">D</ns2:ReasonForIssue> </TT:Details> <TT:Customer> <TT:Traveler> <ns2:Name xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">PASSENGER/PENNY</ns2:Name> <ns2:FirstName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">PENNY</ns2:FirstName> <ns2:LastName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">PASSENGER</ns2:LastName> </TT:Traveler> <ns2:Purchaser xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC"> <ns2:Name>PASSENGER/PENNY</ns2:Name> <ns2:FirstName>PENNY</ns2:FirstName> <ns2:LastName>PASSENGER</ns2:LastName> </ns2:Purchaser> </TT:Customer> <TT:ServiceCoupon

Misc Web Services 19 March 2019 265 Confidential and Proprietary Sabre Airline Solutions

coupon="1"> <TT:CarrierCode>VA</TT:CarrierCode> <TT:DepartureCity/> <TT:DepartureDate>2015-09-03</TT:DepartureDate> <ns2:CurrentStatus xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">USED</ns2:CurrentStatus> </TT:ServiceCoupon> <TT:Miscellaneous> <TT:Fee coupon="1" description="BOOKING FEE" quantity="1"> <TT:Base> <TT:Amount currencyCode="AUD" decimalPlace="2">50.00</TT:Amount> <ns2:Text xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">50.00</ns2:Text> </TT:Base> <TT:TotalTax> <TT:Amount currencyCode="AUD" decimalPlace="2">0.00</TT:Amount> <ns2:Text xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">0.00</ns2:Text> </TT:TotalTax> <TT:Total> <TT:Amount currencyCode="AUD" decimalPlace="2">50.00</TT:Amount> <ns2:Text xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">50.00</ns2:Text> </TT:Total> </TT:Fee> <TT:OptionalService filingSource="MMGR" group="99" journeyType="S" reason="990"> <TT:FeeProvider>VA</TT:FeeProvider> <TT:Indicators consumed="Y" feeOverride="false" taxExempt="true"/> </TT:OptionalService> <TT:AssociatedFlight coupon="1"> <TT:CarrierCode>VA</TT:CarrierCode> <TT:DepartureDate>2015-09-03</TT:DepartureDate> <ns2:CurrentStatus xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">USED</ns2:CurrentStatus> </TT:AssociatedFlight> </TT:Miscellaneous> <TT:Amounts> <TT:New> <ns2:Base xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC"> <ns2:Amount currencyCode="AUD" decimalPlace="2">50.00</ns2:Amount> <ns2:Text>50.00</ns2:Text>

Misc Web Services 19 March 2019 266 Confidential and Proprietary Sabre Airline Solutions

<ns2:ApplyCreditInd>false</ns2:ApplyCreditInd> </ns2:Base> <TT:Total> <ns2:Amount currencyCode="AUD" decimalPlace="2" xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">50.00</ns2:Amount> <ns2:Text xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">50.00</ns2:Text> <ns2:ApplyCreditInd xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">false</ns2:ApplyCreditInd> </TT:Total> </TT:New> </TT:Amounts> <TT:Remark> <ns2:Endorsements sequence="1" xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">STANDALONE EMD ENDORSEMENT</ns2:Endorsements> </TT:Remark> <TT:ValueCalculation/> <TT:Payment sequence="1" type="CC"> <TT:Base> <TT:Amount currencyCode="AUD" decimalPlace="2">50.00</TT:Amount> <ns2:ApplyCreditInd xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">false</ns2:ApplyCreditInd> </TT:Base> <TT:Total> <TT:Amount currencyCode="AUD" decimalPlace="2">50.00</TT:Amount> <ns2:ApplyCreditInd xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">false</ns2:ApplyCreditInd> </TT:Total> <ns2:Remarks xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">CC</ns2:Remarks> <TT:Card cardType="VI"> <ns2:MaskedCardNumber xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">XXXXXXXXXXXX1111</ns2:MaskedCardNumber> <ns2:ExpireDate xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">xxxx</ns2:ExpireDate> <TT:ApprovalCode>Z4444</TT:ApprovalCode> </TT:Card> </TT:Payment> <TT:History code="HIST" number="59" sequence="2"> <TT:Agent duty="$" sine="SYS"> <ns2:TicketingProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VA</ns2:TicketingProvider> <ns2:WorkLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">SYS</ns2:WorkLocation> <ns2:HomeLocation

Misc Web Services 19 March 2019 267 Confidential and Proprietary Sabre Airline Solutions

xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">SYS</ns2:HomeLocation> </TT:Agent> <TT:TransactionInfo> <ns2:LocalDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-10T01:06:02</ns2:LocalDateTime> <ns2:SystemDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-10T01:06:02</ns2:SystemDateTime> <ns2:SystemProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VA</ns2:SystemProvider> <ns2:InputMessage xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">EMD MARKED FOR PURGE - NFM - 7 DAY RULE</ns2:InputMessage> </TT:TransactionInfo> <TT:Details> <ns2:SupportingDocument xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">7958216920632</ns2:SupportingDocument> <ns2:DocumentPurgeTypeCode xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">7DY</ns2:DocumentPurgeTypeCode> </TT:Details> </TT:History> <TT:History code="OC" number="9" sequence="1"> <TT:Agent duty="4" sine="WBT"> <ns2:TicketingProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VA</ns2:TicketingProvider> <ns2:WorkLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">MEL</ns2:WorkLocation> <ns2:HomeLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">GAH</ns2:HomeLocation> </TT:Agent> <TT:TransactionInfo> <ns2:LocalDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-03T07:59:02</ns2:LocalDateTime> <ns2:SystemDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-02T16:59:02</ns2:SystemDateTime> <ns2:SystemProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VA</ns2:SystemProvider> <ns2:InputMessage xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VIA MISC WEBSERVICES</ns2:InputMessage> </TT:TransactionInfo> <TT:Details> <ns2:SupportingDocument xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">7958216920632</ns2:SupportingDocument> <ns2:OldReservation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">TCFUDN</ns2:OldReservation> <ns2:AffectedCoupons xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">01</ns2:AffectedCoupons> </TT:Details>

Misc Web Services 19 March 2019 268 Confidential and Proprietary Sabre Airline Solutions

<TT:ServiceCouponHistory coupon="1" sequence="1"> <ns2:CurrentStatus xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">USED</ns2:CurrentStatus> </TT:ServiceCouponHistory> </TT:History> </TT:ElectronicMiscDocument> </TT:Details> <TT:Details> <TT:Agent duty="4" sine="WBT"> <ns2:TicketingProvider checkDigit="4" name="AA DO NOT TKT" number="795" xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VA</ns2:TicketingProvider> <ns2:StationLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">MELAD</ns2:StationLocation> <ns2:StationNumber xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">99101295</ns2:StationNumber> <ns2:WorkLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">MEL</ns2:WorkLocation> <ns2:HomeLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">GAH</ns2:HomeLocation> <ns2:Lniata xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">38C7D0</ns2:Lniata> <ns2:IsoCountryCode xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">AU</ns2:IsoCountryCode> <ns2:CompanyName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VIRGIN AUSTRALIA INTL</ns2:CompanyName> <ns2:Name xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">T WEBSERVICE</ns2:Name> <ns2:FirstName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">T</ns2:FirstName> <ns2:LastName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">WEBSERVICE</ns2:LastName> <ns2:EmployeeNumber xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">0682606</ns2:EmployeeNumber> <ns2:ShiftStartDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-03T07:58:06</ns2:ShiftStartDateTime> <ns2:Session xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC"> <ns2:AgentOpenType>AGT</ns2:AgentOpenType> <ns2:AgentCloseType>AUT</ns2:AgentCloseType> <ns2:StationCloseType>AUT</ns2:StationCloseType> </ns2:Session> </TT:Agent> <TT:TransactionInfo actionType="" category="C" code="" sequence="1" type="SALE"> <ns2:TCN xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">30868526421</ns2:TCN> <ns2:LocalDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-03T07:59:02</ns2:LocalDateTime> <ns2:SystemDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-02T16:59:02</ns2:SystemDateTime>

Misc Web Services 19 March 2019 269 Confidential and Proprietary Sabre Airline Solutions

<ns2:SystemProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VA</ns2:SystemProvider> <ns2:InputEntry xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VIA MISC WEBSERVICES</ns2:InputEntry> </TT:TransactionInfo> <TT:ElectronicMiscDocument accountingCode="795" checkDigit="0" formNumber="821" number="7958216920633" serialNumber="6920633" type="EMD"> <TT:Indicators commisionable="false" electronic="true" interlineable="true" refundable="Y"/> <TT:Details> <TT:Reservation> <TT:Sabre createDate="2015-09-02T16:58:00" provider="VA">TCFUDN</TT:Sabre> </TT:Reservation> <ns2:SystemCreateDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-02T16:59:02</ns2:SystemCreateDateTime> <ns2:LocalIssueDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-03T07:59:02</ns2:LocalIssueDateTime> <ns2:LastUpdate xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-10T01:06:02</ns2:LastUpdate> <ns2:ExpirationDate xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2016-09-03</ns2:ExpirationDate> <ns2:ValidatingProvider checkDigit="4" name="AA DO NOT TKT" number="795" xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VA</ns2:ValidatingProvider> <ns2:ElectronicMiscType xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">S</ns2:ElectronicMiscType> <ns2:ReasonForIssue xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">D</ns2:ReasonForIssue> </TT:Details> <TT:Customer> <TT:Traveler> <ns2:Name xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">PASSENGER/PENNY</ns2:Name> <ns2:FirstName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">PENNY</ns2:FirstName> <ns2:LastName xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">PASSENGER</ns2:LastName> </TT:Traveler> <ns2:Purchaser xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC"> <ns2:Name>PASSENGER/PENNY</ns2:Name> <ns2:FirstName>PENNY</ns2:FirstName> <ns2:LastName>PASSENGER</ns2:LastName> </ns2:Purchaser> </TT:Customer> <TT:ServiceCoupon coupon="1"> <TT:CarrierCode>VA</TT:CarrierCode>

Misc Web Services 19 March 2019 270 Confidential and Proprietary Sabre Airline Solutions

<TT:DepartureCity/> <TT:DepartureDate>2015-09-03</TT:DepartureDate> <ns2:CurrentStatus xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">USED</ns2:CurrentStatus> </TT:ServiceCoupon> <TT:Miscellaneous> <TT:Fee coupon="1" description="NON REVENUE INTL SERVICE FEE" quantity="1"> <TT:Base> <TT:Amount currencyCode="AUD" decimalPlace="2">65.00</TT:Amount> <ns2:Text xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">65.00</ns2:Text> </TT:Base> <TT:TotalTax> <TT:Amount currencyCode="AUD" decimalPlace="2">0.00</TT:Amount> <ns2:Text xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">0.00</ns2:Text> </TT:TotalTax> <TT:Total> <TT:Amount currencyCode="AUD" decimalPlace="2">65.00</TT:Amount> <ns2:Text xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">65.00</ns2:Text> </TT:Total> </TT:Fee> <TT:OptionalService filingSource="MMGR" group="99" journeyType="S" reason="98A"> <TT:FeeProvider>VA</TT:FeeProvider> <TT:Indicators consumed="Y" feeOverride="false" taxExempt="true"/> </TT:OptionalService> <TT:AssociatedFlight coupon="1"> <TT:CarrierCode>VA</TT:CarrierCode> <TT:DepartureDate>2015-09-03</TT:DepartureDate> <ns2:CurrentStatus xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">USED</ns2:CurrentStatus> </TT:AssociatedFlight> </TT:Miscellaneous> <TT:Amounts> <TT:New> <ns2:Base xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC"> <ns2:Amount currencyCode="AUD" decimalPlace="2">65.00</ns2:Amount> <ns2:Text>65.00</ns2:Text> <ns2:ApplyCreditInd>false</ns2:ApplyCreditInd> </ns2:Base>

Misc Web Services 19 March 2019 271 Confidential and Proprietary Sabre Airline Solutions

<TT:Total> <ns2:Amount currencyCode="AUD" decimalPlace="2" xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">65.00</ns2:Amount> <ns2:Text xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">65.00</ns2:Text> <ns2:ApplyCreditInd xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">false</ns2:ApplyCreditInd> </TT:Total> </TT:New> </TT:Amounts> <TT:Remark> <ns2:Endorsements sequence="1" xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">STANDALONE EMD ENDORSEMENT</ns2:Endorsements> </TT:Remark> <TT:ValueCalculation/> <TT:Payment sequence="1" type="CC"> <TT:Base> <TT:Amount currencyCode="AUD" decimalPlace="2">65.00</TT:Amount> <ns2:ApplyCreditInd xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">false</ns2:ApplyCreditInd> </TT:Base> <TT:Total> <TT:Amount currencyCode="AUD" decimalPlace="2">65.00</TT:Amount> <ns2:ApplyCreditInd xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">false</ns2:ApplyCreditInd> </TT:Total> <ns2:Remarks xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">CC</ns2:Remarks> <TT:Card cardType="VI"> <ns2:MaskedCardNumber xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">XXXXXXXXXXXX1111</ns2:MaskedCardNumber> <ns2:ExpireDate xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">xxxx/ns2:ExpireDate> <TT:ApprovalCode>Z4444</TT:ApprovalCode> </TT:Card> </TT:Payment> <TT:History code="HIST" number="59" sequence="2"> <TT:Agent duty="$" sine="SYS"> <ns2:TicketingProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VA</ns2:TicketingProvider> <ns2:WorkLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">SYS</ns2:WorkLocation> <ns2:HomeLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">SYS</ns2:HomeLocation> </TT:Agent>

Misc Web Services 19 March 2019 272 Confidential and Proprietary Sabre Airline Solutions

<TT:TransactionInfo> <ns2:LocalDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-10T01:06:02</ns2:LocalDateTime> <ns2:SystemDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-10T01:06:02</ns2:SystemDateTime> <ns2:SystemProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VA</ns2:SystemProvider> <ns2:InputMessage xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">EMD MARKED FOR PURGE - NFM - 7 DAY RULE</ns2:InputMessage> </TT:TransactionInfo> <TT:Details> <ns2:SupportingDocument xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">7958216920633</ns2:SupportingDocument> <ns2:DocumentPurgeTypeCode xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">7DY</ns2:DocumentPurgeTypeCode> </TT:Details> </TT:History> <TT:History code="OC" number="9" sequence="1"> <TT:Agent duty="4" sine="WBT"> <ns2:TicketingProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VA</ns2:TicketingProvider> <ns2:WorkLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">MEL</ns2:WorkLocation> <ns2:HomeLocation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">GAH</ns2:HomeLocation> </TT:Agent> <TT:TransactionInfo> <ns2:LocalDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-03T07:59:02</ns2:LocalDateTime> <ns2:SystemDateTime xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">2015-09-02T16:59:02</ns2:SystemDateTime> <ns2:SystemProvider xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VA</ns2:SystemProvider> <ns2:InputMessage xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">VIA MISC WEBSERVICES</ns2:InputMessage> </TT:TransactionInfo> <TT:Details> <ns2:SupportingDocument xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">7958216920633</ns2:SupportingDocument> <ns2:OldReservation xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">TCFUDN</ns2:OldReservation> <ns2:AffectedCoupons xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">01</ns2:AffectedCoupons> </TT:Details> <TT:ServiceCouponHistory coupon="1" sequence="1">

Misc Web Services 19 March 2019 273 Confidential and Proprietary Sabre Airline Solutions

<ns2:CurrentStatus xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC">USED</ns2:CurrentStatus> </TT:ServiceCouponHistory> </TT:History> </TT:ElectronicMiscDocument> </TT:Details> </TT:GetTicketingDocumentRS> </soap-env:Body> </soap-env:Envelope>

3.16 EMD Standalone Type 3 Referenced to ETKT (EMD-S)

An EMD Standalone transaction means that the EMD is not associated to a VCR coupon. It is dependent on an AE item and references an ETKT but there is no association between the ETKT and EMD.

This scenario demonstrates how to issue an EMD Standalone via the the web service.

3.16.1 Add AE Items to the PNR

The first step in the process is to add the AE items to the PNR.

3.16.1.1 Price Ancillary

Before you can add the AE items to the PNR, you need to send a request to gather all the pricing information. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

Note If you add a Group Code or Group Code and Rfic Sub Code you will have a smaller response returned by the web service. To obtain these codes contact ATPCO, or refer to their web site: http://info.atpco.net/download/OptionalSubCodes.pdf

3.16.1.2 Get Reservation

Next you need to obtain the reservation data in order to issue the EMD. For this function you use GetReservationRQ. It unpacks the PNR information, including any existing AE items. Please refer to https://developer.sabre.com/docs/soap_apis/air/book/air_extras for more information and examples.

3.16.1.3 Add AE Items

The next step is to add the AE item for the first segment. For this function you use UpdateReservationRQ. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/update_itinerary for more information and examples.

3.16.1.4 End and Redisplay PNR

You need to end the PNR to save the AE items you just added by ending the transaction. Please refer to https://developer.sabre.com/docs/read/soap_apis/management/itinerary/End_Transaction for more information and examples.

Misc Web Services 19 March 2019 274 Confidential and Proprietary Sabre Airline Solutions

3.16.2 Get Ancillary Fee Information from PNR

The next step in the process is to obtain the reservation again, but his time it will include the AE items now in the PNR.

Native Sabre

Below is the native Sabre entry and response when displaying the AE field from the PNR. The web service call below provides more information about the AE items than what you see in this display.

*AE« ANCILLARY SERVICES 1.CABIN BAGGAGE 1.1 BOURNE/JASON STATUS - HI1/FULFILLED AMOUNT - 50.00USD TOTAL - 50.00USD DOC/CF - 2.NON REVENUE INTL SERVICE FEE 1.1 BOURNE/JASON STATUS - HI1/FULFILLED AMOUNT - 65.00USD TOTAL - 65.00USD DOC/CF -

Web Services Call

You accomplish this in the web service by using another GetReservationRQ web service call. This time it pulls in the newly added AE items. GetReservationRQ was specifically developed to pull in AE information.

3.16.3 Issue EMD (CollectMiscFeeRQ)

This step demonstrates issuing the EMD via the MISC web service (CollectMiscFeeRQ). Please refer to https://developer.sabre.com/docs/read/soap_apis/air/fulfill/miscellaneous_sales_and_emd for information and examples.

Note This XML example uses credit card form of payment. When you have a credit card as payment, you need to request authorization via the PaymentRQ web service prior to the CollectMISCFee web service call.

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader">

Misc Web Services 19 March 2019 275 Confidential and Proprietary Sabre Airline Solutions

<ns1:From> <ns1:PartyId>999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId>123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service>MISCServicesRQ</ns1:Service> <ns1:Action>MISCServicesRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2010-10-16</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3363487287768663669!1419936!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <CollectMiscFeeRQ version="1.4.1" xmlns="http://www.sabre.com/ns/Ticketing/misc/1.0"> <ns1:AgentPOS company="EY" dutyCode="4" lniata="LNEMDS" sine="EMD" xmlns:ns1="http://services.sabre.com/STL/v01"> <ns1:AAA>BNE</ns1:AAA> </ns1:AgentPOS> <ns2:Transaction code="EMD" xmlns:ns2="http://services.sabre.com/STL/v01"/> <ns3:Fees xmlns:ns3="http://services.sabre.com/STL/v01"> <ns3:Linked> <ns3:Customer firstName="JASON" lastName="BOURNE"> <ns3:CustomerDetails nameRefNumber="1.1" pnrLocator="PECAMY"/> </ns3:Customer> <ns3:Fee> <ns3:FeeDetails code="981" quantity="1"> <ns3:Base currencyCode="USD">50.00</ns3:Base> <ns3:Total currencyCode="USD">50.00</ns3:Total> </ns3:FeeDetails> <ns3:OptionalService RFIC="D" bookingIndicator="SSR" group="99" name="CABIN BAGGAGE" segmentIndicator="S" subCode="981"> <ns3:EmdType>Reference</ns3:EmdType> <ns3:AirExtraItemNumber>17</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>EY</ns3:OwningCarrierCode>

Misc Web Services 19 March 2019 276 Confidential and Proprietary Sabre Airline Solutions

<ns3:Vendor>MMGR</ns3:Vendor> <ns3:IATAParameters commission="Y" consumed="N" interline="N" refundable="Y" taxExempt="true"/> </ns3:OptionalService> <ns3:AssociatedTicketNumber couponNumber="1">6072129803924</ns3:AssociatedTicketNumber> </ns3:Fee> <ns3:Fee> <ns3:FeeDetails code="98A" quantity="1"> <ns3:Base currencyCode="USD">65.00</ns3:Base> <ns3:Total currencyCode="USD">65.00</ns3:Total> </ns3:FeeDetails> <ns3:OptionalService RFIC="D" bookingIndicator="SSR" group="99" name="NON REVENUE INTL SERVICE FEE" segmentIndicator="S" subCode="98A"> <ns3:EmdType>Reference</ns3:EmdType> <ns3:AirExtraItemNumber>18</ns3:AirExtraItemNumber> <ns3:OwningCarrierCode>EY</ns3:OwningCarrierCode> <ns3:Vendor>MMGR</ns3:Vendor> <ns3:IATAParameters commission="Y" consumed="Y" interline="N" refundable="Y" taxExempt="true"/> </ns3:OptionalService> <ns3:AssociatedTicketNumber couponNumber="2">6072129803924</ns3:AssociatedTicketNumber> </ns3:Fee> </ns3:Linked> </ns3:Fees> <ns4:TotalCost currencyCode="USD" xmlns:ns4="http://services.sabre.com/STL/v01">115.00</ns4:TotalCost> <ns5:Payment xmlns:ns5="http://services.sabre.com/STL/v01"> <ns5:Amount currencyCode="USD">115.00</ns5:Amount> <ns5:FormOfPayment> <ns5:CreditCard> <ns5:Code>VI</ns5:Code> <ns5:Number>411xxxxxxxxxxxx</ns5:Number> <ns5:ExpiryDate>1216</ns5:ExpiryDate> <ns5:ApprovalCode>Z4444</ns5:ApprovalCode> </ns5:CreditCard> </ns5:FormOfPayment> </ns5:Payment> <ns6:DetailLevel xmlns:ns6="http://services.sabre.com/STL/v01">Full</ns6:DetailLevel> </CollectMiscFeeRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?>

Misc Web Services 19 March 2019 277 Confidential and Proprietary Sabre Airline Solutions

<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="URI">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="URI">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service>MISCServicesRQ</eb:Service> <eb:Action>MISCServicesRS</eb:Action> <eb:MessageData> <eb:MessageId>1410996677571890610</eb:MessageId> <eb:Timestamp>2016-09-09T18:49:20</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3363487287768663669!1419936!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <misc:CollectMiscFeeRS version="1.4.1" xmlns="http://services.sabre.com/STL/v01" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header> <Results messageId="TKTHLI700-32563-1811805363-1473446957356-1438-misc" timeStamp="2016-09-09T13:49:17"> <ErrorSource>TPF</ErrorSource> <Status>Success</Status> <CompletionStatus>Complete</CompletionStatus> <SystemSpecificResults> <ErrorMessage>OK</ErrorMessage> <ShortText>OK</ShortText> </SystemSpecificResults> </Results> </Header> <AgentPOS company="EY" dutyCode="4" lniata="6D0E34" sine="EMD"> <AAA>BNE</AAA> </AgentPOS> <Transaction code="EMD"/> <Fees>

Misc Web Services 19 March 2019 278 Confidential and Proprietary Sabre Airline Solutions

<Linked> <Customer firstName="JASON" lastName="BOURNE"> <CustomerDetails nameRefNumber="1.1" pnrLocator="PECAMY"/> </Customer> <Fee> <FeeDetails code="981" quantity="1"> <Base currencyCode="USD">50.00</Base> <Total currencyCode="USD">50.00</Total> </FeeDetails> <OptionalService RFIC="D" bookingIndicator="SSR" group="Miscellaneous Fees" name="CABIN BAGGAGE" segmentIndicator="S" subCode="981" userFee="false"> <EmdType>Reference</EmdType> <AirExtraItemNumber>17</AirExtraItemNumber> <OwningCarrierCode>EY</OwningCarrierCode> <Vendor>MMGR</Vendor> <IATAParameters commission="Y" consumed="N" interline="N" refundable="Y" taxExempt="true"/> </OptionalService> <AssociatedTicketNumber couponNumber="1">6072129803924</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="1">6078202266541</IssuedDocumentNumber> </Fee> <Fee> <FeeDetails code="98A" quantity="1"> <Base currencyCode="USD">65.00</Base> <Total currencyCode="USD">65.00</Total> </FeeDetails> <OptionalService RFIC="D" bookingIndicator="SSR" group="Miscellaneous Fees" name="NON REVENUE INTL SERVICE FEE" segmentIndicator="S" subCode="98A" userFee="false"> <EmdType>Reference</EmdType> <AirExtraItemNumber>18</AirExtraItemNumber> <OwningCarrierCode>EY</OwningCarrierCode> <Vendor>MMGR</Vendor> <IATAParameters commission="Y" consumed="Y" interline="N" refundable="Y" taxExempt="true"/> </OptionalService> <AssociatedTicketNumber couponNumber="2">6072129803924</AssociatedTicketNumber> <IssuedDocumentNumber couponNumber="1">6078202266542</IssuedDocumentNumber>

Misc Web Services 19 March 2019 279 Confidential and Proprietary Sabre Airline Solutions

</Fee> </Linked> </Fees> <TotalCost currencyCode="USD">115.00</TotalCost> <Payment> <Amount currencyCode="USD">115.00</Amount> <FormOfPayment> <CreditCard> <Code>VI</Code> <Number>411xxxxxxxxxxxxx</Number> <ExpiryDate>1216</ExpiryDate> <ApprovalCode>Z4444</ApprovalCode> </CreditCard> </FormOfPayment> </Payment> </misc:CollectMiscFeeRS> </soap-env:Body> </soap-env:Envelope>

3.16.4 Display EMD

Now you can display the EMD.

Native Sabre

Below is the native Sabre entry and response when you display the EMD from the PNR.

*TR3« ELECTRONIC MISCELLANEOUS DOCUMENT - S/STANDALONE 6078202266541 NAME-BOURNE/JASON TTL NBR OF CPNS-01 DATE OF ISSUE-09SEP16 PNR-PECAMY EXP-11SEP17 REASON FOR ISSUANCE CODE-D/FINANCIAL IMPACT CPN A/L BRDOFF RFISC STAT 1 EY 981 OK BASE VALUE USD 50.00 TOTAL VALUE USD 50.00 FORM OF PAYMENT FOP- VI************1111 50.00 APP CODE-Z4444 DATE OF ISSUE-09SEP16 ISSUED AT-AUHAT AUH WBT OAC- EY AUH AT 1111113 REFERENCED TO DOCUMENT - 6072129803924 **** VALUE COUPONS DETAILS **** CPN 01 OF 01 CPN A/L BRDOFF RFISC STAT QTY 01 EY 981 OK 1 REASON FOR ISSUANCE SUB CODE-981/CABIN BAGGAGE AE ITEM FILING SOURCE-MMGR CPN BASE VALUE USD 50.00

Misc Web Services 19 March 2019 280 Confidential and Proprietary Sabre Airline Solutions

CPN TAXES TAX EX CPN TOTAL VALUE USD 50.00 *TR4« ELECTRONIC MISCELLANEOUS DOCUMENT - S/STANDALONE 6078202266542 NAME-BOURNE/JASON TTL NBR OF CPNS-01 DATE OF ISSUE-09SEP16 PNR-PECAMY EXP-10SEP17 REASON FOR ISSUANCE CODE-D/FINANCIAL IMPACT CPN A/L BRDOFF RFISC STAT 1 EY 98A USED BASE VALUE USD 65.00 TOTAL VALUE USD 65.00 FORM OF PAYMENT FOP- VI************1111 65.00 APP CODE-Z4444 DATE OF ISSUE-09SEP16 ISSUED AT-AUHAT AUH WBT OAC- EY AUH AT 1111113 REFERENCED TO DOCUMENT - 6072129803924 **** VALUE COUPONS DETAILS **** CPN 01 OF 01 CPN A/L BRDOFF RFISC STAT QTY 01 EY 98A USED 1 REASON FOR ISSUANCE SUB CODE-98A/NON REVENUE INTL SERVICE FEE AE ITEM FILING SOURCE-MMGR CPN BASE VALUE USD 65.00 CPN TAXES TAX EX CPN TOTAL VALUE USD 65.00

Web Service Calls

To display the EMD use GetTicketingDocumentRQ. Please refer to https://developer.sabre.com/docs/soap_apis/air/fulfill/get_ticket_doc_details for more information and examples.

Request <dc:GetTicketingDocumentRQ Version="3.12.0" xmlns:dc="http://www.sabre.com/ns/Ticketing/DC" xmlns:STL="http://services.sabre.com/STL/v01"> <STL:STL_Header.RQ/><STL:POS/><dc:SearchParameters fetchInterlineCouponStatus="true"><dc:TicketingProvider>EY</dc:TicketingProvider> <dc:DocumentNumber>6078202266541</dc:DocumentNumber> </dc:SearchParameters></dc:GetTicketingDocumentRQ>

Response <?xml version="1.0" encoding="UTF-8"?> <TT:GetTicketingDocumentRS xmlns:TT="http://www.sabre.com/ns/Ticketing/DC" xmlns="http://services.sabre.com/STL/v01" xmlns:STL="http://services.sabre.com/STL/v01"

Misc Web Services 19 March 2019 281 Confidential and Proprietary Sabre Airline Solutions

xmlns:ns2="http://www.sabre.com/ns/Ticketing/DC" xmlns:str="http://sabre.com/ticketing/xslt/strings" xmlns:xs="http://www.w3.org/2001/XMLSchema" Version="3.12.0"> <STL:STL_Header.RS messageID="TKTHLI701-22778-2050401307-1473955583627-27950-tktdoc" timeStamp="2016-09-15T11:06:23"> <OrchestrationID seq="1" xmlns="http://services.sabre.com/STL/v01">TKTHLI701-22778-2050401307-1473955583627-27950-tktdoc</OrchestrationID> <DiagnosticData>Found</DiagnosticData> <STL:Results> <Success> <System>T2</System> <Source>DocumentServices</Source> </Success> </STL:Results> </STL:STL_Header.RS> <TT:Details> <TT:Agent duty="4" sine="WBT" type="KSK"> <ns2:TicketingProvider checkDigit="5" name="ETIHAD AIRWAYS" number="607">EY</ns2:TicketingProvider> <ns2:StationLocation>AUHAT</ns2:StationLocation> <ns2:StationNumber>11111133</ns2:StationNumber> <ns2:WorkLocation>AUH</ns2:WorkLocation> <ns2:HomeLocation>RKT</ns2:HomeLocation> <ns2:Lniata>6D0E34</ns2:Lniata> <ns2:IsoCountryCode>AE</ns2:IsoCountryCode> <ns2:CompanyName>ETIHAD AIRWAYS</ns2:CompanyName> <ns2:Name>T WEBSERVICE</ns2:Name> <ns2:FirstName>T </ns2:FirstName> <ns2:LastName>WEBSERVICE</ns2:LastName> <ns2:EmployeeNumber>0682606</ns2:EmployeeNumber> <ns2:ShiftStartDateTime>2016-09-09T00:06:12</ns2:ShiftStartDateTime> <ns2:Session> <ns2:AgentOpenType>AGT</ns2:AgentOpenType> <ns2:AgentCloseType>AUT</ns2:AgentCloseType> <ns2:StationOpenType>DCP</ns2:StationOpenType> <ns2:StationCloseType>AUT</ns2:StationCloseType> </ns2:Session> </TT:Agent> <TT:TransactionInfo actionType="" category="C" code="" sequence="1" type="SALE"> <ns2:TCN>17370266526</ns2:TCN> <ns2:LocalDateTime>2016-09-09T22:49:18</ns2:LocalDateTime> <ns2:SystemDateTime>2016-09-09T13:49:18</ns2:SystemDateTime> <ns2:SystemProvider>EY</ns2:SystemProvider> <ns2:InputEntry>VIA MISC WEBSERVICES</ns2:InputEntry> </TT:TransactionInfo> <TT:ElectronicMiscDocument accountingCode="607" checkDigit="6" formNumber="820" number="6078202266541" serialNumber="2266541" type="EMD"> <TT:Indicators commisionable="true" electronic="true" historical="false" interlineable="false" refundable="Y"/> <TT:Details> <TT:Reservation> <TT:Sabre createDate="2016-09-09T13:49:00" provider="EY">PECAMY</TT:Sabre> </TT:Reservation> <ns2:SystemCreateDateTime>2016-09-09T13:49:18</ns2:SystemCreateDateTime>

Misc Web Services 19 March 2019 282 Confidential and Proprietary Sabre Airline Solutions

<ns2:LocalIssueDateTime>2016-09-09T22:49:18</ns2:LocalIssueDateTime> <ns2:LastUpdate>2016-09-09T13:49:18</ns2:LastUpdate> <ns2:ExpirationDate>2017-09-11</ns2:ExpirationDate> <ns2:ValidatingProvider checkDigit="5" name="ETIHAD AIRWAYS" number="607">EY</ns2:ValidatingProvider> <ns2:ElectronicMiscType>S</ns2:ElectronicMiscType> <ns2:ReasonForIssue>D</ns2:ReasonForIssue> </TT:Details> <TT:Customer> <TT:Traveler> <ns2:Name>BOURNE/JASON</ns2:Name> <ns2:FirstName>JASON</ns2:FirstName> <ns2:LastName>BOURNE</ns2:LastName> <TT:PassengerType>ADT</TT:PassengerType> </TT:Traveler> <ns2:Purchaser> <ns2:Name>BOURNE/JASON</ns2:Name> <ns2:FirstName>JASON</ns2:FirstName> <ns2:LastName>BOURNE</ns2:LastName> </ns2:Purchaser> </TT:Customer> <TT:Miscellaneous> <TT:Fee coupon="1" description="CABIN BAGGAGE" quantity="1"> <TT:Base> <TT:Amount currencyCode="USD" decimalPlace="2">50.00</TT:Amount> <ns2:Text>50.00</ns2:Text> </TT:Base> <TT:TotalTax> <TT:Amount currencyCode="USD" decimalPlace="2">0.00</TT:Amount> <ns2:Text>0.00</ns2:Text> </TT:TotalTax> <TT:Total> <TT:Amount currencyCode="USD" decimalPlace="2">50.00</TT:Amount> <ns2:Text>50.00</ns2:Text> </TT:Total> </TT:Fee> <TT:OptionalService filingSource="MMGR" group="99" journeyType="S" reason="981"> <TT:FeeProvider>EY</TT:FeeProvider> <TT:Indicators consumed="N" feeOverride="false" taxExempt="true"/> </TT:OptionalService> <TT:ServiceCoupon coupon="1"> <ns2:MarketingProvider>EY</ns2:MarketingProvider> <ns2:OperatingProvider>EY</ns2:OperatingProvider> <ns2:StartDateTime>2016-09-09T00:00:00</ns2:StartDateTime> <TT:CurrentStatus>OK</TT:CurrentStatus> </TT:ServiceCoupon> </TT:Miscellaneous> <TT:Amounts> <TT:New> <ns2:Base>

Misc Web Services 19 March 2019 283 Confidential and Proprietary Sabre Airline Solutions

<ns2:Amount currencyCode="USD" decimalPlace="2">50.00</ns2:Amount> <ns2:Text>50.00</ns2:Text> <ns2:ApplyCreditInd>false</ns2:ApplyCreditInd> </ns2:Base> <TT:Total> <ns2:Amount currencyCode="USD" decimalPlace="2">50.00</ns2:Amount> <ns2:Text>50.00</ns2:Text> <ns2:ApplyCreditInd>false</ns2:ApplyCreditInd> </TT:Total> </TT:New> </TT:Amounts> <TT:ValueCalculation/> <TT:RelatedDocument> <ns2:Miscellaneous sequence="1"> <ns2:Number>6072129803924</ns2:Number> </ns2:Miscellaneous> </TT:RelatedDocument> <TT:Payment paymentConfirmation="false" sequence="1" type="CC"> <TT:Base> <TT:Amount currencyCode="USD" decimalPlace="2">50.00</TT:Amount> <ns2:ApplyCreditInd>false</ns2:ApplyCreditInd> </TT:Base> <TT:Total> <TT:Amount currencyCode="USD" decimalPlace="2">50.00</TT:Amount> <ns2:ApplyCreditInd>false</ns2:ApplyCreditInd> </TT:Total> <ns2:Remarks>CC</ns2:Remarks> <TT:Card cardType="VI"> <ns2:MaskedCardNumber>XXXXXXXXXXXX1111</ns2:MaskedCardNumber> <ns2:ExpireDate>1216</ns2:ExpireDate> <TT:ApprovalCode>Z4444</TT:ApprovalCode> <ns2:CardBinNumber>411111</ns2:CardBinNumber> </TT:Card> </TT:Payment> <TT:History code="OC" number="9" sequence="1"> <TT:Agent duty="4" sine="WBT"> <ns2:TicketingProvider>EY</ns2:TicketingProvider> <ns2:WorkLocation>AUH</ns2:WorkLocation> <ns2:HomeLocation>RKT</ns2:HomeLocation> </TT:Agent> <TT:TransactionInfo> <ns2:LocalDateTime>2016-09-09T22:49:18</ns2:LocalDateTime> <ns2:SystemDateTime>2016-09-09T13:49:18</ns2:SystemDateTime> <ns2:SystemProvider>EY</ns2:SystemProvider> <ns2:InputMessage>VIA MISC WEBSERVICES</ns2:InputMessage> </TT:TransactionInfo> <TT:Details> <ns2:SupportingDocument>6078202266541</ns2:SupportingDocument> <ns2:OldReservation>PECAMY</ns2:OldReservation>

Misc Web Services 19 March 2019 284 Confidential and Proprietary Sabre Airline Solutions

<ns2:AffectedCoupons>01</ns2:AffectedCoupons> </TT:Details> <ns2:ServiceCouponHistory coupon="1" sequence="1"> <ns2:CurrentStatus>OK</ns2:CurrentStatus> </ns2:ServiceCouponHistory> </TT:History> </TT:ElectronicMiscDocument> </TT:Details> </TT:GetTicketingDocumentRS>

Misc Web Services 19 March 2019 285 Confidential and Proprietary Sabre Airline Solutions

4 Troubleshooting

4.1 MISC Web Service Communication Points

The MISC Web Service performs the following actions:

• Validates incoming requests against the Miscellaneous/STL XSD schema published on https://drc.sabre.com.

• Validates with the ICE/ESSM system if an incoming request is from a user authorized to use the service.

• Converts xml requests to PSS (Passenger Service System or Sabre host) binary format.

• Sends binary requests to PSS via MOM (Message Oriented Middleware). MOM infrastructure is based on Message Queue (MQ) technology placed between components (like Passenger Services System [PSS], Sabre Web Services [SWS], Universal Services Gateway [USG], Integrated Computing Environment [ICE], etc.) to handle transaction communication

• Receives binary requests from PSS via MOM.

• Converts PSS binary responses to xml responses.

• Provides throttling to reduce negative impact of heavy loads.

If any of these communication points experience a failure, it results in an XML error response sent to the MISC Web Service client.

4.2 Common Error Responses, Causes and Solutions

This section provides some of the common error responses you might see with the cause and the action necessary to correct the problem.

4.2.1 ICE/ESSM Problem Due to Invalid Session – Error Message Code 9004

Error:

<?xml version="1.0" encoding="UTF-8"?> <misc:CollectMiscFeeRS version="1.4.2" xmlns="http://services.sabre.com/STL/v01" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header> <Results messageId="tkthld700-miscdc-38/d813ffa8-d77e-4dcb-902b-81827954b3a9"> <ErrorSource>MISC-BSO: Camel-ESSM authorization</ErrorSource> <Status>ApplicationError</Status> <CompletionStatus>NotProcessed</CompletionStatus> <SystemSpecificResults>

Misc Web Services 19 March 2019 286 Confidential and Proprietary Sabre Airline Solutions

<ErrorMessage code="-9004"><![CDATA[Invalid ICE session: com.sabre.ticketing.essm.auth.EssmException: ICE Exception occured]]></ErrorMessage> <ShortText>Invalid ICE session</ShortText> </SystemSpecificResults> </Results> </Header> </misc:CollectMiscFeeRS>

Cause:

The MISC web service did not receive a valid ICE security token.

Solution:

Verify that you were able to successfully create an ICE/ESSM session and send a valid ICE security token to your MISC web service.

If you continue to experience problems, use your provided Sabre web services contacts. If you are unsure, contact your account director. Be sure to provide your user ID, domain, organization and environment you use.

4.2.2 MOM Timeout – Error Message Code 8001

Error:

<?xml version="1.0" encoding="UTF-8"?> <misc:GetMiscFeesRS version="1.4.2" xmlns="http://services.sabre.com/STL/v01" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header> <Results messageId="tkthld700-miscdc-1/81f7d8ee-27a9-49ef-a1ce-c1348af09ad3"> <ErrorSource>MISC-BSO: MOM Camel component</ErrorSource> <Status>TransportError</Status> <CompletionStatus>Unknown</CompletionStatus> <SystemSpecificResults> <ErrorMessage code="-8001"><![CDATA[MOM timeout: com.sabre.messaging.util.MessagingException: Timeout while receive a message]]></ErrorMessage> <ShortText>MOM timeout</ShortText> </SystemSpecificResults> </Results> </Header> </misc:GetMiscFeesRS>

Cause:

There are problems receiving a PSS response via MOM.

Misc Web Services 19 March 2019 287 Confidential and Proprietary Sabre Airline Solutions

Solution:

Wait for a few minutes and try again. If the problem still exists, use your provided Sabre web services contacts. If you are unsure, contact your account director.

4.2.3 MISC Request Has Been Throttled – Error Message Code 9005

Error:

<?xml version="1.0" encoding="UTF-8"?> <misc:GetMiscFeesRS version="1.0.6" xmlns="http://services.sabre.com/STL/v01" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header> <Results messageId="tkthld700-miscdc-4/9c6b4613-1777-4c58-b89d-b1f79ac06211"> <ErrorSource>MISC-BSO: Throttler</ErrorSource> <Status>ApplicationError</Status> <CompletionStatus>Unknown</CompletionStatus> <SystemSpecificResults> <ErrorMessage code="-9005"><![CDATA[Service at peak usage - retry: com.sabre.ticketing.common.throttling.ThrottlingException: Maximum count of concurrently processed requests reached (2) for MISC-BSO (USG route) ]]></ErrorMessage> <ShortText>Service at peak usage - retry</ShortText> </SystemSpecificResults> </Results> </Header> </misc:GetMiscFeesRS>

Cause:

The service is a peak usage.

Solution:

Wait for a few minutes and try again. If the problem still exists, use your provided Sabre web services contacts. If you are unsure, contact your account director.

4.2.4 Invalid MISC Request

4.2.4.1 Unsupported XML Request Version – Error Message Code 9002

Error:

<?xml version="1.0" encoding="UTF-8"?> <misc:CollectMiscFeeRS version="1.3.1" xmlns="http://services.sabre.com/STL/v01" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0">

Misc Web Services 19 March 2019 288 Confidential and Proprietary Sabre Airline Solutions

<Header> <Results messageId="tkthld700-miscdc-35/79bdc090-967b-4231-b6e8-45bb3b2c01ef"> <ErrorSource>MISC-BSO: XML version checker</ErrorSource> <Status>InterfaceError</Status> <CompletionStatus>NotProcessed</CompletionStatus> <SystemSpecificResults> <ErrorMessage code="-9002"><![CDATA[Unsupported XML version: com.sabre.ticketing.misc.xml.SchemaVersionException: Schema version specification not found in XML payload. Supported versions: [1.3.1, 1.3.0, 1.2.2, 1.0.2, 1.4.2, 1.2.5, 1.0.6, 1.4.2]]]></ErrorMessage> <ShortText>Unsupported XML version</ShortText> </SystemSpecificResults> </Results> </Header> </misc:CollectMiscFeeRS>

Cause:

Invalid XML request.

Solution:

Correct the XML request based on the information in the XML response. If the problem still exists, use your provided Sabre web services contacts. If you are unsure, contact your account director.

4.2.4.2 Request is Not Valid Against Schema – Error Message Code 9001

Error:

<?xml version="1.0" encoding="UTF-8"?> <misc:CollectMiscFeeRS version="1.4.2" xmlns="http://services.sabre.com/STL/v01" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header> <Results messageId="tkthld700-miscdc-40/58602766-3947-4e8b-9cdf-ac8c35d06969"> <ErrorSource>MISC-BSO: incoming request XML validator</ErrorSource> <Status>InterfaceError</Status> <CompletionStatus>NotProcessed</CompletionStatus> <SystemSpecificResults> <ErrorMessage code="-9001"><![CDATA[Invalid XML format: com.sabre.ticketing.misc.xml.validation.RequestXmlSchemaValidationException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'InvalidContent'. One of '{"http://services.sabre.com/STL/v01":Header, "http://services.sabre.com/STL/v01":AgentPOS}' is expected.]]></ErrorMessage> <ShortText>Invalid XML format</ShortText> </SystemSpecificResults> </Results> </Header> </misc:CollectMiscFeeRS>

Misc Web Services 19 March 2019 289 Confidential and Proprietary Sabre Airline Solutions

Cause:

Invalid XML request.

Solution:

Correct the XML request based on the information in the XML response. If the problem still exists, use your provided Sabre web services contacts. If you are unsure, contact your account director.

4.2.4.3 Request is Not Valid According to Business Logic – Error Message Code 9008

Error

<?xml version="1.0" encoding="UTF-8"?> <misc:CollectMiscFeeRS version="1.4.2" xmlns="http://services.sabre.com/STL/v01" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header> <Results messageId="tkthld700-miscdc-41/926f47ed-5b1e-47d7-bdc2-a157af47b852"> <ErrorSource>MISC-BSO: incoming XML business validator</ErrorSource> <Status>InterfaceError</Status> <CompletionStatus>NotProcessed</CompletionStatus> <SystemSpecificResults> <ErrorMessage code="-9008"><![CDATA[Invalid business data: com.sabre.ticketing.misc.xml.validation.BusinessValidationException: TotalCost does not match the sum of Total values from every FeeDetails.]]></ErrorMessage> <ShortText>Invalid business data</ShortText> </SystemSpecificResults> </Results> </Header> </misc:CollectMiscFeeRS>

Cause:

Invalid XML request.

Solution:

Correct the XML request based on the information in the XML response. If the problem still exists, use your provided Sabre web services contacts. If you are unsure, contact your account director.

Misc Web Services 19 March 2019 290 Confidential and Proprietary Sabre Airline Solutions

4.2.5 MISC PSS Response with TPF (Host) Error Message

4.2.5.1 Printer Not Assigned – Error Message Code 0208

Error:

The error results from an issue in PSS. It contains a response with data and a short PSS dialect response. For example: <?xml version="1.0" encoding="UTF-8"?> <misc:CollectMiscFeeRS version="1.0.2" xmlns="http://services.sabre.com/STL/v01" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header> <Results> <ErrorSource>TPF</ErrorSource> <Status>ApplicationError</Status> <CompletionStatus>NotProcessed</CompletionStatus> <SystemSpecificResults> <ErrorMessage code="0208">TKT PRT NOT ASSIGNED/USE W*</ErrorMessage> <ShortText>TKT PRT NOT ASSIGNED/USE W*</ShortText> <RecordID>1804</RecordID> </SystemSpecificResults> </Results> </Header> <AgentPOS company="SY" dutyCode="4" lniata="7BD1C0" sine="-NC"> <AAA>TVJ</AAA> </AgentPOS> <Transaction code="EXB"/> </misc:CollectMiscFeeRS>

Cause:

The ticket printer has not been successfully assigned.

Solution:

Assign a ticket printer. If you need assistance use your provided Sabre web services contacts. If you are unsure, contact your account director.

4.2.6 Invalid PSS Response Causing lrec to xml Conversion Failure – Error Message Code 7000

Error

<?xml version="1.0" encoding="UTF-8"?> <misc:GetMiscFeesRS version="1.4.2" xmlns="http://services.sabre.com/STL/v01" xmlns:misc="http://www.sabre.com/ns/Ticketing/misc/1.0"> <Header>

Misc Web Services 19 March 2019 291 Confidential and Proprietary Sabre Airline Solutions

<Results messageId="tkthld700-miscdc-13/37da6dce-61c3-4836-be5f-162043fac665"> <ErrorSource>MISC-BSO: XML-LRec converters</ErrorSource> <Status>BusinessLogicError</Status> <CompletionStatus>Unknown</CompletionStatus> <SystemSpecificResults> <ErrorMessage code="-7000"><![CDATA[MiscService failure: com.sabre.ticketing.misc.converter.MiscServiceException: MISC Lrec-XML conversion failed]]></ErrorMessage> <ShortText>MiscService failure</ShortText> </SystemSpecificResults> </Results> </Header> </misc:GetMiscFeesRS>

Cause

Invalid PSS response

Solution

Use your provided Sabre web services contacts to obtain assistance. If you are unsure, contact your account director.

4.2.7 MiscService failure: EMD and ET board and off points do not match. Departure city of ETKT with value: BKK should match EMD value: null for coupon: 1. Message Code 9038

Error

</stl:OptionalService> <stl:AssociatedFlight segmentNumber="1"> <stl:CarrierCode>EY</stl:CarrierCode> <stl:FlightNumber>0403</stl:FlightNumber> <stl:ClassOfService>Y</stl:ClassOfService> <stl:DepartureCity>BKK</stl:DepartureCity> <stl:ArrivalCity>AUH</stl:ArrivalCity> <stl:DepartureDate>2015-11-01</stl:DepartureDate> <stl:AssociatedTicketNumber couponNumber="1">6072126438510</stl:AssociatedTicketNumber> <<<<<----this is ok </stl:AssociatedFlight> <stl:AssociatedTicketNumber couponNumber="1">6072126438510</stl:AssociatedTicketNumber> <<<<<------ this is causing error </stl:Fee> </stl:Linked>

Cause

AssociatedTicketNumber needs to be inside Fee/AssociatedFlight element when it is an EMD-A. (<stl:EmdType>Associated</stl:EmdType>)

Solution

Move the Associated Ticket number to the correct location.

Misc Web Services 19 March 2019 292 Confidential and Proprietary Sabre Airline Solutions

If Associated Ticket Number field is left blank <ErrorMessage code="-9001"><![CDATA[XML request schema validation failed: The value '' in AssociatedTicketNumber field (or one of its attributes) is too short. Minimum length is 13 characters. Please amend your request and try again.]]></ErrorMessage>

If Invalid Associated Ticket Number is entered <ErrorMessage code="0606">PROCESSING ERROR - CHECK TICKET NUMBER</ErrorMessage>

If Amount greater than 8 digits <ErrorMessage code="-9008"><![CDATA[Invalid business data: Base '425909.45' is too long (it should not exceed 8 characters).]]></ErrorMessage>

If EMD attempted to issue for amount 0.00 <ErrorMessage code="0455">INVALID AMOUNT - CONTAINED IN HEADER INFO</ErrorMessage>

Misc Web Services 19 March 2019 293 Confidential and Proprietary Sabre Airline Solutions

5 Appendix: Set-Up Web Service Calls

This guide provides you with the MISC web service calls specific to MISC and EMD transactions. But there are other common web service calls necessary to set up testing scenarios.

In order to issue MSRs and EMDs there are several set-up actions required.

In this section you will find XML examples of web service calls you will need to set up various testing scenarios.

5.1 Set Up as Robotic Agent – Session Create

Native Sabre

Switch to Certification (CERT) Testing Environment

¤¤CERT OK.CERTC

Sign in as agent 5128

SI5128 SI< > AGENT SIGN IN CURRENT PASSCODE <........> ID <005128> SUF <B6 > DUTY CODE <.> AREA <A> NEW PASSCODE <........> NIH.NIH5SSW...A..B6 NO MESSAGE..15NOV

Web Service Calls

Session Create

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/usg/SessionCreateRQ.wsdl

The Session Create starts the session of web service calls. This authorizes the robotic agent based on the ICE security attributes attached to the robotic agent.

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope

Misc Web Services 19 March 2019 294 Confidential and Proprietary Sabre Airline Solutions

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="1.0" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service ns1:type="OTA">SessionCreateRQ</ns1:Service> <ns1:Action>SessionCreateRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2011-11-15T12:35:07</ns1:Timestamp> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:UsernameToken> <ns1:Username>5128</ns1:Username> <ns1:Password>redacted</ns1:Password> <Organization>B6</Organization> <Domain>B6</Domain> </ns1:UsernameToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <SessionCreateRQ xmlns="http://www.opentravel.org/OTA/2002/11"> <POS> <Source PseudoCityCode=""/> </POS> </SessionCreateRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From>

Misc Web Services 19 March 2019 295 Confidential and Proprietary Sabre Airline Solutions

<eb:PartyId eb:type="urn:x12.org:IO5:01">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="urn:x12.org:IO5:01">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service eb:type="sabreXML">Session</eb:Service> <eb:Action>SessionCreateRS</eb:Action> <eb:MessageData> <eb:MessageId>9cf23b89-7af9-492a-a22e-d3af539e7102@176</eb:MessageId> <eb:Timestamp>2011-11-15T18:30:45</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <SessionCreateRS status="Approved" version="1" xmlns="http://www.opentravel.org/OTA/2002/11"> <ConversationId>ABC123</ConversationId> </SessionCreateRS> </soap-env:Body> </soap-env:Envelope>

5.2 Designate Printer

By designating a printer, you are telling the system what ticket stock print routine, printer line address (LNIATA) and station number to use for the transaction. If your airline uses the Agent Sales Report (ASR), this action opens an agent report for the day. If opened, the report must be closed.

Native Sabre

Designate printer: 2A stock, line BBCA78, station 90100010

Note This printer line address and station is for demonstration purposes only.

W*2ABBCA7890100010 OK NIHWB

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/tpf/DesignatePrinterLLS1.1.1RQ.wsdl

Request

Misc Web Services 19 March 2019 296 Confidential and Proprietary Sabre Airline Solutions

<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="1.0" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId ns1:type="URI">999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId ns1:type="URI">123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service ns1:type="OTA">DesignatePrinterLLSRQ</ns1:Service> <ns1:Action>DesignatePrinterLLSRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2011-11-15T12:35:07</ns1:Timestamp> <ns1:TimeToLive>2001-02-15T11:15:12Z</ns1:TimeToLive> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <DesignatePrinterRQ AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2001-12-17T09:30:47-05:00" Version="2003A.TsabreXML1.1.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07"> <POS> <Source PseudoCityCode="IPCC"/> </POS> <Printers> <Ticket CountryCode="2A" LineAddress="BBCA7890100010"/> </Printers> </DesignatePrinterRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope

Misc Web Services 19 March 2019 297 Confidential and Proprietary Sabre Airline Solutions

xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="URI">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="URI">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service eb:type="OTA">DesignatePrinterLLSRQ</eb:Service> <eb:Action>DesignatePrinterLLSRS</eb:Action> <eb:MessageData> <eb:MessageId>c1842297-b862-42ea-84f8-bdf737e4e45a@176</eb:MessageId> <eb:Timestamp>2011-11-15T18:30:46</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <DesignatePrinterRS AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2011-11-15T18:30:46" Version="2003A.TsabreXML1.1.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Success/> <TPA_Extensions> <HostCommand>W*2ABBCA7890100010</HostCommand> </TPA_Extensions> </DesignatePrinterRS> </soap-env:Body> </soap-env:Envelope>

5.3 Build a Reservation

Now that the robotic agent is signed in and has a printer designated, you can create a reservation. This includes booking the flight, adding essential information to the PNR, pricing the itinerary, issuing the itinerary, and saving the PNR.

Misc Web Services 19 March 2019 298 Confidential and Proprietary Sabre Airline Solutions

5.3.1 Display Flight Availability

Native Sabre

Availability on 4Feb from NYC to LAX departing at 12:35pm

14FEBNYCLAX1235P 04FEB SAT NYC/EST LAX/PST-3 1B6 673 Y7 E7 K7 H7 Q7 B7 L7 V7 JFKLAX N 1100A 210P 320 0 /E R7 M7 O7 U7 S0 P0 N0 *A 2B6 675 Y7 E7 K7 H7 Q7 B7 L7 V7 JFKLAX 8 450P 809P 320 0 /E R7 M7 O7 U7 S0 P0 N0 *A 3B6 677 Y7 E7 K7 H7 Q7 B7 L7 V7 JFKLAX 4 845P 1159P 320 0 /E R7 M7 O7 U7 S7 P3 N0 *A 4B6 85 Y7 E7 K7 H7 Q7 B7 L7 V7 JFKFLL N 1245P 349P 320 0 /E R7 M7 O7 U7 S0 P0 N0 *A 5B6 101 Y7 E7 K7 H7 Q7 B7 L7 V7 LAX 6 637P 920P 320 0 /E R7 M7 O7 U7 S7 P0 N0 *A * - FOR AIR EXTRAS INCLUDING PAID SEATS ENTER 1*A

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/tpf/OTA_AirAvailLLS1.9.1RQ.wsdl

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service ns1:type="OTA">OTA_AirAvailLLSRQ</ns1:Service> <ns1:Action>OTA_AirAvailLLSRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T11:15:12Z</ns1:Timestamp> <ns1:TimeToLive>2001-02-15T11:15:12Z</ns1:TimeToLive> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security

Misc Web Services 19 March 2019 299 Confidential and Proprietary Sabre Airline Solutions

xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <OTA_AirAvailRQ Version="2003A.TsabreXML1.9.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07"> <POS> <Source PseudoCityCode="IPCC"/> </POS> <OriginDestinationInformation> <DepartureDateTime DateTime="2012-02-04T12:35:07">2012-02-04T12:35:07</DepartureDateTime> <OriginLocation LocationCode="NYC"/> <DestinationLocation LocationCode="LAX"/> </OriginDestinationInformation> </OTA_AirAvailRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="urn:x12.org:IO5:01">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="urn:x12.org:IO5:01">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service eb:type="OTA">OTA_AirAvailLLSRQ</eb:Service> <eb:Action>OTA_AirAvailLLSRS</eb:Action> <eb:MessageData> <eb:MessageId>9861088b-5669-4faa-bae4-a46b4717b951@176</eb:MessageId> <eb:Timestamp>2011-11-15T18:30:48</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary"

Misc Web Services 19 March 2019 300 Confidential and Proprietary Sabre Airline Solutions

valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <OTA_AirAvailRS AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2011-11-15T18:30:48" Version="2003A.TsabreXML1.9.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Success/> <OriginDestinationOptions> <OriginDestinationOption> <TPA_Extensions> <OriginCityTimeZoneCode Code="EST"/> <DestinationCityTimeZoneCode Code="PST"/> <TimeZoneDifference Code="-3"/> <DayOfWeek>SAT</DayOfWeek> </TPA_Extensions> <FlightSegment ArrivalDateTime="2012-02-04T14:10:00" DepartureDateTime="2012-02-04T11:00:00" FlightNumber="673" OnTimeRate="N" RPH="1" SmokingAllowed="false" StopQuantity="0" Ticket="E"> <DepartureAirport LocationCode="JFK"/> <ArrivalAirport LocationCode="LAX"/> <OperatingAirline Code="B6" FlightNumber="673"/> <Equipment AirEquipType="320"/> <MarketingAirline Code="B6"/> <Comment>EVEN MORE SPACE AVAILABLE Â?</Comment> <MarketingCabin/> <BookingClassAvail Availability="7" RPH="1" ResBookDesigCode="Y"/> <BookingClassAvail Availability="7" RPH="2" ResBookDesigCode="E"/> <BookingClassAvail Availability="7" RPH="3" ResBookDesigCode="K"/> <BookingClassAvail Availability="7" RPH="4" ResBookDesigCode="H"/> <BookingClassAvail Availability="7" RPH="5" ResBookDesigCode="Q"/> <BookingClassAvail Availability="7" RPH="6" ResBookDesigCode="B"/> <BookingClassAvail

Misc Web Services 19 March 2019 301 Confidential and Proprietary Sabre Airline Solutions

Availability="7" RPH="7" ResBookDesigCode="L"/> <BookingClassAvail Availability="7" RPH="8" ResBookDesigCode="V"/> <BookingClassAvail Availability="7" RPH="9" ResBookDesigCode="R"/> <BookingClassAvail Availability="7" RPH="10" ResBookDesigCode="M"/> <BookingClassAvail Availability="7" RPH="11" ResBookDesigCode="O"/> <BookingClassAvail Availability="7" RPH="12" ResBookDesigCode="U"/> <BookingClassAvail Availability="0" RPH="13" ResBookDesigCode="S"/> <BookingClassAvail Availability="0" RPH="14" ResBookDesigCode="P"/> <BookingClassAvail Availability="0" RPH="15" ResBookDesigCode="N"/> <TPA_Extensions> <DaysOfOperation> <OperationSchedule> <OperationTimes> <OperationTime Fri="true" Mon="true" Sat="true" Sun="true" Thur="true" Tue="true" Weds="true"/> </OperationTimes> </OperationSchedule> </DaysOfOperation> </TPA_Extensions> </FlightSegment> </OriginDestinationOption> <OriginDestinationOption> <TPA_Extensions> <OriginCityTimeZoneCode Code="EST"/> <DestinationCityTimeZoneCode Code="PST"/> <TimeZoneDifference Code="-3"/> <DayOfWeek>SAT</DayOfWeek> </TPA_Extensions> <FlightSegment ArrivalDateTime="2012-02-04T20:09:00" DepartureDateTime="2012-02-04T16:50:00" FlightNumber="675" OnTimeRate="8" RPH="2" SmokingAllowed="false" StopQuantity="0" Ticket="E"> <DepartureAirport LocationCode="JFK"/> <ArrivalAirport LocationCode="LAX"/> <OperatingAirline Code="B6" FlightNumber="675"/>

Misc Web Services 19 March 2019 302 Confidential and Proprietary Sabre Airline Solutions

<Equipment AirEquipType="320"/> <MarketingAirline Code="B6"/> <Comment>EVEN MORE SPACE AVAILABLE Â?</Comment> <MarketingCabin/> <BookingClassAvail Availability="7" RPH="1" ResBookDesigCode="Y"/> <BookingClassAvail Availability="7" RPH="2" ResBookDesigCode="E"/> <BookingClassAvail Availability="7" RPH="3" ResBookDesigCode="K"/> <BookingClassAvail Availability="7" RPH="4" ResBookDesigCode="H"/> <BookingClassAvail Availability="7" RPH="5" ResBookDesigCode="Q"/> <BookingClassAvail Availability="7" RPH="6" ResBookDesigCode="B"/> <BookingClassAvail Availability="7" RPH="7" ResBookDesigCode="L"/> <BookingClassAvail Availability="7" RPH="8" ResBookDesigCode="V"/> <BookingClassAvail Availability="7" RPH="9" ResBookDesigCode="R"/> <BookingClassAvail Availability="7" RPH="10" ResBookDesigCode="M"/> <BookingClassAvail Availability="7" RPH="11" ResBookDesigCode="O"/> <BookingClassAvail Availability="7" RPH="12" ResBookDesigCode="U"/> <BookingClassAvail Availability="0" RPH="13" ResBookDesigCode="S"/> <BookingClassAvail Availability="0" RPH="14" ResBookDesigCode="P"/> <BookingClassAvail Availability="0" RPH="15" ResBookDesigCode="N"/> <TPA_Extensions> <DaysOfOperation> <OperationSchedule> <OperationTimes> <OperationTime Fri="true" Mon="true" Sat="true" Sun="true" Thur="true" Tue="true" Weds="true"/> </OperationTimes> </OperationSchedule> </DaysOfOperation> </TPA_Extensions> </FlightSegment>

Misc Web Services 19 March 2019 303 Confidential and Proprietary Sabre Airline Solutions

</OriginDestinationOption> <OriginDestinationOption> <TPA_Extensions> <OriginCityTimeZoneCode Code="EST"/> <DestinationCityTimeZoneCode Code="PST"/> <TimeZoneDifference Code="-3"/> <DayOfWeek>SAT</DayOfWeek> </TPA_Extensions> <FlightSegment ArrivalDateTime="2012-02-04T23:59:00" DepartureDateTime="2012-02-04T20:45:00" FlightNumber="677" OnTimeRate="4" RPH="3" SmokingAllowed="false" StopQuantity="0" Ticket="E"> <DepartureAirport LocationCode="JFK"/> <ArrivalAirport LocationCode="LAX"/> <OperatingAirline Code="B6" FlightNumber="677"/> <Equipment AirEquipType="320"/> <MarketingAirline Code="B6"/> <Comment>EVEN MORE SPACE AVAILABLE Â?</Comment> <MarketingCabin/> <BookingClassAvail Availability="7" RPH="1" ResBookDesigCode="Y"/> <BookingClassAvail Availability="7" RPH="2" ResBookDesigCode="E"/> <BookingClassAvail Availability="7" RPH="3" ResBookDesigCode="K"/> <BookingClassAvail Availability="7" RPH="4" ResBookDesigCode="H"/> <BookingClassAvail Availability="7" RPH="5" ResBookDesigCode="Q"/> <BookingClassAvail Availability="7" RPH="6" ResBookDesigCode="B"/> <BookingClassAvail Availability="7" RPH="7" ResBookDesigCode="L"/> <BookingClassAvail Availability="7" RPH="8" ResBookDesigCode="V"/> <BookingClassAvail Availability="7" RPH="9" ResBookDesigCode="R"/> <BookingClassAvail Availability="7" RPH="10" ResBookDesigCode="M"/> <BookingClassAvail Availability="7" RPH="11" ResBookDesigCode="O"/> <BookingClassAvail Availability="7"

Misc Web Services 19 March 2019 304 Confidential and Proprietary Sabre Airline Solutions

RPH="12" ResBookDesigCode="U"/> <BookingClassAvail Availability="7" RPH="13" ResBookDesigCode="S"/> <BookingClassAvail Availability="3" RPH="14" ResBookDesigCode="P"/> <BookingClassAvail Availability="0" RPH="15" ResBookDesigCode="N"/> <TPA_Extensions> <DaysOfOperation> <OperationSchedule> <OperationTimes> <OperationTime Fri="true" Mon="true" Sat="true" Sun="true" Thur="true" Tue="true" Weds="true"/> </OperationTimes> </OperationSchedule> </DaysOfOperation> </TPA_Extensions> </FlightSegment> </OriginDestinationOption> <OriginDestinationOption> <TPA_Extensions> <OriginCityTimeZoneCode Code="EST"/> <DestinationCityTimeZoneCode Code="PST"/> <TimeZoneDifference Code="-3"/> <DayOfWeek>SAT</DayOfWeek> </TPA_Extensions> <FlightSegment ArrivalDateTime="2012-02-04T15:49:00" DepartureDateTime="2012-02-04T12:45:00" FlightNumber="85" OnTimeRate="N" RPH="4" SmokingAllowed="false" StopQuantity="0" Ticket="E"> <DepartureAirport LocationCode="JFK"/> <ArrivalAirport LocationCode="FLL"/> <OperatingAirline Code="B6" FlightNumber="85"/> <Equipment AirEquipType="320"/> <MarketingAirline Code="B6"/> <Comment>EVEN MORE SPACE AVAILABLE Â?</Comment> <MarketingCabin/> <BookingClassAvail Availability="7" RPH="1" ResBookDesigCode="Y"/> <BookingClassAvail Availability="7" RPH="2" ResBookDesigCode="E"/> <BookingClassAvail Availability="7" RPH="3"

Misc Web Services 19 March 2019 305 Confidential and Proprietary Sabre Airline Solutions

ResBookDesigCode="K"/> <BookingClassAvail Availability="7" RPH="4" ResBookDesigCode="H"/> <BookingClassAvail Availability="7" RPH="5" ResBookDesigCode="Q"/> <BookingClassAvail Availability="7" RPH="6" ResBookDesigCode="B"/> <BookingClassAvail Availability="7" RPH="7" ResBookDesigCode="L"/> <BookingClassAvail Availability="7" RPH="8" ResBookDesigCode="V"/> <BookingClassAvail Availability="7" RPH="9" ResBookDesigCode="R"/> <BookingClassAvail Availability="7" RPH="10" ResBookDesigCode="M"/> <BookingClassAvail Availability="7" RPH="11" ResBookDesigCode="O"/> <BookingClassAvail Availability="7" RPH="12" ResBookDesigCode="U"/> <BookingClassAvail Availability="0" RPH="13" ResBookDesigCode="S"/> <BookingClassAvail Availability="0" RPH="14" ResBookDesigCode="P"/> <BookingClassAvail Availability="0" RPH="15" ResBookDesigCode="N"/> <TPA_Extensions> <DaysOfOperation> <OperationSchedule> <OperationTimes> <OperationTime Fri="true" Mon="true" Sat="true" Sun="true" Thur="true" Tue="true" Weds="true"/> </OperationTimes> </OperationSchedule> </DaysOfOperation> </TPA_Extensions> </FlightSegment> <FlightSegment ArrivalDateTime="2012-02-04T21:20:00" DepartureDateTime="2012-02-04T18:37:00" FlightNumber="101" OnTimeRate="6" RPH="5" SmokingAllowed="false" StopQuantity="0" Ticket="E"> <DepartureAirport LocationCode="FLL"/> <ArrivalAirport LocationCode="LAX"/> <OperatingAirline Code="B6" FlightNumber="101"/> <Equipment AirEquipType="320"/>

Misc Web Services 19 March 2019 306 Confidential and Proprietary Sabre Airline Solutions

<MarketingAirline Code="B6"/> <Comment>EVEN MORE SPACE AVAILABLE Â?</Comment> <MarketingCabin/> <BookingClassAvail Availability="7" RPH="1" ResBookDesigCode="Y"/> <BookingClassAvail Availability="7" RPH="2" ResBookDesigCode="E"/> <BookingClassAvail Availability="7" RPH="3" ResBookDesigCode="K"/> <BookingClassAvail Availability="7" RPH="4" ResBookDesigCode="H"/> <BookingClassAvail Availability="7" RPH="5" ResBookDesigCode="Q"/> <BookingClassAvail Availability="7" RPH="6" ResBookDesigCode="B"/> <BookingClassAvail Availability="7" RPH="7" ResBookDesigCode="L"/> <BookingClassAvail Availability="7" RPH="8" ResBookDesigCode="V"/> <BookingClassAvail Availability="7" RPH="9" ResBookDesigCode="R"/> <BookingClassAvail Availability="7" RPH="10" ResBookDesigCode="M"/> <BookingClassAvail Availability="7" RPH="11" ResBookDesigCode="O"/> <BookingClassAvail Availability="7" RPH="12" ResBookDesigCode="U"/> <BookingClassAvail Availability="7" RPH="13" ResBookDesigCode="S"/> <BookingClassAvail Availability="0" RPH="14" ResBookDesigCode="P"/> <BookingClassAvail Availability="0" RPH="15" ResBookDesigCode="N"/> <TPA_Extensions> <ConnectionIndicator Ind="true"/> <DaysOfOperation> <OperationSchedule> <OperationTimes> <OperationTime Fri="true" Mon="true" Sat="true" Sun="true" Thur="true" Tue="true" Weds="true"/> </OperationTimes> </OperationSchedule> </DaysOfOperation> </TPA_Extensions> </FlightSegment>

Misc Web Services 19 March 2019 307 Confidential and Proprietary Sabre Airline Solutions

</OriginDestinationOption> <OriginDestinationOption> <TPA_Extensions> <OriginCityTimeZoneCode Code="EST"/> <DestinationCityTimeZoneCode Code="PST"/> <TimeZoneDifference Code="-3"/> <DayOfWeek>SAT</DayOfWeek> </TPA_Extensions> <FlightSegment ArrivalDateTime="2012-02-04T14:06:00" DepartureDateTime="2012-02-04T12:59:00" FlightNumber="1006" OnTimeRate="N" RPH="6" SmokingAllowed="false" StopQuantity="0" Ticket="E"> <DepartureAirport LocationCode="JFK"/> <ArrivalAirport LocationCode="BOS"/> <OperatingAirline Code="B6" FlightNumber="1006"/> <Equipment AirEquipType="E90"/> <MarketingAirline Code="B6"/> <Comment>EVEN MORE SPACE AVAILABLE Â?</Comment> <MarketingCabin/> <BookingClassAvail Availability="7" RPH="1" ResBookDesigCode="Y"/> <BookingClassAvail Availability="7" RPH="2" ResBookDesigCode="E"/> <BookingClassAvail Availability="7" RPH="3" ResBookDesigCode="K"/> <BookingClassAvail Availability="7" RPH="4" ResBookDesigCode="H"/> <BookingClassAvail Availability="7" RPH="5" ResBookDesigCode="Q"/> <BookingClassAvail Availability="7" RPH="6" ResBookDesigCode="B"/> <BookingClassAvail Availability="7" RPH="7" ResBookDesigCode="L"/> <BookingClassAvail Availability="7" RPH="8" ResBookDesigCode="V"/> <BookingClassAvail Availability="7" RPH="9" ResBookDesigCode="R"/> <BookingClassAvail Availability="7" RPH="10" ResBookDesigCode="M"/> <BookingClassAvail Availability="7" RPH="11" ResBookDesigCode="O"/> <BookingClassAvail Availability="7"

Misc Web Services 19 March 2019 308 Confidential and Proprietary Sabre Airline Solutions

RPH="12" ResBookDesigCode="U"/> <BookingClassAvail Availability="0" RPH="13" ResBookDesigCode="S"/> <BookingClassAvail Availability="0" RPH="14" ResBookDesigCode="P"/> <BookingClassAvail Availability="0" RPH="15" ResBookDesigCode="N"/> <TPA_Extensions> <DaysOfOperation> <OperationSchedule> <OperationTimes> <OperationTime Fri="true" Mon="true" Sat="true" Sun="true" Thur="true" Tue="true" Weds="true"/> </OperationTimes> </OperationSchedule> </DaysOfOperation> </TPA_Extensions> </FlightSegment> <FlightSegment ArrivalDateTime="2012-02-04T22:32:00" DepartureDateTime="2012-02-04T18:59:00" FlightNumber="485" OnTimeRate="N" RPH="7" SmokingAllowed="false" StopQuantity="0" Ticket="E"> <DepartureAirport LocationCode="BOS"/> <ArrivalAirport LocationCode="LAX"/> <OperatingAirline Code="B6" FlightNumber="485"/> <Equipment AirEquipType="320"/> <MarketingAirline Code="B6"/> <Comment>EVEN MORE SPACE AVAILABLE Â?</Comment> <MarketingCabin/> <BookingClassAvail Availability="7" RPH="1" ResBookDesigCode="Y"/> <BookingClassAvail Availability="7" RPH="2" ResBookDesigCode="E"/> <BookingClassAvail Availability="7" RPH="3" ResBookDesigCode="K"/> <BookingClassAvail Availability="7" RPH="4" ResBookDesigCode="H"/> <BookingClassAvail Availability="7" RPH="5" ResBookDesigCode="Q"/> <BookingClassAvail Availability="7" RPH="6" ResBookDesigCode="B"/> <BookingClassAvail Availability="7" RPH="7" ResBookDesigCode="L"/>

Misc Web Services 19 March 2019 309 Confidential and Proprietary Sabre Airline Solutions

<BookingClassAvail Availability="7" RPH="8" ResBookDesigCode="V"/> <BookingClassAvail Availability="7" RPH="9" ResBookDesigCode="R"/> <BookingClassAvail Availability="7" RPH="10" ResBookDesigCode="M"/> <BookingClassAvail Availability="7" RPH="11" ResBookDesigCode="O"/> <BookingClassAvail Availability="7" RPH="12" ResBookDesigCode="U"/> <BookingClassAvail Availability="7" RPH="13" ResBookDesigCode="S"/> <BookingClassAvail Availability="0" RPH="14" ResBookDesigCode="P"/> <BookingClassAvail Availability="0" RPH="15" ResBookDesigCode="N"/> <TPA_Extensions> <ConnectionIndicator Ind="true"/> <DaysOfOperation> <OperationSchedule> <OperationTimes> <OperationTime Fri="true" Mon="true" Sat="true" Sun="true" Thur="true" Tue="true" Weds="true"/> </OperationTimes> </OperationSchedule> </DaysOfOperation> </TPA_Extensions> </FlightSegment> </OriginDestinationOption> <OriginDestinationOption> <TPA_Extensions> <OriginCityTimeZoneCode Code="EST"/> <DestinationCityTimeZoneCode Code="PST"/> <TimeZoneDifference Code="-3"/> <DayOfWeek>SAT</DayOfWeek> </TPA_Extensions> <FlightSegment ArrivalDateTime="2012-02-04T16:14:00" DepartureDateTime="2012-02-04T13:15:00" FlightNumber="505" OnTimeRate="7" RPH="8" SmokingAllowed="false" StopQuantity="0" Ticket="E"> <DepartureAirport LocationCode="EWR"/> <ArrivalAirport LocationCode="FLL"/> <OperatingAirline Code="B6" FlightNumber="505"/>

Misc Web Services 19 March 2019 310 Confidential and Proprietary Sabre Airline Solutions

<Equipment AirEquipType="320"/> <MarketingAirline Code="B6"/> <Comment>EVEN MORE SPACE AVAILABLE Â?</Comment> <MarketingCabin/> <BookingClassAvail Availability="7" RPH="1" ResBookDesigCode="Y"/> <BookingClassAvail Availability="7" RPH="2" ResBookDesigCode="E"/> <BookingClassAvail Availability="7" RPH="3" ResBookDesigCode="K"/> <BookingClassAvail Availability="7" RPH="4" ResBookDesigCode="H"/> <BookingClassAvail Availability="7" RPH="5" ResBookDesigCode="Q"/> <BookingClassAvail Availability="7" RPH="6" ResBookDesigCode="B"/> <BookingClassAvail Availability="7" RPH="7" ResBookDesigCode="L"/> <BookingClassAvail Availability="7" RPH="8" ResBookDesigCode="V"/> <BookingClassAvail Availability="7" RPH="9" ResBookDesigCode="R"/> <BookingClassAvail Availability="7" RPH="10" ResBookDesigCode="M"/> <BookingClassAvail Availability="7" RPH="11" ResBookDesigCode="O"/> <BookingClassAvail Availability="7" RPH="12" ResBookDesigCode="U"/> <BookingClassAvail Availability="5" RPH="13" ResBookDesigCode="S"/> <BookingClassAvail Availability="0" RPH="14" ResBookDesigCode="P"/> <BookingClassAvail Availability="0" RPH="15" ResBookDesigCode="N"/> <TPA_Extensions> <DaysOfOperation> <OperationSchedule> <OperationTimes> <OperationTime Fri="true" Mon="true" Sat="true" Sun="true" Thur="true" Tue="true" Weds="true"/> </OperationTimes> </OperationSchedule> </DaysOfOperation> </TPA_Extensions> </FlightSegment>

Misc Web Services 19 March 2019 311 Confidential and Proprietary Sabre Airline Solutions

<FlightSegment ArrivalDateTime="2012-02-04T21:20:00" DepartureDateTime="2012-02-04T18:37:00" FlightNumber="101" OnTimeRate="6" RPH="9" SmokingAllowed="false" StopQuantity="0" Ticket="E"> <DepartureAirport LocationCode="FLL"/> <ArrivalAirport LocationCode="LAX"/> <OperatingAirline Code="B6" FlightNumber="101"/> <Equipment AirEquipType="320"/> <MarketingAirline Code="B6"/> <Comment>EVEN MORE SPACE AVAILABLE Â?</Comment> <MarketingCabin/> <BookingClassAvail Availability="7" RPH="1" ResBookDesigCode="Y"/> <BookingClassAvail Availability="7" RPH="2" ResBookDesigCode="E"/> <BookingClassAvail Availability="7" RPH="3" ResBookDesigCode="K"/> <BookingClassAvail Availability="7" RPH="4" ResBookDesigCode="H"/> <BookingClassAvail Availability="7" RPH="5" ResBookDesigCode="Q"/> <BookingClassAvail Availability="7" RPH="6" ResBookDesigCode="B"/> <BookingClassAvail Availability="7" RPH="7" ResBookDesigCode="L"/> <BookingClassAvail Availability="7" RPH="8" ResBookDesigCode="V"/> <BookingClassAvail Availability="7" RPH="9" ResBookDesigCode="R"/> <BookingClassAvail Availability="7" RPH="10" ResBookDesigCode="M"/> <BookingClassAvail Availability="7" RPH="11" ResBookDesigCode="O"/> <BookingClassAvail Availability="7" RPH="12" ResBookDesigCode="U"/> <BookingClassAvail Availability="7" RPH="13" ResBookDesigCode="S"/> <BookingClassAvail Availability="0" RPH="14" ResBookDesigCode="P"/> <BookingClassAvail Availability="0" RPH="15" ResBookDesigCode="N"/> <TPA_Extensions> <ConnectionIndicator

Misc Web Services 19 March 2019 312 Confidential and Proprietary Sabre Airline Solutions

Ind="true"/> <DaysOfOperation> <OperationSchedule> <OperationTimes> <OperationTime Fri="true" Mon="true" Sat="true" Sun="true" Thur="true" Tue="true" Weds="true"/> </OperationTimes> </OperationSchedule> </DaysOfOperation> </TPA_Extensions> </FlightSegment> </OriginDestinationOption> <OriginDestinationOption> <TPA_Extensions> <OriginCityTimeZoneCode Code="EST"/> <DestinationCityTimeZoneCode Code="PST"/> <TimeZoneDifference Code="-3"/> <DayOfWeek>SAT</DayOfWeek> </TPA_Extensions> <FlightSegment ArrivalDateTime="2012-02-04T14:57:00" DepartureDateTime="2012-02-04T11:55:00" FlightNumber="585" OnTimeRate="8" RPH="10" SmokingAllowed="false" StopQuantity="0" Ticket="E"> <DepartureAirport LocationCode="HPN"/> <ArrivalAirport LocationCode="FLL"/> <OperatingAirline Code="B6" FlightNumber="585"/> <Equipment AirEquipType="E90"/> <MarketingAirline Code="B6"/> <Comment>EVEN MORE SPACE AVAILABLE Â?</Comment> <MarketingCabin/> <BookingClassAvail Availability="7" RPH="1" ResBookDesigCode="Y"/> <BookingClassAvail Availability="7" RPH="2" ResBookDesigCode="E"/> <BookingClassAvail Availability="7" RPH="3" ResBookDesigCode="K"/> <BookingClassAvail Availability="7" RPH="4" ResBookDesigCode="H"/> <BookingClassAvail Availability="7" RPH="5" ResBookDesigCode="Q"/> <BookingClassAvail Availability="7" RPH="6" ResBookDesigCode="B"/> <BookingClassAvail

Misc Web Services 19 March 2019 313 Confidential and Proprietary Sabre Airline Solutions

Availability="7" RPH="7" ResBookDesigCode="L"/> <BookingClassAvail Availability="7" RPH="8" ResBookDesigCode="V"/> <BookingClassAvail Availability="7" RPH="9" ResBookDesigCode="R"/> <BookingClassAvail Availability="7" RPH="10" ResBookDesigCode="M"/> <BookingClassAvail Availability="7" RPH="11" ResBookDesigCode="O"/> <BookingClassAvail Availability="7" RPH="12" ResBookDesigCode="U"/> <BookingClassAvail Availability="7" RPH="13" ResBookDesigCode="S"/> <BookingClassAvail Availability="0" RPH="14" ResBookDesigCode="P"/> <BookingClassAvail Availability="0" RPH="15" ResBookDesigCode="N"/> <TPA_Extensions> <DaysOfOperation> <OperationSchedule> <OperationTimes> <OperationTime Fri="true" Mon="true" Sat="true" Sun="true" Thur="true" Tue="true" Weds="true"/> </OperationTimes> </OperationSchedule> </DaysOfOperation> </TPA_Extensions> </FlightSegment> <FlightSegment ArrivalDateTime="2012-02-04T21:20:00" DepartureDateTime="2012-02-04T18:37:00" FlightNumber="101" OnTimeRate="6" RPH="11" SmokingAllowed="false" StopQuantity="0" Ticket="E"> <DepartureAirport LocationCode="FLL"/> <ArrivalAirport LocationCode="LAX"/> <OperatingAirline Code="B6" FlightNumber="101"/> <Equipment AirEquipType="320"/> <MarketingAirline Code="B6"/> <Comment>EVEN MORE SPACE AVAILABLE Â?</Comment> <MarketingCabin/> <BookingClassAvail Availability="7" RPH="1" ResBookDesigCode="Y"/> <BookingClassAvail Availability="7" RPH="2" ResBookDesigCode="E"/>

Misc Web Services 19 March 2019 314 Confidential and Proprietary Sabre Airline Solutions

<BookingClassAvail Availability="7" RPH="3" ResBookDesigCode="K"/> <BookingClassAvail Availability="7" RPH="4" ResBookDesigCode="H"/> <BookingClassAvail Availability="7" RPH="5" ResBookDesigCode="Q"/> <BookingClassAvail Availability="7" RPH="6" ResBookDesigCode="B"/> <BookingClassAvail Availability="7" RPH="7" ResBookDesigCode="L"/> <BookingClassAvail Availability="7" RPH="8" ResBookDesigCode="V"/> <BookingClassAvail Availability="7" RPH="9" ResBookDesigCode="R"/> <BookingClassAvail Availability="7" RPH="10" ResBookDesigCode="M"/> <BookingClassAvail Availability="7" RPH="11" ResBookDesigCode="O"/> <BookingClassAvail Availability="7" RPH="12" ResBookDesigCode="U"/> <BookingClassAvail Availability="7" RPH="13" ResBookDesigCode="S"/> <BookingClassAvail Availability="0" RPH="14" ResBookDesigCode="P"/> <BookingClassAvail Availability="0" RPH="15" ResBookDesigCode="N"/> <TPA_Extensions> <ConnectionIndicator Ind="true"/> <DaysOfOperation> <OperationSchedule> <OperationTimes> <OperationTime Fri="true" Mon="true" Sat="true" Sun="true" Thur="true" Tue="true" Weds="true"/> </OperationTimes> </OperationSchedule> </DaysOfOperation> </TPA_Extensions> </FlightSegment> </OriginDestinationOption> </OriginDestinationOptions> <TPA_Extensions> <HostCommand>Â?Â?Â?AÂ?Â?RS01S093^AD01Â?104FEBNYCLAX1235P</HostCommand> </TPA_Extensions> </OTA_AirAvailRS> </soap-env:Body> </soap-env:Envelope>

Misc Web Services 19 March 2019 315 Confidential and Proprietary Sabre Airline Solutions

5.3.2 Sell Seat From Availability

Sell one seat in Y class from line 1 of availability

Native Sabre

01Y1 1 B6 673Y 04FEB J JFKLAX SS1 1100A 210P /E DEP-TERMINAL 5 ARR-TERMINAL 3

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/tpf/ShortSellLLSRQ.wsdl

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service ns1:type="OTA">ShortSellLLSRQ</ns1:Service> <ns1:Action>ShortSellLLSRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T11:15:12Z</ns1:Timestamp> <ns1:TimeToLive>2001-02-15T11:15:12Z</ns1:TimeToLive> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <ShortSellRQ AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" Version="2003A.TsabreXML1.0.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07"> <POS>

Misc Web Services 19 March 2019 316 Confidential and Proprietary Sabre Airline Solutions

<Source PseudoCityCode="IPCC"/> </POS> <AirItinerary> <OriginDestinationOptions> <OriginDestinationOption> <FlightSegment NumberInParty="1" ResBookDesigCode="Y"> <MarriageGrp Ind="true"/> <TPA_Extensions> <Line Number="1"/> </TPA_Extensions> </FlightSegment> </OriginDestinationOption> </OriginDestinationOptions> </AirItinerary> </ShortSellRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="urn:x12.org:IO5:01">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="urn:x12.org:IO5:01">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service eb:type="OTA">ShortSellLLSRQ</eb:Service> <eb:Action>ShortSellLLSRS</eb:Action> <eb:MessageData> <eb:MessageId>4be324e9-5024-444d-ad11-d65293ad2350@176</eb:MessageId> <eb:Timestamp>2011-11-15T18:30:49</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</wsse:BinarySecurityToken> </wsse:Security>

Misc Web Services 19 March 2019 317 Confidential and Proprietary Sabre Airline Solutions

</soap-env:Header> <soap-env:Body> <ShortSellRS Version="2003A.TsabreXML1.0.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Success/> <AirReservation> <AirItinerary> <OriginDestinationOptions> <OriginDestinationOption> <FlightSegment ActionCode="SS" ArrivalDateTime="2012-02-04T14:10:00" DepartureDateTime="2012-02-04T11:00:00" FlightNumber="673" NumberInParty="1" RPH="0" ResBookDesigCode="Y"> <DepartureAirport LocationCode="JFK"/> <ArrivalAirport LocationCode="LAX"/> <OperatingAirline Code="B6"/> <TPA_Extensions/> </FlightSegment> </OriginDestinationOption> </OriginDestinationOptions> </AirItinerary> </AirReservation> <TPA_Extensions> <HostCommand>Â?Â?Â?AÂ?Â?RS01S093Â?01Y1*</HostCommand> </TPA_Extensions> </ShortSellRS> </soap-env:Body> </soap-env:Envelope>

5.3.3 Add Name, Phone, Ticketing Time Limit to PNR

Native Sabre

Enter phone number 123-1234.

9123-1234 *

Indicate the PNR information was received from the passenger.

6P *

Set ticketing time limit field.

7T- *

Misc Web Services 19 March 2019 318 Confidential and Proprietary Sabre Airline Solutions

Enter passenger name.

-DOMESTICONEWAYEXCHANGE/TEST *

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/tpf/TravelItineraryAddInfoLLS1.8.1RQ.wsdl

Add Name, Phone number, Ticketing time limit.

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service ns1:type="OTA">TravelItineraryAddInfoLLSRQ</ns1:Service> <ns1:Action>TravelItineraryAddInfoLLSRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T11:15:12Z</ns1:Timestamp> <ns1:TimeToLive>2001-02-15T11:15:12Z</ns1:TimeToLive> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <TravelItineraryAddInfoRQ AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2001-12-17T09:30:47-05:00" Version="2003A.TsabreXML1.8.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07">

Misc Web Services 19 March 2019 319 Confidential and Proprietary Sabre Airline Solutions

<CustomerInfo> <PersonName> <GivenName>TEST</GivenName> <Surname>DOMESTICONEWAYEXCHANGE</Surname> </PersonName> <Telephone PhoneNumber="123-1234"/> </CustomerInfo> <AgencyInfo> <Ticketing TicketType="7T-"/> </AgencyInfo> </TravelItineraryAddInfoRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="urn:x12.org:IO5:01">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="urn:x12.org:IO5:01">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service eb:type="OTA">TravelItineraryAddInfoLLSRQ</eb:Service> <eb:Action>TravelItineraryAddInfoLLSRS</eb:Action> <eb:MessageData> <eb:MessageId>50627196-28f8-4ab2-b255-c4cb6dc04fbb@176</eb:MessageId> <eb:Timestamp>2011-11-15T18:30:50</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <TravelItineraryAddInfoRS AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2011-11-15T18:30:50" Version="2003A.TsabreXML1.8.1"

Misc Web Services 19 March 2019 320 Confidential and Proprietary Sabre Airline Solutions

xmlns="http://webservices.sabre.com/sabreXML/2003/07" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Success/> <TPA_Extensions> <HostCommand>-DOMESTICONEWAYEXCHANGE/TEST§9123-1234§7T-</HostCommand> </TPA_Extensions> </TravelItineraryAddInfoRS> </soap-env:Body> </soap-env:Envelope>

5.3.4 Add Form of Identification (FOID)

Native Sabre

Enter form of ID: US Passport for name number 1.1

4FOID/PPUS123123-1.1 *

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/tpf/SabreCommandLLS1.6.1RQ.wsdl

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service ns1:type="OTA">SabreCommandLLSRQ</ns1:Service> <ns1:Action>SabreCommandLLSRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T11:15:12Z</ns1:Timestamp> <ns1:TimeToLive>2001-02-15T11:15:12Z</ns1:TimeToLive> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security

Misc Web Services 19 March 2019 321 Confidential and Proprietary Sabre Airline Solutions

xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <SabreCommandLLSRQ AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2001-12-17T09:30:47-05:00" Version="2003A.TsabreXML1.6.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07"> <Request Output="SCREEN"> <HostCommand>4FOID/PPUS123123-1.1</HostCommand> </Request> </SabreCommandLLSRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="urn:x12.org:IO5:01">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="urn:x12.org:IO5:01">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service eb:type="OTA">SabreCommandLLSRQ</eb:Service> <eb:Action>SabreCommandLLSRS</eb:Action> <eb:MessageData> <eb:MessageId>ec202c68-d03a-4dfe-a0f6-d9c6c77fb640@152</eb:MessageId> <eb:Timestamp>2011-11-15T18:30:50</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body>

Misc Web Services 19 March 2019 322 Confidential and Proprietary Sabre Airline Solutions

<SabreCommandLLSRS AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2011-11-15T18:30:50" Version="2003A.TsabreXML1.6.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07"> <Response><![CDATA[* ]]></Response> </SabreCommandLLSRS> </soap-env:Body> </soap-env:Envelope>

5.3.5 Add Secure Flight Documentation - Date of Birth, Gender

Native Sabre

Enter Documentation - Date of Birth, Gender, Name for Passenger 1.1

4DOCS/DB/21AUG60/M/LAST/FIRST-1.1 *

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/tpf/SabreCommandLLS1.6.1RQ.wsdl

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service ns1:type="OTA">SabreCommandLLSRQ</ns1:Service> <ns1:Action>SabreCommandLLSRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T11:15:12Z</ns1:Timestamp> <ns1:TimeToLive>2001-02-15T11:15:12Z</ns1:TimeToLive> </ns1:MessageData>

Misc Web Services 19 March 2019 323 Confidential and Proprietary Sabre Airline Solutions

</ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <SabreCommandLLSRQ AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2001-12-17T09:30:47-05:00" Version="2003A.TsabreXML1.6.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07"> <Request Output="SCREEN"> <HostCommand>4DOCS/DB/21AUG60/M/LAST/FIRST-1.1</HostCommand> </Request> </SabreCommandLLSRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="urn:x12.org:IO5:01">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="urn:x12.org:IO5:01">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service eb:type="OTA">SabreCommandLLSRQ</eb:Service> <eb:Action>SabreCommandLLSRS</eb:Action> <eb:MessageData> <eb:MessageId>705c0979-ec00-410a-b40a-e3113ce8ec1c@152</eb:MessageId> <eb:Timestamp>2011-11-15T18:30:51</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</wsse:BinarySecurityToken> </wsse:Security>

Misc Web Services 19 March 2019 324 Confidential and Proprietary Sabre Airline Solutions

</soap-env:Header> <soap-env:Body> <SabreCommandLLSRS AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2011-11-15T18:30:51" Version="2003A.TsabreXML1.6.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07"> <Response><![CDATA[* ]]></Response> </SabreCommandLLSRS> </soap-env:Body> </soap-env:Envelope>

5.3.6 Price for Lowest Fare and Retain Price Quote

Native Sabre

Price itinerary and rebook class (NCB) for lowest fare. Retain the price quote (RQ).

WPNCB‡RQ PRICE QUOTE RECORD RETAINED 04FEB DEPARTURE DATE-----LAST DAY TO PURCHASE 16NOV/2359 BASE FARE TAXES TOTAL 1- USD129.30 20.40XT USD149.70ADT XT 9.70US 3.70ZP 2.50AY 4.50XF 129.30 20.40 149.70TTL ADT-01 UH14AE2C NYC B6 LAX129.30UH14AE2C USD129.30END ZPJFK XFJFK4.5 NONREF - FEE FOR CHG/CXL VALIDATING CARRIER SPECIFIED - B6

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/tpf/OTA_AirPriceLLS1.12.1RQ.wsdl

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">123123</ns1:PartyId>

Misc Web Services 19 March 2019 325 Confidential and Proprietary Sabre Airline Solutions

</ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service ns1:type="OTA">OTA_AirPriceLLSRQ</ns1:Service> <ns1:Action>OTA_AirPriceLLSRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T11:15:12Z</ns1:Timestamp> <ns1:TimeToLive>2001-02-15T11:15:12Z</ns1:TimeToLive> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <OTA_AirPriceRQ AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2001-12-17T09:30:47-05:00" Version="2003A.TsabreXML1.12.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07"> <TravelerInfoSummary> <TPA_Extensions> <BargainFinder Ind="true"> <Rebook Ind="true"/> </BargainFinder> <PriceRetention Default="true"/> </TPA_Extensions> </TravelerInfoSummary> </OTA_AirPriceRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="urn:x12.org:IO5:01">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="urn:x12.org:IO5:01">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId>

Misc Web Services 19 March 2019 326 Confidential and Proprietary Sabre Airline Solutions

<eb:ConversationId>ABC123</eb:ConversationId> <eb:Service eb:type="OTA">OTA_AirPriceLLSRQ</eb:Service> <eb:Action>OTA_AirPriceLLSRS</eb:Action> <eb:MessageData> <eb:MessageId>19377e40-a401-4c67-a424-cb4885b96cb2@176</eb:MessageId> <eb:Timestamp>2011-11-15T18:30:54</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <OTA_AirPriceRS AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2011-11-15T18:30:54" Version="2003A.TsabreXML1.12.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Success/> <PricedItineraries> <PricedItinerary> <AirItineraryPricingInfo PricingSource="NIH"> <TPA_Extensions> <AlternateBooking> <Segment Class="1U"/> </AlternateBooking> <PurchaseText>VALIDATING CARRIER SPECIFIED - B6</PurchaseText> <PurchaseText>4FEB DEPARTURE DATE-----LAST DAY TO PURCHASE 16NOV</PurchaseText> <PurchaseText>ELECTRONIC TICKETING ELIGIBLE</PurchaseText> <LastTicketingDate>2011-11-16T23:59:00</LastTicketingDate> <ValidatingCarrier Code="B6"/> </TPA_Extensions> <ItinTotalFare> <TotalFare Amount="149.70" CurrencyCode="USD"/> </ItinTotalFare> <PTC_FareBreakdown PricingSource="NIH"> <PassengerTypeQuantity Code="ADT" Quantity="1"/> <FareBasis Code="UH14AE2C" Date="2012-02-04T00:00:00" Market="NYCLAX" RPH="1"/> <PassengerFare> <BaseFare

Misc Web Services 19 March 2019 327 Confidential and Proprietary Sabre Airline Solutions

Amount="129.30" CurrencyCode="USD"/> <Taxes> <Tax Amount="9.70" DecimalPlaces="2" TaxCode="US" TaxName="US DOMESTIC TRANSPORTATION TAX"/> <Tax Amount="3.70" DecimalPlaces="2" TaxCode="ZP" TaxName="SEGMENT TAX"/> <Tax Amount="2.50" DecimalPlaces="2" TaxCode="AY" TaxName="US SECURITY FEE"/> <Tax Amount="4.50" DecimalPlaces="2" TaxCode="XF" TaxName="PASSENGER FACILITY CHARGES"/> </Taxes> <TPA_Extensions> <Endorsements> <Text>NONREF - FEE FOR CHG/CXL</Text> </Endorsements> <FareCalculation> <Text>NYC B6 LAX129.30UH14AE2C USD129.30END ZPJFK XFJFK4.5</Text> </FareCalculation> <Commission Amount=".00"/> </TPA_Extensions> <TotalFare Amount="149.70" CurrencyCode="USD" DecimalPlaces="2"/> </PassengerFare> </PTC_FareBreakdown> <FareRuleInfo> <FareBasis Code="UH14AE2C" Date="2012-02-04T00:00:00" Market="NYCLAX" RPH="1"/> <FilingAirline Code="B6"/> <DepartureAirport CodeContext="IATA" LocationCode="JFK"/> <ArrivalAirport CodeContext="IATA" LocationCode="LAX"/> </FareRuleInfo> </AirItineraryPricingInfo> </PricedItinerary> </PricedItineraries> <TPA_Extensions> <HostCommand>Â?Â?Â?AÂ?Â?RS01S093Â?WPNCBÂ¥RQ</HostCommand> </TPA_Extensions> </OTA_AirPriceRS> </soap-env:Body> </soap-env:Envelope>

Misc Web Services 19 March 2019 328 Confidential and Proprietary Sabre Airline Solutions

5.3.7 End and Redisplays PNR

Native Sabre

This steps saves the booking and redisplays the PNR. It is necessary to end the PNR before you can issue a ticket.

ER BMWGZR 1.1DOMESTICONEWAYEXCHANGE/TEST 1 B6 673U 04FEB J JFKLAX HK1 1100A 210P /E TKT/TIME LIMIT 1.T- PHONES 1.NIH123-1234 PRICE QUOTE RECORD EXISTS - *PQS B6 FACTS 1.SSR FOID B6 HK1/PPUS123123 2.SSR DOCS B6 HK1/DB/21AUG60/M/LAST/FIRST RECEIVED FROM - P NIH.NIH5SSW 1404/15NOV11 BMWGZR

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/tpf/SabreCommandLLS1.6.1RQ.wsdl

This finalizes the booking in preparation for ticketing. Ticketing will not issue a document unless the itinerary is confirmed.

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service ns1:type="OTA">SabreCommandLLSRQ</ns1:Service> <ns1:Action>SabreCommandLLSRQ</ns1:Action>

Misc Web Services 19 March 2019 329 Confidential and Proprietary Sabre Airline Solutions

<ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T11:15:12Z</ns1:Timestamp> <ns1:TimeToLive>2001-02-15T11:15:12Z</ns1:TimeToLive> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <SabreCommandLLSRQ AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2001-12-17T09:30:47-05:00" Version="2003A.TsabreXML1.6.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07"> <Request Output="SCREEN"> <HostCommand>ER</HostCommand> </Request> </SabreCommandLLSRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="urn:x12.org:IO5:01">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="urn:x12.org:IO5:01">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service eb:type="OTA">SabreCommandLLSRQ</eb:Service> <eb:Action>SabreCommandLLSRS</eb:Action> <eb:MessageData> <eb:MessageId>67d97385-186f-4b86-a08d-c1c2f597bace@152</eb:MessageId> <eb:Timestamp>2011-11-15T18:30:55</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken

Misc Web Services 19 March 2019 330 Confidential and Proprietary Sabre Airline Solutions

EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <SabreCommandLLSRS AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2011-11-15T18:30:55" Version="2003A.TsabreXML1.6.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07"> <Response><![CDATA[CYAFWM 1.1DOMESTICONEWAYEXCHANGE/TEST 1 B6 673U 04FEB J JFKLAX HK1 1100A 210P /E TKT/TIME LIMIT 1.T- PHONES 1.NIH123-1234 PRICE QUOTE RECORD EXISTS - *PQS B6 FACTS 1.SSR FOID B6 HK1/PPUS123123 2.SSR DOCS B6 HK1/DB/21AUG60/M/LAST/FIRST NIH.NIH5SSW 1230/15NOV11 CYAFWM]]></Response> </SabreCommandLLSRS> </soap-env:Body> </soap-env:Envelope>

5.4 Issue Ticket

Native Sabre

Issue an electronic ticket (VCR) with form of payment cash.

W‡FCA‡VCR OK 149.70/ 21 6580 4519 0 NO BOARDING PASS INFO

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/tpf/AirTicketLLS1.8.1RQ.wsdl

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From>

Misc Web Services 19 March 2019 331 Confidential and Proprietary Sabre Airline Solutions

<ns1:PartyId ns1:type="urn:x12.org:IO5:01">999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service ns1:type="OTA">AirTicketLLSRQ</ns1:Service> <ns1:Action>AirTicketLLSRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T11:15:12Z</ns1:Timestamp> <ns1:TimeToLive>2001-02-15T11:15:12Z</ns1:TimeToLive> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <AirTicketRQ AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2001-12-17T09:30:47-05:00" Version="2003A.TsabreXML1.8.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07"> <TicketingInfo TicketType="VCR"/> <OptionalQualifiers> <FOPQualifiers> <SingleFOP Type="CA"/> </FOPQualifiers> </OptionalQualifiers> </AirTicketRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="urn:x12.org:IO5:01">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId

Misc Web Services 19 March 2019 332 Confidential and Proprietary Sabre Airline Solutions

eb:type="urn:x12.org:IO5:01">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service eb:type="OTA">AirTicketLLSRQ</eb:Service> <eb:Action>AirTicketLLSRS</eb:Action> <eb:MessageData> <eb:MessageId>e1e69a30-c16d-4ea1-9875-82d6995e68e9@176</eb:MessageId> <eb:Timestamp>2011-11-15T18:30:58</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <AirTicketRS AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2011-11-15T18:30:58" Version="2003A.TsabreXML1.8.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Success/> <Text>OK 149.70/ 21 6580 3783 6 NO BOARDING PASS INFO</Text> <TicketTotal Amount="149.70" DecimalPlaces="2"/> <TPA_Extensions> <HostCommand>WÂ¥VCRÂ¥FCA</HostCommand> </TPA_Extensions> </AirTicketRS> </soap-env:Body> </soap-env:Envelope>

Misc Web Services 19 March 2019 333 Confidential and Proprietary Sabre Airline Solutions

5.4.1 End and Redisplay PNR

Native Sabre

This action saves the changes you made and redisplays the PNR.

ER BMWGZR 1.1DOMESTICONEWAYEXCHANGE/TEST 1 B6 673U 04FEB J JFKLAX HK1 1100A 210P /E TKT/TIME LIMIT 1.T-15NOV-NIH5SSW 2.TE 2792165804519 DOMES/T NIH5SSW 1507/15NOV VCR COUPON DATA EXISTS *VI TO DISPLAY PHONES 1.NIH123-1234 PRICE QUOTE RECORD EXISTS - *PQS B6 FACTS 1.SSR FOID B6 HK1/PPUS123123 2.SSR DOCS B6 HK1/DB/21AUG60/M/LAST/FIRST RECEIVED FROM - P NIH.NIH5SSW 1404/15NOV11 BMWGZR H

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/tpf/SabreCommandLLS1.6.1RQ.wsdl

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service ns1:type="OTA">SabreCommandLLSRQ</ns1:Service> <ns1:Action>SabreCommandLLSRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T11:15:12Z</ns1:Timestamp>

Misc Web Services 19 March 2019 334 Confidential and Proprietary Sabre Airline Solutions

<ns1:TimeToLive>2001-02-15T11:15:12Z</ns1:TimeToLive> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <SabreCommandLLSRQ AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2001-12-17T09:30:47-05:00" Version="2003A.TsabreXML1.6.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07"> <Request Output="SCREEN"> <HostCommand>ER</HostCommand> </Request> </SabreCommandLLSRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="urn:x12.org:IO5:01">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="urn:x12.org:IO5:01">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service eb:type="OTA">SabreCommandLLSRQ</eb:Service> <eb:Action>SabreCommandLLSRS</eb:Action> <eb:MessageData> <eb:MessageId>911be4e9-4b75-4b46-a288-809f5b47fd33@152</eb:MessageId> <eb:Timestamp>2011-11-15T18:30:59</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary"

Misc Web Services 19 March 2019 335 Confidential and Proprietary Sabre Airline Solutions

valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <SabreCommandLLSRS AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2011-11-15T18:30:59" Version="2003A.TsabreXML1.6.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07"> <Response><![CDATA[CYAFWM 1.1DOMESTICONEWAYEXCHANGE/TEST 1 B6 673U 04FEB J JFKLAX HK1 1100A 210P /E TKT/TIME LIMIT 1.T-15NOV-NIH5SSW 2.TE 2792165803783 DOMES/T NIH5SSW 1331/15NOV VCR COUPON DATA EXISTS *VI TO DISPLAY PHONES 1.NIH123-1234 PRICE QUOTE RECORD EXISTS - *PQS B6 FACTS 1.SSR FOID B6 HK1/PPUS123123 2.SSR DOCS B6 HK1/DB/21AUG60/M/LAST/FIRST NIH.NIH5SSW 1230/15NOV11 CYAFWM H]]></Response> </SabreCommandLLSRS> </soap-env:Body> </soap-env:Envelope>

5.5 Display a PNR

Native Sabre

Display a PNR using Flight, Date, and Passenger Last Name

*B6673/04FEB-DOMESTICONEWAYEXCHANGE 1.1DOMESTICONEWAYEXCHANGE/TEST 1 B6 673U 04FEB J JFKLAX HK1 1100A 210P /E TKT/TIME LIMIT 1.T-15NOV-NIH5SSW 2.TE 2792165803783 DOMES/T NIH5SSW 1331/15NOV VCR COUPON DATA EXISTS *VI TO DISPLAY PHONES 1.NIH123-1234 PRICE QUOTE RECORD EXISTS - *PQS B6 FACTS 1.SSR FOID B6 HK1/PPUS123123 2.SSR DOCS B6 HK1/DB/21AUG60/M/LAST/FIRST NIH.NIH5SSW 1230/15NOV11 CYAFWM H

Misc Web Services 19 March 2019 336 Confidential and Proprietary Sabre Airline Solutions

Web Service Calls

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/tpf/OTA_TravelItineraryReadLLS1.13.1RQ.wsdl

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns1:MessageHeader ns1:version="" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader"> <ns1:From> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">999999</ns1:PartyId> </ns1:From> <ns1:To> <ns1:PartyId ns1:type="urn:x12.org:IO5:01">123123</ns1:PartyId> </ns1:To> <ns1:CPAId>IPCC</ns1:CPAId> <ns1:ConversationId>ABC123</ns1:ConversationId> <ns1:Service ns1:type="OTA">OTA_TravelItineraryReadLLSRQ</ns1:Service> <ns1:Action>OTA_TravelItineraryReadLLSRQ</ns1:Action> <ns1:MessageData> <ns1:MessageId>1000</ns1:MessageId> <ns1:Timestamp>2001-02-15T11:15:12Z</ns1:Timestamp> <ns1:TimeToLive>2001-02-15T11:15:12Z</ns1:TimeToLive> </ns1:MessageData> </ns1:MessageHeader> <ns1:Security xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext"> <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</ns1:BinarySecurityToken> </ns1:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <OTA_TravelItineraryReadRQ AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" Target="Production" TimeStamp="2001-12-17T09:30:47-05:00" Version="2003A.TsabreXML1.13.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07"> <UniqueID/> </OTA_TravelItineraryReadRQ> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header>

Misc Web Services 19 March 2019 337 Confidential and Proprietary Sabre Airline Solutions

<eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="urn:x12.org:IO5:01">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="urn:x12.org:IO5:01">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service eb:type="OTA">OTA_TravelItineraryReadLLSRQ</eb:Service> <eb:Action>OTA_TravelItineraryReadLLSRS</eb:Action> <eb:MessageData> <eb:MessageId>70f25a46-8eb8-4812-bb44-c47390fcdfcb@176</eb:MessageId> <eb:Timestamp>2011-11-15T18:31:01</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3986345896575261820!1275099!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <OTA_TravelItineraryRS AltLangID="en-us" EchoToken="String" PrimaryLangID="en-us" SequenceNmbr="1" Target="Production" TimeStamp="2011-11-15T18:31:01" Version="2003A.TsabreXML1.13.1" xmlns="http://webservices.sabre.com/sabreXML/2003/07" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Success/> <TravelItinerary> <ItineraryRef ID="CYAFWM"/> <CustomerInfos> <CustomerInfo> <Customer> <PersonName> <GivenName>TEST</GivenName> <Surname>DOMESTICONEWAYEXCHANGE</Surname> <TPA_Extensions> <NameNumber Number="01.01"/> </TPA_Extensions> </PersonName> <Telephone AreaCityCode="NIH" PhoneNumber="123-1234" RPH="001"/> </Customer>

Misc Web Services 19 March 2019 338 Confidential and Proprietary Sabre Airline Solutions

</CustomerInfo> </CustomerInfos> <ItineraryInfo> <ReservationItems> <Item RPH="0001"> <Air ActionCode="HK" AirMilesFlown="2461" ArrivalDateTime="2012-02-04T14:10:00" DepartureDateTime="2012-02-04T11:00:00" ElapsedTime="06.10" FlightNumber="0673" NumberInParty="01" RPH="0001" ResBookDesigCode="U" SmokingAllowed="N" StopQuantity="00"> <DepartureAirport CodeContext="IATA" LocationCode="JFK"/> <ArrivalAirport CodeContext="IATA" LocationCode="LAX"/> <OperatingAirline/> <Equipment AirEquipType="320"/> <MarketingAirline Code="B6"/> <TPA_Extensions> <ConnectionIndicator Type=" "/> <Eticket Ind="true"/> <UpdatedDepartureTime>2012-02-04T11:00:00</UpdatedDepartureTime> <UpdatedArrivalTime>2012-02-04T14:10:00</UpdatedArrivalTime> </TPA_Extensions> </Air> </Item> </ReservationItems> <Ticketing RPH="01" TicketTimeLimit="T-15NOV-NIH5SSW"/> <Ticketing RPH="02" eTicketNumber="TE 2792165803783 DOMES/T NIH5SSW 1331/15NOV"/> <ItineraryPricing> <PriceQuote> <ResponseHeader> <Text>FARE - PRICE RETAINED</Text> <Text>FARE USED TO CALCULATE DISCOUNT</Text> </ResponseHeader> <PricedItinerary InputMessage="WPNCBÂ?RQ" SequenceNumber="1" StatusCode="A" TaxExempt="N"> <AirItineraryPricingInfo> <ItinTotalFare> <BaseFare Amount="129.30" CurrencyCode="USD" DecimalPlaces="2"/> <Taxes> <Tax Amount="20.40" CurrencyCode="USD" DecimalPlaces="2" TaxCode="XT"/> <TaxBreakdownCode>9.70US</TaxBreakdownCode> <TaxBreakdownCode>3.70ZP</TaxBreakdownCode>

Misc Web Services 19 March 2019 339 Confidential and Proprietary Sabre Airline Solutions

<TaxBreakdownCode>2.50AY</TaxBreakdownCode> <TaxBreakdownCode>4.50XF</TaxBreakdownCode> </Taxes> <TotalFare Amount="149.70" CurrencyCode="USD" DecimalPlaces="2"/> <Totals> <BaseFare Amount="129.30"/> <Taxes> <Tax Amount="20.40"/> </Taxes> <TotalFare Amount="149.70" DecimalPlaces="2"/> </Totals> </ItinTotalFare> <PTC_FareBreakdown> <PassengerTypeQuantity Code="ADT" Quantity="01"/> <FareBasisCode>UH14AE2C</FareBasisCode> <FareCalc>NYC B6 LAX129.30UH14AE2C USD129.30END ZPJFK XFJFK4.5</FareCalc> <Endorsements> <Text>NONREF - FEE FOR CHG/CXL</Text> </Endorsements> <FlightSegment ActionCode="SS" DepartureDateTime="2012-02-04T11:00:00" FlightNumber="673" RPH=" 1" ResBookDesigCode="U"> <FlightType Ind="O"/> <Airport LocationCode="JFK"/> <OperatingAirline Code="B6" FlightNumber="673"/> <FareBasisCode>UH14AE2C</FareBasisCode> <ValidityDates> <NotValidBefore>2012-02-04T00:00:00</NotValidBefore> <NotValidAfter>2012-02-04T00:00:00</NotValidAfter> </ValidityDates> </FlightSegment> <FlightSegment> <Airport LocationCode="LAX"/> </FlightSegment> </PTC_FareBreakdown> <SignatureLine> <Text>NIH NIH 5SSW 1230/15NOV</Text> </SignatureLine> </AirItineraryPricingInfo> </PricedItinerary> </PriceQuote> </ItineraryPricing> </ItineraryInfo> <SpecialServices

Misc Web Services 19 March 2019 340 Confidential and Proprietary Sabre Airline Solutions

ItemRPH="001" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>FOID</SSRType> <Name Number="01.01">DOMESTICONEWAYEXCHANGE/TEST</Name> </TPA_Extensions> <Text>B6 HK1/PPUS123123</Text> </Service> </SpecialServices> <SpecialServices ItemRPH="002" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>DOCS</SSRType> <Name Number="01.01">DOMESTICONEWAYEXCHANGE/TEST</Name> </TPA_Extensions> <Text>B6 HK1/DB/21AUG60/M/LAST/FIRST</Text> </Service> </SpecialServices> <SpecialServices ItemRPH="003" Type="AFX"> <Service SSRCode="SSR"> <TPA_Extensions> <SSRType>TKNE</SSRType> <Name Number="01.01">DOMESTICONEWAYEXCHANGE/TEST</Name> </TPA_Extensions> <Text>B6 HK1 JFKLAX0673U04FEB/2792165803783C1</Text> </Service> </SpecialServices> <UpdatedBy CreateDateTime="2011-11-15T12:30:00"> <TPA_Extensions> <Source AAACity="NIH" AgentSine="SSW" HomePseudoCityCode="NIH"/> </TPA_Extensions> </UpdatedBy> </TravelItinerary> <TPA_Extensions> <HostCommand>Â?Â?Â?AÂ?Â?RS01S093Â?JX PNR</HostCommand> </TPA_Extensions> </OTA_TravelItineraryRS> </soap-env:Body> </soap-env:Envelope>

5.6 Session Close

SessionClose should be done at the end of all your web interactions. Failure to close the session will cause the LNIATA to remain open and in use. Depending on the size of your TAM pool, this could result in web service calls receiving SWS errors stating that the limit of TAM pool LNIATAs has been reached

Misc Web Services 19 March 2019 341 Confidential and Proprietary Sabre Airline Solutions

and that the web service transaction cannot be processed. The TAM pool is a profile name within Sabre Identity Manager (IDM) that describes the number of TAs that can be signed in at the same time.

WSDL: http://wsdl-crt.cert.sabre.com/sabreXML1.0.00/usg/SessionCloseRQ.wsdl

Request <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Header> <eb:MessageHeader SOAP-ENV:mustUnderstand="1" eb:version="1.0"> <eb:ConversationId>ABC123</eb:ConversationId> <eb:From> <eb:PartyId type="urn:x12.org:IO5:01">999999</eb:PartyId> </eb:From> <eb:To> <eb:PartyId type="urn:x12.org:IO5:01">123123</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:Service eb:type="OTA">SessionCloseRQ</eb:Service> <eb:Action>SessionCloseRQ</eb:Action> <eb:MessageData> <eb:MessageId>1000</eb:MessageId> <eb:Timestamp>2001-02-15T11:15:12Z</eb:Timestamp> <eb:TimeToLive>2001-02-15T11:15:12Z</eb:TimeToLive> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/12/utility"> <wsse:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3972879095580580476!277707!0</wsse:BinarySecurityToken> </wsse:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <eb:Manifest SOAP-ENV:mustUnderstand="1" eb:version="1.0"> <eb:Reference xlink:href="cid:rootelement" xlink:type="simple"/> </eb:Manifest> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Response <?xml version="1.0" encoding="UTF-8"?>

Misc Web Services 19 March 2019 342 Confidential and Proprietary Sabre Airline Solutions

<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"> <eb:From> <eb:PartyId eb:type="URI">123123</eb:PartyId> </eb:From> <eb:To> <eb:PartyId eb:type="URI">999999</eb:PartyId> </eb:To> <eb:CPAId>IPCC</eb:CPAId> <eb:ConversationId>ABC123</eb:ConversationId> <eb:Service eb:type="sabreXML">Session</eb:Service> <eb:Action>SessionCloseRS</eb:Action> <eb:MessageData> <eb:MessageId>00f57d5b-0164-4ee1-b93d-ed95b20f89d6@176</eb:MessageId> <eb:Timestamp>2011-12-23T19:47:40</eb:Timestamp> <eb:RefToMessageId>1000</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3972879095580580476!277707!0</wsse:BinarySecurityToken> </wsse:Security> </soap-env:Header> <soap-env:Body> <SessionCloseRS status="Approved" version="1" xmlns="http://www.opentravel.org/OTA/2002/11"/> </soap-env:Body>

</soap-env:Envelope>

END OF DOCUMENT

Misc Web Services 19 March 2019 343 Confidential and Proprietary Sabre Airline Solutions

• • •