Description:
Used to retrieve a total booking price for one or two selected Air Itineraries.
Also, as the process of searching for and selecting a flight can take a long time, fare prices may fluctuate for the duration of the session. It is therefore recommended to price the selected itinerary just before final booking confirmation in order to present the most up-to-date price to the customer.
Required input:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://www.opentravel.org/OTA/2003/05">
<soapenv:Header />
<soapenv:Body>
<OTA_AirPriceRQ TimeStamp="2012-04-18T07:31:48.601Z"
Target="Production"
Version="1.0"
PrimaryLangID="en"
AltLangID="en"
RetransmissionIndicator="false"
CorrelationID="2M36NMT2EE59TLOG0PB9Q8A2BD"
Regionality="International"
xmlns="http://www.opentravel.org/OTA/2003/05">
<POS>
<Source ISOCountry="ZA"
ISOCurrency="ZAR"
DisplayCurrency="ZAR"
DisplayRate="1.0"
FirstDepartPoint="CPT"
FinalDestinationPoint="JNB">
<RequestorID Type="Company"
ID="website"
ID_Context="ts" MessagePassword="<PASSWORD>">
<CompanyName><USERNAME></CompanyName>
</RequestorID>
</Source>
</POS>
<AirItineraries>
<AirItinerary DirectionInd="OneWay">
<OriginDestinationOptions>
<OriginDestinationOption tsDuration="7200000" RefNumber="1">
<FlightSegment DepartureDateTime="2012-06-26T06:15:00"
ArrivalDateTime="2012-06-26T08:15:00"
StopQuantity="0"
FlightNumber="6400"
ResBookDesigCode="O"
DepartureDay="Tue">
<DepartureAirport LocationCode="CPT" CodeContext="IATA" />
<ArrivalAirport LocationCode="JNB" CodeContext="IATA" />
<OperatingAirline CompanyShortName="Kulula"
TravelSector="1"
Code="MN"
CodeContext="iata">Kulula</OperatingAirline>
<Equipment AirEquipType="734">734</Equipment>
<MarketingAirline CompanyShortName="British Airways"
TravelSector="1"
Code="BA"
CodeContext="iata">British Airways</MarketingAirline>
<BookingClassAvails CabinType="Economy">
<BookingClassAvail ResBookDesigCode="O" ResBookDesigQuantity="9" />
</BookingClassAvails>
</FlightSegment>
<BookingReferenceID Type="5" ID="1" ID_Context="1A">
<CompanyName CompanyShortName="Amadeus"
TravelSector="5"
Code="1A"
CodeContext="OTA">Amadeus</CompanyName>
</BookingReferenceID>
</OriginDestinationOption>
</OriginDestinationOptions>
<TSValidatingAirline Code="BA" CodeContext="iata" />
</AirItinerary>
</AirItineraries>
<AirItineraryPricingInfos>
<AirItineraryPricingInfo PricingSource="Published" RepriceRequired="true">
<ItinTotalFare>
<BaseFare Amount="485.11" CurrencyCode="ZAR" DecimalPlaces="2" DisplayAmount="485.11" OriginalAmount="38.68" DisplayRate="12.54165" OriginalRate="12.54165" DisplayCurrencyCode="ZAR" DisplayDecimalPlaces="2" OriginalCurrencyCode="USD" OriginalDecimalPlaces="2"/>
<Taxes Amount="7.27" CurrencyCode="ZAR" DecimalPlaces="2" DisplayAmount="7.27" OriginalAmount="0.58" DisplayRate="12.54165" OriginalRate="12.54165" DisplayCurrencyCode="ZAR" DisplayDecimalPlaces="2" OriginalCurrencyCode="USD" OriginalDecimalPlaces="2">
<Tax TaxCode="Bank Handling Charge" Amount="7.27" CurrencyCode="ZAR" DecimalPlaces="2" DisplayAmount="7.27" OriginalAmount="0.58" DisplayRate="12.54165" OriginalRate="12.54165" DisplayCurrencyCode="ZAR" DisplayDecimalPlaces="2" OriginalCurrencyCode="USD" OriginalDecimalPlaces="2">Bank Handling Charge</Tax>
</Taxes>
<Fees/>
<TotalFare Amount="562.38" CurrencyCode="ZAR" DecimalPlaces="2" DisplayAmount="562.38" OriginalAmount="39.26" DisplayRate="12.54165" OriginalRate="12.54165" DisplayCurrencyCode="ZAR" DisplayDecimalPlaces="2" OriginalCurrencyCode="USD" OriginalDecimalPlaces="2" Operation="Replace"/>
</ItinTotalFare>
<PTC_FareBreakdowns>
<PTC_FareBreakdown>
<PassengerTypeQuantity Age="30" Code="10" CodeContext="ota" Quantity="1"/>
<PassengerFare>
<BaseFare Amount="307.02" CurrencyCode="ZAR" DecimalPlaces="2" DisplayAmount="307.02" OriginalAmount="24.48" DisplayRate="12.54165" OriginalRate="12.54165" DisplayCurrencyCode="ZAR" DisplayDecimalPlaces="2" OriginalCurrencyCode="USD" OriginalDecimalPlaces="2"/>
<Taxes Amount="178.1" CurrencyCode="ZAR" DecimalPlaces="2" DisplayAmount="178.09" OriginalAmount="14.2" DisplayRate="12.54165" OriginalRate="12.54165" DisplayCurrencyCode="ZAR" DisplayDecimalPlaces="2" OriginalCurrencyCode="USD" OriginalDecimalPlaces="2">
<Tax TaxCode="PASSENGER SAFETY CHARGE" Amount="23.33" CurrencyCode="ZAR" DecimalPlaces="2" DisplayAmount="23.33" OriginalAmount="1.86" DisplayRate="12.54165" OriginalRate="12.54165" DisplayCurrencyCode="ZAR" DisplayDecimalPlaces="2" OriginalCurrencyCode="USD" OriginalDecimalPlaces="2">PASSENGER SAFETY CHARGE</Tax>
<Tax TaxCode="PASSENGER SECURITY CHARGE" Amount="22.83" CurrencyCode="ZAR" DecimalPlaces="2" DisplayAmount="22.83" OriginalAmount="1.82" DisplayRate="12.54165" OriginalRate="12.54165" DisplayCurrencyCode="ZAR" DisplayDecimalPlaces="2" OriginalCurrencyCode="USD" OriginalDecimalPlaces="2">PASSENGER SECURITY CHARGE</Tax>
<Tax TaxCode="PASSENGER SERVICE CHARGE" Amount="85.91" CurrencyCode="ZAR" DecimalPlaces="2" DisplayAmount="85.91" OriginalAmount="6.85" DisplayRate="12.54165" OriginalRate="12.54165" DisplayCurrencyCode="ZAR" DisplayDecimalPlaces="2" OriginalCurrencyCode="USD" OriginalDecimalPlaces="2">PASSENGER SERVICE CHARGE</Tax>
<Tax TaxCode="OTHER TAXES(ZV2)" Amount="46.03" CurrencyCode="ZAR" DecimalPlaces="2" DisplayAmount="46.03" OriginalAmount="3.67" DisplayRate="12.54165" OriginalRate="12.54165" DisplayCurrencyCode="ZAR" DisplayDecimalPlaces="2" OriginalCurrencyCode="USD" OriginalDecimalPlaces="2">OTHER TAXES(ZV2)</Tax>
</Taxes>
<Fees/>
<TotalFare Amount="555.12" CurrencyCode="ZAR" DecimalPlaces="2" DisplayAmount="555.12" OriginalAmount="38.68" DisplayRate="12.54165" OriginalRate="12.54165" DisplayCurrencyCode="ZAR" DisplayDecimalPlaces="2" OriginalCurrencyCode="USD" OriginalDecimalPlaces="2" Operation="Replace"/>
</PassengerFare>
</PTC_FareBreakdown>
</PTC_FareBreakdowns>
<FlexiTicketPrice Amount="240.0" CurrencyCode="ZAR" DecimalPlaces="2"/>
</AirItineraryPricingInfo>
</AirItineraryPricingInfos>
<TravelerInfoSummary>
<AirTravelerAvail>
<PassengerTypeQuantity Code="7" Quantity="0" />
<PassengerTypeQuantity Code="8" Quantity="0" />
<PassengerTypeQuantity Code="9" Quantity="0" />
<PassengerTypeQuantity Code="10" Quantity="1" />
</AirTravelerAvail>
</TravelerInfoSummary>
</OTA_AirPriceRQ>
</soapenv:Body>
</soapenv:Envelope>
The request message takes an Air Itinerary type and Air Itinerary Pricing Info as a parameters; this means that one may use one of the returned Air Itineraries "as is" in the request, or construct a new Air Itinerary from separate Origin Destination Option elements returned from different itineraries.
Relevant types:
Expected output:
The response message will contain a single Priced Itinerary object with up-to-date and correct pricing information; it will also contain a list of FareBaggageAllowance elements. If the FareBaggageAllowance elements contain a FareBreakdown child element, this means that there is an option to add baggage as part of the book operation to a particular flightSegment. Only the selected FareBaggageAllowance must be included in the BookRQ. An example of FareBaggageAllowance is provided here
TSRequiredParameter:
Some suppliers such as Travelfusion have required parameters which are returned in OTA_AirPriceRS. The required parameters with attribute Optional="false" will need to be returned in the OTA_BookRQ , the exception is the UseTFPrepay which is fulfilled in the backend. See example request with TSRequiredParameters here. More information regarding TSRequiredParameterValue and TSRequiredParameter is provided here.
Example Required parameters:
<TSRequiredParameter Optional="false" PerAdult="true" PerChild="true" PerInfant="true" NonTraveler="false">
<Name>DateOfBirth</Name>
<Type>past date</Type>
<Labels>TF</Labels>
</TSRequiredParameter>
<TSRequiredParameter Optional="false" PerAdult="true" PerChild="true" PerInfant="true" NonTraveler="false">
<Name>PassportNumber</Name>
<Type>string</Type>
<Labels>TF</Labels>
</TSRequiredParameter>
<TSRequiredParameter Optional="false" PerAdult="true" PerChild="true" PerInfant="true" NonTraveler="false">
<Name>PassportExpiryDate</Name>
<Type>future date</Type>
<Labels>TF</Labels>
</TSRequiredParameter>
<TSRequiredParameter Optional="false" PerAdult="true" PerChild="true" PerInfant="true" NonTraveler="false">
<Name>PassportCountryOfIssue</Name>
<Type>string</Type>
<Labels>TF</Labels>
</TSRequiredParameter>
<TSRequiredParameter Optional="false" PerAdult="true" PerChild="true" PerInfant="true" NonTraveler="false">
<Name>Nationality</Name>
<Type>string</Type>
<Labels>TF</Labels>
</TSRequiredParameter>
<TSRequiredParameter Optional="true" PerAdult="false" PerChild="false" PerInfant="false" NonTraveler="true">
<Name>UseTFPrepay</Name>
<Type>boolean</Type>
<Labels>TF</Labels>
</TSRequiredParameter>
<TSRequiredParameter Optional="false" PerAdult="true" PerChild="true" PerInfant="true" NonTraveler="false">
<Name>Title</Name>
<Type>string</Type>
<Labels>TF</Labels>
</TSRequiredParameter>
Multi-ticket:
The Priced Itinerary returned in the OTA_AirLowFareSearchRS might contain an additional indicator ItineraryTypeType="MultiTicket". This indicates that the fare returned is a combination of different fare structures that will return multiple tickets, therefore the OTA_AirPriceRS will return more than a single PricedItinerary. It is the responsibility of the client to combine the multiple PricedItinerary.