Мастер-Тур(15):API для отдачи цен в поисковые системы — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
(Поиск туров (GetTours))
Строка 144: Строка 144:
 
{
 
{
 
   "version": "1.08",
 
   "version": "1.08",
   "countries":    [
+
   "resorts":    [
 
             {
 
             {
 
         "id": 1,
 
         "id": 1,
Строка 169: Строка 169:
 
</div></div><br />
 
</div></div><br />
  
===Выгрузка списка курортов (GetAreas)===
+
===Выгрузка списка курортов (GetAreas) начиная с релиза 15.3===
 
Метод возвращает список всех доступных курортов.
 
Метод возвращает список всех доступных курортов.
 
* Формат запроса:
 
* Формат запроса:
Строка 212: Строка 212:
 
     },
 
     },
 
             {
 
             {
         "id":-1,
+
         "id": -1,
 
         "name": "Без курорта",
 
         "name": "Без курорта",
         "lname": "null",
+
         "lname": "",
         "countryId": 0
+
         "countryId": -1
 
       }           
 
       }           
 
   ]
 
   ]
Строка 789: Строка 789:
 
** '''showToursWithoutHotels''' – при значении 1 в результатах поиска вместе с обычными турами должны подбираться туры без проживания (без услуги отель в составе тура). При значении 0 или отсутствии данного параметра такие туры должны быть исключены из результата поиска. ''Параметр обрабатывается, начиная с релиза 15.2''.
 
** '''showToursWithoutHotels''' – при значении 1 в результатах поиска вместе с обычными турами должны подбираться туры без проживания (без услуги отель в составе тура). При значении 0 или отсутствии данного параметра такие туры должны быть исключены из результата поиска. ''Параметр обрабатывается, начиная с релиза 15.2''.
  
* Возвращаемый результат ( '''*''' – обязательный):
+
* Возвращаемый результат:
** '''offerId *''' – уникальный идентификатор предложения, по которому в дальнейшем можно провести актуализацию тура.
+
** '''offerId''' – уникальный идентификатор предложения, по которому в дальнейшем можно провести актуализацию тура.
 
** '''tourId''' – идентификатор программы тура.
 
** '''tourId''' – идентификатор программы тура.
** '''tourName *''' – название программы тура.
+
** '''tourName''' – название программы тура.
** '''hotelId *''' – идентификатор отеля.
 
** '''hotelName''' – название отеля.
 
** '''hotelCategoryId *''' – идентификатор категории отеля.
 
** '''hotelCategoryName''' – название категории отеля.
 
** '''hotelUrl''' – ссылка на страницу с описанием отеля.
 
 
** '''countryId''' – идентификатор страны.
 
** '''countryId''' – идентификатор страны.
 
** '''countryName''' – название страны.
 
** '''countryName''' – название страны.
** '''resortId *''' – идентификатор города, в котором расположен отель.
+
** '''resortId''' – идентификатор города, в котором расположен отель.
 
** '''resortName''' – название города, в котором расположен отель.
 
** '''resortName''' – название города, в котором расположен отель.
** '''areaId *''' – идентификатор курорта, в котором расположен отель.
+
** '''areaId''' – идентификатор курорта, в котором расположен отель.
 
** '''areaName''' – название курорта, в котором расположен отель.
 
** '''areaName''' – название курорта, в котором расположен отель.
** '''mealId *''' – идентификатор вида питания.
+
** '''hotelId''' – идентификатор отеля.
** '''mealName''' – название питания.
+
** '''hotelName''' – название отеля.
 +
** '''hotelUrl''' – ссылка на страницу с описанием отеля.
 +
** '''hotelCategoryId''' – идентификатор категории отеля.
 +
** '''hotelCategoryName''' – название категории отеля.
 
** '''roomId''' – идентификатор типа номера.
 
** '''roomId''' – идентификатор типа номера.
 
** '''roomName''' – название типа номера.
 
** '''roomName''' – название типа номера.
Строка 811: Строка 809:
 
** '''roomTypeName''' – название категории номера (примеры: standard, deluxe, family, deluxe super ocean view).
 
** '''roomTypeName''' – название категории номера (примеры: standard, deluxe, family, deluxe super ocean view).
 
** '''htPlaceId''' – идентификатор типа размещения.
 
** '''htPlaceId''' – идентификатор типа размещения.
** '''htPlaceName *''' – название типа размещения в номере (примеры: 2 ADL + 1 CH (2-12), 2 ADL + INF).
+
** '''htPlaceName''' – название типа размещения в номере (примеры: 2 ADL + 1 CH (2-12), 2 ADL + INF).
** '''tourDate *''' – дата начала тура в формате dd.MM.yyyy (пример: 31.12.2016).
+
** '''mealId''' – идентификатор вида питания.
 +
** '''mealName''' – название питания.
 +
** '''tourDate''' – дата начала тура в формате dd.MM.yyyy (пример: 31.12.2016).
 
** '''tourEndDate''' – дата окончания тура (дата прилета) в формате dd.MM.yyyy (пример: 31.12.2016).
 
** '''tourEndDate''' – дата окончания тура (дата прилета) в формате dd.MM.yyyy (пример: 31.12.2016).
** '''nights *''' – продолжительность тура в днях.
+
** '''nights''' – продолжительность тура в днях.
** '''price *''' – цена тура в валюте, которая была указана во входном параметре '''currencyId'''.
+
** '''price''' – цена тура в валюте, которая была указана во входном параметре '''currencyId'''.
 
** '''currencyId''' – идентификатор валюты.
 
** '''currencyId''' – идентификатор валюты.
 
** '''currencyName''' – ISO код валюты.
 
** '''currencyName''' – ISO код валюты.
** '''hotelIsInStop *''' – наличие мест в отеле, допустимы значения: 0 – есть места, 1 – нет мест, 2 – запрос.
+
** '''hotelIsInStop''' – наличие мест в отеле, допустимы значения: 0 – есть места, 1 – нет мест, 2 – запрос.
** '''ticketsIncluded *''' – включена ли стоимость билетов в стоимость тура, допустимы значения: 0 – не включена (тур только отель), 1 – включена (пакетный тур).
+
** '''ticketsIncluded''' – включена ли стоимость билетов в стоимость тура, допустимы значения: 0 – не включена (тур только отель), 1 – включена (пакетный тур).
** '''hasEconomTicketsDpt *''' – наличие билетов эконом класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
+
** '''hasEconomTicketsDpt''' – наличие билетов эконом класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
** '''hasEconomTicketsRtn *''' – наличие обратных билетов эконом класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
+
** '''hasEconomTicketsRtn''' – наличие обратных билетов эконом класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
** '''hasBusinessTicketsDpt *''' – наличие билетов бизнес класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
+
** '''hasBusinessTicketsDpt''' – наличие билетов бизнес класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
** '''hasBusinessTicketsRtn *''' – наличие обратных билетов бизнес класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
+
** '''hasBusinessTicketsRtn''' – наличие обратных билетов бизнес класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
** '''tourUrl *''' – ссылка на корзину (при переходе по которой можно забронировать тур).
+
** '''tourUrl''' – ссылка на корзину (при переходе по которой можно забронировать тур).
 
** '''spoUrl''' – ссылка на описание тура (указывается в программе тура).
 
** '''spoUrl''' – ссылка на описание тура (указывается в программе тура).
 
** '''fewPlacesInHotel''' – числовое значение мест в отеле. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
 
** '''fewPlacesInHotel''' – числовое значение мест в отеле. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
Строка 849: Строка 849:
 
*** '''resortId''' – идентификатор города, в котором расположен отель
 
*** '''resortId''' – идентификатор города, в котором расположен отель
 
*** '''resortName''' – название города, в котором расположен отель
 
*** '''resortName''' – название города, в котором расположен отель
 +
*** '''areaId''' – идентификатор курорта, в котором расположен отель
 +
*** '''areaName''' – название курорта, в котором расположен отель
 
*** '''hotelId''' – идентификатор отеля
 
*** '''hotelId''' – идентификатор отеля
 
*** '''hotelName''' – название отеля
 
*** '''hotelName''' – название отеля
Строка 854: Строка 856:
 
*** '''hotelCategoryId''' – идентификатор категории отеля
 
*** '''hotelCategoryId''' – идентификатор категории отеля
 
*** '''hotelCategoryName''' – название категории отеля
 
*** '''hotelCategoryName''' – название категории отеля
*** '''hotelIsInStop''' – наличие мест в отеле, допустимы значения: 0 – есть места, 1 – нет мест, 2 – запрос
 
*** '''mealId''' – идентификатор питания
 
*** '''mealName''' – название питания
 
*** '''htPlaceId''' – идентификатор типа размещения
 
*** '''htPlaceName''' – название типа размещения
 
 
*** '''roomId''' – идентификатор типа номера
 
*** '''roomId''' – идентификатор типа номера
 
*** '''roomName''' – название типа номера
 
*** '''roomName''' – название типа номера
 
*** '''roomTypeId''' – идентификатор категории номера
 
*** '''roomTypeId''' – идентификатор категории номера
 
*** '''roomTypeName''' – название категории номера
 
*** '''roomTypeName''' – название категории номера
*** '''htNights''' – количество ночей в отеле
+
*** '''htPlaceId''' – идентификатор типа размещения
 +
*** '''htPlaceName''' – название типа размещения
 +
*** '''mealId''' – идентификатор питания
 +
*** '''mealName''' – название питания
 
*** '''checkIn''' – дата заезда в отель
 
*** '''checkIn''' – дата заезда в отель
 
*** '''checkOut''' – дата выезда из отеля
 
*** '''checkOut''' – дата выезда из отеля
 +
*** '''htNights''' – количество ночей в отеле
 +
*** '''hotelIsInStop''' – наличие мест в отеле, допустимы значения: 0 – есть места, 1 – нет мест, 2 – запрос
 +
*** '''hotelScheme''' – объект схемы отеля
 +
**** '''templateId''' – идентификатор шаблона услуги
 +
**** '''durationInNight''' – продолжительность отеля в ночах
 +
**** '''code''' – ключ отеля
 +
**** '''packetKey''' – ключ пакета
 +
**** '''partnerKey''' – ключ партнера
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
Строка 881: Строка 889:
 
"tours": [{
 
"tours": [{
 
"offerId": 45,
 
"offerId": 45,
 +
"tourId": 100000004,
 
"tourName": "Общая проверка системы",
 
"tourName": "Общая проверка системы",
 +
"countryId": 90,
 +
"countryName": "Австрия",
 +
"resortId": 35,
 +
"resortName": "Вена",
 +
"areaId": 1,
 +
"areaName": "Каринтия",
 
"hotelId": 705,
 
"hotelId": 705,
 +
"hotelName": "Continental",
 
"hotelUrl": "www.tophotels.com/NewHotel",
 
"hotelUrl": "www.tophotels.com/NewHotel",
"resortId": 35,
 
 
"hotelCategoryId": 70,
 
"hotelCategoryId": 70,
 +
"hotelCategoryName": "Condotel",
 +
"roomId": 165,
 +
"roomName": "DBL",
 +
"roomTypeId": 1939,
 +
"roomTypeName": "Sea View",
 +
"htPlaceId": 1238,
 +
"htPlaceName": "2 ADL",
 
"mealId": 62,
 
"mealId": 62,
"htPlaceName": "2 ADL",
+
"mealName": "BB",
"roomTypeName": "Sea View",
 
 
"tourDate": "10.11.2018",
 
"tourDate": "10.11.2018",
 
"tourEndDate": "21.11.2018",
 
"tourEndDate": "21.11.2018",
 
"nights": 12,
 
"nights": 12,
 
"price": 15,
 
"price": 15,
 +
"currencyId": 1,
 +
"currencyName": "$",
 
"hotelIsInStop": 2,
 
"hotelIsInStop": 2,
 
"ticketsIncluded": 1,
 
"ticketsIncluded": 1,
Строка 912: Строка 935:
 
"receivingParty": "",
 
"receivingParty": "",
 
"earlyBookingValidTill": "",
 
"earlyBookingValidTill": "",
"countryId": 90,
 
"countryName": "Австрия",
 
"currencyId": 1,
 
"currencyName": "$",
 
"tourId": 100000004,
 
"roomId": 165,
 
"roomName": "DBL",
 
"htPlaceId": 1238,
 
"roomTypeId": 1939,
 
"mealName": "BB",
 
"hotelCategoryName": "Condotel",
 
"resortName": "Вена",
 
"hotelName": "Continental",
 
 
"TourTypes": [{
 
"TourTypes": [{
 
"Key": 2,
 
"Key": 2,
Строка 941: Строка 951:
 
"resortId": 35,
 
"resortId": 35,
 
"resortName": "Вена",
 
"resortName": "Вена",
 +
"areaId": 1,
 +
"areaName": "Каринтия",
 
"hotelId": 705,
 
"hotelId": 705,
 
"hotelName": "Continental",
 
"hotelName": "Continental",
Строка 946: Строка 958:
 
"hotelCategoryId": 70,
 
"hotelCategoryId": 70,
 
"hotelCategoryName": "Condotel",
 
"hotelCategoryName": "Condotel",
"hotelIsInStop": 2,
 
"mealId": 62,
 
"mealName": "BB",
 
"htPlaceId": 1238,
 
"htPlaceName": "2 ADL",
 
 
"roomId": 165,
 
"roomId": 165,
 
"roomName": "DBL",
 
"roomName": "DBL",
 
"roomTypeId": 1939,
 
"roomTypeId": 1939,
 
"roomTypeName": "Sea View",
 
"roomTypeName": "Sea View",
 +
"htPlaceId": 1238,
 +
"htPlaceName": "2 ADL",
 +
"mealId": 62,
 +
"mealName": "BB",
 +
"checkIn": "2018-11-10T00:00:00",
 +
"checkOut": "2018-11-16T00:00:00",
 
"htNights": 6,
 
"htNights": 6,
"checkIn": "2018-11-10T00:00:00",
+
"hotelIsInStop": 2
"checkOut": "2018-11-16T00:00:00"
+
"hotelScheme": {
 +
"templateId": 4,
 +
"durationInNight": 6,
 +
"code": 705,
 +
"packetKey": 1083,
 +
"partnerKey": 12695
 +
}
 
},
 
},
 
{
 
{
 +
 
"countryId": 90,
 
"countryId": 90,
 
"countryName": "Австрия",
 
"countryName": "Австрия",
 
"resortId": 35,
 
"resortId": 35,
 
"resortName": "Вена",
 
"resortName": "Вена",
 +
"areaId": 1,
 +
"areaName": "Каринтия",
 
"hotelId": 178,
 
"hotelId": 178,
 
"hotelName": "Ananas",
 
"hotelName": "Ananas",
Строка 969: Строка 991:
 
"hotelCategoryId": 63,
 
"hotelCategoryId": 63,
 
"hotelCategoryName": "5+",
 
"hotelCategoryName": "5+",
"hotelIsInStop": 0,
 
"mealId": 62,
 
"mealName": "BB",
 
"htPlaceId": 1238,
 
"htPlaceName": "2 ADL",
 
 
"roomId": 165,
 
"roomId": 165,
 
"roomName": "DBL",
 
"roomName": "DBL",
 
"roomTypeId": 1939,
 
"roomTypeId": 1939,
 
"roomTypeName": "Sea View",
 
"roomTypeName": "Sea View",
 +
"htPlaceId": 1238,
 +
"htPlaceName": "2 ADL",
 +
"mealId": 62,
 +
"mealName": "BB",
 +
"checkIn": "2018-11-16T00:00:00",
 +
"checkOut": "2018-11-20T00:00:00",
 
"htNights": 4,
 
"htNights": 4,
"checkIn": "2018-11-16T00:00:00",
+
"hotelIsInStop": 2
"checkOut": "2018-11-20T00:00:00"
+
"hotelScheme": {
 +
"templateId": 3,
 +
"durationInNight": 4,
 +
"code": 178,
 +
"packetKey": 1085,
 +
"partnerKey": 12796
 +
}
 
}]
 
}]
 
},
 
},
Строка 1042: Строка 1071:
 
** '''PageSize''' – количество результатов на странице. Если задан парамер '''PageSize''', то использование параметра '''PageNumber''' становится обязательным.
 
** '''PageSize''' – количество результатов на странице. Если задан парамер '''PageSize''', то использование параметра '''PageNumber''' становится обязательным.
  
* Возвращаемый результат ( '''*''' – обязательный):
+
* Возвращаемый результат:
** '''offerId *''' – уникальный идентификатор предложения, по которому в дальнейшем можно провести актуализацию тура.
+
** '''offerId''' – уникальный идентификатор предложения, по которому в дальнейшем можно провести актуализацию тура.
** '''tourName *''' – название программы тура.
+
** '''tourId''' – идентификатор программы тура.
** '''hotelId *''' – идентификатор отеля.
+
** '''tourName''' – название программы тура.
 +
** '''countryId''' – идентификатор страны.
 +
** '''countryName''' – название страны.
 +
** '''resortId''' – идентификатор города, в котором расположен отель.
 +
** '''resortName''' – название города, в котором расположен отель.
 +
** '''areaId''' – идентификатор курорта, в котором расположен отель.
 +
** '''areaName''' – название курорта, в котором расположен отель.
 +
** '''hotelId''' – идентификатор отеля.
 +
** '''hotelName''' – название отеля.
 
** '''hotelUrl''' – ссылка на страницу с описанием отеля.
 
** '''hotelUrl''' – ссылка на страницу с описанием отеля.
** '''resortId *''' – идентификатор города, в котором расположен отель.
+
** '''hotelCategoryId''' – идентификатор категории отеля.
** '''hotelCategoryId *''' – идентификатор категории отеля.
+
** '''hotelCategoryName''' – название категории отеля.
** '''mealId *''' – идентификатор вида питания.
+
** '''roomId''' – идентификатор типа номера.
** '''htPlaceName *''' – название типа размещения в номере (примеры: 2 ADL + 1 CH (2-12), 2 ADL + INF).
+
** '''roomName''' – название типа номера.
 +
** '''roomTypeId''' – идентификатор категории номера.
 
** '''roomTypeName''' – название категории номера (примеры: standard, deluxe, family, deluxe super ocean view).
 
** '''roomTypeName''' – название категории номера (примеры: standard, deluxe, family, deluxe super ocean view).
** '''tourDate *''' – дата начала тура в формате dd.MM.yyyy (пример: 31.12.2016).
+
** '''htPlaceId''' – идентификатор типа размещения.
 +
** '''htPlaceName''' – название типа размещения в номере (примеры: 2 ADL + 1 CH (2-12), 2 ADL + INF).
 +
** '''mealId''' – идентификатор вида питания.
 +
** '''mealName''' – название питания.
 +
** '''tourDate''' – дата начала тура в формате dd.MM.yyyy (пример: 31.12.2016).
 
** '''tourEndDate''' – дата окончания тура (дата прилета) в формате dd.MM.yyyy (пример: 31.12.2016).
 
** '''tourEndDate''' – дата окончания тура (дата прилета) в формате dd.MM.yyyy (пример: 31.12.2016).
** '''nights *''' – продолжительность тура в днях.
+
** '''nights''' – продолжительность тура в днях.
** '''price *''' – цена тура в валюте, которая была указана во входном параметре '''currencyId'''.
+
** '''price''' – цена тура в валюте, которая была указана во входном параметре '''currencyId'''.
** '''hotelIsInStop *''' – наличие мест в отеле, допустимы значения: 0 – есть места, 1 – нет мест, 2 – запрос.
+
** '''currencyId''' – идентификатор валюты.
** '''ticketsIncluded *''' – включена ли стоимость билетов в стоимость тура, допустимы значения: 0 – не включена (тур только отель), 1 – включена (пакетный тур).
+
** '''currencyName''' – ISO код валюты.
** '''hasEconomTicketsDpt *''' – наличие билетов эконом класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
+
** '''hotelIsInStop''' – наличие мест в отеле, допустимы значения: 0 – есть места, 1 – нет мест, 2 – запрос.
** '''hasEconomTicketsRtn *''' – наличие обратных билетов эконом класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
+
** '''ticketsIncluded''' – включена ли стоимость билетов в стоимость тура, допустимы значения: 0 – не включена (тур только отель), 1 – включена (пакетный тур).
** '''hasBusinessTicketsDpt *''' – наличие билетов бизнес класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
+
** '''hasEconomTicketsDpt''' – наличие билетов эконом класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
** '''hasBusinessTicketsRtn *''' – наличие обратных билетов бизнес класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
+
** '''hasEconomTicketsRtn''' – наличие обратных билетов эконом класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
** '''tourUrl *''' – ссылка на корзину (при переходе по которой можно забронировать тур).
+
** '''hasBusinessTicketsDpt''' – наличие билетов бизнес класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
 +
** '''hasBusinessTicketsRtn''' – наличие обратных билетов бизнес класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
 +
** '''tourUrl''' – ссылка на корзину (при переходе по которой можно забронировать тур).
 
** '''spoUrl''' – ссылка на описание тура (указывается в программе тура).
 
** '''spoUrl''' – ссылка на описание тура (указывается в программе тура).
 
** '''fewPlacesInHotel''' – числовое значение мест в отеле. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
 
** '''fewPlacesInHotel''' – числовое значение мест в отеле. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
Строка 1073: Строка 1117:
 
** '''receivingParty''' – параметр не обрабатывается.
 
** '''receivingParty''' – параметр не обрабатывается.
 
** '''earlyBookingValidTill''' – параметр не обрабатывается.
 
** '''earlyBookingValidTill''' – параметр не обрабатывается.
** '''countryId''' – идентификатор страны.
 
** '''countryName''' – название страны.
 
** '''currencyId''' – идентификатор валюты.
 
** '''currencyName''' – ISO код валюты.
 
** '''tourId''' – идентификатор программы тура.
 
** '''roomId''' – идентификатор типа номера.
 
** '''roomName''' – название типа номера.
 
** '''htPlaceId''' – идентификатор типа размещения.
 
** '''roomTypeId''' – идентификатор категории номера.
 
** '''mealName''' – название питания.
 
** '''hotelCategoryName''' – название категории отеля.
 
** '''resortName''' – название города, в котором расположен отель.
 
** '''hotelName''' – название отеля.
 
 
** '''TourTypes''' – массив типов тура, привязанных к программе тура.
 
** '''TourTypes''' – массив типов тура, привязанных к программе тура.
 
*** '''Key''' – идентификатор типа тура.
 
*** '''Key''' – идентификатор типа тура.
Строка 1100: Строка 1131:
 
*** '''resortId''' – идентификатор города, в котором расположен отель
 
*** '''resortId''' – идентификатор города, в котором расположен отель
 
*** '''resortName''' – название города, в котором расположен отель
 
*** '''resortName''' – название города, в котором расположен отель
 +
*** '''areaId''' – идентификатор курорта, в котором расположен отель
 +
*** '''areaName''' – название курорта, в котором расположен отель
 
*** '''hotelId''' – идентификатор отеля
 
*** '''hotelId''' – идентификатор отеля
 
*** '''hotelName''' – название отеля
 
*** '''hotelName''' – название отеля
Строка 1105: Строка 1138:
 
*** '''hotelCategoryId''' – идентификатор категории отеля
 
*** '''hotelCategoryId''' – идентификатор категории отеля
 
*** '''hotelCategoryName''' – название категории отеля
 
*** '''hotelCategoryName''' – название категории отеля
*** '''hotelIsInStop''' – наличие мест в отеле, допустимы значения: 0 – есть места, 1 – нет мест, 2 – запрос
 
*** '''mealId''' – идентификатор питания
 
*** '''mealName''' – название питания
 
*** '''htPlaceId''' – идентификатор типа размещения
 
*** '''htPlaceName''' – название типа размещения
 
 
*** '''roomId''' – идентификатор типа номера
 
*** '''roomId''' – идентификатор типа номера
 
*** '''roomName''' – название типа номера
 
*** '''roomName''' – название типа номера
 
*** '''roomTypeId''' – идентификатор категории номера
 
*** '''roomTypeId''' – идентификатор категории номера
 
*** '''roomTypeName''' – название категории номера
 
*** '''roomTypeName''' – название категории номера
*** '''htNights''' – количество ночей в отеле
+
*** '''htPlaceId''' – идентификатор типа размещения
 +
*** '''htPlaceName''' – название типа размещения
 +
*** '''mealId''' – идентификатор питания
 +
*** '''mealName''' – название питания
 
*** '''checkIn''' – дата заезда в отель
 
*** '''checkIn''' – дата заезда в отель
 
*** '''checkOut''' – дата выезда из отеля
 
*** '''checkOut''' – дата выезда из отеля
 +
*** '''htNights''' – количество ночей в отеле
 +
*** '''hotelIsInStop''' – наличие мест в отеле, допустимы значения: 0 – есть места, 1 – нет мест, 2 – запрос
 +
*** '''hotelScheme''' – объект схемы отеля
 +
**** '''templateId''' – идентификатор шаблона услуги
 +
**** '''durationInNight''' – продолжительность отеля в ночах
 +
**** '''code''' – ключ отеля
 +
**** '''packetKey''' – ключ пакета
 +
**** '''partnerKey''' – ключ партнера
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
Строка 1133: Строка 1172:
 
"tours": [{
 
"tours": [{
 
"offerId": 45,
 
"offerId": 45,
 +
"tourId": 100000004,
 
"tourName": "Общая проверка системы",
 
"tourName": "Общая проверка системы",
 +
"countryId": 90,
 +
"countryName": "Австрия",
 +
"resortId": 35,
 +
"resortName": "Вена",
 +
"areaId": 1,
 +
"areaName": "Каринтия",
 
"hotelId": 705,
 
"hotelId": 705,
 +
"hotelName": "Continental",
 
"hotelUrl": "www.tophotels.com/NewHotel",
 
"hotelUrl": "www.tophotels.com/NewHotel",
"resortId": 35,
 
 
"hotelCategoryId": 70,
 
"hotelCategoryId": 70,
 +
"hotelCategoryName": "Condotel",
 +
"roomId": 165,
 +
"roomName": "DBL",
 +
"roomTypeId": 1939,
 +
"roomTypeName": "Sea View",
 +
"htPlaceId": 1238,
 +
"htPlaceName": "2 ADL",
 
"mealId": 62,
 
"mealId": 62,
"htPlaceName": "2 ADL",
+
"mealName": "BB",
"roomTypeName": "Sea View",
+
"tourDate": "10.11.2018",
"tourDate": "10.10.2018",
+
"tourEndDate": "21.11.2018",
"tourEndDate": "21.10.2018",
 
 
"nights": 12,
 
"nights": 12,
 
"price": 15,
 
"price": 15,
 +
"currencyId": 1,
 +
"currencyName": "$",
 
"hotelIsInStop": 2,
 
"hotelIsInStop": 2,
 
"ticketsIncluded": 1,
 
"ticketsIncluded": 1,
Строка 1164: Строка 1218:
 
"receivingParty": "",
 
"receivingParty": "",
 
"earlyBookingValidTill": "",
 
"earlyBookingValidTill": "",
"countryId": 90,
 
"countryName": "Австрия",
 
"currencyId": 1,
 
"currencyName": "$",
 
"tourId": 100000004,
 
"roomId": 165,
 
"roomName": "DBL",
 
"htPlaceId": 1238,
 
"roomTypeId": 1939,
 
"mealName": "BB",
 
"hotelCategoryName": "Condotel",
 
"resortName": "Вена",
 
"hotelName": "Continental",
 
 
"TourTypes": [{
 
"TourTypes": [{
 
"Key": 2,
 
"Key": 2,
Строка 1193: Строка 1234:
 
"resortId": 35,
 
"resortId": 35,
 
"resortName": "Вена",
 
"resortName": "Вена",
 +
"areaId": 1,
 +
"areaName": "Каринтия",
 
"hotelId": 705,
 
"hotelId": 705,
 
"hotelName": "Continental",
 
"hotelName": "Continental",
Строка 1198: Строка 1241:
 
"hotelCategoryId": 70,
 
"hotelCategoryId": 70,
 
"hotelCategoryName": "Condotel",
 
"hotelCategoryName": "Condotel",
"hotelIsInStop": 2,
 
"mealId": 62,
 
"mealName": "BB",
 
"htPlaceId": 1238,
 
"htPlaceName": "2 ADL",
 
 
"roomId": 165,
 
"roomId": 165,
 
"roomName": "DBL",
 
"roomName": "DBL",
 
"roomTypeId": 1939,
 
"roomTypeId": 1939,
 
"roomTypeName": "Sea View",
 
"roomTypeName": "Sea View",
 +
"htPlaceId": 1238,
 +
"htPlaceName": "2 ADL",
 +
"mealId": 62,
 +
"mealName": "BB",
 +
"checkIn": "2018-11-10T00:00:00",
 +
"checkOut": "2018-11-16T00:00:00",
 
"htNights": 6,
 
"htNights": 6,
"checkIn": "2018-11-10T00:00:00",
+
"hotelIsInStop": 2
"checkOut": "2018-11-16T00:00:00"
+
"hotelScheme": {
 +
"templateId": 4,
 +
"durationInNight": 6,
 +
"code": 705,
 +
"packetKey": 1083,
 +
"partnerKey": 12695
 +
}
 
},
 
},
 
{
 
{
 +
 
"countryId": 90,
 
"countryId": 90,
 
"countryName": "Австрия",
 
"countryName": "Австрия",
 
"resortId": 35,
 
"resortId": 35,
 
"resortName": "Вена",
 
"resortName": "Вена",
 +
"areaId": 1,
 +
"areaName": "Каринтия",
 
"hotelId": 178,
 
"hotelId": 178,
 
"hotelName": "Ananas",
 
"hotelName": "Ananas",
Строка 1221: Строка 1274:
 
"hotelCategoryId": 63,
 
"hotelCategoryId": 63,
 
"hotelCategoryName": "5+",
 
"hotelCategoryName": "5+",
"hotelIsInStop": 0,
 
"mealId": 62,
 
"mealName": "BB",
 
"htPlaceId": 1238,
 
"htPlaceName": "2 ADL",
 
 
"roomId": 165,
 
"roomId": 165,
 
"roomName": "DBL",
 
"roomName": "DBL",
 
"roomTypeId": 1939,
 
"roomTypeId": 1939,
 
"roomTypeName": "Sea View",
 
"roomTypeName": "Sea View",
 +
"htPlaceId": 1238,
 +
"htPlaceName": "2 ADL",
 +
"mealId": 62,
 +
"mealName": "BB",
 +
"checkIn": "2018-11-16T00:00:00",
 +
"checkOut": "2018-11-20T00:00:00",
 
"htNights": 4,
 
"htNights": 4,
"checkIn": "2018-11-16T00:00:00",
+
"hotelIsInStop": 2
"checkOut": "2018-11-20T00:00:00"
+
"hotelScheme": {
 +
"templateId": 3,
 +
"durationInNight": 4,
 +
"code": 178,
 +
"packetKey": 1085,
 +
"partnerKey": 12796
 +
}
 
}]
 
}]
 
},
 
},

Версия 15:03, 5 декабря 2018

Версия статьи от 5-12-2018.

Поддерживаемые версии ПК «Мастер-Тур»:
Начиная с 15 версии


Введение

Данный web-сервис разработан для отдачи цен во внешние поисковые системы и выполняет следующие задачи:

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

Выдача результатов осуществляется в формате JSON

Установка

Для работы с web-сервисом необходимо установить службу поиска.
После установки web-сервис будет доступен по адресу http://значение настройки "serviceAddress" в TourSearchOwin/searchApi?action="название метода" (пример: http://localhost:9000/TourSearchOwin/searchApi?action=GetCountries)

Загрузка справочников

Выгрузка списка стран (GetCountries)

Метод производит выгрузку всех направлений туроператора.

  • Формат запроса:
    •  ?action=GetCountries
  • Принимаемые параметры:
    • id – идентификатор страны (опциональный, передача в запрос нескольких id не обрабатывается, в этом случае возвращаются все результаты. Если указан, то запрашивается только одна запись)
  • Возвращаемый результат:
    • id – идентификатор страны
    • name – название страны (рус)
    • lname – название страны (анг)
Пример

Вызов метода GetCountries

http://localhost:9000/TourSearchOwin/searchApi?action=GetCountries

Возвращаемый результат метода GetCountries (в формате JSON)

{
   "version": "1.08",
   "countries":    [
            {
         "id": 97,
         "name": "Тунис",
         "lname": "Tunisia"
      },            
            {
         "id": 90,
         "name": "Австрия",
         "lname": "Австрия"
      },
            {
         "id": 30,
         "name": "Франция",
         "lname": "France"
      }            
   ]
}


Выгрузка списка городов вылета (GetDepartCities)

Метод производит выгрузку всех доступных городов вылета, а также содержит данные о том, какие направления доступны из каждого города вылета.

  • Формат запроса:
    •  ?action=GetDepartCities
  • Принимаемые параметры:
    • id – идентификатор города вылета (опциональный, передача в запрос нескольких id не обрабатывается, в этом случае возвращаются все результаты. Если указан, то запрашивается только одна запись)
  • Возвращаемый результат:
    • id – идентификатор города
    • name – название города (рус)
    • lname – название города (анг)
    • countriesTo – идентификаторы стран, которые присутствуют в данном городе вылета
    • countryId – идентификатор страны города вылета
    • countryName – название страны города вылета
    • countryCode – код страны города вылета
Пример

Вызов метода GetDepartCities

http://localhost:9000/TourSearchOwin/searchApi?action=GetDepartCities

Возвращаемый результат метода GetDepartCities (в формате JSON)

{
   "version": "1.08",
   "departCities":    [
            {
         "id": -1,
         "name": "Без перелета",
         "lname": "No flights",
         "countriesTo":          [
            97,
            90
         ],
         "countryId": -1,
         "countryName": "",
         "countryCode": ""
      },
            {
         "id": 1,
         "name": "Москва",
         "lname": "Moscow",
         "countriesTo":          [
            90,
            30
         ],
         "countryId": 460,
         "countryName": "Россия",
         "countryCode": "RUS"
      }
   ]
}


Выгрузка списка городов (GetResorts)

Метод возвращает список всех доступных городов.

  • Формат запроса:
    •  ?action=GetResorts
  • Принимаемые параметры:
    • id – идентификатор города (опциональный, передача в запрос нескольких id не обрабатывается, в этом случае возвращаются все результаты. Если указан, то запрашивается только одна запись)
  • Возвращаемый результат:
    • id – идентификатор города
    • name – название города (рус)
    • lname – название города (анг)
    • countryId – идентификатор страны, в котором расположен город
Пример

Вызов метода GetResorts

http://localhost:9000/TourSearchOwin/searchApi?action=GetResorts

Возвращаемый результат метода GetResorts (в формате JSON)

{
   "version": "1.08",
   "resorts":    [
            {
         "id": 1,
         "name": "Каринтия",
         "lname": "Carinthia",
         "countryId": 90
      },           
            {
         "id": 42,
         "name": "Хаммамед",
         "lname": "Hammamet",
         "countryId": 97
      },
            {
         "id": 40,
         "name": "Сусс",
         "lname": "Sousse",
         "countryId": 97
      }           
   ]
}


Выгрузка списка курортов (GetAreas) начиная с релиза 15.3

Метод возвращает список всех доступных курортов.

  • Формат запроса:
    •  ?action=GetAreas
  • Принимаемые параметры:
    • id – идентификатор курорта (опциональный, передача в запрос нескольких id не обрабатывается, в этом случае возвращаются все результаты. Если указан, то запрашивается только одна запись)
  • Возвращаемый результат:
    • id – идентификатор курорта
    • name – название курорта (рус)
    • lname – название курорта (анг)
    • countryId – идентификатор страны, в котором расположен курорт
Пример

Вызов метода GetAreas

http://localhost:9000/TourSearchOwin/searchApi?action=GetAreas

Возвращаемый результат метода GetAreas (в формате JSON)

{
   "version": "1.08",
   "areas":    [
            {
         "id": 232,
         "name": "Малина",
         "lname": "Малина",
         "countryId": 90
      },           
            {
         "id": 233,
         "name": "Облако",
         "lname": "Облако",
         "countryId": 90
      },
            {
         "id": 1,
         "name": "Каринтия",
         "lname": "en_Каринтия",
         "countryId": 90
     },
            {
         "id": -1,
         "name": "Без курорта",
         "lname": "",
         "countryId": -1
      }           
   ]
}


Выгрузка списка категорий отелей (GetHotelCategories)

Метод возвращает список категорий отелей (примеры: 3*, 4*, Apts и т.д.).

  • Формат запроса:
    •  ?action=GetHotelCategories
  • Принимаемые параметры:
    • id – идентификатор категории отеля (опциональный, передача в запрос нескольких id не обрабатывается, в этом случае возвращаются все результаты. Если указан, то запрашивается только одна запись)
  • Возвращаемый результат:
    • id – идентификатор категории отеля
    • name – название категории отеля
    • globalCode – глобальный код категории отеля
Пример

Вызов метода GetHotelCategories

http://localhost:9000/TourSearchOwin/searchApi?action=GetHotelCategories

Возвращаемый результат метода GetHotelCategories (в формате JSON)

{
   "version": "1.08",
   "hotelCategories":    [
            {
         "id": 59,
         "name": "5*"
         "globalCode": "5*"
      },
            {
         "id": 58,
         "name": "4*"
         "globalCode": null
      },
            {
         "id": 57,
         "name": "3*"
         "globalCode": null
      }
   ]
}


Выгрузка списка отелей (GetHotels)

Метод возвращает список всех доступных отелей, на которые есть актуальные цены.

  • Формат запроса:
    •  ?action=GetHotels
  • Принимаемые параметры:
    • id – идентификатор отеля (опциональный, передача в запрос нескольких id не обрабатывается, в этом случае возвращаются все результаты. Если указан, то запрашивается только одна запись)
  • Возвращаемый результат:
    • id – идентификатор отеля
    • name – название отеля
    • hotelCategoryId – идентификатор категории отеля
    • hotelCategoryName – название категории отеля
    • resortId – идентификатор города, в котором расположен отель
    • resortName – название города, в котором расположен отель
    • areaId – идентификатор курорта, в котором расположен отель
    • areaName – название курорта, в котором расположен отель
    • address – адрес отеля
    • phone – телефон отеля
    • email – e-mail отеля
    • fax – факс отеля
    • http – адрес в интернете отеля
Пример

Вызов метода GetHotels

http://localhost:9000/TourSearchOwin/searchApi?action=GetHotels

Возвращаемый результат метода GetHotels (в формате JSON)

{
   "version": "1.08",
   "hotels":    [
            {
         "id": 672,
         "name": "'Opal",
         "hotelCategoryId": 59,
         "hotelCategoryName": "4*+",
         "resortId": 35,
         "resortName": "Вена",
         "areaId": -1,
         "areaName": "Без курорта",
         "address": "53 av, Sova str.",
         "phone": "010(999)653-26-35",
         "email": "service@opal.net",
         "fax": null,
         "http": null
      },
            {
         "id": 106,
         "name": "OPERA LAFAYETTE",
         "hotelCategoryId": 23,
         "hotelCategoryName": "5*",
         "resortId": 35,
         "resortName": "Вена",
         "areaId": -1,
         "areaName": "Без курорта",
         "address": null,
         "phone": null,
         "email": null,
         "fax": null,
         "http": null
      },
            {
         "id": 709,
         "name": "Am Brilliantengrund",
         "hotelCategoryId": 23,
         "hotelCategoryName": "5*",
         "resortId": 35,
         "resortName": "Вена",
         "areaId": -1,
         "areaName": "Без курорта",
         "address": null,
         "phone": null,
         "email": null,
         "fax": null,
         "http": null
      },
            {
         "id": 2362,
         "name": "Gastehaus Franz Riml",
         "hotelCategoryId": 59,
         "hotelCategoryName": "4*+",
         "resortId": 35,
         "resortName": "Вена",
         "areaId": -1,
         "areaName": "Без курорта",
         "address": null,
         "phone": null,
         "email": null,
         "fax": null,
         "http": null
      }            
   ]
}


Выгрузка списка типов номеров (GetRooms) начиная с релиза 15.3

Метод возвращает список всех доступных типов номеров, на которые есть актуальные цены.

  • Формат запроса:
    •  ?action=GetRooms
  • Принимаемые параметры:
    • id – идентификатор типа номера (опциональный, передача в запрос нескольких id не обрабатывается, в этом случае возвращаются все результаты. Если указан, то запрашивается только одна запись)
  • Возвращаемый результат:
    • id – идентификатор типа номера
    • code – код типа номера
    • name – название типа номера
    • mainplaces – количество основных мест
    • extraplaces – количество дополнительных мест
Пример

Вызов метода GetRooms

http://localhost:9000/TourSearchOwin/searchApi?action=GetRooms

Возвращаемый результат метода GetRooms (в формате JSON)

{
   "version": "1.08",
   "rooms":    [
            {
         "id": 129,
         "code": "DBL",
         "name": "DBL",
         "mainplaces": 2,
         "extraplaces": 1
      },
            {
         "id": 175,
         "code": "DBL+CHD",
         "name": "DBL+CHD",
         "mainplaces": null,
         "extraplaces": null
      },
            {
         "id": 132,
         "code": "DBL+EXB",
         "name": "DBL+EXB",
         "mainplaces": 2,
         "extraplaces": 4
      },
            {
         "id": 2,
         "code": "Double1",
         "name": "Double2",
         "mainplaces": 2,
         "extraplaces": 3
      },
            {
         "id": 133,
         "code": "SNGL",
         "name": "SNGL",
         "mainplaces": null,
         "extraplaces": null
      },
            {
         "id": 54,
         "code": "SNGL+2 Child ",
         "name": "Sngl+2 Child",
         "mainplaces": 1,
         "extraplaces": 0
      },
            {
         "id": 173,
         "code": "TPL",
         "name": "TPL",
         "mainplaces": null,
         "extraplaces": null
      }      
   ]
}


Выгрузка списка типов номеров (GetRoomTypes) начиная с релиза 15.3

Метод возвращает список всех доступных категорий номеров, на которые есть актуальные цены.

  • Формат запроса:
    •  ?action=GetRoomTypes
  • Принимаемые параметры:
    • id – идентификатор категории номера (опциональный, передача в запрос нескольких id не обрабатывается, в этом случае возвращаются все результаты. Если указан, то запрашивается только одна запись)
  • Возвращаемый результат:
    • id – идентификатор категории номера
    • code – код категории номера
    • name – название категории номера
Пример

Вызов метода GetRoomTypes

http://localhost:9000/TourSearchOwin/searchApi?action=GetRoomTypes

Возвращаемый результат метода GetRoomTypes (в формате JSON)

{
   "version": "1.08",
   "roomTypes":    [
            {
         "id": 4129,
         "code": "Cottage Premier Deluxe",
         "name": "Cottage Premier Deluxe"
      },
             {
         "id": 39,
         "code": "Deluxe",
         "name": "Deluxe"
      },
            {
         "id": 2711,
         "code": "Luxe",
         "name": "Luxe"
      },
            {
         "id": 4470,
         "code": "Standard Room",
         "name": "Standard Room"
      }
   ]
}


Выгрузка списка типов номеров (GetHtPlaces) начиная с релиза 15.3

Метод возвращает список всех доступных типов размещений, на которые есть актуальные цены.

  • Формат запроса:
    •  ?action=GetHtPlaces
  • Принимаемые параметры:
    • id – идентификатор типа размещения (опциональный, передача в запрос нескольких id не обрабатывается, в этом случае возвращаются все результаты. Если указан, то запрашивается только одна запись)
  • Возвращаемый результат:
    • id – идентификатор типа размещения
    • code – код типа размещения
    • name – название типа размещения
    • adultmainplaces – количество основных мест для взрослых
    • adultextraplaces – количество дополнительных мест для взрослых
    • childtmainplaces – количество основных мест для детей
    • childextraplaces – количество дополнительных мест для детей
    • mainplaces – общее количество основных мест для взрослых и детей
    • extraplaces – общее количество дополнительных мест для взрослых и детей
    • childAges – коллекция возможных возрастов детей в размещении (указывается полный возраст, то есть 12 - это 12,99)
      • from – нижняя граница возраста первого ребенка
      • to – верхняя граница возраста первого ребенка
      • from – нижняя граница возраста второго ребенка
      • to – верхняя граница возраста второго ребенка
Пример

Вызов метода GetHtPlaces

http://localhost:9000/TourSearchOwin/searchApi?action=GetHtPlaces

Возвращаемый результат метода GetHtPlaces (в формате JSON)

{
   "version": "1.08",
   "hotelPlaces":    [
            {
         "id": 1239,
         "code": "1 ADL",
         "name": "1 ADL",
         "adultmainplaces": 1,
         "adultextraplaces": 0,
         "childtmainplaces": 0,
         "childextraplaces": 0,
         "mainplaces": 1,
         "extraplaces": 0,
         "childAges":          [
                        {
               "from": null,
               "to": null
            },
                        {
               "from": null,
               "to": null
            }
         ]
      },
            {
         "id": 1372,
         "code": "2 ad + child (0-0.99)",
         "name": "2 ad + child (0-0.99)",
         "adultmainplaces": 2,
         "adultextraplaces": 0,
         "childtmainplaces": 0,
         "childextraplaces": 1,
         "mainplaces": 2,
         "extraplaces": 1,
         "childAges":          [
                        {
               "from": 0,
               "to": 1
            },
                        {
               "from": null,
               "to": null
            }
         ]
      },
            {
         "id": 1157,
         "code": "2 ad + child (2-4.99)",
         "name": "2 ad + child (2-4.99)",
         "adultmainplaces": 2,
         "adultextraplaces": 0,
         "childtmainplaces": 0,
         "childextraplaces": 1,
         "mainplaces": 2,
         "extraplaces": 1,
         "childAges":          [
                        {
               "from": 2,
               "to": 4
            },
                        {
               "from": null,
               "to": null
            }
         ]
      },
            {
         "id": 1238,
         "code": "2 ADL",
         "name": "2 ADL",
         "adultmainplaces": 2,
         "adultextraplaces": 0,
         "childtmainplaces": 0,
         "childextraplaces": 0,
         "mainplaces": 2,
         "extraplaces": 0,
         "childAges":          [
                        {
               "from": null,
               "to": null
            },
                        {
               "from": null,
               "to": null
            }
         ]
      }
   ]
}


Выгрузка видов питания (GetMeals)

Метод возвращает список видов питания (примеры: HB, BB, без питания и т.д.).

  • Формат запроса:
    •  ?action=GetMeals
  • Принимаемые параметры:
    • id – идентификатор типа питания (опциональный, передача в запрос нескольких id не обрабатывается, в этом случае возвращаются все результаты. Если указан, то запрашивается только одна запись)
  • Возвращаемый результат:
    • id – идентификатор типа питания
    • name – название типа питания
    • code – код типа питания
    • globalCode – глобальный код типа питания
Пример

Вызов метода GetMeals

http://localhost:9000/TourSearchOwin/searchApi?action=GetMeals

Возвращаемый результат метода GetMeals (в формате JSON)

{
   "version": "1.08",
   "meals":    [
            {
         "id": 1,
         "name": "Пансион"
         "code": "HB",
         "globalCode": "HB"
      },
            {
         "id": 2,
         "name": "Полупансион"
         "code": "FB",
         "globalCode": null
      },
            {
         "id": 4,
         "name": "Завтрак буфет"
         "code": "BB",
         "globalCode": null
      },
            {
         "id": 11,
         "name": "Шведский стол"
         "code": "UAI",
         "globalCode": "AI"
      }
   ]
}


Выгрузка списка валют (GetCurrencies)

Метод возвращает список используемых валют.

  • Формат запроса:
    •  ?action=GetCurrencies
  • Принимаемые параметры:
    • id – идентификатор валюты (опциональный, передача в запрос нескольких id не обрабатывается, в этом случае возвращаются все результаты. Если указан, то запрашивается только одна запись)
  • Возвращаемый результат:
    • id – идентификатор валюты
    • name – название валюты
Пример

Вызов метода GetCurrencies

http://localhost:9000/TourSearchOwin/searchApi?action=GetCurrencies

Возвращаемый результат метода GetCurrencies (в формате JSON)

{
   "version": "1.08",
   "currencies":    [
            {
         "id": 1,
         "name": "USD"
      },
            {
         "id": 2,
         "name": "EUR"
      },
            {
         "id": 3,
         "name": "RUR"
      },
            {
         "id": 9,
         "name": "UAH"
      }
   ]
}



Выгрузка курсов валют (GetCurrencyRates)

Метод возвращает список курсов валют, актуальных на дату запроса.

  • Формат запроса:
    •  ?action=GetCurrencyRates
  • Принимаемые параметры:
    • нет принимаемых параметров
  • Возвращаемый результат:
    • baseCurrencyId – идентификатор национальной валюты
    • currencyId – идентификатор валюты, курс которой приводится
    • rate – курс валюты (отношение currencyId к baseCurrencyId)
Пример

Вызов метода GetCurrencyRates

http://localhost:9000/TourSearchOwin/searchApi?action=GetCurrencyRates

Возвращаемый результат метода GetCurrencyRates (в формате JSON)

{
   "version": "1.08",
   "currencyRates":    [
            {
         "baseCurrencyId": 2,
         "currencyId": 1,
         "rate": 65.256054
      },
            {
         "baseCurrencyId": 2,
         "currencyId": 3,
         "rate": 71.168955
      }
   ]
}


Поиск туров (GetTours)

Метод поиска туров использует множество параметров для поиска и фильтрации туров. Метод возвращает наиболее дешевые предложения, найденные по предоставленным параметрам и сгруппированные по отелям в порядке возрастания цены. Количество туров в выдаче регулируется параметром count.

  • Формат запроса:
    •  ?action=GetTours&count=int&countryId=int&departCityId=int&dateFrom=date&dateTo=date&adults=int&kids=int&nightsMin=int&nightsMax=int&currencyId=int
  • Принимаемые параметры ( * – обязательный):
    • offerId – уникальный идентификатор ранее найденного предложения. В случае, если данный параметр задан, все остальные параметры не обязательны и не принимаются в расчет, метод возвращает одну запись.
    • count * – максимальное количество предложений в выдаче.
    • countryId * – идентификатор страны.
    • departCityId * – идентификатор города вылета.
    • dateFrom * – начальная дата в диапазоне дат вылета в формате dd.MM.yyyy (пример: 31.12.2016).
    • dateTo * – конечная дата в диапазоне дат вылета в формате dd.MM.yyyy (пример: 31.12.2016).
    • adults * – количество взрослых.
    • kids * – количество детей.
    • kidsAges – количество полных лет каждому ребенку, передается в виде строки, перечисление через запятую (пример: 3,6).
    • nightsMin * – минимальное количество дней в туре.
    • nightsMax * – максимальное количество дней в туре.
    • resorts – идентификаторы городов, перечисление через запятую.
    • hotelCategories – идентификаторы категорий отелей, перечисление через запятую.
    • hotels – идентификаторы отелей, перечисление через запятую.
    • meals – идентификаторы видов питания, перечисление через запятую.
    • currencyId * – валюта, в которой будут выданы цены, а также валюта для входящих параметров priceMin и priceMax (если они есть).
    • priceMin – Цена тура от.
    • priceMax – Цена тура до.
    • hotelIsNotInStop – при значении 1 в результатах не должно быть отелей в стопе (отели со статусом «под запрос» допустимы). При значении 0 в результат должны попадать как отели в стопе, так и отели с наличием мест и с местами по запросу.
    • ticketsIncluded * – при значении 1 в результатах должны быть только туры с включенной стоимостью перелета («только отель» недопустимы). При значении 0 в результат должны попадать как туры без перелета, так и туры с перелетом.
    • hasTickets – при значении 1 в результатах должны быть туры только с реальным наличием билетов в перелете (не должно быть туров со стопом на перелете, перелеты со статусом «под запрос» недопустимы). При значении 0 в результат должны попадать как туры без билетов на рейс, так и туры с наличием билетов и с билетами по запросу.
    • excludeUsualTours – при значении 1 из результатов должны быть исключены туры, являющиеся обычными турами (не являющиеся многоотельными). При значении 0 или отсутствии данного параметра такие туры должны быть включены в результат.
    • excludeCombined – при значении 1 из результатов должны быть исключены туры, являющиеся многоотельными. При значении 0 или отсутствии данного параметра такие туры должны быть включены в результат.
    • showToursWithoutHotels – при значении 1 в результатах поиска вместе с обычными турами должны подбираться туры без проживания (без услуги отель в составе тура). При значении 0 или отсутствии данного параметра такие туры должны быть исключены из результата поиска. Параметр обрабатывается, начиная с релиза 15.2.
  • Возвращаемый результат:
    • offerId – уникальный идентификатор предложения, по которому в дальнейшем можно провести актуализацию тура.
    • tourId – идентификатор программы тура.
    • tourName – название программы тура.
    • countryId – идентификатор страны.
    • countryName – название страны.
    • resortId – идентификатор города, в котором расположен отель.
    • resortName – название города, в котором расположен отель.
    • areaId – идентификатор курорта, в котором расположен отель.
    • areaName – название курорта, в котором расположен отель.
    • hotelId – идентификатор отеля.
    • hotelName – название отеля.
    • hotelUrl – ссылка на страницу с описанием отеля.
    • hotelCategoryId – идентификатор категории отеля.
    • hotelCategoryName – название категории отеля.
    • roomId – идентификатор типа номера.
    • roomName – название типа номера.
    • roomTypeId – идентификатор категории номера.
    • roomTypeName – название категории номера (примеры: standard, deluxe, family, deluxe super ocean view).
    • htPlaceId – идентификатор типа размещения.
    • htPlaceName – название типа размещения в номере (примеры: 2 ADL + 1 CH (2-12), 2 ADL + INF).
    • mealId – идентификатор вида питания.
    • mealName – название питания.
    • tourDate – дата начала тура в формате dd.MM.yyyy (пример: 31.12.2016).
    • tourEndDate – дата окончания тура (дата прилета) в формате dd.MM.yyyy (пример: 31.12.2016).
    • nights – продолжительность тура в днях.
    • price – цена тура в валюте, которая была указана во входном параметре currencyId.
    • currencyId – идентификатор валюты.
    • currencyName – ISO код валюты.
    • hotelIsInStop – наличие мест в отеле, допустимы значения: 0 – есть места, 1 – нет мест, 2 – запрос.
    • ticketsIncluded – включена ли стоимость билетов в стоимость тура, допустимы значения: 0 – не включена (тур только отель), 1 – включена (пакетный тур).
    • hasEconomTicketsDpt – наличие билетов эконом класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
    • hasEconomTicketsRtn – наличие обратных билетов эконом класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
    • hasBusinessTicketsDpt – наличие билетов бизнес класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
    • hasBusinessTicketsRtn – наличие обратных билетов бизнес класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
    • tourUrl – ссылка на корзину (при переходе по которой можно забронировать тур).
    • spoUrl – ссылка на описание тура (указывается в программе тура).
    • fewPlacesInHotel – числовое значение мест в отеле. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
    • fewTicketsDptY – числовое значение мест прямого перелета эконом класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
    • fewTicketsRtnY – числовое значение мест обратного перелета эконом класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
    • fewTicketsDptB – числовое значение мест прямого перелета бизнес класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
    • fewTicketsRtnB – числовое значение мест обратного перелета бизнес класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
    • flags – если тур многоотельный, возвращается код 1024. Во всех остальных случаях возвращается 0.
    • description – указывается информация о проживании. Если тур многоотельный, то указывается информация обо всех отелях в туре (пример: 1 н., Resort1, Hotel1, Standard, BB; 3 н., Resort2, Hotel2, Standard, BB; 2 н., Resort3, Hotel3, Standard, BB).
    • receivingParty – параметр не обрабатывается.
    • earlyBookingValidTill – параметр не обрабатывается.
    • TourTypes – массив типов тура, привязанных к программе тура.
      • Key – идентификатор типа тура.
      • Value – название типа тура.
    • hotelScheme – объект схемы отеля (для многоотельных туров - объект схемы первого отеля).
      • templateId – идентификатор шаблона услуги.
      • durationInNight – продолжительность отеля в ночах.
      • code – ключ отеля.
      • packetKey – ключ пакета.
      • partnerKey – ключ партнера.
    • hotels – массив отелей, который соответствует количеству отелей в многоотельном туре. Каждая запись массива содержит в себе информацию по одному отелю. Выводятся по порядку проживания в отелях. Если тур не многоотельный, параметр hotels возвращается пустым.
      • countryId – идентификатор страны
      • countryName – название страны
      • resortId – идентификатор города, в котором расположен отель
      • resortName – название города, в котором расположен отель
      • areaId – идентификатор курорта, в котором расположен отель
      • areaName – название курорта, в котором расположен отель
      • hotelId – идентификатор отеля
      • hotelName – название отеля
      • hotelUrl – ссылка на страницу с описанием отеля
      • hotelCategoryId – идентификатор категории отеля
      • hotelCategoryName – название категории отеля
      • roomId – идентификатор типа номера
      • roomName – название типа номера
      • roomTypeId – идентификатор категории номера
      • roomTypeName – название категории номера
      • htPlaceId – идентификатор типа размещения
      • htPlaceName – название типа размещения
      • mealId – идентификатор питания
      • mealName – название питания
      • checkIn – дата заезда в отель
      • checkOut – дата выезда из отеля
      • htNights – количество ночей в отеле
      • hotelIsInStop – наличие мест в отеле, допустимы значения: 0 – есть места, 1 – нет мест, 2 – запрос
      • hotelScheme – объект схемы отеля
        • templateId – идентификатор шаблона услуги
        • durationInNight – продолжительность отеля в ночах
        • code – ключ отеля
        • packetKey – ключ пакета
        • partnerKey – ключ партнера
Пример

Вызов метода GetTours

http://localhost:9000/TourSearchOwin/searchApi?action=GetTours&count=20&countryId=90&departCityId=1
&dateFrom=10.10.2018&dateTo=10.10.2018&ticketsIncluded=0&adults=2&kids=0&nightsMin=7&nightsMax=7&currencyId=1

Возвращаемый результат метода GetTours (в формате JSON)

{
	"version": "1.08",
	"tours": [{
		"offerId": 45,
		"tourId": 100000004,
		"tourName": "Общая проверка системы",
		"countryId": 90,
		"countryName": "Австрия",
		"resortId": 35,
		"resortName": "Вена",
		"areaId": 1,
		"areaName": "Каринтия",
		"hotelId": 705,
		"hotelName": "Continental",
		"hotelUrl": "www.tophotels.com/NewHotel",
		"hotelCategoryId": 70,
		"hotelCategoryName": "Condotel",
		"roomId": 165,
		"roomName": "DBL",
		"roomTypeId": 1939,
		"roomTypeName": "Sea View",
		"htPlaceId": 1238,
		"htPlaceName": "2 ADL",
		"mealId": 62,
		"mealName": "BB",
		"tourDate": "10.11.2018",
		"tourEndDate": "21.11.2018",
		"nights": 12,
		"price": 15,
		"currencyId": 1,
		"currencyName": "$",
		"hotelIsInStop": 2,
		"ticketsIncluded": 1,
		"hasEconomTicketsDpt": 2,
		"hasEconomTicketsRtn": 2,
		"hasBusinessTicketsDpt": 2,
		"hasBusinessTicketsRtn": 2,
		"tourUrl": "http://localhost/TourSearchClient/Basket?departureCities=1&destination=1_22&tour=161&date=10.08.16&duration=8&hotelScheme=1_7_3239_221_10760
&adultCount=2&hotelQuota=7&aviaQuota=7&serviceDescriptions=2_1_586_89_1_22_33_221_10760_1_0,
1_3_3239_1148_38_22_33_221_10760_1_7,3_1_587_89_33_460_1_221_10760_8_0&currency=USD",
		"spoUrl": "www.megatec.ru",
		"fewPlacesInHotel": null,
		"fewTicketsDptY": null,
		"fewTicketsRtnY": null,
		"fewTicketsDptB": null,
		"fewTicketsRtnB": null,
		"flags": 0,
		"description": "10 н., Вена, Continental, 1 bedroom Sea View, BB",
		"receivingParty": "",
		"earlyBookingValidTill": "",
		"TourTypes": [{
			"Key": 2,
			"Value": "Стандартный тур"
		}],
		"hotelScheme": {
			"templateId": 1,
			"durationInNight": 10,
			"code": 705,
			"packetKey": 779,
			"partnerKey": 12667
		}
		"hotels": [{
			"countryId": 90,
			"countryName": "Австрия",
			"resortId": 35,
			"resortName": "Вена",
			"areaId": 1,
			"areaName": "Каринтия",
			"hotelId": 705,
			"hotelName": "Continental",
			"hotelUrl": "www.tophotels.com/NewHotel",
			"hotelCategoryId": 70,
			"hotelCategoryName": "Condotel",
			"roomId": 165,
			"roomName": "DBL",
			"roomTypeId": 1939,
			"roomTypeName": "Sea View",
			"htPlaceId": 1238,
			"htPlaceName": "2 ADL",
			"mealId": 62,
			"mealName": "BB",
			"checkIn": "2018-11-10T00:00:00",
			"checkOut": "2018-11-16T00:00:00",
			"htNights": 6,
			"hotelIsInStop": 2
			"hotelScheme": {
				"templateId": 4,
				"durationInNight": 6,
				"code": 705,
				"packetKey": 1083,
				"partnerKey": 12695
			}
		},
		{

			"countryId": 90,
			"countryName": "Австрия",
			"resortId": 35,
			"resortName": "Вена",
			"areaId": 1,
			"areaName": "Каринтия",
			"hotelId": 178,
			"hotelName": "Ananas",
			"hotelUrl": "www.tophotels.com/NewHotelAnanas",
			"hotelCategoryId": 63,
			"hotelCategoryName": "5+",
			"roomId": 165,
			"roomName": "DBL",
			"roomTypeId": 1939,
			"roomTypeName": "Sea View",
			"htPlaceId": 1238,
			"htPlaceName": "2 ADL",
			"mealId": 62,
			"mealName": "BB",
			"checkIn": "2018-11-16T00:00:00",
			"checkOut": "2018-11-20T00:00:00",
			"htNights": 4,
			"hotelIsInStop": 2
			"hotelScheme": {
				"templateId": 3,
				"durationInNight": 4,
				"code": 178,
				"packetKey": 1085,
				"partnerKey": 12796
			}
		}]
	},
}


Поиск всех цен по туру (GetToursAllPrices) начиная с релиза 15.3

Метод поиска туров использует множество параметров для поиска и фильтрации туров. Метод возвращает цены, не сгруппированные по отелям. Количество туров в выдаче регулируется параметром count.

  • Формат запроса:
    •  ?action=GetToursAllPrices&count=int&countryId=int&departCityId=int&dateFrom=date&dateTo=date&adults=int&kids=int&nightsMin=int&nightsMax=int&currencyId=int
  • Принимаемые параметры ( * – обязательный):
    • offerId – уникальный идентификатор ранее найденного предложения. В случае, если данный параметр задан, все остальные параметры не обязательны и не принимаются в расчет, метод возвращает одну запись.
    • count * – максимальное количество предложений в выдаче.
    • countryId * – идентификатор страны.
    • departCityId * – идентификатор города вылета.
    • dateFrom * – начальная дата в диапазоне дат вылета в формате dd.MM.yyyy (пример: 31.12.2018).
    • dateTo * – конечная дата в диапазоне дат вылета в формате dd.MM.yyyy (пример: 31.12.2018).
    • adults * – количество взрослых.
    • kids * – количество детей.
    • kidsAges – количество полных лет каждому ребенку, передается в виде строки, перечисление через запятую (пример: 3,6).
    • nightsMin * – минимальное количество дней в туре.
    • nightsMax * – максимальное количество дней в туре.
    • resorts – идентификаторы городов, перечисление через запятую.
    • hotelCategories – идентификаторы категорий отелей, перечисление через запятую.
    • hotels – идентификаторы отелей, перечисление через запятую.
    • meals – идентификаторы видов питания, перечисление через запятую.
    • currencyId * – валюта, в которой будут выданы цены, а также валюта для входящих параметров priceMin и priceMax (если они есть).
    • priceMin – Цена тура от.
    • priceMax – Цена тура до.
    • hotelIsNotInStop – при значении 1 в результатах не должно быть отелей в стопе (отели со статусом «под запрос» допустимы). При значении 0 в результат должны попадать как отели в стопе, так и отели с наличием мест и с местами по запросу.
    • ticketsIncluded * – при значении 1 в результатах должны быть только туры с включенной стоимостью перелета («только отель» недопустимы). При значении 0 в результат должны попадать как туры без перелета, так и туры с перелетом.
    • hasTickets – при значении 1 в результатах должны быть туры только с реальным наличием билетов в перелете (не должно быть туров со стопом на перелете, перелеты со статусом «под запрос» недопустимы). При значении 0 в результат должны попадать как туры без билетов на рейс, так и туры с наличием билетов и с билетами по запросу.
    • excludeUsualTours – при значении 1 из результатов должны быть исключены туры, являющиеся обычными турами (не являющиеся многоотельными). При значении 0 или отсутствии данного параметра такие туры должны быть включены в результат.
    • excludeCombined – при значении 1 из результатов должны быть исключены туры, являющиеся многоотельными. При значении 0 или отсутствии данного параметра такие туры должны быть включены в результат.
    • showToursWithoutHotels – при значении 1 в результатах поиска вместе с обычными турами должны подбираться туры без проживания (без услуги отель в составе тура). При значении 0 или отсутствии данного параметра такие туры должны быть исключены из результата поиска. Параметр обрабатывается, начиная с релиза 15.2.
    • Sort – сортировка результатов. Возможно использование нескольких параметров через запятую. Если параметр не указан, то по умолчанию сортировка производится по возрастанию цены. Возможные значения:
      • ByPrice – сортировка по цене по возрастанию.
      • ByPrice_desc – сортировка по цене по убыванию.
      • ByStartDate – сортировка по дате начала тура по возрастанию.
      • ByStartDate_desc – сортировка по дате начала тура по убыванию.
      • ByEndDate – сортировка по дате окончания тура по возрастанию.
      • ByEndDate_desc – сортировка по дате окончания тура по убыванию.
      • ByDuration – сортировка по продолжительности тура по возрастанию.
      • ByDuration_desc – сортировка по продолжительности тура по убыванию.
      • ByHotel – сортировка по названию отеля (для многоотельных туров сортировка по названию первого отеля).
      • ByHotel_desc – сортировка по названию отеля в обратном порядке (для многоотельных туров сортировка по названию первого отеля в обратном порядке).
      • ByHotelCategory – сортировка по названию категории отеля (для многоотельных туров сортировка по названию категории первого отеля).
      • ByHotelCategory_desc – сортировка по названию категории отеля в обратном порядке (для многоотельных туров сортировка по названию категории первого отеля в обратном порядке).
      • ByMeal – сортировка по названию питания (для многоотельных туров сортировка по названию питания первого отеля).
      • ByMeal_desc – сортировка по названию питания в обратном порядке (для многоотельных туров сортировка по названию питания в обратном порядке первого отеля).
      • ByResort – сортировка по названию курорта (для многоотельных туров сортировка по названию курорта первого отеля).
      • ByResort_desc – сортировка по названию курорта в обратном порядке (для многоотельных туров сортировка по названию курорта в обратном порядке первого отеля).
      • ByCity – сортировка по названию города (для многоотельных туров сортировка по названию города первого отеля).
      • ByCity_desc – сортировка по названию города в обратном порядке (для многоотельных туров сортировка по названию города в обратном порядке первого отеля).
      • ByTour – сортировка по названию программы тура.
      • ByTour_desc – сортировка по названию программы тура в обратном порядке.
    • PageNumber – порядковый номер страницы. Если задан парамер PageNumber, то использование параметра PageSize становится обязательным.
    • PageSize – количество результатов на странице. Если задан парамер PageSize, то использование параметра PageNumber становится обязательным.
  • Возвращаемый результат:
    • offerId – уникальный идентификатор предложения, по которому в дальнейшем можно провести актуализацию тура.
    • tourId – идентификатор программы тура.
    • tourName – название программы тура.
    • countryId – идентификатор страны.
    • countryName – название страны.
    • resortId – идентификатор города, в котором расположен отель.
    • resortName – название города, в котором расположен отель.
    • areaId – идентификатор курорта, в котором расположен отель.
    • areaName – название курорта, в котором расположен отель.
    • hotelId – идентификатор отеля.
    • hotelName – название отеля.
    • hotelUrl – ссылка на страницу с описанием отеля.
    • hotelCategoryId – идентификатор категории отеля.
    • hotelCategoryName – название категории отеля.
    • roomId – идентификатор типа номера.
    • roomName – название типа номера.
    • roomTypeId – идентификатор категории номера.
    • roomTypeName – название категории номера (примеры: standard, deluxe, family, deluxe super ocean view).
    • htPlaceId – идентификатор типа размещения.
    • htPlaceName – название типа размещения в номере (примеры: 2 ADL + 1 CH (2-12), 2 ADL + INF).
    • mealId – идентификатор вида питания.
    • mealName – название питания.
    • tourDate – дата начала тура в формате dd.MM.yyyy (пример: 31.12.2016).
    • tourEndDate – дата окончания тура (дата прилета) в формате dd.MM.yyyy (пример: 31.12.2016).
    • nights – продолжительность тура в днях.
    • price – цена тура в валюте, которая была указана во входном параметре currencyId.
    • currencyId – идентификатор валюты.
    • currencyName – ISO код валюты.
    • hotelIsInStop – наличие мест в отеле, допустимы значения: 0 – есть места, 1 – нет мест, 2 – запрос.
    • ticketsIncluded – включена ли стоимость билетов в стоимость тура, допустимы значения: 0 – не включена (тур только отель), 1 – включена (пакетный тур).
    • hasEconomTicketsDpt – наличие билетов эконом класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
    • hasEconomTicketsRtn – наличие обратных билетов эконом класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
    • hasBusinessTicketsDpt – наличие билетов бизнес класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
    • hasBusinessTicketsRtn – наличие обратных билетов бизнес класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
    • tourUrl – ссылка на корзину (при переходе по которой можно забронировать тур).
    • spoUrl – ссылка на описание тура (указывается в программе тура).
    • fewPlacesInHotel – числовое значение мест в отеле. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
    • fewTicketsDptY – числовое значение мест прямого перелета эконом класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
    • fewTicketsRtnY – числовое значение мест обратного перелета эконом класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
    • fewTicketsDptB – числовое значение мест прямого перелета бизнес класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
    • fewTicketsRtnB – числовое значение мест обратного перелета бизнес класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
    • flags – если тур многоотельный, возвращается код 1024. Во всех остальных случаях возвращается 0.
    • description – указывается информация о проживании. Если тур многоотельный, то указывается информация обо всех отелях в туре (пример: 1 н., Resort1, Hotel1, Standard, BB; 3 н., Resort2, Hotel2, Standard, BB; 2 н., Resort3, Hotel3, Standard, BB).
    • receivingParty – параметр не обрабатывается.
    • earlyBookingValidTill – параметр не обрабатывается.
    • TourTypes – массив типов тура, привязанных к программе тура.
      • Key – идентификатор типа тура.
      • Value – название типа тура.
    • hotelScheme – объект схемы отеля (для многоотельных туров - объект схемы первого отеля).
      • templateId – идентификатор шаблона услуги.
      • durationInNight – продолжительность отеля в ночах.
      • code – ключ отеля.
      • packetKey – ключ пакета.
      • partnerKey – ключ партнера.
    • hotels – массив отелей, который соответствует количеству отелей в многоотельном туре. Каждая запись массива содержит в себе информацию по одному отелю. Выводятся по порядку проживания в отелях. Если тур не многоотельный, параметр hotels возвращается пустым.
      • countryId – идентификатор страны
      • countryName – название страны
      • resortId – идентификатор города, в котором расположен отель
      • resortName – название города, в котором расположен отель
      • areaId – идентификатор курорта, в котором расположен отель
      • areaName – название курорта, в котором расположен отель
      • hotelId – идентификатор отеля
      • hotelName – название отеля
      • hotelUrl – ссылка на страницу с описанием отеля
      • hotelCategoryId – идентификатор категории отеля
      • hotelCategoryName – название категории отеля
      • roomId – идентификатор типа номера
      • roomName – название типа номера
      • roomTypeId – идентификатор категории номера
      • roomTypeName – название категории номера
      • htPlaceId – идентификатор типа размещения
      • htPlaceName – название типа размещения
      • mealId – идентификатор питания
      • mealName – название питания
      • checkIn – дата заезда в отель
      • checkOut – дата выезда из отеля
      • htNights – количество ночей в отеле
      • hotelIsInStop – наличие мест в отеле, допустимы значения: 0 – есть места, 1 – нет мест, 2 – запрос
      • hotelScheme – объект схемы отеля
        • templateId – идентификатор шаблона услуги
        • durationInNight – продолжительность отеля в ночах
        • code – ключ отеля
        • packetKey – ключ пакета
        • partnerKey – ключ партнера
Пример

Вызов метода GetToursAllPrices

http://localhost:9000/TourSearchOwin/searchApi?action=GetTours&count=20&countryId=90&departCityId=1
&dateFrom=10.10.2018&dateTo=10.10.2018&ticketsIncluded=0&adults=2&kids=0&nightsMin=7&nightsMax=7&currencyId=1
&Sort=ByStartDate

Возвращаемый результат метода GetToursAllPrices (в формате JSON)

{
	"version": "1.08",
	"tours": [{
		"offerId": 45,
		"tourId": 100000004,
		"tourName": "Общая проверка системы",
		"countryId": 90,
		"countryName": "Австрия",
		"resortId": 35,
		"resortName": "Вена",
		"areaId": 1,
		"areaName": "Каринтия",
		"hotelId": 705,
		"hotelName": "Continental",
		"hotelUrl": "www.tophotels.com/NewHotel",
		"hotelCategoryId": 70,
		"hotelCategoryName": "Condotel",
		"roomId": 165,
		"roomName": "DBL",
		"roomTypeId": 1939,
		"roomTypeName": "Sea View",
		"htPlaceId": 1238,
		"htPlaceName": "2 ADL",
		"mealId": 62,
		"mealName": "BB",
		"tourDate": "10.11.2018",
		"tourEndDate": "21.11.2018",
		"nights": 12,
		"price": 15,
		"currencyId": 1,
		"currencyName": "$",
		"hotelIsInStop": 2,
		"ticketsIncluded": 1,
		"hasEconomTicketsDpt": 2,
		"hasEconomTicketsRtn": 2,
		"hasBusinessTicketsDpt": 2,
		"hasBusinessTicketsRtn": 2,
		"tourUrl": "http://localhost/TourSearchClient/Basket?departureCities=1&destination=1_22&tour=161&date=10.08.16&duration=8&hotelScheme=1_7_3239_221_10760
&adultCount=2&hotelQuota=7&aviaQuota=7&serviceDescriptions=2_1_586_89_1_22_33_221_10760_1_0,
1_3_3239_1148_38_22_33_221_10760_1_7,3_1_587_89_33_460_1_221_10760_8_0&currency=USD",
		"spoUrl": "www.megatec.ru",
		"fewPlacesInHotel": null,
		"fewTicketsDptY": null,
		"fewTicketsRtnY": null,
		"fewTicketsDptB": null,
		"fewTicketsRtnB": null,
		"flags": 0,
		"description": "10 н., Вена, Continental, 1 bedroom Sea View, BB",
		"receivingParty": "",
		"earlyBookingValidTill": "",
		"TourTypes": [{
			"Key": 2,
			"Value": "Стандартный тур"
		}],
		"hotelScheme": {
			"templateId": 1,
			"durationInNight": 10,
			"code": 705,
			"packetKey": 779,
			"partnerKey": 12667
		}
		"hotels": [{
			"countryId": 90,
			"countryName": "Австрия",
			"resortId": 35,
			"resortName": "Вена",
			"areaId": 1,
			"areaName": "Каринтия",
			"hotelId": 705,
			"hotelName": "Continental",
			"hotelUrl": "www.tophotels.com/NewHotel",
			"hotelCategoryId": 70,
			"hotelCategoryName": "Condotel",
			"roomId": 165,
			"roomName": "DBL",
			"roomTypeId": 1939,
			"roomTypeName": "Sea View",
			"htPlaceId": 1238,
			"htPlaceName": "2 ADL",
			"mealId": 62,
			"mealName": "BB",
			"checkIn": "2018-11-10T00:00:00",
			"checkOut": "2018-11-16T00:00:00",
			"htNights": 6,
			"hotelIsInStop": 2
			"hotelScheme": {
				"templateId": 4,
				"durationInNight": 6,
				"code": 705,
				"packetKey": 1083,
				"partnerKey": 12695
			}
		},
		{

			"countryId": 90,
			"countryName": "Австрия",
			"resortId": 35,
			"resortName": "Вена",
			"areaId": 1,
			"areaName": "Каринтия",
			"hotelId": 178,
			"hotelName": "Ananas",
			"hotelUrl": "www.tophotels.com/NewHotelAnanas",
			"hotelCategoryId": 63,
			"hotelCategoryName": "5+",
			"roomId": 165,
			"roomName": "DBL",
			"roomTypeId": 1939,
			"roomTypeName": "Sea View",
			"htPlaceId": 1238,
			"htPlaceName": "2 ADL",
			"mealId": 62,
			"mealName": "BB",
			"checkIn": "2018-11-16T00:00:00",
			"checkOut": "2018-11-20T00:00:00",
			"htNights": 4,
			"hotelIsInStop": 2
			"hotelScheme": {
				"templateId": 3,
				"durationInNight": 4,
				"code": 178,
				"packetKey": 1085,
				"partnerKey": 12796
			}
		}]
	},
}


Актуализация тура (ActualizeTour)

Метод служит для получения окончательной цены тура (со всеми обязательными доплатами и сборами), списка включенных в стоимость тура услуг, а также вариантов перелета, возможных дополнительных услуг и доплат по ним. Метод должен возвращать цену самой дешевой конфигурации запрашиваемого предложения. Для корректной работы метода необходимо, чтобы offerId был уникален для предложений с разным составом группы туристов, даже в случае если все прочие параметры предложений совпадают.

  • Формат запроса:
    •  ?action=ActualizeTour
  • Принимаемые параметры ( * – обязательный):
    • offerId * – уникальный идентификатор ранее найденного предложения.
    • currencyId * – валюта, в которой рассчитывается цена и доплаты.
  • Возвращаемый результат ( * – обязательный):
    • price * – актуализированная цена тура в валюте, которая была указана во входном параметре currencyId.
    • ticketsIsIncluded * – включена ли стоимость билетов в стоимость тура, допустимы значения: 0 – не включена (тур только отель), 1 – включена (пакетный тур).
    • hotelIsInStop – наличие мест в отеле, допустимы значения: 0 – есть места, 1 – нет мест, 2 – запрос.
    • hasEconomTicketsDpt * – наличие билетов эконом класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано.
    • hasEconomTicketsRtn * – наличие обратных билетов эконом класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано.
    • hasBusinessTicketsDpt * – наличие билетов бизнес класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано.
    • hasBusinessTicketsRtn * – наличие обратных билетов бизнес класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано.
    • fewPlacesInHotel – числовое значение мест в отеле. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
    • fewEconomTicketsDpt – числовое значение мест прямого перелета эконом класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
    • fewEconomTicketsRtn – числовое значение мест обратного перелета эконом класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
    • fewBusinessTicketsDpt – числовое значение мест прямого перелета бизнес класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
    • fewBusinessTicketsRtn – числовое значение мест обратного перелета бизнес класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
    • tourUrl – ссылка на корзину (при переходе по которой можно забронировать тур).
    • services – список услуг, которые могут быть в туре
      • id * – идентификатор услуги, уникальный в рамках данного предложения.
      • type * – Тип услуги. Может принимать одно из следующих значений:
        • HotelInfo – отель
        • Insurance – страховка
        • DptTransport – перелет туда
        • RtnTransport – перелет обратно
        • MidDptTransport – промежуточный перелет туда (при пересадке)
        • MidRtnTransport – промежуточный перелет обратно (при пересадке)
        • AdditionalService – дополнительная услуга
        • Transfer – трансфер
        • Excursion – экскурсия
        • Visa – виза
      • name * – наименование услуги
      • isIncluded * – включена ли данная услуга в стоимость текущей конфигурации тура, допустимы значения: 0 – не включена, 1 – включена.
      • description – описание услуги в произвольной форме (не обрабатывается).
      • surcharge – стоимость услуги.
      • flightCompatibleIds – совместимые перелеты. Идентификаторы услуг перелетов, представленных в секции services, которые могут применяться совместно с текущей услугой перелета. Для перелета туда заполняется id перелетов обратно и наоборот. Применяется и является обязательным только для услуг типа: DptTransport, RtnTransport, MidDptTransport, MidRtnTransport.
      • flightClass – класс перелета. Группы перелетов для классов задаются в настройке flightTariffGroups. Применяется и является обязательным только для услуг типа: DptTransport, RtnTransport, MidDptTransport, MidRtnTransport. Может принимать одно из следующих значений:
        • ECONOM – эконом
        • BUSINESS – бизнес
      • flightAvailability – наличие билетов, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. Применяется и является обязательным только для услуг типа: DptTransport, RtnTransport, MidDptTransport, MidRtnTransport.
      • flightPlacesCount – параметр не обрабатывается, всегда возвращается -1.
      • flightAirportFrom – код аэропорта вылета. Применяется и является обязательным только для услуг типа: DptTransport, RtnTransport, MidDptTransport, MidRtnTransport.
      • flightAirportTo – код аэропорта прилета. Применяется и является обязательным только для услуг типа: DptTransport, RtnTransport, MidDptTransport, MidRtnTransport.
      • flightNum – код авиакомпании и номер рейса. Применяется и является обязательным только для услуг типа: DptTransport, RtnTransport.
      • flightAirline – код авиакомпании. Применяется только для услуг типа: DptTransport, RtnTransport, MidDptTransport, MidRtnTransport.
      • flightStartDateTime – Дата и время вылета в формате dd.MM.yyyy HH:mm (пример: 31.12.2016 14:30). Применяется только для услуг типа: DptTransport, RtnTransport, MidDptTransport, MidRtnTransport.
      • flightEndDateTime – Дата и время прилета в формате dd.MM.yyyy HH:mm (пример: 31.12.2016 14:30). Применяется только для услуг типа: DptTransport, RtnTransport, MidDptTransport, MidRtnTransport.
      • flightAircraft – тип самолета. Применяется только для услуг типа: DptTransport, RtnTransport, MidDptTransport, MidRtnTransport.
Пример

Вызов метода ActualizeTour

http://localhost:9000/TourSearchOwin/searchApi?action=ActualizeTour&offerID=256&currencyId=1

Возвращаемый результат метода ActualizeTour (в формате JSON)

{
   "version": "1.08",
   "actualizedTour":    {
      "price": 1036,
      "ticketsIsIncluded": 1,
      "hotelIsInStop": 2,
      "hasEconomTicketsDpt": 1,
      "hasEconomTicketsRtn": 2,
      "hasBusinessTicketsDpt": 0,
      "hasBusinessTicketsRtn": 1,
      "fewPlacesInHotel": 5,
      "fewEconomTicketsDpt": 8,
      "fewEconomTicketsRtn": 8,
      "fewBusinessTicketsDpt": null,
      "fewBusinessTicketsRtn": null,
      "tourUrl": "http://localhost/TourSearchClient/Basket?departureCities=1&destination=1_22&tour=161&date=10.08.16&duration=8&hotelScheme=1_7_3239_221_10760
&adultCount=2&hotelQuota=7&aviaQuota=7&serviceDescriptions=2_1_586_89_1_22_33_221_10760_1_0,
1_3_3239_1148_38_22_33_221_10760_1_7,3_1_587_89_33_460_1_221_10760_8_0&currency=USD",
      "services":       [
                  {
            "id": 0,
            "type": "DptTransport",
            "name": "А_П::Москва/Лиссабон/3G001, DME-LUS, 11:00-13:00/Y Экономический класс",
            "isIncluded": 1,
            "description": "",
            "surcharge": 100,
            "flightCompatibleIds": "2",
            "flightClass": "ECONOM",
            "flightAvailability": 1,
            "flightPlacesCount": -1,
            "flightAirportFrom": "DME",
            "flightAirportTo": "LUS",
            "flightNum": "3G 001",
            "flightAirline": "3G",
            "flightStartDateTime": "10.08.2016 11:00",
            "flightEndDateTime": "10.08.2016 13:00",
            "flightAircraft": "310"
         },
                  {
            "id": 1,
            "type": "HotelInfo",
            "name": "HOTEL::Лиссабон/Отель в Лиссабоне-4,7 ночей/Double(Sea View),2 Adult/TT NewP",
            "isIncluded": 1,
            "description": "",
            "surcharge": 836,
            "flightCompatibleIds": null,
            "flightClass": null,
            "flightAvailability": -1,
            "flightPlacesCount": -1,
            "flightAirportFrom": null,
            "flightAirportTo": null,
            "flightNum": null,
            "flightAirline": null,
            "flightStartDateTime": null,
            "flightEndDateTime": null,
            "flightAircraft": null
         },
                  {
            "id": 2,
            "type": "RtnTransport",
            "name": "А_П::Лиссабон/Москва/3G002, LUS-DME, 20:00-21:00/Y Экономический класс",
            "isIncluded": 1,
            "description": "",
            "surcharge": 100,
            "flightCompatibleIds": "0",
            "flightClass": "ECONOM",
            "flightAvailability": 2,
            "flightPlacesCount": -1,
            "flightAirportFrom": "LUS",
            "flightAirportTo": "DME",
            "flightNum": "3G 002",
            "flightAirline": "3G",
            "flightStartDateTime": "17.08.2016 20:00",
            "flightEndDateTime": "17.08.2016 21:00",
            "flightAircraft": "310"
         }
      ]
   }
}


Проверка туриста (checkTourist)

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

  • Формат запроса:
    • /checkTourist
  • Принимаемые параметры ( * – обязательный):
    • dogovorNumber * – номер путевки.
    • passport * – номер паспорта туриста (заграничного или общегражданского).
  • Возвращаемый результат:
    • isDogovortrue, если путевка найдена по номеру путевки, false, если не найдена.
    • isAnnulatedtrue, если путевка аннулирована, false, если не аннулирована.
    • dogovorStatus – статус путевки
    • isPaytrue, если путевка полностью оплачена, false, если не оплачена или оплачена частично.
    • dogovorDateBegin – дата начала заезда.
    • dogovorDateEnd – дата окончания заезда.
    • dogovorDateCreate – дата создания путевки.
    • isTouristDogovorCreatetrue, если турист (по номеру паспорта) является главным туристом в путевке.
    • services – набор услуг в путевке.
      • svKey – код класса услуги.
      • code – код услуги.
      • subCode1 – код доп. описания 1 услуги.
      • subCode2 – код доп. описания 2 услуги.
      • name – название услуги.
    • touristInfo – информация о главном туристе.
      • lastname – фамилия туриста (рус).
      • firstname – имя туриста (рус).
      • surname – отчество туриста.
      • address – адрес (индекс, город, улица, дом, квартира).
      • postcode – индекс.
      • city – город.
      • street – улица.
      • home – дом.
      • roomNumber – квартира.
Пример

Вызов метода checkTourist

http://localhost:9000/TourSearchOwin/checkTourist?dogovorNumber=AU25120001&passport=1234567

Возвращаемый результат метода checkTourist (в формате JSON)

{
   "isDogovor": true,
   "isAnnulated": false,
   "dogovorStatus": "ОК",
   "isPay": true,
   "dogovorDateBegin": "05.02.2018", 
   "dogovorDateEnd": "12.02.2018",
   "dogovorDateCreate": "01.02.2018",
   "isTouristDogovorCreate": true,
   "services":    [
            {
         "svKey": "1",
         "code": "1088",
         "subCode1": "147",
         "subCode2": "35",
         "name": "А_П::Вена/Москва/SU2353, VIE-SVO, 18:05-22:40/NSU Экономический класс"
      },
            {
         "svKey": "3",
         "code": "698",
         "subCode1": "46200",
         "subCode2": "1",
         "name": "HOTEL::Вена/Graben-1*,5 ночей/DBL(Standart ),2Ad/FB Полный пансион"
      },
            {
         "svKey": "1",
         "code": "1087",
         "subCode1": "147",
         "subCode2": "1",
         "name": "А_П::Москва/Вена/SU2352, SVO-VIE, 16:20-17:05/NSU Экономический класс"
      }
   ],
   "touristInfo":    {
      "lastname": "Ivanov",
      "firstname": "Ivan",
      "surname": "Ivanovich",
      "address": "123456, г. Москва, ул. Ленина, д. 1, кв. 15",
      "postcode": "123456",
      "city": "Москва",
      "street": "Ленина",
      "home": "1",
      "roomNumber": "15"
   }
}