Auto Exchange and Refund

 

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

API Information

Target Audience
Sabre Airline Solutions
Current Version
1.5.2
Authentication
Session Token
Service Action Code
AERRQ

The Automated Exchanges and Refunds ( AER) 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. 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

<AER_RQ version="1.5.2" xmlns="http://services.sabre.com/ticketing/aer/1.0">
    <AERDetails>
        <Transaction Action="TicketRetained">
            <SubAction Retain="true" />
        </Transaction>
        <ExchDoc>
            <Number PlatingCarrier="795">2137595356</Number>
            <Type/>
        </ExchDoc>
        <NewDoc>
            <Passenger>
                <TravelerRefNumber>1.1</TravelerRefNumber>
            </Passenger>
        </NewDoc>
        <Refund Type="StandAloneEMD" />
        <Message Type="L" refundIndex="1">ENDORSEMENT TEXT</Message>
    </AERDetails>
</AER_RQ>

Sample Response

<AER_RS timeStamp="2017-05-10T09:31:50" transactionIdentifier="KTHLI701-1494426710452-34915-aer" version="1.5.2" xmlns="http://services.sabre.com/ticketing/aer/1.0">
    <AERDetails>
        <Transaction Action="TicketRetained" NonFlight="false" PNR="GQZQRV" PQR="2">
            <Host Country="43" Currency="AUD" DecimalPlaces="2" />
            <AAA Currency="AUD" DecimalPlaces="2">
                <LocationCode>SYD</LocationCode>
            </AAA>
            <Agent LNIATA="000000" Type="Ticket" duty="4" sin="WBT" />
            <SubAction Retain="true" />
        </Transaction>
        <ExchDoc AirlineVendorID="VA" CRS="VA">
            <Number CheckDigit="3" PlatingCarrier="795">2137595356</Number>
            <Type Database="true" Flight="true" Form="TKT" SubType="N" />
            <Point>
                <Issue Date="2017-05-11" Time="00:31:00">
                    <Location>
                        <LocationCode>SYD</LocationCode>
                        <CountryCode>AU</CountryCode>
                    </Location>
                </Issue>
                <Sale>
                    <LocationCode>SYD</LocationCode>
                    <CountryCode>AU</CountryCode>
                </Sale>
                <Ticket>
                    <LocationCode>SYD</LocationCode>
                    <CountryCode>AU</CountryCode>
                </Ticket>
            </Point>
            <Passenger PassengerTypeCode="ADT">
                <PersonName>
                    <GivenName>JON</GivenName>
                    <Surname>SNOW</Surname>
                </PersonName>
            </Passenger>
            <Coupons Booklet="1" Flown="U" Transaction="R">
                <FlightSegment bookingCode="Y" status="1">
                    <FlightNumber>811</FlightNumber>
                    <OperatingFlightNumber>811</OperatingFlightNumber>
                    <MarketingAirline name="VIRGIN AUSTRALIA">VA</MarketingAirline>
                    <OperatingAirline name="VIRGIN AUSTRALIA">VA</OperatingAirline>
                    <Departure>
                        <Airport name="MELBOURNE">MEL</Airport>
                        <DateTime>2017-07-09T07:00:00</DateTime>
                    </Departure>
                    <Arrival>
                        <Airport name="SYDNEY">SYD</Airport>
                        <Time>08:25:00</Time>
                    </Arrival>
                </FlightSegment>
                <FareInfo FareBasisCode="Y" FareComponent="1">
                    <Break Currency="AUD" Point="true" />
                    <NotValid After="2018-07-09" />
                    <Base Amount="62536" DecimalPlaces="2" />
                    <Rules Governed="VA" Number="1330" Tarrif="302" Vendor="ATP" />
                </FareInfo>
                <Class PNR="Y" TKT="OK" />
                <Baggage Amount="01" Type="P" />
            </Coupons>
            <Coupons Booklet="2" Connection="O" Flown="U" Transaction="R">
                <FlightSegment bookingCode="Y" status="1">
                    <FlightNumber>800</FlightNumber>
                    <OperatingFlightNumber>800</OperatingFlightNumber>
                    <MarketingAirline name="VIRGIN AUSTRALIA">VA</MarketingAirline>
                    <OperatingAirline name="VIRGIN AUSTRALIA">VA</OperatingAirline>
                    <Departure>
                        <Airport name="SYDNEY">SYD</Airport>
                        <DateTime>2017-07-19T06:00:00</DateTime>
                    </Departure>
                    <Arrival>
                        <Airport name="MELBOURNE">MEL</Airport>
                        <Time>07:35:00</Time>
                    </Arrival>
                </FlightSegment>
                <FareInfo FareBasisCode="Y" FareComponent="2">
                    <Break Currency="AUD" Point="true" />
                    <NotValid After="2018-07-09" />
                    <Base Amount="62536" DecimalPlaces="2" />
                    <Rules Governed="VA" Number="1330" Tarrif="302" Vendor="ATP" />
                </FareInfo>
                <Class PNR="Y" TKT="OK" />
                <Baggage Amount="01" Type="P" />
            </Coupons>
            <Fare>
                <BaseFare CurrencyCode="AUD" DecimalPlaces="2" Rate="1.323252000" Raw="1250.72">1250.72</BaseFare>
                <EquivFare>0</EquivFare>
                <TotalFare CurrencyCode="AUD" DecimalPlaces="2" Raw="1418.01">1418.01</TotalFare>
                <UnstructuredFareCalc>MEL VA SYD625.36Y VA MEL625.36Y AUD1250.72END</UnstructuredFareCalc>
                <AERTaxes>
                    <Tax Amount="128.91" CurrencyCode="AUD" DecimalPlaces="2" Raw="128.91" TaxCode="UO2" />
                    <Tax Amount="7.50" CurrencyCode="AUD" DecimalPlaces="2" Raw="7.50" TaxCode="WG1" />
                    <Tax Amount="16.06" CurrencyCode="AUD" DecimalPlaces="2" Raw="16.06" TaxCode="QRM" />
                    <Tax Amount="14.82" CurrencyCode="AUD" DecimalPlaces="2" Raw="14.82" TaxCode="QRS" />
                    <Bucket1 Amount="128.91" DecimalPlaces="2" Raw="128.91" TaxCode="UO" />
                    <Bucket2 Amount="7.50" DecimalPlaces="2" Raw="7.50" TaxCode="WG" />
                    <Bucket3 Amount="30.88" DecimalPlaces="2" Raw="30.88" TaxCode="XT" />
                </AERTaxes>
                <Modifiers appliedDiscount="false" appliedTicketDesignator="false" />
            </Fare>
            <Pay>
                <Cash/>
                <PaymentAmount CurrencyCode="AUD" DecimalPlaces="2">1418.01</PaymentAmount>
            </Pay>
        </ExchDoc>
        <NewDoc OverrideValCarrier="VA" Purchase="2017-05-11">
            <Passenger CorporateID="false" PassengerTypeCode="ADT">
                <PersonName>
                    <GivenName>JON</GivenName>
                    <Surname>SNOW</Surname>
                </PersonName>
                <TravelerRefNumber surnameRefNumber="1">1.1</TravelerRefNumber>
            </Passenger>
            <Reissue>
                <LocationCode>SYD</LocationCode>
                <CountryCode>AU</CountryCode>
            </Reissue>
            <PointOfSale>
                <LocationCode>SYD</LocationCode>
                <CountryCode>AU</CountryCode>
            </PointOfSale>
            <PointOfTicket>
                <LocationCode>SYD</LocationCode>
                <CountryCode>AU</CountryCode>
            </PointOfTicket>
            <Fare ExchPrice="false" ReissuePrice="false" cat31or33="true">
                <BaseFare CurrencyCode="AUD" DecimalPlaces="2" Rate="1.323252000">0.00</BaseFare>
                <EquivFare>0</EquivFare>
                <Fees>0</Fees>
                <TotalFare CurrencyCode="AUD" DecimalPlaces="2">0.00</TotalFare>
                <UnstructuredFareCalc Currency="AUD">MEL VA SYD625.36Y VA MEL625.36Y AUD1250.72END</UnstructuredFareCalc>
                <AERTaxes>
                    <Bucket1 Amount="0" />
                    <Bucket2 Amount="0" />
                    <Bucket3 Amount="0" />
                </AERTaxes>
                <Modifiers appliedDiscount="false" appliedTicketDesignator="false" />
            </Fare>
        </NewDoc>
        <Comparison>
            <Summary CurrencyType="R" ticketUse="true">
                <Differences>
                    <Base Raw="-1250.72">-1250.72</Base>
                    <CurrencyFare CurrencyCode="AUD" DecimalPlaces="2" Raw="-1250.72">-1250.72</CurrencyFare>
                    <TotalTax CurrencyCode="AUD" DecimalPlaces="2" Raw="-167.29">-167.29</TotalTax>
                    <SubTotal CurrencyCode="AUD" DecimalPlaces="2" Raw="-1418.01">-1418.01</SubTotal>
                    <GrandTotal CurrencyCode="AUD" DecimalPlaces="2" Raw="-1335.51">-1335.51</GrandTotal>
                </Differences>
                <Fees>
                    <Fee CurrencyCode="AUD" DecimalPlaces="2" Raw="75.00">75.00</Fee>
                </Fees>
                <FeeTaxes>
                    <Tax Amount="7.50" CurrencyCode="AUD" DecimalPlaces="2" TaxCode="UO" />
                </FeeTaxes>
            </Summary>
        </Comparison>
        <Refund RefundTo="SNOW/JON" Type="StandAloneEMD">
            <Currency NoBase="true">
                <Host>AUD</Host>
            </Currency>
            <FormOfPayment Code="ET" Exchange="CA" />
            <Total Amount="1335.51" CurrencyCode="AUD" DecimalPlaces="2" Found="true" />
        </Refund>
        <Message Type="D">3/WF X<ENTER TO CONTINUE- DISPLAY THE ADDL REISSUES/ SCREEN 44 OPTIONS SCREEN. - TO EXIT, RESET, CLEAR AND END TRANS OK 1335.51-REFUNDED/ 82 2563 5162 5</Message>
        <Message Type="L" refundIndex="1">ENDORSEMENT TEXT</Message>
        <Message Type="X">NON ENDORSABLE</Message>
        <Message Type="X" />
        <Message Type="X" />
        <Message Type="X" />
    </AERDetails>
</AER_RS>

If you are a Sabre customer currently using Sabre APIs in production, access  Resources

Docs Navigation