Release Notes 18.2

Schema Retirement

Important!

Functional Updates

 Release 18.2  indicates content for Release 18.2, which was released in pre-production on 26 April 2018 and in production on 5 May 2018.

Update Provider Detailed Description Associated Transactions Schema Change Schema Location/XPATH
Defect Fixes

For details, see:

     
18.2.1

Return Account Code for upsell fares in shop responses.

1G, 1V

When an account code is sent in a Low Fare Shop request, the account code for upsell fares is also returned in the response.

Low Fare Shop

Retrieve Low Fare Shop

No

Air.xsd

Return Account Code for upsell fares in /FareInfoList/FareInfo/AccountCode for:

  • LowFareSearchRsp
  • LowFareSearchAsynchRsp
  • RetrieveLowFareSearchRsp
Air Booking, Modify, Retrieve, Exchange, and Ticketing returns CAT16 Most Restrictive penalty data. 1G, 1V

The Air Create Reservation, Universal Record Modify, Universal Record Retrieve, Air Exchange Ticketing, and Air Ticketing responses are enhanced to return the values “Anytime”, “Before Departure”, or “After Departure” in the new attribute @PenaltyApplies. This is related to the similar enhancement released for Universal API 18.2.

Note: The schema was enhanced for the 18.2 Release, but the functionality was turned on for 18.2.1.

Air Booking

UR Modify

UR Retrieve

Ticketing

Exchange

No

Universal v45.0

Added @PenaltyApplies in UniversalRecord/AirReservation/AirPricingInfo/CancelPenalty, /ChangePenalty, or /NoShowPenalty as part of:

  • AirCreateReservationRsp

  • UniversalRecordModifyRsp

  • UniversalRecordRetrieveRsp

Air v45.0

Added @PenaltyApplies in /AirSolutionChangedInfo/AirPricingSolution/AirPricingInfo/CancelPenalty, /ChangePenalty, or /NoShowPenalty as a part of

  • AirTicketingRsp

  • AirExchangeTicketingRsp
Send citizenship modifier in Air Price.

1P

With this release, when personal geography is included in a price request, the traveler's location is considered at the time of pricing. Some airline vendors offer specific rates based on traveler location. Low Fare Shop already had the ability to send a citizenship modifier. This enhancement extends the use of personal geography to Air Price.

Air Pricing

No

Air v45.0

Personal geography is considered when sent in AirPriceReq/SearchPassenger/PersonalGeography.

Return better error message when simultaneous changes are made.

1P

Prior to this release, if a Universal Record Modify request contained multiple changes and if one change failed, the error that returned was Simultaneous change error from the host. However, some of the changes may have been made.

With this release, if an error occurs during Universal Record modify when multiple changes are in the request, the error that displays is One or more updates were not successful, Please retrieve the record and re-try.

UR Modify

No

Universal v45.0

New message returned when an error occurs during simultaneous changes in a Universal Record request.

Return branding information in the Universal Record.

1G, 1V, 1P

Prior to this release, brand details were not returned when the fare was retrieved or synched from the PNR. With this release, brand details are returned any time a fare is retrieved or synched from the PNR. Brand information is saved in the Universal Record.

 

Air Booking

UR Modify

UR Retrieve

UR Import

Booking Pricing

No

Brand information is returned in AirPricingInfo/FareInfo/Brand in the following transactions.

Universal.xsd (all versions)

  • UniversalModifyRsp/UniversalRecord/AirReservation/
  • UniversalRecordRetrieveRsp/UniversalRecord/AirReservation/

  • UniversalRecordImportRsp/UniversalRecord/AirReservation/

SharedBooking.xsd (all versions)

  • BookingPricingRsp/UniversalRecord/AirReservation/
Universal Record

Support both Mail To and Mail From values.

1G, 1V

Prior to this release, duplicate emails were not synchronized with the PNR, even if the email type was different. When identical email addresses were entered in the PNR for types From and To and the PNR was then imported into or retrieved by Universal API, only the "From" email was stored in the host and Universal Record. As a result, email confirmations were not sent to the booking traveler.

With this release, identical emails are allowed. If @Type="Agent", the email address is mapped to the From field in the PNR. All other @Type values are mapped to a To field in the PNR. Additionally, Universal API now accepts the value @Type="To", which is used to map emails listed as To in the PNR.

If both the To and From fields are populated in the Universal Record, these values are sent to the PNR. If both fields are populated in the PNR, these values are synchronized in the Universal Record.

Air Booking

Hotel Booking

Vehicle Booking

UR Modify

UR Import

UR Retrieve

No

Universal (all versions)

  • Identical values allowed different email types.
  • To is an accepted value in @Type.

These two changes above apply to the following:

  • Air/Hotel/VehicleCreateReservationReq/BookingTraveler/Email

  • UniversalRecordModifyReq/UniversalModifyCmd/
    Universal Add/BookingTravelerInfo/Email

  • UniversalRecordModifyReq/UniversalModifyCmd/
    UniversalUpdate/BookingTravelerInfo/Email

  • UniversalRecordRetrieveRsp/UniversalRecord/BookingTraveler/Email

  • UniversalRecordImportRsp/UniversalRecord/BookingTraveler/Email

Air

Check if segments are bookable in a Pricing request.

 

1P

@SellCheck adds a "sell and ignore" function to the Air Price transaction to verify bookability, which helps to prevent book failure after pricing. @SellCheck was added to the AirPricingModifiers element in Air.xsd v44.0. With this release, either Booking Codes or Class of Service must be specified when @SellCheck="true". The default value is false.

To check for bookability,

  • Include AirPriceReq/AirPricingCommand/AirPricingModifiers @SellCheck="true"

  • Specify the class of service in one of the following:
    • AirPriceReq/AirPricingCommand/AirSegmentPricingModifiers/PermittedBookingCodes/BookingCode @Code
    • AirPriceReq/AirItinerary/AirSegment @ClassOfService

If both values are sent, the Permitted Booking Code is used and Class of Service is ignored.

Universal API checks if the segment is bookable before pricing and successful AirPriceRsp will be returned if segments are bookable.

  • If the class of service is available, all associated fares are returned. If not available, an error is returned: The Air Segments are not bookable.
  • With multiple segments itinerary, a Minimum Connection Time (MCT) check is automatically performed. If MCT is not met, a warning will be displayed in AirPrice response.

  • If @AvailabilityCheck="false", the Air Price Request continues as performed with previous schema.
  • If @SellCheck="true" but the customer is not provisioned for SellCheck functionality, an error is returned: User is not authorized for SellCheck. Please contact support.

  • If there is a flight time change at time of booking, a schedule change check takes place. In case of a change in the Departure and/or Arrival, new flight times return in the response with the message: Schedule Change Occurred and the air segment(s) DepartureTime and/or ArrivalTime have been updated.

Note: When the Sell Check attribute is included in the AirPrice request, AirPrice becomes a 'stateful' transaction, meaning that it retains information about the transaction, or session. It is at the customers discretion to implement this functionality so that impacts to the system and a carriers inventory are taken into consideration. Risks may include impacts to last seat availability and restrictions to available inventory.

Air Pricing

No

Air v44.0

In Air v44.0, @SellCheck added to AirPriceReq/AirPricingModifiers. With this release, when @SellCheck=”true”, one of the following must be included:

  • AirPriceReq/AirPricingCommand/AirSegmentPricingModifiers/
    PermittedBookingCodes/BookingCode @Code
  • AirPriceReq/AirItinerary/AirSegment @ClassOfService

Calculate ground time for incidental stops.

1G, 1V

Prior to this release, ground time was not returned in Low Fare Shopping responses for incidental stops. With this enhancement, a new attribute called GroundTime returns ground time for incidental stops.

This enhancement does not apply to Worldspan, Access, or Airline Content Hub.

Low Fare Shop

Yes

Air v45.0

@GroundTime added to LowFareSearchRsp/FlightDetailsList/FlightDetails.

Return the lowest fare within each branded fare in a fare family display.

1G, 1V, 1P

@ModifierType now accepts the value "LowestFareInBrand", which returns the lowest fare within each branded fare in a Fare Family Display.

If any value other than “FareFamily”, "MaintainBookingCode", and "LowestFareInBrand" is sent in @ModifierType, Universal API returns a validation error.

 

Air Pricing

Yes

Air v45.0

Add “LowestFareInBrand” value to @ModifierType in:

  • AirPriceReq/AirPricingModifiers/BrandModifiers/FareFamilyDisplay
  • AirPriceReq/AirPricingCommand/AirPricingModifiers/BrandModifiers/ FareFamilyDisplay

Return Account Code for branded fares in a fare family display.

1G, 1V

This enhancement ensures that Account Codes are returned for Branded Fares (Private Fares) in the Air Price Fare Family Display response.

Additionally, this enhancement ensures that an Air Pricing request with Fare Family Display returns the correct pricing solutions when the following pricing modifiers are sent:

  • ProhibitRestrictedFares="true"
  • ProhibitMaxStayFares="true"
  • ProhibitMinStayFares="true"
  • ProhibitAdvancePurchaseFares="true"
  • PenaltyInfo/Percentage
  • ProhibitPenaltyFares="true"

Air Pricing

No

Air.xsd

Return Account Code value in AirPriceRsp/AirPriceResult/AirPricingSolution/AirPricingInfo/
FareInfo/AccountCode @Code

Populate Most Restrictive penalty information.

1G, 1V

Previously, Galileo (1G) returned the Category 16 (CAT-16) penalty rules from the fare that had the most restrictive penalty. The first two penalties were used from the most restrictive fare component; however, the highest penalties may exist across multiple fare components. Therefore, false penalty information could have been returned.

With this release, Universal API examines all fare components and sends the most restrictive conditions across all fare components within a pricing solution. The response contains the most restrictive penalty information in CAT-16.

The LowFareSearchRsp, LowFareSearchAsynchRsp, AirPriceRsp, and RetrieveLowFareSearchRsp schema is enhanced to return the optional attribute @PenaltyApplies in the CancelPenalty and ChangePenalty elements that identifies the penalty as “Anytime”, “Before Departure”, or “After Departure”.

Notes:

  • If the airline files "cancel penalty" and "change penalty" along with "NoShow," then NoShow="true" attribute displays in CancelPenalty and ChangePenalty in the response.
  • If the airline files "cancel" penalty along with "NoShow," then the NoShow="true" attribute displays only in the CancelPenalty attribute the response.
  • If the airline files stand a lone NoShow amount, then NoShowPenalty attribute displays along with corresponding value (amount or percentage) in the response.
  • If the airline files a change penalty along with NoShow, then NoShow="true" attribute displays in ChangePenalty only in the response.

Low Fare Shopping

Air Pricing

Yes

Air v45.0

Added @PenaltyApplies in /AirPricePointList/AirPricePoint/AirPricingInfo/CancelPenalty, /ChangePenalty, or NoShowPenalty as part of:

  • LowFareSearchRsp
  • LowFareSearchAsynchRsp
  • RetrieveLowFareSearchRsp
  • AirPriceRsp

Added @PenaltyApplies in /AirPricingSolution/AirPricingInfo/CancelPenalty, /ChangePenalty, or /NoShowPenalty as part of:

  • LowFareSearchRsp
  • LowFareSearchAsynchRsp
  • RetrieveLowFareSearchRsp
  • AirPriceRsp
Hotel

Hotel Cancel returns all provider error messages

1P

Previously, Universal API was not returning all error text from the supplier or provider.

This enhancement ensures all error message text in Hotel Cancel is in the response.

Hotel Cancel

No

Hotel.xsd (all versions)

HotelCancelRsp/UniversalRecord/GeneralRemark @RemarkData