Skip to main content

Auto Exchange And Refund

1.5.5
Air
Pricing
SOAP API
Airline Carrier

The Automated Exchanges and Refunds (AERRQ) web service prices exchanges and refunds, prices itineraries based on varying degrees of manual pricing criteria, retains the pricing result, and/or fulfills the exchange or refund.

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.

Target Audience
Airline Carrier
API Version
1.5.5
Authentication
Session Token
Service Action Code
AERRQ

Please note that this service is restricted to SabreSonicRes-based airline customers.

Additional related functions include irregular operations such as involuntary reroute, schedule change and no coupon situations. For a Sabre hosted carrier, these functions are based in whole or in part on the information stored in the Virtual Coupon Record ( VCR) electronic ticketing database, the manually provided ticket information (if no electronic record is available), the itinerary in the Agent Assembly Area ( AAA), the fares filed in the Sabre GDS, the historical fare information and related CAT31 rules as filed with Sabre, the tables configured in the Sabre GDS such as the options table and the form number table and any override parameters that are part of the XML request. AER relies on the binary security token obtained on a prior call to SessionCreateRQ.

The AER web service uses the AER package in TPF to complete AER transactions. Generally, a transaction is priced and retained and if the price satisfies the customer, the transaction is then fulfilled. Depending on whether an exchange is requested or a refund is requested and whether the result requires additional money to be collected or a refund to be issued, different documents are generated (eg electronic ticket, refund receipt, voucher, etc.). When issuing a ticket, AER updates the AAA with the TE line for electronic tickets. When retaining a price, AER updates the AAA with the price quote record. Exchange pricing and fulfillment requires the AAA to contain the new itinerary. This may be accomplished outside of the AER web service. Refunds and exchanges require a document to exchange. Electronic documents may be referred to by document number. Manual documents require data entered in the XML request. Manual pricing requests require a AAA with new itinerary data.

The response to pricing requests include the ticketing data (if exchanging or refunding) as well as the pricing result data including the comparison data. Messages that would have come from TPF AER are also included in the response. Fulfillment request responses include the new document number as well as the pricing data. Data in the XML is limited to what's provided in the TPF data transmission record. The XML contains most of the TPF data transmission record fields.

For Ticketing to provide support to a carrier when using Ticketing web services such as MISCServicesRQ and AERRQ, the carrier needs to provide access credentials almost identical to what the carrier will use to access the web service. The ID should be robotic, contain a non-expiring password, be able to issue tickets and be present in RES (production), CERT (certification) and TSTS (integration). Recommended, but not required: ID should be created inactive in RES; ID should be given duty code Cross of Lorraine.

The ID will be used in the automated regression test suite and will be used when researching questions and problems. Once Ticketing receives the ID, Ticketing will request allocation of a TAM pool and the associated ICE security attributes for accessing the web service.

Sample 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">AERRQ</ns1:Service>
   <ns1:Action>AERRQ</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!1595525576693!8171!5</ns1:BinarySecurityToken>
  </ns1:Security>
 </SOAP-ENV:Header>
 <SOAP-ENV:Body>
  <AER_RQ
  version="1.5.5"
    xmlns="http://services.sabre.com/ticketing/aer/1.0">
   <AERDetails>
    <Transaction
     Action="Refund">
     <SubAction
     Retain="true"/>
    </Transaction>
    <ExchDoc>
     <Number
     PlatingCarrier="888">2139705819</Number>
     <Type/>
    </ExchDoc>
    <NewDoc>
     <Passenger
      AccountCode="CLCOMPRA">
      <TravelerRefNumber>1.1</TravelerRefNumber>
     </Passenger>
     <Fare>
      <Fees
      Usage="N"/>
      <Commission type="Amount">
       <Amount
       CurrencyCode="BHD" DecimalPlaces="3">110.000</Amount>
      </Commission>
     </Fare>
    </NewDoc>
   </AERDetails>
  </AER_RQ>
 </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Sample 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">AERRQ</eb:Service>
   <eb:Action>AERRS</eb:Action>
   <eb:MessageData>
    <eb:MessageId>234803647742670610</eb:MessageId>
    <eb:Timestamp>2020-07-23T17:59:35</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!1595525576693!8171!5</wsse:BinarySecurityToken>
  </wsse:Security>
 </soap-env:Header>
 <soap-env:Body>
  <AER_RS
  timeStamp="2020-07-23T12:59:34"
  transactionIdentifier="LD_TKT_02-1595527174362-7810-aer"
  version="1.5.5"
    xmlns="http://services.sabre.com/ticketing/aer/1.0">
   <AERDetails>
    <Transaction
    Action="Refund" NonFlight="false" PNR="TROPLD">
     <Host
     Country="203" Currency="AED" DecimalPlaces="0"/>
     <AAA
     Currency="BHD" DecimalPlaces="3"/>
     <Agent LNIATA="000000"
     Type="Ticket"/>
     <SubAction
    Retain="true"/>
    </Transaction>
    <ExchDoc
    AirlineVendorID="U0" CRS="U0">
     <Number CheckDigit="5"
     PlatingCarrier="888">2139705819</Number>
     <Type
     Database="true" Flight="true" Form="TKT"
      SubType="N"/>
     <Point>
      <Issue Date="2020-07-23"
     Time="20:51:00">
       <Location>
        <LocationCode>BAH</LocationCode>
        <CountryCode>BH</CountryCode>
       </Location>
      </Issue>
      <Sale>
       <LocationCode>BAH</LocationCode>
       <CountryCode>BH</CountryCode>
      </Sale>
      <Ticket>
       <LocationCode>BAH</LocationCode>
       <CountryCode>BH</CountryCode>
      </Ticket>
     </Point>
     <Passenger
     PassengerTypeCode="ADT">
      <PersonName>
       <GivenName>KOMAL</GivenName>
       <Surname>SETHI</Surname>
      </PersonName>
     </Passenger>
     <Coupons
     Booklet="1" Flown="U" Transaction="R">
      <FlightSegment
      bookingCode="Y"
       status="1">
       <FlightNumber>12</FlightNumber>
       <OperatingFlightNumber>12</OperatingFlightNumber>
       <MarketingAirline
       name="WORLDWIDE AIRWAYS">U0</MarketingAirline>
       <OperatingAirline
        name="WORLDWIDE AIRWAYS">U0</OperatingAirline>
       <Departure>
        <Airport
        name="LONDON HEATHROW">LHR</Airport>
        <DateTime>2020-08-23T09:30:00</DateTime>
       </Departure>
       <Arrival>
        <Airport
      name="ABU DHABI INTL">AUH</Airport>
        <Time>19:40:00</Time>
       </Arrival>
      </FlightSegment>
      <PlusUp
      Amount="300" Code="Q"/>
      <FareInfo CalcCode="05"
      FareBasisCode="YLRTGB/YF"
       FareComponent="1">
       <TicketDesignatorCode>YF</TicketDesignatorCode>
       <Break
       Currency="NUC" Point="true"/>
       <NotValid
       After="2020-08-23" Before="2020-08-23"/>
       <Base
       Amount="92103" DecimalPlaces="2"/>
       <Rules Governed="U0"
       Number="UKGD" Tarrif="22"
      Vendor="ATP"/>
      </FareInfo>
      <Class PNR="Y"
      TKT="OK"/>
      <Baggage Amount="35"
     Type="K"/>
     </Coupons>
     <Coupons Booklet="2"
     Connection="O" Flown="U" Transaction="R">
      <FlightSegment
      bookingCode="Y"
       status="1">
       <FlightNumber>11</FlightNumber>
       <OperatingFlightNumber>11</OperatingFlightNumber>
       <MarketingAirline
       name="WORLDWIDE AIRWAYS">U0</MarketingAirline>
       <OperatingAirline
        name="WORLDWIDE AIRWAYS">U0</OperatingAirline>
       <Departure>
        <Airport
        name="ABU DHABI INTL">AUH</Airport>
        <DateTime>2020-09-02T02:05:00</DateTime>
       </Departure>
       <Arrival>
        <Airport
      name="LONDON HEATHROW">LHR</Airport>
        <Time>06:45:00</Time>
       </Arrival>
      </FlightSegment>
      <PlusUp
      Amount="300" Code="Q"/>
      <PlusUp Amount="3413"
      Code="Q"/>
      <FareInfo CalcCode="06"
      FareBasisCode="YLRTGB/YF"
       FareComponent="2">
       <TicketDesignatorCode>YF</TicketDesignatorCode>
       <Break
       Currency="NUC" Point="true"/>
       <NotValid
       After="2020-09-02" Before="2020-09-02"/>
       <Base
       Amount="92103" DecimalPlaces="2"/>
       <Rules Governed="EY"
       Number="UKGD" Tarrif="22"
      Vendor="ATP"/>
      </FareInfo>
      <Class PNR="Y"
      TKT="OK"/>
      <Baggage Amount="35"
      Type="K"/>
     </Coupons>
     <Fare>
      <BaseFare
      CurrencyCode="GBP" DecimalPlaces="2" Rate="0.79095600"
      Raw="1489.00">1489.00</BaseFare>
      <NUC Amount="1882.19"
      DecimalPlaces="2"/>
      <EquivFare CurrencyCode="BHD"
      DecimalPlaces="3"
      Raw="712.000">712.000</EquivFare>
      <TotalFare
      CurrencyCode="BHD" DecimalPlaces="3"
       Raw="816.400">816.400</TotalFare>
      <UnstructuredFareCalc>LON U0 AUH Q3.00 921.03U0 LON Q3.00Q34.13 921.03NUC1882.19END ROE0.790956</UnstructuredFareCalc>
      <AERTaxes>
       <Tax
       Amount="26.000" CurrencyCode="BHD" DecimalPlaces="3"
       Raw="26.000" TaxCode="YQF"/>
       <Tax Amount="38.300"
       CurrencyCode="BHD" DecimalPlaces="3" Raw="38.300"
       TaxCode="GB"/>
       <Tax Amount="27.000" CurrencyCode="BHD"
       DecimalPlaces="3" Raw="27.000" TaxCode="UB"/>
       <Tax
       Amount="7.700" CurrencyCode="BHD" DecimalPlaces="3" Raw="7.700"
       TaxCode="AE4"/>
       <Tax Amount="0.600" CurrencyCode="BHD"
       DecimalPlaces="3" Raw="0.600" TaxCode="TP"/>
       <Tax
       Amount="0.600" CurrencyCode="BHD" DecimalPlaces="3" Raw="0.600"
       TaxCode="ZR"/>
       <Tax Amount="0.600" CurrencyCode="BHD"
       DecimalPlaces="3" Raw="0.600" TaxCode="ZR2"/>
       <Tax
       Amount="3.600" CurrencyCode="BHD" DecimalPlaces="3" Raw="3.600"
       TaxCode="F62"/>
       <Bucket1 Amount="26.000"
       DecimalPlaces="3" Raw="26.000" TaxCode="YQ"/>
       <Bucket2
       Amount="38.300" DecimalPlaces="3" Raw="38.300"
       TaxCode="GB"/>
       <Bucket3 Amount="40.100" DecimalPlaces="3"
       Raw="40.100" TaxCode="XT"/>
      </AERTaxes>
      <Modifiers
      appliedDiscount="false"
      appliedTicketDesignator="false"/>
     </Fare>
     <Pay>
      <Cash/>
      <PaymentAmount
      CurrencyCode="BHD"
    DecimalPlaces="3">816.400</PaymentAmount>
     </Pay>
    </ExchDoc>
    <NewDoc
    OverrideValCarrier="U0" Purchase="2020-07-23">
     <Passenger
     AccountCode="CLCOMPRA" CorporateID="false"
      PassengerTypeCode="ADT">
      <PersonName>
       <GivenName>KOMAL</GivenName>
       <Surname>SETHI</Surname>
      </PersonName>
      <TravelerRefNumber
     surnameRefNumber="1">1.1</TravelerRefNumber>
     </Passenger>
     <Reissue>
      <LocationCode>BAH</LocationCode>
      <CountryCode>BH</CountryCode>
     </Reissue>
     <PointOfSale>
      <LocationCode>BAH</LocationCode>
      <CountryCode>TG</CountryCode>
     </PointOfSale>
     <PointOfTicket>
      <LocationCode>BAH</LocationCode>
      <CountryCode>TG</CountryCode>
     </PointOfTicket>
     <Fare
     ExchPrice="false" ReissuePrice="false"
      cat31or33="true">
      <BaseFare CurrencyCode="GBP"
      DecimalPlaces="2"
      Rate="0.79095600">0.00</BaseFare>
      <EquivFare
      CurrencyCode="BHD"
      DecimalPlaces="3">0.000</EquivFare>
      <Fees FeeCode="CHG"
      Raw="N/A" Usage="N"/>
      <TotalFare CurrencyCode="BHD"
      DecimalPlaces="3">0.000</TotalFare>
      <UnstructuredFareCalc
       Currency="NUC">LON U0 AUH Q3.00 921.03U0 LON Q3.00Q34.13 921.03NUC1882.19END ROE0.790956</UnstructuredFareCalc>
      <AERTaxes>
       <Bucket1
       Amount="0"/>
       <Bucket2 Amount="0"/>
       <Bucket3
      Amount="0"/>
      </AERTaxes>
      <Modifiers
      appliedDiscount="false"
      appliedTicketDesignator="false"/>
      <Commission
       type="Amount">
       <Amount CurrencyCode="BHD"
       DecimalPlaces="3"
     Raw="110.000">110.000</Amount>
      </Commission>
     </Fare>
    </NewDoc>
    <Comparison>
     <Summary
     CurrencyType="R"
       ticketUse="true">
      <Differences>
       <Base
       Raw="-1489.00">-1489.00</Base>
       <CurrencyFare
       CurrencyCode="BHD" DecimalPlaces="3"
       Raw="-712.000">-712.000</CurrencyFare>
       <TotalTax
       CurrencyCode="BHD" DecimalPlaces="3"
       Raw="-104.200">-104.200</TotalTax>
       <SubTotal
       CurrencyCode="BHD" DecimalPlaces="3"
       Raw="-816.200">-816.200</SubTotal>
       <GrandTotal
       CurrencyCode="BHD" DecimalPlaces="3"
       Raw="-816.200">-816.200</GrandTotal>
      </Differences>
      <Fees>
       <Fee
       CurrencyCode="BHD" FeeCode="CHG" Raw="N/A"
     Usage="N">0</Fee>
      </Fees>
     </Summary>
    </Comparison>
    <Refund>
     <Total
     Amount="816.200" CurrencyCode="BHD"
    DecimalPlaces="3"/>
    </Refund>
    <Message
    Type="D">TRANSACTION RETAINED</Message>
    <Message
    Type="X">NON ENDO/ REF</Message>
    <Message
    Type="X"/>
    <Message Type="X"/>
    <Message
    Type="X"/>
    <Message
    Type="W">Default FeeCode is change Fee and last occurrence of change fee/Other Fee is considered in case of multiple repeats</Message>
    <Message Type="W">Commission will be ignored when refunding original VCR that doesn't have commission amount/percentage applied</Message>
   </AERDetails>
  </AER_RS>
 </soap-env:Body>
</soap-env:Envelope>