ServiceList Functional Capabilities

ServiceList Request

The ServiceListRQ service set returns a list of all applicable ancillary services that meet request qualifiers and flights. The message supports shopping for additional a la carte services (e.g., meal, lounge, etc.) to complement any selected Offer.

The ResponseID, OfferID, and OfferItemID must be used in the ServiceListRQ from previous AirShoppingRS:

  • /ServiceListRQ/ShoppingResponseID/ResponseID (retrieved from the previous response; for example: AirShoppingRS)
  • /ServiceListRQ/Query/Offers/Offer/OfferID (retrieved from the previous response; for example: AirShoppingRS)
  • /ServiceListRQ/Query/Offers/Offer/OfferID/@Owner
  • /ServiceListRQ/Query/Offers/Offer/OfferItemIDs/OfferItemID (retrieved from the previous response; for example: AirShoppingRS)
  • /ServiceListRQ/Query/Offers/Offer/OfferItemIDs/OfferItemID/@Owner

ServiceListRQ Modifiers and Details

Corporate Contract Number (CCN)
It is not required to pass this in the request. This is processed internally and applied during itinerary pricing.

Normal Tariff Passenger (NTP)
It is not required to pass this in the request. This is processed internally and applied during itinerary pricing.

FQTV
Supported in NDC 2017.2 ServiceListRQ:

  • /ServiceListRQ/DataLists/PassengerList/Passenger
  • /ServiceListRQ/DataLists/PassengerList/Passenger/LoyaltyProgramAccount

When the ServiceListRQ has multiple travelers with different FQTV Tier levels, all passengers benefit from the benefits of the highest tier.

Language Code
Provide the language code in /ServiceListRQ/Parameters/Languages/LanguageCode. If a language code is not provided in the request, then English is the default language.

Passenger Type Code
ADT, CHD, YTH, and INF passenger type codes are suppported.

Copy
Copied
<ServiceListRQ Version="17.2">
	<Document>
		<Name>NDC-Exchange</Name>
		<ReferenceVersion>UAT-YY-EIP</ReferenceVersion>
	</Document>
	<Party>
		<Sender>
			<!--The Sender Type "EnabledSystemSend" will be used for users who do not use an IATA number-->
			<!--<EnabledSystemSender>
                <SystemID>SenderName</SystemID>
            </EnabledSystemSender>-->
			<!--The Sender Type "TravelAgencySender" will be used for users who use IATA number (Travel Agencies)-->
			<TravelAgencySender>
				<IATA_Number>0000000</IATA_Number>
				<AgencyID>001</AgencyID>
			</TravelAgencySender>
		</Sender>
	</Party>
	<Parameters>
		<Languages>
			<LanguageCode>EN</LanguageCode>
		</Languages>
	</Parameters>
	<ShoppingResponseID>
		<!-- Pickup ResponseID from earlier response-->
		<ResponseID>5fcf3507-b34f-44d5-acb2-67f22c1199df-8867.213716374781</ResponseID>
	</ShoppingResponseID>
	<Query>
		<Offers>
			<Offer>
				<!-- OUTBOUND -->
				<OfferID Owner="YY">NJJFBQ-OfferID-1</OfferID>
				<OfferItemIDs>
					<OfferItemID Owner="YY">ZIIVW4J8P9-OfferItemID-1</OfferItemID>
					<OfferItemID Owner="YY">VJLK74V1AP-OfferItemID-2</OfferItemID>
				</OfferItemIDs>
			</Offer>
			<Offer>
				<!-- INBOUND -->
				<OfferID Owner="YY">SYKPN8-OfferID-1</OfferID>
				<OfferItemIDs>
					<OfferItemID Owner="YY">IHW22E0ZNF-OfferItemID-1</OfferItemID>
					<OfferItemID Owner="YY">TZ72BYI4FN-OfferItemID-2</OfferItemID>
				</OfferItemIDs>
			</Offer>
		</Offers>
	</Query>
</ServiceListRQ>

ServiceList Response

The ServiceListRS service includes a detailed price breakdown for each ancillary (i.e., meal, lounge, and seat) of the requested Offer in the request.

  • Each ALaCarteOfferItem (for each ancillary like the meal, lounge, and seat, etc.) is created in the response for all passengers. This section displays the price breakdown for the specific ancillary.
    /ServiceListRS/ALaCarteOffer/ALaCarteOfferItem
  • An ALaCarteOfferItem is created for each flight segment (not for each bound) and each type of ancillary
    For example: ASPM, ASPW, ASPA, MEAL, MLLW (each of these types should create different ALaCarteOfferItem to display the price details)
  • /ServiceListRS/ALaCarteOffer/ALaCarteOfferItem/Eligibility/PassengerRefs
    This includes all available passenger in the request. For multiple passenger scenarios, note that the ancillary should be assigned for each passenger in the OfferPriceRQ or OrderCreateRQ.
  • The ServiceListRS section display details about each ancillary type like ASTM, ASTW (standard Window seat), MLLW (maple leaf lounge):
    • /ServiceListRS/DataLists/ServiceDefinitionList/ServiceDefinition
    • /ServiceListRS/DataLists/ServiceDefinitionList/ServiceDefinition/Name
    • /ServiceListRS/DataLists/ServiceDefinitionList/ServiceDefinition/Descriptions/Description
  • Seat Type Codes:
    • ASPM - Preferred middle seat
    • ASPA - Preferred aisle seat
    • ASPW - Preferred window seat
    • ASTM - Standard middle seat
    • ASTA - Standard aisle seat
    • ASTW - Standard
  • The below section connects with each ALaCarteOfferItem :
    • /ServiceListRS/DataLists/PassengerList (displays passneger type details; for example: ADT, CHD, INF)
    • /ServiceListRS/DataLists/FlightSegmentList (displays flight segment details; for example: Org, Des, Date)
    • /ServiceListRS/DataLists/OriginDestinationList (displays bound information)
  • PassengerRefs and SegmentRefs :
    • /ServiceListRS/ALaCarteOffer/ALaCarteOfferItem/Eligibility/PassengerRefs
    • /ServiceListRS/ALaCarteOffer/ALaCarteOfferItem/Eligibility/SegmentRefs
Copy
Copied
<ALaCarteOffer OfferID="AG2BOCDYC0-SLRS-OfferID-1" Owner="YY">
	<ALaCarteOfferItem OfferItemID="HVRTAH359H-SLRS-OfferItemID-1">
		<Eligibility>
			<PassengerRefs>DGIQQVMTOU-T1 DGIQQVMTOU-T2 DGIQQVMTOU-T3 DGIQQVMTOU-T4</PassengerRefs>
			<SegmentRefs>ZSXY70Z3TA-SEG1</SegmentRefs>
		</Eligibility>
		<UnitPriceDetail>
			<TotalAmount>
				<DetailCurrencyPrice>
					<Total Code="USD">11.01</Total>
				</DetailCurrencyPrice>
			</TotalAmount>
			<BaseAmount>10.49</BaseAmount>
			<Taxes>
				<Total>0.50</Total>
				<Breakdown>
					<Tax>
						<Amount>0.50</Amount>
						<Nation>XX</Nation>
						<TaxCode>XG</TaxCode>
					</Tax>
				</Breakdown>
			</Taxes>
		</UnitPriceDetail>
		<Service ServiceID="QWS345RDE6ServiceID-001">
			<ServiceDefinitionRef>QWS345RDE6-ServiceDefinition-001</ServiceDefinitionRef>
		</Service>
	</ALaCarteOfferItem>
  • For SeatDefinitionID , refer to the SeatDefinitionRefs section:
    • /ServiceListRS/DataLists/ServiceDefinitionList/ServiceDefinition/SeatDefinitionRefs
    • /ServiceListRS/DataLists/SeatDefinitionList/SeatDefinition/@SeatDefinitionID
    • /ServiceListRS/DataLists/SeatDefinitionList/SeatDefinition/Description/Text
    • /ServiceListRS/DataLists/SeatDefinitionList/SeatDefinition/Description/Text/@refs
    • /ServiceListRS/DataLists/SeatDefinitionList/SeatDefinition/SeatCharacteristicCode
Copy
Copied
	<ServiceDefinitionList>
		<ServiceDefinition Owner="YY" ServiceDefinitionID="QWS345RDE6-ServiceDefinition-001"></ServiceDefinition>
		<ServiceDefinition Owner="YY" ServiceDefinitionID="QWS345RDE6-ServiceDefinition-002">
			<Name>Lounge Access</Name>
			<SeatDefinitionRefs>QWS345RDE6-SeatCharacteristic-003</SeatDefinitionRefs>
			<Encoding>
				<Code>ASTW</Code>
			</Encoding>
			<Descriptions>
				<Description>...</Description>
				<Description>...</Description>
				<Description>...</Description>
				<Description>...</Description>
				<Description>...</Description>
			</Descriptions>
			<BookingInstructions>
				<Text>I want to select a Window seat in advance</Text>
			</BookingInstructions>
		</ServiceDefinition>
		<ServiceDefinition Owner="YY" ServiceDefinitionID="QWS345RDE6-ServiceDefinition-003">...</ServiceDefinition>
		<ServiceDefinition Owner="YY" ServiceDefinitionID="QWS345RDE6-ServiceDefinition-004">...</ServiceDefinition>
		<ServiceDefinition Owner="YY" ServiceDefinitionID="QWS345RDE6-ServiceDefinition-005">...</ServiceDefinition>
		<ServiceDefinition Owner="YY" ServiceDefinitionID="QWS345RDE6-ServiceDefinition-006">...</ServiceDefinition>
		<ServiceDefinition Owner="YY" ServiceDefinitionID="QWS345RDE6-ServiceDefinition-007">...</ServiceDefinition>
	</ServiceDefinitionList>
	<SeatDefinitionList>
		<SeatDefinition SeatDefinitionID="QWS345RDE6-SeatCharacteristic-001">...</SeatDefinition>
		<SeatDefinition SeatDefinitionID="QWS345RDE6-SeatCharacteristic-002">...</SeatDefinition>
		<SeatDefinition SeatDefinitionID="QWS345RDE6-SeatCharacteristic-003">
			<Description>
				<Text refs="ZSXY70Z3TA-SEG1">ASTW</Text>
			</Description>
			<Description>
				<Text refs="ZSXY70Z3TA-SEG1">ASTA</Text>
			</Description>
			<SeatCharacteristicCode>CH</SeatCharacteristicCode>
		</SeatDefinition>
		<SeatDefinition SeatDefinitionID="QWS345RDE6-SeatCharacteristic-004">...</SeatDefinition>
		<SeatDefinition SeatDefinitionID="QWS345RDE6-SeatCharacteristic-005">...</SeatDefinition>
		<SeatDefinition SeatDefinitionID="QWS345RDE6-SeatCharacteristic-006">...</SeatDefinition>
		<SeatDefinition SeatDefinitionID="QWS345RDE6-SeatCharacteristic-007">...</SeatDefinition>
		<SeatDefinition SeatDefinitionID="QWS345RDE6-SeatCharacteristic-008">...</SeatDefinition>
		<SeatDefinition SeatDefinitionID="QWS345RDE6-SeatCharacteristic-009">...</SeatDefinition>
		<SeatDefinition SeatDefinitionID="QWS345RDE6-SeatCharacteristic-010">...</SeatDefinition>
		<SeatDefinition SeatDefinitionID="QWS345RDE6-SeatCharacteristic-011">...</SeatDefinition>
		<SeatDefinition SeatDefinitionID="QWS345RDE6-SeatCharacteristic-012">...</SeatDefinition>
	</SeatDefinitionList>