Динамическое ценообразование
Динамическое ценообразование – это новая система ценообразования, введенная в эксплуатацию в компании TEZ TOUR. Ценовое предложение по системе динамического ценообразования идентифицируется следующими параметрами:
residenсeId – id цены проживания (на данный момент динамическое ценообразование не работает с двойным проживанием)
FlyId – id цены перелета;
priceOfferId – id ценового предложения.
В ссылке на создание заявки эти параметры выглядят как:
cResId =123123123 - residenсeId, id цены проживания;
cFlyIds =123123, 12333 – FlyId (может быть несколько), id цены перелета;
priceOfferId=213123 - priceOfferId, id ценового предложения.
Для подбора туров по системе динамического ценообразования следует использовать отдельный модуль подбора туров - 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> - дата и время последнего изменения данных настроек