Мастер-Тур(15):API для разработки онлайн поиска и бронирования — различия между версиями
[досмотренная версия] | [досмотренная версия] |
Biryukov (обсуждение | вклад) |
Biryukov (обсуждение | вклад) |
||
Строка 1827: | Строка 1827: | ||
</div></div><br /> | </div></div><br /> | ||
− | ===Выгрузка | + | ===Выгрузка транспортного плана (TransportPlan)=== |
− | Метод | + | Метод производит выгрузку транспортного плана. |
* Формат запроса: | * Формат запроса: | ||
− | ** .../TourSearchOwin/ | + | ** .../TourSearchOwin/TransportPlan? |
* Принимаемые параметры ( '''*''' – обязательный): | * Принимаемые параметры ( '''*''' – обязательный): | ||
− | ** ''' | + | ** '''code''' – код услуги |
− | + | ** '''dateBegin''' – дата услуги | |
− | + | ** '''serviceType''' – тип услуги | |
− | + | ** '''transportKey''' – ключ справочника транспорт | |
− | |||
− | |||
− | |||
− | |||
− | ** ''' | ||
− | ** ''' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* Возвращаемый результат: | * Возвращаемый результат: | ||
− | ** ''' | + | ** '''TransportKey''' – ключ справочника транспорт |
− | ** ''' | + | ** '''Title''' – описание |
− | + | ** '''AreasCount''' – количество уровней | |
− | + | ** '''RowsCount''' – количество рядов | |
− | ** ''' | + | ** '''ColumnsCount''' – количество мест в ряду |
− | + | ** '''BusySeats''' – не используется | |
− | + | ** '''Cells''' – массив описаний всех мест | |
− | *** ''' | + | *** '''Row''' – ряд |
− | *** ''' | + | *** '''Column''' – место в ряду |
− | *** ''' | + | *** '''Area''' – уровень места |
− | *** ''' | + | *** '''Type''' – тип (None = 0, Seat = 1, Block = 4, Busy = 5) |
− | *** ''' | + | *** '''Name''' – название/номер |
− | + | ** '''UserSeats''' – не используется | |
− | + | ** '''BlockSeat''' – не используется | |
− | + | ||
− | + | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | |
− | + | <div class="mw-collapsible-content"> | |
− | + | <TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD> | |
− | + | Вызов метода TransportPlan | |
− | + | <syntaxhighlight lang="java" enclose="div"> | |
− | + | http://localhost:9000/TourSearchOwin/TransportPlan?code=1311&dateBegin=17.04.2018&serviceType=14&transportKey=39 | |
− | + | </syntaxhighlight> | |
− | + | Возвращаемый результат метода TransportPlan (в формате JSON) | |
− | + | <syntaxhighlight lang="java" enclose="div"> | |
− | + | { | |
− | + | "TransportKey": 39, | |
− | + | "Title": "__", | |
− | + | "AreasCount": 1, | |
− | + | "RowsCount": 12, | |
− | + | "ColumnsCount": 5, | |
− | + | "BusySeats": [], | |
− | + | "Cells": [{ | |
− | + | "Row": 5, | |
− | + | "Column": 0, | |
− | + | "Area": 0, | |
− | + | "Type": 4, | |
− | + | "Name": "21" | |
− | + | }, | |
− | + | { | |
− | + | "Row": 5, | |
− | + | "Column": 1, | |
− | + | "Area": 0, | |
− | + | "Type": 1, | |
− | + | "Name": "22" | |
− | + | }, | |
− | + | { | |
− | + | "Row": 5, | |
− | + | "Column": 2, | |
− | + | "Area": 0, | |
− | + | "Type": 2, | |
− | + | "Name": "" | |
− | + | }, | |
− | + | { | |
− | + | "Row": 5, | |
− | + | "Column": 3, | |
− | + | "Area": 0, | |
− | + | "Type": 1, | |
− | + | "Name": "23" | |
− | + | }, | |
− | + | { | |
− | + | "Row": 5, | |
− | + | "Column": 4, | |
− | + | "Area": 0, | |
− | + | "Type": 1, | |
− | **** | + | "Name": "24" |
− | + | }], | |
− | + | "UserSeats": { | |
− | + | ||
− | + | }, | |
− | + | "BlockSeat": { | |
− | + | ||
− | + | } | |
− | + | } | |
− | + | </syntaxhighlight> | |
− | + | </TD></TR></TABLE> | |
− | + | </div></div><br /> | |
− | + | ||
− | + | ===Выгрузка первоначального варианта в корзину для бронирования (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''' – название | |
− | + | **** '''FlightSetting''' – внутренняя информация о перелете из программы туров | |
− | + | ***** '''ServiceId''' – идентификатор класса услуги (внутренняя информация из программы туров) | |
− | + | ***** '''PatternId''' – идентификатор паттерна услуги (внутренняя информация из программы туров) | |
− | + | ***** '''FlightId''' – идентификатор перелета (внутренняя информация из программы туров) | |
− | + | **** '''FlightSourceMode''' – локальный или удаленный перелет (внутренняя информация из программы туров) | |
− | + | **** '''Id''' – идентификатор базового шаблона услуги (внутренняя информация из программы туров) | |
− | + | **** '''SvKey''' – ключ типа услуги | |
− | + | **** '''IsSubCode1''' – признак наличия доп. описания 1 | |
− | + | **** '''IsSubCode2''' – признак наличия доп. описания 2 | |
− | + | **** '''IsPartnerBasedOn''' – признак услуга с приоритетным подбором поставщика | |
− | + | **** '''Day''' – день предоставления услуги | |
− | + | **** '''DurationInNight''' – продолжительность услуги в ночах | |
− | + | **** '''BeginDateTime''' – дата предоставления услуги | |
− | + | **** '''IsHooded''' – признак скрытая услуга | |
− | + | **** '''IsDeleted''' – признак удаляемая услуга | |
− | + | **** '''IsNotCalculate''' – признак не рассчитываемая услуга | |
− | + | **** '''PacketId''' – ключ пакета | |
− | + | **** '''Index''' – порядковый номер услуги | |
− | + | *** '''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''' – название (не заполняется) | |
− | + | **** '''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''' – продолжительность услуги в ночах | |
− | + | *** '''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''' – флаг включен/выключен | |
− | + | *** '''RouteSubVariants''' – подварианты услуг (используется в основном поиске) | |
− | + | ** '''SecondaryFiltersResult''' – доп. фильтры (не используется при вызове из корзины) | |
− | + | ||
− | + | ||
− | + | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | |
− | + | <div class="mw-collapsible-content"> | |
− | + | <TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD> | |
− | + | Вызов метода Tour (первоначальный вариант Tour в корзине для бронирования) | |
− | + | <syntaxhighlight lang="java" enclose="div"> | |
− | + | 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 | |
− | + | </syntaxhighlight> | |
− | "Key": | + | Возвращаемый результат метода Tour (в формате JSON) |
− | "Value": " | + | <syntaxhighlight lang="java" enclose="div"> |
+ | { | ||
+ | "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, | "Key": 35, | ||
"Value": "Вена" | "Value": "Вена" | ||
}, | }, | ||
− | " | + | "ArrivalCountry": { |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
"Key": 90, | "Key": 90, | ||
"Value": "Австрия" | "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, | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | " | ||
− | "Id": | ||
− | "SvKey": | ||
"IsSubCode1": true, | "IsSubCode1": true, | ||
− | "IsSubCode2": | + | "IsSubCode2": false, |
"IsPartnerBasedOn": false, | "IsPartnerBasedOn": false, | ||
"Day": 1, | "Day": 1, | ||
− | "DurationInNight": | + | "DurationInNight": 0, |
− | "BeginDateTime": "2018-03- | + | "BeginDateTime": "2018-03-31T10:00:00", |
− | |||
"IsHooded": false, | "IsHooded": false, | ||
"IsDeleted": false, | "IsDeleted": false, | ||
"IsNotCalculate": false, | "IsNotCalculate": false, | ||
"PacketId": 779, | "PacketId": 779, | ||
− | "Index": | + | "Index": 0 |
}, | }, | ||
{ | { | ||
− | " | + | "Hotel": { |
+ | "Key": 707, | ||
+ | "Value": "Beim Theresianum" | ||
+ | }, | ||
+ | "City": { | ||
"Key": 35, | "Key": 35, | ||
"Value": "Вена" | "Value": "Вена" | ||
}, | }, | ||
− | " | + | "Stars": { |
+ | "Key": 66, | ||
+ | "Value": "4*Boutique" | ||
+ | }, | ||
+ | "Resort": { | ||
+ | "Key": -1, | ||
+ | "Value": null | ||
+ | }, | ||
+ | "ImageURL": "", | ||
+ | "Http": null, | ||
+ | "Description": "", | ||
+ | "Country": { | ||
"Key": 90, | "Key": 90, | ||
"Value": "Австрия" | "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, | |
− | |||
− | |||
− | " | ||
− | |||
− | "SvKey": | ||
"IsSubCode1": true, | "IsSubCode1": true, | ||
− | "IsSubCode2": | + | "IsSubCode2": true, |
"IsPartnerBasedOn": false, | "IsPartnerBasedOn": false, | ||
− | "Day": | + | "Day": 1, |
− | "DurationInNight": | + | "DurationInNight": 7, |
− | "BeginDateTime": "2018-04- | + | "BeginDateTime": "2018-03-31T11:59:00", |
+ | "EndDateTime": "2018-04-07T11:59:00", | ||
"IsHooded": false, | "IsHooded": false, | ||
"IsDeleted": false, | "IsDeleted": false, | ||
"IsNotCalculate": false, | "IsNotCalculate": false, | ||
"PacketId": 779, | "PacketId": 779, | ||
− | "Index": | + | "Index": 1 |
− | } | + | }, |
− | |||
− | |||
{ | { | ||
− | " | + | "DepartureCity": { |
− | + | "Key": 35, | |
− | "Key": | + | "Value": "Вена" |
− | "Value": " | ||
}, | }, | ||
− | " | + | "DepartureCountry": { |
− | " | + | "Key": 90, |
− | "Key": | + | "Value": "Австрия" |
− | "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" |
− | "Key": | + | }, |
− | " | + | "Flight": { |
− | + | "Key": 774, | |
− | + | "Value": "222" | |
− | + | }, | |
− | "Cost": | + | "DepartureTime": "00:00:00", |
− | "QuotaStatus": { | + | "ArrivalTime": "00:00:00", |
− | "PlacesStatus": | + | "EndDateTime": "2018-04-07T00:00:00", |
+ | "FlightDetails": [ { | ||
+ | "Tariff": { | ||
+ | "Key": 67, | ||
+ | "Code": "C", | ||
+ | "Name": "Бизнес класс" | ||
+ | }, | ||
+ | "Cost": 1.61, | ||
+ | "QuotaStatus": { | ||
+ | "PlacesStatus": 4, | ||
"FreePlaces": 0, | "FreePlaces": 0, | ||
"TotalPlaces": 0 | "TotalPlaces": 0 | ||
}, | }, | ||
− | "PartnerId": | + | "PartnerId": 10760, |
"ByPax": true, | "ByPax": true, | ||
"Partner": { | "Partner": { | ||
Строка 2367: | Строка 2397: | ||
} | } | ||
}], | }], | ||
− | " | + | "FlightSetting": { |
− | " | + | "ServiceId": 4, |
− | "Id": | + | "PatternId": 5, |
− | "SvKey": | + | "FlightId": 4 |
+ | }, | ||
+ | "FlightSourceMode": 1, | ||
+ | "Id": 4, | ||
+ | "SvKey": 1, | ||
"IsSubCode1": true, | "IsSubCode1": true, | ||
"IsSubCode2": false, | "IsSubCode2": false, | ||
− | "IsPartnerBasedOn": | + | "IsPartnerBasedOn": false, |
− | "Day": | + | "Day": 8, |
"DurationInNight": 0, | "DurationInNight": 0, | ||
− | "BeginDateTime | + | "BeginDateTime": "2018-04-07T00:00:00", |
− | |||
"IsHooded": false, | "IsHooded": false, | ||
− | "IsDeleted": | + | "IsDeleted": false, |
− | "IsNotCalculate": | + | "IsNotCalculate": false, |
"PacketId": 779, | "PacketId": 779, | ||
− | "Index": | + | "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, | "PartnerId": 12667, | ||
− | " | + | "ByPax": true, |
− | " | + | "Partner": { |
− | "Day": 1, | + | "Key": 0, |
− | + | "Value": null | |
− | + | } | |
− | }, | + | }], |
− | { | + | "ParentId": null, |
− | "Key": { | + | "PartnerBasedOnServiceTemplateId": null, |
− | "TemplateId": | + | "Id": 7, |
− | "PatternId": | + | "SvKey": 4, |
− | "SettingId": | + | "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": { | "Value": { | ||
− | "Cost": | + | "Cost": 6.45, |
"ServiceType": 1, | "ServiceType": 1, | ||
− | "Code": | + | "Code": 858, |
"SubCode1": 67, | "SubCode1": 67, | ||
− | "SubCode2": | + | "SubCode2": 1, |
"PacketId": 779, | "PacketId": 779, | ||
"PartnerId": 10760, | "PartnerId": 10760, | ||
− | "CountryId": | + | "CountryId": 90, |
− | "CityId": | + | "CityId": 35, |
− | "Day": | + | "Day": 1, |
"DurationInNight": 0 | "DurationInNight": 0 | ||
} | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}, | }, | ||
− | "checkPlusMinus1CharterRule": { | + | { |
− | "FlightSettingPairs": [], | + | "Key": { |
− | "enabled": false | + | "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": { | "notCombineDifferentTariffGroupRule": { | ||
Строка 4125: | Строка 4213: | ||
}, | }, | ||
"ValidationResultAttributes": 0 | "ValidationResultAttributes": 0 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
} | } |
Версия 11:35, 6 апреля 2018
Версия статьи от 6-04-2018.
Поддерживаемые версии ПК «Мастер-Тур»: |
Содержание
- 1 Введение
- 2 Установка
- 3 Список методов
- 3.1 Авторизация (Token)
- 3.2 Выгрузка настроек службы поиска (Settings)
- 3.3 Выгрузка списка валют (Currency)
- 3.4 Выгрузка квотируемых услуг системы (QuotedServices)
- 3.5 Выгрузка городов отправления (departureCities)
- 3.6 Выгрузка списка стран (Destination)
- 3.7 Выгрузка списка городов (ActualizeCities)
- 3.8 Выгрузка типов туров (ActualizeTourType)
- 3.9 Выгрузка актуальных дат заездов (TourDate)
- 3.10 Выгрузка актуальных продолжительностей (Duration)
- 3.11 Поиск туров (Tour)
- 3.12 Выгрузка транспортного плана (TransportPlan)
- 3.13 Выгрузка первоначального варианта в корзину для бронирования (Tour)
- 3.14 Выгрузка настройки отображения полей по туристам (TouristDataSettings)
- 3.15 Выгрузка услуг доплат к авиаперелетам (GetFlightsAdditionalServices)
- 3.16 Выгрузка услуг доплат к отелям (GetHotelsAdditionalServices)
- 3.17 Расчет индивидуальных услуг (CalculateIndividualServiceCosts)
- 3.18 Расчет путевки (CalculateReservation)
- 3.19 Бронирование путевки (CreateReservation)
Введение
Данный web-сервис разработан для разработки собственного сайта туроператору на основе API.
Установка
Для работы с web-сервисом необходимо установить службу поиска.
После установки web-сервис будет доступен по адресу http://значение настройки "serviceAddress" в TourSearchOwin/"название метода" (пример: http://localhost:9000/TourSearchOwin/Settings)
Список методов
Последовательность вызова методов сервиса
Авторизация (Token)
Метод производит получение авторизационного токена.
- Формат запроса:
- .../TourSearchOwin/Token?
- Принимаемые параметры POST запроса ( * – обязательный):
- grant_type * – password
- username * – логин представителя партнера
- password * – пароль представителя партнера
- Возвращаемый результат:
- access_token – токен
- token_type – тип токена
- expires_in – код
- userKey – ключ пользователя
- .issued – дата получения
- .expires – дата действия до
Вызов метода Token http://localhost:9000/TourSearchOwin/Token
POST
{
"grant_type": "password",
"username": "test",
"password": "1",
}
Возвращаемый результат метода TransportPlan (в формате JSON) {
"access_token": "AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAdsCC8X7m9E-2bg0-uS0VfgAAAAACAAAAAAADZgAAwAAAA-
EqAAAAAASAAACgAAAAEAAAAO4S-VrqBhQuhqliqrAKKfIgAQAAn-gfgP-rYjk-Krr1Ck2A-IGCw6FBhamJDQdedCxccciUOzFxgTtk1hR-
GLMryFIH8VK5GmHdHubZWj4S7XcazGL1Kn5-VlbiYdW2ZVWpYlk638aV-XS2kpZ9YrKgViiM_x8RH5TPo4tmtVAg9Y8OWyjX8Qx9SzwTzB9LhE7V-SjiB_CP_qs58DRKcyohq3Tz9QaiFgH1Ko7O2XKjTBG7SHyQPDPYjaqg0oD5Rs8d0gNsTtpt2EvNH7Wnj59kDxmzq0UcIT6Fm4YkDxmm9-CW7u3cEFWcpiqKOc2VvZFKPPHc07uDOO4w9FXPhpXZwOcV8GaHQpOqrJBxzhbr73RuhzPs_e-hgxKaIlsMaKqt1PFAAAAC7J54NXq5b0v5ReAMy1kuY0ebXA",
"token_type": "bearer",
"expires_in": 1209599,
"userKey": "333",
".issued": "Thu, 05 Apr 2018 12:05:31 GMT",
".expires": "Thu, 19 Apr 2018 12:05:31 GMT"
}
|
Выгрузка настроек службы поиска (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, то каждое значение необходимо передавать отдельным параметром.
- Groups – группировка результатов (2 – по названию тура, 4 – по дате тура, 8 – по продолжительности тура, 16 – по городу вылета, 32 – по отелю, 64 – по городу отеля, 128 – по курорту отеля, 256 – по категории отеля)
- PageNumber * – номер возвращаемой страницы (по умолчанию возвращается 1)
- PageSize * – количество возвращаемых результатов на одной странице (возвращается 20)
- HotelScheme – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля. Передаются следующие параметры: TemplateId – идентификатор шаблона услуги, DurationInNight – продолжительность отеля в ночах, Code – ключ отеля, PacketKey – ключ пакета, PartnerKey – ключ партнера
- BusTransferPointKeys – данный признак проставляется в true в том случае, когда происходит запрос вариантов проживания (кнопка Варианты) в автобусных переездах
- TourKey – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: ключ программы тура
- TourDuration – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: продолжительность тура в днях
- isFromBasket * – происходит ли обращение из корзины или из поиска туров (true/false)
- isFillSecondaryFilters * – заполнены ли дополнительные фильтры (по умолчанию всегда приходит true)
- DestinationType * – тип результата (всегда возвращается в JSON = 1, в xml = country)
- DestinationKey * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- AdultCount * – количество взрослых
- ChildAges – возраст детей. Если детей несколько, и параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- CurrencyName – код валюты
- AviaQuota * – информация о квотах на авиаперелет (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- HotelQuota * – информация о квотах на отель (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- BusTransferQuota – информация о квотах на автобусный переезд (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- MinPrice * – минимальная цена (по умолчанию не задана, передается NaN)
- MaxPrice – максимальная цена (по умолчанию не передается)
- TourType – идентификатор типа тура (полученный из метода .../TourSearchOwin/ActualizeTourType?), по умолчанию передается -1, то есть все типы тура в рамках данной страны. Возможна множественная передача параметров.
- Tour – ключ программы тура (дополнительный фильтр)
- Duration – продолжительность тура (дополнительный фильтр)
- DateTour – дата тура (дополнительный фильтр)
- HotelResort – ключ курорта отеля (дополнительный фильтр)
- HotelCity – ключ города отеля (дополнительный фильтр)
- HotelType – ключ признака отеля (дополнительный фильтр)
- HotelStars – ключ категории отеля (дополнительный фильтр)
- Hotel – ключ отеля (дополнительный фильтр)
- Pansions – ключ питания (дополнительный фильтр)
- Airline – ключ авиакомпании (дополнительный фильтр)
- AirportDeparture – ключ аэропорта вылета (дополнительный фильтр)
- AirportArrival – ключ аэропорта прилета (дополнительный фильтр)
- CityIds – идентификатор города прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны. Возможна множественная передача параметров.
- TimeDepartureFrom – время отправления с (по умолчанию возвращается 00:00)
- TimeDepartureTo – время отправления по (по умолчанию возвращается 23:59)
- TimeArrivalFrom – время прибытия с (по умолчанию возвращается 00:00)
- TimeArrivalTo – время прибытия по (по умолчанию возвращается 23:59)
- ArrivalFlightNoTransfer – производить поиск без пересадок в прямом направлении (true/false, по умолчанию false)
- DepartureFlightNoTransfer – производить поиск без пересадок в обратном направлении (true/false, по умолчанию false)
- Tariff – ключ класса авиаперелета (дополнительный фильтр)
- FlightCityDeparture – ключ город вылета в параметрах авиаперелета (дополнительный фильтр)
- CityDeparture – ключ города начала поездки (дополнительный фильтр)
- Возвращаемый результат:
- CheckMessages – сообщения для логики проверки тура (не используется)
- Message – сообщение об ошибке
- Key – код ошибки
- Value – сообщение об ошибке
- Result – результаты поиска
- Key – идентификатов программы тура
- Name – название программы тура
- TourUrl – ссылка на программу тура
- BookingConditions – условия бронирования программы туров
- StartDate – дата начала тура
- Duration – продолжительность тура (в днях)
- DurationInNight – продолжительность проживания (в ночах)
- Types – идентификатор типа туров
- Cost – цена тура
- Rate – код валюты тура
- CityDepature – город отправления
- Key – идентификатор города отправления
- Value – название города отправления
- CountryId – всегда возвращается ключ 0
- Services – услуги в туре
- DepartureCity – город отправления
- Key – идентификатор
- Value – название
- DepartureCountry – страна отправления
- Key – идентификатор
- Value – название
- ArrivalCity – город прибытия
- Key – идентификатор
- Value – название
- ArrivalCountry – страна прибытия
- Key – идентификатор
- Value – название
- DepartureAirport – аэропорт отправления
- Key – идентификатор
- Value – название
- ArrivalAirport – аэропорт прибытия
- Key – идентификатор
- Value – название
- Airline – авиакомпания
- Key – идентификатор
- Value – название
- Aircraft – воздушное судно
- Key – идентификатор
- Value – название
- Flight – рейс
- Key – идентификатор
- Value – название
- DepartureTime – время вылета
- ArrivalTime – время прилета
- EndDateTime – дата и время прилета
- FlightDetails – информация об авиаперелете
- Tariff – информация о тарифе перелета
- Key – идентификатор
- Code – код тарифа
- Name – название тарифа
- Cost – стоимость
- QuotaStatus – информация о квоте
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест
- 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"
}
]
}
}
|
Выгрузка транспортного плана (TransportPlan)
Метод производит выгрузку транспортного плана.
- Формат запроса:
- .../TourSearchOwin/TransportPlan?
- Принимаемые параметры ( * – обязательный):
- code – код услуги
- dateBegin – дата услуги
- serviceType – тип услуги
- transportKey – ключ справочника транспорт
- Возвращаемый результат:
- TransportKey – ключ справочника транспорт
- Title – описание
- AreasCount – количество уровней
- RowsCount – количество рядов
- ColumnsCount – количество мест в ряду
- BusySeats – не используется
- Cells – массив описаний всех мест
- Row – ряд
- Column – место в ряду
- Area – уровень места
- Type – тип (None = 0, Seat = 1, Block = 4, Busy = 5)
- Name – название/номер
- UserSeats – не используется
- BlockSeat – не используется
Вызов метода TransportPlan http://localhost:9000/TourSearchOwin/TransportPlan?code=1311&dateBegin=17.04.2018&serviceType=14&transportKey=39
Возвращаемый результат метода TransportPlan (в формате JSON) {
"TransportKey": 39,
"Title": "__",
"AreasCount": 1,
"RowsCount": 12,
"ColumnsCount": 5,
"BusySeats": [],
"Cells": [{
"Row": 5,
"Column": 0,
"Area": 0,
"Type": 4,
"Name": "21"
},
{
"Row": 5,
"Column": 1,
"Area": 0,
"Type": 1,
"Name": "22"
},
{
"Row": 5,
"Column": 2,
"Area": 0,
"Type": 2,
"Name": ""
},
{
"Row": 5,
"Column": 3,
"Area": 0,
"Type": 1,
"Name": "23"
},
{
"Row": 5,
"Column": 4,
"Area": 0,
"Type": 1,
"Name": "24"
}],
"UserSeats": {
},
"BlockSeat": {
}
}
|
Выгрузка первоначального варианта в корзину для бронирования (Tour)
Метод поиска, который возвращает варианты только по данной турпрограмме и схеме отеля.
- Формат запроса:
- .../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?
- Принимаемые параметры POST запроса ( * – обязательный):
- TourProgramId – ключ турпрограммы
- BeginDate – дата начала тура
- Duration – продолжительность тура
- Currency – код валюты
- Services – массив услуг авиаперелетов для получения доплат
- Service – объект услуга авиаперелет
- ServiceType – тип услуги
- Code – код услуги
- SubCode1 – доп. описание 1 услуги
- SubCode2 – доп. описание 2 услуги
- Packet – ключ пакета услуги
- Partner – ключ партнера услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- City – ключ города
- Country – страна услуги
- Attributes – битовая маска атрибутов услуг
- IsRemovable – (не обрабатывается)
- Type – тип услуги в путевке (базовая дополнительная)
- IsHooded – признак скрытая услуга
- IsNotCalculated – признак не рассчитываемая услуга
- BeginDateTimeString – дата и время начала услуги
- EndDateTimeString – дата и время окончания услуги
- TemplateId – шаблон услуги
- Cost – цена услуги
- ByPax – цена за человека
- QuotaStatus – объект статус квотирования
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест
- 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?
- Принимаемые параметры POST запроса ( * – обязательный):
- TourProgramId – ключ турпрограммы
- BeginDate – дата начала тура
- Duration – продолжительность тура
- Currency – код валюты
- Services – массив услуг отелей для получения доплат
- Service – объект услуга отель
- ServiceType – тип услуги
- Code – код услуги
- SubCode1 – доп. описание 1 услуги
- SubCode2 – доп. описание 2 услуги
- Packet – ключ пакета услуги
- Partner – ключ партнера услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- City – ключ города
- Country – страна услуги
- Attributes – битовая маска атрибутов услуг
- IsRemovable – (не обрабатывается)
- Type – тип услуги в путевке (базовая дополнительная)
- IsHooded – признак скрытая услуга
- IsNotCalculated – признак не рассчитываемая услуга
- BeginDateTimeString – дата и время начала услуги
- EndDateTimeString – дата и время окончания услуги
- TemplateId – шаблон услуги
- Cost – цена услуги
- ByPax – цена за человека
- QuotaStatus – объект статус квотирования
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест
- 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?
- Принимаемые параметры POST запроса ( * – обязательный):
- TourProgramId – ключ тура
- TourDate – дата тура
- TourDuration – продолжительность тура
- Currency – код валюты
- Services – массив индивидуальных услуг
- ServiceType – тип услуги
- Code – код услуги
- SubCode1 – доп. описание 1
- SubCode2 – доп. описание 2
- Packet – ключ пакета
- Partner – ключ партнера
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- City – объект город
- Country – страна услуги
- Attributes – маска атрибутов услуги
- Type – тип услуги
- IsHooded – признак скрытая
- IsNotCalculated – признак не рассчитываемая
- BeginDateTimeString – дата начала услуги в строке
- EndDateTimeString – дата начала услуги в строке
- TemplateId – номер шаблона услуги
- Cost – цена услуги
- ByPax – цена за человека
- QuotaStatus – объект статус квотирования
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест
- 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?
- Принимаемые параметры POST запроса ( * – обязательный):
- 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": "рб"
}
|
Бронирование путевки (CreateReservation)
Метод производит бронирование путевки.
- Формат запроса:
- .../TourSearchOwin/CreateReservation/1?
- Принимаемые параметры headers:
- Key – Authorization
- Value – token_type + access_token (полученные из метода .../TourSearchOwin/Token?)
- Принимаемые параметры PUT запроса ( * – обязательный):
- 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 – гражданство
- Day – день (перевод)
- Day2 – дня (перевод)
- Days – дней (перевод)
- Night – ночь (перевод)
- Night2 – ночи (перевод)
- Nights – ночей (перевод)
- adultsCountOverServiceLimit – Количество взрослых туристов превышает лимит услуги (перевод)
- incorrectChildrenInf – Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание) (перевод)
- Возвращаемый результат:
- Reservation – объект полностью идентичный записи в базу данных tbl_Dogovor со связками к tbl_DogovorList, tbl_Partners, tbl_Turist. При успешном бронировании происходит переход сразу в Мастер_Web.
- ValidationResultSummary – объект статус результата бронирования
- ValidationResult – объект с ошибками и флагом валидности путевки
- Errors – массив ошибок бронирования
- IsValid – признак валидности бронирования
- ValidationResultAttributes – атрибут результата бронирования
- ValidationResult – объект с ошибками и флагом валидности путевки
Вызов метода CreateReservation http://localhost:9000/TourSearchOwin/CreateReservation/1?
Headers
{
"key": "Authorization",
"value": "Bearer AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAdsCC8X7m9E-2bg0-uS0VfgAAAAACAAAAAAADZgAAwAAAA-
EqAAAAAASAAACgAAAAEAAAAO4S-VrqBhQuhqliqrAKKfIgAQAAn-gfgP-rYjk-Krr1Ck2A-IGCw6FBhamJDQdedCxccciUOzFxgTtk1hR-
GLMryFIH8VK5GmHdHubZWj4S7XcazGL1Kn5-VlbiYdW2ZVWpYlk638aV-XS2kpZ9YrKgViiM_x8RH5TPo4tmtVAg9Y8OWyjX8Qx9SzwTzB9LhE7V-SjiB_CP_qs58DRKcyohq3Tz9QaiFgH1Ko7O2XKjTBG7SHyQPDPYjaqg0oD5Rs8d0gNsTtpt2EvNH7Wnj59kDxmzq0UcIT6Fm4YkDxmm9-CW7u3cEFWcpiqKOc2VvZFKPPHc07uDOO4w9FXPhpXZwOcV8GaHQpOqrJBxzhbr73RuhzPs_e-hgxKaIlsMaKqt1PFAAAAC7J54NXq5b0v5ReAMy1kuY0ebXA",
}
PUT
{
"TourProgramId": 100003404,
"BeginDate": "2018-04-16T00:00:00",
"Duration": 8,
"Currency": "EU",
"Services": [{
"Service": {
"ServiceType": 3,
"Code": 707,
"SubCode1": 10468,
"SubCode2": 4,
"Packet": 779,
"Partner": 12667,
"Day": 1,
"DurationInNight": 7,
"City": 35,
"Country": 90,
"Attributes": 0,
"IsRemovable": false,
"Type": 1,
"IsHooded": false,
"IsNotCalculated": false,
"BeginDateTimeString": "2018-04-16T11:59:00",
"EndDateTimeString": "2018-04-23T11:59:00",
"TemplateId": 1,
"Cost": 114,
"ByPax": false,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"TotalPlaces": 0
},
"Index": 1,
"IsRoute": true,
"ServiceTemplateIndex": 1,
"RemoteId": null
},
"TouristNumbersList": [1,
2]
},
{
"Service": {
"ServiceType": 12,
"Code": 357,
"SubCode1": 41,
"SubCode2": null,
"Packet": 777,
"Partner": 10760,
"Day": 1,
"DurationInNight": 0,
"City": null,
"Country": 90,
"Attributes": 32768,
"Type": 2,
"IsHooded": false,
"IsNotCalculated": true,
"EndDateTimeString": false,
"Cost": 24,
"ByPax": false,
"QuotaStatus": 0,
"Index": 0,
"IsRoute": false,
"ServiceTemplateIndex": 0
},
"TouristNumbersList": [1,
2]
}],
"Tourists": [{
"IsMain": true,
"Number": 1,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "555",
"LastName": "55",
"Patronymic": "",
"FirstNameRus": "555",
"LastNameRus": "55",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": null,
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": ""
},
{
"IsMain": false,
"Number": 2,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "666",
"LastName": "66",
"Patronymic": "",
"FirstNameRus": "666",
"LastNameRus": "66",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": null,
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": ""
}],
"Day": "день",
"Day2": "дня",
"Days": "дней",
"Night": "ночь",
"Night2": "ночи",
"Nights": "ночей",
"adultsCountOverServiceLimit": "Количество взрослых туристов превышает лимит услуги",
"incorrectChildrenInf": "Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание)"
}
Возвращаемый результат метода CreateReservation (в формате JSON) {
"Reservation": {
...
},
"ValidationResultSummary": {
"ValidationResult": {
"Errors": [],
"IsValid": true
},
"ValidationResultAttributes": 0
}
}
|