Air Merchandising Offer Availability for ATPCO Carriers
Request
Air Merchandising Offer Availability requests for ATPCO-filed carriers, such as KL, do not require AirSolution/SearchTraveler or HostReservation in the request.
The minimum data necessary for a request to an ATPCO-filed carrier is AirSolution/AirSegment.
Cabin class or class of service must be included to return Optional Services.
- AirMerchandisingOfferAvailabilityReq/AirSolution/AirSegment @CabinClass
- AirMerchandisingOfferAvailabilityReq/AirSolution/AirSegment @ClassOfService
If cabin class or class of service is not sent in the request, a warning is returned: No Merchandising optional services returned for Flight(s) [Carrier][Flight Number].
If the booking includes an optional Frequent Traveler number, the number and traveler data is validated by the carrier (Interactive Frequent Flyer Validation). The priority code of the Frequent Traveler number is saved in the booking.
The carrier can file Optional Service prices with ATPCO based on loyalty card priority code. The priority code is used to get the correct Optional Service price for the passenger.
Passenger information, Loyalty Card priority (if available), and Fare Information (if available) are sent in the request. The prices that are returned are based on the information sent, and can differ based on the passenger.
If the request is sent without HostReservation, Universal API maps the traveler's age from the Passenger Type Code (PTC) or from SearchTraveler @Age. The response contains the PTC and age that are returned from the provider, and any age-related Optional Services.
If the request is sent with HostReservation:
- For the Galileo (1G) and Apollo (1V) providers, Universal API retrieves/imports the PNR from the provider. Then, Universal API extracts the PTC from BookingTraveler/NameRemark @RemarkData for the current PNR and sends that PTC in the request. If a PTC cannot be extracted, Universal API checks BookingTraveler/TravelerType to determine the PTC to send in the request. If a PTC is still not found, Universal API sends an adult (ADT) PTC in the request.
- For the Worldspan (1P) providers, Universal API retrieves/imports the PNR from the provider and populates BookingTraveler/TravelerType with the PTC, which is sent in the reques. Age, if available, is also sent in the request.
If an Optional Service that references an infant (INF PTC) is sent in a request, it is ignored and a warning is returned: "OptionalServices may not be Supported/Required for passenger type INF."
Note: This warning is returned as an error if Seat Map is requested for INF PTC only.
Response
The response returns data that can be used to issue an EMD (Electronic Miscellaneous Document) to fulfill payment of Optional Service requests. The response also contains data that can be sent in subsequent Seat Map and Air Merchandising Fulfillment requests. Because some carriers may file multiple prices for the same Optional Service (seats), but the Air Merchandising Offer Availability response returns only one Optional Service, the price of the Optional Service may or may not be the highest price available. To see if a carrier has filed multiple prices for seats, the Seat Map request must be sent.
In OptionalServices/OptionalService/ServiceData, the response also:
- Associates each non-seat Optional Service with a single booking traveler PTC. This creates one optional service for every booking traveler reference that includes the BookingTravelerRef and AirSegmentRef in one ServiceData element.
- Worldspan (1P): When a request is sent that includes HostReservation to 1P, Universal API retrieves the provider PNR and associates the PTC returned by 1P in Name Remark to each booking traveler. 1P only allows PTC in Name Remark.
- Galileo (1G) and Apollo (1V): When a request is sent that includes HostReservation to 1G or 1V, Universal API retrieves the provider PNR to determine if there is an infant travelling. Universal API associates adult (ADT) PTCs for each booking traveler in the booking. If an infant is travelling, Universal API ensures an OptionalService element is not created for the INF passenger.
- When a request is sent with SearchTraveler and no HostReservation, the PTC in SearchTraveler is associated to the OptionalService.
- When a request is sent without SearchTraveler or HostReservation, the ADT PTC is associated to the OptionalService.
- Returns one Optional Service referencing one or more air segment(s) based on the following criteria:
- When an ATPCO-filed Optional Service is for a sector, the Optional Service is associated to one air segment.
- When an ATPCO-filed Optional Service is for a portion of travel or for a journey, the Optional Service is associated to one or more air segments.
Note: Galileo (1G), Apollo (1V), and Worldspan (1P) do not support the Geography Specification “Journey”.
Additional ATPCO-supported secondary types may also be available. See ATPCO Secondary Optional Services.
Subsequent Merchandising Fulfillment Requests
The following data from the Air Merchandising Offer Availability response must be included in any subsequent Merchandising Fulfillment request:
- OptionalService attributes:
- ServiceSubCode="0AA"
- Remark: [Commercial Name]
If the following data is returned in the Air Merchandising Offer Availability response, it must be included in any subsequent Merchandising Fulfillment request:
- OptionalService attributes:
- SSRCode="XBAG"
- IssuanceReason="C"
Note that the values associated with this data are examples and may be subject to changes in the ATPCO filing by the carrier.
Important! These values should NOT be hard coded into a client application. However, the returned Air Merchandising Offer Availability response values should always be included in the subsequent Fulfillment request.
Review specifics for Offer Availability:
Use the Air Merchandising Seat Map request to obtain specific seat assignments associated with the selected seating options.
Use the Air Merchandising Fulfillment request to book the Optional Services.