Importing PNRs

Import is a feature that creates a Universal Record (UR) from a PNR that was created outside of Universal API, but within a Universal API provider, such as a Terminal data request or another API product. After the Universal API Universal Record is created, it can be serviced or modified using Universal API.

Schema

See the following transactions for Importing a PNR:

How To

The steps below provide a high-level overview of importing a PNR. For a detailed list of required and optional data, refer to UniversalRecordImportReq or UniversalRecordImportRsp for a full schema definition.

  1. Requests must contain the following information at a minimum:
    • Provider's code from the PNR
    • Provider's Record Locator code from the PNR
    • If the PNR is being imported into an existing Universal Record, the Universal Record Locator Code must also be included.
  2. Optionally, set @ReturnUnmaskedData="true" Release 20.3
    • @ReturnUnmaskedData is added in Universal v49.0 to Universal Record Import and Universal Record Retrieve on Galileo (1G) and Apollo (1V) to allow customers to choose if they want to see Credit Card Details Masked or Un-Masked.
    • Return Unmasked Data allows consolidators to have credit card data show unmasked, based on PCC or SON settings, in sessionless workflows.
      • This ensures they can obtain credit card information via PCI secure environment and charge the card via their own payment system, as well as pass credit card data to automated backend systems while remaining PCI compliant.
      • This attribute allows for a more fluid workflow by not having to switch between sessioned and sessionless environments.
  3. UniversalRecordImportRsp is returned, which contains a newly created Universal Record with the imported PNR data as part of the UR.

    Information Returned Description

    Ticket information

    The ticket number from the PNR is added to UniversalRecord/AirReservation/DocumentInfo/TicketInfo @Number and a reference to the associated pricing information (i.e., the Stored Fare) is added to UniversalRecord/DocumentInfo/TicketInfo @AirPricingInfoRef, if the pricing information has an associated ticket number. If selective access is not present between PCCs, the ticket number can only be viewed in BookingTraveler/SSR/FreeText with type TKNE. E.g., <SSR Key="hfiS40Jj0EEAAAA==" SegmentRef="0Uzj8ZCAAAA==" Status="HK" Type="TKNE" FreeText="2976060991858C1" Carrier="AA" ProviderReservationInfoRef="BUBezbZCAAAA==" /> Additional Net Ticket Details from the PNR are also synchronized and displayed in the Universal Record in UniversalRecord/AirReservation/AirPricingInfo/FareInfo.

    Commission (optional)

    Only fare-level commissions are supported as ticketing modifiers, so @Level must be "Fare". @Type can be either "Flat" or "PercentBase". If "Flat", @Amount must be present and CommPercentage="9999999". If "PercentBase", @Amount=0 and CommPercentage=1 to 100.

    Provider Locator Code

    When the ProviderLocatorCode is included in the request:

    • For new tickets, Universal API determines the ticket status, and returns the status in the UniversalRecordImportRsp/UniversalRecord/AirReservation/DocumentInfo/TicketInfo @Status.
    • For existing tickets, the ticket status, including coupon information, is also returned in TicketInfo @Status.
    • For exchanged tickets, along with the status information update, UniversalRecordRetrieveRsp, UniversalRecordImportRsp, and AirRetrieveDocumentRsp retrieves the original ticket number in the path /UniversalRecord/AirReservation/DocumentInfo/TicketInfo/ExchangeTicket @Number.
      • The status of the new exchanged ticket is ‘O’ – Open for use. But, the retrieve response also contains the original ticket number information.

      • The status of the original ticket number is ‘E’ – Exchanged.

    EMDs

    When Optional Services are sold through a green screen, Electronic Miscellaneous Documents (EMDs) issued for the Optional Services by the provider are synchronized with the Universal Record (UR) when the UR is retrieved or imported. The issuance number and coupon number from the provider EMD are also stored in the UR in AirReservation/OptionalService/ServiceData in @EMDSummaryRef and @EMDCouponRef.

    PNR Data Types

    Additional types of PNR data are supported.

    Unmasked Data Remark

    Data from the UX remark in a Worldspan PNR is available in the Unmasked Data Remark element.

    Group PNR

    An existing Group PNR that was created in Worldspan can be imported into Universal API. The Group PNR can be imported into an existing Universal Record or into a new Universal Record. If the Group PNR is imported into an existing UR, the UR is updated and synchronized. Details about the imported Group PNR display in UniversalRecord/Group. Travelport Universal API does not support importing other types of Group PNR, such as World Group, or creating or modifying a Group PNR using Travelport Universal API.

    Prior to Universal API release 20.4.2, Galileo via Universal API didn't have the ability to handle group bookings via 1G, and returned the error, "Retrieve of Group bookings is not allowed." Release 20.4

    With the release of Universal API Release 20.4.2, Universal API supports Import Booking and Booking Retrieve requests when the booking is a group (e.g., 10 passengers or more). The universal record locator and basic booking details are returned in the response.

    Notes:

    • Multiple retrieval of the PNRs is restricted due to the extended time it takes to retrieve group bookings, and an error message displays: "Retrieve Group Booking already in progress. Please try again later."

    • When the UR Import is successful, the associated cache, and expiration timeframe, is cleared.

     

    Owning PCC does not exist

    During a Worldspan (1P) PNR import, if the owning PCC does not exist in Universal API, a dynamic target branch (WAB or Work Area Branch) is automatically created for that PCC.

    Hotel information

    During a Galileo or Apollo PNR import, if the hotel segment in the host does not have property address, phone number, or property name, Universal API adds these details to the hotel reservation based on the hotel property number in the Universal Record. This information is added in the UniversalRecord/HotelReservation/HotelProperty element.

    UniversalRecord/HotelReservation/HotelCommission is used to store the hotel commission for Worldspan reservations.

    Credit cards

    Credit card form of payment without an associated credit card type (FormOfPayment @Type) is allowed at the PNR level and the stored fare level.

    Invoices

    During Galileo or Apollo PNR import, if the PNR has an associated invoice, the invoice information is imported into the UniversalRecord/InvoiceData element.

    MCOs

    During a Galileo or Worldspan PNR import, if the PNR has associated Miscellaneous Change Orders (MCOs), basic MCO information is imported. See Miscellaneous Change Orders for details.

    Pricing Type

    PricingType (an attribute of UniversalRecordImportRsp/UniversalRecord/AirReservation/AirPricingInfo) stores the pricing type used for the PNR. Worldspan support three different pricing types: TicketRecord, StoredFareQuote, and PricingInstruction. Galileo and Apollo support TicketRecord and StoredFareQuote. PNRs with multiple pricing types can be imported; however, pricing types of TicketRecord and PricingInstruction are not allowed in the same PNR.

     

    OB Fees

    If the PNR contains OB fees, they are imported into the Universal Record. Refer to OB Fees for more information.

    Residency Type

    The applied residency type returns in booking and ticketing retrieve responses, so that the nationality from the applied residency type by passenger line or data can be applied in a future exchange. This is useful because of taxes based on nationality. For example, Mexico has a tax for foreigners and Argentina has two taxes for residents.
    AirSolutionsChangedInfo/AirPricingSolution/AirPricingInfo/PassengerType @ResidencyType

     

    Approximate Taxes

    @ApproximateTaxes returns approximate values in a booking retrieve response so that customer system calculations. which are dependent on the approximate values, don't fail when a booking is retrieved. Release 23.4

    /UniversalRecord/AirReservation/AirPricingInfo @ApproximateTaxes

    This is limited release functionality. Please contact your Travelport representative to activate this enhancement.

Exceptions

The following provider- or supplier-specific exceptions apply to importing PNRs.