Modifying Air Bookings

An existing Universal Record can be modified to add, update, or delete booked air segment data or cancel air segments through the following child elements of UniversalRecordModifyReq/UniversalModifyCmd:

This request can also be used to store a price for a booking.

Schema

Located in Universal.xsd:

How To

UniversalRecordModifyReq/UniversalModifyCmd is used to modify Universal Record data for traveler information, general UR information, and segment-related data. If multiple modifications are made to a Universal Record, an instance of UniversalModifyCmd must be associated with each change request.

Adding Air Segments

  1. Use the AirAdd child of UniversalModifyCmd to add an air segment or additional details about an existing air segment to an existing Universal Record.

  2. Include the required @ReservationLocatorCode to identify the PNR to which the travel segment is added. This ReservationLocatorCode is assigned by the provider and is distinct from the identifier for the UniversalRecord that is issued by Universal API.

  3. Include the required BookingTravelerRef to identify the primary traveler for an air segment. This reference is cross-checked with the Reservation Locator Code by Universal API.

  4. Add Manual Fares.

  5. Add a loyalty card to an existing booking.

  6. Add a seat assignment to an existing booking.

  7. Add open segments to an existing reservation.

  8. Store redistributed fares in an existing Universal Record.

  9. Add MIRC number to Check form of payment.

  10. Add Rich Content and Branding details.

  11. Add Special Service Requests (SSRs).

  12. Restrict or allow flexibility in the fare type.

  13. Ticketing modifiers must be updated using AirUpdate.

Storing a Price

The Store Price procedure includes obtaining a fare quote for a booked itinerary, which is the lowest fare for the booking code, origin/destination, and dates, and then storing the fare quote in the PNR. The Galileo (1G), Apollo (1V), and Worldspan (1P) providers support storing a price.

  1. We recommend sending a Universal Record Import or Retrieve first to get the complete PNR details with segments and other information.

  2. Send an Air Price request.

  3. Send the entire AirPricingInfo returned in the response to UniversalRecordModifyReq/UniversalModifyCmd/AirAdd/AirPricingInfo.

  4. With Air v35.0 and later, for 1P only, a value of either NetFaresOnly or AllFares can be sent in the existing @FaresIndicator attribute to specify pricing either for net fares only or for a combination of public, private, and net fares. Two possible scenarios where net fares can be returned in AirPricingModifiers@FaresIndicator are:

    • Pure Private and/or Net fares – FaresIndicator as "NetFaresOnly"
    • Public and/or private and net fares combinations - FaresIndicator as "AllFares"

    With Air v50.0 and later, an enhancement provides the ability to identify and sell city/ticketing city at time of Shop, Price, Book and UR Modify. This helps to identify cross-boarder sales (e.g. price in PAR ticket in NYC) so that fares are accurate throughout a workflow (e.g. shop, price, book, UR Modify). /AirPricingModifiers @SellCity and @TicketingCity can be used together. Release 20.3

    This functionality is only supported for Galileo (1G). If sent via 1V, 1P, ACH, the warning message returns, “SellCity and TicketingCity modifier(s) not supported by this provider and have been ignored.” For example:
    <AirPricingInfo ProviderCode="1G" Key="s8+gKLBAAA/B7eWQAAAAAA==" ApproximateTaxes="COP41300" Taxes="COP41300" EquivalentBasePrice="COP249000" ApproximateBasePrice="COP249000" ApproximateTotalPrice="COP290300" BasePrice="USD61.00" TotalPrice="COP290300"
    PlatingCarrier="AA" ETicketability="Yes" IncludesVAT="false" PricingMethod="Guaranteed" LatestTicketingTime="2020-06-24T23:59:00.000-05:00">
    ...
    <AirPricingModifiers TicketingCity="PAR" SellCity="NYC"/>

     

Updating Air Segments

Note: ACH does not support AirUpdate.

  1. Use the AirUpdate child of UniversalModifyCmd to modify an existing air segment in a Universal Record.

  2. Ensure ReservationLocatorCode and BookingTravelerRef are included in the request to identify the PNR. 

Notes: 

Deleting Air Segment Data

  1. Use the AirDelete child of UniversalModifyCmd to delete existing data from an air segment or to delete an entire air segment from an existing Universal Record.
  2. Note: See Canceling Travel Segments via the UR for more information on deleting entire air segments from an existing Universal Record.

  3. Enter required data:
    • The ReservationLocatorCode attribute identifies the PNR with the associated air segments.
    • The Element attribute indicates the type of data to be deleted.
      • If Element is set to "AirSegment", the entire air segment is canceled. See Canceling Travel Segments via the UR for more information on deleting entire air segments from an existing Universal Record.
      • Because the Element attribute is shared by several segment types, not all enumerations are used by air segments.
    • A Key from the PNR uniquely identifies the specific item to be deleted based on the unique key assigned to that item.
    • The BookingTravelerRef identifies the primary traveler for an air segment. This reference is cross-checked with the Reservation Locator Code by Universal API.
  4. Notes:

    If other deletions were successful, a warning message is returned in UniversalRecordModifyRsp. If no deletions were successful, an error is returned. The error/warning message is the same:

    ASVC delete not allowed - delete assigned seat.

    If the SSR code in the ASVC SSR FreeText is not a paid seat SSR and does not have a dual SSR, Universal API deletes the non-paid seat ASVC SSR.

Exceptions