Оглавление:
Введение #
Для проверки наличия мест по указанному коду тарифа в указанный промежуток дат и поиска рейсов по этому тарифу используется сервис PromotionalShoppingRQ.
Алгоритм получения информации о наличии мест по указанному тарифу состоит из нескольких запросов к сервису PromotionalShoppingRQ, которые описаны ниже.
Обратите внимание на то, что сервис будет работать только в том случае, если для всего перелета используется один тариф.
Алгоритм поиска перелетов по коду тарифа #
Общие для всех шагов элементы #
Указанные ниже элементы и атрибуты должны быть заполнены во всех запросах и на всех шагах.
Параметры запроса #
/OTA_BestFareFinderRQ/BestFareFinderPreferences/@RequestStep
— номер шага (см. ниже)/OTA_BestFareFinderRQ/BestFareFinderPreferences/@RequestType
— тип перелета:O
для One Way илиR
для Round Trip
Маршрут #
/OTA_BestFareFinderRQ/BestFareFinderPreferences/@ArrivalCity
— код города или аэропорта прибытия/OTA_BestFareFinderRQ/BestFareFinderPreferences/@Carrier
— код маркетингового перевозчика (перевозчика, по тарифу которого, должен быть произведен поиск мест)/OTA_BestFareFinderRQ/BestFareFinderPreferences/@DepartureCity
— код города или аэропорта вылета
PCC #
/OTA_BestFareFinderRQ/POS/@CompanyCode
— код компании, всегдаTN
/OTA_BestFareFinderRQ/POS/@PseudoCityCode
— PCC, в котором должна производиться проверка наличия мест
Информация о тарифе #
/OTA_BestFareFinderRQ/BestFareFinderPreferences/RequestedFares/RequestedFare/@FareAmount
— величина тарифа/OTA_BestFareFinderRQ/BestFareFinderPreferences/RequestedFares/RequestedFare/@FareBasisCode
— код тарифа/OTA_BestFareFinderRQ/BestFareFinderPreferences/RequestedFares/RequestedFare/@FareCurrency
— код валюты тарифа
Указанные ниже атрибуты должны быть заполнены только в том случае, если производится поиск по приватному тарифу, требующему заполнения Account Code или Corporate ID.
/OTA_BestFareFinderRQ/BestFareFinderPreferences/PrivateFareData/AccountCode/@Code
— значение Account Code/OTA_BestFareFinderRQ/BestFareFinderPreferences/PrivateFareData/CorporateId/@Code
— значение Corporate ID
Количество и категории пассажиров #
Элемент /OTA_BestFareFinderRQ/BestFareFinderPreferences/PassengerTypes/PassengerType
может повторяться в запросе для каждой дополнительной категории пассажира
/OTA_BestFareFinderRQ/BestFareFinderPreferences/PassengerTypes/PassengerType/@Count
— количество пассажиров/OTA_BestFareFinderRQ/BestFareFinderPreferences/PassengerTypes/PassengerType/@Type
— категория пассажира
Получение списка дат для вылета “Туда” #
Шаг 1. На этом шаге производится проверка наличия мест на перелете “Туда”.
/OTA_BestFareFinderRQ/BestFareFinderPreferences/DateRange/@OutboundDate
— дата начала промежутка проверки/OTA_BestFareFinderRQ/BestFareFinderPreferences/DateRange/@DateRange
— количество дней для проверки наличия мест относительно указанного дня. Максимально можно указать 93 дня — 3 месяца
Пример запроса
<OTA_BestFareFinderRQ Version="1.0.4" xmlns="http://www.sabre.com/OTA/BFF/2010/07">
<POS CompanyCode="TN" PseudoCityCode="9LSC"/>
<BestFareFinderPreferences ArrivalCity="LON" Carrier="SU" DepartureCity="MOW" RequestStep="1" RequestType="R">
<DateRange DateRange="90" OutboundDate="2018-09-01"/>
<RequestedFares>
<RequestedFare FareAmount="145" FareBasisCode="NVU5" FareCurrency="EUR"/>
</RequestedFares>
<PassengerTypes>
<PassengerType Count="2" Type="ADT"/>
<PassengerType Count="1" Type="CNN"/>
<PassengerType Count="1" Type="INF"/>
</PassengerTypes>
</BestFareFinderPreferences>
</OTA_BestFareFinderRQ>
Пример ответа
<OTA_BestFareFinderRS BestFareFinderOptions="90" Version="1.0.4" xmlns="http://www.sabre.com/OTA/BFF/2010/07">
<Success/>
<Warnings>
<Warning Code="PROCESS" Text="PROCESSING ERROR DETECTED" Type="IF2"/>
<Warning Code="TRANSACTIONID" MessageClass="I" Text="846360272632969174" Type="WORKERTHREAD"/>
<Warning Code="TTFHLC700" MessageClass="I" Text="27033" Type="SERVER"/>
<Warning Code="RULEID" MessageClass="I" Text="25598" Type="DRE"/>
<Warning Code="RULEID" MessageClass="I" Text="13318" Type="DEFAULT"/>
</Warnings>
<Solutions>
<Outbound DepartureDate="2018-09-01" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-02" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-03" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-04" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-05" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-06" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-07" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-08" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-09" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-10" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-11" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-12" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-13" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-14" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-15" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-16" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-17" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-18" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-19" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-20" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-21" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-22" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-23" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-24" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-25" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-26" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-27" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-28" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-29" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-09-30" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-01" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-02" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-03" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-04" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-05" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-06" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-07" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-08" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-09" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-10" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-11" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-12" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-13" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-14" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-15" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-16" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-17" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-18" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-19" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-20" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-21" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-22" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-23" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-24" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-25" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-26" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-27" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-28" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-29" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-30" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-10-31" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-01" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-02" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-03" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-04" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-05" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-06" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-07" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-08" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-09" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-10" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-11" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-12" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-13" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-14" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-15" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-16" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-17" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-18" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-19" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-20" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-21" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-22" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-23" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-24" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-25" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-26" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-27" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-28" FareBasisCode="NVU5"/>
<Outbound DepartureDate="2018-11-29" FareBasisCode="NVU5"/>
</Solutions>
</OTA_BestFareFinderRS>
Получение списка дат для вылета “Обратно” #
Шаг 3. На этом шаге производится проверка наличия мест на перелете “Обратно”.
/OTA_BestFareFinderRQ/BestFareFinderPreferences/DateLists/Outbound/@Date
— дата вылета “Туда”/OTA_BestFareFinderRQ/BestFareFinderPreferences/DateRange/@DateRange
— количество дней для проверки наличия мест относительно указанного дня. Максимально можно указать 93 дня — 3 месяца
Пример запроса
<OTA_BestFareFinderRQ Version="1.0.4" xmlns="http://www.sabre.com/OTA/BFF/2010/07">
<POS CompanyCode="TN" PseudoCityCode="9LSC"/>
<BestFareFinderPreferences ArrivalCity="LON" Carrier="SU" DepartureCity="MOW" RequestStep="3" RequestType="R">
<DateRange DateRange="90"/>
<DateLists>
<Outbound Date="2018-10-13"/>
</DateLists>
<RequestedFares>
<RequestedFare FareAmount="145" FareBasisCode="NVU5" FareCurrency="EUR"/>
</RequestedFares>
<PassengerTypes>
<PassengerType Count="1" Type="ADT"/>
<PassengerType Count="1" Type="CNN"/>
<PassengerType Count="1" Type="INF"/>
</PassengerTypes>
</BestFareFinderPreferences>
</OTA_BestFareFinderRQ>
Пример ответа
<OTA_BestFareFinderRS BestFareFinderOptions="1" Version="1.0.4" xmlns="http://www.sabre.com/OTA/BFF/2010/07">
<Success/>
<Warnings>
<Warning Code="PROCESS" Text="PROCESSING ERROR DETECTED" Type="IF2"/>
<Warning Code="TRANSACTIONID" MessageClass="I" Text="846378574463267585" Type="WORKERTHREAD"/>
<Warning Code="TTFHLC701" MessageClass="I" Text="27041" Type="SERVER"/>
<Warning Code="RULEID" MessageClass="I" Text="25598" Type="DRE"/>
<Warning Code="RULEID" MessageClass="I" Text="13318" Type="DEFAULT"/>
</Warnings>
<Solutions>
<Outbound DepartureDate="2018-10-13">
<Inbound DepartureDate="2018-10-13" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-10-14" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-10-15" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-10-16" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-10-17" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-10-18" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-10-19" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-10-20" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-10-21" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-10-22" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-10-23" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-10-24" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-10-25" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-10-26" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-10-27" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-10-28" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-10-29" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-10-30" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-10-31" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-01" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-02" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-03" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-04" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-05" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-06" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-07" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-08" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-09" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-10" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-11" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-12" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-13" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-14" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-15" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-16" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-17" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-18" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-19" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-20" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-21" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-22" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-23" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-24" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-25" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-26" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-27" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-28" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-29" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-11-30" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-01" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-02" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-03" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-04" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-05" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-06" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-07" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-08" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-09" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-10" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-11" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-12" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-13" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-14" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-15" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-16" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-17" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-18" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-19" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-20" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-21" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-22" FareBasisCode="NVU5"/>
<Inbound Availability="false" DepartureDate="2018-12-23" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-24" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-25" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-26" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-27" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-28" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-29" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-30" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2018-12-31" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2019-01-01" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2019-01-02" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2019-01-03" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2019-01-04" FareBasisCode="NVU5"/>
<Inbound Availability="false" DepartureDate="2019-01-05" FareBasisCode="NVU5"/>
<Inbound DepartureDate="2019-01-06" FareBasisCode="NVU5"/>
<Inbound Availability="false" DepartureDate="2019-01-07" FareBasisCode="NVU5"/>
<Inbound Availability="false" DepartureDate="2019-01-08" FareBasisCode="NVU5"/>
<Inbound Availability="false" DepartureDate="2019-01-09" FareBasisCode="NVU5"/>
<Inbound Availability="false" DepartureDate="2019-01-10" FareBasisCode="NVU5"/>
</Outbound>
</Solutions>
</OTA_BestFareFinderRS>
Получения списка рейсов для вылета “Туда” #
Шаг 5. На этом шаге производится получение списка рекомендаций (рейсов) по выбранному тарифу в выбранную дату.
/OTA_BestFareFinderRQ/BestFareFinderPreferences/@OutboundDateTime
— дата вылета “Туда”
Пример запроса
<OTA_BestFareFinderRQ Version="1.0.4" xmlns="http://www.sabre.com/OTA/BFF/2010/07">
<POS CompanyCode="TN" PseudoCityCode="9LSC"/>
<BestFareFinderPreferences ArrivalCity="LON" Carrier="SU" DepartureCity="MOW" OutboundDateTime="2018-10-13T00:00:00" RequestStep="5" RequestType="R">
<RequestedFares>
<RequestedFare FareAmount="145" FareBasisCode="NVU5" FareCurrency="EUR"/>
</RequestedFares>
<PassengerTypes>
<PassengerType Count="1" Type="ADT"/>
<PassengerType Count="1" Type="CNN"/>
<PassengerType Count="1" Type="INF"/>
</PassengerTypes>
</BestFareFinderPreferences>
</OTA_BestFareFinderRQ>
Пример ответа
<OTA_BestFareFinderRS BestFareFinderOptions="1" Version="1.0.4" xmlns="http://www.sabre.com/OTA/BFF/2010/07">
<Success/>
<Warnings>
<Warning Code="PROCESS" Text="No complete journey can be built in IF2/ADVJR1." Type="IF2"/>
<Warning Code="TRANSACTIONID" MessageClass="I" Text="846395796203338847" Type="WORKERTHREAD"/>
<Warning Code="TTFHLC951" MessageClass="I" Text="27039" Type="SERVER"/>
<Warning Code="RULEID" MessageClass="I" Text="25598" Type="DRE"/>
<Warning Code="RULEID" MessageClass="I" Text="13318" Type="DEFAULT"/>
<Warning Code="MSG" MessageClass="I" Text="NO FLIGHT SCHEDULES FOR QUALIFIERS USED" Type="SCHEDULES"/>
</Warnings>
<Solutions>
<Outbound DepartureDate="2018-10-13" FareBasisCode="NVU5">
<Schedules>
<Schedule>
<Flight ElapsedTime="260" Equipment="321" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="SVO" DateTime="2018-10-13T13:40:00" GMTOffset="3"/>
<Arrival Airport="LHR" DateTime="2018-10-13T16:00:00" GMTOffset="1"/>
<MarketingAirline Code="SU" FlightNumber="2582"/>
<OperatingAirline Code="SU" FlightNumber="2582"/>
</Flight>
</Schedule>
<Schedule>
<Flight ElapsedTime="245" Equipment="333" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="SVO" DateTime="2018-10-13T10:00:00" GMTOffset="3"/>
<Arrival Airport="LHR" DateTime="2018-10-13T12:05:00" GMTOffset="1"/>
<MarketingAirline Code="SU" FlightNumber="2578"/>
<OperatingAirline Code="SU" FlightNumber="2578"/>
</Flight>
</Schedule>
<Schedule>
<Flight ElapsedTime="245" Equipment="320" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="SVO" DateTime="2018-10-13T08:50:00" GMTOffset="3"/>
<Arrival Airport="LHR" DateTime="2018-10-13T10:55:00" GMTOffset="1"/>
<MarketingAirline Code="SU" FlightNumber="2576"/>
<OperatingAirline Code="SU" FlightNumber="2576"/>
</Flight>
</Schedule>
<Schedule>
<Flight ElapsedTime="250" Equipment="73H" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="SVO" DateTime="2018-10-13T05:50:00" GMTOffset="3"/>
<Arrival Airport="LHR" DateTime="2018-10-13T08:00:00" GMTOffset="1"/>
<MarketingAirline Code="SU" FlightNumber="2570"/>
<OperatingAirline Code="SU" FlightNumber="2570"/>
</Flight>
</Schedule>
<Schedule>
<Flight ElapsedTime="240" Equipment="333" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="SVO" DateTime="2018-10-13T19:25:00" GMTOffset="3"/>
<Arrival Airport="LHR" DateTime="2018-10-13T21:25:00" GMTOffset="1"/>
<MarketingAirline Code="SU" FlightNumber="263"/>
<OperatingAirline Code="SU" FlightNumber="263"/>
</Flight>
</Schedule>
<Schedule>
<Flight ElapsedTime="80" Equipment="73H" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="SVO" DateTime="2018-10-13T12:00:00" GMTOffset="3"/>
<Arrival Airport="LED" DateTime="2018-10-13T13:20:00" GMTOffset="3"/>
<MarketingAirline Code="SU" FlightNumber="42"/>
<OperatingAirline Code="SU" FlightNumber="42"/>
</Flight>
<Flight ElapsedTime="210" Equipment="319" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="LED" DateTime="2018-10-13T14:30:00" GMTOffset="3"/>
<Arrival Airport="LGW" DateTime="2018-10-13T16:00:00" GMTOffset="1"/>
<MarketingAirline Code="SU" FlightNumber="6619"/>
<OperatingAirline Code="SU" FlightNumber="6619" ShortName="FV"/>
</Flight>
</Schedule>
<Schedule>
<Flight ElapsedTime="80" Equipment="320" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="SVO" DateTime="2018-10-13T11:30:00" GMTOffset="3"/>
<Arrival Airport="LED" DateTime="2018-10-13T12:50:00" GMTOffset="3"/>
<MarketingAirline Code="SU" FlightNumber="16"/>
<OperatingAirline Code="SU" FlightNumber="16"/>
</Flight>
<Flight ElapsedTime="210" Equipment="319" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="LED" DateTime="2018-10-13T14:30:00" GMTOffset="3"/>
<Arrival Airport="LGW" DateTime="2018-10-13T16:00:00" GMTOffset="1"/>
<MarketingAirline Code="SU" FlightNumber="6619"/>
<OperatingAirline Code="SU" FlightNumber="6619" ShortName="FV"/>
</Flight>
</Schedule>
<Schedule>
<Flight ElapsedTime="80" Equipment="32A" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="SVO" DateTime="2018-10-13T10:55:00" GMTOffset="3"/>
<Arrival Airport="LED" DateTime="2018-10-13T12:15:00" GMTOffset="3"/>
<MarketingAirline Code="SU" FlightNumber="14"/>
<OperatingAirline Code="SU" FlightNumber="14"/>
</Flight>
<Flight ElapsedTime="210" Equipment="319" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="LED" DateTime="2018-10-13T14:30:00" GMTOffset="3"/>
<Arrival Airport="LGW" DateTime="2018-10-13T16:00:00" GMTOffset="1"/>
<MarketingAirline Code="SU" FlightNumber="6619"/>
<OperatingAirline Code="SU" FlightNumber="6619" ShortName="FV"/>
</Flight>
</Schedule>
<Schedule>
<Flight ElapsedTime="85" Equipment="319" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="VKO" DateTime="2018-10-13T09:55:00" GMTOffset="3"/>
<Arrival Airport="LED" DateTime="2018-10-13T11:20:00" GMTOffset="3"/>
<MarketingAirline Code="SU" FlightNumber="6024"/>
<OperatingAirline Code="SU" FlightNumber="6024" ShortName="FV"/>
</Flight>
<Flight ElapsedTime="210" Equipment="319" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="LED" DateTime="2018-10-13T14:30:00" GMTOffset="3"/>
<Arrival Airport="LGW" DateTime="2018-10-13T16:00:00" GMTOffset="1"/>
<MarketingAirline Code="SU" FlightNumber="6619"/>
<OperatingAirline Code="SU" FlightNumber="6619" ShortName="FV"/>
</Flight>
</Schedule>
<Schedule>
<Flight ElapsedTime="85" Equipment="320" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="SVO" DateTime="2018-10-13T09:50:00" GMTOffset="3"/>
<Arrival Airport="LED" DateTime="2018-10-13T11:15:00" GMTOffset="3"/>
<MarketingAirline Code="SU" FlightNumber="12"/>
<OperatingAirline Code="SU" FlightNumber="12"/>
</Flight>
<Flight ElapsedTime="210" Equipment="319" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="LED" DateTime="2018-10-13T14:30:00" GMTOffset="3"/>
<Arrival Airport="LGW" DateTime="2018-10-13T16:00:00" GMTOffset="1"/>
<MarketingAirline Code="SU" FlightNumber="6619"/>
<OperatingAirline Code="SU" FlightNumber="6619" ShortName="FV"/>
</Flight>
</Schedule>
<Schedule>
<Flight ElapsedTime="80" Equipment="32B" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="SVO" DateTime="2018-10-13T08:25:00" GMTOffset="3"/>
<Arrival Airport="LED" DateTime="2018-10-13T09:45:00" GMTOffset="3"/>
<MarketingAirline Code="SU" FlightNumber="10"/>
<OperatingAirline Code="SU" FlightNumber="10"/>
</Flight>
<Flight ElapsedTime="210" Equipment="319" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="LED" DateTime="2018-10-13T14:30:00" GMTOffset="3"/>
<Arrival Airport="LGW" DateTime="2018-10-13T16:00:00" GMTOffset="1"/>
<MarketingAirline Code="SU" FlightNumber="6619"/>
<OperatingAirline Code="SU" FlightNumber="6619" ShortName="FV"/>
</Flight>
</Schedule>
<Schedule>
<Flight ElapsedTime="80" Equipment="32A" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="SVO" DateTime="2018-10-13T07:10:00" GMTOffset="3"/>
<Arrival Airport="LED" DateTime="2018-10-13T08:30:00" GMTOffset="3"/>
<MarketingAirline Code="SU" FlightNumber="6"/>
<OperatingAirline Code="SU" FlightNumber="6"/>
</Flight>
<Flight ElapsedTime="210" Equipment="319" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="LED" DateTime="2018-10-13T14:30:00" GMTOffset="3"/>
<Arrival Airport="LGW" DateTime="2018-10-13T16:00:00" GMTOffset="1"/>
<MarketingAirline Code="SU" FlightNumber="6619"/>
<OperatingAirline Code="SU" FlightNumber="6619" ShortName="FV"/>
</Flight>
</Schedule>
<Schedule>
<Flight ElapsedTime="80" Equipment="320" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="SVO" DateTime="2018-10-13T06:05:00" GMTOffset="3"/>
<Arrival Airport="LED" DateTime="2018-10-13T07:25:00" GMTOffset="3"/>
<MarketingAirline Code="SU" FlightNumber="2"/>
<OperatingAirline Code="SU" FlightNumber="2"/>
</Flight>
<Flight ElapsedTime="210" Equipment="319" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="LED" DateTime="2018-10-13T14:30:00" GMTOffset="3"/>
<Arrival Airport="LGW" DateTime="2018-10-13T16:00:00" GMTOffset="1"/>
<MarketingAirline Code="SU" FlightNumber="6619"/>
<OperatingAirline Code="SU" FlightNumber="6619" ShortName="FV"/>
</Flight>
</Schedule>
</Schedules>
</Outbound>
</Solutions>
</OTA_BestFareFinderRS>
Получения списка рейсов для вылета “Обратно” #
Шаг 6. На этом шаге производится получение списка рекомендаций (рейсов) по выбранному тарифу в выбранную дату.
/OTA_BestFareFinderRQ/BestFareFinderPreferences/@OutboundDateTime
— дата вылета “Туда”/OTA_BestFareFinderRQ/BestFareFinderPreferences/@InboundDateTime
— дата вылета “Обратно”
Пример запроса
<OTA_BestFareFinderRQ Version="1.0.4" xmlns="http://www.sabre.com/OTA/BFF/2010/07">
<POS CompanyCode="TN" PseudoCityCode="9LSC"/>
<BestFareFinderPreferences ArrivalCity="LON" Carrier="SU" DepartureCity="MOW" InboundDateTime="2018-11-13T00:00:00" OutboundDateTime="2018-10-13T00:00:00" RequestStep="6" RequestType="R">
<RequestedFares>
<RequestedFare FareAmount="145" FareBasisCode="NVU5" FareCurrency="EUR"/>
</RequestedFares>
<PassengerTypes>
<PassengerType Count="1" Type="ADT"/>
<PassengerType Count="1" Type="CNN"/>
<PassengerType Count="1" Type="INF"/>
</PassengerTypes>
</BestFareFinderPreferences>
</OTA_BestFareFinderRQ>
Пример ответа
<OTA_BestFareFinderRS BestFareFinderOptions="1" Version="1.0.4" xmlns="http://www.sabre.com/OTA/BFF/2010/07">
<Success/>
<Warnings>
<Warning Code="PROCESS" Text="No complete journey can be built in IF2/ADVJR1." Type="IF2"/>
<Warning Code="TRANSACTIONID" MessageClass="I" Text="846415029961455335" Type="WORKERTHREAD"/>
<Warning Code="TTFHLC950" MessageClass="I" Text="27034" Type="SERVER"/>
<Warning Code="RULEID" MessageClass="I" Text="25598" Type="DRE"/>
<Warning Code="RULEID" MessageClass="I" Text="13318" Type="DEFAULT"/>
<Warning Code="MSG" MessageClass="I" Text="NO FLIGHT SCHEDULES FOR QUALIFIERS USED" Type="SCHEDULES"/>
</Warnings>
<Solutions>
<Outbound DepartureDate="2018-10-13">
<Inbound DepartureDate="2018-11-13" FareBasisCode="NVU5">
<Schedules>
<Schedule>
<Flight ElapsedTime="225" Equipment="333" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="LHR" DateTime="2018-11-13T13:30:00" GMTOffset="0"/>
<Arrival Airport="SVO" DateTime="2018-11-13T20:15:00" GMTOffset="3"/>
<MarketingAirline Code="SU" FlightNumber="2579"/>
<OperatingAirline Code="SU" FlightNumber="2579"/>
</Flight>
</Schedule>
<Schedule>
<Flight ElapsedTime="235" Equipment="321" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="LHR" DateTime="2018-11-13T10:40:00" GMTOffset="0"/>
<Arrival Airport="SVO" DateTime="2018-11-13T17:35:00" GMTOffset="3"/>
<MarketingAirline Code="SU" FlightNumber="2581"/>
<OperatingAirline Code="SU" FlightNumber="2581"/>
</Flight>
</Schedule>
<Schedule>
<Flight ElapsedTime="215" Equipment="32B" MarriageGrp="O" ResBookDesigCode="N">
<Departure Airport="LHR" DateTime="2018-11-13T22:30:00" GMTOffset="0"/>
<Arrival Airport="SVO" DateTime="2018-11-14T05:05:00" GMTOffset="3"/>
<MarketingAirline Code="SU" FlightNumber="2585"/>
<OperatingAirline Code="SU" FlightNumber="2585"/>
</Flight>
</Schedule>
</Schedules>
</Inbound>
</Outbound>
</Solutions>
</OTA_BestFareFinderRS>