Внимание!

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

Для направлений с дальними перелётами больше 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 в заявке быть не должно. Также обязательно нужно заполнять все паспортные данные туристов (Ф.И., дата рождения, серия паспорта, номер паспорта, когда выдан, действителен до).

ВНИМАНИЕ! Категорически запрещается использовать фиктивные паспортные данные туристов.
Например:
Ф.И.: 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>