Внимание!

Цена для туров с регулярными рейсами не включает стоимость перелёта и может меняться в зависимости от выбора.

Для направлений с дальними перелётами больше 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 часов.

В результате запрос имеет вид:
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%26currencyId=5561&aid=F7B4CEB40675FAE3D8CE0B14CCCD573D2A8CCB4220151007101518.k51

В результатах подбора туров в каждом туре есть 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>