Динамическое ценообразование

Динамическое ценообразование – это новая система ценообразования, введенная в эксплуатацию в компании TEZ TOUR. Ценовое предложение по системе динамического ценообразования идентифицируется следующими параметрами:

residenсeId – id цены проживания (на данный момент динамическое ценообразование не работает с  двойным проживанием)

FlyId – id цены перелета;

priceOfferId – id ценового предложения.

В ссылке на создание заявки эти параметры выглядят как:

cResId =123123123 - residenсeId, id цены проживания;

cFlyIds =123123, 12333 – FlyId (может быть несколько), id цены перелета;

priceOfferId=213123 - priceOfferId, id ценового предложения.

Система динамического ценообразования вводится в эксплуатацию для определенных направлений. Для определения таких направлений следует использовать справочник  getCalcTypes.

Для подбора туров по системе динамического ценообразования следует использовать отдельный модуль подбора туров - tariffsearch, а для формирования заявки в XML-шлюзе и в онлайн-кабинете, используются специальные параметры, которые описаны ниже.

1. Справочник  getCalcTypes

Справочник направлений, работающих по динамическому ценообразованию. Для данных направлений подбор осуществляется через tariffsearch.

Для просмотра справочника можно использовать URL:

http://search.tez-tour.com/toursearch/getCalcTypes?xml=false&formatResult=true 

Результат запроса справочника:

http://search.tez-tour.com/toursearch/getCalcTypes?xml=true.

<com.teztour.coresearch.util.pojo.AggregateCalcTypes>

  <success>true</success>

  <serverName>don.teztour.com</serverName>

  <calcByTariffs class="list">

    <com.teztour.coresearch.dto.CalcByTariffDto>

      <arrCountry>7067149</arrCountry>

      <depCity>3711</depCity>

    </com.teztour.coresearch.dto.CalcByTariffDto>

    ……….

    <com.teztour.coresearch.dto.CalcByTariffDto>

      <arrCountry>7067149</arrCountry>

      <depCity>27272</depCity>

    </com.teztour.coresearch.dto.CalcByTariffDto>

  </calcByTariffs>

</com.teztour.coresearch.util.pojo.AggregateCalcTypes>

Расшифровка справочника:

    <com.teztour.coresearch.dto.CalcByTariffDto> - связка страны отдыха и города вылета, работающих по динамическому ценообразованию.

      <arrCountry>7067149</arrCountry> - ID страны отдыха

      <depCity>3711</depCity> - ID города вылета

    </com.teztour.coresearch.dto.CalcByTariffDto>

2. Подбор тура tariffsearch

Модуль подбора туров по системе динамического ценообразования располагается по адресу http://search.tez-tour.com/tariffsearch/, параметры подбора туров идентичны подбору по СПО (http://search.tez-tour.com/toursearch/).

 

Описание подбора тура в формате XML

Ссылка на подбор

<searchResult>
  <success>true</success>
  <serverName>don.teztour.com</serverName>
  <data class="list">
    <item>
      <checkIn>06.02.2015</checkIn>
      <departureDates>
        <string>06.02</string>
      </departureDates>
      <checkInDayofWeek>5</checkInDayofWeek>
      <nightCount>7</nightCount>
      <checkOut>13.02</checkOut>
      <hotel>
        <id>262178</id>
        <name>CROWNE PALACE HOTEL AJMAN 3 *</name>
        <url>http://www.tez-tour.com/hotel.html?id=262178</url>
        <previewImg>http://s.tez-tour.com/hotel/7018428/IMG_6751_5386_small.jpg</previewImg>
      </hotel>
      <region>
        <id>7067151</id>
        <name>Аджман</name>
        <spoRegionSetId>911</spoRegionSetId>
        <spoRegionSetName>UAE</spoRegionSetName>
        <resortArrivalRegionName>SHARJAH</resortArrivalRegionName>
        <resortArrivalRegionId>7067152</resortArrivalRegionId>
      </region>
      <pansion>
        <id>13622</id>
        <name>RO</name>
        <description>Размещение без питания</description>
      </pansion>
      <hotelRoomType>
        <id>22255</id>
        <name>1 Bedroom Suite</name>
      </hotelRoomType>
      <ageGroupType>
        <id>127960</id>
        <adult>
          <count>2</count>
          <beginAge>0</beginAge>
          <endAge>0</endAge>
        </adult>
        <bigChild>
          <count>2</count>
          <beginAge>3</beginAge>
          <endAge>14</endAge>
        </bigChild>
      </ageGroupType>
      <price>
        <currency>$</currency>
        <currencyId>5561</currencyId>
        <total>1652</total>
        <residences class="list">
          <big-decimal>0</big-decimal>
        </residences>
        <flightsTo class="list">
          <flightPrice>
            <description>adult</description>
            <touristCount>1</touristCount>
            <price>0</price>
          </flightPrice>
          <flightPrice>
            <description>adult</description>
            <touristCount>1</touristCount>
            <price>0</price>
          </flightPrice>
          <flightPrice>
            <description>adult</description>
            <touristCount>2</touristCount>
            <price>0</price>
          </flightPrice>
        </flightsTo>
        <flightsFrom class="list">
          <flightPrice>
            <description>adult</description>
            <touristCount>1</touristCount>
            <price>0</price>
          </flightPrice>
          <flightPrice>
            <description>adult</description>
            <touristCount>1</touristCount>
            <price>0</price>
          </flightPrice>
          <flightPrice>
            <description>adult</description>
            <touristCount>2</touristCount>
            <price>0</price>
          </flightPrice>
        </flightsFrom>
        <insurance>0</insurance>
        <other>0</other>
        <priceTypes>
          <boolean>true</boolean>
          <boolean>true</boolean>
          <boolean>true</boolean>
          <boolean>true</boolean>
        </priceTypes>
        <specialSell>true</specialSell>
      </price>
      <bookingUrl class="list">
        <bookingUrl>
          <url>http://online.tez-tour.com/armmanager/workplace/section/new-order?depCity=3711&arrivalCity=3711&hotStType=14356&locale=ru&ftt=3635<t=3635&sk=1&rar=7067152&rdr=7067152&cResId=2495676646&priceOfferId=11469140&cFlyIds=1755913&birthday1=21.10.2009&birthday2=21.10.2004</url>
        </bookingUrl>
      </bookingUrl>
      <existsRoom>true</existsRoom>
      <seatSets class="list">
        <seatSetPair>
          <to>
            <first>
              <seatSet>No</seatSet>
              <charge>0</charge>
            </first>
            <business>
              <seatSet>No</seatSet>
              <charge>0</charge>
            </business>
            <econom>
              <seatSet>Few</seatSet>
              <charge>0</charge>
            </econom>
            <premiumEconom>
              <seatSet>No</seatSet>
              <charge>0</charge>
            </premiumEconom>
            <price>135</price>
          </to>
          <from>
            <first>
              <seatSet>No</seatSet>
              <charge>0</charge>
            </first>
            <business>
              <seatSet>No</seatSet>
              <charge>0</charge>
            </business>
            <econom>
              <seatSet>Few</seatSet>
              <charge>0</charge>
            </econom>
            <premiumEconom>
              <seatSet>No</seatSet>
              <charge>0</charge>
            </premiumEconom>
            <price>135</price>
          </from>
        </seatSetPair>
      </seatSets>
      <icons>
        <baseHotel>
          <value>false</value>
        </baseHotel>
        <earlyBooking>
          <value>false</value>
        </earlyBooking>
        <onlineConfirm>
          <value>false</value>
        </onlineConfirm>
        <pack>
          <value>false</value>
        </pack>
        <topPriority>
          <value>false</value>
        </topPriority>
        <exclusive>
          <value>false</value>
        </exclusive>
        <flexComission>
          <value>false</value>
        </flexComission>
        <fixComission>
          <value>false</value>
        </fixComission>
      </icons>
      <residenceCount>1</residenceCount>
    </item>


  Расшифровка результатов подбора тура:
    <item>
      <checkIn>06.02.2015</checkIn> -дата заселения в отель
      <departureDates>-дата вылета в страну отдыха
        <string>06.02</string>
      </departureDates>
      <checkInDayofWeek>5</checkInDayofWeek>-день недели заезда
      <nightCount>7</nightCount>-количество ночей на отдыхе
      <checkOut>13.02</checkOut>-дата окончания проживания
      <hotel>-информация об отеле
        <id>262178</id>-ID отеля
        <name>CROWNE PALACE HOTEL AJMAN 3 *</name>-наименование отеля
        <url>http://www.tez-tour.com/hotel.html?id=262178</url> - ссылка на отель
        <previewImg>http://s.tez-tour.com/hotel/7018428/IMG_6751_5386_small.jpg</previewImg>- ссылка на фотографию отеля
      </hotel>
      <region> - информация о регионе
        <id>7067151</id> - ID  региона
        <name>Аджман</name> - наименование региона проживания
        <spoRegionSetId>911</spoRegionSetId>  - ID региона СПО
        <spoRegionSetName>UAE</spoRegionSetName> - наименование региона СПО         <resortArrivalRegionName>SHARJAH</resortArrivalRegionName>- наименование региона прилёта
        <resortArrivalRegionId>7067152</resortArrivalRegionId>- ID региона прилёта
      </region>
      <pansion> - информация о пансионе
        <id>13622</id>- ID связки пансиона и отеля
        <name>RO</name>- наименования пансиона
        <description>Размещение без питания</description>- описание пансиона
      </pansion>
      <hotelRoomType> - информация о типе номера
        <id>22255</id> - ID связки типа номера и отеля
        <name>1 Bedroom Suite</name> - наименования номера
      </hotelRoomType>
      <ageGroupType>- информация о типе размещения
        <id>127960</id> - ID возрастной группы
        <adult>- информация о взрослых туристах
          <count>2</count>- количество туристов взрослой возрастной группы
          <beginAge>0</beginAge>- начальный возраст взрослой возрастной группы (для взрослых данный параметр не нужен)
          <endAge>0</endAge>- окончательный возраст взрослой возрастной группы (для взрослых данный параметр не нужен)
        </adult>
        <bigChild> - информация о старшей возрастной группе детей
          <count>2</count> - количество детей старшей возрастной группы
          <beginAge>3</beginAge> - начальный возраст детей старшей возрастной группы
          <endAge>14</endAge>- окончательный возраст детей старшей возрастной группы
        </bigChild>
      </ageGroupType>
      <price> информация о стоимости предложения
        <currency>$</currency> - валюта предложения
        <currencyId>5561</currencyId>- ID валюты предложения
        <total>1652</total> - цена предложения
        <residences class="list">
          <big-decimal>0</big-decimal> - в данном поле выводится служебная информация,  на неё не нужно обращать внимание
        </residences>
        <flightsTo class="list">- информация о стоимости билетов в страну отдыха
          <flightPrice>
            <description>adult</description> тип  туриста (в связи с тем, что в данном случае у авиакомпании нет градации по возрастам, ребенок указывается как взрослый) <touristCount>1</touristCount>- количество туристов
            <price>0</price>- в данном поле выводится служебная информация,  на неё не нужно обращать внимание
          </flightPrice>
          <flightPrice>
            <description>adult</description> тип  туриста (в связи с тем, что в данном случае у <> авиакомпании нет градации по возрастам, ребенок указывается как взрослый)
            <touristCount>1</touristCount> - количество туристов
            <price>0</price> - в данном поле выводится служебная информация,  на неё не нужно обращать внимание
          </flightPrice>
          <flightPrice>
            <description>adult</description>- тип  туриста
            <touristCount>2</touristCount>- количество туристов
            <price>0</price>- в данном поле выводится служебная информация,  на неё не нужно обращать внимание
          </flightPrice>
        </flightsTo>
        <flightsFrom class="list"> информация о стоимости билетов из страны отдыха
          <flightPrice>
            <description>adult</description>- тип  туриста (в связи с тем, что в данном случае у авиакомпании нет градации по возрастам, ребенок указывается как взрослый)
            <touristCount>1</touristCount> количество туристов
            <price>0</price>- в данном поле выводится служебная информация,  на неё не нужно обращать внимание
          </flightPrice>
          <flightPrice>
            <description>adult</description>- тип  туриста (в связи с тем, что в данном случае у авиакомпании нет градации по возрастам, ребенок указывается как взрослый)
            <touristCount>1</touristCount>- количество туристов
            <price>0</price> - в данном поле выводится служебная информация,  на неё не нужно обращать внимание
          </flightPrice>
          <flightPrice>
            <description>adult</description> - тип  туриста
            <touristCount>2</touristCount> - количество туристов
            <price>0</price>  - в данном поле выводится служебная информация,  на неё не нужно обращать внимание
          </flightPrice>
        </flightsFrom>
        <insurance>0</insurance> - в данном поле выводится служебная информация,  на неё не нужно обращать внимание
        <other>0</other>
        <priceTypes>
          <boolean>true</boolean>  - включена ли в стоимость предложения услуга проживание (значение true означает, что включена, значение false означает, что данная услуга в стоимость не включена)
          <boolean>true</boolean>  - включена ли в стоимость предложения услуга перелеты (значение true означает, что включена, значение false означает, что данная услуга в стоимость не включена)
          <boolean>true</boolean> - включена ли в стоимость предложения услуга трансфер (значение true означает, что включена, значение false означает, что данная услуга в стоимость не включена)
          <boolean>true</boolean>  - включена ли в стоимость предложения услуга страховка (значение true означает, что включена, значение false означает, что данная услуга в стоимость не включена)
        </priceTypes>
        <specialSell>true</specialSell>- в данном поле выводится служебная информация,  на неё не нужно обращать внимание

      </price>
      <bookingUrl class="list"> - перечень ссылок на создания заявки с помощью онлайн-кабинета агентств
        <bookingUrl>
          <url>http://online.tez-tour.com/armmanager/workplace/section/new-order?depCity=3711&arrivalCity=3711&hotStType=14356&locale=ru&ftt=3635<t=3635&sk=1&rar=7067152&rdr=7067152&cResId=2495676646&priceOfferId=11469140&cFlyIds=1755913&birthday1=21.10.2009&birthday2=21.10.2004</url>
        </bookingUrl>
      </bookingUrl>
      <existsRoom>true</existsRoom> - наличие мест в отеле
      <seatSets class="list">- список доступных перелетов
        <seatSetPair>
          <to>  - информация о рейсе в страну отдыха
            <first> - информация о первом классе на данном рейсе
              <seatSet>No</seatSet>  - наличие мест
              <charge>0</charge> - стоимость доплаты за класс перелета
            </first>
            <business>  - информация о бизнес-классе на данном рейсе
              <seatSet>No</seatSet> - наличие мест
              <charge>0</charge>  - стоимость доплаты за класс перелета
            </business>
            <econom> - информация об эконом-классе на данном рейсе
              <seatSet>Few</seatSet>  - наличие мест
              <charge>0</charge>  - стоимость доплаты за класс перелета
            </econom>
            <premiumEconom>  - информация о премиум-эконом-классе на данном рейсе
              <seatSet>No</seatSet> - наличие мест
              <charge>0</charge>  - стоимость доплаты за класс перелета
            </premiumEconom>
            <price>135</price>  - базовая стоимость билета
          </to>
          <from>  - информация об обратном рейсе
            <first> - информация о первом классе на данном рейсе
              <seatSet>No</seatSet>- наличие мест
              <charge>0</charge>- стоимость доплаты за класс перелета
            </first>
            <business>- информация о бизнес-классе на данном рейсе
              <seatSet>No</seatSet>- наличие мест
              <charge>0</charge>- стоимость доплаты за класс перелета
            </business>
            <econom> - информация об эконом-классе на данном рейсе
              <seatSet>Few</seatSet>- наличие мест
              <charge>0</charge>- стоимость доплаты за класс перелета
            </econom>
            <premiumEconom> - информация о премиум-эконом-классе на данном рейсе
              <seatSet>No</seatSet>
              <charge>0</charge>- наличие мест
            </premiumEconom>
            <price>135</price>- базовая стоимость билета
          </from>
        </seatSetPair>
      </seatSets>
      <icons>
        <baseHotel>- Тез рекомендует. Содержит вложенные элементы:
          <value>false</value>- отвечает за актуальность родительского элемента. Если true, то соответствующий элемент назначен отелю. Если false - то нет.
        </baseHotel>
        <earlyBooking>- информация о раннем бронировании по предложению
          <value>false</value>- отвечает за актуальность родительского элемента. Если true, то соответствующий элемент назначен отелю. Если false - то нет.
        </earlyBooking>
        <onlineConfirm> - информация о мгновенных подтверждениях.
          <value>false</value> - отвечает за актуальность родительского элемента. Если true, то соответствующий элемент назначен отелю. Если false - то нет.
        </onlineConfirm>
        <pack>-  является ли тур пакетным
          <value>false</value> - отвечает за актуальность родительского элемента. Если true, то соответствующий элемент назначен отелю. Если false - то нет.
        </pack>
        <topPriority> - признак, определящий, является ли отель Tez Приоритет
          <value>false</value>- отвечает за актуальность родительского элемента. Если true, то соответствующий элемент назначен отелю. Если false - то нет.
        </topPriority>
        <exclusive>- признак, определяющий, является ли отель Tez Эксклюзив.
          <value>false</value>- отвечает за актуальность родительского элемента. Если true, то соответствующий элемент назначен отелю. Если false - то нет.
        </exclusive>
        <flexComission> - содержит информацию о гибкой комиссии.
          <value>false</value> - отвечает за актуальность родительского элемента. Если true, то соответствующий элемент назначен отелю. Если false - то нет.
        </flexComission>
        <fixComission>- содержит информацию о фиксированной комиссии.
          <value>false</value> - отвечает за актуальность родительского элемента. Если true, то соответствующий элемент назначен отелю. Если false - то нет.
        </fixComission>
      </icons>
      <residenceCount>1</residenceCount>- количество проживаний
    </item>

 

Описание подбора тура в формате JSON.

 

Ссылка на подбор тура

 

Результат подбора туров в формате json:

{
  "success": true,
  "serverName": "don.teztour.com",
  "data": [
    [
      "06.02.2015",
      [
        "06.02"
      ],
      "Пт",
      7,
      "13.02",
      [
        "Аджман",
        "UAE",
        7067151,
        911,
        "Шарджа",
        7067152
      ],
      [
        "http://www.tez-tour.com/hotel.html?id=262178",
        "CROWNE PALACE HOTEL AJMAN 3 *",
        "http://s.tez-tour.com/hotel/7018428/IMG_6751_5386_small.jpg",
        262178
      ],
      [
        "RO",
        "Размещение без питания"
      ],
      "1 Bedroom Suite",
      [
        [
          2,
          0,
          0
        ],
        [
          2,
          3,
          14
        ]
      ],
      {
        "currency": "$",
        "currencyId": 5561,
        "total": "1652",
        "residences": [
          "0"
        ],
        "flightsTo": [
          {
            "description": "adult",
            "touristCount": 1,
            "price": "0"
          },
          {
            "description": "adult",
            "touristCount": 1,
            "price": "0"
          },
          {
            "description": "adult",
            "touristCount": 2,
            "price": "0"
          }
        ],
        "flightsFrom": [
          {
            "description": "adult",
            "touristCount": 1,
            "price": "0"
          },
          {
            "description": "adult",
            "touristCount": 1,
            "price": "0"
          },
          {
            "description": "adult",
            "touristCount": 2,
            "price": "0"
          }
        ],
        "insurance": "0",
        "other": "0",
        "priceTypes": [
          true,
          true,
          true,
          true
        ],
        "specialSell": true
      },
      [
        [
          "http://online.tez-tour.com/armmanager/workplace/section/new-order?depCity=3711&arrivalCity=3711&hotStType=14356&locale=ru&ftt=3635<t=3635&sk=1&rar=7067152&rdr=7067152&cResId=2495676646&priceOfferId=11469140&cFlyIds=1755913&birthday1=21.10.2009&birthday2=21.10.2004",
          ""
        ]
      ],
      "Есть",
      [
        {
          "to": {
            "first": {
              "seatSet": "No",
              "charge": "0"
            },
            "business": {
              "seatSet": "No",
              "charge": "0"
            },
            "econom": {
              "seatSet": "Few",
              "charge": "0"
            },
            "premiumEconom": {
              "seatSet": "No",
              "charge": "0"
            },
            "price": "135"
          },
          "from": {
            "first": {
              "seatSet": "No",
              "charge": "0"
            },
            "business": {
              "seatSet": "No",
              "charge": "0"
            },
            "econom": {
              "seatSet": "Few",
              "charge": "0"
            },
            "premiumEconom": {
              "seatSet": "No",
              "charge": "0"
            },
            "price": "135"
          }
        }
      ],
      {
        "baseHotel": {
          "value": false
        },
        "earlyBooking": {
          "value": false
        },
        "onlineConfirm": {
          "value": false
        },
        "pack": {
          "value": false
        },
        "topPriority": {
          "value": false
        },
        "exclusive": {
          "value": false
        },
        "flexComission": {
          "value": false
        },
        "fixComission": {
          "value": false
        }
      },
      1,
      [
        "Ростов-на-Дону",
        "Россия"
      ],
      127960,
      "",
      "",
      {}
    ],
    [


Расшифровка результатов подбора тура:

 
{
  "success": true,
  "serverName": "don.teztour.com",
  "data": [
    [
      "06.02.2015", - дата заселения в отель
      [
        "06.02" -дата вылета в страну отдыха
      ],
      "Пт",- день недели заезда
      7, - количество ночей на отдыхе
      "13.02",- дата окончания проживания в отеле
      [
        "Аджман",  - наименование регион отдыха
        "UAE", – наименование региона СПО
        7067151, - ID региона отдыха
        911, – ID региона СПО
        "Шарджа", наименование регион прилета
        7067152- ID региона  прилета
      ],
      [
        "http://www.tez-tour.com/hotel.html?id=262178",  - ссылка на отель
        "CROWNE PALACE HOTEL AJMAN 3 *", - наименования отеля
        "http://s.tez-tour.com/hotel/7018428/IMG_6751_5386_small.jpg",-ссылка на фото отеля
        262178-ID отеля
      ],
      [
        "RO", - наименование пансиона
        "Размещение без питания"  – описание пансиона
      ],
      "1 Bedroom Suite", - наименование типа номера
      [
        [
          2,  - количество туристов взрослой возрастной группы
          0,  - начальный возраст взрослой возрастной группы (для взрослых данный параметр не нужен)
          0 - окончательный возраст взрослой возрастной группы (для взрослых данный параметр не нужен)
        ],
        [
          2,  - количество детей старшей возрастной группы
          3, - начальный возраст детей старшей возрастной группы
          14 – окончательный возраст детей старшей возрастной группы
        ]
      ],
      {
        "currency": "$", - валюта предложения
        "currencyId": 5561, -ID  валюты предложения
        "total": "1652", - цена предложения
        "residences": [
          "0" – в данном поле выводится служебная информация,  на неё не нужно обращать внимание
        ],
        "flightsTo": [ - информация о стоимости билетов на рейс в страну отдыха
          {
            "description": "adult", тип  туриста (в связи с тем, что в данном случае у авиакомпании нет градации по возрастам, ребенок указывается как взрослый)
            "touristCount": 1, - количество туристов
            "price": "0"в данном поле выводится служебная информация,  на неё не нужно обращать внимание
          },
          {
            "description": "adult",тип туриста (в связи с тем, что в данном случае у авиакомпании нет градации по возрастам, ребенок указывается как взрослый)
            "touristCount": 1,  - количество туристов
            "price": "0"– в данном поле выводится служебная информация,  на неё не нужно обращать внимание
          },
          {
            "description": "adult",- тип туриста (в связи с тем, что в данном случае у авиакомпании нет градации по возрастам, ребенок указывается как взрослый)
            "touristCount": 2,  - количество туристов
            "price": "0"– в данном поле выводится служебная информация,  на неё не нужно обращать внимание
          }
        ],
        "flightsFrom": [- информация о стоимости билетов на рейс из страны отдыха
          {
            "description": "adult", - тип туриста (в связи с тем, что в данном случае у авиакомпании нет градации по возрастам, ребенок указывается как взрослый)
            "touristCount": 1,  - количество туристов
            "price": "0" – в данном поле выводится служебная информация,  на неё не нужно обращать внимание
          },
          {
            "description": "adult",- тип туриста (в связи с тем, что в данном случае у авиакомпании нет градации по возрастам, ребенок указывается как взрослый)
            "touristCount": 1, - количество туристов
            "price": "0"– в данном поле выводится служебная информация,  на неё не нужно обращать внимание
          },
          {
            "description": "adult",- тип туриста (в связи с тем, что в данном случае у авиакомпании нет градации по возрастам, ребенок указывается как взрослый)
            "touristCount": 2, - количество туристов
            "price": "0"– в данном поле выводится служебная информация,  на неё не нужно обращать внимание
          }
        ],
        "insurance": "0", - в данном поле выводится служебная информация,  на неё не нужно обращать внимание
        "other": "0", - в данном поле выводится служебная информация,  на неё не нужно обращать внимание
        "priceTypes": [
          true, - включена ли в стоимость предложения услуга проживание (значение true означает, что включена; значение false означает, что данная услуга в стоимость не включена)
          true, - включена ли в стоимость предложения услуга перелеты (значение true означает, что включена; значение false означает, что данная услуга в стоимость не включена)
          true,  - включена ли в стоимость предложения услуга трансфер (значение true означает, что включена; значение false означает, что данная услуга в стоимость не включена)
          true - включена ли в стоимость предложения услуга страховка (значение true означает, что включена; значение false означает, что данная услуга в стоимость не включена)
        ],
        "specialSell": true- в данном поле выводится служебная информация,  на неё не нужно обращать внимание
      },
      [
        [
          "http://online.tez-tour.com/armmanager/workplace/section/new-order?depCity=3711&arrivalCity=3711&hotStType=14356&locale=ru&ftt=3635<t=3635&sk=1&rar=7067152&rdr=7067152&cResId=2495676646&priceOfferId=11469140&cFlyIds=1755913&birthday1=21.10.2009&birthday2=21.10.2004",
          ""
        ]
      ],
      "Есть", - наличие свободных мест в отеле
      [
        {
          "to": { - информация о рейсе в страну отдыха
            "first": { - информация о первом классе на данном рейсе
              "seatSet": "No", - наличие мест
              "charge": "0"- стоимость доплаты за класс перелета
            },
            "business": {- информация о бизнес-классе на данном рейсе
              "seatSet": "No", - наличие мест
              "charge": "0" -стоимость доплаты за класс перелета
            },
            "econom": { - информация об эконом-классе на данном рейсе
              "seatSet": "Few",- наличие мест
              "charge": "0" стоимость доплаты за класс перелета
            },
            "premiumEconom": { - информация о премиум-эконом-классе на данном рейсе
              "seatSet": "No",- наличие мест
              "charge": "0"- стоимость доплаты за класс перелета
            },
            "price": "135"- базовая стоимость билета
          },
          "from": {
            "first": {- информация о первом классе на рейсе из страны отдыха
              "seatSet": "No",- наличие мест
              "charge": "0""- стоимость доплаты за класс перелета
            },
            "business": { - информация о бизнес-классе на данном рейсе
              "seatSet": "No",- наличие мест
              "charge": "0"- стоимость доплаты за класс перелета
            },
            "econom": { - информация об эконом-классе на данном рейсе
              "seatSet": "Few",- наличие мест
              "charge": "0"- стоимость доплаты за класс перелета
            },
            "premiumEconom": { - информация о премиум-эконом-классе на данном рейсе
              "seatSet": "No",- наличие мест
              "charge": "0"- стоимость доплаты за класс перелета
            },
            "price": "135"- базовая стоимость билета
          }
        }
      ],
      {
        "baseHotel": { - Тез рекомендует. Содержит вложенные элементы:
          "value": false- отвечает за актуальность родительского элемента. Если true, то соответствующий элемент назначен отелю. Если false - то нет.
        },
        "earlyBooking": { - информация о раннем бронировании по предложению
          "value": false- отвечает за актуальность родительского элемента. Если true, то соответствующий элемент назначен отелю. Если false - то нет.
        },
        "onlineConfirm": {
          "value": false- отвечает за актуальность родительского элемента. Если true, то соответствующий элемент назначен отелю. Если false - то нет.
        },
        "pack": { -  является ли тур пакетным
          "value": false- отвечает за актуальность родительского элемента. Если true, то соответствующий элемент назначен отелю. Если false - то нет.
        },
        "topPriority": {- признак, определящий, является ли отель Tez Приоритет
          "value": false- отвечает за актуальность родительского элемента. Если true, то соответствующий элемент назначен отелю. Если false - то нет.
        },
        "exclusive": { - признак, определяющий, является ли отель Tez Эксклюзив
          "value": false- отвечает за актуальность родительского элемента. Если true, то соответствующий элемент назначен отелю. Если false - то нет.
        },
        "flexComission": {- содержит информацию о гибкой комиссии
          "value": false- отвечает за актуальность родительского элемента. Если true, то соответствующий элемент назначен отелю. Если false - то нет.
        },
        "fixComission": { - содержит информацию о фиксированной комиссии.
          "value": false- отвечает за актуальность родительского элемента. Если true, то соответствующий элемент назначен отелю. Если false - то нет.
        }
      },
      1,  - количество проживаний
      [
        "Ростов-на-Дону", - город вылета на курорт
        "Россия" – страна вылета на курорт
      ],
      127960, - ID возрастной группы
      "",-Примечание по предложению
      "",-Является ли второе проживание основным, если true-да,false-нет(передаётся, если в предложении двойное проживание)
      ],
    [

 

В ответ на подбор тура по динамическому ценообразованию, для городов вылета и стран отдыха, не включенных в справочник getCalcTypes, сервер вернет ответ:

{

"success": false,

"message": "Доступ к подбору по тарифам закрыт. Для страны Австрия (будет указана страна отдыха, используемая в запросе) и города Москва (будет указан город вылета, используемый в запросе) используйте подбор тура."

}

 

3. Формирование заявки

Ссылка на формирование заявки через XML

Расшифровка ссылки:

resTariffs=123123123  (на данный момент динамическое ценообразование не работает с  двойным проживанием)

flyTariffs=123123, 12333 – FlyId (может быть несколько)

priceOfferId=213123 - priceOfferId

tariffDepCityId - регион вылета.

 

Обратите внимание! В сформированном ответе элементы блока Tourist заполнены не будут - вам необходимо указать данные конкретных туристов, для которых бронируется заявка.

Ссылка на создание заявки в онлайн-кабинете

 

4. Общий справочник

В общем справочнике содержится основная информация для подбора тура (города вылета, страны отдыха, валюта и т.д.)

Ссылка на общий справочник

 

5. Справочник по странам

В данном справочнике содержится информация о стране для определенного города вылета.

Ссылка на справочник

 

6. Список перелетов

В данном справочнике содержатся данные для заполнения параметров значениями по умолчанию на форме подбора тура – указаны как значения по умолчанию, так и календарь вылетов (значение параметров по умолчанию нужны только для пользовательского интерфейса подбора тура в онлайн-кабинете и на сайте.)

Ссылка на справочник

Указать параметры cityId – id города вылета и countryId – id страны назначения.

Справочник перелетов:

<com.teztour.tariffsearch.util.pojo.AggregateFlightDeparture>

  <success>true</success>

  <serverName>amba.teztour.com</serverName>

  <data class="object-array-array">

    <object-array>

      <int>2013</int>

      <object-array/>

      <object-array/>

      ………

      <object-array>

        <int>1</int>

        <int>2</int>

        <int>3</int>

        <int>6</int>

      …………

        <int>30</int>

      </object-array>

      …………

      <object-array/>

      <object-array/>

    </object-array>

  </data>

  <params>

    <priceMin>0</priceMin>

    <priceMax>15000</priceMax>

    <currency>5561</currency>

    <nightsMin>6</nightsMin>

    <nightsMax>14</nightsMax>

    <hotelClassId>2567</hotelClassId>

    <accommodationId>2</accommodationId>

    <rAndBId>15350</rAndBId>

    <tourType>1</tourType>

  </params>

  <defaultCurrency>5561</defaultCurrency>

  <permitCountries class="list">

    <long>1104</long>

………

    <long>7067498</long>

  </permitCountries>

  <accommodations class="list">

    <accommodation>

      <accommodationId>1</accommodationId>

      <name>1 Взрослый</name>

      <children>0</children>

      <adult>1</adult>

    </accommodation>

…………

    <accommodation>

      <accommodationId>125166</accommodationId>

      <name>9 Взрослых</name>

      <children>0</children>

      <adult>9</adult>

    </accommodation>

  </accommodations>

</com.teztour.tariffsearch.util.pojo.AggregateFlightDeparture>

 

Расшифровка справочника:

<com.teztour.tariffsearch.util.pojo.AggregateFlightDeparture>

  <success>true</success>

  <serverName>amba.teztour.com</serverName>

  <data class="object-array-array">

    <object-array> - список перелетов

      <int>2013</int> - год

      <object-array/> - 1-й месяц

      <object-array/> - 2-й месяц

      ………

      <object-array> - 11-й месяц

        <int>1</int> - число, на которое существует рейс

        <int>2</int> - число, на которое существует рейс

        <int>3</int> - число, на которое существует рейс

        <int>6</int> - число, на которое существует рейс

      …………

        <int>30</int> -число, на которое существует рейс

      </object-array>

      …………

      <object-array/>

      <object-array/>

    </object-array>

  </data>

  <params> - параметры подбора тура по умолчанию

    <priceMin>0</priceMin> - минимальная цена предложения

    <priceMax>15000</priceMax> - максимальная цена предложения

    <currency>5561</currency> - валюта по умолчанию

    <nightsMin>6</nightsMin> минимальное количество ночей

    <nightsMax>14</nightsMax> - максимальное количество ночей

    <hotelClassId>2567</hotelClassId> -  id уровня отеля(звездность)

    <accommodationId>2</accommodationId> -ID типа размещения

    <rAndBId>15350</rAndBId> - ID пансиона

    <tourType>1</tourType> - ID тура

  </params>

  <permitCountries class="list">

    <long>1104</long> - ID страны

………

    <long>7067498</long> - ID страны

  </permitCountries>

  <accommodations class="list"> - состав типа тура

    <accommodation>

      <accommodationId>1</accommodationId> - ID типа тура

      <name>1 Взрослый</name> - наименование

      <children>0</children> - количество детей

      <adult>1</adult> - количество взрослых

    </accommodation>

…………

    <accommodation>

      <accommodationId>125166</accommodationId>

      <name>9 Взрослых</name>

      <children>0</children>

      <adult>9</adult>

    </accommodation>

  </accommodations>

</com.teztour.tariffsearch.util.pojo.AggregateFlightDeparture>

 

7. Справочник с параметрами защиты подбора тура

Справочник ProtectSettings – в данном справочнике содержатся параметры защиты подбора тура. Зная данные параметры защиты подбора тура, можно сформировать корректный запрос на подбор тура (если параметры в подборе тура превышают значение параметров данного справочника, то в результате подбора тура вернётся ошибка).

Для просмотра справочника можно использовать URL: http://search.tez-tour.com/tariffsearch/protectSettings?countryId=1104&cityId=345&xml=true&formatResult=true

Справочник параметров защиты подбора тура:

<com.teztour.coresearch.util.pojo.AggregateProtectSettings>

  <success>true</success>

  <serverName>amba.teztour.com</serverName>

  <settings class="list">

    <com.teztour.coresearch.dto.ProtectSettingDto>

      <key>checkin.range.max</key>

      <value>20</value>

    </com.teztour.coresearch.dto.ProtectSettingDto>

    <com.teztour.coresearch.dto.ProtectSettingDto>

      <key>checkout.max</key>

      <value>540</value>

    </com.teztour.coresearch.dto.ProtectSettingDto>

    <com.teztour.coresearch.dto.ProtectSettingDto>

      <key>nights.range.max</key>

      <value>8</value>

    </com.teztour.coresearch.dto.ProtectSettingDto>

  </settings>

  <priceSettings class="list">

    <com.teztour.coresearch.dto.PriceSettingDto>

      <currencyId>46688</currencyId>

      <maxValue>1500000</maxValue>

    </com.teztour.coresearch.dto.PriceSettingDto>

    ……………………

    <com.teztour.coresearch.dto.PriceSettingDto>

      <currencyId>5561</currencyId>

      <maxValue>150000</maxValue>

    </com.teztour.coresearch.dto.PriceSettingDto>

  </priceSettings>

</com.teztour.coresearch.util.pojo.AggregateProtectSettings>

 

Расшифровка справочника:

<settings class="list">

  <com.teztour.coresearch.dto.ProtectSettingDto>

    <key>checkin.range.max</key> - максимальный диапазон дат заезда в отель

    <value>20</value> - количество дней диапазона

  </com.teztour.coresearch.dto.ProtectSettingDto>

  <com.teztour.coresearch.dto.ProtectSettingDto>

    <key>checkout.max</key> - максимальная дата выезда из отеля

    <value>540</value> - количество дней (от сегодняшней даты)

  </com.teztour.coresearch.dto.ProtectSettingDto>

  <com.teztour.coresearch.dto.ProtectSettingDto>

    <key>nights.range.max</key> - максимальный диапазон количества ночей проживания

    <value>8</value> - количество ночей

  </com.teztour.coresearch.dto.ProtectSettingDto>

</settings>

<priceSettings class="list"> - максимальная ширина интервала стоимости тура в запросе

  <com.teztour.coresearch.dto.PriceSettingDto>

    <currencyId>46688</currencyId> - ID валюты

    <maxValue>1500000</maxValue> - ширина интервала

  </com.teztour.coresearch.dto.PriceSettingDto>

</priceSettings>

<timestamp>29.11.2013 12:00:01</timestamp> - дата и время последнего изменения данных настроек