Мастер-Тур(15):API для отдачи цен в поисковые системы — различия между версиями
[досмотренная версия] | [досмотренная версия] |
Biryukov (обсуждение | вклад) |
Biryukov (обсуждение | вклад) |
||
Строка 1149: | Строка 1149: | ||
** '''hasAnotherBusinessTicketsRtn''' – наличие обратных билетов бизнес класса из групп перелетов, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]]. | ** '''hasAnotherBusinessTicketsRtn''' – наличие обратных билетов бизнес класса из групп перелетов, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]]. | ||
** '''hasGDSFlight''' – информация о GDS перелетах в туре: 1 – все перелеты локальные, 2 – хотя бы один перелет из GDS и его выбор обязателен, 3 – хотя бы один перелет из GDS и его выбор необязателен и нет обязательных перелетов из GDS. Начиная с релиза 15.5. | ** '''hasGDSFlight''' – информация о GDS перелетах в туре: 1 – все перелеты локальные, 2 – хотя бы один перелет из GDS и его выбор обязателен, 3 – хотя бы один перелет из GDS и его выбор необязателен и нет обязательных перелетов из GDS. Начиная с релиза 15.5. | ||
− | Если используется API Слетать и мы получили в параметре '''hasGDSFlight''' 2 или 3, то для расчета стоимости перелетов после вызова GetTours необходимо вызвать [[Мастер-Тур(15):API для отдачи цен в поисковые системы#Актуализация тура (ActualizeTour)|ActualizeTour]], а затем последовательно вызвать методы для получения цены регулярного перелета [[Мастер-Тур(15):API для | + | Если используется API Слетать и мы получили в параметре '''hasGDSFlight''' 2 или 3, то для расчета стоимости перелетов после вызова GetTours необходимо вызвать [[Мастер-Тур(15):API для отдачи цен в поисковые системы#Актуализация тура (ActualizeTour)|ActualizeTour]], а затем последовательно вызвать методы для получения цены регулярного перелета [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Поиск рейсов из внешней системы (GetGDSFlights)|GetGDSFlights]], [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Выгрузка информации от внешнего поставщика по перелету (RebuildFlights)|RebuidFlights]] и [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Расчет путевки (CalculateReservation)|CalculateReservation]]. |
** '''hasGDSHotel''' – информация о GDS отелях в туре: 1 – локальный отель, 2 – хотя бы один отель из GDS. Начиная с релиза 15.5. | ** '''hasGDSHotel''' – информация о GDS отелях в туре: 1 – локальный отель, 2 – хотя бы один отель из GDS. Начиная с релиза 15.5. | ||
** '''tourUrl''' – ссылка на корзину (при переходе по которой можно забронировать тур). | ** '''tourUrl''' – ссылка на корзину (при переходе по которой можно забронировать тур). | ||
Строка 1808: | Строка 1808: | ||
**** '''DateTo''' – дата действия предложения по | **** '''DateTo''' – дата действия предложения по | ||
**** '''Message''' – информация | **** '''Message''' – информация | ||
− | Начиная с релиза 15.8 был добавлен блок '''flightGDSRequest''', возвращающий данные по внешним перелетам. Если используется API Слетать, то ответ из секции '''flightGDSRequest''' метода API [[Мастер-Тур(15):API для отдачи цен в поисковые системы#Актуализация тура (ActualizeTour)|ActualizeTour]] передается в метод [[Мастер-Тур(15):API для | + | Начиная с релиза 15.8 был добавлен блок '''flightGDSRequest''', возвращающий данные по внешним перелетам. Если используется API Слетать, то ответ из секции '''flightGDSRequest''' метода API [[Мастер-Тур(15):API для отдачи цен в поисковые системы#Актуализация тура (ActualizeTour)|ActualizeTour]] передается в метод [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Поиск рейсов из внешней системы (GetGDSFlights)|GetGDSFlights]]. Далее для получения цены выполняем методы [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Выгрузка информации от внешнего поставщика по перелету (RebuildFlights)|RebuidFlights]] и [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Расчет путевки (CalculateReservation)|CalculateReservation]]. <br /> |
** '''flightGDSRequest''' – общий блок информации о внешних перелетах | ** '''flightGDSRequest''' – общий блок информации о внешних перелетах | ||
*** '''flightsSource''' – блок, который возвращает информацию по перелетам | *** '''flightsSource''' – блок, который возвращает информацию по перелетам |
Версия 10:18, 15 сентября 2023
Версия статьи от 15-09-2023.
Поддерживаемые версии ПК «Мастер-Тур»: |
Содержание
- 1 Введение
- 2 Установка
- 3 Загрузка справочников
- 3.1 Выгрузка списка стран (GetCountries)
- 3.2 Выгрузка списка городов вылета (GetDepartCities)
- 3.3 Выгрузка списка городов (GetResorts)
- 3.4 Выгрузка типов тура (GetTourTypes) начиная с релиза 15.4
- 3.5 Выгрузка актуальных дат заездов (GetDates) начиная с релиза 15.4
- 3.6 Выгрузка актуальных продолжительностей (GetDurations) начиная с релиза 15.4
- 3.7 Выгрузка программ туров (GetTourPrograms) начиная с релиза 15.4
- 3.8 Выгрузка списка курортов (GetAreas) начиная с релиза 15.3
- 3.9 Выгрузка списка категорий отелей (GetHotelCategories)
- 3.10 Выгрузка списка отелей (GetHotels)
- 3.11 Выгрузка описания и изображений отеля (GetHotelInfo) начиная с релиза 15.5
- 3.12 Выгрузка списка типов номеров (GetRooms) начиная с релиза 15.3
- 3.13 Выгрузка списка типов номеров (GetRoomTypes) начиная с релиза 15.3
- 3.14 Выгрузка списка типов размещения (GetHtPlaces) начиная с релиза 15.3
- 3.15 Выгрузка видов питания (GetMeals)
- 3.16 Выгрузка списка валют (GetCurrencies)
- 3.17 Выгрузка курсов валют (GetCurrencyRates)
- 4 Поиск туров (GetTours)
- 5 Поиск всех цен по туру (GetToursAllPrices) начиная с релиза 15.3
- 6 Актуализация тура (ActualizeTour)
Введение
Данный 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
}
]
}
|
Выгрузка типов тура (GetTourTypes) начиная с релиза 15.4
Метод возвращает список типов туров по определенному городу отправления, стране и городу прибытия.
- Формат запроса:
- ?action=GetTourTypes
- Принимаемые параметры:
- id – идентификатор типа тура (опциональный, передача в запрос нескольких id не обрабатывается, в этом случае возвращаются все результаты. Если указан, то запрашивается только одна запись)
- Либо
- departureCityIds * – идентификатор города(ов) отправления (из метода GetDepartCities)
- countryId * – идентификатор страны прибытия (из метода GetCountries)
- resortIds * – идентификатор города(ов) прибытия (из метода GetResorts), при значении -1 будут переданы все города в рамках данной страны
- Возвращаемый результат:
- id – идентификатор типа тура
- name – название типа тура
Вызов метода GetTourTypes http://localhost:9000/TourSearchOwin/searchApi?action=GetTourTypes&departureCityIds=1&countryId=90&resortIds=-1
Возвращаемый результат метода GetTourTypes (в формате JSON) {
"version": "1.08",
"TourTypes": [
{
"id": 1,
"name": "Стандартный тур"
},
{
"id": 5,
"name": "Экскурсионный тур",
"lname": "Hammamet"
},
{
"id": 40,
"name": "Пляжный отдых"
}
]
}
|
Выгрузка актуальных дат заездов (GetDates) начиная с релиза 15.4
Метод возвращает список доступных дат заездов для поискового запроса
- Формат запроса:
- ?action=GetDates
- Принимаемые параметры:
- departureCityIds * – идентификатор города(ов) отправления (из метода GetDepartCities)
- countryId * – идентификатор страны прибытия (из метода GetCountries)
- resortIds * – идентификатор города(ов) прибытия (из метода GetResorts), при значении -1 будут переданы все города в рамках данной страны
- tourTypeIds * – идентификатор типа(ов) тура (из метода GetTourTypes), при значении -1 будут переданы все типы тура в рамках данной страны
- Возвращаемый результат:
- массив актуальных дат заезда в формате dd.MM.yyyy
Вызов метода GetDates http://localhost:9000/TourSearchOwin/searchApi?action=GetDates&departureCityIds=1&countryId=90&resortIds=-1&tourTypeIds=22
Возвращаемый результат метода GetDates (в формате JSON) {
"version": "1.08",
"dates": [
"01.08.2019",
"02.08.2019",
"03.08.2019",
"04.08.2019",
"05.08.2019",
"06.08.2019",
"07.08.2019",
"08.08.2019",
"09.08.2019",
"10.08.2019"
]
}
|
Выгрузка актуальных продолжительностей (GetDurations) начиная с релиза 15.4
Метод возвращает список доступных продолжительностей для поискового запроса
- Формат запроса:
- ?action=GetDurations
- Принимаемые параметры:
- departureCityIds * – идентификатор города(ов) отправления (из метода GetDepartCities)
- countryId * – идентификатор страны прибытия (из метода GetCountries)
- resortIds * – идентификатор города(ов) прибытия (из метода GetResorts), при значении -1 будут переданы все города в рамках данной страны
- tourTypeIds * – идентификатор типа(ов) тура (из метода GetTourTypes), при значении -1 будут переданы все типы тура в рамках данной страны
- tourDates * – массив дат заездов в формате dd.MM.yyyy (из метода GetDates)
- Возвращаемый результат:
- durations – массив актуальных продолжительностей (в днях)
- durationType – тип продолжительности: 0 – в днях тура, 1 – в ночах тура, 2 – в ночах проживания в отеле.
Вызов метода GetDurations http://localhost:9000/TourSearchOwin/searchApi?action=GetDurations&departureCityIds=1&countryId=90&resortIds=-1&tourTypeIds=22&tourDates=22.05.2019,28.05.2019
Возвращаемый результат метода GetDurations (в формате JSON) {
"version": "1.08",
"durations": [
8,
9,
10,
11,
12,
13,
14
],
"durationType": 0
}
|
Выгрузка программ туров (GetTourPrograms) начиная с релиза 15.4
Метод возвращает список актуальных для поиска программ туров
- Формат запроса:
- ?action=GetTourPrograms
- Принимаемые параметры:
- id * – идентификатор программы тура (обязательный, передача в запрос нескольких id не обрабатывается, в этом случае возвращается ошибка. Если указан, то запрашивается только одна запись)
- Либо
- departureCityIds * – идентификатор города(ов) отправления (из метода GetDepartCities)
- countryId * – идентификатор страны прибытия (из метода GetCountries)
- resortIds * – идентификатор города(ов) прибытия (из метода GetResorts), при значении -1 будут переданы все города в рамках данной страны
- tourTypeIds * – идентификатор типа(ов) тура (из метода GetTourTypes), при значении -1 будут переданы все типы тура в рамках данной страны
- fromDateTime – дата (в формате dd.MM.yyyy HH:mm:ss), начиная с которой будут выгружаться изменения (то есть будут получены только те доступные программы туров, которые изменялись, начиная с указанной даты)
- Возвращаемый результат:
- id – ключ программы туров
- name – название программы туров
- updateDate – дата последнего изменения программы туров (или связанных с ней компонентов)
- beginDate – дата начала заездов по программе туров (в формате dd.MM.yyyy)
- endDate – дата окончания заездов по программе туров (в формате dd.MM.yyyy)
- tourTypeIds – типы туров для данной программы туров
- routes – массив возможных маршрутов в данной программе туров
- departureCountryKey – страна начала поездки (для каждой страны начала поездки в одной программе тура будет отдельный маршрут)
- departureCityKey – город начала поездки (для каждого города начала поездки в одной программе тура будет отдельный маршрут)
- destinationCountryKeys – страны по туру (если в туре несколько услуг класса отель и они в разных странах, то будут возвращаться все страны отелей)
- destinationCityKeys – города по туру (если в туре отели в нескольких городах, то будут возвращаться все города отелей)
Вызов метода GetTourPrograms http://localhost:9000/TourSearchOwin/searchApi?action=GetTourPrograms&departureCityIds=1&countryId=90&resortIds=-1&tourTypeIds=22&fromDateTime=22.05.2019 12:00:00
Возвращаемый результат метода GetTourPrograms (в формате JSON) {
"version": "1.08",
"TourPrograms": [{
"id": 100004493,
"name": "Автобусный тур",
"updateDate": "2019-05-20T17:17:02.087",
"beginDate": "01.06.2019",
"endDate": "01.08.2019",
"tourTypeIds": [2,
22],
"routes": [{
"departureCountryId": 460,
"departureCityId": 1,
"destinationCountryIds": [90],
"destinationCityIds": [35]
}]
},
{
"id": 100005542,
"name": "Общая проверка системы",
"updateDate": "2019-05-15T15:54:10.81",
"beginDate": "01.03.2018",
"endDate": "15.08.2019",
"tourTypeIds": [22],
"routes": [{
"departureCountryId": 460,
"departureCityId": 1,
"destinationCountryIds": [90],
"destinationCityIds": [35,
440,
562]
}]
}]
}
|
Выгрузка списка курортов (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 – адрес в интернете отеля
- latitude – GPS координаты: географическая широта (обрабатывается с релиза 15.6)
- longitude – GPS координаты: географическая долгота (обрабатывается с релиза 15.6)
- timeFrom – заезд в отель (обрабатывается с релиза 15.7)
- timeTo – выезд из отеля (обрабатывается с релиза 15.7)
Вызов метода 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,
"latitude": null,
"longitude": 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,
"latitude": null,
"longitude": null,
"timeFrom": "14:00",
"timeTo": "12:00"
},
{
"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,
"latitude": null,
"longitude": null,
"timeFrom": "14:00",
"timeTo": "12:00"
},
{
"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,
"latitude": null,
"longitude": null,
"timeFrom": "14:00",
"timeTo": "12:00"
}
]
}
|
Выгрузка описания и изображений отеля (GetHotelInfo) начиная с релиза 15.5
Метод возвращает описания и изображения запрашиваемого отеля.
- Формат запроса:
- ?action=GetHotelInfo
- Принимаемые параметры:
- hotelKey * – идентификатор отеля
- needImages – возвращать ли изображения отеля в ответе: 0 – не возвращать, 1 – возвращать.
- imageSize – варианты размера возвращаемых изображений. Обрабатывается только если передан параметр needImages = 1 и в этом случае является обязательным параметром. Возможные значения: 0 – small, 1 – medium, 2 – big.
- Возвращаемый результат:
- Images – массив изображений отеля
- Key – ключ изображения
- Description – описание изображения отеля
- Priority – приоритет изображения
- Image – изображение в byte array
- Country – страна отеля
- City – город отеля
- Name – название отеля
- HotelCategoryName – название категории отеля
- Address – адрес отеля
- Phone – телефон отеля
- Email – e-mail отеля
- Http – адрес в интернете отеля
- Description – описание
- InfrastructureHotel – инфраструктура отеля
- RecreationSport – развлечение и спорт
- Beach – пляж
- Healing – лечение
- Excursion – экскурсии
- AdditionalService – дополнительные услуги
- ForChildren – для детей
- AddCost – доплаты
- checkInTime – время заезда в отель (обрабатывается с релиза 15.6)
- checkOutTime – время выезда из отеля (обрабатывается с релиза 15.6)
- latitude – GPS координаты: географическая широта (обрабатывается с релиза 15.6)
- longitude – GPS координаты: географическая долгота (обрабатывается с релиза 15.6)
- Images – массив изображений отеля
Вызов метода GetHotelInfo http://localhost:9000/TourSearchOwin/searchApi?action=GetHotelInfo&hotelKey=8659&needImages=1&imageSize=2
Возвращаемый результат метода GetHotelInfo (в формате JSON) {
"version": "1.08",
"hotelInfoAndPhoto": {
"Images": [
{
"Key": 2618,
"Description": "Общий вид отеля",
"Priority": 1,
"Image": "iVBORw0KGgoAAAANSUhEUgAAARUAAAC0CAYAAAC62bgdSR0IArs4c6QAAAARnQU1BAA....."
},
{
"Key": 2786,
"Description": "Вид на бассейн",
"Priority": 2,
"Image": "/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw.....="
}
],
"Country": "Австрия",
"City": "Вена",
"Name": "ContinentalSun",
"HotelCategoryName": "HV",
"Address": "Ул. Пушкина, 100, Вена, Австрия",
"Phone": "+79991234567",
"Email": "sun@sun.com",
"Http": "www.sun.ru",
"Description": "<p>Описание<\/p>",
"InfrastructureHotel": "<p>Инфраструктура отеля<\/p>",
"RecreationSport": "<p>Развлечение и спорт<\/p>",
"Beach": "<p>Пляж<\/p>",
"Healing": "<p>Лечение<\/p>",
"Excursion": "<p>Экскурсии<\/p>",
"AdditionalService": "<p>Дополнительные услуги<\/p>",
"ForChildren": "<p>Для детей<\/p>",
"AddCost": "<p>Доплата<\/p>",
"checkInTime": null,
"checkOutTime": null,
"latitude": null,
"longitude": 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 – идентификатор национальной валюты, либо произвольной валюты, указанной в настройке basketCurrency в конфигурационном файле (обрабатывается с релиза 15.6)
- 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¤cyId=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 – идентификаторы городов, перечисление через запятую.
- areas – идентификаторы курортов, перечисление через запятую.
- tourTypeIds – идентификаторы типов тура, перечисление через запятую (начиная с релиза 15.4).
- tourProgramIds – идентификаторы программ туров, перечисление через запятую (начиная с релиза 15.4).
- 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.
- hasGDSFlight – подбирать туры с GDS перелетами. Параметр обрабатывается, начиная с релиза 15.5.
- 0 – подбирать любые туры, вне зависимости от того, есть в них GDS перелеты или нет (значение по умолчанию)
- 1 – подбирать туры только с локальными перелетами
- 2 – подбирать туры только с обязательными GDS перелетами
- 3 – подбирать туры только с необязательными GDS перелетами
- 4 – подбирать туры, в которых в одном направлении присутствует обязательный GDS перелет, а в другом направлении есть обязательный и необязательный GDS перелет (на двух вкладках в программе туров)
- hasGDSHotel – подбирать туры с GDS отелями. Параметр обрабатывается, начиная с релиза 15.5.
- 0 – подбирать любые туры, вне зависимости от того, есть в них GDS отели или нет (значение по умолчанию)
- 1 – подбирать туры только с локальными отелями
- 2 – подбирать туры только с GDS отелями
- Возвращаемый результат:
- 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 значение данного параметра будет проигнорировано.
- hasAnotherEconomTicketsDpt – наличие билетов эконом класса из групп перелетов, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
- hasEconomTicketsRtn – наличие обратных билетов эконом класса из рассчитанной цены, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано.
- hasAnotherEconomTicketsRtn – наличие обратных билетов эконом класса из групп перелетов, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
- hasBusinessTicketsDpt – наличие билетов бизнес класса из рассчитанной цены, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано.
- hasAnotherBusinessTicketsDpt – наличие билетов бизнес класса из групп перелетов, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
- hasBusinessTicketsRtn – наличие обратных билетов бизнес класса из рассчитанной цены, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано.
- hasAnotherBusinessTicketsRtn – наличие обратных билетов бизнес класса из групп перелетов, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
- hasGDSFlight – информация о GDS перелетах в туре: 1 – все перелеты локальные, 2 – хотя бы один перелет из GDS и его выбор обязателен, 3 – хотя бы один перелет из GDS и его выбор необязателен и нет обязательных перелетов из GDS. Начиная с релиза 15.5.
Если используется API Слетать и мы получили в параметре hasGDSFlight 2 или 3, то для расчета стоимости перелетов после вызова GetTours необходимо вызвать ActualizeTour, а затем последовательно вызвать методы для получения цены регулярного перелета GetGDSFlights, RebuidFlights и CalculateReservation.
- hasGDSHotel – информация о GDS отелях в туре: 1 – локальный отель, 2 – хотя бы один отель из GDS. Начиная с релиза 15.5.
- 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 – ключ партнера.
- gdsProviderId – ключ провайдера из внешней системы.
- totalTourDuration – общая продолжительность тура в днях.
- hotels – массив отелей, который соответствует количеству отелей в туре. Каждая запись массива содержит в себе информацию по одному отелю. Для многоотельных туров выводятся по порядку проживания в отелях.
- countryId – идентификатор страны
- countryName – название страны
- resortId – идентификатор города, в котором расположен отель
- resortName – название города, в котором расположен отель
- areaId – идентификатор курорта, в котором расположен отель
- areaName – название курорта, в котором расположен отель
- hotelId – идентификатор отеля
- hotelName – название отеля
- hotelUrl – ссылка на страницу с описанием отеля
- hotelCategoryId – идентификатор категории отеля
- hotelCategoryName – название категории отеля
- roomId – идентификатор типа номера
- roomName – название типа номера
- roomTypeId – идентификатор категории номера
- roomTypeName – название категории номера
- htPlaceId – идентификатор типа размещения
- htPlaceName – название типа размещения
- mealId – идентификатор питания
- mealName – название питания
- checkIn – дата заезда в отель
- checkOut – дата выезда из отеля
- checkInTime – время заезда в отель (обрабатывается с релиза 15.6)
- checkOutTime – время выезда из отеля (обрабатывается с релиза 15.6)
- latitude – GPS координаты: географическая широта (обрабатывается с релиза 15.6)
- longitude – GPS координаты: географическая долгота (обрабатывается с релиза 15.6)
- htNights – количество ночей в отеле
- hotelIsInStop – наличие мест в отеле, допустимы значения: 0 – есть места, 1 – нет мест, 2 – запрос
- isGDS – информация о том, локальный отель или из GDS системы: 0 – локальный отель, 1 – отель из GDS. Начиная с релиза 15.5.
- hotelScheme – объект схемы отеля
- templateId – идентификатор шаблона услуги
- durationInNight – продолжительность отеля в ночах
- code – ключ отеля
- packetKey – ключ пакета
- partnerKey – ключ партнера
- gdsProviderId – ключ провайдера из внешней системы
- totalTourDuration – общая продолжительность тура в днях
- services – массив услуг, которые входят в тур (заполняется по настройке showServiceDescription в конфигурационном файле TourSearchOwin, обрабатывается с релиза 15.6)
- ServiceType – класс услуги
- Code – код (ключ) услуги
- SubCode1 – доп. описание 1 услуги
- SubCode2 – доп. описание 2 услуги
- PacketId – ключ пакета цены услуги
- PartnerId – ключ партнера цены услуги (заполняется по настройке showServicePartner в конфигурационном файле TourSearchOwin, обрабатывается с релиза 15.6)
- CountryId – ключ страны услуги
- CityId – ключ города услуги
- DateBegin – дата предоставления услуги в формате dd.MM.yyyy (пример: 01.08.2020)
- DateEnd – дата окончания услуги в формате dd.MM.yyyy (пример: 01.08.2020)
- TimeBegin – время начала услуги в формате hh:mm (пример: 06:00), обрабатывается только для авиаперелетов и автобусных переездов
- TimeEnd – время окончания услуги в формате hh:mm (пример: 22:00), обрабатывается только для авиаперелетов и автобусных переездов
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- GDSProviderId – ключ внешнего провайдера услуги (GDS)
- Name – название услуги
- Price – нетто стоимость услуги (заполняется по настройке showServiceNetto в конфигурационном файле TourSearchOwin, обрабатывается с релиза 15.6)
- Cost – брутто стоимость услуги (заполняется по настройке showServiceBrutto в конфигурационном файле TourSearchOwin, обрабатывается с релиза 15.6)
- Availability – результат проверки квоты по услуге: 0 – нет мест, 1 – есть места, 2 – запрос
- Tariffs – поле cs_trfid из таблицы tbl_costs. В ответе должны быть через запятую уникальные id этих тарифов, исходя из цен, по которым считалось
Вызов метода 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¤cyId=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_98
&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¤cy=USD",
"hasGDSFlight ": 0,
"hasGDSHotel ": 0,
"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,
"gdsProviderId" 98,
"totalTourDuration" 11
}
"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",
"checkInTime": null,
"checkOutTime": null,
"latitude": null,
"longitude": null,
"htNights": 6,
"hotelIsInStop": 2,
"isGDS": 0,
"hotelScheme": {
"templateId": 4,
"durationInNight": 6,
"code": 705,
"packetKey": 1083,
"partnerKey": 12695,
"gdsProviderId": 98,
"totalTourDuration": 7
}
},
{
"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",
"checkInTime": null,
"checkOutTime": null,
"latitude": null,
"longitude": null,
"htNights": 4,
"hotelIsInStop": 2,
"isGDS": 0,
"hotelScheme": {
"templateId": 3,
"durationInNight": 4,
"code": 178,
"packetKey": 1085,
"partnerKey": 12796,
"gdsProviderId" 98,
"totalTourDuration" 5
}
}]
},
}
|
Поиск всех цен по туру (GetToursAllPrices) начиная с релиза 15.3
Метод поиска туров использует множество параметров для поиска и фильтрации туров. Метод возвращает цены, не сгруппированные по отелям. Количество туров в выдаче регулируется параметром count.
Существует возможность ограничить количество цен, отдаваемых методом GetToursAllPrices. Регулируется настройкой getToursAllPricesMaxCostCount.
- Формат запроса:
- ?action=GetToursAllPrices&count=int&countryId=int&departCityId=int&dateFrom=date&dateTo=date&adults=int&kids=int&nightsMin=int&nightsMax=int¤cyId=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 – идентификаторы городов, перечисление через запятую.
- areas – идентификаторы курортов, перечисление через запятую.
- tourTypeIds – идентификаторы типов тура, перечисление через запятую (начиная с релиза 15.4).
- tourProgramIds – идентификаторы программ туров, перечисление через запятую (начиная с релиза 15.4).
- hotelCategories – идентификаторы категорий отелей, перечисление через запятую.
- hotels – идентификаторы отелей, перечисление через запятую.
- meals – идентификаторы видов питания, перечисление через запятую.
- currencyId * – валюта, в которой будут выданы цены, а также валюта для входящих параметров priceMin и priceMax (если они есть).
- priceMin – Цена тура от.
- priceMax – Цена тура до.
- hotelIsNotInStop – при значении 1 в результатах не должно быть отелей в стопе (отели со статусом «под запрос» допустимы). При значении 0 в результат должны попадать как отели в стопе, так и отели с наличием мест и с местами по запросу.
- ticketsIncluded * – при значении 1 в результатах должны быть только туры с включенной стоимостью перелета («только отель» недопустимы). При значении 0 в результат должны попадать как туры без перелета, так и туры с перелетом.
- hasTickets – при значении 1 в результатах должны быть туры только с реальным наличием билетов в перелете (не должно быть туров со стопом на перелете, перелеты со статусом «под запрос» недопустимы). При значении 0 в результат должны попадать как туры без билетов на рейс, так и туры с наличием билетов и с билетами по запросу.
- excludeUsualTours – при значении 1 из результатов должны быть исключены туры, являющиеся обычными турами (не являющиеся многоотельными). При значении 0 или отсутствии данного параметра такие туры должны быть включены в результат.
- excludeCombined – при значении 1 из результатов должны быть исключены туры, являющиеся многоотельными. При значении 0 или отсутствии данного параметра такие туры должны быть включены в результат.
- hasGDSFlight – подбирать туры с GDS перелетами. Параметр обрабатывается, начиная с релиза 15.5.
- 0 – подбирать любые туры, вне зависимости от того, есть в них GDS перелеты или нет (значение по умолчанию)
- 1 – подбирать туры только с локальными перелетами
- 2 – подбирать туры только с обязательными GDS перелетами
- 3 – подбирать туры только с необязательными GDS перелетами
- 4 – подбирать туры, в которых в одном направлении присутствует обязательный GDS перелет, а в другом направлении есть обязательный и необязательный GDS перелет (на двух вкладках в программе туров)
- hasGDSHotel – подбирать туры с GDS отелями. Параметр обрабатывается, начиная с релиза 15.5.
- 0 – подбирать любые туры, вне зависимости от того, есть в них GDS отели или нет (значение по умолчанию)
- 1 – подбирать туры только с локальными отелями
- 2 – подбирать туры только с GDS отелями
- 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 значение данного параметра будет проигнорировано.
- hasAnotherEconomTicketsDpt – наличие билетов эконом класса из групп перелетов, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
- hasEconomTicketsRtn – наличие обратных билетов эконом класса из рассчитанной цены, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано.
- hasAnotherEconomTicketsRtn – наличие обратных билетов эконом класса из групп перелетов, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
- hasBusinessTicketsDpt – наличие билетов бизнес класса из рассчитанной цены, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано.
- hasAnotherBusinessTicketsDpt – наличие билетов бизнес класса из групп перелетов, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
- hasBusinessTicketsRtn – наличие обратных билетов бизнес класса из рассчитанной цены, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано.
- hasAnotherBusinessTicketsRtn – наличие обратных билетов бизнес класса из групп перелетов, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
- hasGDSFlight – информация о GDS перелетах в туре: 1 – все перелеты локальные, 2 – хотя бы один перелет из GDS и его выбор обязателен, 3 – хотя бы один перелет из GDS и его выбор необязателен и нет обязательных перелетов из GDS. Начиная с релиза 15.5.
- hasGDSHotel – информация о GDS отелях в туре: 1 – локальный отель, 2 – хотя бы один отель из GDS. Начиная с релиза 15.5.
- 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 – ключ партнера.
- gdsProviderId – ключ провайдера из внешней системы.
- totalTourDuration – общая продолжительность тура в днях.
- hotels – массив отелей, который соответствует количеству отелей туре. Каждая запись массива содержит в себе информацию по одному отелю. Для многоотельных туров выводятся по порядку проживания в отелях.
- countryId – идентификатор страны
- countryName – название страны
- resortId – идентификатор города, в котором расположен отель
- resortName – название города, в котором расположен отель
- areaId – идентификатор курорта, в котором расположен отель
- areaName – название курорта, в котором расположен отель
- hotelId – идентификатор отеля
- hotelName – название отеля
- hotelUrl – ссылка на страницу с описанием отеля
- hotelCategoryId – идентификатор категории отеля
- hotelCategoryName – название категории отеля
- roomId – идентификатор типа номера
- roomName – название типа номера
- roomTypeId – идентификатор категории номера
- roomTypeName – название категории номера
- htPlaceId – идентификатор типа размещения
- htPlaceName – название типа размещения
- mealId – идентификатор питания
- mealName – название питания
- checkIn – дата заезда в отель
- checkOut – дата выезда из отеля
- CheckInTime – время заезда в отель (обрабатывается с релиза 15.6)
- CheckOutTime – время выезда из отеля (обрабатывается с релиза 15.6)
- latitude – GPS координаты: географическая широта (обрабатывается с релиза 15.6)
- longitude – GPS координаты: географическая долгота (обрабатывается с релиза 15.6)
- htNights – количество ночей в отеле
- hotelIsInStop – наличие мест в отеле, допустимы значения: 0 – есть места, 1 – нет мест, 2 – запрос
- isGDS – информация о том, локальный отель или из GDS системы: 0 – локальный отель, 1 – отель из GDS. Начиная с релиза 15.5.
- hotelScheme – объект схемы отеля
- templateId – идентификатор шаблона услуги
- durationInNight – продолжительность отеля в ночах
- code – ключ отеля
- packetKey – ключ пакета
- partnerKey – ключ партнера
- gdsProviderId – ключ провайдера из внешней системы
- totalTourDuration – общая продолжительность тура в днях
- services – массив услуг, которые входят в тур (заполняется по настройке showServiceDescription в конфигурационном файле TourSearchOwin, обрабатывается с релиза 15.6)
- ServiceType – класс услуги
- Code – код (ключ) услуги
- SubCode1 – доп. описание 1 услуги
- SubCode2 – доп. описание 2 услуги
- PacketId – ключ пакета цены услуги
- PartnerId – ключ партнера цены услуги (заполняется по настройке showServicePartner в конфигурационном файле TourSearchOwin, обрабатывается с релиза 15.6)
- CountryId – ключ страны услуги
- CityId – ключ города услуги
- DateBegin – дата предоставления услуги в формате dd.MM.yyyy (пример: 01.08.2020)
- DateEnd – дата окончания услуги в формате dd.MM.yyyy (пример: 01.08.2020)
- TimeBegin – время начала услуги в формате hh:mm (пример: 06:00), обрабатывается только для авиаперелетов и автобусных переездов
- TimeEnd – время окончания услуги в формате hh:mm (пример: 22:00), обрабатывается только для авиаперелетов и автобусных переездов
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- GDSProviderId – ключ внешнего провайдера услуги (GDS)
- Name – название услуги
- Price – нетто стоимость услуги (заполняется по настройке showServiceNetto в конфигурационном файле TourSearchOwin, обрабатывается с релиза 15.6)
- Cost – брутто стоимость услуги (заполняется по настройке showServiceBrutto в конфигурационном файле TourSearchOwin, обрабатывается с релиза 15.6)
- Availability – результат проверки квоты по услуге: 0 – нет мест, 1 – есть места, 2 – запрос
- Tariffs – поле cs_trfid из таблицы tbl_costs. В ответе должны быть через запятую уникальные id этих тарифов, исходя из цен, по которым считалось
Вызов метода GetToursAllPrices http://localhost:9000/TourSearchOwin/searchApi?action=GetToursAllPrices&count=20&countryId=90&departCityId=1
&dateFrom=10.10.2018&dateTo=10.10.2018&ticketsIncluded=0&adults=2&kids=0&nightsMin=7&nightsMax=7¤cyId=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_0
&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¤cy=USD",
"hasGDSFlight ": 0,
"hasGDSHotel ": 0,
"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,
"gdsProviderId": 0,
"totalTourDuration": 11
}
"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",
"checkInTime": null,
"checkOutTime": null,
"latitude": null,
"longitude": null,
"htNights": 6,
"hotelIsInStop": 2,
"isGDS": 0,
"hotelScheme": {
"templateId": 4,
"durationInNight": 6,
"code": 705,
"packetKey": 1083,
"partnerKey": 12695,
"gdsProviderId" 0,
"totalTourDuration": 7
}
},
{
"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",
"checkInTime": null,
"checkOutTime": null,
"latitude": null,
"longitude": null,
"htNights": 4,
"hotelIsInStop": 2,
"isGDS": 0,
"hotelScheme": {
"templateId": 3,
"durationInNight": 4,
"code": 178,
"packetKey": 1085,
"partnerKey": 12796,
"gdsProviderId" 0,
"totalTourDuration": 5
}
}]
},
}
|
Актуализация тура (ActualizeTour)
Метод служит для получения окончательной цены тура (со всеми обязательными доплатами и сборами), списка включенных в стоимость тура услуг, а также вариантов перелета, возможных дополнительных услуг и доплат по ним. Метод должен возвращать цену самой дешевой конфигурации запрашиваемого предложения. Для корректной работы метода необходимо, чтобы offerId был уникален для предложений с разным составом группы туристов, даже в случае если все прочие параметры предложений совпадают.
- Формат запроса:
- ?action=ActualizeTour
- Принимаемые параметры ( * – обязательный):
- offerId * – уникальный идентификатор ранее найденного предложения.
- currencyId * – валюта, в которой рассчитывается цена и доплаты.
- Возвращаемый результат ( * – обязательный):
- price * – актуализированная цена тура в валюте, которая была указана во входном параметре currencyId.
- ticketsIsIncluded * – включена ли стоимость билетов в стоимость тура, допустимы значения: 0 – не включена (тур только отель), 1 – включена (пакетный тур).
- hotelIsInStop – наличие мест в отеле, допустимы значения: 0 – есть места, 1 – нет мест, 2 – запрос.
- hasEconomTicketsDpt – наличие билетов эконом класса из рассчитанной цены, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано.
- hasAnotherEconomTicketsDpt – наличие билетов эконом класса из групп перелетов, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
- hasEconomTicketsRtn – наличие обратных билетов эконом класса из рассчитанной цены, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано.
- hasAnotherEconomTicketsRtn – наличие обратных билетов эконом класса из групп перелетов, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
- hasBusinessTicketsDpt – наличие билетов бизнес класса из рассчитанной цены, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано.
- hasAnotherBusinessTicketsDpt – наличие билетов бизнес класса из групп перелетов, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
- hasBusinessTicketsRtn – наличие обратных билетов бизнес класса из рассчитанной цены, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано.
- hasAnotherBusinessTicketsRtn – наличие обратных билетов бизнес класса из групп перелетов, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке flightTariffGroups.
- 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.
- isGDS – информация о том, локальный отель или из GDS системы: 0 – локальный отель, 1 – отель из GDS. Начиная с релиза 15.5.
- cancelationPolicy – информация о правилах аннуляции из GDS систем. Начиная с релиза 15.5.
- Date – дата наступления штрафа
- Amount – величина штрафа
- Currency – валюта штрафа
- Info – информация по штрафу
- bookingAdditionalInfo – информация об отеле из GDS систем. Начиная с релиза 15.5.
- DateFrom – дата действия предложения с
- DateTo – дата действия предложения по
- Message – информация
Начиная с релиза 15.8 был добавлен блок flightGDSRequest, возвращающий данные по внешним перелетам. Если используется API Слетать, то ответ из секции flightGDSRequest метода API ActualizeTour передается в метод GetGDSFlights. Далее для получения цены выполняем методы RebuidFlights и CalculateReservation.
- flightGDSRequest – общий блок информации о внешних перелетах
- flightsSource – блок, который возвращает информацию по перелетам
- flightSettings – информация о шаблоне услуги авиаперелета
- templateId – идентификатор шаблона услуги
- patternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
- serviceId – идентификатор класса услуги (внутренняя информация из программы туров)
- service – информация об услуге авиаперелета
- ServiceType – тип услуги
- Code – ключ услуги
- SubCode1 – доп. описание 1
- SubCode2 – доп. описание 2
- CountryId – страна услуги
- CityId – город услуги
- PacketId – пакет услуги
- PartnerId – партнер услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- price – стоимость перелета
- quotaInfo – объект информация по квотам
- status – статус по квотам (есть места / нет мест / под запрос)
- freePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- isFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- flightDateTimeLimitationInterval –
- startLimitation – начало тайм-лимита
- finishLimitation – объект тайм-лимита
- dateTimeString – дата окончания тайм-лимита
- serviceType – тип услуги
- serviceCode – код услуги
- flightSourceMode – тип перелета (1 – локальный, 2 – из внешний системы)
- passengers – информация о пассажирах
- IsMain – главный турист
- Number – порядковый номер туриста
- AgeType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
- MaleFemaleSex – пол (0 – мужской, 1 – женский)
- FirstName – имя (лат)
- LastName – фамилия (лат)
- Patronymic – отчество (лат)
- FirstNameRus – имя (рус)
- LastNameRus – фамилия (рус)
- PatronymicRus – отчество (рус)
- InternationalPassportSeries – серия загранпаспорта
- InternationalPassportNumber – номер загранпаспорта
- InternationalPassportDateOfIssue – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
- InternationalPassportDateOfIssueString – дата выдачи загранпаспорта в строке (DD.MM.YYYY)
- InternationalPassportDateOfExpiry – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
- InternationalPassportDateOfExpiryString – дата окончания действия загранпаспорта в строке (DD.MM.YYYY)
- internationalPassportByWhom – кем выдан загранпаспорт
- PassportSeries – серия паспорта
- PassportNumber – номер паспорта
- PassportDateOfIssue – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
- PassportDateOfIssueString – дата выдачи паспорта в строке (DD.MM.YYYY)
- PassportByWhom – кем выдан паспорт
- Citizenship – название страны
- Phone – телефон
- Email – e-mail
- BirthDay – дата рождения (YYYY-MM-DDThh:mm:ssz)
- BirthDayString – дата рождения в строковом формате (DD.MM.YYYY)
- BirthPlace – место рождения
- CitizenID – гражданство
- Age – количество полных лет на момент окончания тура
- tourDate – дата тура
- tourCurrency – валюта тура
- tourId – ключ программы тура
- filterTariff – информация о тарифах
- filterDeptime – информация о времени вылета
- isCommission – признак комиссионной цены
- baseFlightsParams – параметра авиаперелета
- CityArrival – город прибытия
- FlightCode – код авиаперелета
- TariffKey – ключ тарифа
- PartnerId – ключ партнера
- isUpdated – информация об обновлении перелета
- key – ключ запроса
- tourDurationByDays – продолжительность перелета
- langueCode – локализация
- flightSettings – информация о шаблоне услуги авиаперелета
- flightsSource – блок, который возвращает информацию по перелетам
- flightGDSRequest – общий блок информации о внешних перелетах
Вызов метода ActualizeTour http://localhost:9000/TourSearchOwin/searchApi?action=ActualizeTour&offerID=256¤cyId=1
Возвращаемый результат метода ActualizeTour (в формате JSON) {
"version": "1.08",
"actualizedTour": {
"price": 201,
"ticketsIsIncluded": 1,
"hotelIsInStop": 2,
"hasEconomTicketsDpt": 0,
"hasEconomTicketsRtn": 2,
"hasBusinessTicketsDpt": 2,
"hasBusinessTicketsRtn": 0,
"hasAnotherEconomTicketsDpt": 0,
"hasAnotherEconomTicketsRtn": 0,
"hasAnotherBusinessTicketsDpt": 0,
"hasAnotherBusinessTicketsRtn": 2,
"fewPlacesInHotel": null,
"fewEconomTicketsDpt": null,
"fewEconomTicketsRtn": null,
"fewBusinessTicketsDpt": null,
"fewBusinessTicketsRtn": null,
"tourUrl": "http://localhost/TourSearchClient/Basket?departureCities=1&destination=1_90&tour=100011349&date=01.11.22&duration=8&hotelScheme=3_7_178_779_12667_0_8&adultCount=2&hotelQuota=7&aviaQuota=7&busTransferQuota=7&serviceDescriptions=1_0_0_1_1448_67_1_90_35_1037_12792_1_0,3_0_0_3_178_13125_4_90_35_779_12667_1_7,2_1_0_1_1076_89_35_460_1_1037_12792_8_0¤cy=USD",
"services": [{
"id": 0,
"type": "DptTransport",
"name": "А_П::Москва/Вена/3G000, DME-VIE1, 10:00-13:00/C Бизнес класс",
"isIncluded": 1,
"description": "",
"surcharge": 0,
"flightCompatibleIds": "2",
"flightClass": "BUSINESS",
"flightAvailability": 2,
"flightPlacesCount": -1,
"flightAirportFrom": "DME",
"flightAirportTo": "VIE1",
"flightNum": "3G 000",
"flightAirline": "3G",
"flightStartDateTime": "01.11.2022 15:00",
"flightEndDateTime": "01.11.2022 18:00",
"flightAircraft": "757",
"isGDS": 1,
"cancelationPolicy": null,
"bookingAdditionalInfo": null
}, {
"id": 1,
"type": "HotelInfo",
"name": "HOTEL::Вена/Ananas-5+++*,7 [nights]/Double(D Suite),2Ad/BB2 Завтрак",
"isIncluded": 1,
"description": "",
"surcharge": 0,
"flightCompatibleIds": null,
"flightClass": null,
"flightAvailability": -1,
"flightPlacesCount": -1,
"flightAirportFrom": null,
"flightAirportTo": null,
"flightNum": " ",
"flightAirline": null,
"flightStartDateTime": null,
"flightEndDateTime": null,
"flightAircraft": null,
"isGDS": 0,
"cancelationPolicy": null,
"bookingAdditionalInfo": null
}, {
"id": 2,
"type": "RtnTransport",
"name": "А_П::Вена/Москва/SU2355, VIE1-SVO4, 00:10-04:50/Y Экономический класс",
"isIncluded": 1,
"description": "",
"surcharge": 0,
"flightCompatibleIds": "0",
"flightClass": "ECONOM",
"flightAvailability": 2,
"flightPlacesCount": -1,
"flightAirportFrom": "VIE1",
"flightAirportTo": "SVO4",
"flightNum": "SU 2355",
"flightAirline": "SU",
"flightStartDateTime": "08.11.2022 00:10",
"flightEndDateTime": "08.11.2022 04:50",
"flightAircraft": "321",
"isGDS": 1,
"cancelationPolicy": null,
"bookingAdditionalInfo": null
}
],
"flightGDSRequest": {
"flightsSource": [{
"flightSettings": {
"templateId": 1,
"patternId": 0,
"serviceId": 0
},
"service": {
"serviceType": 1,
"code": 1448,
"subCode1": 67,
"subCode2": 1,
"countryId": 90,
"cityId": 35,
"packetId": 1037,
"partnerId": 12792,
"day": 1,
"durationInNight": 0
},
"price": 40,
"quotaInfo": {
"status": 4,
"freePlaces": 0,
"isFewPlaces": false
},
"flightDateTimeLimitationInterval": {
"startLimitation": {
"dateTimeString": "2022-11-01T15:00:00",
"serviceType": 1,
"serviceCode": 1448
},
"finishLimitation": {
"dateTimeString": "2022-11-01T18:00:00",
"serviceType": 1,
"serviceCode": 1448
}
},
"flightSourceMode": 2
}, {
"flightSettings": {
"templateId": 2,
"patternId": 1,
"serviceId": 0
},
"service": {
"serviceType": 1,
"code": 1076,
"subCode1": 89,
"subCode2": 35,
"countryId": 460,
"cityId": 1,
"packetId": 1037,
"partnerId": 12792,
"day": 8,
"durationInNight": 0
},
"price": 20,
"quotaInfo": {
"status": 4,
"freePlaces": 0,
"isFewPlaces": false
},
"flightDateTimeLimitationInterval": {
"startLimitation": {
"dateTimeString": "2022-11-08T00:10:00",
"serviceType": 1,
"serviceCode": 1076
},
"finishLimitation": {
"dateTimeString": "2022-11-08T04:50:00",
"serviceType": 1,
"serviceCode": 1076
}
},
"flightSourceMode": 2
}
],
"passengers": [{
"IsMain": true,
"Number": 1,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "",
"LastName": "",
"Patronymic": "",
"FirstNameRus": "",
"LastNameRus": "",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": "",
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": 18
}, {
"IsMain": false,
"Number": 2,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "",
"LastName": "",
"Patronymic": "",
"FirstNameRus": "",
"LastNameRus": "",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": "",
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": 18
}
],
"tourDate": "2022-11-01T00:00:00",
"tourCurrency": "$",
"tourId": 100011349,
"filterTariff": null,
"filterDeptime": [
"all"
],
"isCommission": true,
"baseFlightsParams": [{
"CityArrival": 35,
"FlightCode": 1448,
"TariffKey": 67,
"PartnerId": 12792
}, {
"CityArrival": 1,
"FlightCode": 1076,
"TariffKey": 89,
"PartnerId": 12792
}
],
"isUpdated": false,
"key": 0,
"tourDurationByDays": 8,
"langueCode": "ru",
"isCanary": false
}
}
}
|