Мастер-Тур(15):API для разработки онлайн поиска и бронирования
Статья находится на стадии разработки.
Версия статьи от 5-04-2018.
Поддерживаемые версии ПК «Мастер-Тур»: |
Содержание
- 1 Введение
- 2 Установка
- 3 Список методов
- 3.1 Выгрузка настроек службы поиска (Settings)
- 3.2 Выгрузка списка валют (Currency)
- 3.3 Выгрузка квотируемых услуг системы (QuotedServices)
- 3.4 Выгрузка городов отправления (departureCities)
- 3.5 Выгрузка списка стран (Destination)
- 3.6 Выгрузка списка городов (ActualizeCities)
- 3.7 Выгрузка типов туров (ActualizeTourType)
- 3.8 Выгрузка актуальных дат заездов (TourDate)
- 3.9 Выгрузка актуальных продолжительностей (Duration)
- 3.10 Поиск туров (Tour)
- 3.11 Выгрузка первоначального варианта в корзину для бронирования (Tour)
- 3.12 Выгрузка настройки отображения полей по туристам (TouristDataSettings)
- 3.13 Выгрузка услуг доплат к авиаперелетам (GetFlightsAdditionalServices)
- 3.14 Выгрузка услуг доплат к отелям (GetHotelsAdditionalServices)
- 3.15 Расчет индивидуальных услуг (CalculateIndividualServiceCosts)
- 3.16 Расчет путевки (CalculateReservation)
Введение
Данный web-сервис разработан для разработки собственного сайта туроператору на основе API.
Установка
Для работы с web-сервисом необходимо установить службу поиска.
После установки web-сервис будет доступен по адресу http://значение настройки "serviceAddress" в TourSearchOwin/"название метода" (пример: http://localhost:9000/TourSearchOwin/Settings)
Список методов
Последовательность вызова методов сервиса
Выгрузка настроек службы поиска (Settings)
Метод производит выгрузку настроек службы поиска.
- Формат запроса:
- .../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 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)
Метод возвращает список используемых валют.
- Формат запроса:
- .../TourSearchOwin/Currency
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Code – код валюты
- Name – наименование валюты
- IsMain – признак валюты «Главная»
- IsNational – признак валюты «Национальная»
- IsoCode – ISO код валюты
- Key – идентификатор валюты
- IsShowInSearch – признак показывать ли валюту в поиске
Вызов метода Currency 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)
Метод производит выгрузку услуг с признаком «Квотируемая»
- Формат запроса:
- .../TourSearchOwin/QuotedServices
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Key – идентификатор услуги
- Code – код услуги
- Name – наименование услуги (русский)
- NameLat – наименование услуги (английский)
- IsDuration – наличие продолжительности у услуги
- IsCity – наличие города у услуги
- IsSubCode1 – признак наличия SubCode1 у услуги (вид проживания у отеля, тариф у авиаперелета)
- IsSubCode2 – признак наличия SubCode2 у услуги (тип питания у отеля)
- Quoted – признак квотируемости услуги
- CheckGeoPoint – наличие геоточек у услуги
- IsRoute – признак маршрутной услуги
- LittlePercent – число в %, при которых будет считаться количество мест «Мало»
- LittlePlace – число, при котором будет считаться количество мест «Мало»
- LittleAnd – признак наличия мест «Мало» – будем ли учитывать количество мест вместе с процентным соотношением между общим и оставшимся количеством мест
- IsPartnerBasedOn – признак сопоставления партнера услуги в зависимости от отеля
- Control – идентификатор статуса услуги
Вызов метода QuotedServices 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,
"LittlePercent": null,
"LittlePlace": 10,
"LittleAnd": 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,
"LittlePercent": 99,
"LittlePlace": 5,
"LittleAnd": false,
"IsPartnerBasedOn": false,
"Control": 1
}
]
|
Выгрузка городов отправления (departureCities)
Метод производит выгрузку всех доступных городов отправления для поискового запроса.
- Формат запроса:
- .../TourSearchOwin/departureCities?
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Key – идентификатор города
- Name – название города
Вызов метода departureCities http://localhost:9000/TourSearchOwin/departureCities
Возвращаемый результат метода departureCities (в формате JSON) [
{
"Key": -1,
"Name": "Без перелета"
},
{
"Key": 312,
"Name": "Астрахань"
},
{
"Key": 1,
"Name": "Москва"
}
]
|
Выгрузка списка стран (Destination)
Метод производит выгрузку всех доступных направлений туроператора.
- Формат запроса:
- .../TourSearchOwin/Destination?
- Принимаемые параметры ( * – обязательный):
- term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- departureCities * – идентификатор города отправления (из контроллера .../TourSearchOwin/departureCities?)
- Возвращаемый результат:
- Name – название страны
- Key – идентификатор страны
- DestinationType – тип результата (всегда возвращается в JSON = 1, в xml = country)
Вызов метода Destination http://localhost:9000/TourSearchOwin/Destination?pageNumber=1&term=&showAll=false&departureCities=1
Возвращаемый результат метода Destination (в формате JSON) [
{
"Name": "Болгария",
"Key": 359,
"DestinationType": 1
},
{
"Name": "Индия",
"Key": 26,
"DestinationType": 1
},
{
"Name": "Финляндия",
"Key": 64,
"DestinationType": 1
}
]
|
Выгрузка списка городов (ActualizeCities)
Метод возвращает список всех доступных городов по определенному городу отправления и стране прибытия.
- Формат запроса:
- .../TourSearchOwin/ActualizeCities?
- Принимаемые параметры ( * – обязательный):
- cityKeys * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
- Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Name * – название страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- Возвращаемый результат:
- Key – идентификатор города
- Name – название города
Вызов метода ActualizeCities http://localhost:9000/TourSearchOwin/ActualizeCities?cityKeys=1&Key=90&Name=Австрия&term=
Возвращаемый результат метода ActualizeCities (в формате JSON) [
{
"Key": -1,
"Name": "Все"
},
{
"Key": 35,
"Name": "Вена"
},
{
"Key": 440,
"Name": "Зельден"
}
]
|
Выгрузка типов туров (ActualizeTourType)
Метод возвращает список типов туров по определенному городу отправления, стране и городу прибытия.
- Формат запроса:
- .../TourSearchOwin/ActualizeTourType?
- Принимаемые параметры ( * – обязательный):
- departureCityKeys * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
- Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Name * – название страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Type * – тип результата (всегда возвращается в JSON = 1, в xml = country)
- destinationCity * – идентификатор города прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны
- term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- Возвращаемый результат:
- Key – идентификатор типа тура
- Name – название типа тура
- ParentId – идентификатор группы, к которой относится данный типа тура (если тип тура не относится к группе, то возвращается null)
Вызов метода ActualizeTourType http://localhost:9000/TourSearchOwin/ActualizeTourType?departureCityKeys=1&Key=90&Name=Австрия&Type=1&destinationCity=-1&terms=
Возвращаемый результат метода ActualizeTourType (в формате JSON) [
{
"Key": -1,
"Name": "Все",
"ParentId": null
},
{
"Key": 2,
"Name": "Стандартный тур",
"ParentId": null
},
{
"Key": 16,
"Name": "Экскурсионный тур",
"ParentId": 35
}
]
|
Выгрузка актуальных дат заездов (TourDate)
Метод производит выгрузку доступных дат заездов для поискового запроса.
- Формат запроса:
- .../TourSearchOwin/TourDate?
- Принимаемые параметры ( * – обязательный):
- departureCity * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
- destinationCity * – идентификатор города прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны
- Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Name * – название страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Type * – тип результата (всегда возвращается в JSON = 1, в xml = country)
- tourTypes * – идентификатор типа тура (полученный из метода .../TourSearchOwin/ActualizeTourType?), по умолчанию передается -1, то есть все типы тура в рамках данной страны
- term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- Возвращаемый результат:
- массив дат
Вызов метода TourDate http://localhost:9000/TourSearchOwin/TourDate?departureCity=1&destinationCity=-1&Key=90&Name=Австрия&Type=1&tourTypes=-1&term=
Возвращаемый результат метода 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)
Метод производит выгрузку доступных продолжительностей для поискового запроса.
- Формат запроса:
- .../TourSearchOwin/Duration?
- Принимаемые параметры ( * – обязательный):
- departureCity * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
- destinationCity * – идентификатор города прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны
- Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Name * – название страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Type * – тип результата (всегда возвращается в JSON = 1, в xml = country)
- tourDate * – массив дат заезда (полученные из метода .../TourSearchOwin/TourDate?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- tourTypes * – идентификатор типа тура (полученный из метода .../TourSearchOwin/ActualizeTourType?), по умолчанию передается -1, то есть все типы тура в рамках данной страны
- term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- Возвращаемый результат:
- массив продолжительностей
Вызов метода Duration http://localhost:9000/TourSearchOwin/Duration?departureCity=1&destinationCity=-1&Key=90&Name=Австрия&Type=1&tourDate=25.02.2018&tourDate=26.02.2018&tourTypes=-1&term=
Возвращаемый результат метода Duration (в формате JSON) [
7,
8,
10,
12,
15,
18
]
|
Поиск туров (Tour)
Метод поиска туров использует множество параметров для поиска и фильтрации туров. Метод возвращает наиболее дешевые предложения, найденные по предоставленным параметрам и сгруппированные по отелям в порядке возрастания цены.
- Формат запроса:
- .../TourSearchOwin/Tour?
- Принимаемые параметры ( * – обязательный):
- DepartureCityKeys * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
- Dates * – массив дат заезда (полученные из метода .../TourSearchOwin/TourDate?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- Durations * – массив продолжительностей (полученные из метода .../TourSearchOwin/Duration?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- PageNumber * – номер возвращаемой страницы (по умолчанию возвращается 1)
- PageSize * – количество возвращаемых результатов на одной странице (возвращается 20)
- HotelScheme – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля. Передаются следующие параметры: TemplateId – идентификатор шаблона услуги, DurationInNight – продолжительность отеля в ночах, Code – ключ отеля, PacketKey – ключ пакета, PartnerKey – ключ партнера
- TourKey – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: ключ программы тура
- TourDuration – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: продолжительность тура в днях
- isFromBasket * – происходит ли обращение из корзины или из поиска туров (true/false)
- isFillSecondaryFilters * – заполнены ли дополнительные фильтры (true/false)
- 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)
- TourType – идентификатор типа тура (полученный из метода .../TourSearchOwin/ActualizeTourType?), по умолчанию передается -1, то есть все типы тура в рамках данной страны. Возможна множественная передача параметров.
- CityIds – идентификатор города прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны. Возможна множественная передача параметров.
- TimeDepartureFrom – время отправления с (по умолчанию возвращается 00:00)
- TimeDepartureTo – время отправления по (по умолчанию возвращается 23:59)
- TimeArrivalFrom – время прибытия с (по умолчанию возвращается 00:00)
- TimeArrivalTo – время прибытия по (по умолчанию возвращается 23:59)
- ArrivalFlightNoTransfer – производить поиск без пересадок в прямом направлении (true/false, по умолчанию false)
- DepartureFlightNoTransfer – производить поиск без пересадок в обратном направлении (true/false, по умолчанию false)
- Возвращаемый результат:
- 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 – количество свободных мест
- TotalPlaces – всего мест
- 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 – количество свободных мест
- TotalPlaces – всего мест
- 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 – значение
- Cost – стоимость услуги
- 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 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": 240,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"TotalPlaces": 0
},
"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,
"TotalPlaces": 0
},
"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,
"TotalPlaces": 0
},
"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": 389.57,
"QuotaStatus": {
"PlacesStatus": 1,
"FreePlaces": 0,
"TotalPlaces": 0
},
"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,
"TotalPlaces": 0
},
"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": {
"Cost": 240,
"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": {
"Cost": 19.47,
"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": {
"Cost": 0,
"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"
}
]
}
}
|
Выгрузка первоначального варианта в корзину для бронирования (Tour)
Метод поиска, который возвращает варианты только по данной турпрограмме и схеме отеля.
- Формат запроса:
- .../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 – ключ партнера
- TourKey – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: ключ программы тура
- TourDuration – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: продолжительность тура в днях
- PageNumber * – номер возвращаемой страницы (по умолчанию возвращается 1)
- PageSize * – количество возвращаемых результатов на одной странице (возвращается 20)
- isFromBasket * – происходит ли обращение из корзины или из поиска туров (true/false).
- isFillSecondaryFilters * – заполнены ли дополнительные фильтры (true/false)
- Возвращаемый результат:
- 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 – количество свободных мест
- TotalPlaces – всего мест
- 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 – количество свободных мест
- TotalPlaces – всего мест
- 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 – значение
- Cost – стоимость услуги
- 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 в корзине для бронирования) 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,
"TotalPlaces": 0
},
"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,
"TotalPlaces": 0
},
"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,
"TotalPlaces": 0
},
"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,
"TotalPlaces": 0
},
"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,
"TotalPlaces": 0
},
"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": {
"Cost": 6.45,
"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": {
"Cost": 112.96,
"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": {
"Cost": 1.61,
"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)
Метод производит выгрузку настроек отображения полей по туристам.
- Формат запроса:
- .../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 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)
Метод производит выгрузку услуг доплат к авиаперелетам.
- Формат запроса:
- .../TourSearchOwin/GetFlightsAdditionalServices?
- Принимаемые параметры ( * – обязательный):
- 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 – количество свободных мест
- TotalPlaces – всего мест
- Index – индекс услуги
- IsRoute – признак маршрутная услуга
- ServiceTemplateIndex – индекс шаблона услуги
- TouristNumbersList – массив туристов, привязанных к услуге
- Service – объект услуга авиаперелет
- Tourists – массив туристов
- IsMain – главный турист
- Number – порядковый номер туриста
- AgeType – тип туриста (взрослый, ребенок, инфант)
- 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 – гражданство
- Возвращаемый результат:
- Массив – массив объектов доплат к авиаперелетам
- ServiceName – название услуги
- City – объект город
- Country – ключ страны
- Code – объект код услуги
- Key – ключ услуги
- Value – название услуги
- ByScheduler – признак по расписанию
- Details - объект детализация
- SubCode1 – объект доп. описание1
- Key – ключ
- Value – название
- SubCode2 – объект доп. описание2
- Key – ключ
- Value – название
- Date – дата услуги
- IsShowTransportPlan – признак показать транспортный план (для автобусов)
- Cost – цена
- QuotaStatus – объект статус квотирования
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест
- TotalPlaces – всего мест
- 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 – индекс шаблона услуги
- Массив – массив объектов доплат к авиаперелетам
Вызов метода GetHotelsAdditionalServices http://localhost:9000/TourSearchOwin/GetHotelsAdditionalServices?
POST
{
"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,
"TotalPlaces": 0
},
"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,
"TotalPlaces": 0
},
"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": ""
},
{
"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": ""
}]
}
Возвращаемый результат метода 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,
"TotalPlaces": 0
},
"PartnerId": 10760,
"ByPax": false,
"Partner": {
"Key": 0,
"Value": null
}
}],
"ParentId": null,
"PartnerBasedOnServiceTemplateId": null,
"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)
Метод производит выгрузку услуг доплат к отелям.
- Формат запроса:
- .../TourSearchOwin/GetHotelsAdditionalServices?
- Принимаемые параметры ( * – обязательный):
- 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 – количество свободных мест
- TotalPlaces – всего мест
- Index – индекс услуги
- IsRoute – признак маршрутная услуга
- ServiceTemplateIndex – индекс шаблона услуги
- RemoteId – (в доплатах не используется)
- TouristNumbersList – массив туристов, привязанных к услуге
- Service – объект услуга отель
- Tourists – массив туристов
- IsMain – главный турист
- Number – порядковый номер туриста
- AgeType – тип туриста (взрослый, ребенок, инфант)
- 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 – возраст туриста
- Hotel – объект отель
- ServiceType – тип услуги
- Code – код услуги
- SubCode1 – доп. описание1
- SubCode2 – доп. описание2
- PacketId – ключ пакета
- PartnerId – ключ партнера
- Day – день предоставления услуги
- BeginTime – время начала услуги
- EndTime – время окончания услуги
- DurationInNight – продолжительность услуги в ночах
- Attributes – маска атрибутов услуги
- CountryId – ключ страны услуги
- CityId – ключ города
- Type – тип услуги в путевке
- ShowOrder – место в очереди, по сути номер шаблона
- AdditionalServices – массив доплат
- ServiceName – название услуги
- City – объект город
- Country – ключ страны
- Code – объект код услуги
- Key – ключ услуги
- Value – название услуги
- ByScheduler – признак по расписанию
- Details - объект детализация
- SubCode1 – объект доп. описание1
- Key – ключ
- Value – название
- SubCode2 – объект доп. описание2
- Key – ключ
- Value – название
- Date – дата услуги
- IsShowTransportPlan – признак показать транспортный план (для автобусов)
- Cost – цена
- QuotaStatus – объект статус квотирования
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест
- TotalPlaces – всего мест
- 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 – индекс шаблона услуги
- Массив – массив объектов связок Возраст-Отель-Доп. услуги
Вызов метода GetHotelsAdditionalServices http://localhost:9000/TourSearchOwin/GetHotelsAdditionalServices?
POST
{ "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,
"TotalPlaces": 0
},
"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": ""
},
{
"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": ""
}]
}
Возвращаемый результат метода 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
},
"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,
"TotalPlaces": 0
},
"PartnerId": 12667,
"ByPax": false,
"Partner": {
"Key": 0,
"Value": null
}
}],
"ParentId": null,
"PartnerBasedOnServiceTemplateId": null,
"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)
Метод производит расчет услуг с индивидуальным выбором у туристов.
- Формат запроса:
- .../TourSearchOwin/CalculateIndividualServiceCosts?
- Принимаемые параметры ( * – обязательный):
- 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 – количество свободных мест
- TotalPlaces – всего мест
- 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 – брутто
- Netto – нетто
- Discount – скидка
- Массив – массив связок Возраст-Услуга-Цена
Вызов метода CalculateIndividualServiceCosts http://localhost:9000/TourSearchOwin/CalculateIndividualServiceCosts?
POST
{
"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,
"TotalPlaces": 0
},
"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,
"Netto": 12.980691221807561,
"Discount": 0
}
}]
|
Расчет путевки (CalculateReservation)
Метод производит расчет стоимости путевки.
- Формат запроса:
- .../TourSearchOwin/CalculateReservation?
- Принимаемые параметры ( * – обязательный):
- TourProgramId – ключ турпрограммы
- BeginDate – дата начала тура
- Duration – продолжительность тура
- Currency – код валюты
- initialPrice – объект изначальная цена
- price – цена
- 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 – количество свободных мест
- TotalPlaces – всего мест
- Index – индекс услуги
- IsRoute – признак маршрутная услуга
- ServiceTemplateIndex – индекс шаблона услуги
- RemoteId – информация об услуге в удаленной системе
- TouristNumbersList – массив туристы, привязанные к услуге
- Service – объект услуга отель
- Tourists – массив туристов
- IsMain – главный турист
- Number – порядковый номер туриста
- AgeType – тип туриста (взрослый, ребенок, инфант)
- 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 – гражданство
- 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 в результате добавления обязательных и дополнительных услуг (в национальной валюте)
- NationalPrice – ??? итоговая стоимость тура для агентства, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг - партнерская комиссия (в национальной валюте)
- NationalTotalDiscount – партнерская комиссия агентству (в национальной валюте)
- NationalTotalPrice – итоговая стоимость тура для туриста, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг (в национальной валюте)
- NatinoalCalculatedServicesPrice – сумма обязательных услуг, входящих в состав тура (в национальной валюте)
- NationalCurrencyPrice – итоговая стоимость тура для агентства, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг - партнерская комиссия (в национальной валюте)
- Discount – партнерская комиссия агентству (в процентах или y.e.)
- TotalDiscount – партнерская комиссия агентству (в валюте тура)
- ServiceTourists – массив услуг, входящих в тур
- ServiceType – тип услуги
- Day – день предоставления
- DurationInNight – продолжительность в ночах
- Time – время начала услуги
- Name – полное описание услуги
- TouristCount – количество туристов на услуге
- Attributes – битовая маска атрибутов
- Type – тип услуги (основная/дополнительная)
- Brutto – цена брутто
- NationalBrutto – цена брутто в национальной валюте
- TotalBrutto – итоговое брутто
- TourName – название тура
- BookingConditions – разметка условия бронирования
- EndDate – дата окончания тура
- DurationInNights – продолжительность тура в ночах
- NationalCurrency – код национальной валюты
Вызов метода CalculateReservation http://localhost:9000/TourSearchOwin/CalculateReservation?
POST
{
"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,
"TotalPlaces": 0
},
"Index": 1,
"IsRoute": true,
"ServiceTemplateIndex": 1,
"RemoteId": null
},
"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
},
"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": ""
},
{
"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": ""
}],
"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,
"NationalPrice": 11063.629200000000000000000011,
"NationalTotalDiscount": 0.0,
"NationalTotalPrice": 11063.629200000000000000000011,
"NatinoalCalculatedServicesPrice": 8652.325400000000000000000008,
"NationalCurrencyPrice": 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": "рб"
}
|