Мастер-Тур(15):API для разработки онлайн поиска и бронирования — различия между версиями
[досмотренная версия] | [непроверенная версия] |
Biryukov (обсуждение | вклад) (→Выгрузка квотируемых услуг системы (QuotedServices)) |
Rogozhin (обсуждение | вклад) (→Поиск туров (Tour)) |
||
Строка 659: | Строка 659: | ||
**** '''Id''' – идентификатор базового шаблона услуги (внутренняя информация из программы туров) | **** '''Id''' – идентификатор базового шаблона услуги (внутренняя информация из программы туров) | ||
**** '''SvKey''' – ключ типа услуги | **** '''SvKey''' – ключ типа услуги | ||
− | **** '''IsSubCode1''' – признак наличия [[ | + | **** '''IsSubCode1''' – признак наличия [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 1]] |
− | **** '''IsSubCode2''' – признак наличия [[ | + | **** '''IsSubCode2''' – признак наличия [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 2]] |
**** '''IsPartnerBasedOn''' – признак услуга с приоритетным подбором поставщика | **** '''IsPartnerBasedOn''' – признак услуга с приоритетным подбором поставщика | ||
**** '''Day''' – день предоставления услуги | **** '''Day''' – день предоставления услуги | ||
Строка 681: | Строка 681: | ||
**** '''ByScheduler''' – флаг услуга по расписанию или нет | **** '''ByScheduler''' – флаг услуга по расписанию или нет | ||
**** '''Details''' – объект детализация услуги | **** '''Details''' – объект детализация услуги | ||
− | ***** '''SubCode1''' – объект [[ | + | ***** '''SubCode1''' – объект [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 1]] |
****** '''Key''' – ключ доп. описания 1 | ****** '''Key''' – ключ доп. описания 1 | ||
****** '''Value''' – название доп. описания 1 | ****** '''Value''' – название доп. описания 1 | ||
− | ***** '''SubCode2''' – объект [[ | + | ***** '''SubCode2''' – объект [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 2]] |
****** '''Key''' – ключ доп. описания 2 | ****** '''Key''' – ключ доп. описания 2 | ||
****** '''Value''' – название доп. описания 2 | ****** '''Value''' – название доп. описания 2 | ||
Строка 703: | Строка 703: | ||
**** '''Id''' – идентификатор услуги | **** '''Id''' – идентификатор услуги | ||
**** '''SvKey''' – ключ типа услуги | **** '''SvKey''' – ключ типа услуги | ||
− | **** '''IsSubCode1''' – наличие [[ | + | **** '''IsSubCode1''' – наличие [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 1]] |
− | **** '''IsSubCode2''' – наличие [[ | + | **** '''IsSubCode2''' – наличие [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 2]] |
**** '''IsPartnerBasedOn''' – услуга с подбором приоритетного поставщика услуги | **** '''IsPartnerBasedOn''' – услуга с подбором приоритетного поставщика услуги | ||
**** '''Day''' – день предоставления услуги | **** '''Day''' – день предоставления услуги | ||
Строка 723: | Строка 723: | ||
***** '''ServiceType''' – тип услуги | ***** '''ServiceType''' – тип услуги | ||
***** '''Code''' – ключ услуги | ***** '''Code''' – ключ услуги | ||
− | ***** '''SubCode1''' – [[ | + | ***** '''SubCode1''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 1]] |
− | ***** '''SubCode2''' – [[ | + | ***** '''SubCode2''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 2]] |
***** '''PacketId''' – пакет услуги | ***** '''PacketId''' – пакет услуги | ||
***** '''PartnerId''' – партнер услуги | ***** '''PartnerId''' – партнер услуги |
Версия 09:19, 6 августа 2019
Версия статьи от 6-08-2019.
Поддерживаемые версии ПК «Мастер-Тур»: |
Содержание
- 1 Введение
- 2 Установка
- 3 Список методов
- 3.1 Авторизация (Token)
- 3.2 Выгрузка настроек службы поиска (Settings)
- 3.3 Выгрузка списка валют (Currency)
- 3.4 Выгрузка квотируемых услуг системы (QuotedServices)
- 3.5 Выгрузка городов отправления (departureCities)
- 3.6 Выгрузка списка стран (Destination)
- 3.7 Выгрузка списка городов (ActualizeCities)
- 3.8 Выгрузка типов туров (ActualizeTourType)
- 3.9 Выгрузка актуальных дат заездов (TourDate)
- 3.10 Выгрузка актуальных продолжительностей (Duration)
- 3.11 Поиск туров (Tour)
- 3.12 Выгрузка транспортного плана (TransportPlan)
- 3.13 Выгрузка первоначального варианта в корзину для бронирования (Tour)
- 3.14 Выгрузка настройки отображения полей по туристам (TouristDataSettings)
- 3.15 Выгрузка услуг доплат к авиаперелетам (GetFlightsAdditionalServices)
- 3.16 Выгрузка услуг доплат к отелям (GetHotelsAdditionalServices)
- 3.17 Расчет индивидуальных услуг (CalculateIndividualServiceCosts)
- 3.18 Загрузка филиалов (Branches) начиная с релиза 15.3
- 3.19 Загрузка ведущих менеджеров (Users) начиная с релиза 15.3
- 3.20 Расчет путевки (CalculateReservation)
- 3.21 Бронирование путевки (CreateReservation)
- 4 Дополнительные методы
- 5 Приложения
Введение
Данный web-сервис разработан для разработки собственного сайта туроператору на основе API.
Установка
Для работы с web-сервисом необходимо на отдающей стороне установить службу поиска.
После установки web-сервис будет доступен по адресу http://значение настройки "serviceAddress" в TourSearchOwin/"название метода" (пример: http://localhost:9000/TourSearchOwin/Settings)
Список методов
Последовательность вызова методов сервиса
Авторизация (Token)
Метод производит получение авторизационного токена (описание стандарта).
- Формат запроса:
- POST .../TourSearchOwin/Token?
- Принимаемые параметры headers ( * – обязательный):
- Content-Type * – application/x-www-form-urlencoded
- Принимаемые параметры POST запроса ( * – обязательный):
- grant_type * – текст password
- username * – логин представителя партнера или частного лица
- password * – пароль представителя партнера или частного лица
- Возвращаемый результат:
- access_token – токен
- token_type – тип токена
- expires_in – код
- userKey – ключ пользователя
- userType – тип пользователя (0 – представитель партнера, 1 – частное лицо)
- .issued – дата получения
- .expires – дата действия до
Вызов метода Token POST http://localhost:9000/TourSearchOwin/Token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
grant_type=password&username=test&password=1
Возвращаемый результат метода Token (в формате JSON) {
"access_token": "AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAdsCC8X7m9E-2bg0-uS0VfgAAAAAAAAADZgAAwAAAA-
EqAAAAAASAAACgAAAAEAAAAO4S-VrqBhQuhqliqrAKKfIgAQAAn-gfgP-rYjk-Krr1Ck2A-IGCw6FBhamUOzFxgTtk1hR-
GLMryFIH8VK5GmHdHubZWj4S7XcazGL1Kn5-VlbiYdW2ZVWpYlk638aV-XS2kpZ9YrKgViiM_x8RH5TPo4-
9LhE7V-SjiB_CP_qs58DRKcyohq3Tz9QaiFgH1Ko7O2XKjTBG7SHyQPDPYjaqg9kDxmzq0UcIT6Fm4YkDxmm9-
CW7u3cEFWcpiqKOc2VvZFKPPHc07uDOO4w9FXPhpXZwOqrJBxzhbr73RuhzPs_e-hgxKaIlsMaK5b0v5ReAMy1kuY0ebXA",",
"token_type": "bearer",
"expires_in": 1209599,
"userKey": "333",
"userType": "0",
".issued": "Thu, 05 Apr 2018 12:05:31 GMT",
".expires": "Thu, 19 Apr 2018 12:05:31 GMT"
}
|
Выгрузка настроек службы поиска (Settings)
Метод производит выгрузку настроек службы поиска.
- Формат запроса:
- GET .../TourSearchOwin/Settings?
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- ChildAgesSetting – регулируется настройкой максимальный возраст ребенка (массив возрастов, при которых турист будет считаться ребенком
- DurationSetting – регулируется настройкой максимальная продолжительность тура (массив продолжительностей, доступных в фильтрах для поиска)
- RoundServiceSetting – признак округления цены (количество знаков после запятой)
- CacheReady – статус готовности службы поиска к работе (true/false)
- EnableFiterTree – устаревшая настройка, будет убрана (по умолчанию всегда false)
- EnableActualFilters – включены ли актуальные фильтры (true/false)
- CorrectLicense – проверка лицензии (true/false)
- CorrectLicenseMessage – сообщение, если проверка лицензии не прошла
- IsCorrectUser – проверка наличия пользователя в таблице Userlist, под которым запущена служба поиска (true/false)
- IsShowCitizenAuthTourist – настройка запрашивать гражданство при регистрации частного лица (true/false)
- IsShowFewCountPlaces – настройка отображения числового значения оставшихся мест, когда достигнуто значение «Мало» (true/false)
- IsShowBusTransferPlaces – использовать фильтр наличие мест на автобусный переезд в поиске (true/false)
- UseBusSeatChecks – план рассадки автобусного переезда (0 – не отображать, 1 – отображать без проверки, 2 – отображать с проверкой)
- UseTransferSeatChecks – план рассадки трансфера (0 – не отображать, 1 – отображать без проверки, 2 – отображать с проверкой)
- IsShowFiltersByCity – отображать фильтр по городам на главной странице поиска (true/false)
- CheckRealCourses – включена ли проверка курсов реальных валют при поиске (true/false)
- CommonImagesFolderPath – путь к папке для хранения изображений
- UseApplyFiltersButton – отображать кнопку «Применить фильтры» (true/false)
- AutoSearchFiltersTimeout – задержка между выбором дополнительных фильтров и выводом результатов (в секундах)
- UseFastSearchAlgoritm – использовать быстрый алгоритм поиска (true/false)
- MaxSearchDatesCountClient – максимальное количество дат, которое будет обрабатываться в клиенте поиска
- MaxDurationsCountClient – максимальное количество продолжительностей, которое будет обрабатываться в клиенте поиска
Вызов метода Settings GET http://localhost:9000/TourSearchOwin/Settings
Возвращаемый результат метода Settings (в формате JSON) {
"ChildAgesSetting": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16
],
"DurationSetting": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20
],
"RoundServiceSetting": 2,
"CacheReady": true,
"EnableFiterTree": false,
"EnableActualFilters": true,
"CorrectLicense": true,
"CorrectLicenseMessage": "0deb1f882da1ec6301c961780507a180",
"IsCorrectUser": true,
"IsShowCitizenAuthTourist": true,
"IsShowFewCountPlaces": true,
"IsShowBusTransferPlaces": true,
"UseBusSeatChecks": 1,
"UseTransferSeatChecks": 2,
"IsShowFiltersByCity": true,
"CheckRealCourses": true,
"CommonImagesFolderPath": "\\\\server\\Icons",
"UseApplyFiltersButton": false,
"AutoSearchFiltersTimeout": 1,
"UseFastSearchAlgoritm": true,
"MaxSearchDatesCountClient": 10,
"MaxDurationsCountClient": 14
}
|
Выгрузка списка валют (Currency)
Метод возвращает список используемых валют.
- Формат запроса:
- GET .../TourSearchOwin/Currency
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Code – код валюты
- Name – наименование валюты
- IsMain – признак валюты «Главная»
- IsNational – признак валюты «Национальная»
- IsoCode – ISO код валюты
- Key – идентификатор валюты
- IsShowInSearch – признак показывать ли валюту в поиске
Вызов метода Currency GET http://localhost:9000/TourSearchOwin/Currency
Возвращаемый результат метода Currency (в формате JSON) [
{
"Code": "EU",
"Name": "Euro",
"IsMain": false,
"IsNational": false,
"IsoCode": "EUR",
"Key": 2,
"IsShowInSearch": true
},
{
"Code": "рб",
"Name": "Рубль",
"IsMain": false,
"IsNational": true,
"IsoCode": "RUR",
"Key": 14,
"IsShowInSearch": true
},
{
"Code": "$",
"Name": "US Dollar",
"IsMain": true,
"IsNational": false,
"IsoCode": "USD",
"Key": 1,
"IsShowInSearch": true
}
]
|
Выгрузка квотируемых услуг системы (QuotedServices)
Метод производит выгрузку услуг с признаком «Квотируемая»
- Формат запроса:
- GET .../TourSearchOwin/QuotedServices
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Key – идентификатор услуги
- Code – код услуги
- Name – наименование услуги (русский)
- NameLat – наименование услуги (английский)
- IsDuration – наличие продолжительности у услуги
- IsCity – наличие города у услуги
- IsSubCode1 – признак наличия SubCode1 у услуги
- IsSubCode2 – признак наличия SubCode2 у услуги
- Quoted – признак квотируемости услуги
- CheckGeoPoint – наличие геоточек у услуги
- IsRoute – признак маршрутной услуги
- IsPartnerBasedOn – признак сопоставления партнера услуги в зависимости от отеля
- Control – идентификатор статуса услуги
Вызов метода QuotedServices GET http://localhost:9000/TourSearchOwin/QuotedServices
Возвращаемый результат метода QuotedServices (в формате JSON) [
{
"Key": 1,
"Code": "А_П",
"Name": "Авиаперелет",
"NameLat": "Flight",
"IsDuration": false,
"IsCity": true,
"IsSubCode1": true,
"IsSubCode2": false,
"Quoted": true,
"CheckGeoPoint": true,
"IsRoute": true,
"IsPartnerBasedOn": false,
"Control": 1
},
{
"Key": 3,
"Code": "HOTEL",
"Name": "Отель/Круиз",
"NameLat": "Hotel/Cruise",
"IsDuration": true,
"IsCity": true,
"IsSubCode1": true,
"IsSubCode2": true,
"Quoted": true,
"CheckGeoPoint": true,
"IsRoute": true,
"IsPartnerBasedOn": false,
"Control": 1
}
]
|
Выгрузка городов отправления (departureCities)
Метод производит выгрузку всех доступных городов отправления для поискового запроса.
- Формат запроса:
- GET .../TourSearchOwin/departureCities?
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Key – идентификатор города
- Name – название города
Вызов метода departureCities GET http://localhost:9000/TourSearchOwin/departureCities
Возвращаемый результат метода departureCities (в формате JSON) [
{
"Key": -1,
"Name": "Без перелета"
},
{
"Key": 312,
"Name": "Астрахань"
},
{
"Key": 1,
"Name": "Москва"
}
]
|
Выгрузка списка стран (Destination)
Метод производит выгрузку всех доступных направлений туроператора.
- Формат запроса:
- GET .../TourSearchOwin/Destination?
- Принимаемые параметры ( * – обязательный):
- departureCities * – идентификатор города(ов) отправления (из контроллера .../TourSearchOwin/departureCities?)
- term – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- Возвращаемый результат:
- Name – название страны
- Key – идентификатор страны
- DestinationType – тип результата (всегда возвращается в JSON = 1, в xml = country)
Вызов метода Destination GET http://localhost:9000/TourSearchOwin/Destination?departureCities=1
Возвращаемый результат метода Destination (в формате JSON) [
{
"Name": "Болгария",
"Key": 359,
"DestinationType": 1
},
{
"Name": "Индия",
"Key": 26,
"DestinationType": 1
},
{
"Name": "Финляндия",
"Key": 64,
"DestinationType": 1
}
]
|
Выгрузка списка городов (ActualizeCities)
Метод возвращает список всех доступных городов по определенному городу отправления и стране прибытия.
- Формат запроса:
- GET .../TourSearchOwin/ActualizeCities?
- Принимаемые параметры ( * – обязательный):
- cityKeys * – идентификатор города(ов) отправления (полученный из метода .../TourSearchOwin/departureCities?)
- Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- term – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- Возвращаемый результат:
- Key – идентификатор города
- Name – название города
Вызов метода ActualizeCities GET http://localhost:9000/TourSearchOwin/ActualizeCities?cityKeys=1&Key=90
Возвращаемый результат метода ActualizeCities (в формате JSON) [
{
"Key": -1,
"Name": "Все"
},
{
"Key": 35,
"Name": "Вена"
},
{
"Key": 440,
"Name": "Зельден"
}
]
|
Выгрузка типов туров (ActualizeTourType)
Метод возвращает список типов туров по определенному городу отправления, стране и городу прибытия.
- Формат запроса:
- GET .../TourSearchOwin/ActualizeTourType?
- Принимаемые параметры ( * – обязательный):
- departureCityKeys * – идентификатор города(ов) отправления (полученный из метода .../TourSearchOwin/departureCities?)
- Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Type * – тип результата (всегда возвращается в JSON = 1, в xml = country)
- destinationCity * – идентификатор города(ов) прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны
- terms – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- Возвращаемый результат:
- Key – идентификатор типа тура
- Name – название типа тура
- ParentId – идентификатор группы, к которой относится данный типа тура (если тип тура не относится к группе, то возвращается null)
Вызов метода ActualizeTourType GET http://localhost:9000/TourSearchOwin/ActualizeTourType?departureCityKeys=1&Key=90&Type=1&destinationCity=-1
Возвращаемый результат метода ActualizeTourType (в формате JSON) [
{
"Key": -1,
"Name": "Все",
"ParentId": null
},
{
"Key": 2,
"Name": "Стандартный тур",
"ParentId": null
},
{
"Key": 16,
"Name": "Экскурсионный тур",
"ParentId": 35
}
]
|
Выгрузка актуальных дат заездов (TourDate)
Метод производит выгрузку доступных дат заездов для поискового запроса.
- Формат запроса:
- GET .../TourSearchOwin/TourDate?
- Принимаемые параметры ( * – обязательный):
- departureCity * – идентификатор города(ов) отправления (полученный из метода .../TourSearchOwin/departureCities?)
- destinationCity * – идентификатор города(ов) прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны
- Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Type * – тип результата (всегда возвращается в JSON = 1, в xml = country)
- tourTypes * – идентификатор типа тура (полученный из метода .../TourSearchOwin/ActualizeTourType?), по умолчанию передается -1, то есть все типы тура в рамках данной страны
- Возвращаемый результат:
- массив дат
Вызов метода TourDate GET http://localhost:9000/TourSearchOwin/TourDate?departureCity=1&destinationCity=-1&Key=90&Type=1&tourTypes=-1
Возвращаемый результат метода TourDate (в формате JSON) [
"21.02.2018",
"22.02.2018",
"23.02.2018",
"24.02.2018",
"25.02.2018",
"26.02.2018",
"27.02.2018",
"28.02.2018"
]
|
Выгрузка актуальных продолжительностей (Duration)
Метод производит выгрузку доступных продолжительностей для поискового запроса.
- Формат запроса:
- GET .../TourSearchOwin/Duration?
- Принимаемые параметры ( * – обязательный):
- departureCity * – идентификатор города(ов) отправления (полученный из метода .../TourSearchOwin/departureCities?)
- destinationCity * – идентификатор города(ов) прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны
- Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Type * – тип результата (всегда возвращается в JSON = 1, в xml = country)
- tourDate * – массив дат заезда (полученные из метода .../TourSearchOwin/TourDate?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- tourTypes * – идентификатор типа(ов) тура (полученный из метода .../TourSearchOwin/ActualizeTourType?), по умолчанию передается -1, то есть все типы тура в рамках данной страны
- Возвращаемый результат:
- массив продолжительностей (в днях)
Вызов метода Duration GET http://localhost:9000/TourSearchOwin/Duration?departureCity=1&destinationCity=-1
&Key=90&Type=1&tourDate=25.02.2018&tourDate=26.02.2018&tourTypes=-1
Возвращаемый результат метода Duration (в формате JSON) [
7,
8,
10,
12,
15,
18
]
|
Поиск туров (Tour)
Метод поиска туров использует множество параметров для поиска и фильтрации туров. Метод возвращает наиболее дешевые предложения, найденные по предоставленным параметрам и сгруппированные по отелям в порядке возрастания цены.
- Формат запроса:
- GET .../TourSearchOwin/Tour?
- Принимаемые параметры ( * – обязательный):
- DepartureCityKeys * – идентификатор города(ов) отправления (полученный из метода .../TourSearchOwin/departureCities?)
- Dates * – массив дат заезда (полученные из метода .../TourSearchOwin/TourDate?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- Durations * – массив продолжительностей (полученные из метода .../TourSearchOwin/Duration?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- PageNumber * – номер возвращаемой страницы (по умолчанию возвращается 1)
- PageSize * – количество возвращаемых результатов на одной странице (возвращается 20)
- isFromBasket * – происходит ли обращение из корзины или из поиска туров (true/false)
- isFillSecondaryFilters * – заполнены ли дополнительные фильтры (по умолчанию всегда приходит true)
- DestinationType * – тип результата (всегда возвращается в JSON = 1, в xml = country)
- DestinationKey * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- AdultCount * – количество взрослых
- ChildAges – возраст детей. Если детей несколько, и параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- CurrencyName * – код валюты
- AviaQuota * – информация о квотах на авиаперелет (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- HotelQuota * – информация о квотах на отель (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- BusTransferQuota – информация о квотах на автобусный переезд (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- MinPrice * – минимальная цена (по умолчанию не задана, передается NaN)
- MaxPrice – максимальная цена (по умолчанию не передается)
- Groups – группировка результатов (2 – по названию тура, 4 – по дате тура, 8 – по продолжительности тура, 16 – по городу вылета, 32 – по отелю, 64 – по городу отеля, 128 – по курорту отеля, 256 – по категории отеля)
- HotelScheme – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля. Передаются следующие параметры: TemplateId – идентификатор шаблона услуги, DurationInNight – продолжительность отеля в ночах, Code – ключ отеля, PacketKey – ключ пакета, PartnerKey – ключ партнера
- BusTransferPointKeys – данный признак проставляется в true в том случае, когда происходит запрос вариантов проживания (кнопка Варианты) в автобусных переездах
- TourKey – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: ключ программы тура
- TourDuration – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: продолжительность тура в днях
- TourType – идентификатор типа(ов) тура (полученный из метода .../TourSearchOwin/ActualizeTourType?), по умолчанию передается -1, то есть все типы тура в рамках данной страны. Возможна множественная передача параметров.
- Tour – ключ программы тура (дополнительный фильтр)
- Duration – продолжительность тура (дополнительный фильтр)
- DateTour – дата тура (дополнительный фильтр)
- HotelResort – ключ курорта отеля (дополнительный фильтр)
- HotelCity – ключ города отеля (дополнительный фильтр)
- HotelType – ключ признака отеля (дополнительный фильтр)
- HotelStars – ключ категории отеля (дополнительный фильтр)
- Hotel – ключ отеля (дополнительный фильтр)
- Pansions – ключ питания (дополнительный фильтр)
- Airline – ключ авиакомпании (дополнительный фильтр)
- AirportDeparture – ключ аэропорта вылета (дополнительный фильтр)
- AirportArrival – ключ аэропорта прилета (дополнительный фильтр)
- CityIds – идентификатор города(ов) прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны. Возможна множественная передача параметров.
- TimeDepartureFrom – время отправления с (по умолчанию возвращается 00:00)
- TimeDepartureTo – время отправления по (по умолчанию возвращается 23:59)
- TimeArrivalFrom – время прибытия с (по умолчанию возвращается 00:00)
- TimeArrivalTo – время прибытия по (по умолчанию возвращается 23:59)
- ArrivalFlightNoTransfer – производить поиск без пересадок в прямом направлении (true/false, по умолчанию false)
- DepartureFlightNoTransfer – производить поиск без пересадок в обратном направлении (true/false, по умолчанию false)
- DepartureFlightNumberTransfer – наличие пересадок в прямом направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более). Обрабатывается начиная с релиза 15.3.
- ArrivalFlightNumberTransfer – наличие пересадок в обратном направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более). Обрабатывается начиная с релиза 15.3.
- Tariff – ключ класса авиаперелета (дополнительный фильтр)
- CombineAirlines — разрешить комбинировать авиаперелеты (дополнительный фильтр). Параметр применяется только при наличии параметра airline. Обрабатывается начиная с релиза 15.3.
- CombineTariffs — разрешить комбинировать классы перелета (дополнительный фильтр). Параметр применяется только при наличии параметра tariff. Обрабатывается начиная с релиза 15.3.
- FlightCityDeparture – ключ город вылета в параметрах авиаперелета (дополнительный фильтр)
- CityDeparture – ключ города начала поездки (дополнительный фильтр)
- Возвращаемый результат:
- CheckMessages – сообщения для логики проверки тура (не используется)
- Message – сообщение об ошибке
- Key – код ошибки
- Value – сообщение об ошибке
- Result – результаты поиска
- Key – идентификатов программы тура
- Name – название программы тура
- TourUrl – ссылка на программу тура
- BookingConditions – условия бронирования программы туров
- StartDate – дата начала тура
- Duration – продолжительность тура (в днях)
- DurationInNight – продолжительность проживания (в ночах)
- Types – идентификатор типа туров
- Cost – цена тура
- Rate – код валюты тура
- CityDepature – город отправления
- Key – идентификатор города отправления
- Value – название города отправления
- CountryId – всегда возвращается ключ 0
- Services – услуги в туре
- DepartureCity – город отправления
- Key – идентификатор
- Value – название
- DepartureCountry – страна отправления
- Key – идентификатор
- Value – название
- ArrivalCity – город прибытия
- Key – идентификатор
- Value – название
- ArrivalCountry – страна прибытия
- Key – идентификатор
- Value – название
- DepartureAirport – аэропорт отправления
- Key – идентификатор
- Value – название
- ArrivalAirport – аэропорт прибытия
- Key – идентификатор
- Value – название
- Airline – авиакомпания
- Key – идентификатор
- Value – название
- Aircraft – воздушное судно
- Key – идентификатор
- Value – название
- Flight – рейс
- Key – идентификатор
- Value – название
- DepartureTime – время вылета
- ArrivalTime – время прилета
- EndDateTime – дата и время прилета
- FlightDetails – информация об авиаперелете
- Tariff – информация о тарифе перелета
- Key – идентификатор
- Code – код тарифа
- Name – название тарифа
- Cost – разница в стоимости с самым дешевым вариантом
- QuotaStatus – информация о квоте
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- PartnerId – ключ партнера
- ByPax – цена за человека (true/false)
- Partner – информация о партнере
- Key – идентификатор
- Value – название
- Tariff – информация о тарифе перелета
- FlightSetting – внутренняя информация о перелете из программы туров
- ServiceId – идентификатор класса услуги (внутренняя информация из программы туров)
- PatternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
- FlightId – идентификатор перелета (внутренняя информация из программы туров)
- FlightSourceMode – локальный или удаленный перелет (внутренняя информация из программы туров)
- Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
- SvKey – ключ типа услуги
- IsSubCode1 – признак наличия доп. описания 1
- IsSubCode2 – признак наличия доп. описания 2
- IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата предоставления услуги
- IsHooded – признак скрытая услуга
- IsDeleted – признак удаляемая услуга
- IsNotCalculate – признак не рассчитываемая услуга
- PacketId – ключ пакета
- Index – порядковый номер услуги
- DepartureCity – город отправления
- NotRouteServices – массив коллекций немаршрутных услуг (например если две экскурсии будут являться одним элементом массива, то это будет говорить о том, что эти экскурсии можно будет выбрать в выпадающем списке)
- ServiceName – название типа услуги
- City – объект город
- Key – ключ города
- Value – название города
- Country – ключ страны
- Code – объект код услуги
- Key – ключ услуги
- Value – название услуги
- ByScheduler – флаг услуга по расписанию или нет
- Details – объект детализация услуги
- SubCode1 – объект доп. описание 1
- Key – ключ доп. описания 1
- Value – название доп. описания 1
- SubCode2 – объект доп. описание 2
- Key – ключ доп. описания 2
- Value – название доп. описания 2
- Date – дата услуги
- IsShowTransportPlan – признак показывать ли план рассадки (для автобусов)
- Cost – цена
- QuotaStatus – объект информация по квотам
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- PartnerId – идентификатор партнера
- ByPax – признак цены за человека
- Partner – объект партнер (не заполняется)
- Key – ключ (не заполняется)
- Value – название (не заполняется)
- SubCode1 – объект доп. описание 1
- ParentId – идентификатор родительской услуги (для вложенных услуг)
- PartnerBasedOnServiceTemplateId – ключ шаблона услуги, по которой приоритетно выбирается партнер текущей услуги
- Id – идентификатор услуги
- SvKey – ключ типа услуги
- IsSubCode1 – наличие доп. описания 1
- IsSubCode2 – наличие доп. описания 2
- IsPartnerBasedOn – услуга с подбором приоритетного поставщика услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата предоставления услуги
- EndDateTime – дата окончания услуги
- IsHooded – скрытая ли услуга
- IsDeleted – удаляемая ли услуга
- IsNotCalculate – не рассчитываемая ли услуга
- PacketId – пакет услуги
- Index – индекс услуги
- MinCostServicesComposition – массив состав услуг минимальной цены
- Key – ключ
- TemplateId – идентификатор шаблона
- PatternId – идентификатор вкладки
- SettingId – идентификатор услуги
- Value – значение
- ServiceType – тип услуги
- Code – ключ услуги
- SubCode1 – доп. описание 1
- SubCode2 – доп. описание 2
- PacketId – пакет услуги
- PartnerId – партнер услуги
- CountryId – страна услуги
- CityId – город услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- Key – ключ
- FlightWeight –
- LinkingFlightsRules – объект правил связывания
- notCombineDifferentAirlineRule – объект не скрещивать авиакомпании
- airlines – авиакомпании
- flightSettings – массив ключей ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- checkPlusMinus1CharterRule – объект Отличие номера рейса на 1
- FlightSettingPairs – массив чартеров, для которых это правило будет выполняться
- enabled – флаг включен/выключен
- notCombineDifferentTariffGroupRule – объект не комбинировать рейсы от разных классов перелетов
- FlightSettings – массив ключей ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- notCombineDifferentPartnerRule – объект не комбинировать рейсы от разных партнеров
- FlightSettings – массив ключей ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- departureCityEqualsArrivalCityRule – объект Город вылета = городу прилета
- FlightSettingPairs – чартеры, для которых это будет выполняться
- enabled – флаг включен/выключен
- combineOnlySpecificChartersRule – объект не комбинировать различные классы перелетов
- settings – массив ключей чартеров CharterIds и ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- notCombineDifferentAirlineRule – объект не скрещивать авиакомпании
- RouteSubVariants – подварианты услуг (используется в основном поиске)
- SecondaryFiltersResult –
- TourTypes – типы тура
- Id –
- Name –
- ParentId –
- Type –
- TourPrograms – информация по каждой турпрограмме
- Key –
- Name –
- TourUrl –
- BookingConditions –
- IsLandOnly –
- IsRestrictMultiHotels –
- IsHotelTemplates –
- IsRouteServices –
- MultiHotelDelta –
- Rate –
- DateStart –
- DateEnd –
- Status –
- Key –
- Value –
- Templates –
- $id –
- $id –
- Types –
- Id –
- Name –
- ParentId –
- Type –
- LinkingFlightsRules –
- notCombineDifferentAirlineRule –
- airlines –
- flightSettings –
- enabled –
- checkPlusMinus1CharterRule –
- FlightSettingPairs –
- enabled –
- notCombineDifferentTariffGroupRule –
- FlightSettings –
- enabled –
- notCombineDifferentPartnerRule –
- FlightSettings –
- enabled –
- departureCityEqualsArrivalCityRule –
- FlightSettingPairs –
- enabled –
- combineOnlySpecificChartersRule –
- settings –
- enabled –
- notCombineDifferentAirlineRule –
- XmlSettings – xml
- Type –
- TourDurations –
- TourDates –
- HotelCities – город в дополнительных фильтрах
- ' –
- HotelResorts – курорты в дополнительных фильтрах
- ' –
- HotelCategories – категории отеля в дополнительных фильтрах
- ' –
- Hotels – отели в дополнительных фильтрах
- ' –
- Pansions – питания в дополнительных фильтрах
- ' –
- Airlines – авиакомпании в дополнительных фильтрах
- ' –
- FlightTariffs – класс перелета в дополнительных фильтрах
- ' –
- DepartureCities – города вылета в дополнительных фильтрах
- ' –
- DepartureAirports – аэропорты вылета в дополнительных фильтрах
- ' –
- ArrivalCities – города прибытия в дополнительных фильтрах
- ' –
- ArrivalAirports – аэропорты прибытия в дополнительных фильтрах
- ' –
- HotelTypes – признаки отелей в дополнительных фильтрах
- ' –
- HotelCities – город в дополнительных фильтрах
- TourTypes – типы тура
Вызов метода Tour GET http://localhost:9000/TourSearchOwin/Tour?DepartureCityKeys=1&Dates=25.02.2018&Durations=4
&PageNumber=1&PageSize=20&HotelScheme=&TourKey=&TourDuration=&isFromBasket=false
&isFillSecondaryFilters=true&DestinationType=1&DestinationKey=90&AdultCount=2&ChildAges=2
&ChildAges=2&CurrencyName=EU&AviaQuota=5&HotelQuota=5&BusTransferQuota=5&MinPrice=NaN&TourType=-1
&CityIds=-1&TimeDepartureFrom=00%3A00&TimeDepartureTo=23%3A59&TimeArrivalFrom=00%3A00
&TimeArrivalTo=23%3A59&ArrivalFlightNoTransfer=false&DepartureFlightNoTransfer=false
Возвращаемый результат метода Tour (в формате JSON) {
"CheckMessages": null,
"Message": {
"Key": 0,
"Value": null
},
"Result": [
{
"Key": 100000004,
"Name": "Общая проверка системы",
"TourUrl": "www.megatec.ru",
"BookingConditions": "<p>Условия бронирования тура.<\/p>",
"StartDate": "2018-02-25T00:00:00",
"Duration": 4,
"DurationInNight": 3,
"Types": [2],
"Cost": 260,
"Rate": "EU",
"CityDepature": {
"Key": 1,
"Value": "Москва"
},
"CountryId": 0,
"Services": [
{
"DepartureCity": {
"Key": 1,
"Value": "Москва"
},
"DepartureCountry": {
"Key": 460,
"Value": "Россия"
},
"ArrivalCity": {
"Key": 35,
"Value": "Вена"
},
"ArrivalCountry": {
"Key": 90,
"Value": "Австрия"
},
"DepartureAirport": {
"Key": "SVO4",
"Value": "Шереметьево-24"
},
"ArrivalAirport": {
"Key": "VIE1",
"Value": "Vena1"
},
"Airline": {
"Key": "BA7",
"Value": "BRITISH AIRWAYS"
},
"Aircraft": {
"Key": "319",
"Value": "AIRBUS "
},
"Flight": {
"Key": 882,
"Value": "4444"
},
"DepartureTime": "10:00:00",
"ArrivalTime": "12:00:00",
"EndDateTime": "2018-02-25T12:00:00",
"FlightDetails": [ {
"Tariff": {
"Key": 89,
"Code": "Y",
"Name": "Экономический класс"
},
"Cost": 10,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12668,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"FlightSetting": {
"ServiceId": 3,
"PatternId": 13,
"FlightId": 13
},
"FlightSourceMode": 1,
"Id": 3,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-02-25T10:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 0
},
{
"Hotel": {
"Key": 709,
"Value": "Am Brilliantengrund"
},
"City": {
"Key": 35,
"Value": "Вена"
},
"Stars": {
"Key": -1,
"Value": null
},
"Resort": {
"Key": -1,
"Value": null
},
"ImageURL": "",
"Http": null,
"Description": "",
"Country": {
"Key": 90,
"Value": "Австрия"
},
"HotelDetails": [ {
"HotelRoom": 46463,
"Room": {
"Key": 129,
"Value": "DBL"
},
"RoomCategory": {
"Key": 3493,
"Value": "Cosy"
},
"AccomodationType": {
"Key": 1256,
"Value": "2+1_K",
"AdultCount": 2,
"ChildCount": 1
},
"Pansion": {
"Key": 4,
"Value": "Завтрак"
},
"Cost": 19.47,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12667,
"ByPax": false,
"Partner": {
"Key": 12667,
"Value": "Партнер-покупатель1"
}
}],
"HotelTypes": [ {
"Key": 5,
"Value": "Рекомендуемые"
}],
"Id": 1,
"SvKey": 3,
"IsSubCode1": true,
"IsSubCode2": true,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 3,
"BeginDateTime": "2018-02-25T12:00:00",
"EndDateTime": "2018-02-28T12:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 1
},
{
"DepartureCity": {
"Key": 35,
"Value": "Вена"
},
"DepartureCountry": {
"Key": 90,
"Value": "Австрия"
},
"ArrivalCity": {
"Key": 1,
"Value": "Москва"
},
"ArrivalCountry": {
"Key": 460,
"Value": "Россия"
},
"DepartureAirport": {
"Key": "VIE1",
"Value": "Vena1"
},
"ArrivalAirport": {
"Key": "DME",
"Value": "Домодедово"
},
"Airline": {
"Key": "7U",
"Value": "Авиаэнерго"
},
"Aircraft": {
"Key": "727",
"Value": "Boeing"
},
"Flight": {
"Key": 774,
"Value": "222"
},
"DepartureTime": "00:00:00",
"ArrivalTime": "00:00:00",
"EndDateTime": "2018-02-28T00:00:00",
"FlightDetails": [ {
"Tariff": {
"Key": 89,
"Code": "Y",
"Name": "Экономический класс"
},
"Cost": 0,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 10760,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"FlightSetting": {
"ServiceId": 4,
"PatternId": 5,
"FlightId": 4
},
"FlightSourceMode": 1,
"Id": 4,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 4,
"DurationInNight": 0,
"BeginDateTime": "2018-02-28T00:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 4
}
],
"NotRouteServices": [
[ {
"ServiceName": "страховка",
"City": null,
"Country": 6245,
"Code": {
"Key": 297,
"Value": "Страховка от несчастного случая"
},
"ByScheduler": false,
"Details": [ {
"SubCode1": {
"Key": 18,
"Value": "2"
},
"SubCode2": {
"Key": null,
"Value": ""
},
"Date": null,
"IsShowTransportPlan": true,
"Cost": 16,
"QuotaStatus": {
"PlacesStatus": 1,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12668,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"ParentId": null,
"PartnerBasedOnServiceTemplateId": null,
"Id": 10,
"SvKey": 6,
"IsSubCode1": true,
"IsSubCode2": true,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 3,
"BeginDateTime": "2018-02-25T00:00:00",
"EndDateTime": "2018-02-28T00:00:00",
"IsHooded": false,
"IsDeleted": true,
"IsNotCalculate": true,
"PacketId": 882,
"Index": 2
}],
[ {
"ServiceName": "экскурсия",
"City": {
"Key": 1046,
"Value": "Санто-Доминго"
},
"Country": 6245,
"Code": {
"Key": 743,
"Value": "4"
},
"ByScheduler": false,
"Details": [ {
"SubCode1": {
"Key": 37,
"Value": "Мини-автобус 10 чел."
},
"SubCode2": {
"Key": null,
"Value": ""
},
"Date": null,
"IsShowTransportPlan": false,
"Cost": 85.22,
"QuotaStatus": {
"PlacesStatus": 1,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12667,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"ParentId": null,
"PartnerBasedOnServiceTemplateId": null,
"Id": 7,
"SvKey": 4,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": true,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-02-25T00:00:00",
"EndDateTime": "2018-02-26T00:00:00",
"IsHooded": false,
"IsDeleted": true,
"IsNotCalculate": true,
"PacketId": 779,
"Index": 3
}]
],
"MinCostServicesComposition": [
{
"Key": {
"TemplateId": 3,
"PatternId": 13,
"SettingId": 13
},
"Value": {
"ServiceType": 1,
"Code": 882,
"SubCode1": 89,
"SubCode2": 1,
"PacketId": 779,
"PartnerId": 12668,
"CountryId": 90,
"CityId": 35,
"Day": 1,
"DurationInNight": 0
}
},
{
"Key": {
"TemplateId": 1,
"PatternId": 0,
"SettingId": 0
},
"Value": {
"ServiceType": 3,
"Code": 709,
"SubCode1": 46463,
"SubCode2": 4,
"PacketId": 779,
"PartnerId": 12667,
"CountryId": 90,
"CityId": 35,
"Day": 1,
"DurationInNight": 3
}
},
{
"Key": {
"TemplateId": 4,
"PatternId": 5,
"SettingId": 4
},
"Value": {
"ServiceType": 1,
"Code": 774,
"SubCode1": 89,
"SubCode2": 35,
"PacketId": 779,
"PartnerId": 10760,
"CountryId": 460,
"CityId": 1,
"Day": 4,
"DurationInNight": 0
}
}
],
"FlightWeight": 2,
"LinkingFlightsRules": {
"notCombineDifferentAirlineRule": {
"airlines": ["AY2"],
"flightSettings": [],
"enabled": true
},
"checkPlusMinus1CharterRule": {
"FlightSettingPairs": [],
"enabled": false
},
"notCombineDifferentTariffGroupRule": {
"FlightSettings": [],
"enabled": true
},
"notCombineDifferentPartnerRule": {
"FlightSettings": [],
"enabled": false
},
"departureCityEqualsArrivalCityRule": {
"FlightSettingPairs": [],
"enabled": false
},
"combineOnlySpecificChartersRule": {
"settings": [],
"enabled": false
}
},
"RouteSubVariants": []
}
],
"SecondaryFiltersResult": {
"TourTypes": [ {
"Id": 2,
"Name": "Стандартный тур",
"ParentId": null,
"Type": "TourType"
}],
"TourPrograms": [
{
"Key": 100000004,
"Name": "Общая проверка системы",
"TourUrl": "www.megatec.ru",
"BookingConditions": "<p>Условия бронирования тура.<\/p>",
"IsLandOnly": false,
"IsRestrictMultiHotels": false,
"IsHotelTemplates": true,
"IsRouteServices": true,
"MultiHotelDelta": 0,
"Rate": "EU",
"DateStart": "2018-01-30T00:00:00Z",
"DateEnd": "2018-02-27T00:00:00Z",
"Status": {
"Key": 3,
"Value": "Доступен для продажи"
},
"Templates": [
{"$id": "5"},
{"$id": "6"},
{"$id": "7"},
{"$id": "8"},
{"$id": "9"}
],
"Types": [ {
"Id": 2,
"Name": "Стандартный тур",
"ParentId": null,
"Type": "TourType"
}],
"LinkingFlightsRules": {
"notCombineDifferentAirlineRule": {
"airlines": ["AY2"],
"flightSettings": [],
"enabled": true
},
"checkPlusMinus1CharterRule": {
"FlightSettingPairs": [],
"enabled": false
},
"notCombineDifferentTariffGroupRule": {
"FlightSettings": [],
"enabled": true
},
"notCombineDifferentPartnerRule": {
"FlightSettings": [],
"enabled": false
},
"departureCityEqualsArrivalCityRule": {
"FlightSettingPairs": [],
"enabled": false
},
"combineOnlySpecificChartersRule": {
"settings": [],
"enabled": false
}
},
"XmlSettings": "информация о туре в формате xml",
"Type": "TourProgram"
}
],
"TourDurations": [4],
"TourDates": ["2018-02-25T00:00:00"],
"HotelCities": [ {
"key": 35,
"Country": {
"key": 90,
"name": "Австрия",
"Code": "AUS",
"CitizenName": "Австрия",
"CitizenNameLat": "AUSTRIA",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 1,
"WebImage": "/pics/animate/austria.gif",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"name": "Вена",
"Code": "VIE",
"Web": 0,
"RSKey": 0,
"WebImage": null,
"IsDeparture": 1,
"Type": "City"
}],
"HotelResorts": [ {
"Key": -1,
"CountryKey": 0,
"Name": "Не указан",
"NameLat": null,
"Type": "Resort"
}],
"HotelCategories": [
{
"Key": 23,
"Name": "1*",
"PrintNumber": 1,
"Type": "HotelCatigory"
},
{
"Key": 56,
"Name": "2*",
"PrintNumber": 2,
"Type": "HotelCatigory"
},
{
"Key": 66,
"Name": "4*Boutique",
"PrintNumber": null,
"Type": "HotelCatigory"
}
],
"Hotels": [
{
"Key": 705,
"Country": {
"key": 90,
"name": "Австрия",
"Code": "AUS",
"CitizenName": "Австрия",
"CitizenNameLat": "AUSTRIA",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 1,
"WebImage": "/pics/animate/austria.gif",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"City": {
"key": 35,
"Country": {
"key": 90,
"name": "Австрия",
"Code": "AUS",
"CitizenName": "Австрия",
"CitizenNameLat": "AUSTRIA",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 1,
"WebImage": "/pics/animate/austria.gif",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"name": "Вена",
"Code": "VIE",
"Web": 0,
"RSKey": 0,
"WebImage": null,
"IsDeparture": 1,
"Type": "City"
},
"Resort": null,
"Name": "Continental",
"Category": {
"Key": 23,
"Name": "1*",
"PrintNumber": 1,
"Type": "HotelCatigory"
},
"TimeFrom": null,
"TimeTo": null,
"HTTP": null,
"Stars": "1*",
"TimeIsEmpty": true,
"NameLat": "Continental",
"Address": null,
"IsCruise": 0,
"Phone": null,
"Code": null,
"Type": "Hotel"
},
{
"Key": 178,
"Country": {
"key": 90,
"name": "Австрия",
"Code": "AUS",
"CitizenName": "Австрия",
"CitizenNameLat": "AUSTRIA",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 1,
"WebImage": "/pics/animate/austria.gif",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"City": {
"key": 35,
"Country": {
"key": 90,
"name": "Австрия",
"Code": "AUS",
"CitizenName": "Австрия",
"CitizenNameLat": "AUSTRIA",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 1,
"WebImage": "/pics/animate/austria.gif",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"name": "Вена",
"Code": "VIE",
"Web": 0,
"RSKey": 0,
"WebImage": null,
"IsDeparture": 1,
"Type": "City"
},
"Resort": null,
"Name": "Ananas",
"Category": {
"Key": 56,
"Name": "2*",
"PrintNumber": 2,
"Type": "HotelCatigory"
},
"TimeFrom": "1900-01-01T11:00:00",
"TimeTo": "1900-01-01T12:00:00",
"HTTP": "http://booking.panteon.ru/TourPrograms/Home/Tour/?tourKey=100000007",
"Stars": "2*",
"TimeIsEmpty": false,
"NameLat": "Ananas",
"Address": null,
"IsCruise": 0,
"Phone": "(+43/1) 546200",
"Code": null,
"Type": "Hotel"
},
{
"Key": 707,
"Country": {
"key": 90,
"name": "Австрия",
"Code": "AUS",
"CitizenName": "Австрия",
"CitizenNameLat": "AUSTRIA",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 1,
"WebImage": "/pics/animate/austria.gif",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"City": {
"key": 35,
"Country": {
"key": 90,
"name": "Австрия",
"Code": "AUS",
"CitizenName": "Австрия",
"CitizenNameLat": "AUSTRIA",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 1,
"WebImage": "/pics/animate/austria.gif",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"name": "Вена",
"Code": "VIE",
"Web": 0,
"RSKey": 0,
"WebImage": null,
"IsDeparture": 1,
"Type": "City"
},
"Resort": null,
"Name": "Beim Theresianum",
"Category": {
"Key": 66,
"Name": "4*Boutique",
"PrintNumber": null,
"Type": "HotelCatigory"
},
"TimeFrom": null,
"TimeTo": null,
"HTTP": null,
"Stars": "4*Boutique",
"TimeIsEmpty": true,
"NameLat": "Beim Theresianum",
"Address": null,
"IsCruise": 0,
"Phone": null,
"Code": null,
"Type": "Hotel"
},
{
"Key": 709,
"Country": {
"key": 90,
"name": "Австрия",
"Code": "AUS",
"CitizenName": "Австрия",
"CitizenNameLat": "AUSTRIA",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 1,
"WebImage": "/pics/animate/austria.gif",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"City": {
"key": 35,
"Country": {
"key": 90,
"name": "Австрия",
"Code": "AUS",
"CitizenName": "Австрия",
"CitizenNameLat": "AUSTRIA",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 1,
"WebImage": "/pics/animate/austria.gif",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"name": "Вена",
"Code": "VIE",
"Web": 0,
"RSKey": 0,
"WebImage": null,
"IsDeparture": 1,
"Type": "City"
},
"Resort": null,
"Name": "Am Brilliantengrund",
"Category": null,
"TimeFrom": null,
"TimeTo": null,
"HTTP": null,
"Stars": "",
"TimeIsEmpty": true,
"NameLat": "Am Brilliantengrund",
"Address": null,
"IsCruise": 0,
"Phone": null,
"Code": null,
"Type": "Hotel"
}
],
"Pansions": [
{
"Key": 46,
"Code": "RO",
"Name": "RO",
"NameLat": null,
"Type": "Pansion"
},
{
"Key": 4,
"Code": "BB2",
"Name": "Завтрак",
"NameLat": null,
"Type": "Pansion"
},
{
"Key": 2,
"Code": "HB",
"Name": "Полупансион",
"NameLat": null,
"Type": "Pansion"
}
],
"Airlines": [
{
"Key": 8,
"Code": "BA7",
"Name": "BRITISH AIRWAYS",
"NameLat": "en_BRITISH AIRWAYS",
"Type": "AirLine"
},
{
"Key": 3,
"Code": "7U",
"Name": "Авиаэнерго",
"NameLat": "en_Авиаэнерго",
"Type": "AirLine"
}
],
"FlightTariffs": [ {
"Key": 89,
"Code": "Y",
"Name": "Экономический класс",
"NameLat": "Coach economy",
"Group": null,
"Type": "AirService"
}],
"DepartureCities": [ {
"key": 1,
"Country": {
"key": 460,
"name": "Россия",
"Code": null,
"CitizenName": "Россия",
"CitizenNameLat": "Russia",
"PassportMinDurCheckFrom": 0,
"CheckINN": true,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 0,
"WebImage": "",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"name": "Москва",
"Code": "MOW",
"Web": 0,
"RSKey": 0,
"WebImage": null,
"IsDeparture": 1,
"Type": "City"
}],
"DepartureAirports": [ {
"Key": 52,
"Code": "SVO4",
"Name": "Шереметьево-24",
"NameLat": "Шереметьево-",
"CityKey": 1,
"CountryKey": 460,
"Letter": "S",
"Site": 0,
"Type": "Airport"
}],
"ArrivalCities": [ {
"key": 1,
"Country": {
"key": 460,
"name": "Россия",
"Code": null,
"CitizenName": "Россия",
"CitizenNameLat": "Russia",
"PassportMinDurCheckFrom": 0,
"CheckINN": true,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 0,
"WebImage": "",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"name": "Москва",
"Code": "MOW",
"Web": 0,
"RSKey": 0,
"WebImage": null,
"IsDeparture": 1,
"Type": "City"
}],
"ArrivalAirports": [ {
"Key": 12,
"Code": "DME",
"Name": "Домодедово",
"NameLat": "Домодедово",
"CityKey": 1,
"CountryKey": 460,
"Letter": "D",
"Site": 0,
"Type": "Airport"
}],
"HotelTypes": [
{
"key": 94,
"name": "Молодежный отдых",
"Type": "HotelType"
},
{
"key": 5,
"name": "Рекомендуемые",
"Type": "HotelType"
}
]
}
}
|
Выгрузка транспортного плана (TransportPlan)
Метод производит выгрузку транспортного плана.
- Формат запроса:
- GET .../TourSearchOwin/TransportPlan?
- Принимаемые параметры ( * – обязательный):
- code – код услуги
- dateBegin – дата услуги
- serviceType – тип услуги
- transportKey – ключ справочника транспорт
- Возвращаемый результат:
- TransportKey – ключ справочника транспорт
- Title – описание
- AreasCount – количество уровней
- RowsCount – количество рядов
- ColumnsCount – количество мест в ряду
- BusySeats – не используется
- Cells – массив описаний всех мест
- Row – ряд
- Column – место в ряду
- Area – уровень места
- Type – тип (None = 0, Seat = 1, Block = 4, Busy = 5)
- Name – название/номер
- UserSeats – не используется
- BlockSeat – не используется
Вызов метода TransportPlan GET http://localhost:9000/TourSearchOwin/TransportPlan?code=1311&dateBegin=17.04.2018&serviceType=14&transportKey=39
Возвращаемый результат метода TransportPlan (в формате JSON) {
"TransportKey": 39,
"Title": "__",
"AreasCount": 1,
"RowsCount": 12,
"ColumnsCount": 5,
"BusySeats": [],
"Cells": [{
"Row": 5,
"Column": 0,
"Area": 0,
"Type": 4,
"Name": "21"
},
{
"Row": 5,
"Column": 1,
"Area": 0,
"Type": 1,
"Name": "22"
},
{
"Row": 5,
"Column": 2,
"Area": 0,
"Type": 2,
"Name": ""
},
{
"Row": 5,
"Column": 3,
"Area": 0,
"Type": 1,
"Name": "23"
},
{
"Row": 5,
"Column": 4,
"Area": 0,
"Type": 1,
"Name": "24"
}],
"UserSeats": {
},
"BlockSeat": {
}
}
|
Выгрузка первоначального варианта в корзину для бронирования (Tour)
Метод поиска, который возвращает варианты только по данной турпрограмме и схеме отеля.
- Формат запроса:
- GET .../TourSearchOwin/Tour?
- Принимаемые параметры ( * – обязательный):
- DepartureCityKeys * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
- DestinationType * – тип результата (всегда возвращается в JSON = 1, в xml = country)
- DestinationKey * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Dates * – массив дат заезда (полученные из метода .../TourSearchOwin/TourDate?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- Durations * – массив продолжительностей (полученные из метода .../TourSearchOwin/Duration?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- AdultCount * – количество взрослых
- ChildAges – возраст детей. Если детей несколько, и параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- CurrencyName * – код валюты
- HotelQuota * – информация о квотах на отель (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- AviaQuota * – информация о квотах на авиаперелет (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- BusTransferQuota – информация о квотах на автобусный переезд (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- HotelScheme * – объект схемы отеля
- TemplateId – идентификатор шаблона услуги
- DurationInNight – продолжительность отеля в ночах
- Code – ключ отеля
- PacketKey – ключ пакета
- PartnerKey – ключ партнера
- PageNumber * – номер возвращаемой страницы (по умолчанию возвращается 1)
- PageSize * – количество возвращаемых результатов на одной странице (возвращается 20)
- isFromBasket * – происходит ли обращение из корзины или из поиска туров (true/false).
- isFillSecondaryFilters * – заполнены ли дополнительные фильтры (true/false)
- TourKey – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: ключ программы тура
- TourDuration – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: продолжительность тура в днях
- Возвращаемый результат:
- CheckMessages – сообщения для логики проверки тура (не используется)
- Message – сообщение об ошибке
- Key – код ошибки
- Value – сообщение об ошибке
- Result – результаты поиска
- Key – идентификатор программы тура
- Name – название программы тура
- TourUrl – ссылка на программу тура
- BookingConditions – условия бронирования программы туров
- StartDate – дата начала тура
- Duration – продолжительность тура (в днях)
- DurationInNight – продолжительность проживания (в ночах)
- Types – идентификатор типа туров
- Cost – цена тура
- Rate – код валюты тура
- CityDepature – город отправления
- Key – идентификатор города отправления
- Value – название города отправления
- CountryId – всегда возвращается ключ 0
- Services – услуги в туре
- DepartureCity – город отправления
- Key – идентификатор
- Value – название
- DepartureCountry – страна отправления
- Key – идентификатор
- Value – название
- ArrivalCity – город прибытия
- Key – идентификатор
- Value – название
- ArrivalCountry – страна прибытия
- Key – идентификатор
- Value – название
- DepartureAirport – аэропорт отправления
- Key – идентификатор
- Value – название
- ArrivalAirport – аэропорт прибытия
- Key – идентификатор
- Value – название
- Airline – авиакомпания
- Key – идентификатор
- Value – название
- Aircraft – воздушное судно
- Key – идентификатор
- Value – название
- Flight – рейс
- Key – идентификатор
- Value – название
- DepartureTime – время вылета
- ArrivalTime – время прилета
- EndDateTime – дата и время прилета
- FlightDetails – информация об авиаперелете
- Tariff – информация о тарифе перелета
- Key – идентификатор
- Code – код тарифа
- Name – название тарифа
- Cost – разница в стоимости с самым дешевым вариантом
- QuotaStatus – информация о квоте
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- PartnerId – ключ партнера
- ByPax – цена за человека (true/false)
- Partner – информация о партнере
- Key – идентификатор
- Value – название
- Tariff – информация о тарифе перелета
- FlightSetting – внутренняя информация о перелете из программы туров
- ServiceId – идентификатор класса услуги (внутренняя информация из программы туров)
- PatternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
- FlightId – идентификатор перелета (внутренняя информация из программы туров)
- FlightSourceMode – локальный или удаленный перелет (внутренняя информация из программы туров)
- Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
- SvKey – ключ типа услуги
- IsSubCode1 – признак наличия доп. описания 1
- IsSubCode2 – признак наличия доп. описания 2
- IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата предоставления услуги
- IsHooded – признак скрытая услуга
- IsDeleted – признак удаляемая услуга
- IsNotCalculate – признак не рассчитываемая услуга
- PacketId – ключ пакета
- Index – порядковый номер услуги
- DepartureCity – город отправления
- NotRouteServices – массив коллекций немаршрутных услуг (например если две экскурсии будут являться одним элементом массива, то это будет говорить о том, что эти экскурсии можно будет выбрать в выпадающем списке)
- ServiceName – название типа услуги
- City – объект город
- Key – ключ города
- Value – название города
- Country – ключ страны
- Code – объект код услуги
- Key – ключ услуги
- Value – название услуги
- ByScheduler – флаг услуга по расписанию или нет
- Details – объект детализация услуги
- SubCode1 – объект доп. описание 1
- Key – ключ доп. описания 1
- Value – название доп. описания 1
- SubCode2 – объект доп. описание 2
- Key – ключ доп. описания 2
- Value – название доп. описания 2
- Date – дата услуги
- IsShowTransportPlan – признак показывать ли план рассадки (для автобусов)
- Cost – цена
- QuotaStatus – объект информация по квотам
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- PartnerId – идентификатор партнера
- ByPax – признак цены за человека
- Partner – объект партнер (не заполняется)
- Key – ключ (не заполняется)
- Value – название (не заполняется)
- SubCode1 – объект доп. описание 1
- ParentId – идентификатор родительской услуги (для вложенных услуг)
- PartnerBasedOnServiceTemplateId – ключ шаблона услуги, по которой приоритетно выбирается партнер текущей услуги
- Id – идентификатор услуги
- SvKey – ключ типа услуги
- IsSubCode1 – наличие доп. описания 1
- IsSubCode2 – наличие доп. описания 2
- IsPartnerBasedOn – услуга с подбором приоритетного поставщика услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата предоставления услуги
- EndDateTime – дата окончания услуги
- IsHooded – скрытая ли услуга
- IsDeleted – удаляемая ли услуга
- IsNotCalculate – не рассчитываемая ли услуга
- PacketId – пакет услуги
- Index – индекс услуги
- MinCostServicesComposition – массив состав услуг минимальной цены
- Key – ключ
- TemplateId – идентификатор шаблона
- PatternId – идентификатор вкладки
- SettingId – идентификатор услуги
- Value – значение
- ServiceType – тип услуги
- Code – ключ услуги
- SubCode1 – доп. описание 1
- SubCode2 – доп. описание 2
- PacketId – пакет услуги
- PartnerId – партнер услуги
- CountryId – страна услуги
- CityId – город услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- Key – ключ
- FlightWeight –
- LinkingFlightsRules – объект правил связывания
- notCombineDifferentAirlineRule – объект не скрещивать авиакомпании
- airlines – авиакомпании
- flightSettings – массив ключей ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- checkPlusMinus1CharterRule – объект Отличие номера рейса на 1
- FlightSettingPairs – массив чартеров, для которых это правило будет выполняться
- enabled – флаг включен/выключен
- notCombineDifferentTariffGroupRule – объект не комбинировать рейсы от разных классов перелетов
- FlightSettings – массив ключей ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- notCombineDifferentPartnerRule – объект не комбинировать рейсы от разных партнеров
- FlightSettings – массив ключей ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- departureCityEqualsArrivalCityRule – объект Город вылета = городу прилета
- FlightSettingPairs – чартеры, для которых это будет выполняться
- enabled – флаг включен/выключен
- combineOnlySpecificChartersRule – объект не комбинировать различные классы перелетов
- settings – массив ключей чартеров CharterIds и ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- notCombineDifferentAirlineRule – объект не скрещивать авиакомпании
- RouteSubVariants – подварианты услуг (используется в основном поиске)
- SecondaryFiltersResult – доп. фильтры (не используется при вызове из корзины)
Вызов метода Tour (первоначальный вариант Tour в корзине для бронирования) GET http://localhost:9000/TourSearchOwin/Tour?DepartureCityKeys=1&DestinationType=1&DestinationKey=90
&Dates=31.03.18&Durations=8&AdultCount=2&CurrencyName=EU&HotelQuota=5&AviaQuota=5&BusTransferQuota=5
&HotelScheme=[{"TemplateId":"1","DurationInNight":"7","Code":"707","PacketKey":"779","PartnerKey":"12667"}]
&TourKey=100003404&TourDuration=8&PageNumber=1&PageSize=20&IsFromBasket=true&isFillSecondaryFilters=false
Возвращаемый результат метода Tour (в формате JSON) {
"CheckMessages": null,
"Message": {
"Key": 0,
"Value": null
},
"Result": [
{
"Key": 100003404,
"Name": "Удалить этот тур",
"TourUrl": "www.megatec.ru",
"BookingConditions": "Условия бронирования тура",
"StartDate": "2018-03-31T00:00:00",
"Duration": 8,
"DurationInNight": 7,
"Types": [2],
"Cost": 122,
"Rate": "EU",
"CityDepature": {
"Key": 1,
"Value": "Москва"
},
"CountryId": 90,
"Services": [
{
"DepartureCity": {
"Key": 1,
"Value": "Москва"
},
"DepartureCountry": {
"Key": 460,
"Value": "Россия"
},
"ArrivalCity": {
"Key": 35,
"Value": "Вена"
},
"ArrivalCountry": {
"Key": 90,
"Value": "Австрия"
},
"DepartureAirport": {
"Key": "DME",
"Value": "Домодедово"
},
"ArrivalAirport": {
"Key": "VIE1",
"Value": "Vena1"
},
"Airline": {
"Key": "3G",
"Value": "Атлант Союз_d;kgmdlfkgnfdlkhndlfkhnlkfnh"
},
"Aircraft": {
"Key": "319",
"Value": "AIRBUS "
},
"Flight": {
"Key": 858,
"Value": "1111"
},
"DepartureTime": "10:00:00",
"ArrivalTime": "11:59:00",
"EndDateTime": "2018-03-31T11:59:00",
"FlightDetails": [ {
"Tariff": {
"Key": 67,
"Code": "C",
"Name": "Бизнес класс"
},
"Cost": 6.45,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 10760,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"FlightSetting": {
"ServiceId": 3,
"PatternId": 14,
"FlightId": 14
},
"FlightSourceMode": 1,
"Id": 3,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-03-31T10:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 0
},
{
"Hotel": {
"Key": 707,
"Value": "Beim Theresianum"
},
"City": {
"Key": 35,
"Value": "Вена"
},
"Stars": {
"Key": 66,
"Value": "4*Boutique"
},
"Resort": {
"Key": -1,
"Value": null
},
"ImageURL": "",
"Http": null,
"Description": "",
"Country": {
"Key": 90,
"Value": "Австрия"
},
"HotelDetails": [
{
"HotelRoom": 10468,
"Room": {
"Key": 2,
"Value": "Double"
},
"RoomCategory": {
"Key": 776,
"Value": "Standart133"
},
"AccomodationType": {
"Key": 328,
"Value": "2Ad",
"AdultCount": 2,
"ChildCount": 0
},
"Pansion": {
"Key": 4,
"Value": "Завтрак"
},
"Cost": 112.96,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12667,
"ByPax": false,
"Partner": {
"Key": 12667,
"Value": "Партнер-покупатель1"
}
},
{
"HotelRoom": 38636,
"Room": {
"Key": 2,
"Value": "Double"
},
"RoomCategory": {
"Key": 3764,
"Value": "Standart Without window"
},
"AccomodationType": {
"Key": 328,
"Value": "2Ad",
"AdultCount": 2,
"ChildCount": 0
},
"Pansion": {
"Key": 4,
"Value": "Завтрак"
},
"Cost": 338.9,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12667,
"ByPax": false,
"Partner": {
"Key": 12667,
"Value": "Партнер-покупатель1"
}
}
],
"HotelTypes": [],
"Id": 1,
"SvKey": 3,
"IsSubCode1": true,
"IsSubCode2": true,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 7,
"BeginDateTime": "2018-03-31T11:59:00",
"EndDateTime": "2018-04-07T11:59:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 1
},
{
"DepartureCity": {
"Key": 35,
"Value": "Вена"
},
"DepartureCountry": {
"Key": 90,
"Value": "Австрия"
},
"ArrivalCity": {
"Key": 1,
"Value": "Москва"
},
"ArrivalCountry": {
"Key": 460,
"Value": "Россия"
},
"DepartureAirport": {
"Key": "VIE1",
"Value": "Vena1"
},
"ArrivalAirport": {
"Key": "DME",
"Value": "Домодедово"
},
"Airline": {
"Key": "7U",
"Value": "Авиаэнерго"
},
"Aircraft": {
"Key": "727",
"Value": "Boeing"
},
"Flight": {
"Key": 774,
"Value": "222"
},
"DepartureTime": "00:00:00",
"ArrivalTime": "00:00:00",
"EndDateTime": "2018-04-07T00:00:00",
"FlightDetails": [ {
"Tariff": {
"Key": 67,
"Code": "C",
"Name": "Бизнес класс"
},
"Cost": 1.61,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 10760,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"FlightSetting": {
"ServiceId": 4,
"PatternId": 5,
"FlightId": 4
},
"FlightSourceMode": 1,
"Id": 4,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 8,
"DurationInNight": 0,
"BeginDateTime": "2018-04-07T00:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 3
}
],
"NotRouteServices": [ [
{
"ServiceName": "экскурсия",
"City": {
"Key": 1046,
"Value": "Санто-Доминго"
},
"Country": 6245,
"Code": {
"Key": 743,
"Value": "4"
},
"ByScheduler": false,
"Details": [ {
"SubCode1": {
"Key": 37,
"Value": "Мини-автобус 10 чел."
},
"SubCode2": {
"Key": null,
"Value": ""
},
"Date": null,
"IsShowTransportPlan": false,
"Cost": 56.48,
"QuotaStatus": {
"PlacesStatus": 1,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12667,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"ParentId": null,
"PartnerBasedOnServiceTemplateId": null,
"Id": 7,
"SvKey": 4,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": true,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-03-31T00:00:00",
"EndDateTime": "2018-04-01T00:00:00",
"IsHooded": false,
"IsDeleted": true,
"IsNotCalculate": true,
"PacketId": 779,
"Index": 2
}
]],
"MinCostServicesComposition": [
{
"Key": {
"TemplateId": 3,
"PatternId": 14,
"SettingId": 14
},
"Value": {
"ServiceType": 1,
"Code": 858,
"SubCode1": 67,
"SubCode2": 1,
"PacketId": 779,
"PartnerId": 10760,
"CountryId": 90,
"CityId": 35,
"Day": 1,
"DurationInNight": 0
}
},
{
"Key": {
"TemplateId": 1,
"PatternId": 0,
"SettingId": 0
},
"Value": {
"ServiceType": 3,
"Code": 707,
"SubCode1": 10468,
"SubCode2": 4,
"PacketId": 779,
"PartnerId": 12667,
"CountryId": 90,
"CityId": 35,
"Day": 1,
"DurationInNight": 7
}
},
{
"Key": {
"TemplateId": 4,
"PatternId": 5,
"SettingId": 4
},
"Value": {
"ServiceType": 1,
"Code": 774,
"SubCode1": 67,
"SubCode2": 35,
"PacketId": 779,
"PartnerId": 10760,
"CountryId": 460,
"CityId": 1,
"Day": 8,
"DurationInNight": 0
}
}
],
"FlightWeight": 2,
"LinkingFlightsRules": {
"notCombineDifferentAirlineRule": {
"airlines": ["AY2"],
"flightSettings": [],
"enabled": true
},
"checkPlusMinus1CharterRule": {
"FlightSettingPairs": [],
"enabled": false
},
"notCombineDifferentTariffGroupRule": {
"FlightSettings": [],
"enabled": true
},
"notCombineDifferentPartnerRule": {
"FlightSettings": [],
"enabled": false
},
"departureCityEqualsArrivalCityRule": {
"FlightSettingPairs": [],
"enabled": false
},
"combineOnlySpecificChartersRule": {
"settings": [],
"enabled": false
}
},
"RouteSubVariants": []
}
],
"SecondaryFiltersResult": null
}
|
Выгрузка настройки отображения полей по туристам (TouristDataSettings)
Метод производит выгрузку настроек отображения полей по туристам.
- Формат запроса:
- GET .../TourSearchOwin/TouristDataSettings?
- Принимаемые параметры ( * – обязательный):
- countryId * – ключ страны, для которой будут выгружаться настройки
- Возвращаемый результат:
- TouristFieldsSettings – массив полей с информацией о туристах (из админки Мастер-Web)
- lastname – объект фамилия туриста (лат)
- Code – код поля
- HeaderText – название поля
- IsVisible – видимость поля
- IsRequired – признак обязательности заполнения поля
- IsEdit – признак редактируемости поля
- Translit – настройки транслитерации (0 – нет, 1 – транслитерация, 2 – латиница)
- LetterCase – настройки регистра (0 – по умолчанию, 1 – с заглавной, 2 – большие, 3 – маленькие)
- patronymic – объект отчество туриста (лат)
- sex – объект пол туриста
- firstname – объект имя туриста (лат)
- passportbywhom – объект кем выдан заграничный паспорт
- birthplace – объект место рождения
- birthdate – объект дата рождения
- patronymicrus – объект отчество (рус)
- lastnamerus – объект фамилия туриста (рус)
- citizenid – объект ID туриста
- passport – объект серия и номер заграничного паспорта
- passportrus – объект серия и номер национального паспорт а
- ismain – объект признак главного туриста
- passportdate – объект дата выдачи заграничного паспорта
- firstnamerus – объект имя туриста (рус)
- passportbywhomrus – объект кем выдан национальный паспорт
- citizenship – объект гражданство
- passportdaterus – объект дата выдачи национального паспорта
- phone – объект телефон
- number – объект порядковый номер
- passportdateend – объект дата окончания заграничного паспорта
- email – объект e-mail туриста
- lastname – объект фамилия туриста (лат)
- PassportDurationOfExpiry – объект минимальный срок действия загранпаспорта туриста
- StartPoint – точка отсчета
- Duration – минимальная продолжительность
- ChildAgeSetting – максимальный возраст ребенка, когда он считается ребенком (лет)
- InfantAgeSetting – максимальный возраст младенца (месяцев)
- TouristFieldsSettings – массив полей с информацией о туристах (из админки Мастер-Web)
Вызов метода TouristDataSettings GET http://localhost:9000/TourSearchOwin/TouristDataSettings?countryId=90
Возвращаемый результат метода TouristDataSettings (в формате JSON) {
"TouristFieldsSettings": {
"lastname": {
"Code": "lastname",
"HeaderText": "Фамилия<font color=\"red\">*<\/font>",
"IsVisible": true,
"IsRequired": true,
"IsEdit": true,
"Translit": 1,
"LetterCase": 2
},
"patronymic": {
"Code": "patronymic",
"HeaderText": "Отчество",
"IsVisible": false,
"IsRequired": false,
"IsEdit": true,
"Translit": 0,
"LetterCase": 2
},
"sex": {
"Code": "sex",
"HeaderText": "Пол<font color=\"red\">*<\/font>",
"IsVisible": true,
"IsRequired": false,
"IsEdit": true,
"Translit": 0,
"LetterCase": 0
},
"firstname": {
"Code": "firstname",
"HeaderText": "Имя<font color=\"red\">*<\/font>",
"IsVisible": true,
"IsRequired": true,
"IsEdit": true,
"Translit": 1,
"LetterCase": 2
},
"passportbywhom": {
"Code": "passportbywhom",
"HeaderText": "Кем выдан",
"IsVisible": false,
"IsRequired": false,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
},
"birthplace": {
"Code": "birthplace",
"HeaderText": "Место рождения",
"IsVisible": false,
"IsRequired": false,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
},
"birthdate": {
"Code": "birthdate",
"HeaderText": "Дата рождения<br />(dd.MM.yyyy)",
"IsVisible": true,
"IsRequired": false,
"IsEdit": true,
"Translit": 0,
"LetterCase": 0
},
"patronymicrus": {
"Code": "patronymicrus",
"HeaderText": "Отчество",
"IsVisible": false,
"IsRequired": false,
"IsEdit": true,
"Translit": 0,
"LetterCase": 3
},
"lastnamerus": {
"Code": "lastnamerus",
"HeaderText": "Нац. паспорт: Фамилия",
"IsVisible": false,
"IsRequired": true,
"IsEdit": true,
"Translit": 0,
"LetterCase": 0
},
"citizenid": {
"Code": "citizenid",
"HeaderText": "ID туриста1",
"IsVisible": false,
"IsRequired": false,
"IsEdit": true,
"Translit": 2,
"LetterCase": 2
},
"passport": {
"Code": "passport",
"HeaderText": "Загран-паспорт: Паспорт<br />(серия/номер)",
"IsVisible": true,
"IsRequired": false,
"IsEdit": true,
"Translit": 0,
"LetterCase": 2
},
"passportrus": {
"Code": "passportrus",
"HeaderText": "серия/номер",
"IsVisible": false,
"IsRequired": false,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
},
"ismain": {
"Code": "ismain",
"HeaderText": "<img src=\"images/mw_main_tourist.gif\" border=\"0\" alt=\"Главный турист\" />",
"IsVisible": true,
"IsRequired": true,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
},
"passportdate": {
"Code": "passportdate",
"HeaderText": "Загран-паспорт: дата выдачи",
"IsVisible": false,
"IsRequired": false,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
},
"firstnamerus": {
"Code": "firstnamerus",
"HeaderText": "Нац. паспорт: Имя",
"IsVisible": false,
"IsRequired": true,
"IsEdit": true,
"Translit": 0,
"LetterCase": 0
},
"passportbywhomrus": {
"Code": "passportbywhomrus",
"HeaderText": "Паспорт: кем выдан",
"IsVisible": false,
"IsRequired": false,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
},
"citizenship": {
"Code": "citizenship",
"HeaderText": "Гражданство",
"IsVisible": true,
"IsRequired": false,
"IsEdit": true,
"Translit": 0,
"LetterCase": 0
},
"passportdaterus": {
"Code": "passportdaterus",
"HeaderText": "Нац. паспорт:дата выдачи",
"IsVisible": false,
"IsRequired": false,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
},
"phone": {
"Code": "phone",
"HeaderText": "Телефон",
"IsVisible": false,
"IsRequired": false,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
},
"number": {
"Code": "number",
"HeaderText": "№",
"IsVisible": false,
"IsRequired": false,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
},
"passportdateend": {
"Code": "passportdateend",
"HeaderText": "Действителен до<br />(dd.MM.yyyy)",
"IsVisible": true,
"IsRequired": false,
"IsEdit": true,
"Translit": 0,
"LetterCase": 0
},
"email": {
"Code": "email",
"HeaderText": "Email",
"IsVisible": false,
"IsRequired": false,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
}
},
"PassportDurationOfExpiry": {
"StartPoint": 0,
"Duration": null
},
"ChildAgeSetting": 16,
"InfantAgeSetting": 24
}
|
Выгрузка услуг доплат к авиаперелетам (GetFlightsAdditionalServices)
Метод производит выгрузку услуг доплат к авиаперелетам.
- Формат запроса:
- POST .../TourSearchOwin/GetFlightsAdditionalServices?
- Принимаемые параметры headers ( * – обязательный):
- Content-Type * – application/json
- Принимаемые параметры POST запроса ( * – обязательный):
- TourProgramId – ключ турпрограммы
- BeginDate – дата начала тура
- Duration – продолжительность тура
- Currency – код валюты
- Services – массив услуг авиаперелетов для получения доплат
- Service – объект услуга авиаперелет
- ServiceType – тип услуги
- Code – код услуги
- SubCode1 – доп. описание 1 услуги
- SubCode2 – доп. описание 2 услуги
- Packet – ключ пакета услуги
- Partner – ключ партнера услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- City – ключ города
- Country – страна услуги
- Attributes – битовая маска атрибутов услуг
- IsRemovable – (не обрабатывается)
- Type – тип услуги в путевке (базовая дополнительная)
- IsHooded – признак скрытая услуга
- IsNotCalculated – признак не рассчитываемая услуга
- BeginDateTimeString – дата и время начала услуги
- EndDateTimeString – дата и время окончания услуги
- TemplateId – шаблон услуги
- Cost – цена услуги
- ByPax – цена за человека
- QuotaStatus – объект статус квотирования
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- Index – индекс услуги
- IsRoute – признак маршрутная услуга
- ServiceTemplateIndex – индекс шаблона услуги
- TouristNumbersList – массив туристов, привязанных к услуге
- Service – объект услуга авиаперелет
- Tourists – массив туристов
- IsMain – главный турист
- Number – порядковый номер туриста
- AgeType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
- MaleFemaleSex – пол
- FirstName – имя (лат)
- LastName – фамилия (лат)
- Patronymic – отчество (лат)
- FirstNameRus – имя (рус)
- LastNameRus – фамилия (рус)
- PatronymicRus – отчество (рус)
- InternationalPassportSeries – серия загранпаспорта
- InternationalPassportNumber – номер загранпаспорта
- InternationalPassportDateOfIssue – дата выдачи загранпаспорта
- InternationalPassportDateOfIssueString – дата выдачи загранпаспорта в строке
- InternationalPassportDateOfExpiry – дата окончания действия загранпаспорта
- InternationalPassportDateOfExpiryString – дата окончания действия загранпаспорта в строке
- internationalPassportByWhom – кем выдан загранпаспорт
- PassportSeries – серия паспорта
- PassportNumber – номер паспорта
- PassportDateOfIssue – дата выдачи паспорта
- PassportDateOfIssueString – дата выдачи паспорта в строке
- PassportByWhom – кем выдан паспорт
- Citizenship – название страны
- Phone – телефон
- Email – e-mail
- BirthDay – дата рождения (YYYY-MM-DDThh:mm:ssz)
- BirthDayString – дата рождения в строковом формате (DD.MM.YYYY)
- BirthPlace – место рождения
- CitizenID – гражданство
- Age – количество полных лет на момент окончания тура
- Возвращаемый результат:
- Массив – массив объектов доплат к авиаперелетам
- ServiceName – название услуги
- City – объект город
- Country – ключ страны
- Code – объект код услуги
- Key – ключ услуги
- Value – название услуги
- ByScheduler – признак по расписанию
- Details - объект детализация
- SubCode1 – объект доп. описание 1
- Key – ключ
- Value – название
- SubCode2 – объект доп. описание 2
- Key – ключ
- Value – название
- Date – дата услуги
- IsShowTransportPlan – признак показать транспортный план (для автобусов)
- Cost – цена
- QuotaStatus – объект статус квотирования
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- PartnerId – ключ партнера
- ByPax – признак за человека
- Partner – объект партнер (не заполняется)
- Key – ключ (не заполняется)
- Value – название (не заполняется)
- SubCode1 – объект доп. описание 1
- ParentId – ключ родительской услуги
- PartnerBasedOnServiceTemplateId – шаблон услуги для подбора поставщика
- ShowOrder – порядок при печати (сортировка) по услуге
- ShowOrderAddDescript1 – порядок при печати (сортировка) по доп. описанию 1
- ShowOrderAddDescript2 – порядок при печати (сортировка) по доп. описанию 2
- Id – идентификатор услуги
- SvKey – тип услуги
- IsSubCode1 – признак наличия доп. описания 1
- IsSubCode2 – признак наличия доп. описания 2
- IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата начала услуги
- EndDateTime – дата окончания
- IsHooded – признак скрытая
- IsDeleted – признак удаляемая
- IsNotCalculate – признак не рассчитываемая
- PacketId – ключ пакета
- Index – индекс шаблона услуги
- Массив – массив объектов доплат к авиаперелетам
Вызов метода GetHotelsAdditionalServices POST http://localhost:9000/TourSearchOwin/GetHotelsAdditionalServices? HTTP/1.1
Content-Type: application/json
{
"TourProgramId": 100003404,
"BeginDate": "2018-04-16T00:00:00",
"Duration": 8,
"Currency": "EU",
"Services": [{
"Service": {
"ServiceType": 1,
"Code": 858,
"SubCode1": 67,
"SubCode2": 1,
"Packet": 779,
"Partner": 10760,
"Day": 1,
"DurationInNight": 0,
"City": 35,
"Country": 90,
"Attributes": 0,
"IsRemovable": false,
"Type": 1,
"IsHooded": false,
"IsNotCalculated": false,
"BeginDateTimeString": "2018-04-16T10:00:00",
"EndDateTimeString": "2018-04-16T11:59:00",
"TemplateId": 3,
"Cost": 6,
"ByPax": true,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"Index": 0,
"IsRoute": true,
"ServiceTemplateIndex": 0
},
"TouristNumbersList": [1,
2]
},
{
"Service": {
"ServiceType": 1,
"Code": 774,
"SubCode1": 67,
"SubCode2": 35,
"Packet": 779,
"Partner": 10760,
"Day": 8,
"DurationInNight": 0,
"City": 1,
"Country": 460,
"Attributes": 0,
"IsRemovable": false,
"Type": 1,
"IsHooded": false,
"IsNotCalculated": false,
"BeginDateTimeString": "2018-04-23T00:00:00",
"EndDateTimeString": "2018-04-23T00:00:00",
"TemplateId": 4,
"Cost": 2,
"ByPax": true,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"Index": 3,
"IsRoute": true,
"ServiceTemplateIndex": 3
},
"TouristNumbersList": [1,
2]
}],
"Tourists": [{
"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": null,
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": null
},
{
"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": null,
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": null
}]
}
Возвращаемый результат метода GetHotelsAdditionalServices (в формате JSON) [{
"ServiceName": "Доплаты к авиаперелетам",
"City": null,
"Country": 90,
"Code": {
"Key": 357,
"Value": "Топливный сбор"
},
"ByScheduler": false,
"Details": [{
"SubCode1": {
"Key": 41,
"Value": "3G1111 DME-VIE1 ()"
},
"SubCode2": {
"Key": null,
"Value": ""
},
"Date": "2018-04-16T10:00:00",
"IsShowTransportPlan": false,
"Cost": 24,
"QuotaStatus": {
"PlacesStatus": 0,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 10760,
"ByPax": false,
"Partner": {
"Key": 0,
"Value": null
}
}],
"ParentId": null,
"PartnerBasedOnServiceTemplateId": null,
"ShowOrder": 0,
"ShowOrderAddDescript1": 0,
"ShowOrderAddDescript2": 0,
"Id": -1,
"SvKey": 12,
"IsSubCode1": false,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-04-16T10:00:00",
"EndDateTime": "0001-01-01T00:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": true,
"PacketId": 777,
"Index": 0
}]
|
Выгрузка услуг доплат к отелям (GetHotelsAdditionalServices)
Метод производит выгрузку услуг доплат к отелям.
- Формат запроса:
- POST .../TourSearchOwin/GetHotelsAdditionalServices?
- Принимаемые параметры headers ( * – обязательный):
- Content-Type * – application/json
- Принимаемые параметры POST запроса ( * – обязательный):
- TourProgramId – ключ турпрограммы
- BeginDate – дата начала тура
- Duration – продолжительность тура
- Currency – код валюты
- Services – массив услуг отелей для получения доплат
- Service – объект услуга отель
- ServiceType – тип услуги
- Code – код услуги
- SubCode1 – доп. описание 1 услуги
- SubCode2 – доп. описание 2 услуги
- Packet – ключ пакета услуги
- Partner – ключ партнера услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- City – ключ города
- Country – страна услуги
- Attributes – битовая маска атрибутов услуг
- IsRemovable – (не обрабатывается)
- Type – тип услуги в путевке (базовая дополнительная)
- IsHooded – признак скрытая услуга
- IsNotCalculated – признак не рассчитываемая услуга
- BeginDateTimeString – дата и время начала услуги
- EndDateTimeString – дата и время окончания услуги
- TemplateId – шаблон услуги
- Cost – цена услуги
- ByPax – цена за человека
- QuotaStatus – объект статус квотирования
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- Index – индекс услуги
- IsRoute – признак маршрутная услуга
- ServiceTemplateIndex – индекс шаблона услуги
- RemoteId – (в доплатах не используется)
- TouristNumbersList – массив туристов, привязанных к услуге
- Service – объект услуга отель
- Tourists – массив туристов
- IsMain – главный турист
- Number – порядковый номер туриста
- AgeType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
- MaleFemaleSex – пол
- FirstName – имя (лат)
- LastName – фамилия (лат)
- Patronymic – отчество (лат)
- FirstNameRus – имя (рус)
- LastNameRus – фамилия (рус)
- PatronymicRus – отчество (рус)
- InternationalPassportSeries – серия загранпаспорта
- InternationalPassportNumber – номер загранпаспорта
- InternationalPassportDateOfIssue – дата выдачи загранпаспорта
- InternationalPassportDateOfIssueString – дата выдачи загранпаспорта в строке
- InternationalPassportDateOfExpiry – дата окончания действия загранпаспорта
- InternationalPassportDateOfExpiryString – дата окончания действия загранпаспорта в строке
- internationalPassportByWhom – кем выдан загранпаспорт
- PassportSeries – серия паспорта
- PassportNumber – номер паспорта
- PassportDateOfIssue – дата выдачи паспорта
- PassportDateOfIssueString – дата выдачи паспорта в строке
- PassportByWhom – кем выдан паспорт
- Citizenship – название страны
- Phone – телефон
- Email – e-mail
- BirthDay – дата рождения
- BirthDayString – дата рождения в строковом формате
- BirthPlace – место рождения
- CitizenID – гражданство
- Age – количество полных лет на момент окончания тура
- Возвращаемый результат:
- Массив – массив объектов связок Возраст-Отель-Доп. услуги
- Age – возраст туриста
- Hotel – объект отель
- ServiceType – тип услуги
- Code – код услуги
- SubCode1 – доп. описание 1
- SubCode2 – доп. описание 2
- PacketId – ключ пакета
- PartnerId – ключ партнера
- Day – день предоставления услуги
- BeginTime – время начала услуги
- EndTime – время окончания услуги
- DurationInNight – продолжительность услуги в ночах
- Attributes – маска атрибутов услуги
- CountryId – ключ страны услуги
- CityId – ключ города
- Type – тип услуги в путевке
- ShowOrder – порядок при печати (сортировка) по услуге
- ShowOrderAddDescript1 – порядок при печати (сортировка) по доп. описанию 1
- ShowOrderAddDescript2 – порядок при печати (сортировка) по доп. описанию 2
- IsCommission – признак, комиссионная ли услуга
- BaseFlightsParams – параметр не обрабатывается
- AdditionalServices – массив доплат
- ServiceName – название услуги
- City – объект город
- Country – ключ страны
- Code – объект код услуги
- Key – ключ услуги
- Value – название услуги
- ByScheduler – признак по расписанию
- Details - объект детализация
- SubCode1 – объект доп. описание 1
- Key – ключ
- Value – название
- SubCode2 – объект доп. описание 2
- Key – ключ
- Value – название
- Date – дата услуги
- IsShowTransportPlan – признак показать транспортный план (для автобусов)
- Cost – цена
- QuotaStatus – объект статус квотирования
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- PartnerId – ключ партнера
- ByPax – признак за человека
- Partner – объект партнер (не заполняется)
- Key – ключ (не заполняется)
- Value – название (не заполняется)
- SubCode1 – объект доп. описание 1
- ParentId – ключ родительской услуги
- PartnerBasedOnServiceTemplateId – шаблон услуги для подбора поставщика
- ShowOrder – порядок при печати (сортировка) по услуге
- ShowOrderAddDescript1 – порядок при печати (сортировка) по доп. описанию 1
- ShowOrderAddDescript2 – порядок при печати (сортировка) по доп. описанию 2
- Id – идентификатор услуги
- SvKey – тип услуги
- IsSubCode1 – признак наличия доп. описания 1
- IsSubCode2 – признак наличия доп. описания 2
- IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата начала услуги
- EndDateTime – дата окончания
- IsHooded – признак скрытая
- IsDeleted – признак удаляемая
- IsNotCalculate – признак не рассчитываемая
- PacketId – ключ пакета
- Index – индекс шаблона услуги
- Массив – массив объектов связок Возраст-Отель-Доп. услуги
Вызов метода GetHotelsAdditionalServices POST http://localhost:9000/TourSearchOwin/GetHotelsAdditionalServices? HTTP/1.1
Content-Type: application/json
{ "TourProgramId": 100003404,
"BeginDate": "2018-04-16T00:00:00",
"Duration": 8,
"Currency": "EU",
"Services": [{
"Service": {
"ServiceType": 3,
"Code": 178,
"SubCode1": 46387,
"SubCode2": 57,
"Packet": 779,
"Partner": 12667,
"Day": 1,
"DurationInNight": 7,
"City": 35,
"Country": 90,
"Attributes": 0,
"IsRemovable": false,
"Type": 1,
"IsHooded": false,
"IsNotCalculated": false
"BeginDateTimeString": "2018-04-16T11:59:00"
"EndDateTimeString": "2018-04-23T11:59:00",
"TemplateId": 1,
"Cost": 122,
"ByPax": false,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"Index": 1,
"IsRoute": true,
"ServiceTemplateIndex": 1,
"RemoteId": null
},
"TouristNumbersList": [1,
2
}],
"Tourists": [{
"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": null,
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": null
},
{
"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": null,
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": null
}]
}
Возвращаемый результат метода GetHotelsAdditionalServices (в формате JSON) [{
"Age": 17,
"Hotel": {
"ServiceType": 3,
"Code": 178,
"SubCode1": 46387,
"SubCode2": 57,
"PacketId": 779,
"PartnerId": 12667,
"Day": 1,
"BeginTime": "11:59:00",
"EndTime": "11:59:00",
"DurationInNight": 7,
"Attributes": 0,
"CountryId": 90,
"CityId": 35,
"Type": 1,
"ShowOrder": 1,
"ShowOrderAddDescript1": 0,
"ShowOrderAddDescript2": 0,
"IsCommission": false,
"BaseFlightsParams": null
},
"AdditionalServices": [{
"ServiceName": "Доплаты к отелям",
"City": null,
"Country": 90,
"Code": {
"Key": 364,
"Value": "Праздник"
},
"ByScheduler": false,
"Details": [{
"SubCode1": {
"Key": 109,
"Value": "Ananas"
},
"SubCode2": {
"Key": null,
"Value": ""
},
"Date": "2018-04-16T11:59:00",
"IsShowTransportPlan": false,
"Cost": 2,
"QuotaStatus": {
"PlacesStatus": 0,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12667,
"ByPax": false,
"Partner": {
"Key": 0,
"Value": null
}
}],
"ParentId": null,
"PartnerBasedOnServiceTemplateId": null,
"ShowOrder": 0,
"ShowOrderAddDescript1": 0,
"ShowOrderAddDescript2": 0,
"Id": -1,
"SvKey": 13,
"IsSubCode1": false,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-04-16T11:59:00",
"EndDateTime": "0001-01-01T00:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": true,
"PacketId": 879,
"Index": 1
}]
}]
|
Расчет индивидуальных услуг (CalculateIndividualServiceCosts)
Метод производит расчет услуг с индивидуальным выбором у туристов.
- Формат запроса:
- POST .../TourSearchOwin/CalculateIndividualServiceCosts?
- Принимаемые параметры headers ( * – обязательный):
- Content-Type * – application/json
- Принимаемые параметры POST запроса ( * – обязательный):
- TourProgramId – ключ тура
- TourDate – дата тура
- TourDuration – продолжительность тура
- Currency – код валюты
- Services – массив индивидуальных услуг
- ServiceType – тип услуги
- Code – код услуги
- SubCode1 – доп. описание 1
- SubCode2 – доп. описание 2
- Packet – ключ пакета
- Partner – ключ партнера
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- City – объект город
- Country – страна услуги
- Attributes – маска атрибутов услуги
- Type – тип услуги
- IsHooded – признак скрытая
- IsNotCalculated – признак не рассчитываемая
- BeginDateTimeString – дата начала услуги в строке
- EndDateTimeString – дата начала услуги в строке
- TemplateId – номер шаблона услуги
- Cost – цена услуги
- ByPax – цена за человека
- QuotaStatus – объект статус квотирования
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- Index – индекс услуги
- IsRoute – признак маршрутная услуга
- ServiceTemplateIndex – индекс шаблона услуги
- RemoteId – (не используется)
- Ages – массив возрастов туристов
- Возвращаемый результат:
- Массив – массив связок Возраст-Услуга-Цена
- Age – возраст
- Service – объект услуга
- ServiceType – тип услуги
- Code – код услуги
- SubCode1 – доп. описание 1
- SubCode2 – доп. описание 2
- PacketId – ключ пакета услуги
- PartnerId – ключ партнера
- Day – день предоставления услуги
- BeginTime – время начала услуги
- EndTime – время окончания услуги
- DurationInNight – продолжительность услуги в ночах
- Attributes – маска атрибутов услуги
- CountryId – ключ страны
- CityId – ключ города
- Type – тип услуги
- ShowOrder – порядковый номер
- SimpleServiceCost – объект цена
- Brutto – брутто
- Discount – скидка
- Массив – массив связок Возраст-Услуга-Цена
Вызов метода CalculateIndividualServiceCosts POST http://localhost:9000/TourSearchOwin/CalculateIndividualServiceCosts? HTTP/1.1
Content-Type: application/json
{
"TourProgramId": 100003403,
"TourDate": "2018-04-16T00:00:00",
"TourDuration": 8,
"Currency": "EU",
"Services": [{
"ServiceType": 6,
"Code": 155,
"SubCode1": 7,
"SubCode2": 10,
"Packet": 779,
"Partner": 10760,
"Day": 1,
"DurationInNight": 7,
"City": null,
"Country": 90,
"Attributes": 0,
"Type": 1,
"IsHooded": false,
"IsNotCalculated": false,
"BeginDateTimeString": "2018-04-16T00:00:00",
"EndDateTimeString": null,
"TemplateId": 12,
"Cost": 26,
"ByPax": false,
"QuotaStatus": {
"PlacesStatus": 1,
"FreePlaces": 0,
"IsFewPlaces": false
},
"Index": null,
"IsRoute": null,
"ServiceTemplateIndex": null,
"RemoteId": null
}],
"Ages": [17]
}
Возвращаемый результат метода CalculateIndividualServiceCosts (в формате JSON) [{
"Age": 17,
"Service": {
"ServiceType": 6,
"Code": 155,
"SubCode1": 7,
"SubCode2": 10,
"PacketId": 779,
"PartnerId": 10760,
"Day": 1,
"BeginTime": null,
"EndTime": null,
"DurationInNight": 7,
"Attributes": 0,
"CountryId": 90,
"CityId": null,
"Type": 1,
"ShowOrder": 0
},
"SimpleServiceCost": {
"Brutto": 13,
"Discount": 0
}
}]
|
Загрузка филиалов (Branches) начиная с релиза 15.3
Метод производит выгрузку филиалов бронирования.
- Формат запроса:
- GET .../TourSearchOwin/Branches?
- Принимаемые параметры GET запроса ( * – обязательный):
- ids – массив ключей филиалов
- cityKey – фильтр по городу филиала (если 0 или не задан, то выбираются все филиалы)
- Возвращаемый результат:
- Key – ключ филиала (ключ партнера)
- Value – название филиала (название партнера)
Вызов метода Branches GET http://localhost:9000/TourSearchOwin/Branches?
Возвращаемый результат метода Branches (в формате JSON) [{
"Key": 12848,
"Value": "Филиал 1"
},
{
"Key": 12849,
"Value": "Филиал 2"
},
{
"Key": 12850,
"Value": "Филиал 3"
}]
|
Загрузка ведущих менеджеров (Users) начиная с релиза 15.3
Метод производит выгрузку ведущих менеджеров.
- Формат запроса:
- GET .../TourSearchOwin/Users?
- Принимаемые параметры GET запроса ( * – обязательный):
- ids – массив ключей ведущих менеджеров
- branchKey – ключ филиала бронирования, к которому они привязаны
- Возвращаемый результат:
- Key – ключ ведущего менеджера
- Value – полное имя ведущего менеджера
Вызов метода Users GET http://localhost:9000/TourSearchOwin/Users?
Возвращаемый результат метода Users (в формате JSON) [{
"Key": 1532,
"Value": "Иванов И."
},
{
"Key": 12849,
"Value": "Петров П."
}]
|
Расчет путевки (CalculateReservation)
Метод производит расчет стоимости путевки.
- Формат запроса:
- POST .../TourSearchOwin/CalculateReservation?
- Принимаемые параметры headers ( * – обязательный):
- Content-Type * – application/json
- Принимаемые параметры POST запроса:
- TourProgramId – ключ турпрограммы
- BeginDate – дата начала тура
- Duration – продолжительность тура
- Currency – код валюты
- initialPrice – объект изначальная цена
- price – цена
- currency – код валюты
- Services – массив услуг
- Service – объект услуги (отель/круиз, авиаперелет, трансфер или др.)
- ServiceType – тип услуги (поле sv_key из таблицы service)
- Code – код услуги
- SubCode1 – доп. описание 1 услуги
- SubCode2 – доп. описание 2 услуги
- Packet – ключ пакета услуги
- Partner – ключ партнера услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- City – ключ города
- Country – страна услуги
- Attributes – битовая маска атрибутов услуг
- IsRemovable – (не обрабатывается)
- Type – тип услуги в путевке (базовая дополнительная)
- IsHooded – признак скрытая услуга
- IsNotCalculated – признак не рассчитываемая услуга
- BeginDateTimeString – дата и время начала услуги
- EndDateTimeString – дата и время окончания услуги
- TemplateId – шаблон услуги
- Cost – цена услуги
- ByPax – цена за человека
- QuotaStatus – объект статус квотирования
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- Index – индекс услуги
- IsRoute – признак маршрутная услуга
- ServiceTemplateIndex – индекс шаблона услуги
- RemoteId – информация об услуге в удаленной системе
- IsCommission – признак, комиссионная ли услуга
- BaseFlightsParams – параметры рассчитанных авиаперелетов
- CityArrival – ключ города прибытия прямого перелета
- FlightCode – ключ прямого авиаперелета
- TariffKey – ключ тарифа прямого авиаперелета
- PartnerId – ключ партнера прямого авиаперелета
- CityArrival – ключ города прибытия обратного перелета
- FlightCode – ключ обратного авиаперелета
- TariffKey – ключ тарифа обратного авиаперелета
- PartnerId – ключ партнера обратного авиаперелета
- TouristNumbersList – массив туристов, привязанных к услуге
- Service – объект услуги (отель/круиз, авиаперелет, трансфер или др.)
- Tourists – массив туристов
- IsMain – главный турист
- Number – порядковый номер туриста
- AgeType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
- MaleFemaleSex – пол
- FirstName – имя (лат)
- LastName – фамилия (лат)
- Patronymic – отчество (лат)
- FirstNameRus – имя (рус)
- LastNameRus – фамилия (рус)
- PatronymicRus – отчество (рус)
- InternationalPassportSeries – серия загранпаспорта
- InternationalPassportNumber – номер загранпаспорта
- InternationalPassportDateOfIssue – дата выдачи загранпаспорта
- InternationalPassportDateOfIssueString – дата выдачи загранпаспорта в строке
- InternationalPassportDateOfExpiry – дата окончания действия загранпаспорта
- InternationalPassportDateOfExpiryString – дата окончания действия загранпаспорта в строке
- internationalPassportByWhom – кем выдан загранпаспорт
- PassportSeries – серия паспорта
- PassportNumber – номер паспорта
- PassportDateOfIssue – дата выдачи паспорта
- PassportDateOfIssueString – дата выдачи паспорта в строке
- PassportByWhom – кем выдан паспорт
- Citizenship – название страны
- Phone – телефон
- Email – e-mail
- BirthDay – дата рождения
- BirthDayString – дата рождения в строковом формате
- BirthPlace – место рождения
- CitizenID – гражданство
- Age – количество полных лет на момент окончания тура
- Day – день (перевод)
- Day2 – дня (перевод)
- Days – дней (перевод)
- Night – ночь (перевод)
- Night2 – ночи (перевод)
- Nights – ночей (перевод)
- adultsCountOverServiceLimit – Количество взрослых туристов превышает лимит услуги (перевод)
- at – на (перевод)
- incorrectChildrenInf – Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание) (перевод)
- Возвращаемый результат:
- IsValid – признак валидности путевки
- ErrorMessage – сообщение об ошибке, если есть
- CalculatedReservation – объект рассчитанной путевки
- TourKey – ключ тура
- BeginDate – дата начала тура
- Duration – продолжительность путевки в днях
- Currency – код валюты тура
- CalculatedServicesPrice – сумма обязательных услуг, входящих в состав тура
- ChangedPrice – сумма, на которую изменилась итоговая стоимость TotalPrice в результате добавления обязательных и дополнительных услуг
- Price – итоговая стоимость тура для агентства, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг - партнерская комиссия (в валюте тура)
- TotalPrice – итоговая стоимость тура для туриста, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг (в валюте тура)
- IsDiscountIsPercent – признак, в процентах ли дается партнерская комиссия или в y.e.
- NationalChangedPrice – сумма, на которую изменилась итоговая стоимость TotalPrice в результате добавления обязательных и дополнительных услуг (в национальной валюте)
- NationalTotalDiscount – партнерская комиссия агентству (в национальной валюте)
- NationalTotalPrice – итоговая стоимость тура для туриста, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг (в национальной валюте)
- NatinoalCalculatedServicesPrice – сумма обязательных услуг, входящих в состав тура (в национальной валюте)
- NationalPrice – итоговая стоимость тура для агентства, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг - партнерская комиссия (в национальной валюте)
- Discount – партнерская комиссия агентству (в процентах или y.e.)
- TotalDiscount – партнерская комиссия агентству (в валюте тура)
- ServiceTourists – массив услуг, входящих в тур
- ServiceType – тип услуги
- Day – день предоставления
- DurationInNight – продолжительность в ночах
- Time – время начала услуги
- Name – полное описание услуги
- TouristCount – количество туристов на услуге
- Attributes – битовая маска атрибутов
- Type – тип услуги (основная/дополнительная)
- Brutto – цена брутто
- NationalBrutto – цена брутто в национальной валюте
- TotalBrutto – итоговое брутто
- TourName – название тура
- BookingConditions – разметка условия бронирования
- EndDate – дата окончания тура
- DurationInNights – продолжительность тура в ночах
- NationalCurrency – код национальной валюты
Вызов метода CalculateReservation POST http://localhost:9000/TourSearchOwin/CalculateReservation? HTTP/1.1
Content-Type: application/json
{
"tourProgramId": 100003404,
"beginDate": "2018-04-16T00:00:00",
"duration": 8,
"currency": "EU",
"initialPrice": {
"price": 122,
"currency": "EU"
},
"services": [{
"Service": {
"ServiceType": 3,
"Code": 707,
"SubCode1": 10468,
"SubCode2": 4,
"Packet": 779,
"Partner": 12667,
"Day": 1,
"DurationInNight": 7,
"City": 35,
"Country": 90,
"Attributes": 0,
"IsRemovable": false,
"Type": 1,
"IsHooded": false,
"IsNotCalculated": false,
"BeginDateTimeString": "2018-04-16T11:59:00",
"EndDateTimeString": "2018-04-23T11:59:00",
"TemplateId": 1,
"Cost": 114,
"ByPax": false,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"Index": 1,
"IsRoute": true,
"ServiceTemplateIndex": 1,
"RemoteId": null,
"IsCommission": true,
"BaseFlightsParams": [{
"CityArrival": 35,
"FlightCode": 882,
"TariffKey": 67,
"PartnerId": 12668
},
{
"CityArrival": 1,
"FlightCode": 774,
"TariffKey": 67,
"PartnerId": 10760
}]
},
"TouristNumbersList": [1,
2]
},
{
"Service": {
"ServiceType": 12,
"Code": 347,
"SubCode1": 42,
"SubCode2": null,
"Packet": 777,
"Partner": 10760,
"Day": 8,
"DurationInNight": 0,
"City": null,
"Country": 460,
"Attributes": 32768,
"Type": 2,
"IsHooded": false,
"IsNotCalculated": true,
"EndDateTimeString": false,
"Cost": 10,
"ByPax": false,
"QuotaStatus": 0,
"Index": 3,
"IsRoute": false,
"ServiceTemplateIndex": 3,
"RemoteId": null,
"IsCommission": true,
"BaseFlightsParams": [{
"CityArrival": 35,
"FlightCode": 882,
"TariffKey": 67,
"PartnerId": 12668
},
{
"CityArrival": 1,
"FlightCode": 774,
"TariffKey": 67,
"PartnerId": 10760
}]
},
"TouristNumbersList": [1,
2]
}],
"tourists": [{
"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": null,
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": null
},
{
"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": null,
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": null
}],
"Day": "день",
"Day2": "дня",
"Days": "дней",
"Night": "ночь",
"Night2": "ночи",
"Nights": "ночей",
"adultsCountOverServiceLimit": "Количество взрослых туристов превышает лимит услуги",
"at": "на",
"incorrectChildrenInf": "Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание)"
}
Возвращаемый результат метода CalculateReservation (в формате JSON) {
"IsValid": true,
"ErrorMessage": "",
"CalculatedReservation": {
"TourKey": 100003404,
"BeginDate": "2018-04-16T00:00:00",
"Duration": 8,
"Currency": "EU",
"CalculatedServicesPrice": 122.0,
"ChangedPrice": 34.0,
"Price": 156.0,
"TotalPrice": 156.0,
"IsDiscountIsPercent": true,
"NationalChangedPrice": 2411.3038000000000000000000023,
"NationalTotalDiscount": 0.0,
"NationalTotalPrice": 11063.629200000000000000000011,
"NatinoalCalculatedServicesPrice": 8652.325400000000000000000008,
"NationalPrice": 11063.629200000000000000000011,
"Discount": 0.0,
"TotalDiscount": 0.0,
"ServiceTourists": [{
"ServiceType": 1,
"Day": 1,
"DurationInNight": 0,
"Time": "10:00:00",
"Name": "А_П::Москва/Вена/3G1111, DME-VIE1, 10:00-11:59/C Бизнес класс",
"TouristCount": 2,
"Attributes": 0,
"Type": 1,
"Brutto": 6.0,
"NationalBrutto": 425.52420000000000000000000041,
"TotalBrutto": 6.0
},
{
"ServiceType": 3,
"Day": 1,
"DurationInNight": 7,
"Time": "11:59:00",
"Name": "HOTEL::Вена/Beim Theresianum-4*Boutique,7 ночей/Double(Standart133),2Ad/BB2 Завтрак",
"TouristCount": 2,
"Attributes": 0,
"Type": 1,
"Brutto": 114.0,
"NationalBrutto": 8084.959800000000000000000008,
"TotalBrutto": 114.0
},
{
"ServiceType": 1,
"Day": 8,
"DurationInNight": 0,
"Time": "00:00:00",
"Name": "А_П::Вена/Москва/7U222, VIE1-DME, 00:00-00:00/C Бизнес класс",
"TouristCount": 2,
"Attributes": 0,
"Type": 1,
"Brutto": 2.0,
"NationalBrutto": 141.84140000000000000000000014,
"TotalBrutto": 2.0
}]
},
"TourName": "Удалить этот тур",
"BookingConditions": "Условия бронирования тура.</p>",
"EndDate": "2018-04-23T00:00:00",
"DurationInNights": 7,
"NationalCurrency": "рб"
}
|
Бронирование путевки (CreateReservation)
Метод производит бронирование путевки.
- Формат запроса:
- PUT .../TourSearchOwin/CreateReservation/1?
- Принимаемые параметры headers ( * – обязательный):
- Content-Type * – application/json
- Authorization * – token_type + access_token (полученные из метода .../TourSearchOwin/Token?)
- Принимаемые параметры PUT запроса:
- TourProgramId – ключ турпрограммы
- BeginDate – дата начала тура
- Duration – продолжительность тура
- Currency – код валюты
- Services – массив услуг
- Service – объект услуги (отель/круиз, авиаперелет, трансфер или др.)
- ServiceType – тип услуги (поле sv_key из таблицы service)
- Code – код услуги
- SubCode1 – доп. описание 1 услуги
- SubCode2 – доп. описание 2 услуги
- Packet – ключ пакета услуги
- Partner – ключ партнера услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- City – ключ города
- Country – страна услуги
- Attributes – битовая маска атрибутов услуг
- IsRemovable – (не обрабатывается)
- Type – тип услуги в путевке (базовая дополнительная)
- IsHooded – признак скрытая услуга
- IsNotCalculated – признак не рассчитываемая услуга
- BeginDateTimeString – дата и время начала услуги
- EndDateTimeString – дата и время окончания услуги
- TemplateId – шаблон услуги
- Cost – цена услуги
- ByPax – цена за человека
- QuotaStatus – объект статус квотирования
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- Index – индекс услуги
- IsRoute – признак маршрутная услуга
- ServiceTemplateIndex – индекс шаблона услуги
- RemoteId – информация об услуге в удаленной системе
- IsCommission – признак, комиссионная ли услуга
- BaseFlightsParams – параметры рассчитанных авиаперелетов
- CityArrival – ключ города прибытия прямого перелета
- FlightCode – ключ прямого авиаперелета
- TariffKey – ключ тарифа прямого авиаперелета
- PartnerId – ключ партнера прямого авиаперелета
- CityArrival – ключ города прибытия обратного перелета
- FlightCode – ключ обратного авиаперелета
- TariffKey – ключ тарифа обратного авиаперелета
- PartnerId – ключ партнера обратного авиаперелета
- TouristNumbersList – массив туристов, привязанных к услуге
- Service – объект услуги (отель/круиз, авиаперелет, трансфер или др.)
- Tourists – массив туристов
- IsMain – главный турист
- Number – порядковый номер туриста
- AgeType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
- MaleFemaleSex – пол
- FirstName – имя (лат)
- LastName – фамилия (лат)
- Patronymic – отчество (лат)
- FirstNameRus – имя (рус)
- LastNameRus – фамилия (рус)
- PatronymicRus – отчество (рус)
- InternationalPassportSeries – серия загранпаспорта
- InternationalPassportNumber – номер загранпаспорта
- InternationalPassportDateOfIssue – дата выдачи загранпаспорта
- InternationalPassportDateOfIssueString – дата выдачи загранпаспорта в строке
- InternationalPassportDateOfExpiry – дата окончания действия загранпаспорта
- InternationalPassportDateOfExpiryString – дата окончания действия загранпаспорта в строке
- internationalPassportByWhom – кем выдан загранпаспорт
- PassportSeries – серия паспорта
- PassportNumber – номер паспорта
- PassportDateOfIssue – дата выдачи паспорта
- PassportDateOfIssueString – дата выдачи паспорта в строке
- PassportByWhom – кем выдан паспорт
- Citizenship – название страны
- Phone – телефон
- Email – e-mail
- BirthDay – дата рождения (YYYY-MM-DDThh:mm:ssz)
- BirthDayString – дата рождения в строковом формате (DD.MM.YYYY)
- BirthPlace – место рождения
- CitizenID – гражданство
- Age – количество полных лет на момент окончания тура
- BranchId – ключ филиала бронирования (начиная с релиза 15.3). Если не передан, то филиал бронирования берется из менеджера по умолчанию либо из пользователя, создавшего тур.
- OwnerId – ключ ведущего менеджера (начиная с релиза 15.3). Если 0, то берется по умолчанию. Если по умолчанию не указан, то берется создатель тура.
- Day – день (перевод)
- Day2 – дня (перевод)
- Days – дней (перевод)
- Night – ночь (перевод)
- Night2 – ночи (перевод)
- Nights – ночей (перевод)
- adultsCountOverServiceLimit – Количество взрослых туристов превышает лимит услуги (перевод)
- incorrectChildrenInf – Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание) (перевод)
- Возвращаемый результат:
- Reservation – объект забронированной путевки. Объект полностью идентичный записи в базу данных tbl_Dogovor со связками к tbl_DogovorList, tbl_Partners, tbl_Turist. При успешном бронировании происходит переход сразу в Мастер_Web.
- ValidationResultSummary – объект статус результата бронирования
- ValidationResult – объект с ошибками и флагом валидности путевки
- Errors – массив ошибок бронирования
- IsValid – признак валидности бронирования
- ValidationResultAttributes – атрибут результата бронирования
- ValidationResult – объект с ошибками и флагом валидности путевки
Вызов метода CreateReservation PUT http://localhost:9000/TourSearchOwin/CreateReservation/1? HTTP/1.1
Content-Type: application/json
Authorization: Bearer AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAdsCC8X7m9E-2bg0-uS0VfgAAAAAAAAADZgAAwAAAA-
EqAAAAAASAAACgAAAAEAAAAO4S-VrqBhQuhqliqrAKKfIgAQAAn-gfgP-rYjk-Krr1Ck2A-IGCw6FBhamUOzFxgTtk1hR-
GLMryFIH8VK5GmHdHubZWj4S7XcazGL1Kn5-VlbiYdW2ZVWpYlk638aV-XS2kpZ9YrKgViiM_x8RH5TPo4-
9LhE7V-SjiB_CP_qs58DRKcyohq3Tz9QaiFgH1Ko7O2XKjTBG7SHyQPDPYjaqg9kDxmzq0UcIT6Fm4YkDxmm9-
CW7u3cEFWcpiqKOc2VvZFKPPHc07uDOO4w9FXPhpXZwOqrJBxzhbr73RuhzPs_e-hgxKaIlsMaK5b0v5ReAMy1kuY0ebXA
{
"TourProgramId": 100003404,
"BeginDate": "2018-04-16T00:00:00",
"Duration": 8,
"Currency": "EU",
"Services": [{
"Service": {
"ServiceType": 3,
"Code": 707,
"SubCode1": 10468,
"SubCode2": 4,
"Packet": 779,
"Partner": 12667,
"Day": 1,
"DurationInNight": 7,
"City": 35,
"Country": 90,
"Attributes": 0,
"IsRemovable": false,
"Type": 1,
"IsHooded": false,
"IsNotCalculated": false,
"BeginDateTimeString": "2018-04-16T11:59:00",
"EndDateTimeString": "2018-04-23T11:59:00",
"TemplateId": 1,
"Cost": 114,
"ByPax": false,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"Index": 1,
"IsRoute": true,
"ServiceTemplateIndex": 1,
"RemoteId": null,
"IsCommission": true,
"BaseFlightsParams": [{
"CityArrival": 35,
"FlightCode": 882,
"TariffKey": 67,
"PartnerId": 12668
},
{
"CityArrival": 1,
"FlightCode": 774,
"TariffKey": 67,
"PartnerId": 10760
}]
},
"TouristNumbersList": [1,
2]
},
{
"Service": {
"ServiceType": 12,
"Code": 357,
"SubCode1": 41,
"SubCode2": null,
"Packet": 777,
"Partner": 10760,
"Day": 1,
"DurationInNight": 0,
"City": null,
"Country": 90,
"Attributes": 32768,
"Type": 2,
"IsHooded": false,
"IsNotCalculated": true,
"EndDateTimeString": false,
"Cost": 24,
"ByPax": false,
"QuotaStatus": 0,
"Index": 0,
"IsRoute": false,
"ServiceTemplateIndex": 0
},
"TouristNumbersList": [1,
2]
}],
"Tourists": [{
"IsMain": true,
"Number": 1,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "555",
"LastName": "55",
"Patronymic": "",
"FirstNameRus": "555",
"LastNameRus": "55",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": null,
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": null
},
{
"IsMain": false,
"Number": 2,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "666",
"LastName": "66",
"Patronymic": "",
"FirstNameRus": "666",
"LastNameRus": "66",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": null,
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": null
}],
"BranchId": 12848,
"OwnerId": 135,
"Day": "день",
"Day2": "дня",
"Days": "дней",
"Night": "ночь",
"Night2": "ночи",
"Nights": "ночей",
"adultsCountOverServiceLimit": "Количество взрослых туристов превышает лимит услуги",
"incorrectChildrenInf": "Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание)"
}
|
Возвращаемый результат метода CreateReservation (в формате JSON) {
"RemoteReservations": [],
"Reservation": {
"$id": "1",
"Code": "AU01060006",
"TurDate": "2019-06-01T00:00:00",
"TRKey": 100000004,
"CNKey": 90,
"CTKey": 35,
"NMen": 2,
"Price": 156,
"Payed": 0,
"NDay": 8,
"MainMan": "Тестовый Представитель",
"MainManPhone": "9379992",
"MainManAddress": "",
"MainManPassport": "",
"PartnerKey": 12667,
"Operator": "Иванов Г.Н.",
"PrintDogovor": null,
"PrintVaucher": null,
"TypeCount": 1,
"Discount": 8,
"DiscountSum": 14,
"Creator": 106,
"Owner": 95,
"SORCode": 0,
"CrDate": "2019-04-16T11:01:20.1",
"Rate": "EU",
"Advertise": 0,
"Locked": null,
"CauseDisc": null,
"VisaDate": null,
"PPaymentDate": null,
"PaymentDate": "2019-04-18T00:00:00+03:00",
"TurPutDate": null,
"Document": "",
"TurPutPlace": null,
"Procent": 1,
"OldTourDate": null,
"RowID": "AAAAAAGY8fM=",
"TurDateBfrAnnul": null,
"ARKey": 0,
"Key": 43295,
"CodePartner": null,
"FilialKey": 1,
"IsOutDoc": 0,
"AgentID": null,
"Transferred": null,
"Notes": null,
"InvoiceCost": null,
"DCRClient": null,
"DCRPayment": null,
"IsMakeDiscount": null,
"DiscSumBfrAnn": null,
"PriceBfrAnn": null,
"RazmerP": 0,
"LeadDepartment": 0,
"MainManEmail": "kononenko@megatec.ru",
"MainManComment": "",
"DupUserKey": 333,
"BTKey": 1,
"ConfirmedDate": null,
"PrtDogKey": 422,
"CTDepartureKey": 1,
"SalePrice": null,
"SaleDiscount": null,
"PDTType": 0,
"NationalCurrencyPrice": null,
"NationalCurrencyDiscountSum": null,
"DAKey": null,
"NationalCurrencyPayed": null,
"CurrencyKey": null,
"CurrencyRate": null,
"ProTourFlag": null,
"ClientKey": null,
"tbl_Partners": null,
"tbl_Partners_1": {
"$id": "2",
"Key": 12667,
"FullName": null,
"Name": null,
"NameEng": null,
"BossName": null,
"Boss": null,
"Male": null,
"MainMan": null,
"MainManPhone": null,
"Discount": null,
"Account": null,
"Address": null,
"Phones": null,
"Fax": null,
"Email": null,
"CTKey": null,
"Creator": 0,
"AgentDogovor": null,
"Type": null,
"City": null,
"WebAgent": null,
"AgentDate": null,
"AgentDogovor2": null,
"AgentDate2": null,
"Fax1": null,
"Remark": null,
"CreateDate": null,
"UpdateDate": null,
"Art": null,
"UserLast": null,
"COD": null,
"RowID": "AAAAAAGY8g8=",
"Filial": 0,
"DateLastContact": "2019-04-16T11:01:23.237",
"ExchangePwd": null,
"GUID": null,
"ExchangeData": null,
"DogovorType": 0,
"ICQ": null,
"GDSPrefix": null,
"GDSSuffix": null,
"Owner": null,
"IPAddress": null,
"Deleted": 0,
"LicenseNumber": null,
"AdditionalInfo": null,
"LegalAddress": null,
"INN": null,
"ForeignAccInfo": null,
"KPP": null,
"CodeOKONH": null,
"CodeOKPO": null,
"HomePage": null,
"PGKey": 0,
"BlockedForAnnul": 0,
"PostIndex": null,
"LegalPostIndex": null,
"RegisterSeries": null,
"RegisterNumber": null,
"WebServiceUrl": null,
"PrivatePerson": false,
"pr_sortOrder": 0,
"PK_RLID": null,
"PrtTypesToPartners": [],
"tbl_Costs": [],
"tbl_Dogovor_asFilial": [],
"TP_Tours": [],
"CityDictionary": null,
"DUP_USER": [],
"tbl_Dogovor_asPartner": [{
"$ref": "1"
}],
"CostOffers": [],
"PrtWarns": [],
"PrtDogs": [],
"PrtGroups": null,
"PrtBonuses": [],
"Communications": [],
"Discounts": [],
"PrtDeps": [],
"BlankRanges": []
},
"Rates": null,
"PrtBonusDetails": [],
"Communications": [],
"tbl_DogovorList": [{
"$id": "3",
"DGCod": "AU01060006",
"TurDate": "2019-06-01T00:00:00",
"Key": 215524,
"PaketKey": 779,
"TRKey": 100000004,
"SVKey": 1,
"Name": "А_П::Москва/Вена/BA74444, DME-VIE1, 10:01-12:15/C Бизнес класс",
"Day": 1,
"Code": 882,
"SubCode1": 67,
"SubCode2": 1,
"Men": 2,
"Days": 0,
"CNKey": 90,
"CTKey": 35,
"PartnerKey": 12668,
"Cost": 89.0630566441040256501603135,
"RealNetto": null,
"Brutto": 81.63000000000000000000000001,
"Payed": null,
"Wait": null,
"Warning": 0,
"TimeBeg": "1899-01-01T10:01:00",
"Control": 4,
"Creator": 106,
"Owner": 106,
"Attribute": 65695,
"IsPayed": null,
"DateBeg": "2019-06-01T00:00:00",
"DateEnd": "2019-06-01T00:00:00",
"Discount": 7.37,
"QuoteKey": 0,
"Agent": 12667,
"RowId": "AAAAAAGY8fc=",
"AgentId": 0,
"Comment": null,
"Reserved": null,
"DGKey": 43295,
"FormulaNetto": null,
"FormulaBrutto": null,
"Blocked": null,
"NameLat": "А_П::Москва/Вена/BA74444, DME-VIE1, 10:01-12:15/C Бизнес класс",
"PRTDogKey": null,
"TaxZoneId": null,
"Long": 8,
"IsDeleted": null,
"SalePrice": null,
"SaleDiscount": null,
"FormulaDiscount": null,
"TRFId": 0,
"CreateDate": "2019-04-16T11:01:20.1",
"IsSendPartner": null,
"DogCodePartner": null,
"ProviderStatuseKey": null,
"CalculatePriceDate": "2019-04-16T11:01:20.1",
"RejectComment": null,
"ShowOrder": 1,
"NettoDescription": "1д=50$*2чел. (комис, ЦБ \"5656_49\");<br>
Курсы валют: $ -> EU = 0,8898 (16.04.2019);<br>Итого: 89,06EU<br>",
"BruttoDescription": "1д=50$*2чел. (комис, ЦБ \"5656_49\");<br>
Курсы валют: $ -> EU = 0,8898 (16.04.2019);<br>Скидка: 8,00%<br>Итого: 81,87EUИтого: 81,63EU",
"Service": null,
"TuristService": [{
"$id": "4",
"TUKey": 97385,
"DLKey": 215524,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"RowId": "AAAAAAGY8gc=",
"Id": 46828,
"tbl_DogovorList": {
"$ref": "3"
},
"tbl_Turist": {
"$id": "5",
"DGCod": "AU01060006",
"Key": 97385,
"TurDate": "2019-06-01T00:00:00",
"NameRus": "IVANOV",
"NameLat": "IVANOV",
"ShortName": "I.",
"Sex": 0,
"FNameRus": "IVAN",
"FNameLat": "IVAN",
"SNameRus": "",
"SNameLat": "",
"BirthDay": null,
"BirthCountry": null,
"BirthCity": "",
"Citizen": "",
"PostIndex": null,
"PostCity": null,
"PostStreet": null,
"PostBild": null,
"PostFlat": null,
"Phone": "",
"PhoneCode": null,
"PasportType": "",
"PasportNum": "",
"PasportDate": null,
"PasportDateEnd": null,
"PasportByWhom": "",
"Place": null,
"IsAnketa": null,
"Creator": 106,
"Owner": 95,
"PaspRuser": "",
"PaspRuNum": "",
"PaspRuDate": null,
"PaspRuByWhom": "",
"INSurPolis": null,
"INSurSum": null,
"Discount": null,
"TypeDiscount": null,
"ClientId": null,
"IsMain": 1,
"RowId": "AAAAAAGY8gQ=",
"AgentId": null,
"DGKey": 43295,
"RealSex": 0,
"Email": "",
"EnableSmsNotifications": 0,
"InsuredEvent": false,
"CitizenID": "",
"TuristService": [{
"$ref": "4"
},
{
"$id": "6",
"TUKey": 97385,
"DLKey": 215523,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"RowId": "AAAAAAGY8gk=",
"Id": 46829,
"tbl_DogovorList": {
"$id": "7",
"DGCod": "AU01060006",
"TurDate": "2019-06-01T00:00:00",
"Key": 215523,
"PaketKey": 779,
"TRKey": 100000004,
"SVKey": 2,
"Name": "Трансфер::Арльберг/ТРАНСФЕР_2,17:30:00/Coach 14 чел.",
"Day": 1,
"Code": 852,
"SubCode1": 30,
"SubCode2": 0,
"Men": 2,
"Days": 0,
"CNKey": 90,
"CTKey": 275,
"PartnerKey": 11246,
"Cost": 17.8126113288208051300320627,
"RealNetto": null,
"Brutto": 16.53,
"Payed": null,
"Wait": null,
"Warning": 0,
"TimeBeg": "1899-01-01T17:30:00",
"Control": 0,
"Creator": 106,
"Owner": 106,
"Attribute": 65695,
"IsPayed": null,
"DateBeg": "2019-06-01T00:00:00",
"DateEnd": "2019-06-01T00:00:00",
"Discount": 1.47,
"QuoteKey": 0,
"Agent": 12667,
"RowId": "AAAAAAGY8fY=",
"AgentId": 0,
"Comment": null,
"Reserved": null,
"DGKey": 43295,
"FormulaNetto": null,
"FormulaBrutto": null,
"Blocked": null,
"NameLat": "Трансфер::Арльберг/ТРАНСФЕР_2,17:30:00/Coach 14 чел.",
"PRTDogKey": null,
"TaxZoneId": null,
"Long": 8,
"IsDeleted": null,
"SalePrice": null,
"SaleDiscount": null,
"FormulaDiscount": null,
"TRFId": 0,
"CreateDate": "2019-04-16T11:01:20.1",
"IsSendPartner": null,
"DogCodePartner": null,
"ProviderStatuseKey": null,
"CalculatePriceDate": "2019-04-16T11:01:20.1",
"RejectComment": null,
"ShowOrder": 2,
"NettoDescription": "1д=20$ (комис, ЦБ \"Baron Travel _3\");<br>
Курсы валют: $ -> EU = 0,8898 (16.04.2019);<br>Итого: 17,81EU<br>",
"BruttoDescription": "1д=20$ (комис, ЦБ \"Baron Travel _3\");<br>
Курсы валют: $ -> EU = 0,8898 (16.04.2019);<br>Скидка: 8,00%<br>Итого: 16,57EUИтого: 16,53EU",
"Service": null,
"TuristService": [{
"$ref": "6"
},
{
"$id": "8",
"TUKey": 97384,
"DLKey": 215523,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"RowId": "AAAAAAGY8fs=",
"Id": 46824,
"tbl_DogovorList": {
"$ref": "7"
},
"tbl_Turist": {
"$id": "9",
"DGCod": "AU01060006",
"Key": 97384,
"TurDate": "2019-06-01T00:00:00",
"NameRus": "IVANOV",
"NameLat": "IVANOV",
"ShortName": "P.",
"Sex": 0,
"FNameRus": "PETR",
"FNameLat": "PETR",
"SNameRus": "",
"SNameLat": "",
"BirthDay": null,
"BirthCountry": null,
"BirthCity": "",
"Citizen": "",
"PostIndex": null,
"PostCity": null,
"PostStreet": null,
"PostBild": null,
"PostFlat": null,
"Phone": "",
"PhoneCode": null,
"PasportType": "",
"PasportNum": "",
"PasportDate": null,
"PasportDateEnd": null,
"PasportByWhom": "",
"Place": null,
"IsAnketa": null,
"Creator": 106,
"Owner": 95,
"PaspRuser": "",
"PaspRuNum": "",
"PaspRuDate": null,
"PaspRuByWhom": "",
"INSurPolis": null,
"INSurSum": null,
"Discount": null,
"TypeDiscount": null,
"ClientId": null,
"IsMain": 0,
"RowId": "AAAAAAGY8fo=",
"AgentId": null,
"DGKey": 43295,
"RealSex": 0,
"Email": "",
"EnableSmsNotifications": 0,
"InsuredEvent": false,
"CitizenID": "",
"TuristService": [{
"$id": "10",
"TUKey": 97384,
"DLKey": 215524,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"RowId": "AAAAAAGY8f0=",
"Id": 46825,
"tbl_DogovorList": {
"$ref": "3"
},
"tbl_Turist": {
"$ref": "9"
},
"VisaTouristServices": [],
"RemoteFlightsBooksRelations": []
},
{
"$ref": "8"
},
{
"$id": "11",
"TUKey": 97384,
"DLKey": 215522,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"RowId": "AAAAAAGY8f8=",
"Id": 46826,
"tbl_DogovorList": {
"$id": "12",
"DGCod": "AU01060006",
"TurDate": "2019-06-01T00:00:00",
"Key": 215522,
"PaketKey": 779,
"TRKey": 100000004,
"SVKey": 3,
"Name": "HOTEL::Вена/Continental-1-Condotela,5 ночей/
2 Adult(1 bedroom Jacuzzi Suite),2 ADL/HH2 HH для удаления2",
"Day": 2,
"Code": 705,
"SubCode1": 47289,
"SubCode2": 62,
"Men": 2,
"Days": 5,
"CNKey": 90,
"CTKey": 35,
"PartnerKey": 12667,
"Cost": 44.53152832205201282508015675,
"RealNetto": null,
"Brutto": 41.31,
"Payed": null,
"Wait": null,
"Warning": 0,
"TimeBeg": "1899-01-01T17:00:00",
"Control": 1,
"Creator": 106,
"Owner": 106,
"Attribute": 65695,
"IsPayed": null,
"DateBeg": "2019-06-02T00:00:00",
"DateEnd": "2019-06-06T00:00:00",
"Discount": 3.69,
"QuoteKey": 0,
"Agent": 12667,
"RowId": "AAAAAAGY8fU=",
"AgentId": 0,
"Comment": null,
"Reserved": null,
"DGKey": 43295,
"FormulaNetto": null,
"FormulaBrutto": null,
"Blocked": null,
"NameLat": "HOTEL::Вена/Continental-1-Condotela,5 ночей/
2 Adult(1 bedroom Jacuzzi Suite),2 ADL/HH2 HH для удаления2",
"PRTDogKey": 422,
"TaxZoneId": null,
"Long": 8,
"IsDeleted": null,
"SalePrice": null,
"SaleDiscount": null,
"FormulaDiscount": null,
"TRFId": 0,
"CreateDate": "2019-04-16T11:01:20.1",
"IsSendPartner": null,
"DogCodePartner": null,
"ProviderStatuseKey": null,
"CalculatePriceDate": "2019-04-16T11:01:20.1",
"RejectComment": null,
"ShowOrder": 3,
"NettoDescription": "5д*10$ (комис, ЦБ \"Партнер-покупатель1_77\");<br>
Курсы валют: $ -> EU = 0,8898 (16.04.2019);<br>Итого: 44,53EU<br>",
"BruttoDescription": "5д*10$ (комис, ЦБ \"Партнер-покупатель1_77\");<br>
Курсы валют: $ -> EU = 0,8898 (16.04.2019);<br>Скидка: 8,00%<br>
Итого: 41,44EUИтого: 41,31EU",
"Service": null,
"TuristService": [{
"$id": "13",
"TUKey": 97385,
"DLKey": 215522,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"RowId": "AAAAAAGY8gs=",
"Id": 46830,
"tbl_DogovorList": {
"$ref": "12"
},
"tbl_Turist": {
"$ref": "5"
},
"VisaTouristServices": [],
"RemoteFlightsBooksRelations": []
},
{
"$ref": "11"
}],
"ProviderStatus": null,
"DogovorListNeedQuoteds": [],
"ServiceByDates": [],
"tbl_Dogovor": {
"$ref": "1"
}
},
"tbl_Turist": {
"$ref": "9"
},
"VisaTouristServices": [],
"RemoteFlightsBooksRelations": []
},
{
"$id": "14",
"TUKey": 97384,
"DLKey": 215521,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"RowId": "AAAAAAGY8gI=",
"Id": 46827,
"tbl_DogovorList": {
"$id": "15",
"DGCod": "AU01060006",
"TurDate": "2019-06-01T00:00:00",
"Key": 215521,
"PaketKey": 779,
"TRKey": 100000004,
"SVKey": 1,
"Name": "А_П::Вена/Москва/7U222, VIE1-DME, 18:00-01:01/C Бизнес класс",
"Day": 7,
"Code": 774,
"SubCode1": 67,
"SubCode2": 35,
"Men": 2,
"Days": 0,
"CNKey": 460,
"CTKey": 1,
"PartnerKey": 10760,
"Cost": 5.3437833986462415390096188102,
"RealNetto": null,
"Brutto": 16.53,
"Payed": null,
"Wait": null,
"Warning": 0,
"TimeBeg": "1899-01-01T18:00:00",
"Control": 4,
"Creator": 106,
"Owner": 106,
"Attribute": 65695,
"IsPayed": null,
"DateBeg": "2019-06-07T00:00:00",
"DateEnd": "2019-06-08T00:00:00",
"Discount": 1.47,
"QuoteKey": 0,
"Agent": 12667,
"RowId": "AAAAAAGY8fQ=",
"AgentId": 0,
"Comment": null,
"Reserved": null,
"DGKey": 43295,
"FormulaNetto": null,
"FormulaBrutto": null,
"Blocked": null,
"NameLat": "А_П::Вена/Москва/7U222, VIE1-DME, 18:00-01:01/C Бизнес класс",
"PRTDogKey": 328,
"TaxZoneId": null,
"Long": 8,
"IsDeleted": null,
"SalePrice": null,
"SaleDiscount": null,
"FormulaDiscount": null,
"TRFId": 0,
"CreateDate": "2019-04-16T11:01:20.1",
"IsSendPartner": null,
"DogCodePartner": null,
"ProviderStatuseKey": null,
"CalculatePriceDate": "2019-04-16T11:01:20.1",
"RejectComment": null,
"ShowOrder": 4,
"NettoDescription": "1д=3$*2чел. (комис, ЦБ \"партнер_66\");<br>
Курсы валют: $ -> EU = 0,8898 (16.04.2019);<br>Итого: 5,34EU<br>",
"BruttoDescription": "1д=10$*2чел. (комис, ЦБ \"партнер_66\");<br>
Курсы валют: $ -> EU = 0,8898 (16.04.2019);<br>Скидка: 8,00%<br>
Итого: 16,57EUИтого: 16,53EU",
"Service": null,
"TuristService": [{
"$id": "16",
"TUKey": 97385,
"DLKey": 215521,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"RowId": "AAAAAAGY8g0=",
"Id": 46831,
"tbl_DogovorList": {
"$ref": "15"
},
"tbl_Turist": {
"$ref": "5"
},
"VisaTouristServices": [],
"RemoteFlightsBooksRelations": []
},
{
"$ref": "14"
}],
"ProviderStatus": null,
"DogovorListNeedQuoteds": [],
"ServiceByDates": [],
"tbl_Dogovor": {
"$ref": "1"
}
},
"tbl_Turist": {
"$ref": "9"
},
"VisaTouristServices": [],
"RemoteFlightsBooksRelations": []
}],
"QuestionnaireTouristCases": [],
"tbl_Dogovor": {
"$ref": "1"
}
},
"VisaTouristServices": [],
"RemoteFlightsBooksRelations": []
}],
"ProviderStatus": null,
"DogovorListNeedQuoteds": [],
"ServiceByDates": [],
"tbl_Dogovor": {
"$ref": "1"
}
},
"tbl_Turist": {
"$ref": "5"
},
"VisaTouristServices": [],
"RemoteFlightsBooksRelations": []
},
{
"$ref": "13"
},
{
"$ref": "16"
}],
"QuestionnaireTouristCases": [],
"tbl_Dogovor": {
"$ref": "1"
}
},
"VisaTouristServices": [],
"RemoteFlightsBooksRelations": []
},
{
"$ref": "10"
}],
"ProviderStatus": null,
"DogovorListNeedQuoteds": [],
"ServiceByDates": [],
"tbl_Dogovor": {
"$ref": "1"
}
},
{
"$ref": "7"
},
{
"$ref": "12"
},
{
"$ref": "15"
}],
"tbl_Turist": [{
"$ref": "5"
},
{
"$ref": "9"
}]
},
"ValidationResultSummary": {
"ValidationResult": {
"Errors": [],
"IsValid": true
},
"ValidationResultAttributes": 0
}
}
|
Дополнительные методы
Выгрузка измененных турпрограмм (TourProgram) начиная с релиза 15.3
Метод производит выгрузку измененных турпрограмм.
- Формат запроса:
- GET .../TourSearchOwin/TourProgram?
- Принимаемые параметры GET запроса ( * – обязательный):
- fromDateTime – дата (в формате dd.MM.yyyy HH:mm:ss), начиная с которой будут выгружаться изменения
- Возвращаемый результат:
- Key – ключ программы туров
- Name – название программы туров
- UpdateDate – дата последнего изменения программы туров (или связанных с ней компонентов)
- routes – массив возможных маршрутов в данной программе туров
- departureCountryKey – страна начала поездки (для каждой страны начала поездки в одной программе тура будет отдельный маршрут)
- departureCityKey – город начала поездки (для каждого города начала поездки в одной программе тура будет отдельный маршрут)
- destinationCountryKeys – страны по туру (если в туре несколько услуг класса отель и они в разных странах, то будут возвращаться все страны отелей)
- destinationCityKeys – города по туру (если в туре отели в нескольких городах, то будут возвращаться все города отелей)
- tourTypeKeys – типы туров для данной программы туров
Вызов метода TourProgram GET http://localhost:9000/TourSearchOwin/TourProgram?
Возвращаемый результат метода TourProgram (в формате JSON) [{
"key": 100002353,
"name": "Турпрограмма в Австрию",
"updateDate": "2018-09-25T13:48:13.847",
"routes": [{
"departureCountryKey": 5,
"departureCityKey": 218,
"destinationCountryKeys": [80],
"destinationCityKeys": [19,
1051,
113],
"tourTypeKeys": [52]
},
{
"departureCountryKey": 5,
"departureCityKey": 766,
"destinationCountryKeys": [80],
"destinationCityKeys": [19,
1051,
113],
"tourTypeKeys": [52]
}]
},
{
"Key": 100004452,
"Name": "Турпрограмма в Англию"
"UpdateDate": "2018-06-30T10:09:35.22"
"routes": [{
"departureCountryKey": -1,
"departureCityKey": -1,
"destinationCountryKeys": [80],
"destinationCityKeys": [19],
"tourTypeKeys": [52,
35]
}]
}]
|
Приложения
Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)
Параметры ServiceType – это ключ типа услуги, Сode – ключ услуги, SubCode1 и SubCode2, возвращаемые при API-запросах – это параметры дополнительных описаний двух типов, индивидуальных для каждой услуги.
Ключ типа услуги (ServiceType) | Наименование типа услуги | Ключ услуги (Code) | Доп. описание 1 (SubCode1) | Таблица БД со значениями SubCode1 | Доп. описание 2 (SubCode2) | Таблица БД со значениями SubCode2 |
---|---|---|---|---|---|---|
1 | Авиаперелет | индивидуальный ключ услуги | Тариф | AirService | отсутствует | отсутствует |
2 | Трансфер | индивидуальный ключ услуги | Вид транспорта | Transport | отсутствует | отсутствует |
3 | Отель/Круиз | индивидуальный ключ услуги | Вид проживания (Тип номера + Категория номера + Тип размещения) | HotelRooms (Rooms + RoomCategory + Accmdmentype) | Тип питания | Pansion |
4 | Экскурсия | индивидуальный ключ услуги | Вид транспорта | Transport | отсутствует | отсутствует |
5 | Виза | индивидуальный ключ услуги | отсутствует | отсутствует | отсутствует | отсутствует |
6 | Страховка | индивидуальный ключ услуги | Доп. описание 1 | AddDescript1 | Доп. описание 2 | AddDescript2 |
8 | Доп услуга в отеле/круизе | индивидуальный ключ услуги | Вид проживания (Тип номера + Категория номера + Тип размещения) | HotelRooms (Rooms + RoomCategory + Accmdmentype) | Доп. описание 2 | AddDescript2 |
14 | Автобусный переезд | индивидуальный ключ услуги | Место посадки | BusTransferPoints | Вид транспорта | Transport |
99 | Любая пользовательская услуга | индивидуальный ключ услуги | Доп. описание 1 | AddDescript1 | Доп. описание 2 | AddDescript2 |