Release Notes 17.3

Schema Retirement

Important!

Functional Updates

Release 17.3  indicates content for Release 17.3, which was released in pre-production on 30 June and in production on 12 July.

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

For details, see:

     
17.3.1 - Released 14 Oct 2017
Indicate Refundable Attribute in Air Price Response 1G, 1V,

In previous releases of Universal API,

  • For Galileo (1G), Apollo (1V), and Worldspan, the Air Price response did not correctly specify if the fares in a pricing solution were refundable.

With this enhancement, every pricing solution in the Air Price response correctly identifies the fares as refundable.

Low Fare Shop

Air Price

No

Air v42.0

Updated logic for /AirPricingInfo @Refundable in

  • AirPriceRsp/AirPriceResult/AirPricingSolution

Note: This update affects all Air schema versions.

Universal Record

Add plating carrier for 1G ACH ZK stored fare.

1G

Previously, the plating carrier was not saved as part of a stored fare for Galileo (1G) PNRs booked with a background ACH passive (ZK) segment.

With this release, when an ACH booking is storing a manual fare in the host as part of a background passive booking, the plating carrier sent in AirPricingTicketingModifiers/TicketingModifiers @PlatingCarrier is saved.

Possible errors: 

  • When the plating carrier is not present as an authorized carrier in the agency PCC, an error is returned: UNAUTHORISED/INVALID PLATING CARRIER CODE.
  • When the carrier is not an e-ticket carrier, an error is returned: UNAUTHORISED/INVALID PLATING CARRIER CODE - UNABLE TO TKT/AIRLINE CODE MISSING.

Air Booking

UR Modify

Air Exchange

No

Universal.xsd (all versions)

AirPricingTicketingModifiers/TicketingModifiers @PlatingCarrier in:

  • AirCreateReservationReq
  • UniversalRecordModifyReq/UniversalModifyCmd/AirAdd and AirUpdate

Air.xsd (all versions)

  • AirExchangeReq

Ticket Apollo bookings with the correct manual fare adjustment.

1V

Previously, when an Apollo (1V) fare was adjusted through an Air Create or a Universal Record Modify request, the adjustment was saved in the Universal Record but was not stored correctly in the host. This prevented the ticket from being issued because an error message was returned on issuance.

With this enhancement, the fare adjustment is stored correctly in the host and the ticket can be issued with the correct fare.

Air Booking

UR Modify

No

Universal.xsd (all versions)

  • AirCreateReservationReq

  • UniversalRecordModifyReq

Check the exchange eligibility of a ticket.

1P

Prior to this release, in order to exchange a ticket, you would retrieve the booking, validate rules, check availability, and then get an exchange quote. At the exchange quote step, eligibility checks were made prior to faring that might return an error.

With this release, as part of Automated Refunds and Exchanges (Rapid Reprice), you can request eligibility checks for the current itinerary before beginning the exchange process. Using the new Air Exchange Eligibility transaction, send the ProviderReservationInfo @ProviderCode and @ProviderLocatorCode in the request.

The response indicates whether the fares are eligible for exchange in AirExchangeEligibilityRsp/ExchangeEligibilityInfo @EligibileFares. Values returned are All, Some, or None.

For Phase 1, if any validation errors are returned by the host, AirExchangeEligibilityRsp/ExchangeEligibilityInfo @PassedAutomationChecks="false".

Possible validation errors that are returned as a warning include:

  • Not a Rapid Reprice participant.
  • Reissue country must match original ticket country

  • Reissue processing inhibited - Time before departure not met

  • Reissue processing requires minimum of one unflown flight

  • Invalid flight status

Errors that may be returned include: 

  • System not available - unable to process - retry entry
  • Unable to process original fare - process manually
  • Historical data not available - unable to process
  • Electronic ticket transaction not found

Important: For Phase 1, only Worldspan (1P) is supported and limited data is returned in the response. In future phases, other providers will be supported and more data will be returned.

Air Exchange Eligibility

Yes

Air.xsd (v42.0)

New transactions added:

  • AirExchangeEligibilityReq
  • AirExchangeEligibilityRsp

 

Air

Provide Change of Gauge in price and book.

1G, 1V, 1P

Previously, Universal API only provided Change of Gauge (COG) in the in the LowFareSearchRsp. A change of gauge flight is a change of aircraft while retaining the same flight number.

This enhancement provides COG in the Air Price response similar to the LowFareSearchRsp.

When AirPriceReq @CheckFlightDetails="true"

  • The provider is called and the attributes are populated according to the provider response.
  • In AirPriceRsp/AirItinerary/AirSegment
    • @ChangeOfPlane is set to True for that segment.
    • @Equipment is set to "CHG".
  • AirPriceRsp/AirPriceResult/AirPricingSolution/AirSegment @NumberOfStops = X

When @CheckFlightDetails="false",

  • The logic echos the following attributes from AirPriceReq/AirItinerary/AirSegment. The attribute will typically come from the LFS or Availability response.
  • In AirPriceRsp/AirItinerary/AirSegment:
    • @ChangeOfPlane is set to True for that segment.
    • @Equipment is set to "CHG".
  • AirPriceRsp/AirPriceResult/AirPricingSolution/AirSegment @NumberOfStops ="X"

 

 

Air Price

No

Universal v38.0 and later

When AirPriceReq @CheckFlightDetails="true", COG is indicated in:

  • @ChangeOfPlane and @Equipment in AirPriceRsp/AirItinerary/AirSegment
  • @NumberOfStops in AirPriceRsp/AirPriceResult/AirPricingSolution/AirSegment

Add fare indicator for Cat35 rule to shopping responses.

1G, 1V

To indicate whether a fare is associated with a Cat35 rule, the optional Boolean attribute Cat35Indicator has been added to AirPricingInfo for LowFareSearchRsp, LowFareSearchRspAsynchRsp, and RetrieveLowFareSearchRsp. A value of true indicates the fare is associated with a Cat35 rule. False indicates the fare does not have a Cat35 rule.

The Cat35 indicator is not supported for providers other than Galileo (1G) and Apollo (1V).

Low Fare Shopping

Low Fare Shopping Asynchronous

Retrieving Low Fare Search Data

 

Yes

Air.xsd v42.0

The attribute AirPricingInfo @Cat35Indicator was added to the following:

  • LowFareSearchRsp/AirPricingSolution
  • LowFareSearchRsp/AirPricePointList/AirPricePoint
  • LowFareSearchAsynchRsp/AirPricingSolution
  • LowFareSearchAsynchRsp/AirPricePointList/AirPricePoint
  • RetrieveLowFareSearchRsp/AirPricingSolution
  • RetrieveLowFareSearchRsp/AirPricePointList/AirPricePoint

Add schema change for future support for a list of optional services for branded fares.

1G, 1P, 1V

This update adds several placeholder schema changes in LowFareSearch and LowFareSearchAsynch for functionality that will be implemented in a future release. When implemented, this functionality will enable users to request in Low Fare Shopping and Low Fare Shopping Asynchronous a list of any optional services that are part of a branded fare.

Important: The new attribute should not be used until the full functionality is implemented; if it is used Universal API will ignore it without returning an error.

 

Low Fare Shopping

Low Fare Shopping Asynchronous

Retrieving Low Fare Search Data

Yes

Air.xsd v42.0

The attribute AirPricingModifiers @ReturnFareAttributes was added to

  • LowFareSearchReq
  • LowFareSearchReqAsynch

The element FareAttributes was added to

  • LowFareSearchRsp/FareInfoList/FareInfo
  • LowFareSearchAsyncRsp/FareInfoList/FareInfo
  • RetrieveLowFareSearchRsp/FareInfoList/FareInfo

 

Add schema change for future support to request pricing by brand tier number.

1G, 1P, 1V

This update adds several placeholder schema changes for functionality that will be implemented in a future release. When implemented, this functionality will add a branded fare pricing modifier, BrandTier, to Air Pricing for pricing by a specific brand tier, for use in subsequent transactions.

Important: The BrandTier attribute should not be used until the full functionality is implemented; if it is used Universal API will ignore it without returning an error.

Air Pricing

Air Booking

Air Exchange Quote

UR Modify

Yes

Air.xsd v42.0

The optional attribute AirSegmentPricingModifers @BrandTier was added to

  • AirPriceReq/AirPricingCommand
  • AirExchangeQuoteReq/RepricingModifiers
  • AirExchangeQuoteReq/AirPricingSolution/AirPricingInfo
  • AirExchangeReq/AirPricingSolution/AirPricingInfo

Universal.xsd v42.0

AirSegmentPricingModifers @BrandTier was added to

  • AirCreateReservationReq/AirPricingSolution/AirPricingInfo

  • UniversalRecordModifyReq/UniversalModifyCmd/AirAdd
  • UniversalRecordModifyReq/UniversalModifyCmd/AirAdd/AirPricingInfo

SharedBooking.xsd v42.0

AirSegmentPricingModifers @BrandTier was added to

  • BookingPricingReq/AddPricing/AirPricingInfo

The new attribute is also returned in all responses containing

  • /UniversalRecord/AirReservation/AirPricingInfo
FCPI codes returned as a step toward supporting agency private fares.

1G

 

Previously, Universal API did not support agency private fares (APF/Net Fare Manager (NFM) fares). As a step to support APF/NFM fares with no-markup, Universal API now returns new FCPI codes in the AirExchangeQuote/AirPricingInfo @FareCalculationInd. This code is for informational purposes only for the user. No changes occurred in any request to support agency private fares.

 

Air Exchange Quote

Booking Air Exchange Quote

Air Exchange

Booking Air Exchange

No

New FCPI codes valid in AirPricingInfo @FareCalculationInd for:

Air.xsd (all versions)

  • AirExchangeQuoteRsp/AirPricingSolution
  • AirExchangeReq/AirPricingSolution
  • AirExchangeRsp/AirReservation/AirPricingSolution

SharedBooking.xsd (all versions)

  • BookingAirExchangeQuoteRsp/AirPricingSolution
  • BookingAirExchangeReq/AirPricingSolution
  • BookingAirExchangeRsp/AirReservation/AirPricingSolution

Support Exchange Quote and Exchange for IndiGo.

ACH

With this release, you can exchange a segment or partially cancel an IndiGo (6E) booking.

  1. Send AirExchangeQuoteReq to request a new set of AirSegment(s).

    • HostToken is required.
    • IndiGo requires RepricingModifiers/AirSegmentPricingModifiers @FareBasisCode when repricing for a new segment. If not sent, an error is returned: Invalid data type / length / value of attribute supplied in the request-/AirItineraryPricingInfo/PTC_FareBreakdowns/PTC_FareBreakdown/FareBasisCodes/FareBasisCode.
  2. AirExchangeQuoteRsp returns the pricing solution of the new segments and the ExchangeAmount (refund or charges).
  3. From AirExchangeQuoteRsp, send AirPricingSolution, AirExchangeBundleTotal, HostToken, and OptionalService (if any) in the AirExchangeReq.

For a partial cancellation, complete the steps above for the segments you want to retain in the booking. For example, a PNR contains a round trip (DEL-BOM) and the inbound flight (BOM-DEL) needs to be canceled. Send an AirExchangeQuoteReq for only the outbound flight (DEL-BOM), then send AirExchangeReq the pricing solution for DEL-BOM. Other segments are canceled.

Air Exchange Quote

Air Exchange

No

 

Air.xsd (all schema versions)

  • AirExchangeQuoteReq/Rsp
  • AirExchangeReq/Rsp

 

Merchandising

Support ancillaries for IndiGo at price, book, modify, air merchandising offer availability, seat map, and air merchandising fulfillment.

ACH

Ancillaries are now supported for IndiGo at price, book, Universal Record modify, Air Merchandising Offer Availability, seat map, and Air Merchandising Fulfillment.

Future IndiGo functionality will include:

  • Support for modifying IndiGo paid seat ancillaries on non-stop, direct, and connecting flights.
  • Support fulfillment of IndiGo ancillaries on connecting flights.

 

Air Pricing

Air Booking

UR Modify

Air Merchandising Offer Availability

Seat Map

Air Merchandising Fulfillment

No

Air.xsd (all versions)

  • AirPriceReq/Rsp
  • AirMerchandisingOfferAvailabilityReq/Rsp
  • SeatMapReq/Rsp
  • AirMerchandisingFulfillmentReq/Rsp

Universal.xsd (all versions)

  • AirCreateReservationReq/Rsp

  • UniversalRecordModifyReq/Rsp

 

Support URLs returned in Air Merchandising Offer Availability response.

ACH

Previously, when ACH returned text and a URL, only the text was mapped in AirMerchandisingOfferAvailabilityRsp. With this release, the URL is mapped to OptionalServices/OptionalService/ServiceInfo/MediaItem.

Air Merchandising Offer Availability

No

 

Air.xsd (all versions)

  • AirMerchandisingOfferAvailabilityReq/Rsp
Offer easyJet meal vouchers with flexible fares.

ACH

easyJet (U2) now includes meal vouchers with their flexible fares. easyJet's ‘Buy Before You Fly’ service gives customers a better value on board. The food voucher is bundled with a Flexi fare purchase, which is similar to the current baggage and seat optional services.

In Universal API, these meal vouchers must be included in the booking (AirCreateReservation request) for the booking to be successful.

  • A new mandatory charge code ‘FPP’ for food voucher has been introduced, which is applicable in Flexi bookings only.
  • Only one ‘FPP’ is applicable per passenger per segment.
  • As this voucher is bundled with Flexi booking, the value of this charge code is zero (0£).

A meal voucher with the value of £5 is automatically added to the easyJet booking (at no extra price for the traveler) when booking a Flexi fare. The voucher is provided for all the passengers and segments in the booking.

Air Booking

 

No

 

Universal.xsd (all versions)

The food voucher information is sent and returned in OptionalServices/OptionalService in:

  • AirCreateReservationReq/AirPricingSolution/AirSegment/
  • AirCreateReservationRsp/UniversalRecord/AirReservation/
Vehicle

Support "prepayment" as a guarantee type.

1P

This enhancement updates the Guarantee @Type attribute to support prepayment as a guarantee for Worldspan (1P) when booking reservations.

Vehicle Booking

UR Retrieve

Vehicle Cancel

Yes

Universal v42.0

Removed restriction from Guarantee/@Type attribute and changed the type to "string." Updated annotation of Guarantee/@Type attribute to "Guarantee, Deposit for 1G/1V/1P and PrePayment for 1P only".

Guarantee @Type updated in:

  • VehicleCreateReservationReq/

and in /UniversalRecord/VehicleReservation/ as part of

  • VehicleCreateReservationRsp
  • UniversalRecordRetrieveRsp
  • VehicleCancelRsp

Note: If a booking is made in v42.0, and then retrieved in v.41.0, Universal API does not return the /Guarantee element.

Rail

Allow multiple discounts per passenger for rail.

RCS

Previously, Universal API allowed only one Discount code per passenger to be applied on a Rail Reservation.

This enhancement provides the ability to apply multiple discount codes per passenger for rail reservations. Although this functionality is not vendor specific, only SNCF and BeNe currently support multiple discounts per passenger.

The update ensures that multiple @DiscountCards per passenger can be applied for Low Fare Shop, Rail Availability, Rail Exchange Quote, Rail Exchange, and Rail Booking.

 

Rail Shopping

Rail Availability

Rail Exchange Quote

Rail Exchange

Rail Booking

No

Multiple @DiscountCards can be added to the request and returned in the response.

Rail.xsd v42.0

DiscountCard in:

  • RailAvailabilitySearchReq/SearchPassenger
  • RailAvailabilitySearchRsp/RailPricingSolution/RailPricingInfo/PassengerType
  • RailExchangeQuoteReq/SearchPassenger
  • RailExchangeQuoteRsp/RailExchangeSolution/RailPricingInfo/PassengerType/
  • RailExchangeReq/FareComponent
  • RailExchangeRsp/UniversalRecord/BookingTraveler

Air.xsd v42.0

RailPricingSolution/RailPricingInfo/PassengerType/DiscountCard in:

  • LowFareSearchReq
  • LowFareSearchRsp

Universal.xsd v42.0

BookingTraveler/DiscountCard in:

  • RailCreateReservationReq
  • RailCreateReservationRsp/UniversalRecord