Skip to main content

EMD Exchange

Travel Agency

Not Signed In.

Looks like you may not have access to all of the resources and documentation for this page.
Please log-in or contact your support desk team if you believe you should have access.

The EMD Exchange (TKT_ExchangeRefundRQ) API provides Sabre Travel Network agency customers the ability to exchange one associated Electronic Miscellaneous Document (EMD-A) for another single EMD-A.

Target Audience
Travel Agency
API Version
Session Token
Service Action Code

What is it?

The EMD Exchange API allows the exchange of one EMD-A for another EMD-A, pricing and processing air ticket refunds, and performs an air ticket even exchange after a planned airline schedule change.

Although implemented as a single service with different action codes, it is marketed to Sabre Travel Network customers as three distinct products:

  • Sabre Automated Refunds
  • Sabre Schedule Change
  • Sabre EMD Exchange

Note: The ability to use the service for refunds and schedule change exchanges requires a TJR update, but the ability to use the service for EMD exchanges does not require a TJR update.

Why use it?

Today, travelers must contact the carrier when an agency-issued EMD-A exchange is needed. With the introduction of this API, agencies can now service the customer directly.

An EMD Exchange can be needed due to:

  • A voluntary or involuntary change to the itinerary, resulting in the need to exchange an Electronic Ticket. When a flight is canceled, Air Extras are automatically cancelled; however, there is no automatic action to take on the EMD document and the EMD will retain its value. With the introduction of this service, if the passenger desires to re-book the ancillary as well,  the agency can book a new Air Extra item, complete the Ticket exchange, and then exchange the existing EMD as payment for the new Air Extra item.
  • The traveler wants to apply the value of previously purchased services toward the purchase of new ancillaries.

How does it work?

There are two ways to make a request:

  • Exchange Calculation Summary
  • Exchange Fulfillment

Refer to the Request and Response Structure sections for the differences in these requests and responses.

How to use

For detailed instructions, refer to the EMD Exchange API User Guide under the Resources tab.

Request Structure

Refer to the table below to request either an Exchange Calculation Summary or an Exchange Fulfillment.

Exchange Calculation Summary

The following elements and attributes are used to make an Exchange Calculation Summary request. Refer to the Design Documentation under Resources for the full schema documentation in .xml format.

Element Attribute Description


The 2-digit GDS code. Can be: 1S (Sabre TN), 1B (Sabre TN APAC), or 1F (INFINI)

Example: 1S



Sabre/INFINI pseudo city code.

Example: 1Z1Z

TransactionInfo requestType


Identifies the type of request to be made.

Enter PriceComparison to request an Exchange Calculation Summary response. This does not fulfill the exchange.

Enter Fulfill to request an Exchange Fulfillment response. When used, the system will generate the new EMD, but not return the price comparison data. Refer to the Exchange Fulfillment section below for more.



The 13 digit EMD number being exchanged.



The 1-2 digit Ticket Reference number from the *T field of the PNR.

Example: 3



The 1-3 digit Air Extra Number for the service(s) being fulfilled with the exchange transaction. May be repeated if you wish to fulfill more than one (1) Air Extra with the exchange transaction.

Example: 2



The traveler’s name reference number. This field is optional, but it is required by the background systems when the PNR contains more than one name.

Exchange Fulfillment

The following elements and attributes are optional qualifiers when making an Exchange Fulfillment request that are used in addition to the elements and attributes listed above. Refer to the Design Documentation under Resources for the full schema documentation in .xml format.

Element Attribute Description


  If the EMD Exchange is an additional collection, and that additional collection is commissionable, specify the add/collect commission with these elements.
Fulfill.Commission.Commission.Amount   The monetary amount of the commission.
Fulfill.Commission.Commission.Percent   The percentage of the commission.
Fulfill.Commission.NewTicketFullCommission   For use in ARC locations only. If the agent took commission on the old EMD, include that commission plus any commission on an additional collection with this element. Always expressed as an amount. 
Fulfill.Payment   Use with additional collection exchanges to show how the amount due was paid for.
Fulfill.Payment.Card   Contains payment card information.

The two-character credit card vendor code.

Example: AX

  number The payment card number.
  expireDate The expiration date of the payment card.
  manualApprovalCode Use if you have manually obtained the credit card approval code. When used, the internal automated system credit card authorization code will not be invoked.
Fulfill.Payment.ReservationFOP   If your agency uses the TJR option PNAPNR, and stores the form of Payment in the *FOP field, include the *FOP reference number with this element.
Fulfill.Payment.Virtual   If your agency accepts Virtual Credit Card payments and has an account with Conferma, use the traveler’s CAC code with this element.
Fulfill.Payment.Miscellaneous   If your agency uses Miscellaneous FOP, the Sabre green screen #MS qualifier, include the miscellaneous information (a string) with this element.


Response Structure

Refer to the tables below for both Exchange Calculation Summary and Exchange Fulfillment response documentation.

Exchange Calculation Summary

Element Attribute Description
BaseComparison.Old   Provides the value of the EMD presented for exchange.
BaseComparison.New   Provides the cost of the Air Extra(s) to be fulfilled with the exchange.
BaseComparison.Difference   Provides the difference in price between the EMD to be exchanged and the Air Extra items to be fulfilled.
PriceComparison.ResidualAmount   If the exchange is fulfilled, provides the residual amount forfeited.
  currencyCode Currency code of the residual amount.
  decimalPlaces Decimal places in the currency code of the residual amount.

Exchange Fulfillment

Element Attribute Description
Results.Success   Identifies whether the request was successful or not.
TransactionInfo   Contains all details of the exchange transaction.
  reservationAutoEndProcessed If true, the agency has the TJR option for AUTOEND active. Can be true or false.
  reservationAutoRetrievedProcessed If true, the agency has the TJR option for AUTOER active. Can be true or false.

Repeatable element that sends the success response a user would normally see in Sabre greenscreen for the same transaction. Contains the invoice number issued at the time of the end transaction following a fulfillment transaction.

If the exchange was an additional collection, with a Credit Card form of payment, the CC approval code will be sent in this element.

Example: OK      18.00  Y76623


Can be E for Exchange or I for Invoice.


Sample Request
<?xml version="1.0" encoding="UTF-8"?>
            xmlns:ns1="" ns1:version="">
        <ExchangeEmdRQ version="1.5.0"
            <TransactionInfo requestType="EtktToEmdExchange">
Sample Response
<?xml version="1.0" encoding="UTF-8"?>
            xmlns:eb="" eb:version="1.0" soap-env:mustUnderstand="1">
                <eb:PartyId eb:type="URI">123123</eb:PartyId>
                <eb:PartyId eb:type="URI">999999</eb:PartyId>
            <wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!1591195272769!343!9</wsse:BinarySecurityToken>
            xmlns="" version="1.5.0">
            <ns2:Header messageID="LTXLD_TKT_04-5759-1120647644-1591195296508-537-arex" timeStamp="2020-06-03T09:41:00.000">
                <ns2:Message type="E">OK       0.00</ns2:Message>
                <ns2:Message type="E">ET EXCHANGE PROCESSED</ns2:Message>
                <ns2:Message type="E">OK 6.6</ns2:Message>