Внимание!
Цена для туров с регулярными рейсами не включает стоимость перелёта и может меняться в зависимости от выбора.
Для направлений с дальними перелётами больше 5 часов или с вылетом в позднее время, необходимо выполнять дополнительный запрос для поиска вылетов в предыдущий день. Это повысит количество подходящих рейсов для тура.
Дополнительный подбор рейсов необходим для предложений, в которых не включены чартерные рейсы. В подборе тура обозначены специальным тегом:
<externalFlights> <value>true</value> <comment>Регулярные рейсы</comment> </externalFlights>
Справочник правил поиска Регулярных рейсов
31. Справочник правил поиска Регулярных рейсов
https://xml.tez-tour.com/xmlgate/list/searchShowFlights.xml
Перед составлением запроса на поиск регулярных рейсов, необходимо найти оптимальные даты в справочнике для параметра toDepDate.
Используется вместе с параметром checkInDate. Необходим для перелётов где дата вылета отличается от даты прилёта.
Например:
Перелёт занимает больше 5 часов, дата и время вылета 22.10.2019 22:00, то прилёт будет уже 23.10.2019 03:00
Подбор перелета
Для подбора регулярных перелетов используется сервис XML-шлюза:
http://xml.tez-tour.com/xmlgate/nemo/searchFlights ,
использующий обязательные параметры:
toDepDate=14.11.2015%2000:00:00 – дата вылета перелета «туда»
toDepCityId=345 – город вылета перелета «туда»
toArrRegionId=487545 – регион прилета перелета «туда»
fromDepDate=20.11.2015%2000:00:00 – дата вылета перелета «обратно»
fromDepRegionId=487545 – регион вылета перелета «обратно»
fromArrCityId=345 – город прилета перелета «обратно»
adultCount=2 – количество взрослых туристов
childCount=0 – количество детей
infantCount=0 – количество младенцев(без места)
currencyId=5561 – валюта цены в результатах поиска
aid= – идентификатор сессии (как и для любого сервиса XML-шлюза).
Необязательные параметры:
seatTypeId=1,2,3-класс перелёта: 1-й класс, бизнес и эконом соответственно.
checkInDate=19.11.2015%2000:00:00 - дата прилёта, используется для дальних перелётов длительностью больше 5 часов.
В результатах подбора туров в каждом туре есть URL на бронирование тура в онлайне. В этом URL указаны все параметры, необходимые для поиска перелетов.
Пример:
http://online.tez-tour.com/armmanager/workplace/section/new-order?depCity=345&arrivalCity=345&hotStType=2&locale=ru&ftt=3635ltt=3635&sk=1&rar=7067152&rdr=7067152&cResId=11675034366&priceOfferId=11880925&cFlyIds=12481571
depCity=345 – город вылета. Используется для поиска перелетов как toDepCityId
arrivalCity=345 – город возврата. Используется для поиска перелетов как fromArrCityId
rar=7067152 – регион прибытия. Используется для поиска перелетов как toArrRegionId
rdr=7067152 – регион вылета. Используется для поиска перелетов как fromDepRegionId
Результат подбора перелетов
Описание структуры данных с расшифровкой параметров:
<nemoSearchFlightsResult>
<nemoFlightPairs>
<flightPair> – пара перелетов (т.е. перелеты «туда» и «обратно»)
<id> – id пары перелетов
<webService> – поставщик услуг
<chargePrice> – сбор
<chargeCurrency> – валюта доплаты
<price> – цена пары перелетов
<currency> – валюта цены пары перелетов
<travellerPrices>
<travellerPrice>
<travellerType> – возрастная категория
<count> – кол-во туристов в категории
<price> – стоимость для туриста в категории
<currency> – валюта стоимости для туриста в категории
<lastTicketDateTime> – крайняя дата выписки
<tariffs> – информация о тарифах
<tariff>
<code>
<segmentNumber>
</tariff>
</tariffs>
</travellerPrice>
</travellerPrices>
<toFlights> – перелет «туда»
<flight> – сегмент перелета туда(если рейс с одной пересадкой, то сегментов будет 2)
<index> – номер сегмента
<airlineName> – название а/к
<airlineCarrier> – кериер а/к, осуществляющей перелет
<markAirlineCarrier> – кериер а/к, продающей перелет
<flightNumber> – номер рейса
<departureAirportId> – id аэропорта вылета
<departureAirportRegionId> – id региона аэропорта вылета
<departureAirportCode> – код аэропорта вылета
<departureAirportName> – название аэропорта вылета
<arrivalAirportId> – id аэропорта прибытия
<arrivalAirportRegionId> – регион аэропорта прибытия
<arrivalAirportCode> – код аэропорта прибытия
<arrivalAirportName> – название аэропорта прибытия
<departureDateTime> – дата/время вылета
<arrivalDateTime> – дата/время прибытия
<flyTimeInMinutes> – время в пути(мин)
<classTypes>
<string> – класс перелета
</classTypes>
<aircraftType> – тип борта
<aircraftName> – название борта
</flight>
</toFlights>
<fromFlights> – перелет «обратно»
Выбор тарифа
На данный момент есть возможность выбора тарифа: с багажом/без багажа, только для а/к:
S7
SWISS
UTAIR
CZECH AIRLINES
АЭРОФЛОТ
TAP PORTUGAL
KLM
UKRAINE INTL AIRLINES
Алгоритм работы следующий:
1. Происходит поиск билетов в Nemo (например: http://xml.tez-tour.com/xmlgate/nemo/searchFlights?toDepDate=10.08.2017%2000:00:00&toDepCityId=345&toArrRegionId=7067687&fromDepDate=20.08.2017%2000:00:00&fromDepRegionId=7067687&fromArrCityId=345&adultCount=2&childCount=0&infantCount=0%26currencyId=18864)
2. Из полученного ответа берется ID пары перелетов и запрашивается (например: http://xml.tez-tour.com/xmlgate/nemo/fareFamilies?flightId=8383765300001%26currencyId=18864)
3. В ответ запрос возвращает варианты тарифов для данного перелета пример: Lowest Economy , FullFlex Economy
Пример блока <nemoFareFamiliesResult>:
<nemoFareFamiliesResult> <alternateFlights> <alternateFlight> <id>8383786680001</id> <price>759.99</price> <currency>EUR</currency> <name>Эконом Базовый</name> <carryon>1 сумка до 10 кг</carryon> <miles>50%</miles> <specialMeal>false</specialMeal> <vip>false</vip> <baggage>Unknown</baggage> <exchangable>true</exchangable> <refundable>false</refundable> </alternateFlight> <alternateFlight> <id>8383786680002</id> <price>878.85</price> <currency>EUR</currency> <name>Эконом Гибкий</name> <carryon>1 место до 10 кг</carryon> <miles>100%</miles> <specialMeal>false</specialMeal> <vip>false</vip> <baggage>1 сумка</baggage> <exchangable>true</exchangable> <refundable>true</refundable> </alternateFlight> </alternateFlights> </nemoFareFamiliesResult>
Расчет заявки
Чтобы получить стоимость заявки с регулярными перелетами, нужно использовать сервис расчета заявки:
http://xml.tez-tour.com/xmlgate/order/calculate
В XML-форме заявки следует указать данные этих перелетов.
Описание перелетов для расчета заявки:
<NemoFlight>
<serviceId>2</serviceId>
<flightId> – id регулярного перелета (элемент <id> блока <flightPair> в результатах поиска регулярных перелетов)
<nemoSum>310.39</nemoSum> – стоимость перелетов (элемент <price> блока <flightPair> в результатах поиска регулярных перелетов)
<nemoCurrency>USD</nemoCurrency> – валюта стоимости перелетов (элемент <currency> блока <flightPair> в результатах поиска регулярных перелетов)
<flightTo>
<departureAirportId>136</departureAirportId> – id аэропорта вылета (элемент <departureAirportId> блока <toFlights> <flight> в результатах поиска регулярных перелетов)
<arrivalAirportId>187206</arrivalAirportId>> – id аэропорта прилета (элемент <arrivalAirportId> блока <toFlights> <flight> в результатах поиска регулярных перелетов)
<arrivalDateTime>15.12.2015 15:10</arrivalDateTime> – дата посадки (элемент <arrivalDateTime>, переведенный в формат dd.mm.yyyy hh:mm блока <toFlights> <flight> в результатах поиска регулярных перелетов)
<airlineCarrier>SU</airlineCarrier> - кериер а/к, осуществляющей перелет (элемент<airlineCarrier> блока <toFlights><flight> в результатах поиска регулярных перелетов)
</flightTo>
<flightFrom>
<departureAirportId>187206</departureAirportId> – - id аэропорта вылета обратного рейса (элемент <departureAirportId> блока <fromFlights> <flight> в результатах поиска регулярных перелетов)
<arrivalAirportId>136</arrivalAirportId>> – id аэропорта прилета (элемент <arrivalAirportId> блока <fromFlights> <flight> в результатах поиска регулярных перелетов)
<arrivalDateTime>21.12.2015 21:20</arrivalDateTime> – дата посадки (элемент <arrivalDateTime>, переведенный в формат dd.mm.yyyy hh:mm блока <fromFlights> <flight> в результатах поиска регулярных перелетов)
<airlineCarrier>SU</airlineCarrier> - кариер а/к, осуществляющей перелет (элемент <airlineCarrier>блока <fromFlights> <flight> в результатах поиска регулярных перелетов)
</flightFrom>
</NemoFlight>
Подробнее о сервисе расчета заявки можно посмотреть в разделе Заявки-Расчет Заявки.
Внесение заявки
Для внесения заявки с регулярными перелетами нужно в стандартной XML-форме заявки добавить блок с описанием регулярных перелетов (NemoFlight), при этом Блока Ticket в заявке быть не должно. Обязательно нужно заполнять все паспортные данные туристов (Ф.И., дата рождения, серия паспорта, номер паспорта, когда выдан, действителен до). Обязательно в блоке Transfer нужно указать номер рейса <flightNumber>{Номер_Рейса}</flightNumber> из ответа сервиса поиск регулярных рейсов
ВНИМАНИЕ! Категорически запрещается использовать фиктивные паспортные данные туристов.
Например:
Ф.И.: TEST TEST, IVANOV IVAN
Серия/номер паспорта: 11 111111
Пример блока описания регулярных перелетов для бронирования заявки:
<NemoFlight>
<serviceId>2</serviceId>
<flightId>2345072980002</flightId>
<nemoSum>791.26</nemoSum>
<nemoCurrency>USD</nemoCurrency>
<flightTo>
<departureAirportId>2</departureAirportId>
<arrivalAirportId>187206</arrivalAirportId>
<arrivalDateTime>03.11.2015 06:20</arrivalDateTime>
</flightTo>
<flightFrom>
<departureAirportId>187206</departureAirportId>
<arrivalAirportId>2</arrivalAirportId>
<arrivalDateTime>09.11.2015 14:00</arrivalDateTime>
</flightFrom>
</NemoFlight>