Displaying Ticket Information
Displaying ticket information is typically included as a follow-on to an Air Booking response. Electronic tickets can be displayed to obtain:
- Information for the passenger about valid tickets, which tickets were issued, used, but not voided, refunded or exchanged. Tickets can be requested by type: paper, electronic or both.
- Canned remarks information from PNR.
- Pseudo city information.
Several steps may be involved in displaying the electronic ticket. They include:
- Display the list of document numbers.
- Select a ticket from the list.
- Display the details for that specific Electronic Ticket Record (ETR).
Schema
Displaying Ticket Information transactions are located in AirReqRsp.xsd:
Request
The AirRetrieveDocumentReq transaction is used to:
- Display ticket information from the PNR.
- Display canned remarks from the PNR.
- Display agency info.
- Display Miscellaneous Change Order (MCO) information. See Miscellaneous Change Orders for details.
The above tasks can be used in any combination to display more information, e.g., to display ticket information with canned remarks and agency information from the PNR.
There are two options in retrieving E-ticket information.
Option 1:
By including an AirReservationLocatorCode in the request:
XML Sample with minimum attributes.
<air:AirRetrieveDocumentReq xmlns:air="http://www.travelport.com/schema/air_v50_0" xmlns:com="http://www.travelport.com/schema/common_v50_0" ProviderCode="1G" ReturnPricing="true" TargetBranch="PXXXXXX" AuthorizedBy="TEST">
<com:BillingPointOfSaleInfo OriginApplication="UAPI"/>
<air:AirReservationLocatorCode>13G0OA</air:AirReservationLocatorCode>
</air:AirRetrieveDocumentReq>
Note: The AirReservationLocatorCode element is used to retrieve all ETRs and TCRs information from a single booking file or Universal Record. AirReservationLocatorCode can be found in UniversalRecordRetrieveRsp. See example below:
Option 2:
By including one or more TicketNumber or TCRNumber element in the request.
Sample 1: One TicketNumber element request
<air:AirRetrieveDocumentReq xmlns:air="http://www.travelport.com/schema/air_v50_0" xmlns:com="http://www.travelport.com/schema/common_v50_0" ProviderCode="1G" ReturnRestrictions="true" ReturnPricing="true" TargetBranch="PXXXXXXX" AuthorizedBy="TEST">
<com:BillingPointOfSaleInfo OriginApplication="UAPI"/>
<com:TicketNumber>7959904180751</com:TicketNumber>
</air:AirRetrieveDocumentReq>
Sample 2: Multiple TicketNumber element request
<air:AirRetrieveDocumentReq xmlns:air="http://www.travelport.com/schema/air_v50_0" xmlns:com="http://www.travelport.com/schema/common_v50_0" ProviderCode="1G" ReturnRestrictions="true" ReturnPricing="true" TargetBranch="PXXXXXXX" AuthorizedBy="TEST">
<com:BillingPointOfSaleInfo OriginApplication="UAPI"/>
<com:TicketNumber>7959904180751</com:TicketNumber>
<com:TicketNumber>7959904180752</com:TicketNumber>
<com:TicketNumber>7959904180753</com:TicketNumber>
<com:TicketNumber>0819904180733</com:TicketNumber>
</air:AirRetrieveDocumentReq>
Note: Ticket numbers must be from a single air reservation/PNR or Universal Record. Universal API does not allow a mix of ETR TicketNumbers and TCRNumber elements in the AirRetrieveDocumentReq.
To display Miscellaneous Change Order (MCO), RetrieveMCO="true" must be included in AirRetrieveDocumentReq.
<air:AirRetrieveDocumentReq xmlns:air="http://www.travelport.com/schema/air_v50_0"
xmlns:com="http://www.travelport.com/schema/common_v50_0" RetrieveMCO="true" ProviderCode="1G"
ReturnRestrictions="true" ReturnPricing="true" TargetBranch="PXXXXXXX" AuthorizedBy="TEST">
<com:BillingPointOfSaleInfo OriginApplication="UAPI"/>
<com:TicketNumber>7959904180751</com:TicketNumber>
</air:AirRetrieveDocumentReq>
See Miscellaneous Change Orders for details.
.
Response
AirRetrieveDocumentRsp returns PNR information such as UniversalRecordLocator, ProviderCode. ProvideLocatorCode, AgencyInfo, BookingTravelerName, FormOfPayment type, SupplierLocator SupplierCode, PlatingCarrier, PTC, and the AirReservationLocatorCode.
Based on AirRetrieveDocumentReq option selected, it may include a complete list of all ETRs in PNR and other information in the PNR obtained during PNR import and synch.
Credit Card information is located in AirRetrieveDocumentRsp/ETR/FormOfPayment:
An enhancement in Universal API release 20.4 allows the ability to show credit/debit card information when retrieving e-ticket and EMD information through Universal API to reconcile data with BSP.
For example, in an AirDocumentRetrieve request, when credit/debit card information is present in the booking, Universal API returns the entire credit/debit card number in full.
This function will only be effective if the customer has opted in for the unmask functionality where the agency or the Sign-On level allows. Otherwise, credit/debit card information will remain masked.
For example: sample
Credit Card number is masked in AirRetrieveDocumentRsp without activation.
Credit Card number is unmasked in AirRetrieveDocumentRsp when unmask functionality is activated.
This functionality is applicable in Air Retrieve Document, Air Merchandising Fulfillment, and EMD Issuance / Retrieve. Release 20.4
-
xPath = AirRetrieveDocumentRsp/FormOfPayment
-
For EMDIssuance and EMDRetrieve, Universal API will continue to show masked credit/debit card information until an enhancement is completed in the EMD application.
-
The EMD enhancement is scheduled for Q1, 2021.
-
This is limited release functionality . Please contact your Travelport representative to activate this enhancement.
It is highly recommended that the Universal Record (UR) is retrieved to get all ticketing data in parallel, and ticketing details synchronized:
- After ticketing.
- At UR display if additional ticket numbers are found in the booking.
- At ETR display from the UR.
The synchronization may involve "full" synchronization to initially populate the ETR data or "limited" synchronization to only refresh status. In addition to the ETR, other PNR fields must be synchronized to pick up the changes as a result of ticketing.
If a request to display ETRs using the TicketNumber is made and no associated air reservation is located, the ETR data is returned but no synchronization of the ticketing data occurs (informational retrieve only).
Note: If no air reservation exists, or PNR is purged, AirRetrieveDocumentRsp will display limited information
<air:AirRetrieveDocumentRsp TransactionId="C7DACFF50A0D6A7E5A240F747797DB18" ResponseTime="205" xmlns:air="http://www.travelport.com/schema/air_v50_0" xmlns:common_v50_0="http://www.travelport.com/schema/common_v50_0">
<air:ETR TotalPrice="EUR783.25" BasePrice="EUR561.00" Taxes="EUR222.25" IssuedDate="2021-06-29T00:00:00.000+10:00" ProviderCode="1G" IATANumber="02345243" PseudoCityCode="XB7" CountryCode="AU" PlatingCarrier="LH">
<common_v50_0:BookingTraveler>
<common_v50_0:BookingTravelerName First="PACOMR" Last="PAQUITO"/>
</common_v50_0:BookingTraveler>
<common_v50_0:FormOfPayment Key="LGWoGq+pWDKAMgFFvAAAAA==" Type="Cash" Reusable="false" ProfileKey="Z5KO4sdoT9q8Cl51b3R3aw=="/>
<common_v50_0:Payment Key="LGWoGq+pWDKANgFFvAAAAA==" Type="Itinerary" Amount="EUR783.25" FormOfPaymentRef="LGWoGq+pWDKAMgFFvAAAAA=="/>
<air:FareCalc>FRA LH MUC 277.00 LH FRA Q7.00 277.00 EUR561.00END XT 30.66OY58.93RD90.00YQ19.00YR</air:FareCalc>
<air:Ticket TicketNumber="2209904173595" TicketStatus="N">
<air:Coupon CouponNumber="1" MarketingCarrier="LH" MarketingFlightNumber="114" Origin="FRA" Destination="MUC" DepartureTime="2021-06-29T17:15:00.000+02:00" StopoverCode="true" BookingClass="Y" FareBasis="YDELGTG0" Status="O"/>
<air:Coupon CouponNumber="2" MarketingCarrier="LH" MarketingFlightNumber="95" Origin="MUC" Destination="FRA" DepartureTime="2021-07-12T08:00:00.000+02:00" StopoverCode="true" BookingClass="Y" FareBasis="YDELGTG0" Status="O"/>
</air:Ticket>
<air:AirPricingInfo Key="LGWoGq+pWDKAOgFFvAAAAA==" TotalPrice="EUR783.25" BasePrice="EUR561.00" Taxes="EUR222.25" PricingMethod="Auto" Ticketed="true">
<air:FareInfo Key="LGWoGq+pWDKARgFFvAAAAA==" FareBasis="YDELGTG0" PassengerTypeCode="ADT" Origin="FRA" Destination="MUC" EffectiveDate="2021-06-29T00:00:00.000+10:00"/>
<air:FareInfo Key="LGWoGq+pWDKASgFFvAAAAA==" FareBasis="YDELGTG0" PassengerTypeCode="ADT" Origin="MUC" Destination="FRA" EffectiveDate="2021-06-29T00:00:00.000+10:00"/>
<air:TaxInfo Category="DE" Amount="EUR23.66" Key="LGWoGq+pWDKAPgFFvAAAAA=="/>
<air:TaxInfo Category="XT" Amount="EUR198.59" Key="LGWoGq+pWDKAQgFFvAAAAA=="/>
<air:FareCalc>FRA LH MUC 277.00 LH FRA Q7.00 277.00 EUR561.00END XT 30.66OY58.93RD90.00YQ19.00YR</air:FareCalc>
</air:AirPricingInfo>
</air:ETR>
</air:AirRetrieveDocumentRsp>
An ETR may contain:
- IATA number of the customer initiating the request.
- Pseudo City Code.
- Plating Carrier of the ETR.
- True last date to ticket.
True Last Date to Ticket is the last available date that a fare can be ticketed, as indicated in the fare rules for a specific fare. This date is merely the last date to purchase a ticket based on the carrier’s fare rules at the time the itinerary was quoted and stored. The TrueLastDateToTicket attribute is returned in AirPricingInfo in the applicable service responses when available.
Note: Only Galileo supports TrueLastDateToTicket. No other providers support the attribute.
TrueLastDateToTicket is returned from Galileo with a date. Universal API attaches a time part of 23:59 and a branch time zone to the string. For example:
AirPricingInfo TrueLastDateToTicket=”2013-01-11T23:59:00.000+11:00”
True Last Date to Ticket is not associated to Latest Ticketing Time, which is the last date that the fare can be ticketed at the quoted price. After the Latest Ticketing Time, a quoted fare must be re-priced for ticketing if there is no agreement between the travel provider and airline to extend the quoted fare to the Last True Date to Ticket. It should also be noted that TAU/TAW dates put in the ticketing arrangement for a PNR do not relate directly to the last date to purchase because a PNR can be created without a stored fare.
In some cases, the True Last Date to Ticket will have the same date as the Latest Ticketing Time. However, for some ticketing locations, these two dates may differ. When the dates differ, Latest Ticketing Time is typically earlier than True Last Date to Ticket for a stored fare. However, for both of these dates, there is no guarantee that the fare will still be available on that date or that the fare amount will not change.
Note: Both AirPricingInfo @TrueLastDateToTicket and AirPricingInfo @LatestTicketingTime values can co-exist, most often for European ticketing locations.
- ETR/BaggageAllowances/BaggageAllowanceInfo, /CarryOnAllowanceInfo, and /EmbargoInfo show United States Department of Transportation (DOT) mandated that baggage allowance and baggage charge data must be disclosed to the client at fare quotation.
All fare quotes will contain the full disclosure baggage data, regardless of the geography of travel.
- Baggage-related data is returned directly travel provider or carrier, and may vary by source within the mandated requirements.
The CarryOnAllowanceInfo element indicates the permitted options for carry-baggage for the associated flight. This element contains the following attributes to identify the associated segment: Origin, Destination, and Carrier. The child elements contain information related to permission or limitations for that segment.
URLInfo contains links to web sites from the travel provider or marketing carrier that contain detailed baggage requirements
One or more TextInfo values return any free text messages from the travel provider or carrier about permission or limitations for carry-on luggage
CarryOnDetails indicates the total number of carry-on bags permitted per passenger per air segment ( @ApplicableCarryOnBags)
@BasePrice indicates the price for each carry-on baggage per passenger, not including taxes or additional fees
@TotalPrice indicates the price for each carry-on baggage per passenger and includes any taxes or additional fees
The EmbargoInfo element indicates any items that are not permitted on the flight. This element contains the following attributes to identify the associated segment: Origin, Destination and Carrier.
URLInfo contains links to web sites from the travel provider or marketing carrier that contain detailed baggage requirements
One or more TextInfo values return any free text messages from the travel provider or carrier about permission or limitations for carry-on luggage
-
ETR/Ticket (Exchanged ticket) - Returns new TicketNumber/TicketStatus/CouponStatus/ExchangedTicket@Number.
Original ticket number can be retrieved in UniversalRecordRetrieveReq, UniversalRecordImportReq, or AirRetrieveDocumentReq/AirReservationLocatorCode
.
- In the new exchanged ticket, TicketStatus element is ‘N’ for ‘Unused’, Coupon Status element is ‘O’ for ‘Open’. It is also containing the original ticket number in ExchangedTicketInfo element. This ETR details can be retrieved using AirRetrieveDocumentReq/AirReservationLocatorCode or AirRetrieveDocumentReq/TicketNumber.
- List of Ticket Status
- In the original ticket number, the Ticket Status is ‘X’ for ‘Exchanged’ and the coupon status of the original ticket is ‘E’ for ‘Exchanged’. This ETR details can be retrieved using AirRetrieveDocumentReq/ AirReservationLocatorCode or AirRetrieveDocumentReq/TicketNumber.
-
• ETR/AirPricingInfo - returns old and new pricing information.
-
The AirPricingInfo for the old ticket (ETR) will return even if the booking was made offline, exchanged offline, and then imported into a Universal Record.
-
-
Release 24.2.3 ensures Passenger Type Codes (PTCs) are considered when retrieving a ticket, so that when subsequent transactions are sent, the passenger type used on the original document is considered. Release 24.2
/ETR/AirPricingInfo/PassengerType
-
-
With Air v47 and earlier, performing an exchange with a ticket that was not booked through Universal API, nor having an existing PNR on the provider system, customers were unable to receive all the details of the ticket to do a calculation on the datapoints. Air v48.0 and later returns all the ticket details that Rapid Reprice requires to execute and exchange. Data points retrieved include all available fields in the ETR element.:Retrieve multiple attributes, including the following:Release 19.1
AirRetrieveDocumentRsp/ETR/FormOfPayment/CreditCard
- @ExpDate
- @Number
AirRetrieveDocumentRsp/ETR/AirPricingInfo/TaxInfo
- @Category
- @Amount
- The @NameNumber attribute ensures the Universal Record Retrieve and Booking Retrieve (ETR) transactions add the ability to display Passenger name number for each passenger (Booking Traveler), which enables the ability to work with the booking in other channels. Release 18.3
This information returns in all responses where Booking Traveler information is returned.
This feature allows customers to identify the specific passenger location in a booking to be used when cryptic entries must be used in back-end processing.
When a PNR is split, the Booking Traveler element still stays in the UR. The name number is updated to reflect the GDS values and the name number of the passenger, who are removed from the PNR, and is removed from the I Booking Traveler.
Example:
<com:BookingTraveler Key="Qm9va2luZ1RyYXZlbGVyMQ==" TravelerType="CNN" NameNumber=”1.1”>
Worldspan (1P) only.
Document numbers which were issued outside the Universal API are also synchronized; when the PNR is imported or synchronized, all document numbers are brought into the Universal Record (UR). When tickets are issued through the UR, those documents are noted and synchronized. When documents are issued outside the UR, they are synchronized into the UR. Only new tickets are synchronized.
Errors and Warnings
Common causes of errors are:
- The ticket no longer exists on the airline's database because it was:
- Used
- Voided
- Refunded
- Exchanged
- Problems getting the information back from the airline (link problems).
- Failure of one or more tickets when a multi-submit request was performed. Tickets for which data is returned are displayed and updated; a message is returned for each failed ticket.
Additionally, if a ticket has been final or closed so long on the vendor side that it cannot be retrieved, a "Ticket Number Not Found" message is sent in the response to indicate a final status. If a subsequent retrieval is successful without error, Universal API restores the ticket coupon status as indicated by the Host.
Note: Overall ticket status is determined by the status of the associated coupons within the ETR. A ticket reaches final status when all coupons have reached final status.
E-Ticket Status:
Code="P" Description="Partially Refunded"
Code="A" Description="Airport Controlled"
Code="S" or "F" Description="Used"
Code="N" Description="Unused"
Code="U" Description="Unticketed"
Code="T" Description="Ticketed"
Code="V" Description="Voided"
Code="R" Description="Refunded"
Code="X" Description="eXchanged"
Code="Z" Description="Unknown/Archived/Carrier Modified"
Code="O" Description="Open"
E-Ticket Coupon Status:
Code="A" Status="Airport Controlled"
Code="C" Status="Checked In"
Code="F" Status="Flown/Used"
Code="L" Status="Boarded/Lifted"
Code="O" Status="Open"
Code="P" Status="Printed"
Code="R" Status="Refunded"
Code="E" Status="Exchanged"
Code="V" Status="Void"
Code="Z" Status="Archived/Carrier Modified"
Code="U" Status="Unavailable"
Code="S" Status="Suspended"
Code="I" Status="Irregular Ops"
Code="D" Status="Deleted/Removed"
Code="X" Status="Unknown"
Exceptions
The following items do not display as part of the AirRetrieveDocumentReq request:
- Manual documents
- Service Fees
- Miscellaneous Charges Orders (MCOs)
- Electronic Miscellaneous Documents (EMDs)
- Paper Tickets
Ticket Info Display does not support MCO data.
Apollo allows agents in the United States to issue paper tickets, so the TkType might be set as P, even though Universal API does not support issuing paper tickets.
- Universal.xsd adds schema element (/TaxInfo) and three attributes (@BasePrice @TotalPrice @Taxes) to the ETR element to reflect the "Auditor" data, returning the Base Fare for Bulk Tickets.
- AirRetrieveDocumentRsp/ETR/AuditData/TaxInfo and @BasePrice @TotalPrice @Taxes