Мастер-Тур(15):API для разработки онлайн поиска и бронирования — различия между версиями
[досмотренная версия] | [досмотренная версия] |
Biryukov (обсуждение | вклад) |
Biryukov (обсуждение | вклад) |
||
(не показано 39 промежуточных версий 4 участников) | |||
Строка 257: | Строка 257: | ||
** GET .../TourSearchOwin/CurrencyRates | ** GET .../TourSearchOwin/CurrencyRates | ||
* Принимаемые параметры: | * Принимаемые параметры: | ||
− | ** | + | ** '''dateFrom''' – начальная дата, от которой вывести список курсов валют, в формате DD.MM.YYYY, не обязательный параметр |
+ | ** '''dateTo''' – конечная дата, до которой вывести список курсов валют, в формате DD.MM.YYYY, не обязательный параметр | ||
* Возвращаемый результат: | * Возвращаемый результат: | ||
** '''baseCurrencyId''' – идентификатор национальной валюты, либо произвольной валюты, указанной в настройке ''basketCurrency'' в конфигурационном файле (обрабатывается с релиза 15.6) | ** '''baseCurrencyId''' – идентификатор национальной валюты, либо произвольной валюты, указанной в настройке ''basketCurrency'' в конфигурационном файле (обрабатывается с релиза 15.6) | ||
** '''currencyId''' – идентификатор валюты, курс которой приводится | ** '''currencyId''' – идентификатор валюты, курс которой приводится | ||
** '''rate''' – курс валюты (отношение '''currencyId''' к '''baseCurrencyId''') | ** '''rate''' – курс валюты (отношение '''currencyId''' к '''baseCurrencyId''') | ||
+ | ** '''date''' – дата, на которую был зарегистрирован выводимый курс валюты | ||
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
Строка 268: | Строка 270: | ||
Вызов метода CurrencyRates | Вызов метода CurrencyRates | ||
<syntaxhighlight lang="java" enclose="div"> | <syntaxhighlight lang="java" enclose="div"> | ||
− | http://localhost:9000/TourSearchOwin/CurrencyRates | + | http://localhost:9000/TourSearchOwin/CurrencyRates?dateFrom=18.09.2024&dateTo=19.09.2024 |
</syntaxhighlight> | </syntaxhighlight> | ||
Возвращаемый результат метода CurrencyRates (в формате JSON) | Возвращаемый результат метода CurrencyRates (в формате JSON) | ||
<syntaxhighlight lang="java" enclose="div"> | <syntaxhighlight lang="java" enclose="div"> | ||
− | { | + | [ |
− | + | { | |
− | + | "BaseCurrencyId": 14, | |
− | + | "CurrencyId": 1, | |
− | + | "Rate": 91.429200, | |
− | + | "Date": "18.09.2024" | |
− | + | }, | |
− | + | { | |
− | + | "BaseCurrencyId": 14, | |
− | + | "CurrencyId": 2, | |
− | + | "Rate": 101.505700, | |
− | + | "Date": "18.09.2024" | |
− | + | }, | |
− | + | { | |
− | + | "BaseCurrencyId": 14, | |
+ | "CurrencyId": 1, | ||
+ | "Rate": 91.671200, | ||
+ | "Date": "19.09.2024" | ||
+ | }, | ||
+ | { | ||
+ | "BaseCurrencyId": 14, | ||
+ | "CurrencyId": 2, | ||
+ | "Rate": 102.039000, | ||
+ | "Date": "19.09.2024" | ||
+ | } | ||
+ | ] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 508: | Строка 521: | ||
** '''Name''' – название страны | ** '''Name''' – название страны | ||
** '''Key''' – идентификатор страны | ** '''Key''' – идентификатор страны | ||
− | ** '''DestinationType''' – тип результата ( | + | ** '''DestinationType''' – тип результата (параметр не изменяемый, когда результат возвращается в JSON, то значение будет = 1, когда результат возвращается в xml, то значение будет = country). Зависит от программы, которая возвращает результат. |
** '''IsExist''' – не используется | ** '''IsExist''' – не используется | ||
** '''Data''' – массив данных для контекстного поиска | ** '''Data''' – массив данных для контекстного поиска | ||
Строка 811: | Строка 824: | ||
** '''PageSize *''' – количество возвращаемых результатов на одной странице (возвращается 20) | ** '''PageSize *''' – количество возвращаемых результатов на одной странице (возвращается 20) | ||
** '''isFromBasket *''' – происходит ли обращение из корзины или из поиска туров (true/false) | ** '''isFromBasket *''' – происходит ли обращение из корзины или из поиска туров (true/false) | ||
− | ** '''isFillSecondaryFilters | + | ** '''isFillSecondaryFilters''' – заполнены ли дополнительные фильтры (по умолчанию всегда приходит true). Служебный внутренний параметр. При работе с API не используется. |
− | ** '''DestinationType *''' – тип результата ( | + | ** '''DestinationType *''' – тип результата (параметр не изменяемый, когда результат возвращается в JSON, то значение будет = 1, когда результат возвращается в xml, то значение будет = country). Зависит от программы, которая возвращает результат. |
** '''DestinationKey *''' – идентификатор страны прибытия (полученный из метода ''.../TourSearchOwin/Destination?'') | ** '''DestinationKey *''' – идентификатор страны прибытия (полученный из метода ''.../TourSearchOwin/Destination?'') | ||
** '''AdultCount *''' – количество взрослых | ** '''AdultCount *''' – количество взрослых | ||
Строка 925: | Строка 938: | ||
***** '''Cost''' – разница в стоимости с самым дешевым вариантом | ***** '''Cost''' – разница в стоимости с самым дешевым вариантом | ||
***** '''QuotaStatus''' – информация о квоте | ***** '''QuotaStatus''' – информация о квоте | ||
− | ****** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос) | + | ****** '''PlacesStatus''' – статус по квотам (есть места-1 / нет мест-2 / под запрос-4) |
****** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ****** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ||
****** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ****** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ||
Строка 956: | Строка 969: | ||
***** '''Key''' – ключ города | ***** '''Key''' – ключ города | ||
***** '''Value''' – название города | ***** '''Value''' – название города | ||
− | **** '''Country''' – ключ страны | + | **** '''Country''' – объект страна |
+ | ***** '''Key''' – ключ страны | ||
+ | ***** '''Value''' – название страны | ||
**** '''Code''' – объект код услуги | **** '''Code''' – объект код услуги | ||
***** '''Key''' – ключ услуги | ***** '''Key''' – ключ услуги | ||
Строка 972: | Строка 987: | ||
***** '''Cost''' – цена | ***** '''Cost''' – цена | ||
***** '''QuotaStatus''' – объект информация по квотам | ***** '''QuotaStatus''' – объект информация по квотам | ||
− | ****** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос) | + | ****** '''PlacesStatus''' – статус по квотам (есть места-1 / нет мест-2 / под запрос-4) |
****** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ****** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ||
****** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ****** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ||
Строка 1112: | Строка 1127: | ||
****** '''settings''' – | ****** '''settings''' – | ||
****** '''enabled''' – | ****** '''enabled''' – | ||
− | |||
**** '''Type''' – тип справочника (используется для внутренних целей) | **** '''Type''' – тип справочника (используется для внутренних целей) | ||
*** '''TourDurations''' – продолжительность тура | *** '''TourDurations''' – продолжительность тура | ||
Строка 1418: | Строка 1432: | ||
"ServiceName": "страховка", | "ServiceName": "страховка", | ||
"City": null, | "City": null, | ||
− | "Country": | + | "Country": { |
+ | "Key": 90, | ||
+ | "Value": "Австрия" | ||
+ | }, | ||
"Code": { | "Code": { | ||
"Key": 297, | "Key": 297, | ||
Строка 1471: | Строка 1488: | ||
"Value": "Санто-Доминго" | "Value": "Санто-Доминго" | ||
}, | }, | ||
− | "Country": | + | "Country": { |
+ | "Key": 90, | ||
+ | "Value": "Австрия" | ||
+ | }, | ||
"Code": { | "Code": { | ||
"Key": 743, | "Key": 743, | ||
Строка 1674: | Строка 1694: | ||
} | } | ||
}, | }, | ||
− | |||
"Type": "TourProgram" | "Type": "TourProgram" | ||
} | } | ||
Строка 2394: | Строка 2413: | ||
</div></div><br /> | </div></div><br /> | ||
− | === | + | ===Получение дат заезда по турпрограмме=== |
− | Метод | + | Работает начиная с релиза 15.8. |
+ | Метод возвращает даты заезда по ключу турпрограммы. | ||
* Формат запроса: | * Формат запроса: | ||
− | ** GET .../TourSearchOwin/ | + | ** GET .../TourSearchOwin/TransportPlan? |
* Принимаемые параметры ( '''*''' – обязательный): | * Принимаемые параметры ( '''*''' – обязательный): | ||
− | ** ''' | + | ** '''tourProgramKey *''' – ключ турпрограммы |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* Возвращаемый результат: | * Возвращаемый результат: | ||
− | ** ''' | + | ** '''Массив дат заезда по туру''' |
− | + | ||
− | + | <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> | |
− | + | Вызов метода | |
− | + | <syntaxhighlight lang="java" enclose="div"> | |
− | + | GET http://localhost:9000/TourSearchOwin/TransportPlan?tourProgramKey=100001277 | |
− | + | </syntaxhighlight> | |
− | + | Возвращаемый результат метода (в формате JSON) | |
− | + | <syntaxhighlight lang="java" enclose="div"> | |
− | + | [ | |
− | + | "2022-02-21T00:00:00Z", | |
− | + | "2022-02-22T00:00:00Z", | |
− | *** ''' | + | "2022-02-23T00:00:00Z", |
− | + | "2022-02-24T00:00:00Z", | |
− | + | "2022-02-25T00:00:00Z", | |
− | + | "2022-02-26T00:00:00Z", | |
− | * | + | ] |
− | + | </syntaxhighlight> | |
− | + | </TD></TR></TABLE> | |
− | + | </div></div><br /> | |
− | + | ||
− | + | ===Получение плана транспортного средства (TransportPlan) по ключу турпрограммы и дате услуги=== | |
− | + | Работает начиная с релиза 15.8. | |
− | + | Метод возвращает даты заезда по ключу турпрограммы и дате услуги. | |
− | + | * Формат запроса: | |
− | + | ** GET .../TourSearchOwin/TransportPlan? | |
− | + | * Принимаемые параметры ( '''*''' – обязательный): | |
− | + | ** '''tourProgramKey *''' – ключ турпрограммы | |
− | + | ** '''dateBegin *''' – дата услуги | |
− | + | ** '''serviceType *''' – тип услуги | |
− | + | ||
− | + | * Возвращаемый результат: | |
− | + | * '''plan''' – массив данных план | |
− | + | ** '''VehiclePlans''' – массив параметров зон плана | |
− | + | *** '''Key''' – ключ зоны | |
− | + | *** '''TransportKey''' – ключ из справочника транспорт | |
− | + | *** '''Row''' – количество рядов | |
− | + | *** '''AreaNumber''' – номер уровня | |
− | + | *** '''Name''' – название уровня | |
− | + | *** '''PlanOrientation''' – ориентация плана (''false'' - горизонтальная, ''true'' - вертикальная) | |
− | + | *** '''Column''' – количество столбцов | |
− | + | *** '''IsAirCraft''' – является ли планом самолета (''false'' - нет, ''true'' - является) | |
− | + | *** '''Dates''' – не используется | |
− | + | *** '''Type''' – не используется | |
− | + | ** '''Seats''' – массив параметров посадочного места | |
− | + | *** '''Key''' – ключ места | |
− | + | *** '''SeatType''' – тип места (None = 0, Seat = 1, Pass/comment = 2, Block = 4, Busy = 5) | |
− | + | *** '''Index''' – индекс места | |
− | + | *** '''Number''' – название ячейки с местом | |
− | + | *** '''Type''' – тип "место" | |
− | + | *** '''VPKey''' – ключ зоны | |
− | + | *** '''Border''' – обводка границы (комбинация цифр, где 0 - нет обводки, 1 - обводка в 1 px, 2 - обводка в 2 px) | |
− | + | * '''routeCity''' – направление автобусного переезда | |
− | + | <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> | |
− | + | Вызов метода | |
− | + | <syntaxhighlight lang="java" enclose="div"> | |
− | + | GET http://localhost:9000/TourSearchOwin/TransportPlan?tourProgramKey=100001221&dateBegin=06.09.2023&serviceType=14 | |
− | + | </syntaxhighlight> | |
− | + | Возвращаемый результат метода (в формате JSON) | |
− | + | <syntaxhighlight lang="java" enclose="div"> | |
− | + | { | |
− | + | "plan": { | |
− | + | "VehiclePlans": [ | |
− | + | { | |
− | + | "Key": 10, | |
− | + | "TransportKey": 24, | |
− | + | "Row": 10, | |
− | + | "AreaNumber": 1, | |
− | + | "Name": "12345678901234567890", | |
− | + | "PlanOrientation": true, | |
− | + | "Column": 5, | |
− | + | "IsAirCraft": false, | |
− | + | "Dates": null, | |
− | + | "Type": "VehiclePlans" | |
− | + | } | |
− | + | ], | |
− | + | "Seats": [ | |
− | + | { | |
− | + | "Key": 406, | |
− | + | "SeatType": 1, | |
− | + | "Index": 0, | |
− | + | "Number": "1", | |
− | + | "Type": "Seat", | |
− | + | "VPKey": 10, | |
− | + | "Border": "0000" | |
− | + | }, | |
− | + | { | |
− | **** | + | "Key": 407, |
− | ** | + | "SeatType": 1, |
− | + | "Index": 1, | |
− | + | "Number": "2", | |
− | + | "Type": "Seat", | |
− | + | "VPKey": 10, | |
− | + | "Border": "0000" | |
− | *** | + | }, |
− | + | { | |
− | + | "Key": 408, | |
− | + | "SeatType": 0, | |
− | + | "Index": 2, | |
− | + | "Number": "", | |
− | + | "Type": "Seat", | |
− | + | "VPKey": 10, | |
− | + | "Border": "0000" | |
− | + | }, | |
− | + | { | |
− | + | "Key": 409, | |
− | + | "SeatType": 1, | |
− | + | "Index": 3, | |
− | + | "Number": "3", | |
− | + | "Type": "Seat", | |
− | + | "VPKey": 10, | |
+ | "Border": "0000" | ||
+ | }, | ||
+ | { | ||
+ | "Key": 410, | ||
+ | "SeatType": 1, | ||
+ | "Index": 4, | ||
+ | "Number": "4", | ||
+ | "Type": "Seat", | ||
+ | "VPKey": 10, | ||
+ | "Border": "0000" | ||
+ | }, | ||
+ | { | ||
+ | "Key": 411, | ||
+ | "SeatType": 1, | ||
+ | "Index": 5, | ||
+ | "Number": "5", | ||
+ | "Type": "Seat", | ||
+ | "VPKey": 10, | ||
+ | "Border": "0000" | ||
+ | }, | ||
+ | { | ||
+ | "Key": 412, | ||
+ | "SeatType": 1, | ||
+ | "Index": 6, | ||
+ | "Number": "6", | ||
+ | "Type": "Seat", | ||
+ | "VPKey": 10, | ||
+ | "Border": "0000" | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | "routeCity": "Москва - Казань" | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | </TD></TR></TABLE> | ||
+ | </div></div><br /> | ||
+ | |||
+ | ===Выгрузка первоначального варианта в корзину для бронирования (Tour)=== | ||
+ | Метод поиска, который возвращает варианты только по данной турпрограмме и схеме отеля. | ||
+ | * Формат запроса: | ||
+ | ** GET .../TourSearchOwin/Tour? | ||
+ | * Принимаемые параметры ( '''*''' – обязательный): | ||
+ | ** '''DepartureCityKeys *''' – идентификатор города отправления (полученный из метода ''.../TourSearchOwin/departureCities?'') | ||
+ | ** '''DestinationType *''' – тип результата (параметр не изменяемый, когда результат возвращается в JSON, то значение будет = 1, когда результат возвращается в xml, то значение будет = country). Зависит от программы, которая возвращает результат. | ||
+ | ** '''DestinationKey *''' – идентификатор страны прибытия (полученный из метода ''.../TourSearchOwin/Destination?'') | ||
+ | ** '''Dates *''' – массив дат заезда (полученные из метода ''.../TourSearchOwin/TourDate?''). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром. | ||
+ | ** '''Durations *''' – массив продолжительностей (полученные из метода ''.../TourSearchOwin/Duration?''). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром. | ||
+ | ** '''AdultCount *''' – количество взрослых | ||
+ | ** '''ChildAges''' – возраст детей. Если детей несколько, и параметры передаются через url, то каждое значение необходимо передавать отдельным параметром. | ||
+ | ** '''CurrencyName *''' – код валюты | ||
+ | ** '''HotelQuota *''' – информация о квотах на отель (значения параметров: ''"1"'' — фильтр "Есть", ''"5"'' — фильтр "Есть+запрос", ''"7"'' — фильтр "Все") | ||
+ | ** '''AviaQuota *''' – информация о квотах на авиаперелет (значения параметров: ''"1"'' — фильтр "Есть", ''"5"'' — фильтр "Есть+запрос", ''"7"'' — фильтр "Все") | ||
+ | ** '''BusTransferQuota''' – информация о квотах на автобусный переезд (значения параметров: ''"1"'' — фильтр "Есть", ''"5"'' — фильтр "Есть+запрос", ''"7"'' — фильтр "Все") | ||
+ | ** '''HotelScheme *''' – объект схемы отеля | ||
+ | *** '''TemplateId''' – идентификатор шаблона услуги | ||
+ | *** '''DurationInNight''' – продолжительность отеля в ночах | ||
+ | *** '''Code''' – ключ отеля | ||
+ | *** '''PacketKey''' – ключ пакета | ||
+ | *** '''PartnerKey''' – ключ партнера | ||
+ | *** '''GDSProviderId''' – ключ провайдера из внешней системы | ||
+ | *** '''TotalTourDuration''' – общая продолжительность тура в днях, обрабатывается начиная с релиза 15.6, обязательный параметр. Изменения связаны с возможностью работы поиска в ночах проживания в отеле, для перехода в корзину необходимо знать общую продолжительность тура. Взять значение для параметра ''TotalTourDuration'' для HotelScheme можно из свойства ''Duration'', пришедшего для данной цены в ответе метода поиск туров (''Tour'') | ||
+ | ** '''PageNumber *''' – номер возвращаемой страницы (по умолчанию возвращается 1) | ||
+ | ** '''PageSize *''' – количество возвращаемых результатов на одной странице (возвращается 20) | ||
+ | ** '''isFromBasket *''' – происходит ли обращение из корзины или из поиска туров (true/false). | ||
+ | ** '''isFillSecondaryFilters''' – заполнены ли дополнительные фильтры (по умолчанию всегда приходит true). Служебный внутренний параметр. При работе с API не используется. | ||
+ | ** '''TourKey''' – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: ключ программы тура | ||
+ | ** '''TourDuration''' – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: продолжительность тура в днях | ||
+ | ** '''RemoteHotelMode''' – признак того, производится поиск только локальных отелей или и от внешних поставщиков тоже (только локальные отели – 0, только внешние отели – 2, локальные и внешние отели – 1). Если признак отсутствует – поиск будет только по локальным отелям. Обрабатывается начиная с релиза 15.4. | ||
+ | |||
+ | * Возвращаемый результат: | ||
+ | ** '''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''' – статус по квотам (есть места-1 / нет мест-2 / под запрос-4) | ||
+ | ****** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ||
+ | ****** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ||
+ | ***** '''PartnerId''' – ключ партнера | ||
+ | ***** '''ByPax''' – цена за человека (true/false) | ||
+ | ***** '''Partner''' – информация о партнере | ||
+ | ****** '''Key''' – идентификатор | ||
+ | ****** '''Value''' – название | ||
+ | **** '''FlightSetting''' – внутренняя информация о перелете из программы туров | ||
+ | ***** '''ServiceId''' – идентификатор класса услуги (внутренняя информация из программы туров) | ||
+ | ***** '''PatternId''' – идентификатор паттерна услуги (внутренняя информация из программы туров) | ||
+ | ***** '''FlightId''' – идентификатор перелета (внутренняя информация из программы туров) | ||
+ | **** '''FlightSourceMode''' – локальный или внешний перелет (внутренняя информация из программы туров) | ||
+ | **** '''Id''' – идентификатор базового шаблона услуги (внутренняя информация из программы туров) | ||
**** '''SvKey''' – ключ типа услуги | **** '''SvKey''' – ключ типа услуги | ||
− | **** '''IsSubCode1''' – наличие [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 1]] | + | **** '''IsSubCode1''' – признак наличия [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 1]] |
− | **** '''IsSubCode2''' – наличие [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 2]] | + | **** '''IsSubCode2''' – признак наличия [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 2]] |
− | **** '''IsPartnerBasedOn''' – услуга с подбором приоритетного поставщика услуги | + | **** '''IsPartnerBasedOn''' – признак услуга с приоритетным подбором поставщика |
+ | **** '''Day''' – день предоставления услуги | ||
+ | **** '''DurationInNight''' – продолжительность услуги в ночах | ||
+ | **** '''BeginDateTime''' – дата предоставления услуги | ||
+ | **** '''IsHooded''' – признак скрытая услуга | ||
+ | **** '''IsDeleted''' – признак удаляемая услуга | ||
+ | **** '''IsNotCalculate''' – признак не рассчитываемая услуга | ||
+ | **** '''PacketId''' – ключ пакета | ||
+ | **** '''Index''' – порядковый номер услуги | ||
+ | *** '''NotRouteServices''' – массив коллекций немаршрутных услуг (например если две экскурсии будут являться одним элементом массива, то это будет говорить о том, что эти экскурсии можно будет выбрать в выпадающем списке) | ||
+ | **** '''ServiceName''' – название типа услуги | ||
+ | **** '''City''' – объект город | ||
+ | ***** '''Key''' – ключ города | ||
+ | ***** '''Value''' – название города | ||
+ | **** '''Country''' – объект страна | ||
+ | ***** '''Key''' – ключ страны | ||
+ | ***** '''Value''' – название страны | ||
+ | **** '''Code''' – объект код услуги | ||
+ | ***** '''Key''' – ключ услуги | ||
+ | ***** '''Value''' – название услуги | ||
+ | **** '''ByScheduler''' – флаг услуга по расписанию или нет | ||
+ | **** '''Details''' – объект детализация услуги | ||
+ | ***** '''SubCode1''' – объект [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 1]] | ||
+ | ****** '''Key''' – ключ доп. описания 1 | ||
+ | ****** '''Value''' – название доп. описания 1 | ||
+ | ***** '''SubCode2''' – объект [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 2]] | ||
+ | ****** '''Key''' – ключ доп. описания 2 | ||
+ | ****** '''Value''' – название доп. описания 2 | ||
+ | ***** '''Date''' – дата услуги | ||
+ | ***** '''IsShowTransportPlan''' – признак показывать ли план рассадки (для автобусов) | ||
+ | ***** '''Cost''' – цена | ||
+ | ***** '''QuotaStatus''' – объект информация по квотам | ||
+ | ****** '''PlacesStatus''' – статус по квотам (есть места-1 / нет мест-2 / под запрос-4) | ||
+ | ****** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ||
+ | ****** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ||
+ | ***** '''PartnerId''' – идентификатор партнера | ||
+ | ***** '''ByPax''' – признак цены за человека | ||
+ | ***** '''Partner''' – объект партнер (не заполняется) | ||
+ | ****** '''Key''' – ключ (не заполняется) | ||
+ | ****** '''Value''' – название (не заполняется) | ||
+ | **** '''ParentId''' – идентификатор родительской услуги (для вложенных услуг) | ||
+ | **** '''PartnerBasedOnServiceTemplateId''' – ключ шаблона услуги, по которой приоритетно выбирается партнер текущей услуги | ||
+ | **** '''Id''' – идентификатор услуги | ||
+ | **** '''SvKey''' – ключ типа услуги | ||
+ | **** '''IsSubCode1''' – наличие [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 1]] | ||
+ | **** '''IsSubCode2''' – наличие [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 2]] | ||
+ | **** '''IsPartnerBasedOn''' – услуга с подбором приоритетного поставщика услуги | ||
**** '''Day''' – день предоставления услуги | **** '''Day''' – день предоставления услуги | ||
**** '''DurationInNight''' – продолжительность услуги в ночах | **** '''DurationInNight''' – продолжительность услуги в ночах | ||
Строка 3095: | Строка 3277: | ||
**** '''IsRequired''' – признак обязательности заполнения поля | **** '''IsRequired''' – признак обязательности заполнения поля | ||
**** '''IsVisible''' – видимость поля (видимое) | **** '''IsVisible''' – видимость поля (видимое) | ||
− | **** '''IsDisabled''' – | + | **** '''IsDisabled''' – служебный внутренний параметр. При работе с API не используется |
**** '''Translit''' – настройки транслитерации (0 – нет, 1 – транслитерация, 2 – латиница) | **** '''Translit''' – настройки транслитерации (0 – нет, 1 – транслитерация, 2 – латиница) | ||
**** '''LetterCase''' – настройки регистра (0 – по умолчанию, 1 – с заглавной, 2 – большие, 3 – маленькие) | **** '''LetterCase''' – настройки регистра (0 – по умолчанию, 1 – с заглавной, 2 – большие, 3 – маленькие) | ||
Строка 3448: | Строка 3630: | ||
**** '''ByPax''' – цена за человека | **** '''ByPax''' – цена за человека | ||
**** '''QuotaStatus''' – объект статус квотирования | **** '''QuotaStatus''' – объект статус квотирования | ||
− | ***** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос) | + | ***** '''PlacesStatus''' – статус по квотам (есть места-1 / нет мест-2 / под запрос-4) |
***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ||
***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ||
Строка 3491: | Строка 3673: | ||
*** '''ServiceName''' – название услуги | *** '''ServiceName''' – название услуги | ||
*** '''City''' – объект город | *** '''City''' – объект город | ||
− | *** '''Country''' – ключ страны | + | *** '''Country''' – объект страна |
+ | **** '''Key''' – ключ страны | ||
+ | **** '''Value''' – название страны | ||
*** '''Code''' – объект код услуги | *** '''Code''' – объект код услуги | ||
**** '''Key''' – ключ услуги | **** '''Key''' – ключ услуги | ||
Строка 3507: | Строка 3691: | ||
**** '''Cost''' – цена | **** '''Cost''' – цена | ||
**** '''QuotaStatus''' – объект статус квотирования | **** '''QuotaStatus''' – объект статус квотирования | ||
− | ***** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос) | + | ***** '''PlacesStatus''' – статус по квотам (есть места-1 / нет мест-2 / под запрос-4) |
***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ||
***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ||
Строка 3686: | Строка 3870: | ||
"ServiceName": "Доплаты к авиаперелетам", | "ServiceName": "Доплаты к авиаперелетам", | ||
"City": null, | "City": null, | ||
− | + | "Country": { | |
+ | "Key": 90, | ||
+ | "Value": "Австрия" | ||
+ | }, | ||
"Code": { | "Code": { | ||
"Key": 357, | "Key": 357, | ||
Строка 3776: | Строка 3963: | ||
**** '''ByPax''' – цена за человека | **** '''ByPax''' – цена за человека | ||
**** '''QuotaStatus''' – объект статус квотирования | **** '''QuotaStatus''' – объект статус квотирования | ||
− | ***** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос) | + | ***** '''PlacesStatus''' – статус по квотам (есть места-1 / нет мест-2 / под запрос-4) |
***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ||
***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ||
Строка 3858: | Строка 4045: | ||
**** '''Cost''' – цена | **** '''Cost''' – цена | ||
**** '''QuotaStatus''' – объект статус квотирования | **** '''QuotaStatus''' – объект статус квотирования | ||
− | ***** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос) | + | ***** '''PlacesStatus''' – статус по квотам (есть места-1 / нет мест-2 / под запрос-4) |
***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ||
***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ||
Строка 4027: | Строка 4214: | ||
"ServiceName": "Доплаты к отелям", | "ServiceName": "Доплаты к отелям", | ||
"City": null, | "City": null, | ||
− | + | "Country": { | |
+ | "Key": 90, | ||
+ | "Value": "Австрия" | ||
+ | }, | ||
"Code": { | "Code": { | ||
"Key": 364, | "Key": 364, | ||
Строка 5198: | Строка 5388: | ||
***** '''Cost''' – разница в стоимости с самым дешевым вариантом | ***** '''Cost''' – разница в стоимости с самым дешевым вариантом | ||
***** '''QuotaStatus''' – информация о квоте | ***** '''QuotaStatus''' – информация о квоте | ||
− | ****** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос) | + | ****** '''PlacesStatus''' – статус по квотам (есть места-1 / нет мест-2 / под запрос-4) |
****** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus. | ****** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus. | ||
****** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ****** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ||
Строка 6112: | Строка 6302: | ||
* Принимаемые параметры POST запроса: | * Принимаемые параметры POST запроса: | ||
− | ** '''TourProgramId''' – ключ турпрограммы | + | ** '''TourProgramId *''' – ключ турпрограммы |
− | ** '''BeginDate''' – дата начала тура | + | ** '''BeginDate *''' – дата начала тура |
− | ** '''Duration''' – продолжительность тура | + | ** '''Duration *''' – продолжительность тура |
− | ** '''Currency''' – код валюты | + | ** '''Currency *''' – код валюты |
− | ** '''initialPrice''' – объект изначальная цена | + | ** '''initialPrice *''' – объект изначальная цена |
− | *** '''price''' – цена | + | *** '''price *''' – цена |
− | *** '''currency''' – код валюты | + | *** '''currency *''' – код валюты |
− | ** '''Services''' – массив услуг | + | ** '''Services *''' – массив услуг |
− | *** '''Service''' – объект услуги (отель/круиз, авиаперелет, трансфер или др.) | + | *** '''Service *''' – объект услуги (отель/круиз, авиаперелет, трансфер или др.) |
− | **** '''ServiceType''' – тип услуги (поле ''sv_key'' из таблицы ''service'') | + | **** '''ServiceType *''' – тип услуги (поле ''sv_key'' из таблицы ''service'') |
− | **** '''Code''' – код услуги | + | **** '''Code *''' – код услуги |
− | **** '''SubCode1''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 1]] услуги | + | **** '''SubCode1 *''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 1]] услуги |
− | **** '''SubCode2''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 2]] услуги | + | **** '''SubCode2 *''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 2]] услуги |
− | **** '''Packet''' – ключ пакета услуги | + | **** '''Packet *''' – ключ пакета услуги |
− | **** '''Partner''' – ключ партнера услуги | + | **** '''Partner *''' – ключ партнера услуги |
− | **** '''Day''' – день предоставления услуги | + | **** '''Day *''' – день предоставления услуги |
− | **** '''DurationInNight''' – продолжительность услуги в ночах | + | **** '''DurationInNight *''' – продолжительность услуги в ночах |
− | **** '''City''' – ключ города | + | **** '''City *''' – ключ города |
− | **** '''Country''' – страна услуги | + | **** '''Country *''' – страна услуги |
− | **** '''Attributes''' – битовая маска атрибутов услуг | + | **** '''Attributes *''' – битовая маска атрибутов услуг (Значение по умолчанию 0. Дальше в зависимости от признака услуги, может принимать значениz: |
− | + | None = 0,если услуга удаляемая, эта настройка находится в программе туров,</br> | |
− | + | Delete = 1,</br> | |
− | + | CodeEdit = 2,</br> | |
− | + | SubCode1Edit = 4,</br> | |
− | + | CityEdit = 8,</br> | |
− | + | PartnerEdit = 16,</br> | |
− | + | BadCheck = 32,</br> | |
− | + | Invisible = 64, отображаемая</br> | |
− | + | DurationEdit = 128,</br> | |
− | + | FullEdit = Delete | CodeEdit | SubCode1Edit | SubCode2Edit | CityEdit | PartnerEdit | DurationEdit,</br> | |
− | + | Host = 256,</br> | |
− | + | HostChangeCode2 = Host | 512,</br> | |
− | + | HostChangeCode1 = Host | 1024,</br> | |
− | **** ''' | + | HostChangeCode = Host | 2048,</br> |
− | **** ''' | + | HostChangePartner = Host | 4096,</br> |
− | **** ''' | + | HostChangePacket = Host | 8192,</br> |
− | **** ''' | + | Depended = 16384,</br> |
− | **** ''' | + | DependedCode2 = Depended | 512,</br> |
− | + | DependedCode1 = Depended | 1024,</br> | |
− | + | DependedCode = Depended | 2048,</br> | |
− | + | DependedCity = Depended | 4096,</br> | |
− | + | DependedCountry = Depended | 8192,</br> | |
− | ***** ''' | + | FullDepended = Depended | DependedCode2 | DependedCode1 | DependedCode | DependedCity | DependedCountry,</br> |
− | ***** ''' | + | NotCalculate = 32768,не рассчитываемая,</br> |
− | + | SubCode2Edit = 65536,</br> | |
− | + | GDSService = 131072, от внешней системы)</br> | |
− | ***** ''' | + | **** ''' *IsRemovable''' – (не обрабатывается) |
− | + | **** ''' *Type''' – тип услуги в путевке. Может принимать значения: | |
− | + | None (0) – не установлено,</br> | |
− | *** ''' | + | Base (1) – базовая услуга. Основные услуги в корзине, проживание, перелет.</br> |
− | *** ''' | + | Optional (2) – Дополнительная услуга,</br> |
− | *** ''' | + | NYDinner (4) – Новогодний ужин,</br> |
− | *** ''' | + | FlightAdditionalPayment (8) – Доплата на перелет,</br> |
− | *** ''' | + | TourWebDifference (16) – Разница в СПО,</br> |
− | *** ''' | + | AddedByCalculator (32) – Добавленная при рассчете путевки,</br> |
− | *** ''' | + | AddedByReservationBuilder (64) – добавленная услуга при формировании состава путевки,</br> |
− | *** ''' | + | BaseChanged (128) – базовая измененная услуга,</br> |
− | *** ''' | + | HotelAdditionalPayment (256) – доплата на отель</br> |
− | *** ''' | + | **** '''IsHooded *''' – признак скрытая услуга |
− | *** ''' | + | **** '''IsNotCalculated *''' – признак не рассчитываемая услуга |
− | *** ''' | + | **** '''BeginDateTimeString *''' – дата и время начала услуги |
− | *** ''' | + | **** '''EndDateTimeString *''' – дата и время окончания услуги |
− | + | **** '''TemplateId *''' – порядок расположения шаблона услуги в внутри самой услуги в программе тура | |
− | *** ''' | + | [[Файл: Ea_491.png|600px|индекс шаблона услуги]]</br> |
− | + | **** '''Cost *''' – цена услуги | |
− | + | **** '''ByPax *''' – цена за человека | |
− | *** ''' | + | **** '''QuotaStatus *''' – объект статус квотирования |
− | *** ''' | + | ***** '''PlacesStatus *''' – статус по квотам (есть места / нет мест / под запрос) |
− | *** ''' | + | ***** '''FreePlaces *''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. |
− | *** ''' | + | ***** '''IsFewPlaces *''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. |
− | *** ''' | + | **** '''Index *''' – индекс услуги |
− | *** ''' | + | **** '''IsRoute *''' – признак маршрутная услуга (Перелет, автобусный переезд, жд переезд, трансфер, экскурсия) |
− | *** ''' | + | **** '''ServiceTemplateIndex *''' – индекс шаблона услуги (Порядок расположения услуги в программе тура. Не отображается в программе туров,это просто порядковый номер услуги в путевке) |
− | *** ''' | + | [[Файл: Ea_490.png|600px|индекс шаблона услуги]]</br> |
− | *** ''' | + | **** '''RemoteId *''' – информация об услуге во внешней системе |
− | *** ''' | + | **** '''IsCommission *''' – признак, комиссионная ли услуга |
− | *** ''' | + | **** '''BaseFlightsParams *''' – параметры рассчитанных авиаперелетов ''Обязательный параметр, если в путевке есть услуга авиаперелета'' |
− | *** ''' | + | ***** '''CityArrival *''' – ключ города прибытия прямого перелета |
− | *** ''' | + | ***** '''FlightCode *''' – ключ прямого авиаперелета |
− | ** ''' | + | ***** '''TariffKey *''' – ключ тарифа прямого авиаперелета |
− | ** ''' | + | ***** '''PartnerId *''' – ключ партнера прямого авиаперелета |
− | ** ''' | + | ***** '''CityArrival *''' – ключ города прибытия обратного перелета |
− | ** ''' | + | ***** '''FlightCode *''' – ключ обратного авиаперелета |
− | ** ''' | + | ***** '''TariffKey *''' – ключ тарифа обратного авиаперелета |
− | ** ''' | + | ***** '''PartnerId *''' – ключ партнера обратного авиаперелета |
− | ** ''' | + | *** '''TouristNumbersList *''' – массив туристов, привязанных к услуге |
− | ** ''' | + | ** '''Tourists *''' – массив туристов. Для того, чтобы узнать, какие поля обязательные для туриста, мы можем обратиться к методу [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Выгрузка настройки отображения полей по туристам (TouristDataSettings)|TouristDataSettings]] по определенной стране. В каждом объекте есть поле '''IsRequired''', которое отвечает за то, будет ли оно обязательным для заполнения или его можно оставить с пустым значением. |
− | + | *** '''IsMain *''' – главный турист | |
− | + | *** '''Number *''' – порядковый номер туриста | |
− | * Возвращаемый результат: | + | *** '''AgeType *''' – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант) |
− | ** '''IsValid''' – признак валидности путевки | + | *** '''MaleFemaleSex *''' – пол (0 – мужской, 1 – женский) |
− | ** '''ErrorMessage''' – сообщение об ошибке, если есть | + | *** '''FirstName *''' – имя (лат) |
− | ** '''CalculatedReservation''' – объект рассчитанной путевки | + | *** '''LastName *''' – фамилия (лат) |
− | *** '''TourKey''' – ключ тура | + | *** '''Patronymic *''' – отчество (лат) |
− | *** '''BeginDate''' – дата начала тура | + | *** '''FirstNameRus *''' – имя (рус) |
− | *** '''Duration''' – продолжительность путевки в днях | + | *** '''LastNameRus *''' – фамилия (рус) |
− | *** '''Currency''' – код валюты тура | + | *** '''PatronymicRus *''' – отчество (рус) |
− | *** '''CalculatedServicesPrice''' – сумма обязательных услуг, входящих в состав тура | + | *** '''InternationalPassportSeries *''' – серия загранпаспорта |
− | *** '''ChangedPrice''' – сумма, на которую изменилась итоговая стоимость '''TotalPrice''' в результате добавления обязательных и дополнительных услуг | + | *** '''InternationalPassportNumber *''' – номер загранпаспорта |
+ | *** '''InternationalPassportDateOfIssue *''' – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz) | ||
+ | *** '''InternationalPassportDateOfIssueString *''' – дата выдачи загранпаспорта в строке (DD.MM.YYYY) | ||
+ | *** '''InternationalPassportDateOfExpiry *''' – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz) | ||
+ | *** '''InternationalPassportDateOfExpiryString *''' – дата окончания действия загранпаспорта в строке (DD.MM.YYYY) | ||
+ | *** '''internationalPassportByWhom *''' – кем выдан загранпаспорт | ||
+ | *** '''PassportSeries *''' – серия паспорта | ||
+ | *** '''PassportNumber *''' – номер паспорта | ||
+ | *** '''PassportDateOfIssue *''' – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz) | ||
+ | *** '''PassportDateOfIssueString *''' – дата выдачи паспорта строковом формате (DD.MM.YYYY) | ||
+ | *** '''PassportByWhom *''' – кем выдан паспорт | ||
+ | *** '''Citizenship *''' – название страны | ||
+ | *** '''Phone *''' – телефон | ||
+ | *** '''Email *''' – e-mail | ||
+ | *** '''BirthDay *''' – дата рождения (YYYY-MM-DDThh:mm:ssz) | ||
+ | *** '''BirthDayString *''' – дата рождения в строковом формате (DD.MM.YYYY) | ||
+ | *** '''BirthPlace *''' – место рождения | ||
+ | *** '''CitizenID *''' – гражданство | ||
+ | *** '''Age *''' – количество полных лет на момент окончания тура | ||
+ | ** '''Day *''' – день (перевод) ''Может быть с пустым значением'' | ||
+ | ** '''Day2 *''' – дня (перевод) ''Может быть с пустым значением'' | ||
+ | ** '''Days *''' – дней (перевод) ''Может быть с пустым значением'' | ||
+ | ** '''Night *''' – ночь (перевод) ''Может быть с пустым значением'' | ||
+ | ** '''Night2 *''' – ночи (перевод) ''Может быть с пустым значением'' | ||
+ | ** '''Nights *''' – ночей (перевод) ''Может быть с пустым значением'' | ||
+ | ** '''adultsCountOverServiceLimit *''' – Количество взрослых туристов превышает лимит услуги (перевод) ''Может быть с пустым значением'' | ||
+ | ** '''at *''' – на (перевод) ''Может быть с пустым значением'' | ||
+ | ** '''incorrectChildrenInf *''' – Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание) (перевод) ''Может быть с пустым значением'' | ||
+ | |||
+ | * Возвращаемый результат: | ||
+ | ** '''IsValid''' – признак валидности путевки | ||
+ | ** '''ErrorMessage''' – сообщение об ошибке, если есть | ||
+ | ** '''CalculatedReservation''' – объект рассчитанной путевки | ||
+ | *** '''TourKey''' – ключ тура | ||
+ | *** '''BeginDate''' – дата начала тура | ||
+ | *** '''Duration''' – продолжительность путевки в днях | ||
+ | *** '''Currency''' – код валюты тура | ||
+ | *** '''CalculatedServicesPrice''' – сумма обязательных услуг, входящих в состав тура | ||
+ | *** '''ChangedPrice''' – сумма, на которую изменилась итоговая стоимость '''TotalPrice''' в результате добавления обязательных и дополнительных услуг | ||
*** '''Price''' – итоговая стоимость тура для агентства, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг - партнерская комиссия (в валюте тура) | *** '''Price''' – итоговая стоимость тура для агентства, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг - партнерская комиссия (в валюте тура) | ||
*** '''TotalPrice''' – итоговая стоимость тура для туриста, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг (в валюте тура) | *** '''TotalPrice''' – итоговая стоимость тура для туриста, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг (в валюте тура) | ||
Строка 6504: | Строка 6732: | ||
* Принимаемые параметры PUT запроса: | * Принимаемые параметры PUT запроса: | ||
− | ** '''TourProgramId''' – ключ турпрограммы | + | ** '''TourProgramId *''' – ключ турпрограммы |
− | ** '''BeginDate''' – дата начала тура (YYYY-MM-DDThh:mm:ss) | + | ** '''BeginDate *''' – дата начала тура (YYYY-MM-DDThh:mm:ss) |
− | ** '''Duration''' – продолжительность тура | + | ** '''Duration *''' – продолжительность тура |
− | ** '''Currency''' – код валюты | + | ** '''Currency *''' – код валюты |
− | ** '''Services''' – массив услуг | + | ** '''Services *''' – массив услуг |
− | *** '''Service''' – объект услуги (отель/круиз, авиаперелет, трансфер или др.) | + | *** '''Service *''' – объект услуги (отель/круиз, авиаперелет, трансфер или др.) |
− | **** '''ServiceType''' – тип услуги (поле ''sv_key'' из таблицы ''service'') | + | **** '''ServiceType *''' – тип услуги (поле ''sv_key'' из таблицы ''service'') |
− | **** '''Code''' – код услуги | + | **** '''Code *''' – код услуги |
− | **** '''SubCode1''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 1]] услуги | + | **** '''SubCode1 *''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 1]] услуги |
− | **** '''SubCode2''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 2]] услуги | + | **** '''SubCode2 *''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 2]] услуги |
− | **** '''Packet''' – ключ пакета услуги | + | **** '''Packet *''' – ключ пакета услуги |
− | **** '''Partner''' – ключ партнера услуги | + | **** '''Partner *''' – ключ партнера услуги |
− | **** '''Day''' – день предоставления услуги | + | **** '''Day *''' – день предоставления услуги |
− | **** '''DurationInNight''' – продолжительность услуги в ночах | + | **** '''DurationInNight *''' – продолжительность услуги в ночах |
− | **** '''City''' – ключ города | + | **** '''City *''' – ключ города |
− | **** '''Country''' – страна услуги | + | **** '''Country *''' – страна услуги |
− | **** '''Attributes''' – битовая маска атрибутов услуг | + | **** '''Attributes *''' – битовая маска атрибутов услуг |
− | **** '''IsRemovable''' – (не обрабатывается) | + | **** '''IsRemovable *''' – (не обрабатывается) |
− | **** '''Type''' – тип услуги в путевке (базовая дополнительная) | + | **** '''Type *''' – тип услуги в путевке (базовая дополнительная) |
− | **** '''IsHooded''' – признак скрытая услуга | + | **** '''IsHooded *''' – признак скрытая услуга |
− | **** '''IsNotCalculated''' – признак не рассчитываемая услуга | + | **** '''IsNotCalculated *''' – признак не рассчитываемая услуга |
− | **** '''BeginDateTimeString''' – дата и время начала услуги | + | **** '''BeginDateTimeString *''' – дата и время начала услуги |
− | **** '''EndDateTimeString''' – дата и время окончания услуги | + | **** '''EndDateTimeString *''' – дата и время окончания услуги |
− | **** '''TemplateId''' – шаблон услуги | + | **** '''TemplateId *''' – шаблон услуги |
− | **** '''Cost''' – цена услуги | + | **** '''Cost *''' – цена услуги |
− | **** '''ByPax''' – цена за человека | + | **** '''ByPax *''' – цена за человека |
− | **** '''QuotaStatus''' – объект статус квотирования | + | **** '''QuotaStatus *''' – объект статус квотирования |
− | ***** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос) | + | ***** '''PlacesStatus *''' – статус по квотам (есть места-1 / нет мест-2 / под запрос-4) |
− | ***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | + | ***** '''FreePlaces *''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. |
− | ***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | + | ***** '''IsFewPlaces *''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. |
− | **** '''Index''' – индекс услуги | + | **** '''Index *''' – индекс услуги |
− | **** '''IsRoute''' – признак маршрутная услуга | + | **** '''IsRoute *''' – признак маршрутная услуга |
− | **** '''ServiceTemplateIndex''' – индекс шаблона услуги | + | **** '''ServiceTemplateIndex *''' – индекс шаблона услуги |
− | **** '''RemoteId''' – информация об услуге во внешний системе | + | **** '''RemoteId *''' – информация об услуге во внешний системе |
− | **** '''IsCommission''' – признак, комиссионная ли услуга | + | **** '''IsCommission *''' – признак, комиссионная ли услуга |
− | **** '''BaseFlightsParams''' – параметры рассчитанных авиаперелетов | + | **** '''BaseFlightsParams *''' – параметры рассчитанных авиаперелетов ''Обязательный параметр, если в путевке есть услуга авиаперелета'' |
− | ***** '''CityArrival''' – ключ города прибытия прямого перелета | + | ***** '''CityArrival *''' – ключ города прибытия прямого перелета |
− | ***** '''FlightCode''' – ключ прямого авиаперелета | + | ***** '''FlightCode *''' – ключ прямого авиаперелета |
− | ***** '''TariffKey''' – ключ тарифа прямого авиаперелета | + | ***** '''TariffKey *''' – ключ тарифа прямого авиаперелета |
− | ***** '''PartnerId''' – ключ партнера прямого авиаперелета | + | ***** '''PartnerId *''' – ключ партнера прямого авиаперелета |
− | ***** '''CityArrival''' – ключ города прибытия обратного перелета | + | ***** '''CityArrival *''' – ключ города прибытия обратного перелета |
− | ***** '''FlightCode''' – ключ обратного авиаперелета | + | ***** '''FlightCode *''' – ключ обратного авиаперелета |
− | ***** '''TariffKey''' – ключ тарифа обратного авиаперелета | + | ***** '''TariffKey *''' – ключ тарифа обратного авиаперелета |
− | ***** '''PartnerId''' – ключ партнера обратного авиаперелета | + | ***** '''PartnerId *''' – ключ партнера обратного авиаперелета |
− | *** '''TouristNumbersList''' – массив туристов, привязанных к услуге | + | *** '''TouristNumbersList *''' – массив туристов, привязанных к услуге |
− | ** '''Tourists''' – массив туристов | + | ** '''Tourists *''' – массив туристов. Для того, чтобы узнать, какие поля обязательные для туриста, мы можем обратиться к методу [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Выгрузка настройки отображения полей по туристам (TouristDataSettings)|TouristDataSettings]] по определенной стране. В каждом объекте есть поле '''IsRequired''', которое отвечает за то, будет ли оно обязательным для заполнения или его можно оставить с пустым значением. |
− | + | *** '''IsMain *''' – главный турист | |
− | + | *** '''Number *''' – порядковый номер туриста | |
− | *** ''' | + | *** '''AgeType *''' – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант) |
− | *** ''' | + | *** '''MaleFemaleSex *''' – пол (0 – мужской, 1 – женский) |
− | *** ''' | + | *** '''FirstName *''' – имя (лат) |
− | *** ''' | + | *** '''LastName *''' – фамилия (лат) |
− | *** ''' | + | *** '''Patronymic *''' – отчество (лат) |
− | *** ''' | + | *** '''FirstNameRus *''' – имя (рус) |
− | *** ''' | + | *** '''LastNameRus *''' – фамилия (рус) |
− | *** ''' | + | *** '''PatronymicRus *''' – отчество (рус) |
− | *** ''' | + | *** '''InternationalPassportSeries *''' – серия загранпаспорта |
− | *** ''' | + | *** '''InternationalPassportNumber *''' – номер загранпаспорта |
− | *** ''' | + | *** '''InternationalPassportDateOfIssue *''' – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz) |
− | *** ''' | + | *** '''InternationalPassportDateOfIssueString *''' – дата выдачи загранпаспорта в строковом формате (DD.MM.YYYY) |
− | + | *** '''InternationalPassportDateOfExpiry *''' – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz) | |
− | *** ''' | + | *** '''InternationalPassportDateOfExpiryString *''' – дата окончания действия загранпаспорта в строковом формате (DD.MM.YYYY) |
− | *** ''' | + | *** '''internationalPassportByWhom *''' – кем выдан загранпаспорт |
− | *** ''' | + | *** '''PassportSeries *''' – серия паспорта |
− | + | *** '''PassportNumber *''' – номер паспорта | |
− | *** ''' | + | *** '''PassportDateOfIssue *''' – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz) |
− | *** ''' | + | *** '''PassportDateOfIssueString *''' – дата выдачи паспорта в строковом формате (DD.MM.YYYY) |
− | *** ''' | + | *** '''PassportByWhom *''' – кем выдан паспорт |
− | *** ''' | + | *** '''Citizenship *''' – название страны |
− | + | *** '''Phone *''' – телефон | |
− | *** ''' | + | *** '''Email *''' – e-mail |
− | *** ''' | + | *** '''BirthDay *''' – дата рождения (YYYY-MM-DDThh:mm:ssz) |
− | *** ''' | + | *** '''BirthDayString *''' – дата рождения в строковом формате (DD.MM.YYYY) |
− | + | *** '''BirthPlace *''' – место рождения | |
− | *** ''' | + | *** '''CitizenID *''' – ID туриста (задается в карточке постоянного клиента) |
− | *** ''' | + | *** '''Age *''' – количество полных лет на момент окончания тура |
− | ** ''' | + | ** '''BranchId *''' – ключ филиала бронирования (начиная с релиза 15.3). Если не передан, то филиал бронирования берется из менеджера по умолчанию либо из пользователя, создавшего тур. ''Может быть с пустым значением'' |
− | + | ** '''OwnerId *''' – ключ ведущего менеджера (начиная с релиза 15.3). Если 0, то берется по умолчанию. Если по умолчанию не указан, то берется создатель тура. ''Может быть с пустым значением'' | |
− | + | ** '''Day *''' – день (перевод) ''Может быть с пустым значением'' | |
− | ** ''' | + | ** '''Day2 *''' – дня (перевод) ''Может быть с пустым значением'' |
− | + | ** '''Days *''' – дней (перевод) ''Может быть с пустым значением'' | |
− | ** ''' | + | ** '''Night *''' – ночь (перевод) ''Может быть с пустым значением'' |
− | + | ** '''Night2 *''' – ночи (перевод) ''Может быть с пустым значением'' | |
− | + | ** '''Nights *''' – ночей (перевод) ''Может быть с пустым значением'' | |
− | ** ''' | + | ** '''adultsCountOverServiceLimit *''' – Количество взрослых туристов превышает лимит услуги (перевод) ''Может быть с пустым значением'' |
− | * | + | ** '''incorrectChildrenInf *''' – Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание) (перевод) ''Может быть с пустым значением'' |
− | + | ||
* Возвращаемый результат: | * Возвращаемый результат: | ||
** '''Reservation''' – объект путевки | ** '''Reservation''' – объект путевки | ||
Строка 6611: | Строка 6839: | ||
*** '''Discount''' – величина скидки на одного человека | *** '''Discount''' – величина скидки на одного человека | ||
*** '''DiscountSum''' – абсолютная величина скидки | *** '''DiscountSum''' – абсолютная величина скидки | ||
− | *** '''SORCode''' – ключ статус путевки | + | *** '''SORCode''' – ключ статус путевки, возможные значения: 0-в работе, 1-не определён, 2-аннулирован, 3-wait лист, 7-ок. |
*** '''CrDate''' – дата и время создания путевки | *** '''CrDate''' – дата и время создания путевки | ||
*** '''Rate''' – код валюты путевки | *** '''Rate''' – код валюты путевки | ||
Строка 6938: | Строка 7166: | ||
"Phone": "", | "Phone": "", | ||
"Email": "", | "Email": "", | ||
− | "BirthDay": " | + | "BirthDay": "1980-01-01T00:00:00.000Z", |
"BirthDayString": "01.01.1980", | "BirthDayString": "01.01.1980", | ||
"BirthPlace": "Москва", | "BirthPlace": "Москва", | ||
Строка 6969: | Строка 7197: | ||
"Phone": "", | "Phone": "", | ||
"Email": "", | "Email": "", | ||
− | "BirthDay": " | + | "BirthDay": "1981-01-01T00:00:00.000Z", |
"BirthDayString": "01.01.1981", | "BirthDayString": "01.01.1981", | ||
"BirthPlace": "Москва", | "BirthPlace": "Москва", | ||
Строка 7438: | Строка 7666: | ||
** '''Discount''' – величина скидки на одного человека | ** '''Discount''' – величина скидки на одного человека | ||
** '''DiscountSum''' – абсолютная величина скидки | ** '''DiscountSum''' – абсолютная величина скидки | ||
− | ** '''SORCode''' – ключ статус путевки | + | ** '''SORCode''' – ключ статус путевки, возможные значения: 0-в работе, 1-не определён, 2-аннулирован, 3-wait лист, 7-ок. |
** '''CrDate''' – дата и время создания путевки | ** '''CrDate''' – дата и время создания путевки | ||
** '''Rate''' – код валюты путевки | ** '''Rate''' – код валюты путевки | ||
Строка 8600: | Строка 8828: | ||
</div></div><br /> | </div></div><br /> | ||
− | === | + | ====Отображение картинки в браузере (GetImage)==== |
− | + | Данный метод реализован не на API, а внутри самого приложения (Canary или TourSearchClient) и отображает картинку, полученную в методе [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Выгрузка картинки по отелю (HotelImages)|HotelImages]]. | |
* Формат запроса: | * Формат запроса: | ||
− | ** GET .../TourSearchOwin/TourImages? | + | ** http://localhost/Canary/Image/GetImage? |
+ | |||
+ | * Принимаемые параметры ( * – обязательный): | ||
+ | ** '''code *''' – ключ отеля | ||
+ | ** '''type *''' – размер картинки (возможные значения: ''small1'', ''small160x90'', ''medium'', ''big'') | ||
+ | ** '''name *''' – название файла (берется из метода [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Выгрузка картинки по отелю (HotelImages)|HotelImages]]) | ||
+ | ** '''imageType *''' – тип картинки (возможные значения: ''hotels'', ''tours'') | ||
+ | |||
+ | * Возвращаемый результат: | ||
+ | ** изображение картинки отеля | ||
+ | |||
+ | <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> | ||
+ | Вызов метода GetImage | ||
+ | <syntaxhighlight lang="java" enclose="div"> | ||
+ | http://localhost/Canary/Image/GetImage?code=134049&type=small160x90&name=PalaceResort.webp&imageType=hotels | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | Возвращаемый результат метода GetImage и виде картинки | ||
+ | </TD></TR></TABLE> | ||
+ | </div></div><br /> | ||
+ | |||
+ | ===Выгрузка картинки по туру (TourImages)=== | ||
+ | Метод выгружает картинки по туру. | ||
+ | * Формат запроса: | ||
+ | ** GET .../TourSearchOwin/TourImages? | ||
* Принимаемые параметры ( * – обязательный): | * Принимаемые параметры ( * – обязательный): | ||
** '''tourKeys *''' – ключ тура (можно передать несколько ключей тура, каждый раз указывая параметр ''tourKeys'') | ** '''tourKeys *''' – ключ тура (можно передать несколько ключей тура, каждый раз указывая параметр ''tourKeys'') | ||
Строка 8635: | Строка 8889: | ||
{ | { | ||
"Key": 51, | "Key": 51, | ||
− | "Description": " | + | "Description": "Вид из космоса", |
"Priority": 2, | "Priority": 2, | ||
"Name": "Вид из космоса.jpg", | "Name": "Вид из космоса.jpg", | ||
Строка 8643: | Строка 8897: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | </TD></TR></TABLE> | ||
+ | </div></div><br /> | ||
+ | |||
+ | ====Отображение картинки в браузере (GetImage)==== | ||
+ | Данный метод реализован не на API, а внутри самого приложения (Canary или TourSearchClient) и отображает картинку, полученную в методе [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Выгрузка картинки по туру (TourImages)|TourImages]]. | ||
+ | * Формат запроса: | ||
+ | ** http://localhost/Canary/Image/GetImage? | ||
+ | |||
+ | * Принимаемые параметры ( * – обязательный): | ||
+ | ** '''code *''' – ключ тура | ||
+ | ** '''type *''' – размер картинки (возможные значения: ''small1'', ''small160x90'', ''medium'', ''big'') | ||
+ | ** '''name *''' – название файла (берется из метода [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Выгрузка картинки по туру (TourImages)|TourImages]]) | ||
+ | ** '''imageType *''' – тип картинки (возможные значения: ''hotels'', ''tours'') | ||
+ | |||
+ | * Возвращаемый результат: | ||
+ | ** изображение картинки отеля | ||
+ | |||
+ | <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> | ||
+ | Вызов метода GetImage | ||
+ | <syntaxhighlight lang="java" enclose="div"> | ||
+ | http://localhost/Canary/Image/GetImage?code=005485049&type=small160x90&name=TheBestTour.webp&imageType=tours | ||
+ | </syntaxhighlight> | ||
+ | Возвращаемый результат метода GetImage и виде картинки | ||
</TD></TR></TABLE> | </TD></TR></TABLE> | ||
</div></div><br /> | </div></div><br /> | ||
Строка 9512: | Строка 9791: | ||
** '''departureCity *''' – ключ города отправления (из контроллера [[#Выгрузка городов отправления в оформлении клиентов (RegistrationClientsDepartureCities)|''.../TourSearchOwin/RegistrationClientsDepartureCities?'']]) | ** '''departureCity *''' – ключ города отправления (из контроллера [[#Выгрузка городов отправления в оформлении клиентов (RegistrationClientsDepartureCities)|''.../TourSearchOwin/RegistrationClientsDepartureCities?'']]) | ||
** '''destination *''' – ключ страны (из контроллера [[#Выгрузка стран в оформлении клиентов (RegistrationClientsDestination)|''.../TourSearchOwin/RegistrationClientsDestination?'']]) | ** '''destination *''' – ключ страны (из контроллера [[#Выгрузка стран в оформлении клиентов (RegistrationClientsDestination)|''.../TourSearchOwin/RegistrationClientsDestination?'']]) | ||
− | ** '''destinationType *''' – тип результата ( | + | ** '''destinationType *''' – тип результата (параметр не изменяемый, когда результат возвращается в JSON, то значение будет = 1, когда результат возвращается в xml, то значение будет = country). Зависит от программы, которая возвращает результат. |
** '''term *''' – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой) | ** '''term *''' – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой) | ||
** '''individualTitle ''' – перевод для программы тура с ключом 0 (Индивидуально) | ** '''individualTitle ''' – перевод для программы тура с ключом 0 (Индивидуально) | ||
Строка 9598: | Строка 9877: | ||
** '''PageSize *''' – количество возвращаемых результатов на одной странице (возвращается 20) | ** '''PageSize *''' – количество возвращаемых результатов на одной странице (возвращается 20) | ||
** '''isFromBasket *''' – всегда false | ** '''isFromBasket *''' – всегда false | ||
− | ** '''isFillSecondaryFilters | + | ** '''isFillSecondaryFilters''' – заполнены ли дополнительные фильтры (по умолчанию всегда приходит true). Служебный внутренний параметр. При работе с API не используется. |
− | ** '''DestinationType *''' – тип результата ( | + | ** '''DestinationType *''' – тип результата (параметр не изменяемый, когда результат возвращается в JSON, то значение будет = 1, когда результат возвращается в xml, то значение будет = country). Зависит от программы, которая возвращает результат. |
** '''DestinationKey *''' – идентификатор страны прибытия (из контроллера [[#Выгрузка стран в оформлении клиентов (RegistrationClientsDestination)|''.../TourSearchOwin/RegistrationClientsDestination?'']]) | ** '''DestinationKey *''' – идентификатор страны прибытия (из контроллера [[#Выгрузка стран в оформлении клиентов (RegistrationClientsDestination)|''.../TourSearchOwin/RegistrationClientsDestination?'']]) | ||
** '''AdultCount *''' – количество взрослых | ** '''AdultCount *''' – количество взрослых | ||
Строка 9707: | Строка 9986: | ||
***** '''Key''' – ключ города | ***** '''Key''' – ключ города | ||
***** '''Value''' – название города | ***** '''Value''' – название города | ||
− | **** '''Country''' – ключ страны | + | **** '''Country''' – объект страна |
+ | ***** '''Key''' – ключ страны | ||
+ | ***** '''Value''' – название страны | ||
**** '''Code''' – объект код услуги | **** '''Code''' – объект код услуги | ||
***** '''Key''' – ключ услуги | ***** '''Key''' – ключ услуги | ||
Строка 9863: | Строка 10 144: | ||
****** '''settings''' – | ****** '''settings''' – | ||
****** '''enabled''' – | ****** '''enabled''' – | ||
− | |||
**** '''Type''' – тип справочника (используется для внутренних целей) | **** '''Type''' – тип справочника (используется для внутренних целей) | ||
*** '''TourDurations''' – продолжительность тура | *** '''TourDurations''' – продолжительность тура | ||
Строка 9927: | Строка 10 207: | ||
"Value": "Москва" | "Value": "Москва" | ||
}, | }, | ||
− | " | + | "Country": { |
+ | "Key": 90, | ||
+ | "Value": "Австрия" | ||
+ | }, | ||
"Services": [ | "Services": [ | ||
{ | { | ||
Строка 10 221: | Строка 10 504: | ||
"Value": "Санто-Доминго" | "Value": "Санто-Доминго" | ||
}, | }, | ||
− | "Country": 6245, | + | "Country": { |
+ | "Key": 6245, | ||
+ | "Value": "Испания" | ||
+ | }, | ||
"Code": { | "Code": { | ||
"Key": 743, | "Key": 743, | ||
Строка 10 424: | Строка 10 710: | ||
} | } | ||
}, | }, | ||
− | |||
"Type": "TourProgram" | "Type": "TourProgram" | ||
} | } | ||
Строка 10 891: | Строка 11 176: | ||
** '''ShowToursWithoutHotels''' – показывать ли туры без проживания | ** '''ShowToursWithoutHotels''' – показывать ли туры без проживания | ||
** '''isFromBasket *''' – происходит ли обращение из корзины или из поиска туров (true/false). | ** '''isFromBasket *''' – происходит ли обращение из корзины или из поиска туров (true/false). | ||
− | ** '''isFillSecondaryFilters | + | ** '''isFillSecondaryFilters''' – заполнены ли дополнительные фильтры (по умолчанию всегда приходит true). Служебный внутренний параметр. При работе с API не используется. |
− | ** '''DestinationType *''' – тип результата ( | + | ** '''DestinationType *''' – тип результата (параметр не изменяемый, когда результат возвращается в JSON, то значение будет = 1, когда результат возвращается в xml, то значение будет = country). Зависит от программы, которая возвращает результат. |
** '''DestinationKey *''' – идентификатор страны прибытия (полученный из метода ''.../TourSearchOwin/Destination?'') | ** '''DestinationKey *''' – идентификатор страны прибытия (полученный из метода ''.../TourSearchOwin/Destination?'') | ||
** '''AdultCount *''' – количество взрослых | ** '''AdultCount *''' – количество взрослых | ||
Строка 11 107: | Строка 11 392: | ||
***** '''Cost''' – разница в стоимости с самым дешевым вариантом | ***** '''Cost''' – разница в стоимости с самым дешевым вариантом | ||
***** '''QuotaStatus''' – информация о квоте | ***** '''QuotaStatus''' – информация о квоте | ||
− | ****** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос) | + | ****** '''PlacesStatus''' – статус по квотам (есть места-1 / нет мест-2 / под запрос-4) |
****** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ****** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ||
****** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ****** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ||
Строка 11 242: | Строка 11 527: | ||
***** '''settings''' – массив ключей чартеров CharterIds и ServiceId, PatternId, FlightId | ***** '''settings''' – массив ключей чартеров CharterIds и ServiceId, PatternId, FlightId | ||
***** '''enabled''' – флаг включен/выключен | ***** '''enabled''' – флаг включен/выключен | ||
− | |||
**** '''IsMultiHotel''' – | **** '''IsMultiHotel''' – | ||
**** '''Type''' – тип справочника (используется для внутренних целей) | **** '''Type''' – тип справочника (используется для внутренних целей) | ||
Строка 11 988: | Строка 12 272: | ||
} | } | ||
}, | }, | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
"IsMultiHotel": false, | "IsMultiHotel": false, | ||
"Type": "TourProgram" | "Type": "TourProgram" | ||
Строка 12 473: | Строка 12 700: | ||
**** '''ByPax''' – цена за человека | **** '''ByPax''' – цена за человека | ||
**** '''QuotaStatus''' – объект статус квотирования | **** '''QuotaStatus''' – объект статус квотирования | ||
− | ***** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос) | + | ***** '''PlacesStatus''' – статус по квотам (есть места-1 / нет мест-2 / под запрос-4) |
***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ||
***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ||
Строка 12 937: | Строка 13 164: | ||
** '''Content-Type *''' – application/json | ** '''Content-Type *''' – application/json | ||
− | * Принимаемые параметры POST запроса ( '''*''' – обязательный): | + | * Принимаемые параметры POST запроса ( '''*''' – обязательный): |
− | ** '''adapterTypeName''' – адаптер | + | ** '''adapterTypeName''' – адаптер |
− | ** '''id''' – ключ адаптера | + | ** '''id''' – ключ адаптера |
− | ** '''apiAddress''' – api-адрес | + | ** '''apiAddress''' – api-адрес |
− | ** '''settings''' – набор настроек (у каждого адаптера индивидуальный) | + | ** '''settings''' – набор настроек (у каждого адаптера индивидуальный) |
− | *** '''Key''' – _Login | + | *** '''Key''' – _Login |
− | *** '''Value''' – логин | + | *** '''Value''' – логин |
− | *** '''Key''' – _Password | + | *** '''Key''' – _Password |
− | *** '''Value''' – пароль | + | *** '''Value''' – пароль |
− | *** '''Key''' – _UserID | + | *** '''Key''' – _UserID |
− | *** '''Value''' – ID пользователя | + | *** '''Value''' – ID пользователя |
− | ** '''licenseDateExpiry''' – дата окончания лицензии | + | ** '''licenseDateExpiry''' – дата окончания лицензии |
+ | |||
+ | * Возвращаемый результат: | ||
+ | ** '''Errors''' – описание ошибки | ||
+ | ** '''Warnings''' – предупреждение | ||
+ | ** '''States''' – статус | ||
+ | ** '''IsValid''' – результат проверки подключения (true/false) | ||
+ | |||
+ | <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> | ||
+ | Вызов метода GDSCheckConnection | ||
+ | <syntaxhighlight lang="java" enclose="div"> | ||
+ | POST http://localhost:9000/TourSearchOwin/GDSCheckConnection? HTTP/1.1 | ||
+ | Content-Type: application/json | ||
+ | { | ||
+ | "adapterTypeName": "TravelBoxAdapter", | ||
+ | "id": 5565, | ||
+ | "apiAddress": "http://dev24.desertadventur.com/", | ||
+ | "settings": [{ | ||
+ | "Key": "TravelBox_Login", | ||
+ | "Value": "Login" | ||
+ | }, { | ||
+ | "Key": "TravelBox_Password", | ||
+ | "Value": "Password" | ||
+ | }, { | ||
+ | "Key": "TravelBox_UserID", | ||
+ | "Value": "12345" | ||
+ | }, { | ||
+ | "Key": "TravelBox_CompanyCode", | ||
+ | "Value": "DA_UAE" | ||
+ | }, { | ||
+ | "Key": "TravelBox_Division", | ||
+ | "Value": "FIT_UAE" | ||
+ | }, { | ||
+ | "Key": "TravelBox_Department", | ||
+ | "Value": "FIT- Local" | ||
+ | }, { | ||
+ | "Key": "TravelBox_TouroperatorCode", | ||
+ | "Value": "54321" | ||
+ | }, { | ||
+ | "Key": "TravelBox_MaxResponses", | ||
+ | "Value": "200" | ||
+ | }, { | ||
+ | "Key": "TravelBox_AvailRatesOnly", | ||
+ | "Value": "AvailRatesOnly" | ||
+ | }, { | ||
+ | "Key": "TravelBox_CacheTimelife", | ||
+ | "Value": "10" | ||
+ | } | ||
+ | ], | ||
+ | "licenseDateExpiry": "01.01.2022" | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | Возвращаемый результат метода GDSCheckConnection (в формате JSON) | ||
+ | <syntaxhighlight lang="java" enclose="div"> | ||
+ | [{ | ||
+ | "Errors": [], | ||
+ | "Warnings": null, | ||
+ | "States": null, | ||
+ | "IsValid": true | ||
+ | }] | ||
+ | </syntaxhighlight> | ||
+ | </TD></TR></TABLE> | ||
+ | </div></div><br /> | ||
+ | |||
+ | ===Подтверждения оплаты полиса в ЕВРОИНС=== | ||
+ | Для подтверждения оплаты метод будет обращаться к внешним службам для подтверждения платежа.<br /> | ||
+ | [[Мастер-Тур(15):Программа туров. Внешние системы. Страховая компания ЕВРОИНС|Страховая компания ЕВРОИНС]] | ||
+ | |||
+ | * Формат запроса: | ||
+ | ** POST .../TourSearchOwin/EuroinsConfirmPay | ||
+ | |||
+ | * Принимаемые параметры headers ( '''*''' – обязательный): | ||
+ | ** '''Content-Type *''' – application/json | ||
+ | |||
+ | * Принимаемые параметры POST запроса ( '''*''' – обязательный): | ||
+ | ** '''policyId *''' – ID полиса | ||
+ | ** '''code *''' – код партнера | ||
+ | |||
+ | * Возвращаемый результат: | ||
+ | ** '''success: true''' – подтверждено (''код 200'') | ||
+ | ** '''error''' – описание ошибки (''код 400'') | ||
+ | |||
+ | <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> | ||
+ | Вызов метода EuroinsConfirmPay | ||
+ | |||
+ | <syntaxhighlight lang="java" enclose="div"> | ||
+ | POST localhost:9000/TourSearchOwin/EuroinsConfirmPay | ||
+ | </syntaxhighlight> | ||
+ | Content-Type: application/json | ||
+ | |||
+ | { | ||
+ | "policyId": "134574", | ||
+ | "code": "oqxKQXlOInSJqLl" | ||
+ | } | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | Возвращаемый результат метода EuroinsConfirmPay (в формате JSON) | ||
+ | <syntaxhighlight lang="java" enclose="div"> | ||
+ | Код 200: | ||
+ | { | ||
+ | "success": true | ||
+ | } | ||
− | + | Код 400: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{ | { | ||
− | + | "error": "Не удалось выполнить действие" | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
</TD></TR></TABLE> | </TD></TR></TABLE> |
Текущая версия на 17:07, 1 октября 2024
Версия статьи от 1-10-2024.
Поддерживаемые версии ПК «Мастер-Тур»: |
Содержание
- 1 Введение
- 2 Установка
- 3 Список методов
- 3.1 Авторизация (Token)
- 3.2 Выгрузка настроек службы поиска (Settings)
- 3.3 Выгрузка списка валют в онлайне (Currency)
- 3.4 Выгрузка курсов валют (CurrencyRates) начиная с 15.7
- 3.5 Выгрузка списка всех валют (getAllCurrencies)
- 3.6 Получение сконвертированных цен (convertFilterPrice)
- 3.7 Выгрузка квотируемых услуг системы (QuotedServices)
- 3.8 Выгрузка актуальных городов отправления (departureCities)
- 3.9 Выгрузка актуальных стран (Destination)
- 3.10 Выгрузка актуальных городов (ActualizeCities)
- 3.11 Выгрузка актуальных типов туров (ActualizeTourType)
- 3.12 Выгрузка актуальных дат заездов (TourDate)
- 3.13 Выгрузка актуальных продолжительностей (Duration)
- 3.14 Поиск туров (Tour)
- 3.15 Выгрузка транспортного плана (TransportPlan) до релиза 15.7 включительно
- 3.16 Выгрузка транспортного плана (TransportPlan) начиная с релиза 15.8
- 3.17 Получение дат заезда по турпрограмме
- 3.18 Получение плана транспортного средства (TransportPlan) по ключу турпрограммы и дате услуги
- 3.19 Выгрузка первоначального варианта в корзину для бронирования (Tour)
- 3.20 Выгрузка настройки отображения полей по туристам (TouristDataSettings)
- 3.21 Выгрузка услуг доплат к авиаперелетам (GetFlightsAdditionalServices)
- 3.22 Выгрузка услуг доплат к отелям (GetHotelsAdditionalServices)
- 3.23 Расчет индивидуальных услуг (CalculateIndividualServiceCosts)
- 3.24 Поиск рейсов из внешней системы (GetGDSFlights)
- 3.25 Выгрузка информации от внешнего поставщика по перелету (RebuildFlights)
- 3.26 Получение семейств тарифов авиаперелетов из внешней системы (GetGDSFlightFareFamilies)
- 3.27 Загрузка филиалов (Branches) начиная с релиза 15.3
- 3.28 Загрузка ведущих менеджеров (Users) начиная с релиза 15.3
- 3.29 Расчет путевки (CalculateReservation)
- 3.30 Бронирование путевки (CreateReservation)
- 3.31 Выгрузка информации о путевке (GetReservation)
- 3.32 Выгрузка информации о ценовых блоках (CostOfferDescriptions)
- 3.33 Получение капчи (GetCaptcha)
- 3.34 Проверка капчи (CheckCaptcha)
- 3.35 Проверка e-mail (CheckMail)
- 3.36 Проверка туриста (checkTourist)
- 3.37 Список значений параметра гражданства (Citizenships)
- 3.38 Выгрузка постоянного клиента (Client)
- 3.39 Выгрузка описаний ценовых блоков (CostOfferDescriptions)
- 3.40 Выгрузка описания по стране (CountryInfo)
- 3.41 Выгрузка картинки по отелю (HotelImages)
- 3.42 Выгрузка картинки по туру (TourImages)
- 3.43 Регистрация частного лица (PersonalRegistration)
- 3.44 Выгрузка плана рассадки (TransportPlan)
- 3.45 Выгрузка списка всех стран (Countries)
- 3.46 Выгрузка списка всех городов (Cities)
- 3.47 Выгрузка городов отправления в оформлении клиентов (RegistrationClientsDepartureCities)
- 3.48 Выгрузка стран в оформлении клиентов (RegistrationClientsDestination)
- 3.49 Выгрузка турпрограмм в оформлении клиентов (RegistrationClientsTourPrograms)
- 3.50 Выгрузка дат заезда в оформлении клиентов (RegistrationClientsTourDate)
- 3.51 Поиск туров в оформлении клиентов (Search)
- 3.52 Поиск туров онлайн (TourForWeb)
- 3.53 Проверка дублирующих туристов (CheckDoubleDogovor)
- 4 Дополнительные методы
- 4.1 Выгрузка измененных турпрограмм (TourProgram) начиная с релиза 15.3
- 4.2 Проверка построения маршрутов турпрограммы (CheckTourProgram)
- 4.3 Получение разметки формы для новой формы быстрого поиска (GetJavascriptFile)
- 4.4 Проверка подключения к внешним системам (GDSCheckConnection)
- 4.5 Подтверждения оплаты полиса в ЕВРОИНС
- 5 Приложения
Введение
Данный web-сервис служит для разработки собственного сайта туроператору на основе API.
Установка
Для работы с web-сервисом необходимо на отдающей стороне установить службу поиска.
После установки web-сервис будет доступен по адресу http://значение настройки "serviceAddress" в TourSearchOwin/"название метода" (пример: http://localhost:9000/TourSearchOwin/Settings)
Список методов
Последовательность вызова методов сервиса
Авторизация (Token)
Метод производит получение авторизационного токена (описание стандарта).
- Формат запроса:
- POST .../TourSearchOwin/Token?
- Принимаемые параметры headers ( * – обязательный):
- Content-Type * – application/x-www-form-urlencoded
- Принимаемые параметры POST запроса ( * – обязательный):
- grant_type * – текст password
- username * – логин представителя партнера или частного лица
- password * – пароль представителя партнера или частного лица
- Возвращаемый результат:
- access_token – токен
- token_type – тип токена
- expires_in – код
- userKey – ключ пользователя
- userType – тип пользователя (0 – представитель партнера, 1 – частное лицо)
- .issued – дата получения
- .expires – дата действия до
Вызов метода Token POST http://localhost:9000/TourSearchOwin/Token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
grant_type=password&username=test&password=1
Возвращаемый результат метода Token (в формате JSON) {
"access_token": "AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAdsCC8X7m9E-2bg0-uS0VfgAAAAAAAAADZgAAwAAAA-
EqAAAAAASAAACgAAAAEAAAAO4S-VrqBhQuhqliqrAKKfIgAQAAn-gfgP-rYjk-Krr1Ck2A-IGCw6FBhamUOzFxgTtk1hR-
GLMryFIH8VK5GmHdHubZWj4S7XcazGL1Kn5-VlbiYdW2ZVWpYlk638aV-XS2kpZ9YrKgViiM_x8RH5TPo4-
9LhE7V-SjiB_CP_qs58DRKcyohq3Tz9QaiFgH1Ko7O2XKjTBG7SHyQPDPYjaqg9kDxmzq0UcIT6Fm4YkDxmm9-
CW7u3cEFWcpiqKOc2VvZFKPPHc07uDOO4w9FXPhpXZwOqrJBxzhbr73RuhzPs_e-hgxKaIlsMaK5b0v5ReAMy1kuY0ebXA",",
"token_type": "bearer",
"expires_in": 1209599,
"userKey": "333",
"userType": "0",
".issued": "Thu, 05 Apr 2018 12:05:31 GMT",
".expires": "Thu, 19 Apr 2018 12:05:31 GMT"
}
|
Выгрузка настроек службы поиска (Settings)
Метод производит выгрузку настроек службы поиска.
- Формат запроса:
- GET .../TourSearchOwin/Settings?
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- ChildAgesSetting – регулируется настройкой максимальный возраст ребенка (массив возрастов, при которых турист будет считаться ребенком
- DurationSetting – регулируется настройкой максимальная продолжительность тура (массив продолжительностей, доступных в фильтрах для поиска)
- RoundServiceSetting – признак округления цены (количество знаков после запятой)
- CacheReady – статус готовности службы поиска к работе (true/false)
- EnableFiterTree – устаревшая настройка, будет убрана (по умолчанию всегда false)
- EnableActualFilters – включены ли актуальные фильтры (true/false)
- CorrectLicense – проверка лицензии (true/false)
- CorrectLicenseMessage – сообщение, если проверка лицензии не прошла
- IsCorrectUser – проверка наличия пользователя в таблице Userlist, под которым запущена служба поиска (true/false)
- IsShowCitizenAuthTourist – настройка запрашивать гражданство при регистрации частного лица (true/false)
- IsShowFewCountPlaces – настройка отображения числового значения оставшихся мест, когда достигнуто значение «Мало» (true/false)
- IsShowBusTransferPlaces – использовать фильтр наличие мест на автобусный переезд в поиске (true/false)
- UseBusSeatChecks – план рассадки автобусного переезда (0 – не отображать, 1 – отображать без проверки, 2 – отображать с проверкой)
- UseTransferSeatChecks – план рассадки трансфера (0 – не отображать, 1 – отображать без проверки, 2 – отображать с проверкой)
- IsShowFiltersByCity – отображать фильтр по городам на главной странице поиска (true/false)
- CheckRealCourses – включена ли проверка курсов реальных валют при поиске (true/false)
- CommonImagesFolderPath – путь к папке для хранения изображений
- UseApplyFiltersButton – отображать кнопку «Применить фильтры» (true/false)
- AutoSearchFiltersTimeout – задержка между выбором дополнительных фильтров и выводом результатов (в секундах)
- UseFastSearchAlgoritm – использовать быстрый алгоритм поиска (true/false)
- MaxSearchDatesCountClient – максимальное количество дат, которое будет обрабатываться в клиенте поиска
- MaxDurationsCountClient – максимальное количество продолжительностей, которое будет обрабатываться в клиенте поиска
- UseHotelCategoryGlobalCodeInDopFilter – использовать глобальные коды категорий отелей в поиске
- UsePansionGlobalCodeInDopFilter – использовать глобальные коды питаний в поиске
- CheckTouristDataInBasket – проверять корректность данных туристов
- SimpleRegistration – упрощенная регистрация частного лица
- ShowHotelImagesInSearch – показывать описание и изображения отелей в поиске
- CacheReadyMessage – сообщение о готовности службы поиска или службы расчета актуальных фильтров. Варианты возвращаемых значений:
- <add key="enableActualFilters" value="true" /> - CacheReady: true = CacheReadyMessage: "Кеш инициализирован"; CacheReady: false = CacheReadyMessage: "Кеш еще не инициализирован"
- <add key="enableActualFilters" value="false" /> - Служба актуальных фильтров недоступна (выключена, неверно указана ссылка на нее и т.п.) CacheReadyMessage: "Служба актуальных фильтров недоступна"; Служба актуальных фильтров доступна но не готова - CacheReadyMessage: "Кеш службы актуальных фильтров не инициализирован"; Служба актуальных фильтров готова, а основная служба не готова - CacheReadyMessage: "Кеш ещё не инициализирован"; Служба актуальных фильтров готова, и основная служба готова - CacheReadyMessage: "Кеш ещё инициализирован".
Вызов метода Settings GET http://localhost:9000/TourSearchOwin/Settings
Возвращаемый результат метода Settings (в формате JSON) {
"ChildAgesSetting": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16
],
"DurationSetting": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20
],
"RoundServiceSetting": 2,
"CacheReady": true,
"EnableFiterTree": false,
"EnableActualFilters": true,
"CorrectLicense": true,
"CorrectLicenseMessage": "0deb1f882da1ec6301c961780507a180",
"IsCorrectUser": true,
"IsShowCitizenAuthTourist": true,
"IsShowFewCountPlaces": true,
"IsShowBusTransferPlaces": true,
"UseBusSeatChecks": 1,
"UseTransferSeatChecks": 2,
"IsShowFiltersByCity": true,
"CheckRealCourses": true,
"CommonImagesFolderPath": "\\\\server\\Icons",
"UseApplyFiltersButton": false,
"AutoSearchFiltersTimeout": 1,
"UseFastSearchAlgoritm": true,
"MaxSearchDatesCountClient": 10,
"MaxDurationsCountClient": 14
"UseHotelCategoryGlobalCodeInDopFilter": false
"UsePansionGlobalCodeInDopFilter": false
"CheckTouristDataInBasket": true
"SimpleRegistration": false
"ShowHotelImagesInSearch": true
"CacheReadyMessage": "Кеш инициализирован"
}
|
Выгрузка списка валют в онлайне (Currency)
Метод возвращает список используемых валют.
- Формат запроса:
- GET .../TourSearchOwin/Currency
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Code – код валюты
- Name – наименование валюты
- IsMain – признак валюты «Главная»
- IsNational – признак валюты «Национальная»
- IsoCode – ISO код валюты
- IsShowInSearch – признак показывать ли валюту в поиске
- Symbol – символ валюты (обрабатывается с 15.7)
- Key – идентификатор валюты
Вызов метода Currency GET http://localhost:9000/TourSearchOwin/Currency
Возвращаемый результат метода Currency (в формате JSON) [
{
"Code": "EU",
"Name": "Euro",
"IsMain": false,
"IsNational": false,
"IsoCode": "EUR",
"IsShowInSearch": true,
"Symbol": "€",
"Key": 2
},
{
"Code": "рб",
"Name": "Рубль",
"IsMain": false,
"IsNational": true,
"IsoCode": "RUR",
"IsShowInSearch": true,
"Symbol": "₽",
"Key": 14
},
{
"Code": "$",
"Name": "US Dollar",
"IsMain": true,
"IsNational": false,
"IsoCode": "USD",
"IsShowInSearch": true,
"Symbol": "$",
"Key": 1
}
]
|
Выгрузка курсов валют (CurrencyRates) начиная с 15.7
Полный аналог метода Выгрузка курсов валют (GetCurrencyRates)
Метод возвращает список курсов валют, актуальных на дату запроса. Курсы отображаются только для тех валют, которые отмечены в справочнике признаком Отображать в онлайне
- Формат запроса:
- GET .../TourSearchOwin/CurrencyRates
- Принимаемые параметры:
- dateFrom – начальная дата, от которой вывести список курсов валют, в формате DD.MM.YYYY, не обязательный параметр
- dateTo – конечная дата, до которой вывести список курсов валют, в формате DD.MM.YYYY, не обязательный параметр
- Возвращаемый результат:
- baseCurrencyId – идентификатор национальной валюты, либо произвольной валюты, указанной в настройке basketCurrency в конфигурационном файле (обрабатывается с релиза 15.6)
- currencyId – идентификатор валюты, курс которой приводится
- rate – курс валюты (отношение currencyId к baseCurrencyId)
- date – дата, на которую был зарегистрирован выводимый курс валюты
Вызов метода CurrencyRates http://localhost:9000/TourSearchOwin/CurrencyRates?dateFrom=18.09.2024&dateTo=19.09.2024
Возвращаемый результат метода CurrencyRates (в формате JSON) [
{
"BaseCurrencyId": 14,
"CurrencyId": 1,
"Rate": 91.429200,
"Date": "18.09.2024"
},
{
"BaseCurrencyId": 14,
"CurrencyId": 2,
"Rate": 101.505700,
"Date": "18.09.2024"
},
{
"BaseCurrencyId": 14,
"CurrencyId": 1,
"Rate": 91.671200,
"Date": "19.09.2024"
},
{
"BaseCurrencyId": 14,
"CurrencyId": 2,
"Rate": 102.039000,
"Date": "19.09.2024"
}
]
|
Выгрузка списка всех валют (getAllCurrencies)
Метод возвращает список всех валют.
- Формат запроса:
- GET .../TourSearchOwin/AllCurencies/getAllCurrencies
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Code – код валюты
- Name – наименование валюты
- IsMain – признак валюты «Главная»
- IsNational – признак валюты «Национальная»
- IsoCode – ISO код валюты
- IsShowInSearch – признак показывать ли валюту в поиске
- Symbol – символ валюты (обрабатывается с 15.7)
- Key – идентификатор валюты
Вызов метода getAllCurrencies GET http://localhost:9000/TourSearchOwin/AllCurencies/getAllCurrencies
Возвращаемый результат метода getAllCurrencies (в формате JSON) [
{
"Code": "EU",
"Name": "Euro",
"IsMain": false,
"IsNational": false,
"IsoCode": "EUR",
"IsShowInSearch": true,
"Symbol": "€",
"Key": 2
},
{
"Code": "рб",
"Name": "Рубль",
"IsMain": false,
"IsNational": true,
"IsoCode": "RUR",
"IsShowInSearch": true,
"Symbol": "₽",
"Key": 14
},
{
"Code": "$",
"Name": "US Dollar",
"IsMain": true,
"IsNational": false,
"IsoCode": "USD",
"IsShowInSearch": true,
"Symbol": "$",
"Key": 1
},
{
"Code": "гр",
"Name": "Гривна",
"IsMain": false,
"IsNational": false,
"IsoCode": "UAH",
"IsShowInSearch": true,
"Symbol": "₴",
"Key": 6
}
]
|
Получение сконвертированных цен (convertFilterPrice)
Метод возвращает сконвертированные цен для допфильтра Цена (используется в canary)
- Формат запроса:
- GET .../TourSearchOwin/AllCurencies/convertFilterPrice
- Принимаемые параметры ( * – обязательный):
- SourceRateKey * – ключ исходной валюты конвертации
- TargetRateKey * – ключ валюты, в которую будет произведена конвертация
- MinPrice * – значение минимальной цены, которое будет участвовать в конвертации
- MaxPrice * – значение максимальной цены, которое будет участвовать в конвертации
- Возвращаемый результат:
- m_Item1 – сконвертированная минимальная цена
- m_Item12 – сконвертированная максимальная цена
Вызов метода convertFilterPrice GET http://localhost:9000/TourSearchOwin/AllCurencies/convertFilterPrice?SourceRateKey=2&TargetRateKey=1&MinPrice=10&MaxPrice=200
Возвращаемый результат метода convertFilterPrice (в формате JSON) {
"m_Item1": 12.035142616440004814057046576,
"m_Item2": 240.70285232880009628114093152
}
|
Выгрузка квотируемых услуг системы (QuotedServices)
Метод производит выгрузку услуг с признаком «Квотируемая»
- Формат запроса:
- GET .../TourSearchOwin/QuotedServices
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Key – идентификатор услуги
- Code – код услуги
- Name – наименование услуги (русский)
- NameLat – наименование услуги (английский)
- IsDuration – наличие продолжительности у услуги
- IsCity – наличие города у услуги
- IsSubCode1 – признак наличия SubCode1 у услуги
- IsSubCode2 – признак наличия SubCode2 у услуги
- Quoted – признак квотируемости услуги
- CheckGeoPoint – наличие геоточек у услуги
- IsRoute – признак маршрутной услуги
- IsPartnerBasedOn – признак сопоставления партнера услуги в зависимости от отеля
- Control – идентификатор статуса услуги
Вызов метода QuotedServices GET http://localhost:9000/TourSearchOwin/QuotedServices
Возвращаемый результат метода QuotedServices (в формате JSON) [
{
"Key": 1,
"Code": "А_П",
"Name": "Авиаперелет",
"NameLat": "Flight",
"IsDuration": false,
"IsCity": true,
"IsSubCode1": true,
"IsSubCode2": false,
"Quoted": true,
"CheckGeoPoint": true,
"IsRoute": true,
"IsPartnerBasedOn": false,
"Control": 1
},
{
"Key": 3,
"Code": "HOTEL",
"Name": "Отель/Круиз",
"NameLat": "Hotel/Cruise",
"IsDuration": true,
"IsCity": true,
"IsSubCode1": true,
"IsSubCode2": true,
"Quoted": true,
"CheckGeoPoint": true,
"IsRoute": true,
"IsPartnerBasedOn": false,
"Control": 1
}
]
|
Выгрузка актуальных городов отправления (departureCities)
Метод производит выгрузку всех доступных городов отправления для поискового запроса.
- Формат запроса:
- GET .../TourSearchOwin/departureCities?
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Key – идентификатор города
- Name – название города
Вызов метода departureCities GET http://localhost:9000/TourSearchOwin/departureCities
Возвращаемый результат метода departureCities (в формате JSON) [
{
"Key": -1,
"Name": "Без перелета"
},
{
"Key": 312,
"Name": "Астрахань"
},
{
"Key": 1,
"Name": "Москва"
}
]
|
Выгрузка актуальных стран (Destination)
Метод производит выгрузку всех доступных направлений туроператора.
- Формат запроса:
- GET .../TourSearchOwin/Destination?
- Принимаемые параметры ( * – обязательный):
- departureCities * – идентификатор города(ов) отправления (из контроллера .../TourSearchOwin/departureCities?)
- type – настройка easySearchFilter (0/не указано - настройка выключена, 1 - настройка включена)
- term – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- Возвращаемый результат:
- Name – название страны
- Key – идентификатор страны
- DestinationType – тип результата (параметр не изменяемый, когда результат возвращается в JSON, то значение будет = 1, когда результат возвращается в xml, то значение будет = country). Зависит от программы, которая возвращает результат.
- IsExist – не используется
- Data – массив данных для контекстного поиска
- CityKey – код города
- CityName – Название
- HotelKey – код отеля
- HotelName – название отеля
- ResortKey – код курорта
- ResortName – название курорта
Вызов метода Destination GET http://localhost:9000/TourSearchOwin/Destination?departureCities=1
Возвращаемый результат метода Destination (в формате JSON) [
{
"Data": null,
"DestinationType": 1,
"IsExist": false,
"Key": 90,
"Name": "Австрия"
},
{
"Data": null,
"DestinationType": 1,
"IsExist": false,
"Key": 53,
"Name": "Тайланд"
},
{
"Data": null,
"DestinationType": 1,
"IsExist": false,
"Key": 460,
"Name": "Россия"
}
]
GET http://localhost:9000/TourSearchOwin/Destination?departureCities=1&type=1
Возвращаемый результат метода Destination (в формате JSON) с включенной настройкой easySearchFilter [
{
"Name": "Австрия",
"Key": 90,
"DestinationType": 1,
"IsExist": false,
"Data":
[
{
"CityKey": 35,
"CityName": "Вена",
"HotelKey": 178,
"HotelName": "Ananas, 5+++*",
"ResortKey": 232,
"ResortName": "Малина"
},
{
"CityKey": 35,
"CityName": "Вена",
"HotelKey": 20748,
"HotelName": "Dev, 1-4*Boutique",
"ResortKey": 0,
"ResortName": ""
},
],
}
{
"Name": "Тайланд",
"Key": 53,
"DestinationType": 1,
"IsExist": false,
"Data":
[
{
"CityKey": 415,
"CityName": "Пхукет",
"HotelKey": 5263,
"HotelName": "7Q Hotel, HV",
"ResortKey": 123,
"ResortName": "Пхукет"
}
],
},
{
"Name": "Россия",
"Key": 460,
"DestinationType": 1,
"IsExist": false,
"Data":
[
{
"CityKey": 295,
"CityName": "Санкт-Петербург",
"HotelKey": 20365,
"HotelName": "Бристоль, 3*",
"ResortKey": 0,
"ResortName": ""
}
],
},
{
"Name": "ОАЭ",
"Key": 2,
"DestinationType": 1,
"IsExist": false,
"Data":
[
{
"CityKey": 12,
"CityName": "ДУБАЙ",
"HotelKey": 1257,
"HotelName": "Avari, APTH3",
"ResortKey": 0,
"ResortName": ""
},
],
}
]
|
Выгрузка актуальных городов (ActualizeCities)
Метод возвращает список всех доступных городов по определенному городу отправления и стране прибытия.
- Формат запроса:
- GET .../TourSearchOwin/ActualizeCities?
- Принимаемые параметры ( * – обязательный):
- cityKeys * – идентификатор города(ов) отправления (полученный из метода .../TourSearchOwin/departureCities?)
- Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- term – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- Возвращаемый результат:
- Key – идентификатор города
- Name – название города
Вызов метода ActualizeCities GET http://localhost:9000/TourSearchOwin/ActualizeCities?cityKeys=1&Key=90
Возвращаемый результат метода ActualizeCities (в формате JSON) [
{
"Key": -1,
"Name": "Все"
},
{
"Key": 35,
"Name": "Вена"
},
{
"Key": 440,
"Name": "Зельден"
}
]
|
Выгрузка актуальных типов туров (ActualizeTourType)
Метод возвращает список типов туров по определенному городу отправления, стране и городу прибытия.
- Формат запроса:
- GET .../TourSearchOwin/ActualizeTourType?
- Принимаемые параметры ( * – обязательный):
- departureCityKeys * – идентификатор города(ов) отправления (полученный из метода .../TourSearchOwin/departureCities?)
- Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Type * – тип результата (всегда возвращается в JSON = 1, в xml = country)
- destinationCity * – идентификатор города(ов) прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны
- terms – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- Возвращаемый результат:
- Key – идентификатор типа тура
- Name – название типа тура
- ParentId – идентификатор группы, к которой относится данный типа тура (если тип тура не относится к группе, то возвращается null)
Вызов метода ActualizeTourType GET http://localhost:9000/TourSearchOwin/ActualizeTourType?departureCityKeys=1&Key=90&Type=1&destinationCity=-1
Возвращаемый результат метода ActualizeTourType (в формате JSON) [
{
"Key": -1,
"Name": "Все",
"ParentId": null
},
{
"Key": 2,
"Name": "Стандартный тур",
"ParentId": null
},
{
"Key": 16,
"Name": "Экскурсионный тур",
"ParentId": 35
}
]
|
Выгрузка актуальных дат заездов (TourDate)
Метод производит выгрузку доступных дат заездов для поискового запроса.
- Формат запроса:
- GET .../TourSearchOwin/TourDate?
- Принимаемые параметры ( * – обязательный):
- departureCity * – идентификатор города(ов) отправления (полученный из метода .../TourSearchOwin/departureCities?)
- destinationCity * – идентификатор города(ов) прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны
- Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Type * – тип результата (всегда возвращается в JSON = 1, в xml = country)
- tourTypes * – идентификатор типа тура (полученный из метода .../TourSearchOwin/ActualizeTourType?), по умолчанию передается -1, то есть все типы тура в рамках данной страны
- Возвращаемый результат:
- массив дат
Вызов метода TourDate GET http://localhost:9000/TourSearchOwin/TourDate?departureCity=1&destinationCity=-1&Key=90&Type=1&tourTypes=-1
Возвращаемый результат метода TourDate (в формате JSON) [
"21.02.2018",
"22.02.2018",
"23.02.2018",
"24.02.2018",
"25.02.2018",
"26.02.2018",
"27.02.2018",
"28.02.2018"
]
|
Выгрузка актуальных продолжительностей (Duration)
Метод производит выгрузку доступных продолжительностей для поискового запроса.
- Формат запроса:
- GET .../TourSearchOwin/Duration?
- Принимаемые параметры ( * – обязательный):
- departureCity * – идентификатор города(ов) отправления (полученный из метода .../TourSearchOwin/departureCities?)
- destinationCity * – идентификатор города(ов) прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны
- Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Type * – тип результата (всегда возвращается в JSON = 1, в xml = country)
- tourDate * – массив дат заезда (полученные из метода .../TourSearchOwin/TourDate?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- tourTypes * – идентификатор типа(ов) тура (полученный из метода .../TourSearchOwin/ActualizeTourType?), по умолчанию передается -1, то есть все типы тура в рамках данной страны
- Возвращаемый результат:
- массив продолжительностей (в днях)
Вызов метода Duration GET http://localhost:9000/TourSearchOwin/Duration?departureCity=1&destinationCity=-1
&Key=90&Type=1&tourDate=25.02.2018&tourDate=26.02.2018&tourTypes=-1
Возвращаемый результат метода Duration (в формате JSON) [
7,
8,
10,
12,
15,
18
]
|
Поиск туров (Tour)
Метод поиска туров использует множество параметров для поиска и фильтрации туров. Метод возвращает наиболее дешевые предложения, найденные по предоставленным параметрам и сгруппированные по отелям в порядке возрастания цены.
- Формат запроса:
- GET .../TourSearchOwin/Tour?
- Принимаемые параметры ( * – обязательный):
- DepartureCityKeys * – идентификатор города(ов) отправления (полученный из метода .../TourSearchOwin/departureCities?)
- Dates * – массив дат заезда (полученные из метода .../TourSearchOwin/TourDate?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- Durations * – массив продолжительностей (полученные из метода .../TourSearchOwin/Duration?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- PageNumber * – номер возвращаемой страницы (по умолчанию возвращается 1)
- PageSize * – количество возвращаемых результатов на одной странице (возвращается 20)
- isFromBasket * – происходит ли обращение из корзины или из поиска туров (true/false)
- isFillSecondaryFilters – заполнены ли дополнительные фильтры (по умолчанию всегда приходит true). Служебный внутренний параметр. При работе с API не используется.
- DestinationType * – тип результата (параметр не изменяемый, когда результат возвращается в JSON, то значение будет = 1, когда результат возвращается в xml, то значение будет = country). Зависит от программы, которая возвращает результат.
- DestinationKey * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- AdultCount * – количество взрослых
- ChildAges – возраст детей. Если детей несколько, и параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- CurrencyName * – код валюты
- AviaQuota * – информация о квотах на авиаперелет (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- HotelQuota * – информация о квотах на отель (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- BusTransferQuota – информация о квотах на автобусный переезд (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- MinPrice * – минимальная цена (по умолчанию не задана, передается NaN)
- MaxPrice – максимальная цена (по умолчанию не передается)
- Groups – группировка результатов (2 – по названию тура, 4 – по дате тура, 8 – по продолжительности тура, 16 – по городу вылета, 32 – по отелю, 64 – по городу отеля, 128 – по курорту отеля, 256 – по категории отеля)
- HotelScheme – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля. Передаются следующие параметры:
- TemplateId – идентификатор шаблона услуги,
- DurationInNight – продолжительность отеля в ночах,
- Code – ключ отеля,
- PacketKey – ключ пакета,
- PartnerKey – ключ партнера
- GDSProviderId – ключ провайдера из внешней системы
- TotalTourDuration – общая продолжительность тура в днях
- BusTransferPointKeys – данный признак проставляется в true в том случае, когда происходит запрос вариантов проживания (кнопка Варианты) в автобусных переездах
- TourKey – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: ключ программы тура
- TourDuration – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: продолжительность тура в днях
- TourType – идентификатор типа(ов) тура (полученный из метода .../TourSearchOwin/ActualizeTourType?), по умолчанию передается -1, то есть все типы тура в рамках данной страны. Возможна множественная передача параметров.
- Tour – ключ программы тура (дополнительный фильтр)
- Duration – продолжительность тура (дополнительный фильтр)
- DateTour – дата тура (дополнительный фильтр)
- HotelResort – ключ курорта отеля (дополнительный фильтр)
- HotelCity – ключ города отеля (дополнительный фильтр)
- HotelType – ключ признака отеля (дополнительный фильтр)
- HotelStars – ключ категории отеля (дополнительный фильтр)
- Hotel – ключ отеля (дополнительный фильтр)
- Pansions – ключ питания (дополнительный фильтр)
- Airline – ключ авиакомпании (дополнительный фильтр)
- AirportDeparture – ключ аэропорта вылета (дополнительный фильтр)
- AirportArrival – ключ аэропорта прилета (дополнительный фильтр)
- CityIds – идентификатор города(ов) прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны. Возможна множественная передача параметров.
- TimeDepartureFrom – время отправления с (по умолчанию возвращается 00:00)
- TimeDepartureTo – время отправления по (по умолчанию возвращается 23:59)
- TimeArrivalFrom – время прибытия с (по умолчанию возвращается 00:00)
- TimeArrivalTo – время прибытия по (по умолчанию возвращается 23:59)
- ArrivalFlightNoTransfer – производить поиск без пересадок в прямом направлении (true/false, по умолчанию false)
- DepartureFlightNoTransfer – производить поиск без пересадок в обратном направлении (true/false, по умолчанию false)
- DepartureFlightNumberTransfer – наличие пересадок в прямом направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более). Обрабатывается начиная с релиза 15.3.
- ArrivalFlightNumberTransfer – наличие пересадок в обратном направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более). Обрабатывается начиная с релиза 15.3.
- Tariff – ключ класса авиаперелета (дополнительный фильтр)
- CombineAirlines — разрешить комбинировать авиаперелеты (дополнительный фильтр). Параметр применяется только при наличии параметра airline. Обрабатывается начиная с релиза 15.3.
- CombineTariffs — разрешить комбинировать классы перелета (дополнительный фильтр). Параметр применяется только при наличии параметра tariff. Обрабатывается начиная с релиза 15.3.
- FlightCityDeparture – ключ город вылета в параметрах авиаперелета (дополнительный фильтр)
- CityDeparture – ключ города начала поездки (дополнительный фильтр)
- RemoteHotelMode – признак того, производится поиск только локальных отелей или и от внешних поставщиков тоже (только локальные отели – 0, только внешние отели – 2, локальные и внешние отели – 1). Если признак отсутствует – поиск будет только по локальным отелям. Обрабатывается начиная с релиза 15.4.
- GroupGuid – используется для получения турпрограмм по уникальному ключу из кэша при использовании группировки. Примеры использования. GroupGuid=00000000-0000-0000-0000-000000000000 – при первом запросе от локальной системы. GroupGuid=936DA01F-9ABD-4d9d-80C7-02AF85C822A8 (уникальный ключ) – передается на клиент от первого запроса из внешней системы. С данным уникальным ключом осуществляется второй запрос от внешней системы. Далее происходит получение значений по данному уникальному ключу. Обрабатывается начиная с релиза 15.4.
- IsGroupingTourAlreadyMerge – определяет слияние данных турпрограмм от локальной системы с данными от внешней системы при использовании группировки. Примеры использования. IsGroupingTourAlreadyMerge=false – полученные данные от локальной системы не объединены с данными от внешней системы. На клиенте осуществляется объединение данных турпрограмм с последующей сортировкой по минимальной цене. IsGroupingTourAlreadyMerge=true – полученные данные от локальной системы уже объединены с данными от внешней системы. На клиенте осуществляется только сортировка по минимальной цене. Обрабатывается начиная с релиза 15.4.
- SearchId – уникальный идентификатор запроса поиска, передаваемый с клиентской части. Возвращается в ответе без изменений. Обрабатывается начиная с релиза 15.5.
- Возвращаемый результат:
- 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 – статус по квотам (есть места-1 / нет мест-2 / под запрос-4)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- PartnerId – ключ партнера
- ByPax – цена за человека (true/false)
- Partner – информация о партнере
- Key – идентификатор
- Value – название
- Tariff – информация о тарифе перелета
- FlightSetting – внутренняя информация о перелете из программы туров
- ServiceId – идентификатор класса услуги (внутренняя информация из программы туров)
- PatternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
- FlightId – идентификатор перелета (внутренняя информация из программы туров)
- FlightSourceMode – локальный или внешний перелет (внутренняя информация из программы туров)
- Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
- SvKey – ключ типа услуги
- IsSubCode1 – признак наличия доп. описания 1
- IsSubCode2 – признак наличия доп. описания 2
- IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата предоставления услуги
- IsHooded – признак скрытая услуга
- IsDeleted – признак удаляемая услуга
- IsNotCalculate – признак не рассчитываемая услуга
- PacketId – ключ пакета
- Index – порядковый номер услуги
- DepartureCity – город отправления
- NotRouteServices – массив коллекций немаршрутных услуг (например если две экскурсии будут являться одним элементом массива, то это будет говорить о том, что эти экскурсии можно будет выбрать в выпадающем списке)
- ServiceName – название типа услуги
- City – объект город
- Key – ключ города
- Value – название города
- Country – объект страна
- Key – ключ страны
- Value – название страны
- Code – объект код услуги
- Key – ключ услуги
- Value – название услуги
- ByScheduler – флаг услуга по расписанию или нет
- Details – объект детализация услуги
- SubCode1 – объект доп. описание 1
- Key – ключ доп. описания 1
- Value – название доп. описания 1
- SubCode2 – объект доп. описание 2
- Key – ключ доп. описания 2
- Value – название доп. описания 2
- Date – дата услуги
- IsShowTransportPlan – признак показывать ли план рассадки (для автобусов)
- Cost – цена
- QuotaStatus – объект информация по квотам
- PlacesStatus – статус по квотам (есть места-1 / нет мест-2 / под запрос-4)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- PartnerId – идентификатор партнера
- ByPax – признак цены за человека
- Partner – объект партнер (не заполняется)
- Key – ключ (не заполняется)
- Value – название (не заполняется)
- SubCode1 – объект доп. описание 1
- ParentId – идентификатор родительской услуги (для вложенных услуг)
- PartnerBasedOnServiceTemplateId – ключ шаблона услуги, по которой приоритетно выбирается партнер текущей услуги
- Id – идентификатор услуги
- SvKey – ключ типа услуги
- IsSubCode1 – наличие доп. описания 1
- IsSubCode2 – наличие доп. описания 2
- IsPartnerBasedOn – услуга с подбором приоритетного поставщика услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата предоставления услуги
- EndDateTime – дата окончания услуги
- IsHooded – скрытая ли услуга
- IsDeleted – удаляемая ли услуга
- IsNotCalculate – не рассчитываемая ли услуга
- PacketId – пакет услуги
- Index – индекс услуги
- MinCostServicesComposition – массив состав услуг минимальной цены
- Key – ключ
- TemplateId – идентификатор шаблона
- PatternId – идентификатор вкладки
- SettingId – идентификатор услуги
- Value – значение
- ServiceType – тип услуги
- Code – ключ услуги
- SubCode1 – доп. описание 1
- SubCode2 – доп. описание 2
- PacketId – пакет услуги
- PartnerId – партнер услуги
- CountryId – страна услуги
- CityId – город услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- COAndSpecialsInfo – формирует, фильтрует и выдаёт списки применённых акций и ценовых блоков
- AppliedCostOffersKeys – коллекция идентификаторов всех применённых ценовых блоков к одной цене
- AppliedSpeciasInfo – коллекция всех применённых акций к одной цене, содержит информацию об условиях, с которыми применилась каждая акция
- SpecialKey – ключ акции
- SpecialName – название акции
- SpecialType – тип акции
- NewPrice – цена после применения акции
- OldPrice – цена до применения акции
- ShowOnline – нужно ли показывать акцию в поиске
- UntilDate – акция действует при совершении покупки до указанной даты
- Condition – json форма условия применения акции. Данное поле включает в себя следующие значения в зависимости от типа акции:
- NightsFrom (для типа PayStay) – ночей от
- NightsTo (для типа PayStay) – ночей до
- NightValue (для типа PayStay) – значение ночи, которое соответствует заданному периоду
- OperationType (для типа PayStay) – тип действия
- SpecialNightType (для типа PayStay) – тип бесплатной ночи
- DurationFrom (для типа KickBack) – ночей от
- DurationTo (для типа KickBack) – ночей до
- Value (для типа KickBack) – значение продолжительности, равное заданному периоду
- OperationType (для типа KickBack) – тип действия
- NightsFrom (для типа EarlyBird) – ночей от
- NightsTo (для типа EarlyBird) – ночей до
- Discount (для типа EarlyBird) – размер скидки
- OperationType (для типа EarlyBird) – тип действия
- COBySubCode – список применённых идентификаторов ценовых блоков по SubCode1 и SubCode2
- SpecialsBySubCode – список применённых акций по SubCode1 и SubCode2
- SubCode1 – объект доп. описание 1
- SubCode2 – объект доп. описание 2
- 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 – Значение отклонения звездности последующих отелей от первого отеля в многоотельном туре. По умолчанию 0. Звездность определяется числом, заданном в поле порядок при печати.
- Rate – валюта тура
- DateStart – нижняя граница дат заезда по программе тура
- DateEnd – верхняя граница дат заеда по программе тура
- Status – статус турпрограммы
- Key – ключ
- Value – значение
- Templates – шаблоны услуг
- $id – шаблон 1
- $id – шаблон 2
- 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 –
- Type – тип справочника (используется для внутренних целей)
- TourDurations – продолжительность тура
- TourDates – список дат заездов в турпрограмме
- HotelCities – город в дополнительных фильтрах
- ' –
- HotelResorts – курорты в дополнительных фильтрах
- ' –
- HotelCategories – категории отеля в дополнительных фильтрах
- ' –
- Hotels – отели в дополнительных фильтрах
- ' –
- Pansions – питания в дополнительных фильтрах
- ' –
- Airlines – авиакомпании в дополнительных фильтрах
- ' –
- FlightTariffs – класс перелета в дополнительных фильтрах
- ' –
- DepartureCities – города вылета в дополнительных фильтрах
- ' –
- DepartureAirports – аэропорты вылета в дополнительных фильтрах
- ' –
- ArrivalCities – города прибытия в дополнительных фильтрах
- ' –
- ArrivalAirports – аэропорты прибытия в дополнительных фильтрах
- ' –
- HotelTypes – признаки отелей в дополнительных фильтрах
- ' –
- HotelCities – город в дополнительных фильтрах
- TourTypes – типы тура
Вызов метода Tour GET http://localhost:9000/TourSearchOwin/Tour?DepartureCityKeys=1&Dates=25.02.2018&Durations=4
&PageNumber=1&PageSize=20&HotelScheme=&TourKey=&TourDuration=&isFromBasket=false
&isFillSecondaryFilters=true&DestinationType=1&DestinationKey=90&AdultCount=2&ChildAges=2
&ChildAges=2&CurrencyName=EU&AviaQuota=5&HotelQuota=5&BusTransferQuota=5&MinPrice=NaN&TourType=-1
&CityIds=-1&TimeDepartureFrom=00%3A00&TimeDepartureTo=23%3A59&TimeArrivalFrom=00%3A00
&TimeArrivalTo=23%3A59&ArrivalFlightNoTransfer=false&DepartureFlightNoTransfer=false
Возвращаемый результат метода Tour (в формате JSON) {
"CheckMessages": null,
"Message": {
"Key": 0,
"Value": null
},
"Result": [
{
"Key": 100000004,
"Name": "Общая проверка системы",
"TourUrl": "www.megatec.ru",
"BookingConditions": "<p>Условия бронирования тура.<\/p>",
"StartDate": "2018-02-25T00:00:00",
"Duration": 4,
"DurationInNight": 3,
"Types": [2],
"Cost": 260,
"Rate": "EU",
"CityDepature": {
"Key": 1,
"Value": "Москва"
},
"CountryId": 0,
"Services": [
{
"DepartureCity": {
"Key": 1,
"Value": "Москва"
},
"DepartureCountry": {
"Key": 460,
"Value": "Россия"
},
"ArrivalCity": {
"Key": 35,
"Value": "Вена"
},
"ArrivalCountry": {
"Key": 90,
"Value": "Австрия"
},
"DepartureAirport": {
"Key": "SVO4",
"Value": "Шереметьево-24"
},
"ArrivalAirport": {
"Key": "VIE1",
"Value": "Vena1"
},
"Airline": {
"Key": "BA7",
"Value": "BRITISH AIRWAYS"
},
"Aircraft": {
"Key": "319",
"Value": "AIRBUS "
},
"Flight": {
"Key": 882,
"Value": "4444"
},
"DepartureTime": "10:00:00",
"ArrivalTime": "12:00:00",
"EndDateTime": "2018-02-25T12:00:00",
"FlightDetails": [ {
"Tariff": {
"Key": 89,
"Code": "Y",
"Name": "Экономический класс"
},
"Cost": 10,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12668,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"FlightSetting": {
"ServiceId": 3,
"PatternId": 13,
"FlightId": 13
},
"FlightSourceMode": 1,
"Id": 3,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-02-25T10:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 0
},
{
"Hotel": {
"Key": 709,
"Value": "Am Brilliantengrund"
},
"City": {
"Key": 35,
"Value": "Вена"
},
"Stars": {
"Key": -1,
"Value": null
},
"Resort": {
"Key": -1,
"Value": null
},
"ImageURL": "",
"Http": null,
"Description": "",
"Country": {
"Key": 90,
"Value": "Австрия"
},
"HotelDetails": [ {
"HotelRoom": 46463,
"Room": {
"Key": 129,
"Value": "DBL"
},
"RoomCategory": {
"Key": 3493,
"Value": "Cosy"
},
"AccomodationType": {
"Key": 1256,
"Value": "2+1_K",
"AdultCount": 2,
"ChildCount": 1
},
"Pansion": {
"Key": 4,
"Value": "Завтрак"
},
"Cost": 19.47,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12667,
"ByPax": false,
"Partner": {
"Key": 12667,
"Value": "Партнер-покупатель1"
}
}],
"HotelTypes": [ {
"Key": 5,
"Value": "Рекомендуемые"
}],
"Id": 1,
"SvKey": 3,
"IsSubCode1": true,
"IsSubCode2": true,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 3,
"BeginDateTime": "2018-02-25T12:00:00",
"EndDateTime": "2018-02-28T12:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 1
},
{
"DepartureCity": {
"Key": 35,
"Value": "Вена"
},
"DepartureCountry": {
"Key": 90,
"Value": "Австрия"
},
"ArrivalCity": {
"Key": 1,
"Value": "Москва"
},
"ArrivalCountry": {
"Key": 460,
"Value": "Россия"
},
"DepartureAirport": {
"Key": "VIE1",
"Value": "Vena1"
},
"ArrivalAirport": {
"Key": "DME",
"Value": "Домодедово"
},
"Airline": {
"Key": "7U",
"Value": "Авиаэнерго"
},
"Aircraft": {
"Key": "727",
"Value": "Boeing"
},
"Flight": {
"Key": 774,
"Value": "222"
},
"DepartureTime": "00:00:00",
"ArrivalTime": "00:00:00",
"EndDateTime": "2018-02-28T00:00:00",
"FlightDetails": [ {
"Tariff": {
"Key": 89,
"Code": "Y",
"Name": "Экономический класс"
},
"Cost": 0,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 10760,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"FlightSetting": {
"ServiceId": 4,
"PatternId": 5,
"FlightId": 4
},
"FlightSourceMode": 1,
"Id": 4,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 4,
"DurationInNight": 0,
"BeginDateTime": "2018-02-28T00:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 4
}
],
"NotRouteServices": [
[ {
"ServiceName": "страховка",
"City": null,
"Country": {
"Key": 90,
"Value": "Австрия"
},
"Code": {
"Key": 297,
"Value": "Страховка от несчастного случая"
},
"ByScheduler": false,
"Details": [ {
"SubCode1": {
"Key": 18,
"Value": "2"
},
"SubCode2": {
"Key": null,
"Value": ""
},
"Date": null,
"IsShowTransportPlan": true,
"Cost": 16,
"QuotaStatus": {
"PlacesStatus": 1,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12668,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"ParentId": null,
"PartnerBasedOnServiceTemplateId": null,
"Id": 10,
"SvKey": 6,
"IsSubCode1": true,
"IsSubCode2": true,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 3,
"BeginDateTime": "2018-02-25T00:00:00",
"EndDateTime": "2018-02-28T00:00:00",
"IsHooded": false,
"IsDeleted": true,
"IsNotCalculate": true,
"PacketId": 882,
"Index": 2
}],
[ {
"ServiceName": "экскурсия",
"City": {
"Key": 1046,
"Value": "Санто-Доминго"
},
"Country": {
"Key": 90,
"Value": "Австрия"
},
"Code": {
"Key": 743,
"Value": "4"
},
"ByScheduler": false,
"Details": [ {
"SubCode1": {
"Key": 37,
"Value": "Мини-автобус 10 чел."
},
"SubCode2": {
"Key": null,
"Value": ""
},
"Date": null,
"IsShowTransportPlan": false,
"Cost": 85.22,
"QuotaStatus": {
"PlacesStatus": 1,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12667,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"ParentId": null,
"PartnerBasedOnServiceTemplateId": null,
"Id": 7,
"SvKey": 4,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": true,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-02-25T00:00:00",
"EndDateTime": "2018-02-26T00:00:00",
"IsHooded": false,
"IsDeleted": true,
"IsNotCalculate": true,
"PacketId": 779,
"Index": 3
}]
],
"MinCostServicesComposition": [
{
"Key": {
"TemplateId": 3,
"PatternId": 13,
"SettingId": 13
},
"Value": {
"ServiceType": 1,
"Code": 882,
"SubCode1": 89,
"SubCode2": 1,
"PacketId": 779,
"PartnerId": 12668,
"CountryId": 90,
"CityId": 35,
"Day": 1,
"DurationInNight": 0
}
},
{
"Key": {
"TemplateId": 1,
"PatternId": 0,
"SettingId": 0
},
"Value": {
"ServiceType": 3,
"Code": 709,
"SubCode1": 46463,
"SubCode2": 4,
"PacketId": 779,
"PartnerId": 12667,
"CountryId": 90,
"CityId": 35,
"Day": 1,
"DurationInNight": 3
}
},
{
"Key": {
"TemplateId": 4,
"PatternId": 5,
"SettingId": 4
},
"Value": {
"ServiceType": 1,
"Code": 774,
"SubCode1": 89,
"SubCode2": 35,
"PacketId": 779,
"PartnerId": 10760,
"CountryId": 460,
"CityId": 1,
"Day": 4,
"DurationInNight": 0
}
}
],
"FlightWeight": 2,
"LinkingFlightsRules": {
"notCombineDifferentAirlineRule": {
"airlines": ["AY2"],
"flightSettings": [],
"enabled": true
},
"checkPlusMinus1CharterRule": {
"FlightSettingPairs": [],
"enabled": false
},
"notCombineDifferentTariffGroupRule": {
"FlightSettings": [],
"enabled": true
},
"notCombineDifferentPartnerRule": {
"FlightSettings": [],
"enabled": false
},
"departureCityEqualsArrivalCityRule": {
"FlightSettingPairs": [],
"enabled": false
},
"combineOnlySpecificChartersRule": {
"settings": [],
"enabled": false
}
},
"RouteSubVariants": []
}
],
"SecondaryFiltersResult": {
"TourTypes": [ {
"Id": 2,
"Name": "Стандартный тур",
"ParentId": null,
"Type": "TourType"
}],
"TourPrograms": [
{
"Key": 100000004,
"Name": "Общая проверка системы",
"TourUrl": "www.megatec.ru",
"BookingConditions": "<p>Условия бронирования тура.<\/p>",
"IsLandOnly": false,
"IsRestrictMultiHotels": false,
"IsHotelTemplates": true,
"IsRouteServices": true,
"MultiHotelDelta": 0,
"Rate": "EU",
"DateStart": "2018-01-30T00:00:00Z",
"DateEnd": "2018-02-27T00:00:00Z",
"Status": {
"Key": 3,
"Value": "Доступен для продажи"
},
"Templates": [
{"$id": "5"},
{"$id": "6"},
{"$id": "7"},
{"$id": "8"},
{"$id": "9"}
],
"Types": [ {
"Id": 2,
"Name": "Стандартный тур",
"ParentId": null,
"Type": "TourType"
}],
"LinkingFlightsRules": {
"notCombineDifferentAirlineRule": {
"airlines": ["AY2"],
"flightSettings": [],
"enabled": true
},
"checkPlusMinus1CharterRule": {
"FlightSettingPairs": [],
"enabled": false
},
"notCombineDifferentTariffGroupRule": {
"FlightSettings": [],
"enabled": true
},
"notCombineDifferentPartnerRule": {
"FlightSettings": [],
"enabled": false
},
"departureCityEqualsArrivalCityRule": {
"FlightSettingPairs": [],
"enabled": false
},
"combineOnlySpecificChartersRule": {
"settings": [],
"enabled": false
}
},
"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) до релиза 15.7 включительно
Метод производит выгрузку транспортного плана.
- Формат запроса:
- GET .../TourSearchOwin/TransportPlan?
- Принимаемые параметры ( * – обязательный):
- code – код услуги
- dateBegin – дата услуги
- serviceType – тип услуги
- transportKey – ключ справочника транспорт
- Возвращаемый результат:
- TransportKey – ключ справочника транспорт
- Title – описание
- AreasCount – количество уровней
- RowsCount – количество рядов
- ColumnsCount – количество мест в ряду
- BusySeats – не используется
- Cells – массив описаний всех мест
- Row – ряд
- Column – место в ряду
- Area – уровень места
- Type – тип (None = 0, Seat = 1, Block = 4, Busy = 5)
- Name – название/номер
- UserSeats – не используется
- BlockSeat – не используется
Вызов метода TransportPlan GET http://localhost:9000/TourSearchOwin/TransportPlan?code=1311&dateBegin=17.04.2018&serviceType=14&transportKey=39
Возвращаемый результат метода TransportPlan (в формате JSON) {
"TransportKey": 39,
"Title": "__",
"AreasCount": 1,
"RowsCount": 12,
"ColumnsCount": 5,
"BusySeats": [],
"Cells": [{
"Row": 5,
"Column": 0,
"Area": 0,
"Type": 4,
"Name": "21"
},
{
"Row": 5,
"Column": 1,
"Area": 0,
"Type": 1,
"Name": "22"
},
{
"Row": 5,
"Column": 2,
"Area": 0,
"Type": 2,
"Name": ""
},
{
"Row": 5,
"Column": 3,
"Area": 0,
"Type": 1,
"Name": "23"
},
{
"Row": 5,
"Column": 4,
"Area": 0,
"Type": 1,
"Name": "24"
}],
"UserSeats": {
},
"BlockSeat": {
}
}
|
Выгрузка транспортного плана (TransportPlan) начиная с релиза 15.8
Метод производит выгрузку транспортного плана.
- Формат запроса:
- GET .../TourSearchOwin/TransportPlan?
- Принимаемые параметры ( * – обязательный):
- code – код услуги
- dateBegin – дата услуги
- serviceType – тип услуги
- transportKey – ключ справочника транспорт
- Возвращаемый результат:
- VehiclePlans – массив параметров зон плана
- Key – ключ зоны
- TransportKey – ключ из справочника транспорт
- Row – количество рядов
- AreaNumber – номер уровня
- Name – название уровня
- PlanOrientation – ориентация плана (false - горизонтальная, true - вертикальная)
- Column – количество столбцов
- IsAirCraft – является ли планом самолета (false - нет, true - является)
- Type – не используется
- Seats – массив параметров посадочного места
- Key – ключ места
- SeatType – тип места (None = 0, Seat = 1, Pass/comment = 2, Block = 4, Busy = 5)
- Index – индекс места
- Number – название ячейки с местом
- Type – тип "место"
- VPKey – ключ зоны
- Border – обводка границы (комбинация цифр, где 0 - нет обводки, 1 - обводка в 1 px, 2 - обводка в 2 px)
- VehiclePlans – массив параметров зон плана
Вызов метода TransportPlan GET http://localhost:9000/TourSearchOwin/TransportPlan?code=1776&dateBegin=28.03.2022&serviceType=14&transportKey=35
Возвращаемый результат метода TransportPlan (в формате JSON) {
"VehiclePlans":
[
{
"Key": 291,
"TransportKey": 35,
"Row": 2,
"AreaNumber": 1,
"Name": "Зона 1",
"PlanOrientation": false,
"Column": 3,
"IsAirCraft": false,
"Type": "VehiclePlans"
},
{
"Key": 292,
"TransportKey": 35,
"Row": 3,
"AreaNumber": 2,
"Name": "Зона 2",
"PlanOrientation": true,
"Column": 2,
"IsAirCraft": false,
"Type": "VehiclePlans"
}
],
"Seats":
[
{
"Key": 332522,
"SeatType": 1,
"Index": 0,
"Number": "1",
"Type": "Seat",
"VPKey": 291,
"Border": "2002"
},
{
"Key": 332523,
"SeatType": 1,
"Index": 1,
"Number": "2",
"Type": "Seat",
"VPKey": 291,
"Border": "2100"
},
{
"Key": 332524,
"SeatType": 2,
"Index": 2,
"Number": "П",
"Type": "Seat",
"VPKey": 291,
"Border": "2201"
},
{
"Key": 332525,
"SeatType": 1,
"Index": 3,
"Number": "3",
"Type": "Seat",
"VPKey": 291,
"Border": "0022"
},
{
"Key": 332526,
"SeatType": 1,
"Index": 4,
"Number": "4",
"Type": "Seat",
"VPKey": 291,
"Border": "0120"
},
{
"Key": 332527,
"SeatType": 1,
"Index": 5,
"Number": "5",
"Type": "Seat",
"VPKey": 291,
"Border": "0221"
},
{
"Key": 332528,
"SeatType": 1,
"Index": 0,
"Number": "1",
"Type": "Seat",
"VPKey": 292,
"Border": "2002"
},
{
"Key": 332529,
"SeatType": 1,
"Index": 1,
"Number": "2",
"Type": "Seat",
"VPKey": 292,
"Border": "2200"
},
{
"Key": 332530,
"SeatType": 1,
"Index": 2,
"Number": "3",
"Type": "Seat",
"VPKey": 292,
"Border": "0012"
},
{
"Key": 332531,
"SeatType": 1,
"Index": 3,
"Number": "4",
"Type": "Seat",
"VPKey": 292,
"Border": "0210"
},
{
"Key": 332532,
"SeatType": 1,
"Index": 4,
"Number": "5",
"Type": "Seat",
"VPKey": 292,
"Border": "1000"
},
{
"Key": 332533,
"SeatType": 1,
"Index": 5,
"Number": "6",
"Type": "Seat",
"VPKey": 292,
"Border": "1000"
}
],
}
|
Получение дат заезда по турпрограмме
Работает начиная с релиза 15.8.
Метод возвращает даты заезда по ключу турпрограммы.
- Формат запроса:
- GET .../TourSearchOwin/TransportPlan?
- Принимаемые параметры ( * – обязательный):
- tourProgramKey * – ключ турпрограммы
- Возвращаемый результат:
- Массив дат заезда по туру
Вызов метода GET http://localhost:9000/TourSearchOwin/TransportPlan?tourProgramKey=100001277
Возвращаемый результат метода (в формате JSON) [
"2022-02-21T00:00:00Z",
"2022-02-22T00:00:00Z",
"2022-02-23T00:00:00Z",
"2022-02-24T00:00:00Z",
"2022-02-25T00:00:00Z",
"2022-02-26T00:00:00Z",
]
|
Получение плана транспортного средства (TransportPlan) по ключу турпрограммы и дате услуги
Работает начиная с релиза 15.8.
Метод возвращает даты заезда по ключу турпрограммы и дате услуги.
- Формат запроса:
- GET .../TourSearchOwin/TransportPlan?
- Принимаемые параметры ( * – обязательный):
- tourProgramKey * – ключ турпрограммы
- dateBegin * – дата услуги
- serviceType * – тип услуги
- Возвращаемый результат:
- plan – массив данных план
- VehiclePlans – массив параметров зон плана
- Key – ключ зоны
- TransportKey – ключ из справочника транспорт
- Row – количество рядов
- AreaNumber – номер уровня
- Name – название уровня
- PlanOrientation – ориентация плана (false - горизонтальная, true - вертикальная)
- Column – количество столбцов
- IsAirCraft – является ли планом самолета (false - нет, true - является)
- Dates – не используется
- Type – не используется
- Seats – массив параметров посадочного места
- Key – ключ места
- SeatType – тип места (None = 0, Seat = 1, Pass/comment = 2, Block = 4, Busy = 5)
- Index – индекс места
- Number – название ячейки с местом
- Type – тип "место"
- VPKey – ключ зоны
- Border – обводка границы (комбинация цифр, где 0 - нет обводки, 1 - обводка в 1 px, 2 - обводка в 2 px)
- VehiclePlans – массив параметров зон плана
- routeCity – направление автобусного переезда
Вызов метода GET http://localhost:9000/TourSearchOwin/TransportPlan?tourProgramKey=100001221&dateBegin=06.09.2023&serviceType=14
Возвращаемый результат метода (в формате JSON) {
"plan": {
"VehiclePlans": [
{
"Key": 10,
"TransportKey": 24,
"Row": 10,
"AreaNumber": 1,
"Name": "12345678901234567890",
"PlanOrientation": true,
"Column": 5,
"IsAirCraft": false,
"Dates": null,
"Type": "VehiclePlans"
}
],
"Seats": [
{
"Key": 406,
"SeatType": 1,
"Index": 0,
"Number": "1",
"Type": "Seat",
"VPKey": 10,
"Border": "0000"
},
{
"Key": 407,
"SeatType": 1,
"Index": 1,
"Number": "2",
"Type": "Seat",
"VPKey": 10,
"Border": "0000"
},
{
"Key": 408,
"SeatType": 0,
"Index": 2,
"Number": "",
"Type": "Seat",
"VPKey": 10,
"Border": "0000"
},
{
"Key": 409,
"SeatType": 1,
"Index": 3,
"Number": "3",
"Type": "Seat",
"VPKey": 10,
"Border": "0000"
},
{
"Key": 410,
"SeatType": 1,
"Index": 4,
"Number": "4",
"Type": "Seat",
"VPKey": 10,
"Border": "0000"
},
{
"Key": 411,
"SeatType": 1,
"Index": 5,
"Number": "5",
"Type": "Seat",
"VPKey": 10,
"Border": "0000"
},
{
"Key": 412,
"SeatType": 1,
"Index": 6,
"Number": "6",
"Type": "Seat",
"VPKey": 10,
"Border": "0000"
}
]
},
"routeCity": "Москва - Казань"
}
|
Выгрузка первоначального варианта в корзину для бронирования (Tour)
Метод поиска, который возвращает варианты только по данной турпрограмме и схеме отеля.
- Формат запроса:
- GET .../TourSearchOwin/Tour?
- Принимаемые параметры ( * – обязательный):
- DepartureCityKeys * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
- DestinationType * – тип результата (параметр не изменяемый, когда результат возвращается в JSON, то значение будет = 1, когда результат возвращается в xml, то значение будет = country). Зависит от программы, которая возвращает результат.
- DestinationKey * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Dates * – массив дат заезда (полученные из метода .../TourSearchOwin/TourDate?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- Durations * – массив продолжительностей (полученные из метода .../TourSearchOwin/Duration?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- AdultCount * – количество взрослых
- ChildAges – возраст детей. Если детей несколько, и параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- CurrencyName * – код валюты
- HotelQuota * – информация о квотах на отель (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- AviaQuota * – информация о квотах на авиаперелет (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- BusTransferQuota – информация о квотах на автобусный переезд (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- HotelScheme * – объект схемы отеля
- TemplateId – идентификатор шаблона услуги
- DurationInNight – продолжительность отеля в ночах
- Code – ключ отеля
- PacketKey – ключ пакета
- PartnerKey – ключ партнера
- GDSProviderId – ключ провайдера из внешней системы
- TotalTourDuration – общая продолжительность тура в днях, обрабатывается начиная с релиза 15.6, обязательный параметр. Изменения связаны с возможностью работы поиска в ночах проживания в отеле, для перехода в корзину необходимо знать общую продолжительность тура. Взять значение для параметра TotalTourDuration для HotelScheme можно из свойства Duration, пришедшего для данной цены в ответе метода поиск туров (Tour)
- PageNumber * – номер возвращаемой страницы (по умолчанию возвращается 1)
- PageSize * – количество возвращаемых результатов на одной странице (возвращается 20)
- isFromBasket * – происходит ли обращение из корзины или из поиска туров (true/false).
- isFillSecondaryFilters – заполнены ли дополнительные фильтры (по умолчанию всегда приходит true). Служебный внутренний параметр. При работе с API не используется.
- TourKey – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: ключ программы тура
- TourDuration – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: продолжительность тура в днях
- RemoteHotelMode – признак того, производится поиск только локальных отелей или и от внешних поставщиков тоже (только локальные отели – 0, только внешние отели – 2, локальные и внешние отели – 1). Если признак отсутствует – поиск будет только по локальным отелям. Обрабатывается начиная с релиза 15.4.
- Возвращаемый результат:
- 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 – статус по квотам (есть места-1 / нет мест-2 / под запрос-4)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- PartnerId – ключ партнера
- ByPax – цена за человека (true/false)
- Partner – информация о партнере
- Key – идентификатор
- Value – название
- Tariff – информация о тарифе перелета
- FlightSetting – внутренняя информация о перелете из программы туров
- ServiceId – идентификатор класса услуги (внутренняя информация из программы туров)
- PatternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
- FlightId – идентификатор перелета (внутренняя информация из программы туров)
- FlightSourceMode – локальный или внешний перелет (внутренняя информация из программы туров)
- Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
- SvKey – ключ типа услуги
- IsSubCode1 – признак наличия доп. описания 1
- IsSubCode2 – признак наличия доп. описания 2
- IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата предоставления услуги
- IsHooded – признак скрытая услуга
- IsDeleted – признак удаляемая услуга
- IsNotCalculate – признак не рассчитываемая услуга
- PacketId – ключ пакета
- Index – порядковый номер услуги
- DepartureCity – город отправления
- NotRouteServices – массив коллекций немаршрутных услуг (например если две экскурсии будут являться одним элементом массива, то это будет говорить о том, что эти экскурсии можно будет выбрать в выпадающем списке)
- ServiceName – название типа услуги
- City – объект город
- Key – ключ города
- Value – название города
- Country – объект страна
- Key – ключ страны
- Value – название страны
- Code – объект код услуги
- Key – ключ услуги
- Value – название услуги
- ByScheduler – флаг услуга по расписанию или нет
- Details – объект детализация услуги
- SubCode1 – объект доп. описание 1
- Key – ключ доп. описания 1
- Value – название доп. описания 1
- SubCode2 – объект доп. описание 2
- Key – ключ доп. описания 2
- Value – название доп. описания 2
- Date – дата услуги
- IsShowTransportPlan – признак показывать ли план рассадки (для автобусов)
- Cost – цена
- QuotaStatus – объект информация по квотам
- PlacesStatus – статус по квотам (есть места-1 / нет мест-2 / под запрос-4)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- PartnerId – идентификатор партнера
- ByPax – признак цены за человека
- Partner – объект партнер (не заполняется)
- Key – ключ (не заполняется)
- Value – название (не заполняется)
- SubCode1 – объект доп. описание 1
- ParentId – идентификатор родительской услуги (для вложенных услуг)
- PartnerBasedOnServiceTemplateId – ключ шаблона услуги, по которой приоритетно выбирается партнер текущей услуги
- Id – идентификатор услуги
- SvKey – ключ типа услуги
- IsSubCode1 – наличие доп. описания 1
- IsSubCode2 – наличие доп. описания 2
- IsPartnerBasedOn – услуга с подбором приоритетного поставщика услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата предоставления услуги
- EndDateTime – дата окончания услуги
- IsHooded – скрытая ли услуга
- IsDeleted – удаляемая ли услуга
- IsNotCalculate – не рассчитываемая ли услуга
- PacketId – пакет услуги
- Index – индекс услуги
- MinCostServicesComposition – массив состав услуг минимальной цены
- Key – ключ
- TemplateId – идентификатор шаблона
- PatternId – идентификатор вкладки
- SettingId – идентификатор услуги
- Value – значение
- ServiceType – тип услуги
- Code – ключ услуги
- SubCode1 – доп. описание 1
- SubCode2 – доп. описание 2
- PacketId – пакет услуги
- PartnerId – партнер услуги
- CountryId – страна услуги
- CityId – город услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- COAndSpecialsInfo – формирует, фильтрует и выдаёт списки применённых акций и ценовых блоков
- AppliedCostOffersKeys – коллекция идентификаторов всех применённых ценовых блоков к одной цене
- AppliedSpeciasInfo – коллекция всех применённых акций к одной цене, содержит информацию об условиях, с которыми применилась каждая акция
- SpecialKey – ключ акции
- SpecialName – название акции
- SpecialType – тип акции
- NewPrice – цена после применения акции
- OldPrice – цена до применения акции
- ShowOnline – нужно ли показывать акцию в поиске
- UntilDate – акция действует при совершении покупки до указанной даты
- Condition – json форма условия применения акции. Данное поле включает в себя следующие значения в зависимости от типа акции:
- NightsFrom (для типа PayStay) – ночей от
- NightsTo (для типа PayStay) – ночей до
- NightValue (для типа PayStay) – значение ночи, которое соответствует заданному периоду
- OperationType (для типа PayStay) – тип действия
- SpecialNightType (для типа PayStay) – тип бесплатной ночи
- DurationFrom (для типа KickBack) – ночей от
- DurationTo (для типа KickBack) – ночей до
- Value (для типа KickBack) – значение продолжительности, равное заданному периоду
- OperationType (для типа KickBack) – тип действия
- NightsFrom (для типа EarlyBird) – ночей от
- NightsTo (для типа EarlyBird) – ночей до
- Discount (для типа EarlyBird) – размер скидки
- OperationType (для типа EarlyBird) – тип действия
- COBySubCode – список применённых идентификаторов ценовых блоков по SubCode1 и SubCode2
- SpecialsBySubCode - список применённых акций по SubCode1 и SubCode2
- SubCode1 – объект доп. описание 1
- SubCode2 – объект доп. описание 2
- Key – ключ
- FlightWeight –
- LinkingFlightsRules – объект правил связывания
- notCombineDifferentAirlineRule – объект не скрещивать авиакомпании
- airlines – авиакомпании
- flightSettings – массив ключей ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- checkPlusMinus1CharterRule – объект Отличие номера рейса на 1
- FlightSettingPairs – массив чартеров, для которых это правило будет выполняться
- enabled – флаг включен/выключен
- notCombineDifferentTariffGroupRule – объект не комбинировать рейсы от разных классов перелетов
- FlightSettings – массив ключей ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- notCombineDifferentPartnerRule – объект не комбинировать рейсы от разных партнеров
- FlightSettings – массив ключей ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- departureCityEqualsArrivalCityRule – объект Город вылета = городу прилета
- FlightSettingPairs – чартеры, для которых это будет выполняться
- enabled – флаг включен/выключен
- combineOnlySpecificChartersRule – объект не комбинировать различные классы перелетов
- settings – массив ключей чартеров CharterIds и ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- notCombineDifferentAirlineRule – объект не скрещивать авиакомпании
- RouteSubVariants – подварианты услуг (используется в основном поиске)
- SecondaryFiltersResult – доп. фильтры (не используется при вызове из корзины)
Вызов метода Tour (первоначальный вариант Tour в корзине для бронирования) GET http://localhost:9000/TourSearchOwin/Tour?DepartureCityKeys=1&DestinationType=1&DestinationKey=90
&Dates=31.03.18&Durations=8&AdultCount=2&CurrencyName=EU&HotelQuota=5&AviaQuota=5&BusTransferQuota=5
&HotelScheme=[{"TemplateId":"1","DurationInNight":"7","Code":"707","PacketKey":"779","PartnerKey":"12667"
"GDSProviderId": "0","TotalTourDuration": "8"}]
&TourKey=100003404&TourDuration=8&PageNumber=1&PageSize=20&IsFromBasket=true&isFillSecondaryFilters=false
Возвращаемый результат метода Tour (в формате JSON) {
"CheckMessages": null,
"Message": {
"Key": 0,
"Value": null
},
"Result": [
{
"Key": 100003404,
"Name": "Удалить этот тур",
"TourUrl": "www.megatec.ru",
"BookingConditions": "Условия бронирования тура",
"StartDate": "2018-03-31T00:00:00",
"Duration": 8,
"DurationInNight": 7,
"Types": [2],
"Cost": 122,
"Rate": "EU",
"CityDepature": {
"Key": 1,
"Value": "Москва"
},
"CountryId": 90,
"Services": [
{
"DepartureCity": {
"Key": 1,
"Value": "Москва"
},
"DepartureCountry": {
"Key": 460,
"Value": "Россия"
},
"ArrivalCity": {
"Key": 35,
"Value": "Вена"
},
"ArrivalCountry": {
"Key": 90,
"Value": "Австрия"
},
"DepartureAirport": {
"Key": "DME",
"Value": "Домодедово"
},
"ArrivalAirport": {
"Key": "VIE1",
"Value": "Vena1"
},
"Airline": {
"Key": "3G",
"Value": "Атлант Союз_d;kgmdlfkgnfdlkhndlfkhnlkfnh"
},
"Aircraft": {
"Key": "319",
"Value": "AIRBUS "
},
"Flight": {
"Key": 858,
"Value": "1111"
},
"DepartureTime": "10:00:00",
"ArrivalTime": "11:59:00",
"EndDateTime": "2018-03-31T11:59:00",
"FlightDetails": [ {
"Tariff": {
"Key": 67,
"Code": "C",
"Name": "Бизнес класс"
},
"Cost": 6.45,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 10760,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"FlightSetting": {
"ServiceId": 3,
"PatternId": 14,
"FlightId": 14
},
"FlightSourceMode": 1,
"Id": 3,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-03-31T10:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 0
},
{
"Hotel": {
"Key": 707,
"Value": "Beim Theresianum"
},
"City": {
"Key": 35,
"Value": "Вена"
},
"Stars": {
"Key": 66,
"Value": "4*Boutique"
},
"Resort": {
"Key": -1,
"Value": null
},
"ImageURL": "",
"Http": null,
"Description": "",
"Country": {
"Key": 90,
"Value": "Австрия"
},
"HotelDetails": [
{
"HotelRoom": 10468,
"Room": {
"Key": 2,
"Value": "Double"
},
"RoomCategory": {
"Key": 776,
"Value": "Standart133"
},
"AccomodationType": {
"Key": 328,
"Value": "2Ad",
"AdultCount": 2,
"ChildCount": 0
},
"Pansion": {
"Key": 4,
"Value": "Завтрак"
},
"Cost": 112.96,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12667,
"ByPax": false,
"Partner": {
"Key": 12667,
"Value": "Партнер-покупатель1"
}
},
{
"HotelRoom": 38636,
"Room": {
"Key": 2,
"Value": "Double"
},
"RoomCategory": {
"Key": 3764,
"Value": "Standart Without window"
},
"AccomodationType": {
"Key": 328,
"Value": "2Ad",
"AdultCount": 2,
"ChildCount": 0
},
"Pansion": {
"Key": 4,
"Value": "Завтрак"
},
"Cost": 338.9,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12667,
"ByPax": false,
"Partner": {
"Key": 12667,
"Value": "Партнер-покупатель1"
}
}
],
"HotelTypes": [],
"Id": 1,
"SvKey": 3,
"IsSubCode1": true,
"IsSubCode2": true,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 7,
"BeginDateTime": "2018-03-31T11:59:00",
"EndDateTime": "2018-04-07T11:59:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 1
},
{
"DepartureCity": {
"Key": 35,
"Value": "Вена"
},
"DepartureCountry": {
"Key": 90,
"Value": "Австрия"
},
"ArrivalCity": {
"Key": 1,
"Value": "Москва"
},
"ArrivalCountry": {
"Key": 460,
"Value": "Россия"
},
"DepartureAirport": {
"Key": "VIE1",
"Value": "Vena1"
},
"ArrivalAirport": {
"Key": "DME",
"Value": "Домодедово"
},
"Airline": {
"Key": "7U",
"Value": "Авиаэнерго"
},
"Aircraft": {
"Key": "727",
"Value": "Boeing"
},
"Flight": {
"Key": 774,
"Value": "222"
},
"DepartureTime": "00:00:00",
"ArrivalTime": "00:00:00",
"EndDateTime": "2018-04-07T00:00:00",
"FlightDetails": [ {
"Tariff": {
"Key": 67,
"Code": "C",
"Name": "Бизнес класс"
},
"Cost": 1.61,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 10760,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"FlightSetting": {
"ServiceId": 4,
"PatternId": 5,
"FlightId": 4
},
"FlightSourceMode": 1,
"Id": 4,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 8,
"DurationInNight": 0,
"BeginDateTime": "2018-04-07T00:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 3
}
],
"NotRouteServices": [ [
{
"ServiceName": "экскурсия",
"City": {
"Key": 1046,
"Value": "Санто-Доминго"
},
"Country": 6245,
"Code": {
"Key": 743,
"Value": "4"
},
"ByScheduler": false,
"Details": [ {
"SubCode1": {
"Key": 37,
"Value": "Мини-автобус 10 чел."
},
"SubCode2": {
"Key": null,
"Value": ""
},
"Date": null,
"IsShowTransportPlan": false,
"Cost": 56.48,
"QuotaStatus": {
"PlacesStatus": 1,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12667,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"ParentId": null,
"PartnerBasedOnServiceTemplateId": null,
"Id": 7,
"SvKey": 4,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": true,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-03-31T00:00:00",
"EndDateTime": "2018-04-01T00:00:00",
"IsHooded": false,
"IsDeleted": true,
"IsNotCalculate": true,
"PacketId": 779,
"Index": 2
}
]],
"MinCostServicesComposition": [
{
"Key": {
"TemplateId": 3,
"PatternId": 14,
"SettingId": 14
},
"Value": {
"ServiceType": 1,
"Code": 858,
"SubCode1": 67,
"SubCode2": 1,
"PacketId": 779,
"PartnerId": 10760,
"CountryId": 90,
"CityId": 35,
"Day": 1,
"DurationInNight": 0
}
},
{
"Key": {
"TemplateId": 1,
"PatternId": 0,
"SettingId": 0
},
"Value": {
"ServiceType": 3,
"Code": 707,
"SubCode1": 10468,
"SubCode2": 4,
"PacketId": 779,
"PartnerId": 12667,
"CountryId": 90,
"CityId": 35,
"Day": 1,
"DurationInNight": 7
}
},
{
"Key": {
"TemplateId": 4,
"PatternId": 5,
"SettingId": 4
},
"Value": {
"ServiceType": 1,
"Code": 774,
"SubCode1": 67,
"SubCode2": 35,
"PacketId": 779,
"PartnerId": 10760,
"CountryId": 460,
"CityId": 1,
"Day": 8,
"DurationInNight": 0
}
}
],
"FlightWeight": 2,
"LinkingFlightsRules": {
"notCombineDifferentAirlineRule": {
"airlines": ["AY2"],
"flightSettings": [],
"enabled": true
},
"checkPlusMinus1CharterRule": {
"FlightSettingPairs": [],
"enabled": false
},
"notCombineDifferentTariffGroupRule": {
"FlightSettings": [],
"enabled": true
},
"notCombineDifferentPartnerRule": {
"FlightSettings": [],
"enabled": false
},
"departureCityEqualsArrivalCityRule": {
"FlightSettingPairs": [],
"enabled": false
},
"combineOnlySpecificChartersRule": {
"settings": [],
"enabled": false
}
},
"RouteSubVariants": []
}
],
"SecondaryFiltersResult": null
}
|
Выгрузка настройки отображения полей по туристам (TouristDataSettings)
Метод производит выгрузку настроек отображения полей по туристам.
- Формат запроса:
- GET .../TourSearchOwin/TouristDataSettings?
- Принимаемые параметры ( * – обязательный):
- countryId * – ключ страны, для которой будут выгружаться настройки
- Возвращаемый результат:
- TouristFieldsSettings – массив полей с информацией о туристах (из админки Мастер-Web)
- lastname – объект фамилия туриста (лат)
- Index – порядковый индекс элемента
- Code – код поля
- ApiCode – имя поля, которое будет использоваться при бронировании (например при вызове метода CreateReservation)
- HeaderText – название поля
- IsEdit – признак редактируемости поля
- IsRequired – признак обязательности заполнения поля
- IsVisible – видимость поля (видимое)
- IsDisabled – служебный внутренний параметр. При работе с API не используется
- Translit – настройки транслитерации (0 – нет, 1 – транслитерация, 2 – латиница)
- LetterCase – настройки регистра (0 – по умолчанию, 1 – с заглавной, 2 – большие, 3 – маленькие)
- patronymic – объект отчество туриста (лат)
- sex – объект пол туриста
- firstname – объект имя туриста (лат)
- passportbywhom – объект кем выдан заграничный паспорт
- birthplace – объект место рождения
- birthdate – объект дата рождения
- patronymicrus – объект отчество (рус)
- lastnamerus – объект фамилия туриста (рус)
- citizenid – объект ID туриста
- passport – объект серия и номер заграничного паспорта
- passportrus – объект серия и номер национального паспорт а
- ismain – объект признак главного туриста
- passportdate – объект дата выдачи заграничного паспорта
- firstnamerus – объект имя туриста (рус)
- passportbywhomrus – объект кем выдан национальный паспорт
- citizenship – объект гражданство
- passportdaterus – объект дата выдачи национального паспорта
- phone – объект телефон
- number – объект порядковый номер
- passportdateend – объект дата окончания заграничного паспорта
- email – объект e-mail туриста
- lastname – объект фамилия туриста (лат)
- PassportDurationOfExpiry – объект минимальный срок действия загранпаспорта туриста
- StartPoint – точка отсчета
- Duration – минимальная продолжительность
- ChildAgeSetting – максимальный возраст ребенка, когда он считается ребенком (лет)
- InfantAgeSetting – максимальный возраст младенца (месяцев)
- TouristFieldsSettings – массив полей с информацией о туристах (из админки Мастер-Web)
Вызов метода TouristDataSettings GET http://localhost:9000/TourSearchOwin/TouristDataSettings?countryId=90
Возвращаемый результат метода TouristDataSettings (в формате JSON) {
"TouristFieldsSettings": {
"number": {
"Index": 0,
"Code": "number",
"ApiCode": "Number",
"HeaderText": "№",
"IsEdit": false,
"IsRequired": false,
"IsVisible": false,
"IsDisabled": false,
"Translit": 0,
"LetterCase": 0
},
"ismain": {
"Index": 1,
"Code": "ismain",
"ApiCode": "IsMain",
"HeaderText": "<img src=\"images/mw_main_tourist.gif\" border=\"0\" alt=\"Главный турист\" />",
"IsEdit": false,
"IsRequired": true,
"IsVisible": true,
"IsDisabled": true,
"Translit": 0,
"LetterCase": 0
},
"sex": {
"Index": 2,
"Code": "sex",
"ApiCode": "Sex",
"HeaderText": "Пол<font color=\"red\">*</font>",
"IsEdit": true,
"IsRequired": false,
"IsVisible": true,
"IsDisabled": false,
"Translit": 0,
"LetterCase": 0
},
"birthdate": {
"Index": 3,
"Code": "birthdate",
"ApiCode": "BirthDay",
"HeaderText": "Дата рождения<br />(dd.MM.yyyy)",
"IsEdit": false,
"IsRequired": false,
"IsVisible": true,
"IsDisabled": false,
"Translit": 0,
"LetterCase": 0
},
"birthplace": {
"Index": 4,
"Code": "birthplace",
"ApiCode": "BirthPlace",
"HeaderText": "Место рождения",
"IsEdit": false,
"IsRequired": false,
"IsVisible": false,
"IsDisabled": false,
"Translit": 0,
"LetterCase": 0
},
"citizenship": {
"Index": 5,
"Code": "citizenship",
"ApiCode": "Citizenship",
"HeaderText": "Гражданство",
"IsEdit": false,
"IsRequired": false,
"IsVisible": true,
"IsDisabled": false,
"Translit": 0,
"LetterCase": 0
},
"lastname": {
"Index": 6,
"Code": "lastname",
"ApiCode": "LastName",
"HeaderText": "Фамилия<font color=\"red\">*</font>",
"IsEdit": true,
"IsRequired": true,
"IsVisible": true,
"IsDisabled": false,
"Translit": 1,
"LetterCase": 2
},
"firstname": {
"Index": 7,
"Code": "firstname",
"ApiCode": "FirstName",
"HeaderText": "Имя<font color=\"red\">*</font>",
"IsEdit": true,
"IsRequired": true,
"IsVisible": true,
"IsDisabled": false,
"Translit": 1,
"LetterCase": 2
},
"patronymic": {
"Index": 8,
"Code": "patronymic",
"ApiCode": "Patronymic",
"HeaderText": "Отчество",
"IsEdit": false,
"IsRequired": false,
"IsVisible": false,
"IsDisabled": false,
"Translit": 1,
"LetterCase": 2
},
"passport": {
"Index": 9,
"Code": "passport",
"ApiCode": "InternationalPassportSeries/InternationalPassportNumber",
"HeaderText": "Загран-паспорт: Паспорт<br />(серия/номер)",
"IsEdit": false,
"IsRequired": false,
"IsVisible": true,
"IsDisabled": false,
"Translit": 1,
"LetterCase": 2
},
"passportdate": {
"Index": 10,
"Code": "passportdate",
"ApiCode": "InternationalPassportDateOfIssue",
"HeaderText": "Загран-паспорт: дата выдачи",
"IsEdit": false,
"IsRequired": false,
"IsVisible": false,
"IsDisabled": false,
"Translit": 0,
"LetterCase": 0
},
"passportdateend": {
"Index": 11,
"Code": "passportdateend",
"ApiCode": "InternationalPassportDateOfExpiry",
"HeaderText": "Действителен до<br />(dd.MM.yyyy)",
"IsEdit": false,
"IsRequired": false,
"IsVisible": true,
"IsDisabled": false,
"Translit": 0,
"LetterCase": 0
},
"passportbywhom": {
"Index": 12,
"Code": "passportbywhom",
"ApiCode": "internationalPassportByWhom",
"HeaderText": "Кем выдан",
"IsEdit": false,
"IsRequired": false,
"IsVisible": false,
"IsDisabled": false,
"Translit": 0,
"LetterCase": 0
},
"lastnamerus": {
"Index": 13,
"Code": "lastnamerus",
"ApiCode": "LastNameRus",
"HeaderText": "Нац. паспорт: Фамилия",
"IsEdit": false,
"IsRequired": false,
"IsVisible": false,
"IsDisabled": false,
"Translit": 0,
"LetterCase": 2
},
"firstnamerus": {
"Index": 14,
"Code": "firstnamerus",
"ApiCode": "FirstNameRus",
"HeaderText": "Нац. паспорт: Имя",
"IsEdit": false,
"IsRequired": false,
"IsVisible": false,
"IsDisabled": false,
"Translit": 0,
"LetterCase": 2
},
"patronymicrus": {
"Index": 15,
"Code": "patronymicrus",
"ApiCode": "PatronymicRus",
"HeaderText": "Нац. Отчество",
"IsEdit": false,
"IsRequired": false,
"IsVisible": false,
"IsDisabled": false,
"Translit": 0,
"LetterCase": 2
},
"passportrus": {
"Index": 16,
"Code": "passportrus",
"ApiCode": "PassportSeries/PassportNumber",
"HeaderText": "серия/номер",
"IsEdit": false,
"IsRequired": false,
"IsVisible": false,
"IsDisabled": false,
"Translit": 0,
"LetterCase": 0
},
"passportdaterus": {
"Index": 17,
"Code": "passportdaterus",
"ApiCode": "PassportDateOfIssue",
"HeaderText": "Нац. паспорт:дата выдачи",
"IsEdit": false,
"IsRequired": false,
"IsVisible": false,
"IsDisabled": false,
"Translit": 0,
"LetterCase": 0
},
"passportbywhomrus": {
"Index": 18,
"Code": "passportbywhomrus",
"ApiCode": "PassportByWhom",
"HeaderText": "Паспорт: кем выдан",
"IsEdit": false,
"IsRequired": false,
"IsVisible": false,
"IsDisabled": false,
"Translit": 0,
"LetterCase": 0
},
"phone": {
"Index": 19,
"Code": "phone",
"ApiCode": "Phone",
"HeaderText": "Телефон",
"IsEdit": false,
"IsRequired": false,
"IsVisible": true,
"IsDisabled": false,
"Translit": 0,
"LetterCase": 0
},
"email": {
"Index": 20,
"Code": "email",
"ApiCode": "Email",
"HeaderText": "Email",
"IsEdit": false,
"IsRequired": false,
"IsVisible": true,
"IsDisabled": false,
"Translit": 0,
"LetterCase": 0
},
"citizenid": {
"Index": 21,
"Code": "citizenid",
"ApiCode": "CitizenID",
"HeaderText": "ID туриста1",
"IsEdit": false,
"IsRequired": false,
"IsVisible": false,
"IsDisabled": false,
"Translit": 2,
"LetterCase": 2
}
},
"PassportDurationOfExpiry": {
"StartPoint": 0,
"Duration": 0
},
"ChildAgeSetting": 16,
"InfantAgeSetting": 24
}
|
Выгрузка услуг доплат к авиаперелетам (GetFlightsAdditionalServices)
Метод производит выгрузку услуг доплат к авиаперелетам.
- Формат запроса:
- POST .../TourSearchOwin/GetFlightsAdditionalServices?
- Принимаемые параметры headers ( * – обязательный):
- Content-Type * – application/json
- Принимаемые параметры POST запроса ( * – обязательный):
- TourProgramId – ключ турпрограммы
- BeginDate – дата начала тура
- Duration – продолжительность тура
- Currency – код валюты
- Services – массив услуг авиаперелетов для получения доплат
- Service – объект услуга авиаперелет
- ServiceType – тип услуги
- Code – код услуги
- SubCode1 – доп. описание 1 услуги
- SubCode2 – доп. описание 2 услуги
- Packet – ключ пакета услуги
- Partner – ключ партнера услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- City – ключ города
- Country – страна услуги
- Attributes – битовая маска атрибутов услуг
- IsRemovable – (не обрабатывается)
- Type – тип услуги в путевке (базовая дополнительная)
- IsHooded – признак скрытая услуга
- IsNotCalculated – признак не рассчитываемая услуга
- BeginDateTimeString – дата и время начала услуги
- EndDateTimeString – дата и время окончания услуги
- TemplateId – шаблон услуги
- Cost – цена услуги
- ByPax – цена за человека
- QuotaStatus – объект статус квотирования
- PlacesStatus – статус по квотам (есть места-1 / нет мест-2 / под запрос-4)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- Index – индекс услуги
- IsRoute – признак маршрутная услуга
- ServiceTemplateIndex – индекс шаблона услуги
- TouristNumbersList – массив туристов, привязанных к услуге
- Service – объект услуга авиаперелет
- Tourists – массив туристов
- IsMain – главный турист
- Number – порядковый номер туриста
- AgeType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
- MaleFemaleSex – пол (0 – мужской, 1 – женский)
- FirstName – имя (лат)
- LastName – фамилия (лат)
- Patronymic – отчество (лат)
- FirstNameRus – имя (рус)
- LastNameRus – фамилия (рус)
- PatronymicRus – отчество (рус)
- InternationalPassportSeries – серия загранпаспорта
- InternationalPassportNumber – номер загранпаспорта
- InternationalPassportDateOfIssue – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
- InternationalPassportDateOfIssueString – дата выдачи загранпаспорта в строковом формате (DD.MM.YYYY)
- InternationalPassportDateOfExpiry – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
- InternationalPassportDateOfExpiryString – дата окончания действия загранпаспорта в строковом формате (DD.MM.YYYY)
- internationalPassportByWhom – кем выдан загранпаспорт
- PassportSeries – серия паспорта
- PassportNumber – номер паспорта
- PassportDateOfIssue – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
- PassportDateOfIssueString – дата выдачи паспорта в строковом формате (DD.MM.YYYY)
- PassportByWhom – кем выдан паспорт
- Citizenship – название страны
- Phone – телефон
- Email – e-mail
- BirthDay – дата рождения (YYYY-MM-DDThh:mm:ssz)
- BirthDayString – дата рождения в строковом формате (DD.MM.YYYY)
- BirthPlace – место рождения
- CitizenID – гражданство
- Age – количество полных лет на момент окончания тура
- Возвращаемый результат:
- Массив – массив объектов доплат к авиаперелетам
- ServiceName – название услуги
- City – объект город
- Country – объект страна
- Key – ключ страны
- Value – название страны
- Code – объект код услуги
- Key – ключ услуги
- Value – название услуги
- ByScheduler – признак по расписанию
- Details - объект детализация
- SubCode1 – объект доп. описание 1
- Key – ключ
- Value – название
- SubCode2 – объект доп. описание 2
- Key – ключ
- Value – название
- Date – дата услуги
- IsShowTransportPlan – признак показать транспортный план (для автобусов)
- Cost – цена
- QuotaStatus – объект статус квотирования
- PlacesStatus – статус по квотам (есть места-1 / нет мест-2 / под запрос-4)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- PartnerId – ключ партнера
- ByPax – признак за человека
- Partner – объект партнер (не заполняется)
- Key – ключ (не заполняется)
- Value – название (не заполняется)
- SubCode1 – объект доп. описание 1
- ParentId – ключ родительской услуги
- PartnerBasedOnServiceTemplateId – шаблон услуги для подбора поставщика
- ShowOrder – порядок при печати (сортировка) по услуге
- ShowOrderAddDescript1 – порядок при печати (сортировка) по доп. описанию 1
- ShowOrderAddDescript2 – порядок при печати (сортировка) по доп. описанию 2
- Id – идентификатор услуги
- SvKey – тип услуги
- IsSubCode1 – признак наличия доп. описания 1
- IsSubCode2 – признак наличия доп. описания 2
- IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата начала услуги
- EndDateTime – дата окончания
- IsHooded – признак скрытая
- IsDeleted – признак удаляемая
- IsNotCalculate – признак не рассчитываемая
- PacketId – ключ пакета
- Index – индекс шаблона услуги
- Массив – массив объектов доплат к авиаперелетам
Вызов метода GetHotelsAdditionalServices POST http://localhost:9000/TourSearchOwin/GetHotelsAdditionalServices? HTTP/1.1
Content-Type: application/json
{
"TourProgramId": 100003404,
"BeginDate": "2018-04-16T00:00:00",
"Duration": 8,
"Currency": "EU",
"Services": [{
"Service": {
"ServiceType": 1,
"Code": 858,
"SubCode1": 67,
"SubCode2": 1,
"Packet": 779,
"Partner": 10760,
"Day": 1,
"DurationInNight": 0,
"City": 35,
"Country": 90,
"Attributes": 0,
"IsRemovable": false,
"Type": 1,
"IsHooded": false,
"IsNotCalculated": false,
"BeginDateTimeString": "2018-04-16T10:00:00",
"EndDateTimeString": "2018-04-16T11:59:00",
"TemplateId": 3,
"Cost": 6,
"ByPax": true,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"Index": 0,
"IsRoute": true,
"ServiceTemplateIndex": 0
},
"TouristNumbersList": [1,
2]
},
{
"Service": {
"ServiceType": 1,
"Code": 774,
"SubCode1": 67,
"SubCode2": 35,
"Packet": 779,
"Partner": 10760,
"Day": 8,
"DurationInNight": 0,
"City": 1,
"Country": 460,
"Attributes": 0,
"IsRemovable": false,
"Type": 1,
"IsHooded": false,
"IsNotCalculated": false,
"BeginDateTimeString": "2018-04-23T00:00:00",
"EndDateTimeString": "2018-04-23T00:00:00",
"TemplateId": 4,
"Cost": 2,
"ByPax": true,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"Index": 3,
"IsRoute": true,
"ServiceTemplateIndex": 3
},
"TouristNumbersList": [1,
2]
}],
"Tourists": [{
"IsMain": true,
"Number": 1,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "",
"LastName": "",
"Patronymic": "",
"FirstNameRus": "",
"LastNameRus": "",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": null,
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": null
},
{
"IsMain": false,
"Number": 2,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "",
"LastName": "",
"Patronymic": "",
"FirstNameRus": "",
"LastNameRus": "",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": null,
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": null
}]
}
Возвращаемый результат метода GetHotelsAdditionalServices (в формате JSON) [{
"ServiceName": "Доплаты к авиаперелетам",
"City": null,
"Country": {
"Key": 90,
"Value": "Австрия"
},
"Code": {
"Key": 357,
"Value": "Топливный сбор"
},
"ByScheduler": false,
"Details": [{
"SubCode1": {
"Key": 41,
"Value": "3G1111 DME-VIE1 ()"
},
"SubCode2": {
"Key": null,
"Value": ""
},
"Date": "2018-04-16T10:00:00",
"IsShowTransportPlan": false,
"Cost": 24,
"QuotaStatus": {
"PlacesStatus": 0,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 10760,
"ByPax": false,
"Partner": {
"Key": 0,
"Value": null
}
}],
"ParentId": null,
"PartnerBasedOnServiceTemplateId": null,
"ShowOrder": 0,
"ShowOrderAddDescript1": 0,
"ShowOrderAddDescript2": 0,
"Id": -1,
"SvKey": 12,
"IsSubCode1": false,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-04-16T10:00:00",
"EndDateTime": "0001-01-01T00:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": true,
"PacketId": 777,
"Index": 0
}]
|
Выгрузка услуг доплат к отелям (GetHotelsAdditionalServices)
Метод производит выгрузку услуг доплат к отелям.
- Формат запроса:
- POST .../TourSearchOwin/GetHotelsAdditionalServices?
- Принимаемые параметры headers ( * – обязательный):
- Content-Type * – application/json
- Принимаемые параметры POST запроса ( * – обязательный):
- TourProgramId – ключ турпрограммы
- BeginDate – дата начала тура
- Duration – продолжительность тура
- Currency – код валюты
- Services – массив услуг отелей для получения доплат
- Service – объект услуга отель
- ServiceType – тип услуги
- Code – код услуги
- SubCode1 – доп. описание 1 услуги
- SubCode2 – доп. описание 2 услуги
- Packet – ключ пакета услуги
- Partner – ключ партнера услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- City – ключ города
- Country – страна услуги
- Attributes – битовая маска атрибутов услуг
- IsRemovable – (не обрабатывается)
- Type – тип услуги в путевке (базовая дополнительная)
- IsHooded – признак скрытая услуга
- IsNotCalculated – признак не рассчитываемая услуга
- BeginDateTimeString – дата и время начала услуги (YYYY-MM-DDThh:mm:ss)
- EndDateTimeString – дата и время окончания услуги (YYYY-MM-DDThh:mm:ss)
- TemplateId – шаблон услуги
- Cost – цена услуги
- ByPax – цена за человека
- QuotaStatus – объект статус квотирования
- PlacesStatus – статус по квотам (есть места-1 / нет мест-2 / под запрос-4)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- Index – индекс услуги
- IsRoute – признак маршрутная услуга
- ServiceTemplateIndex – индекс шаблона услуги
- RemoteId – (в доплатах не используется)
- TouristNumbersList – массив туристов, привязанных к услуге
- Service – объект услуга отель
- Tourists – массив туристов
- IsMain – главный турист
- Number – порядковый номер туриста
- AgeType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
- MaleFemaleSex – пол (0 – мужской, 1 – женский)
- FirstName – имя (лат)
- LastName – фамилия (лат)
- Patronymic – отчество (лат)
- FirstNameRus – имя (рус)
- LastNameRus – фамилия (рус)
- PatronymicRus – отчество (рус)
- InternationalPassportSeries – серия загранпаспорта
- InternationalPassportNumber – номер загранпаспорта
- InternationalPassportDateOfIssue – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
- InternationalPassportDateOfIssueString – дата выдачи загранпаспорта в строковом формате (DD.MM.YYYY)
- InternationalPassportDateOfExpiry – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
- InternationalPassportDateOfExpiryString – дата окончания действия загранпаспорта в строковом формате (DD.MM.YYYY)
- internationalPassportByWhom – кем выдан загранпаспорт
- PassportSeries – серия паспорта
- PassportNumber – номер паспорта
- PassportDateOfIssue – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
- PassportDateOfIssueString – дата выдачи паспорта в строке (DD.MM.YYYY)
- PassportByWhom – кем выдан паспорт
- Citizenship – название страны
- Phone – телефон
- Email – e-mail
- BirthDay – дата рождения (YYYY-MM-DDThh:mm:ssz)
- BirthDayString – дата рождения в строковом формате (DD.MM.YYYY)
- BirthPlace – место рождения
- CitizenID – гражданство
- Age – количество полных лет на момент окончания тура
- Возвращаемый результат:
- Массив – массив объектов связок Возраст-Отель-Доп. услуги
- Age – возраст туриста
- Hotel – объект отель
- ServiceType – тип услуги
- Code – код услуги
- SubCode1 – доп. описание 1
- SubCode2 – доп. описание 2
- PacketId – ключ пакета
- PartnerId – ключ партнера
- Day – день предоставления услуги
- BeginTime – время начала услуги
- EndTime – время окончания услуги
- DurationInNight – продолжительность услуги в ночах
- Attributes – маска атрибутов услуги
- CountryId – ключ страны услуги
- CityId – ключ города
- Type – тип услуги в путевке
- ShowOrder – порядок при печати (сортировка) по услуге
- ShowOrderAddDescript1 – порядок при печати (сортировка) по доп. описанию 1
- ShowOrderAddDescript2 – порядок при печати (сортировка) по доп. описанию 2
- IsCommission – признак, комиссионная ли услуга
- BaseFlightsParams – параметр не обрабатывается
- AdditionalServices – массив доплат
- ServiceName – название услуги
- City – объект город
- Country – ключ страны
- Code – объект код услуги
- Key – ключ услуги
- Value – название услуги
- ByScheduler – признак по расписанию
- Details - объект детализация
- SubCode1 – объект доп. описание 1
- Key – ключ
- Value – название
- SubCode2 – объект доп. описание 2
- Key – ключ
- Value – название
- Date – дата услуги
- IsShowTransportPlan – признак показать транспортный план (для автобусов)
- Cost – цена
- QuotaStatus – объект статус квотирования
- PlacesStatus – статус по квотам (есть места-1 / нет мест-2 / под запрос-4)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- PartnerId – ключ партнера
- ByPax – признак за человека
- Partner – объект партнер (не заполняется)
- Key – ключ (не заполняется)
- Value – название (не заполняется)
- SubCode1 – объект доп. описание 1
- ParentId – ключ родительской услуги
- PartnerBasedOnServiceTemplateId – шаблон услуги для подбора поставщика
- ShowOrder – порядок при печати (сортировка) по услуге
- ShowOrderAddDescript1 – порядок при печати (сортировка) по доп. описанию 1
- ShowOrderAddDescript2 – порядок при печати (сортировка) по доп. описанию 2
- Id – идентификатор услуги
- SvKey – тип услуги
- IsSubCode1 – признак наличия доп. описания 1
- IsSubCode2 – признак наличия доп. описания 2
- IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата начала услуги
- EndDateTime – дата окончания
- IsHooded – признак скрытая
- IsDeleted – признак удаляемая
- IsNotCalculate – признак не рассчитываемая
- PacketId – ключ пакета
- Index – индекс шаблона услуги
- Массив – массив объектов связок Возраст-Отель-Доп. услуги
Вызов метода GetHotelsAdditionalServices POST http://localhost:9000/TourSearchOwin/GetHotelsAdditionalServices? HTTP/1.1
Content-Type: application/json
{ "TourProgramId": 100003404,
"BeginDate": "2018-04-16T00:00:00",
"Duration": 8,
"Currency": "EU",
"Services": [{
"Service": {
"ServiceType": 3,
"Code": 178,
"SubCode1": 46387,
"SubCode2": 57,
"Packet": 779,
"Partner": 12667,
"Day": 1,
"DurationInNight": 7,
"City": 35,
"Country": 90,
"Attributes": 0,
"IsRemovable": false,
"Type": 1,
"IsHooded": false,
"IsNotCalculated": false
"BeginDateTimeString": "2018-04-16T11:59:00"
"EndDateTimeString": "2018-04-23T11:59:00",
"TemplateId": 1,
"Cost": 122,
"ByPax": false,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"Index": 1,
"IsRoute": true,
"ServiceTemplateIndex": 1,
"RemoteId": null
},
"TouristNumbersList": [1,
2
}],
"Tourists": [{
"IsMain": true,
"Number": 1,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "",
"LastName": "",
"Patronymic": "",
"FirstNameRus": "",
"LastNameRus": "",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": null,
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": null
},
{
"IsMain": false,
"Number": 2,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "",
"LastName": "",
"Patronymic": "",
"FirstNameRus": "",
"LastNameRus": "",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": null,
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": null
}]
}
Возвращаемый результат метода GetHotelsAdditionalServices (в формате JSON) [{
"Age": 17,
"Hotel": {
"ServiceType": 3,
"Code": 178,
"SubCode1": 46387,
"SubCode2": 57,
"PacketId": 779,
"PartnerId": 12667,
"Day": 1,
"BeginTime": "11:59:00",
"EndTime": "11:59:00",
"DurationInNight": 7,
"Attributes": 0,
"CountryId": 90,
"CityId": 35,
"Type": 1,
"ShowOrder": 1,
"ShowOrderAddDescript1": 0,
"ShowOrderAddDescript2": 0,
"IsCommission": false,
"BaseFlightsParams": null
},
"AdditionalServices": [{
"ServiceName": "Доплаты к отелям",
"City": null,
"Country": {
"Key": 90,
"Value": "Австрия"
},
"Code": {
"Key": 364,
"Value": "Праздник"
},
"ByScheduler": false,
"Details": [{
"SubCode1": {
"Key": 109,
"Value": "Ananas"
},
"SubCode2": {
"Key": null,
"Value": ""
},
"Date": "2018-04-16T11:59:00",
"IsShowTransportPlan": false,
"Cost": 2,
"QuotaStatus": {
"PlacesStatus": 0,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12667,
"ByPax": false,
"Partner": {
"Key": 0,
"Value": null
}
}],
"ParentId": null,
"PartnerBasedOnServiceTemplateId": null,
"ShowOrder": 0,
"ShowOrderAddDescript1": 0,
"ShowOrderAddDescript2": 0,
"Id": -1,
"SvKey": 13,
"IsSubCode1": false,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-04-16T11:59:00",
"EndDateTime": "0001-01-01T00:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": true,
"PacketId": 879,
"Index": 1
}]
}]
|
Расчет индивидуальных услуг (CalculateIndividualServiceCosts)
Метод производит расчет услуг с индивидуальным выбором у туристов.
- Формат запроса:
- POST .../TourSearchOwin/CalculateIndividualServiceCosts?
- Принимаемые параметры headers ( * – обязательный):
- Content-Type * – application/json
- Принимаемые параметры POST запроса ( * – обязательный):
- TourProgramId – ключ тура
- TourDate – дата тура
- TourDuration – продолжительность тура
- Currency – код валюты
- Services – массив индивидуальных услуг
- ServiceType – тип услуги
- Code – код услуги
- SubCode1 – доп. описание 1
- SubCode2 – доп. описание 2
- Packet – ключ пакета
- Partner – ключ партнера
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- City – объект город
- Country – страна услуги
- Attributes – маска атрибутов услуги
- Type – тип услуги
- IsHooded – признак скрытая
- IsNotCalculated – признак не рассчитываемая
- BeginDateTimeString – дата начала услуги в строке
- EndDateTimeString – дата начала услуги в строке
- TemplateId – номер шаблона услуги
- Cost – цена услуги
- ByPax – цена за человека
- QuotaStatus – объект статус квотирования
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- Index – индекс услуги
- IsRoute – признак маршрутная услуга
- ServiceTemplateIndex – индекс шаблона услуги
- RemoteId – (не используется)
- Ages – массив возрастов туристов
- Возвращаемый результат:
- Массив – массив связок Возраст-Услуга-Цена
- Age – возраст
- Service – объект услуга
- ServiceType – тип услуги
- Code – код услуги
- SubCode1 – доп. описание 1
- SubCode2 – доп. описание 2
- PacketId – ключ пакета услуги
- PartnerId – ключ партнера
- Day – день предоставления услуги
- BeginTime – время начала услуги
- EndTime – время окончания услуги
- DurationInNight – продолжительность услуги в ночах
- Attributes – маска атрибутов услуги
- CountryId – ключ страны
- CityId – ключ города
- Type – тип услуги
- ShowOrder – порядковый номер
- SimpleServiceCost – объект цена
- Brutto – брутто
- Discount – скидка
- Массив – массив связок Возраст-Услуга-Цена
Вызов метода CalculateIndividualServiceCosts POST http://localhost:9000/TourSearchOwin/CalculateIndividualServiceCosts? HTTP/1.1
Content-Type: application/json
{
"TourProgramId": 100003403,
"TourDate": "2018-04-16T00:00:00",
"TourDuration": 8,
"Currency": "EU",
"Services": [{
"ServiceType": 6,
"Code": 155,
"SubCode1": 7,
"SubCode2": 10,
"Packet": 779,
"Partner": 10760,
"Day": 1,
"DurationInNight": 7,
"City": null,
"Country": 90,
"Attributes": 0,
"Type": 1,
"IsHooded": false,
"IsNotCalculated": false,
"BeginDateTimeString": "2018-04-16T00:00:00",
"EndDateTimeString": null,
"TemplateId": 12,
"Cost": 26,
"ByPax": false,
"QuotaStatus": {
"PlacesStatus": 1,
"FreePlaces": 0,
"IsFewPlaces": false
},
"Index": null,
"IsRoute": null,
"ServiceTemplateIndex": null,
"RemoteId": null
}],
"Ages": [17]
}
Возвращаемый результат метода CalculateIndividualServiceCosts (в формате JSON) [{
"Age": 17,
"Service": {
"ServiceType": 6,
"Code": 155,
"SubCode1": 7,
"SubCode2": 10,
"PacketId": 779,
"PartnerId": 10760,
"Day": 1,
"BeginTime": null,
"EndTime": null,
"DurationInNight": 7,
"Attributes": 0,
"CountryId": 90,
"CityId": null,
"Type": 1,
"ShowOrder": 0
},
"SimpleServiceCost": {
"Brutto": 13,
"Discount": 0
}
}]
|
Поиск рейсов из внешней системы (GetGDSFlights)
Метод производит поиск рейсов из внешней системы.
- Формат запроса:
- POST .../TourSearchOwin/GetGDSFlights?
- Принимаемые параметры headers ( * – обязательный):
- Content-Type * – application/json
- Принимаемые параметры POST запроса ( * – обязательный):
Внимание! Если в туре используется перелет из GDS, то в параметр flightSettings передается ответ из секции flightGDSRequest метода API ActualizeTour. Далее для получения цены выполняем методы RebuidFlights и CalculateReservation.
- flightSettings – информация о шаблоне услуги авиаперелета
- templateId – идентификатор шаблона услуги
- patternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
- serviceId – идентификатор класса услуги (внутренняя информация из программы туров)
- service – информация об услуге авиаперелета
- ServiceType – тип услуги
- Code – ключ услуги
- SubCode1 – доп. описание 1
- SubCode2 – доп. описание 2
- CountryId – страна услуги
- CityId – город услуги
- PacketId – пакет услуги
- PartnerId – партнер услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- price – стоимость перелета
- quotaInfo – объект информация по квотам
- status – статус по квотам (есть места / нет мест / под запрос)
- freePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- isFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- flightDateTimeLimitationInterval –
- startLimitation – начало тайм-лимита
- finishLimitation – объект тайм-лимита
- dateTimeString – дата окончания тайм-лимита
- serviceType – тип услуги
- serviceCode – код услуги
- flightSourceMode – тип перелета (1 – локальный, 2 – из внешний системы)
- passengers – информация о пассажирах
- IsMain – главный турист
- Number – порядковый номер туриста
- AgeType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
- MaleFemaleSex – пол (0 – мужской, 1 – женский)
- FirstName – имя (лат)
- LastName – фамилия (лат)
- Patronymic – отчество (лат)
- FirstNameRus – имя (рус)
- LastNameRus – фамилия (рус)
- PatronymicRus – отчество (рус)
- InternationalPassportSeries – серия загранпаспорта
- InternationalPassportNumber – номер загранпаспорта
- InternationalPassportDateOfIssue – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
- InternationalPassportDateOfIssueString – дата выдачи загранпаспорта в строке (DD.MM.YYYY)
- InternationalPassportDateOfExpiry – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
- InternationalPassportDateOfExpiryString – дата окончания действия загранпаспорта в строке (DD.MM.YYYY)
- internationalPassportByWhom – кем выдан загранпаспорт
- PassportSeries – серия паспорта
- PassportNumber – номер паспорта
- PassportDateOfIssue – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
- PassportDateOfIssueString – дата выдачи паспорта в строке (DD.MM.YYYY)
- PassportByWhom – кем выдан паспорт
- Citizenship – название страны
- Phone – телефон
- Email – e-mail
- BirthDay – дата рождения (YYYY-MM-DDThh:mm:ssz)
- BirthDayString – дата рождения в строковом формате (DD.MM.YYYY)
- BirthPlace – место рождения
- CitizenID – гражданство
- Age – количество полных лет на момент окончания тура
- tourDate – дата тура
- tourCurrency – валюта тура
- tourId – ключ программы тура
- filterTariff – информация о тарифах
- filterDeptime – информация о времени вылета
- isCommission – признак комиссионной цены
- baseFlightsParams – параметра авиаперелета
- CityArrival – город прибытия
- FlightCode – код авиаперелета
- TariffKey – ключ тарифа
- PartnerId – ключ партнера
- isUpdated – информация об обновлении перелета
- key – ключ запроса
- tourDurationByDays – продолжительность перелета
- langueCode – локализация
- flightSettings – информация о шаблоне услуги авиаперелета
- Возвращаемый результат:
- validationResult – информация о валидации
- Errors – ошибки
- Warnings – предупреждения
- States – статус
- IsValid – информация о результате
- flightsStartEndPointPatterns – информация о начале и окончании перелета
- fromPoint – информация о перелете отправления
- country – страна вылета
- id – ключ
- description – описание
- code – код
- city – город вылета
- id – ключ
- description – описание
- code – код
- airport – аэропорт вылета
- id – ключ
- description – описание
- code – код
- country – страна вылета
- toPoint – информация о перелете прибытия
- country – страна прилета
- id – ключ
- description – описание
- code – код
- city – город прилета
- id – ключ
- description – описание
- code – код
- airport – аэропорт прилета
- id – ключ
- description – описание
- code – код
- country – страна прилета
- fromPoint – информация о перелете отправления
- passengersAgeInfos – информация о возрасте пассажиров
- ageType – тип пассажира
- count – количество человек
- flightsSequencies – информация о перелете
- flights – массив данных о перелете из внешнего поставщика
- – ...
- deltaPrice – разница в цене
- amount – стоимость
- currency – валюта
- timeForward – время вперед
- timeBackward – время обратно
- hasTariffFamily – имеется ли семейство тарифов
- rating – рейтинг
- flights – массив данных о перелете из внешнего поставщика
- airTravelAdapterFilterValues – дополнительная информация
- LuggageFilterValue – багаж
- ClassAirTravelFilterValue – класс перелета
- ConnectionsFilterValue – пересадки
- SortFilterValue – сортировка
- AutomaticFlightSelection – подбор перелета
- tariff – тариф
- minFlightTimeForward – минимальное время в пути туда
- maxFlightTimeForward – максимальное время в пути туда
- minFlightTimeBackward – минимальное время в пути обратно
- maxFlightTimeBackward – максимальное время в пути обратно
- validationResult – информация о валидации
Вызов метода GetGDSFlights POST http://localhost:9000/TourSearchOwin/GetGDSFlights? HTTP/1.1
Content-Type: application/json
{
"flightsSource": [{
"flightSettings": {
"templateId": 1,
"patternId": 0,
"serviceId": 0
},
"service": {
"serviceType": 1,
"code": 1084,
"subCode1": 67,
"subCode2": 1,
"countryId": 90,
"cityId": 35,
"packetId": 1037,
"partnerId": 12792,
"day": 1,
"durationInNight": 0
},
"price": 142.84,
"quotaInfo": {
"status": 4,
"freePlaces": 0,
"isFewPlaces": false
},
"flightDateTimeLimitationInterval": {
"startLimitation": null,
"finishLimitation": {
"dateTimeString": "2021-01-30T21:40:00",
"serviceType": 3,
"serviceCode": 178
}
},
"flightSourceMode": 2
}
],
"passengers": [{
"IsMain": true,
"Number": 1,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "",
"LastName": "",
"Patronymic": "",
"FirstNameRus": "",
"LastNameRus": "",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": "",
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": 17
}, {
"IsMain": false,
"Number": 2,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "",
"LastName": "",
"Patronymic": "",
"FirstNameRus": "",
"LastNameRus": "",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": "",
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": 17
}
],
"tourDate": "2021-01-30T00:00:00",
"tourCurrency": "$",
"tourId": 100008958,
"filterTariff": {},
"filterDeptime": ["all"],
"isCommission": true,
"baseFlightsParams": [{
"CityArrival": 35,
"FlightCode": 1084,
"TariffKey": 67,
"PartnerId": 12792
}
],
"isUpdated": false,
"key": 0,
"tourDurationByDays": "11",
"langueCode": "ru",
"isCanary": "false"
}
Возвращаемый результат метода GetGDSFlights (в формате JSON) [
{
"validationResult": {
"Errors": [],
"Warnings": null,
"States": null,
"IsValid": true
},
"flightsStartEndPointPatterns": [{
"fromPoint": {
"country": {
"id": 460,
"description": "Россия",
"code": "RU"
},
"city": {
"id": 1,
"description": "Москва",
"code": "MOW"
},
"airport": {
"id": 52,
"description": "SVO4(Шереметьево-24)",
"code": "SVO4"
}
},
"toPoint": {
"country": {
"id": 90,
"description": "Австрия",
"code": "AUS"
},
"city": {
"id": 35,
"description": "Вена",
"code": "VIE"
},
"airport": {
"id": 58,
"description": "VIE1(Vena1)",
"code": "VIE1"
}
},
"departureDate": "2021-01-30T00:00:00",
"arrivalDate": "2021-01-30T23:59:59"
}
],
"passengersAgeInfos": [{
"ageType": 0,
"count": 2
}
],
"flightsSequencies": [{
"flights": [{
"direction": 1,
"commonPrice": 147,
"remotePriceSource": {
"providerId": 82,
"flightId": "17554452020000"
},
"localPriceSource": {
"packetId": 1037,
"partnerId": 12792
},
"flightsSequenceSettings": [{
"templateId": 1,
"patternId": 0,
"serviceId": 0
}
],
"segments": [{
"segmentNumber": 1,
"depratureCity": {
"gdsItem": {
"serviceId": 4,
"languageId": 38,
"id": "524901",
"code": "MOW",
"name": "Moscow",
"automaticallyMappingValue": [
"Moscow"
],
"requestValue": "MOW",
"displayedValue": "Moscow",
"dependencies": [{
"dictionaryId": 1,
"itemId": "643"
}
],
"columnValues": [
"Moscow",
"Russia"
]
},
"mtItem": {
"id": "1",
"code": "MOW",
"name": "Москва",
"automaticallyMappingValue": [
"Москва",
"Moscow"
],
"requestValue": "",
"displayedValue": "Москва",
"dependencies": [{
"dictionaryId": 1,
"itemId": "460"
}
],
"columnValues": [
"MOW",
"Москва",
"Россия"
]
},
"mapping": {
"id": 5517,
"providerId": 82,
"dictionaryId": 2,
"providerDictionaryItemId": "524901",
"providerDictionaryItemName": null,
"mtDictionaryItemId": 1,
"mtDictionaryItemName": null
}
},
"arrivalCity": {
"gdsItem": {
"serviceId": 4,
"languageId": 38,
"id": "2761369",
"code": "VIE",
"name": "Vienna",
"automaticallyMappingValue": [
"Vienna"
],
"requestValue": "VIE",
"displayedValue": "Vienna",
"dependencies": [{
"dictionaryId": 1,
"itemId": "40"
}
],
"columnValues": [
"Vienna",
"Austria"
]
},
"mtItem": {
"id": "35",
"code": "VIE",
"name": "Вена",
"automaticallyMappingValue": [
"Вена",
"Vienna"
],
"requestValue": "",
"displayedValue": "Вена",
"dependencies": [{
"dictionaryId": 1,
"itemId": "90"
}
],
"columnValues": [
"VIE",
"Вена",
"Австрия"
]
},
"mapping": {
"id": 5361,
"providerId": 82,
"dictionaryId": 2,
"providerDictionaryItemId": "2761369",
"providerDictionaryItemName": null,
"mtDictionaryItemId": 35,
"mtDictionaryItemName": null
}
},
"departureAirport": {
"gdsItem": {
"serviceId": 4,
"languageId": 38,
"id": "5930",
"code": "VKO",
"name": "Moscow, Vnukovo",
"automaticallyMappingValue": [
"VKO"
],
"requestValue": "VKO",
"displayedValue": "VKO Moscow, Vnukovo",
"dependencies": [{
"dictionaryId": 1,
"itemId": "643"
}, {
"dictionaryId": 2,
"itemId": "524901"
}
],
"columnValues": [
"VKO Moscow, Vnukovo",
"Russia, Москва"
]
},
"mtItem": {
"id": "59",
"code": "VKO",
"name": "Внуково",
"automaticallyMappingValue": [
"VKO"
],
"requestValue": "",
"displayedValue": "VKO Внуково",
"dependencies": [{
"dictionaryId": 1,
"itemId": "460"
}, {
"dictionaryId": 2,
"itemId": "1"
}
],
"columnValues": [
"VKO",
"VKO Внуково",
"Россия, Москва"
]
},
"mapping": {
"id": 5734,
"providerId": 82,
"dictionaryId": 5,
"providerDictionaryItemId": "5930",
"providerDictionaryItemName": null,
"mtDictionaryItemId": 59,
"mtDictionaryItemName": null
}
},
"arrivalAirport": {
"gdsItem": {
"serviceId": 4,
"languageId": 38,
"id": "6625",
"code": "VIE",
"name": "Vienna International Airport",
"automaticallyMappingValue": [
"VIE"
],
"requestValue": "VIE",
"displayedValue": "VIE Vienna International Airport",
"dependencies": [{
"dictionaryId": 1,
"itemId": "40"
}, {
"dictionaryId": 2,
"itemId": "2761369"
}
],
"columnValues": [
"VIE Vienna International Airport",
"Austria, Вена"
]
},
"mtItem": {
"id": "58",
"code": "VIE1",
"name": "Vena1",
"automaticallyMappingValue": [
"VIE1"
],
"requestValue": "",
"displayedValue": "VIE1 Vena1",
"dependencies": [{
"dictionaryId": 1,
"itemId": "90"
}, {
"dictionaryId": 2,
"itemId": "35"
}
],
"columnValues": [
"VIE1",
"VIE1 Vena1",
"Австрия, Вена"
]
},
"mapping": {
"id": 5755,
"providerId": 82,
"dictionaryId": 5,
"providerDictionaryItemId": "6625",
"providerDictionaryItemName": null,
"mtDictionaryItemId": 58,
"mtDictionaryItemName": null
}
},
"airline": {
"gdsItem": {
"serviceId": 4,
"languageId": 38,
"id": "223",
"code": "UT",
"name": "UTair",
"automaticallyMappingValue": [
"UT"
],
"requestValue": "UT",
"displayedValue": "UT UTair",
"dependencies": [],
"columnValues": [
"UT UTair",
""
]
},
"mtItem": {
"id": "12",
"code": "E9",
"name": "AJT",
"automaticallyMappingValue": [
"E9"
],
"requestValue": "",
"displayedValue": "E9 AJT",
"dependencies": [],
"columnValues": [
"E9",
"E9 AJT",
""
]
},
"mapping": {
"id": 5831,
"providerId": 82,
"dictionaryId": 5,
"providerDictionaryItemId": "223",
"providerDictionaryItemName": null,
"mtDictionaryItemId": 12,
"mtDictionaryItemName": null
}
},
"aircraft": {
"gdsItem": {
"serviceId": 4,
"languageId": 38,
"id": "42",
"code": "738",
"name": "Boeing 737",
"automaticallyMappingValue": [
"738"
],
"requestValue": "738",
"displayedValue": "738 Boeing 737",
"dependencies": [],
"columnValues": [
"738 Boeing 737",
""
]
},
"mtItem": {
"id": "24",
"code": "738",
"name": "Boeing",
"automaticallyMappingValue": [
"738"
],
"requestValue": "",
"displayedValue": "738 Boeing",
"dependencies": [],
"columnValues": [
"738",
"738 Boeing",
""
]
},
"mapping": {
"id": 5809,
"providerId": 82,
"dictionaryId": 5,
"providerDictionaryItemId": "42",
"providerDictionaryItemName": null,
"mtDictionaryItemId": 24,
"mtDictionaryItemName": null
}
},
"tariff": {
"gdsItem": {
"id": "0",
"code": "P",
"name": "Экономический класс",
"automaticallyMappingValue": [],
"requestValue": "",
"displayedValue": "",
"dependencies": [],
"columnValues": []
},
"mtItem": null,
"mapping": null
},
"flightNumber": "821",
"baggageRestriction": [
"Взрослые - 0 мест багажа"
],
"caryyOn": [
"5 кг (40x30x20 см)"
],
"departureDate": "2021-01-30T16:00:00",
"arrivalDate": "2021-01-30T17:55:00",
"quotaInfo": {
"status": 1,
"freePlaces": 0,
"isFewPlaces": false
},
"filterLuggageValue": [
"withoutLuggage"
],
"transferValue": "withoutDirect",
"isLocalFlight": false,
"fligthTime": 235,
"timeLimit": "22.01.2021 18:59:00"
}
]
}
],
"deltaPrice": {
"amount": 4.16,
"currency": "$"
},
"timeForward": 235,
"timeBackward": 0,
"hasTariffFamily": true,
"rating": 9.3467
}
],
"airTravelAdapterFilterValues": {
"LuggageFilterValue": "all",
"ClassAirTravelFilterValue": "economy",
"ConnectionsFilterValue": "all",
"SortFilterValue": "cheap",
"AutomaticFlightSelection": false
},
"tariff": "economy",
"minFlightTimeForward": 170,
"maxFlightTimeForward": 1675,
"minFlightTimeBackward": 0,
"maxFlightTimeBackward": 0
}
]
|
Выгрузка информации от внешнего поставщика по перелету (RebuildFlights)
Внимание! Если в туре используется перелет из GDS, то перед этим методом вызывается GetGDSFlights в принимаемые параметры которого передается ответ из секции flightGDSRequest метода API ActualizeTour. Далее текущий метод RebuidFlights и далее CalculateReservation.
Метод возвращает информацию по выбранному перелету от внешнего поставщика.
- Формат запроса:
- POST .../TourSearchOwin/RebuildFlights
- Принимаемые параметры headers ( * – обязательный):
- Content-Type * – application/json
- Принимаемые параметры POST запроса ( * – обязательный):
- flights – перелеты
- direction –
- commonPrice – общая стоимость перелета
- remotePriceSource – данные расчета локального перелета
- providerId – ID внешнего поставщика
- flightId – идентификатор внешнего перелета
- localPriceSource – данные расчета локального перелета
- packetId – ключ пакета
- partnerId – идентификатор партнера
- flightsSequenceSettings – описание параметров последовательности перелетов для которых действуют замены
- templateId – идентификатор шаблона услуги
- patternId – идентификатор паттерна услуги
- serviceId – идентификатор класса услуги
- segments – сегменты авиаперелета
- segmentNumber – номер сегмента
- depratureCity – город отправления
- gdsItem – справочная информация внешней системы
- serviceId – идентификатор системы
- languageId – идентификатор языка
- id – идентификатор в системе внешнего поставщика
- code – код в системе внешнего поставщика
- name – имя в системе внешнего поставщика
- automaticallyMappingValue – выражение используемое для автоматического маппинга
- requestValue – значение поля справочника которое используется в запросе к внешнему поставщику
- displayedValue – значение поля справочника который используется для отображения
- dependencies – список зависимых сущностей
- dictionaryId – идентификатор справочника
- itemId –
- columnValues – наименование города и страны
- mtItem – справочная информации локальной системы
- id – идентификатор в локальной системе
- code – код в локальной системе
- name – имя в локальной системе
- automaticallyMappingValue – выражение используемое для автоматического маппинга
- requestValue – значение поля справочника которое используется в запросе к внешнему поставщику
- displayedValue – значение поля справочника который используется для отображения
- dependencies – список зависимых сущностей
- dictionaryId – идентификатор справочника
- itemId –
- columnValues – наименование страны и города
- mapping – связка
- id – Id маппинга
- providerId – Id провайдера
- dictionaryId – Id справочника
- providerDictionaryItemId – Id справочника внешнего поставщика
- providerDictionaryItemName – обозначение справочника внешнего поставщика
- mtDictionaryItemId – Id справочника МТ
- mtDictionaryItemName – обозначение справочника MT
- gdsItem – справочная информация внешней системы
- arrivalCity – город прибытия
- gdsItem – справочная информация внешней системы
- serviceId – идентификатор системы
- languageId – идентификатор языка
- id – идентификатор в системе внешнего поставщика
- code – код в системе внешнего поставщика
- name – имя в системе внешнего поставщика
- automaticallyMappingValue – выражение используемое для автоматического маппинга
- requestValue – значение поля справочника которое используется в запросе к внешнему поставщику
- displayedValue – значение поля справочника который используется для отображения
- dependencies – список зависимых сущностей
- dictionaryId – идентификатор справочника
- itemId –
- columnValues – наименование города и страны
- mtItem – справочная информации локальной системы
- id – идентификатор в локальной системе
- code – код в локальной системе
- name – имя в локальной системе
- automaticallyMappingValue – выражение используемое для автоматического маппинга
- requestValue – значение поля справочника которое используется в запросе к внешнему поставщику
- displayedValue – значение поля справочника который используется для отображения
- dependencies – список зависимых сущностей
- dictionaryId – идентификатор справочника
- itemId –
- columnValues – наименование страны и города
- mapping – связка
- id – Id маппинга
- providerId – Id провайдера
- dictionaryId – Id справочника
- providerDictionaryItemId – Id справочника внешнего поставщика
- providerDictionaryItemName – обозначение справочника внешнего поставщика
- mtDictionaryItemId – Id справочника МТ
- mtDictionaryItemName – обозначение справочника MT
- gdsItem – справочная информация внешней системы
- departureAirport – аэропорт вылета
- arrivalAirport – аэропорт прилета
- gdsItem –справочная информация внешней системы
- serviceId – идентификатор системы
- languageId – идентификатор языка
- id – идентификатор аэропорта вылета
- code – код аэропорта вылета
- name – наименование аэропорта
- automaticallyMappingValue – выражение используемое для автоматического маппинга
- requestValue – значение поля справочника которое используется в запросе к внешнему поставщику
- displayedValue – значение поля справочника который используется для отображения
- dependencies – список зависимых сущностей
- dictionaryId – идентификатор справочника
- itemId –
- columnValues – наименование аэропорта города страны
- mtItem – справочная информации из локальной системы
- id – идентификатор аэропорта в локальной системе
- code – код аэропорта в локальной системе
- name – имя аэропорта в локальной системе
- automaticallyMappingValue – выражение используемое для автоматического маппинга
- requestValue – значение поля справочника которое используется в запросе к внешнему поставщику
- displayedValue – значение поля справочника который используется для отображения
- dependencies – список зависимых сущностей
- dictionaryId – идентификатор справочника
- itemId –
- columnValues – наименование страны и города
- mapping – связка
- id – Id маппинга аэропорта
- providerId – Id провайдера аэропорта
- dictionaryId – Id справочника аэропорта
- providerDictionaryItemId – Id справочника аэропорта внешнего поставщика
- providerDictionaryItemName – обозначение справочника аэропорта внешнего поставщика
- mtDictionaryItemId – Id справочника аэропорта МТ
- mtDictionaryItemName – обозначение справочника аэропорта MT
- gdsItem –справочная информация внешней системы
- airline – авиакомпания
- gdsItem – справочная информация внешней системы
- serviceId – идентификатор авиакомпании внешней системы
- languageId – идентификатор языка
- id – идентификатор авиакомпании
- code – код авиакомпании
- name – наименование авиакомпании
- automaticallyMappingValue – выражение используемое для автоматического маппинга
- requestValue – значение поля справочника которое используется в запросе к внешнему поставщику
- displayedValue – значение поля справочника который используется для отображения
- dependencies – список зависимых сущностей
- columnValues – наименование авиакомпании
- mtItem – справочная информация из локальной системы
- id – идентификатор авиакомпании в локальной системе
- code – код авиакомпании в локальной системе
- name – наименование авиакомпании в локальной системе
- automaticallyMappingValue – выражение используемое для автоматического маппинга
- requestValue – значение поля справочника которое используется в запросе к внешнему поставщику
- displayedValue – значение поля справочника который используется для отображения
- dependencies – список зависимых сущностей
- columnValues – наименование авиакомпании
- mapping – связка
- id – Id маппинга авиакомпании
- providerId – Id провайдера авиакомпании
- dictionaryId – Id справочника авиакомпании
- providerDictionaryItemId – Id справочника авиакомпании внешнего поставщика
- providerDictionaryItemName – обозначение справочника авиакомпании внешнего поставщика
- mtDictionaryItemId – Id справочника авиакомпании МТ
- mtDictionaryItemName – обозначение справочника авиакомпании MT
- gdsItem – справочная информация внешней системы
- aircraft – воздушное судно
- gdsItem – справочная информация внешней системы
- serviceId – идентификатор воздушного судна внешней системы
- languageId – идентификатор языка
- id – идентификатор воздушного судна
- code – код воздушного судна
- name – наименование воздушного судна
- automaticallyMappingValue – выражение используемое для автоматического маппинга
- requestValue – значение поля справочника которое используется в запросе к внешнему поставщику
- displayedValue – значение поля справочника который используется для отображения
- dependencies – список зависимых сущностей
- columnValues – наименование воздушного судна
- mtItem – справочная информация из локальной системы
- id – идентификатор воздушного судна в локальной системе
- code – код воздушного судна в локальной системе
- name – наименование воздушного судна в локальной системе
- automaticallyMappingValue – выражение используемое для автоматического маппинга
- requestValue – значение поля справочника которое используется в запросе к внешнему поставщику
- displayedValue – значение поля справочника который используется для отображения
- dependencies – список зависимых сущностей
- columnValues – наименование воздушного судна
- mapping – связка
- id – Id маппинга воздушного судна
- providerId – Id провайдера воздушного судна
- dictionaryId – Id справочника воздушного судна
- providerDictionaryItemId – Id справочника воздушного судна внешнего поставщика
- providerDictionaryItemName – обозначение справочника воздушного судна внешнего поставщика
- mtDictionaryItemId – Id справочника воздушного судна МТ
- mtDictionaryItemName – обозначение справочника воздушного судна MT
- gdsItem – справочная информация внешней системы
- tariff – тариф
- gdsItem – справочная информация внешней системы
- id – идентификатор тарифа
- code – код тарифа
- name – наименование тарифа
- automaticallyMappingValue – выражение используемое для автоматического маппинга
- requestValue – значение поля справочника которое используется в запросе к внешнему поставщику
- displayedValue – значение поля справочника который используется для отображения
- dependencies – список зависимых сущностей
- columnValues – наименование тарифа
- mtItem – справочная информация из локальной системы
- mapping – связка
- gdsItem – справочная информация внешней системы
- flightNumber – номер перелета
- baggageRestriction – ограничение провоза багажа
- caryyOncarry – ограничение ручной клади
- departureDate – дата вылета
- arrivalDate – дата прилета
- quotaInfo – объект информация по квотам
- status – статус по квотам (есть места / нет мест / под запрос)
- freePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- isFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- tourDate – дата тура
- flights – перелеты
- Возвращаемый результат:
- flights – информация о рейсах
- remoteFlightId – идентификатор внешнего перелета
- flightsSettings – внутренняя информация о перелете
- templateId – идентификатор шаблона услуги
- patternId – идентификатор паттерна услуги
- serviceId – идентификатор класса услуги
- flightsPlains – планы полетов
- DepartureCity – город вылета
- Key – ключ города
- Value – наименование города
- DepartureCountry – страна вылета
- Key – ключ страны
- Value – наименование страны
- ArrivalCity – город прибытия
- Key – ключ города
- Value – наименование города
- ArrivalCountry – страна прибытия
- Key – ключ страны
- Value – наименование страны
- DepartureAirport – аэропорт вылета
- Key – ключ аэропорта
- Value – наименование аэропорта
- ArrivalAirport – аэропорт прилета
- Key – ключ аэропорта
- Value – наименование аэропорта
- Airline – авиакомпания
- Id – идентификатор авиакомпании
- "Value – наименование авиакомпании
- "Key – ключ авиакомпании
- Aircraft – воздушное судно
- Key – ключ воздушного судна
- Value – наименование воздушного судна
- Flight – рейс
- Key – ключ рейса
- Value – наименование рейса
- DepartureTime – время отправления
- ArrivalTime – время прибытия
- TotalTimeOfFlight – полное время перелета
- FlightDetails – детали авиаперелета
- Tariff – информация о тарифе перелета
- Key – идентификатор
- Code – код тарифа
- Name – наименование тарифа
- IsCommission – признак, комиссионная ли услуга
- Cost – разница в стоимости с самым дешевым вариантом
- QuotaStatus – информация о квоте
- PlacesStatus – статус по квотам (есть места-1 / нет мест-2 / под запрос-4)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- PartnerId – ключ партнера
- ByPax – цена за человека (true/false)
- Partner – информация о партнере
- Key – идентификатор
- Value – наименование
- Tariff – информация о тарифе перелета
- FlightSetting – информация о шаблоне услуги авиаперелета
- ServiceId – идентификатор класса услуги (внутренняя информация из программы туров)
- PatternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
- FlightId – идентификатор внешнего перелета
- FlightSourceMode – локальный или внешний перелет (внутренняя информация из программы туров)
- Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
- SvKey – ключ типа услуги
- IsSubCode1 – признак наличия доп. описания 1
- IsSubCode2 – признак наличия доп. описания 2
- IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата предоставления услуги
- EndDateTime – дата окончания услуги
- IsHooded – признак скрытая услуга
- IsDeleted – признак удаляемая услуга
- IsNotCalculate – признак не рассчитываемая услуга
- PacketId – ключ пакета
- Index – порядковый номер услуги
- DepartureCity – город вылета
- flights – информация о рейсах
Вызов метода RebuildFlights POST http://localhost:9000/TourSearchOwin/RebuildFlights HTTP/1.1
Content-Type: application/json
{
"flights": [
{
"remotePriceSource": {
"providerId": 1,
"flightId": "111397601080000"
},
"localPriceSource": {
"packetId": 197,
"partnerId": 10767
},
"flightsSequenceSettings": [
{
"templateId": 1,
"patternId": 0,
"serviceId": 0
}
],
"segments": [
{
"segmentNumber": 1,
"depratureCity": {
"gdsItem": {
"id": "524901",
"code": "MOW",
"name": "Moscow",
"requestValue": "MOW",
"displayedValue": "Moscow",
"dependencies": [
{
"dictionaryId": 1,
"itemId": "643"
}
]
},
"mtItem": {
"id": "1",
"code": "MOW",
"name": "Москва",
"requestValue": "",
"displayedValue": "Москва",
"dependencies": [
{
"dictionaryId": 1,
"itemId": "460"
}
]
},
"mapping": {
"id": 143,
"providerId": 1,
"dictionaryId": 2,
"providerDictionaryItemId": "524901",
"providerDictionaryItemName": null
}
},
"arrivalCity": {
"gdsItem": {
"id": "2761369",
"code": "VIE",
"name": "Vienna",
"requestValue": "VIE",
"displayedValue": "Vienna",
"dependencies": [
{
"dictionaryId": 1,
"itemId": "40"
}
]
},
"mtItem": {
"id": "35",
"code": "VIE",
"name": "Вена",
"requestValue": "",
"displayedValue": "Вена",
"dependencies": [
{
"dictionaryId": 1,
"itemId": "90"
}
]
},
"mapping": {
"id": 41,
"providerId": 1,
"dictionaryId": 2,
"providerDictionaryItemId": "2761369",
"providerDictionaryItemName": null
}
},
"departureAirport": {
"gdsItem": {
"id": "5135",
"code": "SVO",
"name": "Moscow, Sheremetyevo",
"requestValue": "SVO",
"displayedValue": "SVO Moscow, Sheremetyevo",
"dependencies": [
{
"dictionaryId": 1,
"itemId": "643"
},
{
"dictionaryId": 2,
"itemId": "524901"
}
]
},
"mtItem": {
"id": "52",
"code": "SVO",
"name": "Шереметьево-2",
"requestValue": "",
"displayedValue": "SVO Шереметьево-2",
"dependencies": [
{
"dictionaryId": 1,
"itemId": "460"
},
{
"dictionaryId": 2,
"itemId": "1"
}
]
},
"mapping": {
"id": 1619,
"providerId": 1,
"dictionaryId": 5,
"providerDictionaryItemId": "5135",
"providerDictionaryItemName": null
}
},
"arrivalAirport": {
"gdsItem": {
"id": "6625",
"code": "VIE",
"name": "Vienna International Airport",
"requestValue": "VIE",
"displayedValue": "VIE Vienna International Airport",
"dependencies": [
{
"dictionaryId": 1,
"itemId": "40"
},
{
"dictionaryId": 2,
"itemId": "2761369"
}
]
},
"mtItem": {
"id": "58",
"code": "VIE",
"name": "Vena",
"requestValue": "",
"displayedValue": "VIE Vena",
"dependencies": [
{
"dictionaryId": 1,
"itemId": "90"
},
{
"dictionaryId": 2,
"itemId": "35"
}
]
},
"mapping": {
"id": 259,
"providerId": 1,
"dictionaryId": 5,
"providerDictionaryItemId": "6625",
"providerDictionaryItemName": null
}
},
"airline": {
"gdsItem": {
"id": "5",
"code": "SU",
"name": "Aeroflot",
"requestValue": "SU",
"displayedValue": "SU Aeroflot",
"dependencies": []
},
"mtItem": {
"id": "31",
"code": "SU",
"name": "Aeroflot-Russian International AirLines",
"requestValue": "",
"displayedValue": "SU Aeroflot-Russian International AirLines",
"dependencies": []
},
"mapping": {
"id": 265,
"providerId": 1,
"dictionaryId": 5,
"providerDictionaryItemId": "5",
"providerDictionaryItemName": null
}
},
"aircraft": {
"gdsItem": {
"id": "97",
"code": "73H",
"name": "Boeing 737",
"requestValue": "73H",
"displayedValue": "73H Boeing 737",
"dependencies": []
},
"mtItem": {
"id": "27",
"code": "73H",
"name": "73H",
"requestValue": "",
"displayedValue": "73H 73H",
"dependencies": []
},
"mapping": {
"id": 323,
"providerId": 1,
"dictionaryId": 5,tour
"providerDictionaryItemId": "97",
"providerDictionaryItemName": null
}
},
"tariff": {
"gdsItem": {
"id": "0",
"code": "N",
"name": "Экономический класс",
"requestValue": "",
"displayedValue": "",
"dependencies": []
},
"mtItem": null,
"mapping": null
},
"flightNumber": "2184",
"baggageRestriction": [],
"departureDate": "2021-10-25T09:00:00",
"arrivalDate": "2021-10-25T11:00:00",
"quotaInfo": {
"status": 1,
"freePlaces": 0,
"isFewPlaces": false
}
}
],
"commonPrice": 313
}
],
"tourDate": "2021-10-25T00:00:00"
}
Возвращаемый результат метода RebuildFlights (в формате JSON) {
"flights": [
{
"remoteFlightId": "111397601080000",
"flightsSettings": [
{
"templateId": 1,
"patternId": 0,
"serviceId": 0
}
],
"flightsPlains": [
{
"DepartureCity": {
"Key": 1,
"Value": "Москва"
},
"DepartureCountry": {
"Key": 460,
"Value": "Россия"
},
"ArrivalCity": {
"Key": 35,
"Value": "Вена"
},
"ArrivalCountry": {
"Key": 90,
"Value": "Австрия"
},
"DepartureAirport": {
"Key": "SVO",
"Value": "Шереметьево-2"
},
"ArrivalAirport": {
"Key": "VIE",
"Value": "Vena"
},
"Airline": {
"Id": 31,
"Value": "Aeroflot-Russian International AirLines",
"Key": "SU"
},
"Aircraft": {
"Key": "73H",
"Value": "73H"
},
"Flight": {
"Key": 621,
"Value": "2184"
},
"DepartureTime": "09:00:00",
"ArrivalTime": "11:00:00",
"TotalTimeOfFlight": null,
"FlightDetails": [
{
"Tariff": {
"Key": 113,
"Code": "NSU",
"Name": "Экономический класс(внешняя система)"
},
"IsCommission": false,
"Cost": 313,
"QuotaStatus": {
"PlacesStatus": 1,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 10767,
"ByPax": false,
"Partner": {
"Key": 0,
"Value": null
}
}
],
"FlightSetting": {
"ServiceId": 1,
"PatternId": 0,
"FlightId": 0
},
"FlightSourceMode": 0,
"Id": 0,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2021-10-25T09:00:00",
"EndDateTime": "2021-10-25T11:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 197,
"Index": 0
}
]
}
]
}
|
Получение семейств тарифов авиаперелетов из внешней системы (GetGDSFlightFareFamilies)
Метод получает семейства тарифов для авиаперелетов из внешней системы.
- Формат запроса:
- POST .../TourSearchOwin/GetGDSFlightFareFamilies?
- Принимаемые параметры headers ( * – обязательный):
- Content-Type * – application/json
- Принимаемые параметры POST запроса ( * – обязательный):
- flightId – ID внешнего перелета
- providerId – ID внешнего провайдера
- languageCode – код локализации
- passengers – информация о пассажирах
- IsMain – главный турист
- Number – порядковый номер туриста
- AgeType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
- MaleFemaleSex – пол (0 – мужской, 1 – женский)
- FirstName – имя (лат)
- LastName – фамилия (лат)
- Patronymic – отчество (лат)
- FirstNameRus – имя (рус)
- LastNameRus – фамилия (рус)
- PatronymicRus – отчество (рус)
- InternationalPassportSeries – серия загранпаспорта
- InternationalPassportNumber – номер загранпаспорта
- InternationalPassportDateOfIssue – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
- InternationalPassportDateOfIssueString – дата выдачи загранпаспорта в строке (DD.MM.YYYY)
- InternationalPassportDateOfExpiry – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
- InternationalPassportDateOfExpiryString – дата окончания действия загранпаспорта в строке (DD.MM.YYYY)
- internationalPassportByWhom – кем выдан загранпаспорт
- PassportSeries – серия паспорта
- PassportNumber – номер паспорта
- PassportDateOfIssue – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
- PassportDateOfIssueString – дата выдачи паспорта в строке (DD.MM.YYYY)
- PassportByWhom – кем выдан паспорт
- Citizenship – название страны
- Phone – телефон
- Email – e-mail
- BirthDay – дата рождения (YYYY-MM-DDThh:mm:ssz)
- BirthDayString – дата рождения в строковом формате (DD.MM.YYYY)
- BirthPlace – место рождения
- CitizenID – гражданство
- Age – количество полных лет на момент окончания тура
- currency – валюта
- price – стоимость
- param – параметры перелета
- flightsSource – параметры перелета
- flightSettings – информация о шаблоне услуги авиаперелета
- templateId – идентификатор шаблона услуги
- patternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
- serviceId – идентификатор класса услуги (внутренняя информация из программы туров)
- service – информация об услуге авиаперелета
- ServiceType – тип услуги
- Code – ключ услуги
- SubCode1 – доп. описание 1
- SubCode2 – доп. описание 2
- CountryId – страна услуги
- CityId – город услуги
- PacketId – пакет услуги
- PartnerId – партнер услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- price – стоимость перелета
- quotaInfo – объект информация по квотам
- status – статус по квотам (есть места / нет мест / под запрос)
- freePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- isFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- flightDateTimeLimitationInterval –
- startLimitation – начало тайм-лимита
- finishLimitation – объект тайм-лимита
- dateTimeString – дата окончания тайм-лимита
- serviceType – тип услуги
- serviceCode – код услуги
- flightSourceMode – тип перелета (1 – локальный, 2 – из внешний системы)
- flightSettings – информация о шаблоне услуги авиаперелета
- passengers – информация о пассажирах
- IsMain – главный турист
- Number – порядковый номер туриста
- AgeType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
- MaleFemaleSex – пол (0 – мужской, 1 – женский)
- FirstName – имя (лат)
- LastName – фамилия (лат)
- Patronymic – отчество (лат)
- FirstNameRus – имя (рус)
- LastNameRus – фамилия (рус)
- PatronymicRus – отчество (рус)
- InternationalPassportSeries – серия загранпаспорта
- InternationalPassportNumber – номер загранпаспорта
- InternationalPassportDateOfIssue – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
- InternationalPassportDateOfIssueString – дата выдачи загранпаспорта в строковом формате (DD.MM.YYYY)
- InternationalPassportDateOfExpiry – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
- InternationalPassportDateOfExpiryString – дата окончания действия загранпаспорта в строковом формате (DD.MM.YYYY)
- internationalPassportByWhom – кем выдан загранпаспорт
- PassportSeries – серия паспорта
- PassportNumber – номер паспорта
- PassportDateOfIssue – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
- PassportDateOfIssueString – дата выдачи паспорта в строковом формате (DD.MM.YYYY)
- PassportByWhom – кем выдан паспорт
- Citizenship – название страны
- Phone – телефон
- Email – e-mail
- BirthDay – дата рождения (YYYY-MM-DDThh:mm:ssz)
- BirthDayString – дата рождения в строковом формате (DD.MM.YYYY)
- BirthPlace – место рождения
- CitizenID – гражданство
- Age – количество полных лет на момент окончания тура
- tourDate – дата тура
- tourCurrency – валюта тура
- tourId – ключ программы тура
- filterTariff – информация о тарифах
- filterDeptime – информация о времени вылета
- isCommission – признак комиссионной цены
- baseFlightsParams – параметра авиаперелета
- CityArrival – город прибытия
- FlightCode – код авиаперелета
- TariffKey – ключ тарифа
- PartnerId – ключ партнера
- isUpdated – информация об обновлении перелета
- key – ключ запроса
- tourDurationByDays – продолжительность перелета
- langueCode – локализация
- flightsSource – параметры перелета
- Возвращаемый результат:
- validationResult – информация о валидации
- Errors – ошибки
- Warnings – предупреждения
- States – статус
- IsValid – информация о результате
- tariffSequencies – информация тарифах
- flightId – идентификатор перелета
- universalParametrsSequence – параметры тарифов
- universalParametrs – массив параметров
- code – описание параметра тарифа
- priority – приоритет показа
- needToPay – нужна ли доплата
- shortDescriptions – краткое описание
- code – код
- value – значение
- universalParametrs – массив параметров
- price – стоимость
- deltaPrice – разница в цене
- timeLimit – тайм-лимит
- segments – сегменты
- depAirportCode – код аэропорта отправления
- depCityCode – код города отправления
- arrAirportCode – код аэропорта прибытия
- arrCityCode – код города прибытия
- validationResult – информация о валидации
Вызов метода GetGDSFlightFareFamilies POST http://localhost:9000/TourSearchOwin/GetGDSFlightFareFamilies? HTTP/1.1
Content-Type: application/json
{
"flightId": "17554943020000",
"providerId": 82,
"languageCode": "ru",
"passengers": [{
"IsMain": true,
"Number": 1,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "",
"LastName": "",
"Patronymic": "",
"FirstNameRus": "",
"LastNameRus": "",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": "",
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": 17
}, {
"IsMain": false,
"Number": 2,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "",
"LastName": "",
"Patronymic": "",
"FirstNameRus": "",
"LastNameRus": "",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": "",
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": 17
}
],
"currency": "$",
"price": 147,
"param": {
"flightsSource": [{
"flightSettings": {
"templateId": 1,
"patternId": 0,
"serviceId": 0
},
"service": {
"serviceType": 1,
"code": 1084,
"subCode1": 67,
"subCode2": 1,
"countryId": 90,
"cityId": 35,
"packetId": 1037,
"partnerId": 12792,
"day": 1,
"durationInNight": 0
},
"price": 146.44,
"quotaInfo": {
"status": 4,
"freePlaces": 0,
"isFewPlaces": false
},
"flightDateTimeLimitationInterval": {
"startLimitation": null,
"finishLimitation": {
"dateTimeString": "2021-01-30T21:40:00",
"serviceType": 3,
"serviceCode": 178
}
},
"flightSourceMode": 2
}
],
"passengers": [{
"IsMain": true,
"Number": 1,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "",
"LastName": "",
"Patronymic": "",
"FirstNameRus": "",
"LastNameRus": "",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": "",
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": 17
}, {
"IsMain": false,
"Number": 2,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "",
"LastName": "",
"Patronymic": "",
"FirstNameRus": "",
"LastNameRus": "",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": "",
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": 17
}
],
"tourDate": "2021-01-30T00:00:00",
"tourCurrency": "$",
"tourId": 100008958,
"filterTariff": {},
"filterDeptime": ["all"],
"isCommission": true,
"baseFlightsParams": [{
"CityArrival": 35,
"FlightCode": 1084,
"TariffKey": 67,
"PartnerId": 12792
}
],
"isUpdated": false,
"key": 0,
"tourDurationByDays": "11",
"langueCode": "ru"
}
}
Возвращаемый результат метода GetGDSFlightFareFamilies (в формате JSON) [
{
"validationResult": {
"Errors": [],
"Warnings": null,
"States": null,
"IsValid": true
},
"tariffSequencies": [{
"flightId": "17554961000000",
"universalParametrsSequence": [{
"universalParametrs": [{
"code": "description",
"priority": 0,
"needToPay": "Free",
"shortDescriptions": [{
"code": "RU",
"value": "Минимум"
}
]
}, {
"code": "carry_on",
"priority": 1,
"needToPay": "Free",
"shortDescriptions": [{
"code": "RU",
"value": "5 кг (40x30x20 см)"
}
]
}, {
"code": "carry_on",
"priority": 2,
"needToPay": "Charge",
"shortDescriptions": [{
"code": "RU",
"value": "10 кг (55x40x25 см)"
}
]
}, {
"code": "baggage",
"priority": 3,
"needToPay": "Charge",
"shortDescriptions": [{
"code": "RU",
"value": "платный"
}
]
}, {
"code": "exchangeable",
"priority": 4,
"needToPay": "Charge",
"shortDescriptions": [{
"code": "RU",
"value": "Обмен разрешен со сбором"
}
]
}, {
"code": "refundable",
"priority": 5,
"needToPay": "NotAvailable",
"shortDescriptions": [{
"code": "RU",
"value": "Возврат запрещен"
}
]
}
]
}
],
"price": 147,
"deltaPrice": 0,
"timeLimit": "22.01.2021 4:08:00",
"segments": [{
"depAirportCode": "VKO",
"depCityCode": "MOW",
"arrAirportCode": "VIE",
"arrCityCode": "VIE"
}
]
}
],
"isDone": true
}
]
|
Загрузка филиалов (Branches) начиная с релиза 15.3
Метод производит выгрузку филиалов бронирования.
- Формат запроса:
- GET .../TourSearchOwin/Branches?
- Принимаемые параметры GET запроса ( * – обязательный):
- ids – массив ключей филиалов
- cityKey – фильтр по городу филиала (если 0 или не задан, то выбираются все филиалы)
- Возвращаемый результат:
- Key – ключ филиала (ключ партнера)
- Value – название филиала (название партнера)
Вызов метода Branches GET http://localhost:9000/TourSearchOwin/Branches?
Возвращаемый результат метода Branches (в формате JSON) [{
"Key": 12848,
"Value": "Филиал 1"
},
{
"Key": 12849,
"Value": "Филиал 2"
},
{
"Key": 12850,
"Value": "Филиал 3"
}]
|
Загрузка ведущих менеджеров (Users) начиная с релиза 15.3
Метод производит выгрузку ведущих менеджеров.
- Формат запроса:
- GET .../TourSearchOwin/Users?
- Принимаемые параметры GET запроса ( * – обязательный):
- ids – массив ключей ведущих менеджеров
- branchKey – ключ филиала бронирования, к которому они привязаны
- Возвращаемый результат:
- Key – ключ ведущего менеджера
- Value – полное имя ведущего менеджера
Вызов метода Users GET http://localhost:9000/TourSearchOwin/Users?
Возвращаемый результат метода Users (в формате JSON) [{
"Key": 1532,
"Value": "Иванов И."
},
{
"Key": 12849,
"Value": "Петров П."
}]
|
Расчет путевки (CalculateReservation)
Метод производит расчет стоимости путевки.
- Формат запроса:
- POST .../TourSearchOwin/CalculateReservation?
- Принимаемые параметры headers ( * – обязательный):
- Content-Type * – application/json
- Принимаемые параметры POST запроса:
- TourProgramId * – ключ турпрограммы
- BeginDate * – дата начала тура
- Duration * – продолжительность тура
- Currency * – код валюты
- initialPrice * – объект изначальная цена
- price * – цена
- currency * – код валюты
- Services * – массив услуг
- Service * – объект услуги (отель/круиз, авиаперелет, трансфер или др.)
- ServiceType * – тип услуги (поле sv_key из таблицы service)
- Code * – код услуги
- SubCode1 * – доп. описание 1 услуги
- SubCode2 * – доп. описание 2 услуги
- Packet * – ключ пакета услуги
- Partner * – ключ партнера услуги
- Day * – день предоставления услуги
- DurationInNight * – продолжительность услуги в ночах
- City * – ключ города
- Country * – страна услуги
- Attributes * – битовая маска атрибутов услуг (Значение по умолчанию 0. Дальше в зависимости от признака услуги, может принимать значениz:
- Service * – объект услуги (отель/круиз, авиаперелет, трансфер или др.)
None = 0,если услуга удаляемая, эта настройка находится в программе туров,
Delete = 1,
CodeEdit = 2,
SubCode1Edit = 4,
CityEdit = 8,
PartnerEdit = 16,
BadCheck = 32,
Invisible = 64, отображаемая
DurationEdit = 128,
FullEdit = Delete | CodeEdit | SubCode1Edit | SubCode2Edit | CityEdit | PartnerEdit | DurationEdit,
Host = 256,
HostChangeCode2 = Host | 512,
HostChangeCode1 = Host | 1024,
HostChangeCode = Host | 2048,
HostChangePartner = Host | 4096,
HostChangePacket = Host | 8192,
Depended = 16384,
DependedCode2 = Depended | 512,
DependedCode1 = Depended | 1024,
DependedCode = Depended | 2048,
DependedCity = Depended | 4096,
DependedCountry = Depended | 8192,
FullDepended = Depended | DependedCode2 | DependedCode1 | DependedCode | DependedCity | DependedCountry,
NotCalculate = 32768,не рассчитываемая,
SubCode2Edit = 65536,
GDSService = 131072, от внешней системы)
- *IsRemovable – (не обрабатывается)
- *Type – тип услуги в путевке. Может принимать значения:
None (0) – не установлено,
Base (1) – базовая услуга. Основные услуги в корзине, проживание, перелет.
Optional (2) – Дополнительная услуга,
NYDinner (4) – Новогодний ужин,
FlightAdditionalPayment (8) – Доплата на перелет,
TourWebDifference (16) – Разница в СПО,
AddedByCalculator (32) – Добавленная при рассчете путевки,
AddedByReservationBuilder (64) – добавленная услуга при формировании состава путевки,
BaseChanged (128) – базовая измененная услуга,
HotelAdditionalPayment (256) – доплата на отель
- IsHooded * – признак скрытая услуга
- IsNotCalculated * – признак не рассчитываемая услуга
- BeginDateTimeString * – дата и время начала услуги
- EndDateTimeString * – дата и время окончания услуги
- TemplateId * – порядок расположения шаблона услуги в внутри самой услуги в программе тура
- Cost * – цена услуги
- ByPax * – цена за человека
- QuotaStatus * – объект статус квотирования
- PlacesStatus * – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces * – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces * – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- Index * – индекс услуги
- IsRoute * – признак маршрутная услуга (Перелет, автобусный переезд, жд переезд, трансфер, экскурсия)
- ServiceTemplateIndex * – индекс шаблона услуги (Порядок расположения услуги в программе тура. Не отображается в программе туров,это просто порядковый номер услуги в путевке)
- RemoteId * – информация об услуге во внешней системе
- IsCommission * – признак, комиссионная ли услуга
- BaseFlightsParams * – параметры рассчитанных авиаперелетов Обязательный параметр, если в путевке есть услуга авиаперелета
- CityArrival * – ключ города прибытия прямого перелета
- FlightCode * – ключ прямого авиаперелета
- TariffKey * – ключ тарифа прямого авиаперелета
- PartnerId * – ключ партнера прямого авиаперелета
- CityArrival * – ключ города прибытия обратного перелета
- FlightCode * – ключ обратного авиаперелета
- TariffKey * – ключ тарифа обратного авиаперелета
- PartnerId * – ключ партнера обратного авиаперелета
- TouristNumbersList * – массив туристов, привязанных к услуге
- Tourists * – массив туристов. Для того, чтобы узнать, какие поля обязательные для туриста, мы можем обратиться к методу TouristDataSettings по определенной стране. В каждом объекте есть поле IsRequired, которое отвечает за то, будет ли оно обязательным для заполнения или его можно оставить с пустым значением.
- IsMain * – главный турист
- Number * – порядковый номер туриста
- AgeType * – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
- MaleFemaleSex * – пол (0 – мужской, 1 – женский)
- FirstName * – имя (лат)
- LastName * – фамилия (лат)
- Patronymic * – отчество (лат)
- FirstNameRus * – имя (рус)
- LastNameRus * – фамилия (рус)
- PatronymicRus * – отчество (рус)
- InternationalPassportSeries * – серия загранпаспорта
- InternationalPassportNumber * – номер загранпаспорта
- InternationalPassportDateOfIssue * – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
- InternationalPassportDateOfIssueString * – дата выдачи загранпаспорта в строке (DD.MM.YYYY)
- InternationalPassportDateOfExpiry * – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
- InternationalPassportDateOfExpiryString * – дата окончания действия загранпаспорта в строке (DD.MM.YYYY)
- internationalPassportByWhom * – кем выдан загранпаспорт
- PassportSeries * – серия паспорта
- PassportNumber * – номер паспорта
- PassportDateOfIssue * – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
- PassportDateOfIssueString * – дата выдачи паспорта строковом формате (DD.MM.YYYY)
- PassportByWhom * – кем выдан паспорт
- Citizenship * – название страны
- Phone * – телефон
- Email * – e-mail
- BirthDay * – дата рождения (YYYY-MM-DDThh:mm:ssz)
- BirthDayString * – дата рождения в строковом формате (DD.MM.YYYY)
- BirthPlace * – место рождения
- CitizenID * – гражданство
- Age * – количество полных лет на момент окончания тура
- Day * – день (перевод) Может быть с пустым значением
- Day2 * – дня (перевод) Может быть с пустым значением
- Days * – дней (перевод) Может быть с пустым значением
- Night * – ночь (перевод) Может быть с пустым значением
- Night2 * – ночи (перевод) Может быть с пустым значением
- Nights * – ночей (перевод) Может быть с пустым значением
- adultsCountOverServiceLimit * – Количество взрослых туристов превышает лимит услуги (перевод) Может быть с пустым значением
- at * – на (перевод) Может быть с пустым значением
- incorrectChildrenInf * – Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание) (перевод) Может быть с пустым значением
- Возвращаемый результат:
- IsValid – признак валидности путевки
- ErrorMessage – сообщение об ошибке, если есть
- CalculatedReservation – объект рассчитанной путевки
- TourKey – ключ тура
- BeginDate – дата начала тура
- Duration – продолжительность путевки в днях
- Currency – код валюты тура
- CalculatedServicesPrice – сумма обязательных услуг, входящих в состав тура
- ChangedPrice – сумма, на которую изменилась итоговая стоимость TotalPrice в результате добавления обязательных и дополнительных услуг
- Price – итоговая стоимость тура для агентства, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг - партнерская комиссия (в валюте тура)
- TotalPrice – итоговая стоимость тура для туриста, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг (в валюте тура)
- IsDiscountIsPercent – признак, в процентах ли дается партнерская комиссия или в y.e.
- NationalChangedPrice – сумма, на которую изменилась итоговая стоимость TotalPrice в результате добавления обязательных и дополнительных услуг (в национальной валюте)
- NationalTotalDiscount – партнерская комиссия агентству (в национальной валюте)
- NationalTotalPrice – итоговая стоимость тура для туриста, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг (в национальной валюте)
- NatinoalCalculatedServicesPrice – сумма обязательных услуг, входящих в состав тура (в национальной валюте)
- NationalPrice – итоговая стоимость тура для агентства, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг - партнерская комиссия (в национальной валюте)
- Discount – партнерская комиссия агентству (в процентах или y.e.)
- TotalDiscount – партнерская комиссия агентству (в валюте тура)
- ServiceTourists – массив услуг, входящих в тур
- ServiceType – тип услуги
- Day – день предоставления
- DurationInNight – продолжительность в ночах
- Time – время начала услуги
- Name – полное описание услуги
- TouristCount – количество туристов на услуге
- Attributes – битовая маска атрибутов
- Type – тип услуги (основная/дополнительная)
- Brutto – цена брутто
- NationalBrutto – цена брутто в национальной валюте
- TotalBrutto – итоговое брутто
- TourName – название тура
- BookingConditions – разметка условия бронирования
- EndDate – дата окончания тура
- DurationInNights – продолжительность тура в ночах
- NationalCurrency – код национальной валюты
Вызов метода CalculateReservation POST http://localhost:9000/TourSearchOwin/CalculateReservation? HTTP/1.1
Content-Type: application/json
{
"tourProgramId": 100003404,
"beginDate": "2018-04-16T00:00:00",
"duration": 8,
"currency": "EU",
"initialPrice": {
"price": 122,
"currency": "EU"
},
"services": [{
"Service": {
"ServiceType": 3,
"Code": 707,
"SubCode1": 10468,
"SubCode2": 4,
"Packet": 779,
"Partner": 12667,
"Day": 1,
"DurationInNight": 7,
"City": 35,
"Country": 90,
"Attributes": 0,
"IsRemovable": false,
"Type": 1,
"IsHooded": false,
"IsNotCalculated": false,
"BeginDateTimeString": "2018-04-16T11:59:00",
"EndDateTimeString": "2018-04-23T11:59:00",
"TemplateId": 1,
"Cost": 114,
"ByPax": false,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"Index": 1,
"IsRoute": true,
"ServiceTemplateIndex": 1,
"RemoteId": null,
"IsCommission": true,
"BaseFlightsParams": [{
"CityArrival": 35,
"FlightCode": 882,
"TariffKey": 67,
"PartnerId": 12668
},
{
"CityArrival": 1,
"FlightCode": 774,
"TariffKey": 67,
"PartnerId": 10760
}]
},
"TouristNumbersList": [1,
2]
},
{
"Service": {
"ServiceType": 12,
"Code": 347,
"SubCode1": 42,
"SubCode2": null,
"Packet": 777,
"Partner": 10760,
"Day": 8,
"DurationInNight": 0,
"City": null,
"Country": 460,
"Attributes": 32768,
"Type": 2,
"IsHooded": false,
"IsNotCalculated": true,
"EndDateTimeString": false,
"Cost": 10,
"ByPax": false,
"QuotaStatus": 0,
"Index": 3,
"IsRoute": false,
"ServiceTemplateIndex": 3,
"RemoteId": null,
"IsCommission": true,
"BaseFlightsParams": [{
"CityArrival": 35,
"FlightCode": 882,
"TariffKey": 67,
"PartnerId": 12668
},
{
"CityArrival": 1,
"FlightCode": 774,
"TariffKey": 67,
"PartnerId": 10760
}]
},
"TouristNumbersList": [1,
2]
}],
"tourists": [{
"IsMain": true,
"Number": 1,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "",
"LastName": "",
"Patronymic": "",
"FirstNameRus": "",
"LastNameRus": "",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": null,
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": null
},
{
"IsMain": false,
"Number": 2,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "",
"LastName": "",
"Patronymic": "",
"FirstNameRus": "",
"LastNameRus": "",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": null,
"BirthDayString": "",
"BirthPlace": "",
"CitizenID": "",
"Age": null
}],
"Day": "день",
"Day2": "дня",
"Days": "дней",
"Night": "ночь",
"Night2": "ночи",
"Nights": "ночей",
"adultsCountOverServiceLimit": "Количество взрослых туристов превышает лимит услуги",
"at": "на",
"incorrectChildrenInf": "Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание)"
}
Возвращаемый результат метода CalculateReservation (в формате JSON) {
"IsValid": true,
"ErrorMessage": "",
"CalculatedReservation": {
"TourKey": 100003404,
"BeginDate": "2018-04-16T00:00:00",
"Duration": 8,
"Currency": "EU",
"CalculatedServicesPrice": 122.0,
"ChangedPrice": 34.0,
"Price": 156.0,
"TotalPrice": 156.0,
"IsDiscountIsPercent": true,
"NationalChangedPrice": 2411.3038000000000000000000023,
"NationalTotalDiscount": 0.0,
"NationalTotalPrice": 11063.629200000000000000000011,
"NatinoalCalculatedServicesPrice": 8652.325400000000000000000008,
"NationalPrice": 11063.629200000000000000000011,
"Discount": 0.0,
"TotalDiscount": 0.0,
"ServiceTourists": [{
"ServiceType": 1,
"Day": 1,
"DurationInNight": 0,
"Time": "10:00:00",
"Name": "А_П::Москва/Вена/3G1111, DME-VIE1, 10:00-11:59/C Бизнес класс",
"TouristCount": 2,
"Attributes": 0,
"Type": 1,
"Brutto": 6.0,
"NationalBrutto": 425.52420000000000000000000041,
"TotalBrutto": 6.0
},
{
"ServiceType": 3,
"Day": 1,
"DurationInNight": 7,
"Time": "11:59:00",
"Name": "HOTEL::Вена/Beim Theresianum-4*Boutique,7 ночей/Double(Standart133),2Ad/BB2 Завтрак",
"TouristCount": 2,
"Attributes": 0,
"Type": 1,
"Brutto": 114.0,
"NationalBrutto": 8084.959800000000000000000008,
"TotalBrutto": 114.0
},
{
"ServiceType": 1,
"Day": 8,
"DurationInNight": 0,
"Time": "00:00:00",
"Name": "А_П::Вена/Москва/7U222, VIE1-DME, 00:00-00:00/C Бизнес класс",
"TouristCount": 2,
"Attributes": 0,
"Type": 1,
"Brutto": 2.0,
"NationalBrutto": 141.84140000000000000000000014,
"TotalBrutto": 2.0
}]
},
"TourName": "Удалить этот тур",
"BookingConditions": "Условия бронирования тура.</p>",
"EndDate": "2018-04-23T00:00:00",
"DurationInNights": 7,
"NationalCurrency": "рб"
}
|
Бронирование путевки (CreateReservation)
Метод производит бронирование путевки.
При бронировании проверяется корректность заполнения обязательных полей туристов (регулируется общими настройками, либо в справочнике Страны). В случае, если обязательные поля не заполнены, возвращается ошибка с сообщением, бронь не создается.
- Формат запроса:
- PUT .../TourSearchOwin/CreateReservation/1?
- Принимаемые параметры headers ( * – обязательный):
- Content-Type * – application/json
- Authorization * – token_type + access_token (полученные из метода .../TourSearchOwin/Token?)
- Принимаемые параметры PUT запроса:
- TourProgramId * – ключ турпрограммы
- BeginDate * – дата начала тура (YYYY-MM-DDThh:mm:ss)
- Duration * – продолжительность тура
- Currency * – код валюты
- Services * – массив услуг
- Service * – объект услуги (отель/круиз, авиаперелет, трансфер или др.)
- ServiceType * – тип услуги (поле sv_key из таблицы service)
- Code * – код услуги
- SubCode1 * – доп. описание 1 услуги
- SubCode2 * – доп. описание 2 услуги
- Packet * – ключ пакета услуги
- Partner * – ключ партнера услуги
- Day * – день предоставления услуги
- DurationInNight * – продолжительность услуги в ночах
- City * – ключ города
- Country * – страна услуги
- Attributes * – битовая маска атрибутов услуг
- IsRemovable * – (не обрабатывается)
- Type * – тип услуги в путевке (базовая дополнительная)
- IsHooded * – признак скрытая услуга
- IsNotCalculated * – признак не рассчитываемая услуга
- BeginDateTimeString * – дата и время начала услуги
- EndDateTimeString * – дата и время окончания услуги
- TemplateId * – шаблон услуги
- Cost * – цена услуги
- ByPax * – цена за человека
- QuotaStatus * – объект статус квотирования
- PlacesStatus * – статус по квотам (есть места-1 / нет мест-2 / под запрос-4)
- FreePlaces * – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces * – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- Index * – индекс услуги
- IsRoute * – признак маршрутная услуга
- ServiceTemplateIndex * – индекс шаблона услуги
- RemoteId * – информация об услуге во внешний системе
- IsCommission * – признак, комиссионная ли услуга
- BaseFlightsParams * – параметры рассчитанных авиаперелетов Обязательный параметр, если в путевке есть услуга авиаперелета
- CityArrival * – ключ города прибытия прямого перелета
- FlightCode * – ключ прямого авиаперелета
- TariffKey * – ключ тарифа прямого авиаперелета
- PartnerId * – ключ партнера прямого авиаперелета
- CityArrival * – ключ города прибытия обратного перелета
- FlightCode * – ключ обратного авиаперелета
- TariffKey * – ключ тарифа обратного авиаперелета
- PartnerId * – ключ партнера обратного авиаперелета
- TouristNumbersList * – массив туристов, привязанных к услуге
- Service * – объект услуги (отель/круиз, авиаперелет, трансфер или др.)
- Tourists * – массив туристов. Для того, чтобы узнать, какие поля обязательные для туриста, мы можем обратиться к методу TouristDataSettings по определенной стране. В каждом объекте есть поле IsRequired, которое отвечает за то, будет ли оно обязательным для заполнения или его можно оставить с пустым значением.
- IsMain * – главный турист
- Number * – порядковый номер туриста
- AgeType * – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
- MaleFemaleSex * – пол (0 – мужской, 1 – женский)
- FirstName * – имя (лат)
- LastName * – фамилия (лат)
- Patronymic * – отчество (лат)
- FirstNameRus * – имя (рус)
- LastNameRus * – фамилия (рус)
- PatronymicRus * – отчество (рус)
- InternationalPassportSeries * – серия загранпаспорта
- InternationalPassportNumber * – номер загранпаспорта
- InternationalPassportDateOfIssue * – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
- InternationalPassportDateOfIssueString * – дата выдачи загранпаспорта в строковом формате (DD.MM.YYYY)
- InternationalPassportDateOfExpiry * – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
- InternationalPassportDateOfExpiryString * – дата окончания действия загранпаспорта в строковом формате (DD.MM.YYYY)
- internationalPassportByWhom * – кем выдан загранпаспорт
- PassportSeries * – серия паспорта
- PassportNumber * – номер паспорта
- PassportDateOfIssue * – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
- PassportDateOfIssueString * – дата выдачи паспорта в строковом формате (DD.MM.YYYY)
- PassportByWhom * – кем выдан паспорт
- Citizenship * – название страны
- Phone * – телефон
- Email * – e-mail
- BirthDay * – дата рождения (YYYY-MM-DDThh:mm:ssz)
- BirthDayString * – дата рождения в строковом формате (DD.MM.YYYY)
- BirthPlace * – место рождения
- CitizenID * – ID туриста (задается в карточке постоянного клиента)
- Age * – количество полных лет на момент окончания тура
- BranchId * – ключ филиала бронирования (начиная с релиза 15.3). Если не передан, то филиал бронирования берется из менеджера по умолчанию либо из пользователя, создавшего тур. Может быть с пустым значением
- OwnerId * – ключ ведущего менеджера (начиная с релиза 15.3). Если 0, то берется по умолчанию. Если по умолчанию не указан, то берется создатель тура. Может быть с пустым значением
- Day * – день (перевод) Может быть с пустым значением
- Day2 * – дня (перевод) Может быть с пустым значением
- Days * – дней (перевод) Может быть с пустым значением
- Night * – ночь (перевод) Может быть с пустым значением
- Night2 * – ночи (перевод) Может быть с пустым значением
- Nights * – ночей (перевод) Может быть с пустым значением
- adultsCountOverServiceLimit * – Количество взрослых туристов превышает лимит услуги (перевод) Может быть с пустым значением
- incorrectChildrenInf * – Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание) (перевод) Может быть с пустым значением
- Возвращаемый результат:
- Reservation – объект путевки
- $id – внутренний идентификатор для установки связей между сущностями,
- Code – код путевки
- TurDate – дата заезда
- TRKey – ключ тура
- CNKey – ключ страны
- CTKey – ключ города
- NMen – количество туристов по путевке
- Price – стоимость путевки за вычетом скидки (комиссии)
- Payed – оплаченная сумма по путевке
- NDay – продолжительность тура в днях
- MainMan – ФИО лица, заключившего договор
- MainManPhone – номер телефона лица, заключившего договор
- MainManAddress – адрес лица, заключившего договор
- MainManPassport – паспортные данные лица, заключившего договор
- PartnerKey – ключ партнера, оформившего договор
- Operator – ФИО создателя договора
- Discount – величина скидки на одного человека
- DiscountSum – абсолютная величина скидки
- SORCode – ключ статус путевки, возможные значения: 0-в работе, 1-не определён, 2-аннулирован, 3-wait лист, 7-ок.
- CrDate – дата и время создания путевки
- Rate – код валюты путевки
- Advertise – ключ источника рекламы
- Locked – блокировка путевки: 1 – если заблокирована
- CauseDisc – ключ основания для скидки
- PPaymentDate – максимальная дата внесения предоплаты
- PaymentDate – максимальная дата полной оплаты
- Procent – информация о предоплате: 1 – предоплата в %; 0 – предоплата в у.е.
- TurDateBfrAnnul – значение даты заезда до аннуляции путевки (при аннуляции дата заезда заменяется на 31.12.1899)
- ARKey – ключ причины аннуляции путевки
- Key – ключ договора
- CodePartner – значение ключевого поля из таблицы партнеров
- FilialKey – ключ филиала фирмы-владельца, пользователем которого была забронирована путевка
- IsOutDoc – статус выдачи документов
- Notes – сообщение поставщику
- DiscSumBfrAnn – числовое значение скидки перед аннуляцией путевки
- PriceBfrAnn – стоимость путевки перед ее аннуляцией
- RazmerP – размер предоплаты
- LeadDepartment – ключ отдела, ведущего данный тур
- MainManEmail – адрес е-mail из данных лица, заключившего договор
- MainManComment – примечание из данных лица, заключившего договор
- DupUserKey – ключ представителя партнера, которым был оформлен договор
- BTKey – ключ системы бронирования, из которой был оформлен договор
- ConfirmedDate – дата подтверждения путевки покупателю
- PrtDogKey – договор партнера, по которому оформлена путевка
- CTDepartureKey – ключ города начала поездки
- PDTType – тип договора, по которому оформлена путевка
- NationalCurrencyPrice – стоимость путевки в национальной валюте
- NationalCurrencyDiscountSum – значение скидки в национальной валюте
- NationalCurrencyPayed – сумма платежей по путевке, зафиксированная в национальной валюте
- CurrencyKey – ключ национальной валюты путевки
- CurrencyRate – курс национальной валюты путевки
- ClientKey – ключ частника, которым был оформлен договор
- Partner – информация о партнере покупателе, привязанным к путевке
- $id – внутренний идентификатор для установки связей между сущностями
- Key – ключ партнера покумателя
- FullName – полное имя партнера
- Name – имя партнера
- Services – коллекция услуг в данной путевке
- $id – внутренний идентификатор для установки связей между сущностями
- DGCod – номер путевки
- TurDate – дата начала тура
- Key – ключ услуги
- PaketKey – ключ пакета
- TRKey – клют тура
- SVKey – ключ типа услуги
- Name – наименование услуги
- Day – порядковый номер дня тура, в который предоставляется услуга
- Code – ключ кода услуги
- SubCode1 – ключ доп.описания 1 услуги
- SubCode2 – ключ доп.описания 2 услуги
- Men – количество человек, пользующихся услугой по путевке
- Days – количество дней услуги
- CNKey – ключ страны услуги
- CTKey – ключ города услуги
- PartnerKey – ключ партнера, предоставляющего услугу
- Brutto – стоимость услуги брутто
- Wait – признак услуги Снимать квоту при бронировании
- Warning – неиспользуемое поле
- TimeBeg – поле используется для сортировки услуг в путевке
- Control – ключ статуса услуги (ссылка на таблицу Controls),
- Attribute – атрибут услуги
- DateBeg – дата начала действия услуги
- DateEnd – дата окончания действия услуги
- Discount – размер скидки по услуге
- Comment – комментарий к услуге
- DGKey – ключ договора,
- Blocked – признак блокировки услуги (0 – не блокирована, 1 – блокирована)
- NameLat – наименование услуги (латинский)
- Long – продолжительность тура в днях
- TRFId – ключ тарифа
- CreateDate – дата создания услуги в путевке
- CalculatePriceDate – дата расчета цены
- ShowOrder – порядок при сортировке
- Connections – коллекция связей с сущностями через внутренний идентификатор $id
- $ref – связь с внутренним идентификатором $id
- Turists – коллекция туристов в данной путевке
- $id – внутренний идентификатор для установки связей между сущностями
- DGCod – номер путевки, к которому привязан турист
- Key – ключ туриста
- TurDate – дата начала тура
- NameRus – фамилия туриста (русское)
- NameLat – фамилия туриста (латинское)
- ShortName – имя и отчество туриста в формате И.О.
- Sex – пол туриста (признак): Null или 0 – Муж; 1 – Жен; 2 – Child (ребенок); 3 – Infant (младенец)
- FNameRus – имя туриста (русское)
- FNameLat – имя туриста (латинское)
- SNameRus – отчество туриста (русское)
- SNameLat – отчество туриста (латинское)
- BirthDay – дата рождения туриста
- BirthCountry – страна рождения туриста
- BirthCity – город рождения туриста
- Citizen – гражданство туриста
- PostIndex – почтовый индекс
- PostCity – адрес проживания туриста (город)
- PostStreet – адрес проживания туриста (улица)
- PostBild – адрес проживания туриста (номер дома)
- PostFlat – адрес проживания туриста (номер квартиры)
- Phone – номер телефона туриста
- PhoneCode – код телефона туриста
- PasportType – серия заграничного паспорта
- PasportNum – номер заграничного паспорта
- PasportDate – дата выдачи заграничного паспорта
- PasportDateEnd – дата окончания срока действия заграничного паспорта
- PasportByWhom – кем выдан заграничный паспорт
- Place – место рождения
- IsAnketa – выдавалась ли анкета
- PaspRuser – серия общегражданского паспорта
- PaspRuNum – номер общегражданского паспорта
- PaspRuDate – дата выдачи общегражданского паспорта
- PaspRuByWhom – кем выдан общегражданский паспорт
- ClientId – ключ в таблице клиентов
- IsMain – признак главного туриста по путевке
- DGKey – ключ кутевки
- RealSex – реальный пол туриста: Null или 0 – Муж; 1 – Жен
- Email – е-mail туриста
- EnableSmsNotifications – согласен получать уведомления по СМС
- CitizenId – идентификатор туриста
- Connections – коллекция связей с сущностями через внутренний идентификатор $id
- $ref – связь с внутренним идентификатором $id
- TuristServices – коллекция связей туриста с услугой
- $id – внутренний идентификатор для установки связей между сущностями
- TUKey – ключ туриста
- DLKey – ключ услуги
- NumDoc – номер документа (авиабилета)
- NumRoom – номер комнаты (каюты)
- Seat – номер места (в номере отеля, каюты) или место в транспорте
- Area – зона (палуба) в отеле, круизе
- DocDate – дата документа (авиабелета)
- Key – первичный ключ связки
- Connections – коллекция связей с сущностями через внутренний идентификатор $id
- $ref – связь с внутренним идентификатором $id
- DogovorMessages – сообщение по путевке покупателю
- id – внутренний идентификатор для установки связей между сущностями
- Date – дата создание сообщения
- Text – текст сообщения
- Remark – код сообщения
- Connections – коллекция связей с сущностями через внутренний идентификатор $id
- $ref – связь с внутренним идентификатором $id
- ValidationResultSummary – объект статус результата бронирования
- ValidationResult – объект с ошибками и флагом валидности путевки
- Errors – массив ошибок бронирования
- IsValid – признак валидности бронирования
- ValidationResultAttributes – атрибут результата бронирования
- ValidationResult – объект с ошибками и флагом валидности путевки
- Reservation – объект путевки
Вызов метода CreateReservation PUT http://localhost:9000/TourSearchOwin/CreateReservation/1? HTTP/1.1
Content-Type: application/json
Authorization: Bearer AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAdsCC8X7m9E-2bg0-uS0VfgAAAAAAAAADZgAAwAAAA-
EqAAAAAASAAACgAAAAEAAAAO4S-VrqBhQuhqliqrAKKfIgAQAAn-gfgP-rYjk-Krr1Ck2A-IGCw6FBhamUOzFxgTtk1hR-
GLMryFIH8VK5GmHdHubZWj4S7XcazGL1Kn5-VlbiYdW2ZVWpYlk638aV-XS2kpZ9YrKgViiM_x8RH5TPo4-
9LhE7V-SjiB_CP_qs58DRKcyohq3Tz9QaiFgH1Ko7O2XKjTBG7SHyQPDPYjaqg9kDxmzq0UcIT6Fm4YkDxmm9-
CW7u3cEFWcpiqKOc2VvZFKPPHc07uDOO4w9FXPhpXZwOqrJBxzhbr73RuhzPs_e-hgxKaIlsMaK5b0v5ReAMy1kuY0ebXA
{
"TourProgramId": 100000038,
"BeginDate": "2021-01-01T00:00:00",
"Duration": 9,
"Currency": "$",
"Services": [{
"Service": {
"ServiceType": 3,
"Code": 702,
"SubCode1": 1113,
"SubCode2": 2,
"Packet": 209,
"Partner": 10760,
"Day": 1,
"DurationInNight": 8,
"City": 35,
"Country": 90,
"Attributes": 0,
"IsRemovable": false,
"Type": 1,
"IsHooded": false,
"IsNotCalculated": false,
"BeginDateTimeString": "2021-01-01T16:30:00",
"EndDateTimeString": "2021-01-09T16:30:00",
"TemplateId": 2,
"Cost": 0,
"ByPax": true,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"Index": 1,
"IsRoute": true,
"ServiceTemplateIndex": 1,
"RemoteId": null,
"IsCommission": true,
"BaseFlightsParams": [{
"CityArrival": 35,
"FlightCode": 570,
"TariffKey": 67,
"PartnerId": 10760
}, {
"CityArrival": 1,
"FlightCode": 572,
"TariffKey": 67,
"PartnerId": 10760
}
]
},
"TouristNumbersList": [1, 2]
}, {
"Service": {
"ServiceType": 1,
"Code": 570,
"SubCode1": 67,
"SubCode2": 1,
"Packet": 209,
"Partner": 10760,
"Day": 1,
"DurationInNight": 0,
"City": 35,
"Country": 90,
"Attributes": 0,
"IsRemovable": false,
"Type": 1,
"IsHooded": false,
"IsNotCalculated": false,
"BeginDateTimeString": "2021-01-01T14:00:00",
"EndDateTimeString": "2021-01-01T16:30:00",
"TemplateId": 1,
"Cost": 0,
"ByPax": true,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"Index": 0,
"IsRoute": true,
"ServiceTemplateIndex": 0,
"IsCommission": true,
"BaseFlightsParams": [{
"CityArrival": 35,
"FlightCode": 570,
"TariffKey": 67,
"PartnerId": 10760
}, {
"CityArrival": 1,
"FlightCode": 572,
"TariffKey": 67,
"PartnerId": 10760
}
]
},
"TouristNumbersList": [1, 2]
}, {
"Service": {
"ServiceType": 1,
"Code": 572,
"SubCode1": 67,
"SubCode2": 35,
"Packet": 209,
"Partner": 10760,
"Day": 9,
"DurationInNight": 0,
"City": 1,
"Country": 460,
"Attributes": 0,
"IsRemovable": false,
"Type": 1,
"IsHooded": false,
"IsNotCalculated": false,
"BeginDateTimeString": "2021-01-09T14:00:00",
"EndDateTimeString": "2021-01-09T16:45:00",
"TemplateId": 3,
"Cost": 0,
"ByPax": true,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"Index": 2,
"IsRoute": true,
"ServiceTemplateIndex": 2,
"IsCommission": true,
"BaseFlightsParams": [{
"CityArrival": 35,
"FlightCode": 570,
"TariffKey": 67,
"PartnerId": 10760
}, {
"CityArrival": 1,
"FlightCode": 572,
"TariffKey": 67,
"PartnerId": 10760
}
]
},
"TouristNumbersList": [1, 2]
}
],
"Tourists": [{
"IsMain": true,
"Number": 1,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "IVAN",
"LastName": "IVANOV",
"Patronymic": "",
"FirstNameRus": "IVAN",
"LastNameRus": "IVANOV",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": "1980-01-01T00:00:00.000Z",
"BirthDayString": "01.01.1980",
"BirthPlace": "Москва",
"CitizenID": "",
"Age": 41
}, {
"IsMain": false,
"Number": 2,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "PETR",
"LastName": "PETROV",
"Patronymic": "",
"FirstNameRus": "PETR",
"LastNameRus": "PETROV",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": "1981-01-01T00:00:00.000Z",
"BirthDayString": "01.01.1981",
"BirthPlace": "Москва",
"CitizenID": "",
"Age": 40
}
],
"TechnicalProblemsDuringUpdateFlights": false,
"TimeLimit": null,
"OwnerId": 95,
"Day": "день",
"Day2": "дня",
"Days": "дней",
"Night": "ночь",
"Night2": "ночи",
"Nights": "ночей",
"adultsCountOverServiceLimit": "Количество взрослых туристов превышает лимит услуги",
"incorrectChildrenInf": "Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание)"
}
|
Возвращаемый результат метода CreateReservation (в формате JSON) {
"Reservation": {
"$id": 1,
"Code": "AU10101003",
"TurDate": "2021-01-01T00:00:00",
"TRKey": 100000038,
"CNKey": 90,
"CTKey": 35,
"NMen": 2,
"Price": 877,
"Payed": 0,
"NDay": 9,
"MainMan": "",
"MainManPhone": "",
"MainManAddress": "",
"MainManPassport": "",
"PartnerKey": 10762,
"Operator": "Megatec ",
"Discount": 40,
"DiscountSum": 80,
"SORCode": 0,
"CrDate": "2020-10-12T15:02:29.013",
"Rate": "$",
"Advertise": 0,
"Locked": null,
"CauseDisc": null,
"PPaymentDate": null,
"PaymentDate": "2020-10-14T00:00:00+03:00",
"Procent": 1,
"TurDateBfrAnnul": null,
"ARKey": 0,
"Key": 40335,
"CodePartner": null,
"FilialKey": 1,
"IsOutDoc": 0,
"Notes": null,
"DiscSumBfrAnn": null,
"PriceBfrAnn": null,
"RazmerP": 0,
"LeadDepartment": 0,
"MainManEmail": "test@megatec.ru",
"MainManComment": "",
"DupUserKey": 6,
"BTKey": 1,
"ConfirmedDate": null,
"PrtDogKey": 11,
"CTDepartureKey": 1,
"PDTType": 0,
"NationalCurrencyPrice": null,
"NationalCurrencyDiscountSum": null,
"NationalCurrencyPayed": null,
"CurrencyKey": null,
"CurrencyRate": null,
"ClientKey": null,
"Partner": {
"$id": 2,
"Key": 10762,
"FullName": "Агентство",
"Name": "Агентство"
},
"Services": [{
"$id": 3,
"DGCod": "AU10101003",
"TurDate": "2021-01-01T00:00:00",
"Key": 202463,
"PaketKey": 209,
"TRKey": 100000038,
"SVKey": 1,
"Name": "А_П::Москва/Вена/00444, DME-VIE, 14:00-16:30/C Бизнес класс",
"Day": 1,
"Code": 570,
"SubCode1": 67,
"SubCode2": 1,
"Men": 2,
"Days": 0,
"CNKey": 90,
"CTKey": 35,
"PartnerKey": 10760,
"Brutto": 162.2,
"Wait": null,
"Warning": 0,
"TimeBeg": "1899-01-01T14:00:00",
"Control": 1,
"Attribute": 65695,
"DateBeg": "2021-01-01T00:00:00",
"DateEnd": "2021-01-01T00:00:00",
"Discount": 14.8,
"Comment": null,
"DGKey": 40335,
"Blocked": null,
"NameLat": "А_П::Москва/Вена/00444, DME-VIE, 14:00-16:30/C Бизнес класс",
"Long": 9,
"TRFId": 0,
"CreateDate": "2020-10-12T15:02:29.013",
"CalculatePriceDate": "2020-10-12T15:02:29.013",
"ShowOrder": 1,
"Connections": [{
"$ref": 1
}
]
}, {
"$id": 4,
"DGCod": "AU10101003",
"TurDate": "2021-01-01T00:00:00",
"Key": 202462,
"PaketKey": 209,
"TRKey": 100000038,
"SVKey": 3,
"Name": "HOTEL::Вена/Albatros-1*,8 ночей/Double(Standart),2 Adult/HB Полупансион",
"Day": 1,
"Code": 702,
"SubCode1": 1113,
"SubCode2": 2,
"Men": 2,
"Days": 8,
"CNKey": 90,
"CTKey": 35,
"PartnerKey": 10760,
"Brutto": 519.6,
"Wait": null,
"Warning": 0,
"TimeBeg": "1899-01-01T16:30:00",
"Control": 1,
"Attribute": 65695,
"DateBeg": "2021-01-01T00:00:00",
"DateEnd": "2021-01-08T00:00:00",
"Discount": 47.4,
"Comment": null,
"DGKey": 40335,
"Blocked": null,
"NameLat": "HOTEL::Вена/Albatros-1*,8 ночей/Double(Standart),2 Adult/HB Полупансион",
"Long": 9,
"TRFId": 0,
"CreateDate": "2020-10-12T15:02:29.013",
"CalculatePriceDate": "2020-10-12T15:02:29.013",
"ShowOrder": 2,
"Connections": [{
"$ref": 1
}
]
}, {
"$id": 5,
"DGCod": "AU10101003",
"TurDate": "2021-01-01T00:00:00",
"Key": 202461,
"PaketKey": 209,
"TRKey": 100000038,
"SVKey": 1,
"Name": "А_П::Вена/Москва/00444, VIE-SV1, 14:00-16:45/C Бизнес класс",
"Day": 9,
"Code": 572,
"SubCode1": 67,
"SubCode2": 35,
"Men": 2,
"Days": 0,
"CNKey": 460,
"CTKey": 1,
"PartnerKey": 10760,
"Brutto": 195.2,
"Wait": null,
"Warning": 0,
"TimeBeg": "1899-01-01T14:00:00",
"Control": 1,
"Attribute": 65695,
"DateBeg": "2021-01-09T00:00:00",
"DateEnd": "2021-01-09T00:00:00",
"Discount": 17.8,
"Comment": null,
"DGKey": 40335,
"Blocked": null,
"NameLat": "А_П::Вена/Москва/00444, VIE-SV1, 14:00-16:45/C Бизнес класс",
"Long": 9,
"TRFId": 0,
"CreateDate": "2020-10-12T15:02:29.013",
"CalculatePriceDate": "2020-10-12T15:02:29.013",
"ShowOrder": 3,
"Connections": [{
"$ref": 1
}
]
}
],
"Turists": [{
"$id": 6,
"DGCod": "AU10101003",
"Key": 88653,
"TurDate": "2021-01-01T00:00:00",
"NameRus": "IVANOV",
"NameLat": "IVANOV",
"ShortName": "I.",
"Sex": 0,
"FNameRus": "IVAN",
"FNameLat": "IVAN",
"SNameRus": "",
"SNameLat": "",
"BirthDay": "1980-01-01T00:00:00",
"BirthCountry": null,
"BirthCity": "Москва",
"Citizen": "",
"PostIndex": null,
"PostCity": null,
"PostStreet": null,
"PostBild": null,
"PostFlat": null,
"Phone": "",
"PhoneCode": null,
"PasportType": "",
"PasportNum": "",
"PasportDate": null,
"PasportDateEnd": null,
"PasportByWhom": "",
"Place": null,
"IsAnketa": null,
"PaspRuser": "",
"PaspRuNum": "",
"PaspRuDate": null,
"PaspRuByWhom": "",
"ClientId": null,
"IsMain": 1,
"DGKey": 40335,
"RealSex": 0,
"Email": "",
"EnableSmsNotifications": 0,
"CitizenId": "",
"Connections": [{
"$ref": 1
}
]
}, {
"$id": 7,
"DGCod": "AU10101003",
"Key": 88652,
"TurDate": "2021-01-01T00:00:00",
"NameRus": "PETROV",
"NameLat": "PETROV",
"ShortName": "P.",
"Sex": 0,
"FNameRus": "PETR",
"FNameLat": "PETR",
"SNameRus": "",
"SNameLat": "",
"BirthDay": "1981-01-01T00:00:00",
"BirthCountry": null,
"BirthCity": "Москва",
"Citizen": "",
"PostIndex": null,
"PostCity": null,
"PostStreet": null,
"PostBild": null,
"PostFlat": null,
"Phone": "",
"PhoneCode": null,
"PasportType": "",
"PasportNum": "",
"PasportDate": null,
"PasportDateEnd": null,
"PasportByWhom": "",
"Place": null,
"IsAnketa": null,
"PaspRuser": "",
"PaspRuNum": "",
"PaspRuDate": null,
"PaspRuByWhom": "",
"ClientId": null,
"IsMain": 0,
"DGKey": 40335,
"RealSex": 0,
"Email": "",
"EnableSmsNotifications": 0,
"CitizenId": "",
"Connections": [{
"$ref": 1
}
]
}
],
"TuristServices": [{
"$id": 8,
"TUKey": 88653,
"DLKey": 202463,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"Key": 3770,
"Connections": [{
"$ref": 1
}, {
"$ref": 3
}, {
"$ref": 6
}
]
}, {
"$id": 9,
"TUKey": 88652,
"DLKey": 202463,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"Key": 3768,
"Connections": [{
"$ref": 1
}, {
"$ref": 3
}, {
"$ref": 7
}
]
}, {
"$id": 10,
"TUKey": 88653,
"DLKey": 202462,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"Key": 3771,
"Connections": [{
"$ref": 1
}, {
"$ref": 4
}, {
"$ref": 6
}
]
}, {
"$id": 11,
"TUKey": 88652,
"DLKey": 202462,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"Key": 3767,
"Connections": [{
"$ref": 1
}, {
"$ref": 4
}, {
"$ref": 7
}
]
}, {
"$id": 12,
"TUKey": 88653,
"DLKey": 202461,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"Key": 3772,
"Connections": [{
"$ref": 1
}, {
"$ref": 5
}, {
"$ref": 6
}
]
}, {
"$id": 13,
"TUKey": 88652,
"DLKey": 202461,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"Key": 3769,
"Connections": [{
"$ref": 1
}, {
"$ref": 5
}, {
"$ref": 7
}
]
}
],
"DogovorMessages": []
"DogovorMessages": [{
"$id": 11,
"Date": "2020-10-09T09:16:39.99",
"Text": "Тайм-лимит забронированного перелета: 13.10.2020 21:59",
"Remark": "TimeLimit",
"Connections": [{
"$ref": 1
}
]
},
"ValidationResultSummary": {
"ValidationResult": {
"Errors": [],
"IsValid": true
},
"ValidationResultAttributes": 0
}
}
|
Выгрузка информации о путевке (GetReservation)
Метод выводит информацию о бронированной путевке.
- Формат запроса:
- GET .../TourSearchOwin/GetReservation?
- Принимаемые параметры headers ( * – обязательный):
- Content-Type * – application/json
- Authorization * – token_type + access_token (полученные из метода .../TourSearchOwin/Token?)
- Принимаемые параметры GET запроса ( * – обязательный):
- dgCode * – номер путевки:
- Возвращаемый результат:
- $id – внутренний идентификатор для установки связей между сущностями,
- Code – код путевки
- TurDate – дата заезда
- TRKey – ключ тура
- CNKey – ключ страны
- CTKey – ключ города
- NMen – количество туристов по путевке
- Price – стоимость путевки за вычетом скидки (комиссии)
- Payed – оплаченная сумма по путевке
- NDay – продолжительность тура в днях
- MainMan – ФИО лица, заключившего договор
- MainManPhone – номер телефона лица, заключившего договор
- MainManAddress – адрес лица, заключившего договор
- MainManPassport – паспортные данные лица, заключившего договор
- PartnerKey – ключ партнера, оформившего договор
- Operator – ФИО создателя договора
- Discount – величина скидки на одного человека
- DiscountSum – абсолютная величина скидки
- SORCode – ключ статус путевки, возможные значения: 0-в работе, 1-не определён, 2-аннулирован, 3-wait лист, 7-ок.
- CrDate – дата и время создания путевки
- Rate – код валюты путевки
- Advertise – ключ источника рекламы
- Locked – блокировка путевки: 1 – если заблокирована
- CauseDisc – ключ основания для скидки
- PPaymentDate – максимальная дата внесения предоплаты
- PaymentDate – максимальная дата полной оплаты
- Procent – информация о предоплате: 1 – предоплата в %; 0 – предоплата в у.е.
- TurDateBfrAnnul – значение даты заезда до аннуляции путевки (при аннуляции дата заезда заменяется на 31.12.1899)
- ARKey – ключ причины аннуляции путевки
- Key – ключ договора
- CodePartner – значение ключевого поля из таблицы партнеров
- FilialKey – ключ филиала фирмы-владельца, пользователем которого была забронирована путевка
- IsOutDoc – статус выдачи документов
- Notes – сообщение поставщику
- DiscSumBfrAnn – числовое значение скидки перед аннуляцией путевки
- PriceBfrAnn – стоимость путевки перед ее аннуляцией
- RazmerP – размер предоплаты
- LeadDepartment – ключ отдела, ведущего данный тур
- MainManEmail – адрес е-mail из данных лица, заключившего договор
- MainManComment – примечание из данных лица, заключившего договор
- DupUserKey – ключ представителя партнера, которым был оформлен договор
- BTKey – ключ системы бронирования, из которой был оформлен договор
- ConfirmedDate – дата подтверждения путевки покупателю
- PrtDogKey – договор партнера, по которому оформлена путевка
- CTDepartureKey – ключ города начала поездки
- PDTType – тип договора, по которому оформлена путевка
- NationalCurrencyPrice – стоимость путевки в национальной валюте
- NationalCurrencyDiscountSum – значение скидки в национальной валюте
- NationalCurrencyPayed – сумма платежей по путевке, зафиксированная в национальной валюте
- CurrencyKey – ключ национальной валюты путевки
- CurrencyRate – курс национальной валюты путевки
- ClientKey – ключ частника, которым был оформлен договор
- Partner – информация о партнере покупателе, привязанным к путевке
- $id – внутренний идентификатор для установки связей между сущностями
- Key – ключ партнера покумателя
- FullName – полное имя партнера
- Name – имя партнера
- Services – коллекция услуг в данной путевке
- $id – внутренний идентификатор для установки связей между сущностями
- DGCod – номер путевки
- TurDate – дата начала тура
- Key – ключ услуги
- PaketKey – ключ пакета
- TRKey – клют тура
- SVKey – ключ типа услуги
- Name – наименование услуги
- Day – порядковый номер дня тура, в который предоставляется услуга
- Code – ключ кода услуги
- SubCode1 – ключ доп.описания 1 услуги
- SubCode2 – ключ доп.описания 2 услуги
- Men – количество человек, пользующихся услугой по путевке
- Days – количество дней услуги
- CNKey – ключ страны услуги
- CTKey – ключ города услуги
- PartnerKey – ключ партнера, предоставляющего услугу
- Brutto – стоимость услуги брутто
- Wait – признак услуги Снимать квоту при бронировании
- Warning – неиспользуемое поле
- TimeBeg – поле используется для сортировки услуг в путевке
- Control – ключ статуса услуги (ссылка на таблицу Controls),
- Attribute – атрибут услуги
- DateBeg – дата начала действия услуги
- DateEnd – дата окончания действия услуги
- Discount – размер скидки по услуге
- Comment – комментарий к услуге
- DGKey – ключ договора,
- Blocked – признак блокировки услуги (0 – не блокирована, 1 – блокирована)
- NameLat – наименование услуги (латинский)
- Long – продолжительность тура в днях
- TRFId – ключ тарифа
- CreateDate – дата создания услуги в путевке
- CalculatePriceDate – дата расчета цены
- ShowOrder – порядок при сортировке
- Connections – коллекция связей с сущностями через внутренний идентификатор $id
- $ref – связь с внутренним идентификатором $id
- Turists – коллекция туристов в данной путевке
- $id – внутренний идентификатор для установки связей между сущностями
- DGCod – номер путевки, к которому привязан турист
- Key – ключ туриста
- TurDate – дата начала тура
- NameRus – фамилия туриста (русское)
- NameLat – фамилия туриста (латинское)
- ShortName – имя и отчество туриста в формате И.О.
- Sex – пол туриста (признак): Null или 0 – Муж; 1 – Жен; 2 – Child (ребенок); 3 – Infant (младенец)
- FNameRus – имя туриста (русское)
- FNameLat – имя туриста (латинское)
- SNameRus – отчество туриста (русское)
- SNameLat – отчество туриста (латинское)
- BirthDay – дата рождения туриста
- BirthCountry – страна рождения туриста
- BirthCity – город рождения туриста
- Citizen – гражданство туриста
- PostIndex – почтовый индекс
- PostCity – адрес проживания туриста (город)
- PostStreet – адрес проживания туриста (улица)
- PostBild – адрес проживания туриста (номер дома)
- PostFlat – адрес проживания туриста (номер квартиры)
- Phone – номер телефона туриста
- PhoneCode – код телефона туриста
- PasportType – серия заграничного паспорта
- PasportNum – номер заграничного паспорта
- PasportDate – дата выдачи заграничного паспорта
- PasportDateEnd – дата окончания срока действия заграничного паспорта
- PasportByWhom – кем выдан заграничный паспорт
- Place – место рождения
- IsAnketa – выдавалась ли анкета
- PaspRuser – серия общегражданского паспорта
- PaspRuNum – номер общегражданского паспорта
- PaspRuDate – дата выдачи общегражданского паспорта
- PaspRuByWhom – кем выдан общегражданский паспорт
- ClientId – ключ в таблице клиентов
- IsMain – признак главного туриста по путевке
- DGKey – ключ кутевки
- RealSex – реальный пол туриста: Null или 0 – Муж; 1 – Жен
- Email – е-mail туриста
- EnableSmsNotifications – согласен получать уведомления по СМС
- CitizenId – идентификатор туриста
- Connections – коллекция связей с сущностями через внутренний идентификатор $id
- $ref – связь с внутренним идентификатором $id
- TuristServices – коллекция связей туриста с услугой
- $id – внутренний идентификатор для установки связей между сущностями
- TUKey – ключ туриста
- DLKey – ключ услуги
- NumDoc – номер документа (авиабилета)
- NumRoom – номер комнаты (каюты)
- Seat – номер места (в номере отеля, каюты) или место в транспорте
- Area – зона (палуба) в отеле, круизе
- DocDate – дата документа (авиабелета)
- Key – первичный ключ связки
- Connections – коллекция связей с сущностями через внутренний идентификатор $id
- $ref – связь с внутренним идентификатором $id
- DogovorMessages – сообщение по путевке покупателю
- id – внутренний идентификатор для установки связей между сущностями
- Date – дата создание сообщения
- Text – текст сообщения
- Remark – код сообщения
- Connections – коллекция связей с сущностями через внутренний идентификатор $id
- $ref – связь с внутренним идентификатором $id
Вызов метода CostOfferDescriptions GET http://localhost:9000/TourSearchOwin/GetReservation?dgCode=AU10101003
Content-Type: application/json
Authorization: Bearer AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAdsCC8X7m9E-2bg0-uS0VfgAAAAAAAAADZgAAwAAAA-
EqAAAAAASAAACgAAAAEAAAAO4S-VrqBhQuhqliqrAKKfIgAQAAn-gfgP-rYjk-Krr1Ck2A-IGCw6FBhamUOzFxgTtk1hR-
GLMryFIH8VK5GmHdHubZWj4S7XcazGL1Kn5-VlbiYdW2ZVWpYlk638aV-XS2kpZ9YrKgViiM_x8RH5TPo4-
9LhE7V-SjiB_CP_qs58DRKcyohq3Tz9QaiFgH1Ko7O2XKjTBG7SHyQPDPYjaqg9kDxmzq0UcIT6Fm4YkDxmm9-
CW7u3cEFWcpiqKOc2VvZFKPPHc07uDOO4w9FXPhpXZwOqrJBxzhbr73RuhzPs_e-hgxKaIlsMaK5b0v5ReAMy1kuY0ebXA
Возвращаемый результат метода GetReservation (в формате JSON) {
"$id": 1,
"Code": "AU10101003",
"TurDate": "2021-01-01T00:00:00",
"TRKey": 100000038,
"CNKey": 90,
"CTKey": 35,
"NMen": 2,
"Price": 877,
"Payed": 0,
"NDay": 9,
"MainMan": "",
"MainManPhone": "",
"MainManAddress": "",
"MainManPassport": "",
"PartnerKey": 10762,
"Operator": "Megatec ",
"Discount": 40,
"DiscountSum": 80,
"SORCode": 3,
"CrDate": "2020-10-12T15:02:29.013",
"Rate": "$",
"Advertise": 0,
"Locked": null,
"CauseDisc": null,
"PPaymentDate": null,
"PaymentDate": "2020-10-14T00:00:00",
"Procent": 1,
"TurDateBfrAnnul": null,
"ARKey": 0,
"Key": 40335,
"CodePartner": null,
"FilialKey": 1,
"IsOutDoc": 0,
"Notes": null,
"DiscSumBfrAnn": null,
"PriceBfrAnn": null,
"RazmerP": 0,
"LeadDepartment": 0,
"MainManEmail": "test@megatec.ru",
"MainManComment": "",
"DupUserKey": 6,
"BTKey": 1,
"ConfirmedDate": null,
"PrtDogKey": 11,
"CTDepartureKey": 1,
"PDTType": 0,
"NationalCurrencyPrice": null,
"NationalCurrencyDiscountSum": null,
"NationalCurrencyPayed": null,
"CurrencyKey": null,
"CurrencyRate": null,
"ClientKey": null,
"Partner": {
"$id": 2,
"Key": 10762,
"FullName": "Агентство",
"Name": "Агентство"
},
"Services": [{
"$id": 3,
"DGCod": "AU10101003",
"TurDate": "2021-01-01T00:00:00",
"Key": 202463,
"PaketKey": 209,
"TRKey": 100000038,
"SVKey": 1,
"Name": "А_П::Москва/Вена/00444, DME-VIE, 14:00-16:30/C Бизнес класс",
"Day": 1,
"Code": 570,
"SubCode1": 67,
"SubCode2": 1,
"Men": 2,
"Days": 0,
"CNKey": 90,
"CTKey": 35,
"PartnerKey": 10760,
"Brutto": 162.2,
"Wait": null,
"Warning": 0,
"TimeBeg": "1899-01-01T14:00:00",
"Control": 1,
"Attribute": 65695,
"DateBeg": "2021-01-01T00:00:00",
"DateEnd": "2021-01-01T00:00:00",
"Discount": 14.8,
"Comment": null,
"DGKey": 40335,
"Blocked": null,
"NameLat": "А_П::Москва/Вена/00444, DME-VIE, 14:00-16:30/C Бизнес класс",
"Long": 9,
"TRFId": 0,
"CreateDate": "2020-10-12T15:02:29.013",
"CalculatePriceDate": "2020-10-12T15:02:29.013",
"ShowOrder": 1,
"Connections": [{
"$ref": 1
}
]
}, {
"$id": 4,
"DGCod": "AU10101003",
"TurDate": "2021-01-01T00:00:00",
"Key": 202462,
"PaketKey": 209,
"TRKey": 100000038,
"SVKey": 3,
"Name": "HOTEL::Вена/Albatros-1*,8 ночей/Double(Standart),2 Adult/HB Полупансион",
"Day": 1,
"Code": 702,
"SubCode1": 1113,
"SubCode2": 2,
"Men": 2,
"Days": 8,
"CNKey": 90,
"CTKey": 35,
"PartnerKey": 10760,
"Brutto": 519.6,
"Wait": null,
"Warning": 0,
"TimeBeg": "1899-01-01T16:30:00",
"Control": 1,
"Attribute": 65695,
"DateBeg": "2021-01-01T00:00:00",
"DateEnd": "2021-01-08T00:00:00",
"Discount": 47.4,
"Comment": null,
"DGKey": 40335,
"Blocked": null,
"NameLat": "HOTEL::Вена/Albatros-1*,8 ночей/Double(Standart),2 Adult/HB Полупансион",
"Long": 9,
"TRFId": 0,
"CreateDate": "2020-10-12T15:02:29.013",
"CalculatePriceDate": "2020-10-12T15:02:29.013",
"ShowOrder": 2,
"Connections": [{
"$ref": 1
}
]
}, {
"$id": 5,
"DGCod": "AU10101003",
"TurDate": "2021-01-01T00:00:00",
"Key": 202461,
"PaketKey": 209,
"TRKey": 100000038,
"SVKey": 1,
"Name": "А_П::Вена/Москва/00444, VIE-SV1, 14:00-16:45/C Бизнес класс",
"Day": 9,
"Code": 572,
"SubCode1": 67,
"SubCode2": 35,
"Men": 2,
"Days": 0,
"CNKey": 460,
"CTKey": 1,
"PartnerKey": 10760,
"Brutto": 195.2,
"Wait": null,
"Warning": 0,
"TimeBeg": "1899-01-01T14:00:00",
"Control": 1,
"Attribute": 65695,
"DateBeg": "2021-01-09T00:00:00",
"DateEnd": "2021-01-09T00:00:00",
"Discount": 17.8,
"Comment": null,
"DGKey": 40335,
"Blocked": null,
"NameLat": "А_П::Вена/Москва/00444, VIE-SV1, 14:00-16:45/C Бизнес класс",
"Long": 9,
"TRFId": 0,
"CreateDate": "2020-10-12T15:02:29.013",
"CalculatePriceDate": "2020-10-12T15:02:29.013",
"ShowOrder": 3,
"Connections": [{
"$ref": 1
}
]
}
],
"Turists": [{
"$id": 6,
"DGCod": "AU10101003",
"Key": 88653,
"TurDate": "2021-01-01T00:00:00",
"NameRus": "IVANOV",
"NameLat": "IVANOV",
"ShortName": "I.",
"Sex": 0,
"FNameRus": "IVAN",
"FNameLat": "IVAN",
"SNameRus": "",
"SNameLat": "",
"BirthDay": "1980-01-01T00:00:00",
"BirthCountry": null,
"BirthCity": "Москва",
"Citizen": "",
"PostIndex": null,
"PostCity": null,
"PostStreet": null,
"PostBild": null,
"PostFlat": null,
"Phone": "",
"PhoneCode": null,
"PasportType": "",
"PasportNum": "",
"PasportDate": null,
"PasportDateEnd": null,
"PasportByWhom": "",
"Place": null,
"IsAnketa": null,
"PaspRuser": "",
"PaspRuNum": "",
"PaspRuDate": null,
"PaspRuByWhom": "",
"ClientId": null,
"IsMain": 1,
"DGKey": 40335,
"RealSex": 0,
"Email": "",
"EnableSmsNotifications": 0,
"CitizenId": "",
"Connections": [{
"$ref": 1
}
]
}, {
"$id": 7,
"DGCod": "AU10101003",
"Key": 88652,
"TurDate": "2021-01-01T00:00:00",
"NameRus": "PETROV",
"NameLat": "PETROV",
"ShortName": "P.",
"Sex": 0,
"FNameRus": "PETR",
"FNameLat": "PETR",
"SNameRus": "",
"SNameLat": "",
"BirthDay": "1981-01-01T00:00:00",
"BirthCountry": null,
"BirthCity": "Москва",
"Citizen": "",
"PostIndex": null,
"PostCity": null,
"PostStreet": null,
"PostBild": null,
"PostFlat": null,
"Phone": "",
"PhoneCode": null,
"PasportType": "",
"PasportNum": "",
"PasportDate": null,
"PasportDateEnd": null,
"PasportByWhom": "",
"Place": null,
"IsAnketa": null,
"PaspRuser": "",
"PaspRuNum": "",
"PaspRuDate": null,
"PaspRuByWhom": "",
"ClientId": null,
"IsMain": 0,
"DGKey": 40335,
"RealSex": 0,
"Email": "",
"EnableSmsNotifications": 0,
"CitizenId": "",
"Connections": [{
"$ref": 1
}
]
}
],
"TuristServices": [{
"$id": 8,
"TUKey": 88653,
"DLKey": 202463,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"Key": 3770,
"Connections": [{
"$ref": 1
}, {
"$ref": 3
}, {
"$ref": 6
}
]
}, {
"$id": 9,
"TUKey": 88652,
"DLKey": 202463,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"Key": 3768,
"Connections": [{
"$ref": 1
}, {
"$ref": 3
}, {
"$ref": 7
}
]
}, {
"$id": 10,
"TUKey": 88652,
"DLKey": 202462,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"Key": 3767,
"Connections": [{
"$ref": 1
}, {
"$ref": 4
}, {
"$ref": 7
}
]
}, {
"$id": 11,
"TUKey": 88653,
"DLKey": 202462,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"Key": 3771,
"Connections": [{
"$ref": 1
}, {
"$ref": 4
}, {
"$ref": 6
}
]
}, {
"$id": 12,
"TUKey": 88653,
"DLKey": 202461,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"Key": 3772,
"Connections": [{
"$ref": 1
}, {
"$ref": 5
}, {
"$ref": 6
}
]
}, {
"$id": 13,
"TUKey": 88652,
"DLKey": 202461,
"NumDoc": null,
"NumRoom": 0,
"Seat": null,
"Area": null,
"DocDate": null,
"Key": 3769,
"Connections": [{
"$ref": 1
}, {
"$ref": 5
}, {
"$ref": 7
}
]
}
],
"DogovorMessages": [{
"$id": 14,
"Date": "2020-10-09T09:16:39.99",
"Text": "Тайм-лимит забронированного перелета: 14.10.2020 21:59",
"Remark": "TimeLimit",
"Connections": [{
"$ref": 1
}
]
}
]
}
|
Выгрузка информации о ценовых блоках (CostOfferDescriptions)
Метод принимает на вход ключи ценовых блоков и возвращает, прикреплённое к ним описание.
- Формат запроса:
- GET .../TourSearchOwin/CostOfferDescriptions?
- Принимаемые параметры ( * – обязательный):
- COKeysString * – ключи ценовых блоков через запятую
- Возвращаемый результат:
- CostOfferImageInfo – коллекция объектов из двух полей:
- IdCostOffer – ключ ценового блока
- InfoText – описание ценового блока
- CostOfferImageInfo – коллекция объектов из двух полей:
Вызов метода CostOfferDescriptions GET http://localhost:9000/TourSearchOwin/CostOfferDescriptions?COKeysString=15143
Возвращаемый результат метода CostOfferDescriptions (в формате JSON) [
{
"CostOfferImageInfo": {
"IdCostOffer": 15143,
"InfoText": "СПО до 01.01.2020"
},
}
]
|
Получение капчи (GetCaptcha)
Метод возвращает капчу (используется при регистрации частного лица).
- Формат запроса:
- GET .../TourSearchOwin/GetCaptcha?
- Принимаемые параметры ( * – обязательный):
- sessionId * – Id сессии
- Возвращаемый результат:
- FileContents – файл капчи в бинарном виде
- ContentType – расширение файла (image/jpeg)
- FileDownloadName – имя файла
Вызов метода GetCaptcha GET http://localhost:9000/TourSearchOwin/GetCaptcha?sessionId=cd5yr3wftltmorphuzwx0krh
Возвращаемый результат метода GetCaptcha (в формате JSON) {
"FileContents": "iVBORw0KGgoAAAANSUhEUgAAALQAAAAyCAYAAAD1JPH3AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAA
xiSURBVHhe7Z1NyE1tF8eNZMZEyUBGEikDAwNFKRSFMsCEMkDyOUG+Hgw8UkiPvHjLq1uRdBsgMVEGxERGGHGPmBkantdvd9Z51n3tdX3ts/c+5+Bfq/ucfa7Ptf5rXWtf1z
7nntLpdFb8lL+qyqtXry4/f/78H+szLanlYjI+Pv6fsbGx/1qfjZJMTEz8ff369f/x1/q8LfkVdKkFQvOiEt69e9eZMmVKIQ8fPuxeLcNX7vv374WEQN3Xr18Xr58+fdpr58aNG8
W1UQXzOnXqVG9ug8CLFy8KXd66dat7JR8/fvwo2kFitqTs+/fvOx8+fOheqR/JhLYGDjmFYNeuXSuuWfCVw6iID5rAKJ0xbNmypXgPGdqEdqxRg2/cd+/eLXR56dKl4n2V+UFObI
GEbAkuXrzYs+f9+/e7V+tFMqF9A4dokBSyhZBaToOyKPvcuXM9J+IvY/j8+XPxvg24jjVKCEVh9Cu6DZXLhc/59+7d29Pjhg0bulfrRV8px+8Cy7FGBW4U9iG1XAwh5//69Wvn6N
GjnbVr13Y+fvzYvVov/hC6BdSRrhBBc1Y3gY7CIaSWi2HQzt84oZnUqEW1fuDOt450hXrUhyQaKSQf5dy/ChonNArVOfevjpcvXxYiqCNiUc+9b/CRXGNQuf8gnehPytEH3GgM2n
Jgi+RcI08VtL3809/58+cH4kSCkSJ03Z6PkfU2ZC7aIm9q/gyBILmAOm0QWcBO2LFjxzqrV6/u7Nu3r9W+BY0R2iIeE6w6ySaWT8gIAfpxEtqAcFVv2mJISS0ERGs9F/b/NcH7wa,
"ContentType": "image/jpeg",
"FileDownloadName": ""
}
|
Проверка капчи (CheckCaptcha)
Метод проверяет введенную капчу (используется при регистрации частного лица).
- Формат запроса:
- GET .../TourSearchOwin/CheckCaptcha?
- Принимаемые параметры ( * – обязательный):
- captchaText * – текст капчи
- sessionId * – Id сессии
- Возвращаемый результат:
- true/false – результат проверки (false – капча или Id сессии неверные, true – капча верна)
Вызов метода CheckCaptcha GET http://localhost:9000/TourSearchOwin/CheckCaptcha?captchaText=vf8an&sessionId=cd5yr3wftltmorphuzwx0krh
Возвращаемый результат метода CheckCaptcha (в формате JSON) {
true
}
|
Проверка e-mail (CheckMail)
Метод проверяет e-mail при регистрации частного лица на существование такого же e-mail в базе данных.
- Формат запроса:
- GET .../TourSearchOwin/CheckMail?
- Принимаемые параметры ( * – обязательный):
- mail * – e-mail пользователя
- Возвращаемый результат:
- true/false – результат проверки (false – пользователь с таким e-mail уже существует, true – пользователь с таким e-mail нет в базе данных)
Вызов метода CheckMail GET http://localhost:9000/TourSearchOwin/CheckMail?mail=test@megatec.ru
Возвращаемый результат метода CheckMail (в формате JSON) {
true
}
|
Проверка туриста (checkTourist)
Метод служит для получения информации о путевке по номеру путевки и номеру паспорта туриста.
- Формат запроса:
- GET .../TourSearchOwin/checkTourist?
- Принимаемые параметры ( * – обязательный):
- dogovorNumber * – номер путевки.
- passport * – номер паспорта туриста (заграничного или общегражданского).
- Возвращаемый результат:
- isDogovor – true, если путевка найдена по номеру путевки, false, если не найдена.
- isAnnulated – true, если путевка аннулирована, false, если не аннулирована.
- dogovorStatus – статус путевки
- isPay – true, если путевка полностью оплачена, false, если не оплачена или оплачена частично.
- dogovorDateBegin – дата начала заезда.
- dogovorDateEnd – дата окончания заезда.
- dogovorDateCreate – дата создания путевки.
- isTouristDogovorCreate – true, если турист (по номеру паспорта) является главным туристом в путевке.
- services – набор услуг в путевке.
- svKey – код класса услуги.
- code – код услуги.
- subCode1 – код доп. описания 1 услуги.
- subCode2 – код доп. описания 2 услуги.
- name – название услуги.
- touristInfo – информация о главном туристе.
- lastname – фамилия туриста (рус).
- firstname – имя туриста (рус).
- surname – отчество туриста.
- address – адрес (индекс, город, улица, дом, квартира).
- postcode – индекс.
- city – город.
- street – улица.
- home – дом.
- roomNumber – квартира.
Вызов метода checkTourist http://localhost:9000/TourSearchOwin/checkTourist?dogovorNumber=AU25120001&passport=1234567
Возвращаемый результат метода checkTourist (в формате JSON) {
"isDogovor": true,
"isAnnulated": false,
"dogovorStatus": "ОК",
"isPay": true,
"dogovorDateBegin": "05.02.2018",
"dogovorDateEnd": "12.02.2018",
"dogovorDateCreate": "01.02.2018",
"isTouristDogovorCreate": true,
"services": [
{
"svKey": "1",
"code": "1088",
"subCode1": "147",
"subCode2": "35",
"name": "А_П::Вена/Москва/SU2353, VIE-SVO, 18:05-22:40/NSU Экономический класс"
},
{
"svKey": "3",
"code": "698",
"subCode1": "46200",
"subCode2": "1",
"name": "HOTEL::Вена/Graben-1*,5 ночей/DBL(Standart ),2Ad/FB Полный пансион"
},
{
"svKey": "1",
"code": "1087",
"subCode1": "147",
"subCode2": "1",
"name": "А_П::Москва/Вена/SU2352, SVO-VIE, 16:20-17:05/NSU Экономический класс"
}
],
"touristInfo": {
"lastname": "Ivanov",
"firstname": "Ivan",
"surname": "Ivanovich",
"address": "123456, г. Москва, ул. Ленина, д. 1, кв. 15",
"postcode": "123456",
"city": "Москва",
"street": "Ленина",
"home": "1",
"roomNumber": "15"
}
}
|
Список значений параметра гражданства (Citizenships)
Метод служит для получения списка значений параметра гражданства.
- Формат запроса:
- GET .../TourSearchOwin/Citizenships?
- Принимаемые параметры ( * – обязательный):
- pageSize * – размер выдачи
- pageNumber * – порядковый номер страницы выдачи
- term * – подстрочный фильтр для отбора (пустой по умолчанию)
- Возвращаемый результат:
- Key – ключ страны
- Name – название гражданства
Вызов метода Citizenships http://localhost:9000/TourSearchOwin/Citizenships?pageSize=50&pageNumber=1&term=
Возвращаемый результат метода Citizenships (в формате JSON) {
{
"Key": 90,
"Name": "Австрия"
},
{
"Key": 222,
"Name": "Англия"
},
{
"Key": 376,
"Name": "Андорра"
},
{
"Key": 375,
"Name": "Беларусь"
},
{
"Key": 3,
"Name": "Бельгия"
}
}
|
Выгрузка постоянного клиента (Client)
Метод выгружает постоянного клиента при авторизации частного лица.
- Формат запроса:
- GET .../TourSearchOwin/Client?
- Принимаемые параметры ( * – обязательный):
- clientId * – Id постоянного клиента
- Возвращаемый результат:
- $id – внутренний порядковый идентификатор
- CL_KEY – ключ справочника постоянные клиенты
- CL_OPERUPDATE – ключ менеджера, который последний обновил постоянного клиента
- CL_OPERUPDATE – дата обновления постоянного клиента
- CL_PFKEY – внутренний ключ
- CL_NAMERUS – имя (на русском)
- CL_NAMELAT – имя (на латинице)
- CL_SHORTNAME – инициалы
- CL_SEX – пол
- CL_FNAMERUS – фамилия (на русском)
- CL_FNAMELAT – фамилия (на латинице)
- CL_SNAMERUS – отчество (на русском)
- CL_SNAMELAT – отчество (на латинице)
- CL_BIRTHDAY – дата рождения
- CL_BIRTHCOUNTRY – страна рождения
- CL_BIRTHCITY – место рождения (город)
- CL_CITIZEN – гражданство
- CL_ADDRESS – полный адрес
- CL_POSTINDEX – почтовый индекс
- CL_POSTCITY – город
- CL_POSTSTREET – улица
- CL_POSTBILD – дом
- CL_POSTFLAT – квартира
- CL_PHONE – телефон
- CL_PASPORTSER – серия загранпаспорта
- CL_PASPORTNUM – номер загранпаспорта
- CL_PASPORTDATE – дата выдачи загранпаспорта
- CL_PASPORTDATEEND – срок действия загранпаспорта
- CL_PASPORTBYWHOM – кем выдан загранпаспорт
- CL_PASPRUSER – серия общегражданского паспорта
- CL_PASPRUNUM – номер общегражданского паспорта
- CL_PASPRUDATE – дата выдачи общегражданского паспорта
- CL_PASPRUBYWHOM – кем выдан общегражданский паспорт
- CL_ISMARK – профессия
- CL_TYPE – примечания
- CL_IMPRESSNOTE – общие впечатления
- CL_NOTE – особые отметки
- CL_REMARK – примечания
- CL_IMPRESSKEY – ключ выбранного впечатления
- CL_TITLE1 – служебные отметки, заголовок 1
- CL_TITLE2 – служебные отметки, заголовок 2
- CL_TITLE3 – служебные отметки, заголовок 3
- CL_TITLE4 – служебные отметки, заголовок 4
- CL_FUTURE – пожелания
- CL_LASTSTAT – информация о статистике
- CL_SUMMA – сумма по клиенту
- CL_NMENWITH – число спутников
- CL_SUMDOGOVOR – сумма по путевкам
- CL_NTRIP – число поездок
- ROWID – внутренний идентификатор
- cl_fax – факс
- cl_mail: – e-mail
- CL_MINCOST – минимальная стоимость поездки
- CL_MAXCOST – максимальная стоимость поездки
- CL_RealSex – пол
- CL_EnableSmsNotifications – признак согласен получать sms-уведомление
- CL_CHECKED – оповещения
- CL_Creator – создатель постоянного клиента
- CL_CreateDate – дата создания постоянного клиента
- CL_Login – логин
- CL_Password – пароль
- CL_IsOnlineUser – является ли постоянный клиент онлайн пользователем
- CL_CitizenID – ID гражданства
- CARDS – информация о дисконтной карте
Вызов метода Client http://localhost:9000/TourSearchOwin/Client?clientId=7314
Возвращаемый результат метода Client (в формате JSON) {
"$id": "1",
"CL_KEY": 7314,
"CL_OPERUPDATE": 106,
"CL_DATEUPDATE": "2021-01-21T11:56:41.287",
"CL_PFKEY": 2,
"CL_NAMERUS": "Test888",
"CL_NAMELAT": "Test888",
"CL_SHORTNAME": "T.",
"CL_SEX": 0,
"CL_FNAMERUS": "Test888",
"CL_FNAMELAT": "Test888",
"CL_SNAMERUS": "",
"CL_SNAMELAT": "",
"CL_BIRTHDAY": null,
"CL_BIRTHCOUNTRY": "",
"CL_BIRTHCITY": "",
"CL_CITIZEN": "Spain",
"CL_ADDRESS": ", г., ул., д., кв.",
"CL_POSTINDEX": "",
"CL_POSTCITY": "",
"CL_POSTSTREET": "",
"CL_POSTBILD": "",
"CL_POSTFLAT": "",
"CL_PHONE": "65465465",
"CL_PASPORTSER": "",
"CL_PASPORTNUM": "",
"CL_PASPORTDATE": null,
"CL_PASPORTDATEEND": null,
"CL_PASPORTBYWHOM": "",
"CL_PASPRUSER": "",
"CL_PASPRUNUM": "",
"CL_PASPRUDATE": null,
"CL_PASPRUBYWHOM": "",
"CL_ISMARK": 7,
"CL_TYPE": 6,
"CL_IMPRESSNOTE": "7",
"CL_NOTE": "5",
"CL_REMARK": "6",
"CL_IMPRESSKEY": 3,
"CL_TITLE1": "1",
"CL_TITLE2": "2",
"CL_TITLE3": "3",
"CL_TITLE4": "4",
"CL_FUTURE": "8",
"CL_LASTSTAT": null,
"CL_SUMMA": null,
"CL_NMENWITH": null,
"CL_SUMDOGOVOR": null,
"CL_NTRIP": null,
"ROWID": "AAAAAAJBNbw=",
"cl_fax": "",
"cl_mail": "test888@mail.ru",
"CL_MINCOST": null,
"CL_MAXCOST": null,
"CL_RealSex": 0,
"CL_EnableSmsNotifications": 0,
"CL_CHECKED": false,
"CL_Creator": 106,
"CL_CreateDate": "2018-03-06T14:10:27.687",
"CL_Login": "test888@mail.ru",
"CL_Password": "/wjpKpaXhmuTtSaG6xIUtQ==",
"CL_IsOnlineUser": true,
"CL_CitizenID": "",
"CARDS": []
}
|
Выгрузка описаний ценовых блоков (CostOfferDescriptions)
Метод выгружает описания ценовых блоков.
- Формат запроса:
- GET .../TourSearchOwin/CostOfferDescriptions?
- Принимаемые параметры ( * – обязательный):
- COKeysString * – ключи ценовых блоков
- Возвращаемый результат:
- IdCostOffer – Id ценового блока
- InfoText – описание ценового блока
Вызов метода CostOfferDescriptions http://localhost:9000/TourSearchOwin/CostOfferDescriptions?COKeysString=16834,16828
Возвращаемый результат метода CostOfferDescriptions (в формате JSON) {
"costOffersImageInformation": [
{
"IdCostOffer": 16834,
"InfoText": "Информация для онлайна 2"
},
{
"IdCostOffer": 16828,
"InfoText": "Информация для онлайна"
},
]
}
|
Выгрузка описания по стране (CountryInfo)
Метод выгружает описание по стране.
- Формат запроса:
- GET .../TourSearchOwin/CountryInfo?
- Принимаемые параметры ( * – обязательный):
- countryKey * – ключ страны
- Возвращаемый результат:
- информация по выбранной стране
Вызов метода CountryInfo http://localhost:9000/TourSearchOwin/CountryInfo?countryKey=90
Возвращаемый результат метода CountryInfo (в формате JSON) {
"<p>Информация о стране</p>\n"
}
|
Выгрузка картинки по отелю (HotelImages)
Метод выгружает картинку по отелю.
- Формат запроса:
- GET .../TourSearchOwin/HotelImages?
- Принимаемые параметры ( * – обязательный):
- hotelKeys * – ключ отеля (можно передать несколько ключей отеля, каждый раз указывая параметр hotelKeys), в этом случае возвращается информация о главном фото отеля
- либо
- hotelKey * – либо ключ отеля, в этом случае возвращается полная информация о всех фотографиях в отеле
- Возвращаемый результат (если передан hotelKeys):
- Name – название файла
- HotelKey – ключ отеля
- InfoExists – есть ли информация
- ImagesCount – общее количество картинок по отелю
- либо (если передан hotelKey)
- Images – объект картинок
- Key – ключ картинки
- Description – описание картинки
- Priority – приоритет
- Name – название файла
- HotelKey – ключ отеля
- InfoExists – есть ли информация
- Country – страна отеля
- City – город отеля
- Name – название отеля
- HotelCategoryName – категория отеля
- Address – адрес отеля
- Phone – телефон
- Email – e-mail
- Http – адрес сайта
- Description – описание отеля
- InfrastructureHotel – инфраструктура отеля
- RecreationSport – развлечения и спорт
- Beach – информация о пляже
- Healing – лечение
- Excursion – экскурсии
- AdditionalService – дополнительные услуги
- ForChildren – для детей
- AddCost – доплаты
- CheckoutTimeFrom – заезд в отель
- CheckoutTimeTo – выезд из отеля
- Latitude – GPS координаты: географическая широта (обрабатывается с релиза 15.6)
- Longitude – GPS координаты: географическая долгота (обрабатывается с релиза 15.6)
- Images – объект картинок
Вызов метода HotelImages http://localhost:9000/TourSearchOwin/HotelImages?hotelKeys=8660&hotelKeys=178
Возвращаемый результат метода HotelImages (в формате JSON) [
{
"Name": "Dubai_Emirates_UAE_Skyscrapers_Megapolis_From_564495_2560x1599.jpg",
"HotelKey": 8660,
"InfoExists": true
},
{
"Name": "Spain_Resorts_Houses_Tenerife_Canary_Islands_Pools_527022_1280x853.jpg",
"HotelKey": 178,
"InfoExists": true
}
]
|
Вызов метода HotelImages http://localhost:9000/TourSearchOwin/HotelImages?hotelKey=178
Возвращаемый результат метода HotelImages (в формате JSON) {
"Images": [
{
"Key": 2619,
"Description": "",
"Priority": 1,
"Name": "Spain_Resorts_Houses_Tenerife_Canary_Islands_Pools_527022_1280x853.jpg",
"HotelKey": 178,
"InfoExists": false
},
{
"Key": 2620,
"Description": "",
"Priority": 2,
"Name": "stock-photo-luxury-bedrooms-with-flare-light-559774297.jpg",
"HotelKey": 178,
"InfoExists": false
},
{
"Key": 2621,
"Description": "",
"Priority": 3,
"Name": "USA_Houses_Skyscrapers_Evening_Manhattan_New_York_562768_2560x1440.jpg",
"HotelKey": 178,
"InfoExists": false
},
{
"Key": 2622,
"Description": "",
"Priority": 4,
"Name": "Winter_Mountains_Forests_Slovakia_Tatra_mountains_555815_6000x4000.jpg",
"HotelKey": 178,
"InfoExists": false
}
],
"Country": "Австрия",
"City": "Вена",
"Name": "Ananas",
"HotelCategoryName": "5+++*",
"Address": "Вена, Австрия",
"Phone": "(+43/1) 54620043",
"Email": "",
"Http": "https://www.booking.com/hotel/ru/dd1-2ddegd1-2ddegn.ru.html?aid=318615;label=New_Russian_RU_UK_21458017585-iiDMr3ISp%2AxxmWbPbGNx0QS99511367185%3Apl%3Ata%3Ap1%3Ap2%3Aac%3Aap%3Aneg%3Afi2132702086%3Atidsa-302962658775%3Alp9061012%3Ali%3Adec%3Adm;sid=fc5ecc",
"Description": "<p>Расположен на улице Рихте Вензел ВВВ93-95 (р-он №5). В отеле 537 номеров, отель имеет свой гараж, сауну, тренажерный зал, кабельное телевидение. В каждом номере: телевизор, телефон, душ, туалет.</p>",
"InfrastructureHotel": "<p>Ифраструктура отеля</p>",
"RecreationSport": "<p>Развлечение и спорт</p>",
"Beach": "<p>Ифраструктура отеля</p>",
"Healing": "<p>Лечение</p>",
"Excursion": "<p>Экскурсии</p>",
"AdditionalService": "<p>Дополнительные услуги</p>",
"ForChildren": "<p>Для детей</p>",
"AddCost": "<p>Доплата</p>",
"CheckoutTimeFrom": "12:00",
"CheckoutTimeTo": "14:30",
"Latitude": "12.788397°",
"Longitude": "36.348986°"
}
|
Отображение картинки в браузере (GetImage)
Данный метод реализован не на API, а внутри самого приложения (Canary или TourSearchClient) и отображает картинку, полученную в методе HotelImages.
- Формат запроса:
- Принимаемые параметры ( * – обязательный):
- code * – ключ отеля
- type * – размер картинки (возможные значения: small1, small160x90, medium, big)
- name * – название файла (берется из метода HotelImages)
- imageType * – тип картинки (возможные значения: hotels, tours)
- Возвращаемый результат:
- изображение картинки отеля
Вызов метода GetImage http://localhost/Canary/Image/GetImage?code=134049&type=small160x90&name=PalaceResort.webp&imageType=hotels
Возвращаемый результат метода GetImage и виде картинки |
Выгрузка картинки по туру (TourImages)
Метод выгружает картинки по туру.
- Формат запроса:
- GET .../TourSearchOwin/TourImages?
- Принимаемые параметры ( * – обязательный):
- tourKeys * – ключ тура (можно передать несколько ключей тура, каждый раз указывая параметр tourKeys)
- Возвращаемый результат:
- Images – объект картинок
- Key – ключ картинки
- Description – описание картинки
- Priority – приоритет
- Name – название файла
- TourKey – ключ тура
- Images – объект картинок
Вызов метода TourImages http://localhost:9000/TourSearchOwin/TourImages?tourKey=100001132
Возвращаемый результат метода TourImages (в формате JSON) {
"Images": [
{
"Key": 52,
"Description": "Московский планетарий",
"Priority": 1,
"Name": "Планетарий.jpg",
"TourKey": 100001132
},
{
"Key": 51,
"Description": "Вид из космоса",
"Priority": 2,
"Name": "Вид из космоса.jpg",
"TourKey": 100001132
}
]
}
|
Отображение картинки в браузере (GetImage)
Данный метод реализован не на API, а внутри самого приложения (Canary или TourSearchClient) и отображает картинку, полученную в методе TourImages.
- Формат запроса:
- Принимаемые параметры ( * – обязательный):
- code * – ключ тура
- type * – размер картинки (возможные значения: small1, small160x90, medium, big)
- name * – название файла (берется из метода TourImages)
- imageType * – тип картинки (возможные значения: hotels, tours)
- Возвращаемый результат:
- изображение картинки отеля
Вызов метода GetImage http://localhost/Canary/Image/GetImage?code=005485049&type=small160x90&name=TheBestTour.webp&imageType=tours
Возвращаемый результат метода GetImage и виде картинки |
Регистрация частного лица (PersonalRegistration)
Метод производит регистрацию частного лица.
- Формат запроса:
- GET .../TourSearchOwin/PersonalRegistration?
- Принимаемые параметры ( * – обязательный):
- name * – имя
- surname * – фамилия
- phone * – телефон
- login * – e-mail (он же является логином). Предварительно нужно вызывать метод проверки e-mail CheckMail
- password * – пароль (при упрощенной регистрации пароль не передается, а формируется системой автоматически)
- citizen * – гражданство (возможна передача пустого значения)
- country * – страна (возможна передача пустого значения)
- city * – город (возможна передача пустого значения)
- address * – адрес (возможна передача пустого значения)
- comment * – комментарий (возможна передача пустого значения)
- captchaText * – текст капчи. Предварительно нужно вызывать метод получения капчи GetCaptcha
- sessionId * – Id сессии (возможна передача произвольного значения)
- Возвращаемый результат:
- SxotpFhg – сформированный (при упрощенной регистрации) или заданный пользователем пароль
Вызов метода PersonalRegistration http://localhost:9000/TourSearchOwin/PersonalRegistration?name=Иван&surname=Иванов&phone=+79991234568&login=test1222@mail.ru
&citizen=&country=&city=&address=&comment=&captchaText=v7jnj&sessionId=43angzdfbc5h2wud1lp1301j
Возвращаемый результат метода PersonalRegistration (в формате JSON) {
"SxotpFhg"
}
|
Выгрузка плана рассадки (TransportPlan)
Метод выгружает план рассадки транспортного средства.
- Формат запроса:
- GET .../TourSearchOwin/TransportPlan?
- Принимаемые параметры ( * – обязательный):
- code * – код услуги
- dateBegin * – дата начала услуги
- serviceType * – класс услуги
- transportKey * – ключ транспорта
- Возвращаемый результат:
- TransportKey – ключ транспорта
- Title – название
- AreasCount – количество зон (уровней)
- RowsCount – количество рядов
- ColumnsCount – количество колонок
- BusySeats – информация о занятых местах
- Cells – блок не заполняется
- Row – ряд
- Column – колонка
- Area – уровень
- Type – тип места (1 - свободно, 5 - занято)
- Name – номер места
- UserSeats – блок не заполняется
- BlockSeat – блок не заполняется
Вызов метода TransportPlan http://localhost:9000/TourSearchOwin/TransportPlan?code=1527&dateBegin=07.03.2021&serviceType=14&transportKey=31
&citizen=&country=&city=&address=&comment=&captchaText=v7jnj&sessionId=43angzdfbc5h2wud1lp1301j
Возвращаемый результат метода TransportPlan (в формате JSON) {
"TransportKey": 31,
"Title": "",
"AreasCount": 1,
"RowsCount": 10,
"ColumnsCount": 2,
"BusySeats": [],
"Cells": [
{
"Row": 4,
"Column": 0,
"Area": 0,
"Type": 1,
"Name": "9"
},
{
"Row": 4,
"Column": 1,
"Area": 0,
"Type": 1,
"Name": "10"
},
{
"Row": 1,
"Column": 0,
"Area": 0,
"Type": 5,
"Name": "3"
},
{
"Row": 1,
"Column": 1,
"Area": 0,
"Type": 5,
"Name": "4"
},
{
"Row": 8,
"Column": 0,
"Area": 0,
"Type": 1,
"Name": "17"
},
{
"Row": 8,
"Column": 1,
"Area": 0,
"Type": 1,
"Name": "18"
},
{
"Row": 5,
"Column": 0,
"Area": 0,
"Type": 1,
"Name": "11"
},
{
"Row": 5,
"Column": 1,
"Area": 0,
"Type": 1,
"Name": "12"
},
{
"Row": 2,
"Column": 0,
"Area": 0,
"Type": 1,
"Name": "5"
},
{
"Row": 2,
"Column": 1,
"Area": 0,
"Type": 1,
"Name": "6"
},
{
"Row": 9,
"Column": 0,
"Area": 0,
"Type": 1,
"Name": "19"
},
{
"Row": 9,
"Column": 1,
"Area": 0,
"Type": 1,
"Name": "20"
},
{
"Row": 6,
"Column": 0,
"Area": 0,
"Type": 1,
"Name": "13"
},
{
"Row": 6,
"Column": 1,
"Area": 0,
"Type": 1,
"Name": "14"
},
{
"Row": 3,
"Column": 0,
"Area": 0,
"Type": 1,
"Name": "7"
},
{
"Row": 3,
"Column": 1,
"Area": 0,
"Type": 1,
"Name": "8"
},
{
"Row": 0,
"Column": 0,
"Area": 0,
"Type": 1,
"Name": "1"
},
{
"Row": 0,
"Column": 1,
"Area": 0,
"Type": 1,
"Name": "2"
},
{
"Row": 7,
"Column": 0,
"Area": 0,
"Type": 1,
"Name": "15"
},
{
"Row": 7,
"Column": 1,
"Area": 0,
"Type": 1,
"Name": "16"
}
],
"UserSeats": {},
"BlockSeat": {}
}
|
Выгрузка списка всех стран (Countries)
Метод производит выгрузку всех стран (используется для регистрации частного лица).
- Формат запроса:
- GET .../TourSearchOwin/Countries?
- Принимаемые параметры ( * – обязательный):
- term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- Возвращаемый результат:
- Key – ключ страны
- Name – название
Вызов метода Countries http://localhost:9000/TourSearchOwin/Countries?term=
Возвращаемый результат метода Countries (в формате JSON) [
{
"Key": 6283,
"Name": " Азербайджан"
},
{
"Key": 90,
"Name": "Австрия"
},
{
"Key": 222,
"Name": "Англия"
},
{
"Key": 376,
"Name": "Андорра"
},
{
"Key": 375,
"Name": "Беларусь"
},
{
"Key": 6305,
"Name": "Бельгия"
},
{
"Key": 359,
"Name": "Болгария"
},
{
"Key": 6235,
"Name": "Вьетнам"
},
{
"Key": 40,
"Name": "Германия"
},
{
"Key": 1,
"Name": "Голландия"
},
{
"Key": 852,
"Name": "Гонконг"
},
{
"Key": 29,
"Name": "Греция"
},
{
"Key": 6251,
"Name": "Грузия"
},
{
"Key": 6224,
"Name": "Дания"
},
{
"Key": 6245,
"Name": "Доминиканская Республика"
},
{
"Key": 9,
"Name": "Египет"
},
{
"Key": 729,
"Name": "Израиль"
},
{
"Key": 26,
"Name": "Индия"
},
{
"Key": 6221,
"Name": "Индонезия"
},
{
"Key": 6244,
"Name": "Иордания"
},
{
"Key": 6288,
"Name": "Ирландия"
},
{
"Key": 84,
"Name": "Испания"
},
{
"Key": 80,
"Name": "Италия"
},
{
"Key": 3272,
"Name": "Казахстан"
},
{
"Key": 6240,
"Name": "Камбоджа"
},
{
"Key": 10,
"Name": "Кипр"
},
{
"Key": 6237,
"Name": "Китай"
},
{
"Key": 6254,
"Name": "Круизы"
},
{
"Key": 6243,
"Name": "Куба"
},
{
"Key": 6241,
"Name": "Лаос"
},
{
"Key": 6261,
"Name": "Маврикий"
},
{
"Key": 603,
"Name": "Малайзия"
},
{
"Key": 960,
"Name": "Мальдивы"
},
{
"Key": 535,
"Name": "Мальта"
},
{
"Key": 77,
"Name": "Мексика"
},
{
"Key": 6252,
"Name": "Молдавия"
},
{
"Key": 6242,
"Name": "Мьянма"
},
{
"Key": 6249,
"Name": "Непал"
},
{
"Key": 6222,
"Name": "Норвегия"
},
{
"Key": 2,
"Name": "ОАЭ"
},
{
"Key": 6275,
"Name": "Оман"
},
{
"Key": 6246,
"Name": "Польша"
},
{
"Key": 22,
"Name": "Португалия"
},
{
"Key": 460,
"Name": "Россия"
},
{
"Key": 6265,
"Name": "Сейшелы"
},
{
"Key": 6309,
"Name": "Сербия"
},
{
"Key": 665,
"Name": "Сингапур"
},
{
"Key": 6274,
"Name": "Словения"
},
{
"Key": 7,
"Name": "США"
},
{
"Key": 6253,
"Name": "Таджикистан"
},
{
"Key": 6236,
"Name": "Тайвань"
},
{
"Key": 53,
"Name": "Тайланд"
},
{
"Key": 6313,
"Name": "Танзания"
},
{
"Key": 97,
"Name": "Тунис"
},
{
"Key": 86,
"Name": "Турция"
},
{
"Key": 5,
"Name": "Украина"
},
{
"Key": 6250,
"Name": "Филиппины"
},
{
"Key": 64,
"Name": "Финляндия"
},
{
"Key": 30,
"Name": "Франция"
},
{
"Key": 38,
"Name": "Хорватия"
},
{
"Key": 6314,
"Name": "Черногория "
},
{
"Key": 15,
"Name": "Чехия"
},
{
"Key": 76,
"Name": "Швейцария"
},
{
"Key": 6223,
"Name": "Швеция"
},
{
"Key": 941,
"Name": "Шри Ланка"
},
{
"Key": 372,
"Name": "Эстония"
},
{
"Key": 6247,
"Name": "Южная Корея"
},
{
"Key": 6248,
"Name": "Япония"
}
]
|
Выгрузка списка всех городов (Cities)
Метод производит выгрузку всех городов (используется для регистрации частного лица).
- Формат запроса:
- GET .../TourSearchOwin/Cities?
- Принимаемые параметры ( * – обязательный):
- countryKey * – ключ страны, по которой выгружать города (при значении -1 выгружаются все города)
- term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- Возвращаемый результат:
- Key – ключ города
- Name – название
Вызов метода Cities http://localhost:9000/TourSearchOwin/Cities?countryKey=460&term=
Возвращаемый результат метода Cities (в формате JSON) [
{
"Key": 1309,
"Name": "Алушта"
},
{
"Key": 564,
"Name": "Анапа"
},
{
"Key": 299,
"Name": "Архангельск"
},
{
"Key": 312,
"Name": "Астрахань"
},
{
"Key": 265,
"Name": "Белгород"
},
{
"Key": 329,
"Name": "Владивосток"
},
{
"Key": 258,
"Name": "Владикавказ"
},
{
"Key": 236,
"Name": "Владимир"
},
{
"Key": 358,
"Name": "Волгоград"
},
{
"Key": 1089,
"Name": "Воркута"
},
{
"Key": 1312,
"Name": "Воронеж"
},
{
"Key": 266,
"Name": "Екатеринбург"
},
{
"Key": 254,
"Name": "Иваново"
},
{
"Key": 350,
"Name": "Иркутск"
},
{
"Key": 238,
"Name": "Казань"
},
{
"Key": 306,
"Name": "Калининград"
},
{
"Key": 1308,
"Name": "Коктебель"
},
{
"Key": 313,
"Name": "Краснодар"
},
{
"Key": 269,
"Name": "Красноярск"
},
{
"Key": 1311,
"Name": "Крым"
},
{
"Key": 1,
"Name": "Москва"
},
{
"Key": 259,
"Name": "Мурманск"
},
{
"Key": 234,
"Name": "Нижний Новгород"
},
{
"Key": 1097,
"Name": "Новая Купавна"
},
{
"Key": 324,
"Name": "Новосибирск"
},
{
"Key": 1043,
"Name": "Омск"
},
{
"Key": 345,
"Name": "Оренбург"
},
{
"Key": 308,
"Name": "Пенза"
},
{
"Key": 263,
"Name": "Пермь"
},
{
"Key": 478,
"Name": "Петропавловск-Камчатский"
},
{
"Key": 271,
"Name": "Псков"
},
{
"Key": 1100,
"Name": "Пушкино"
},
{
"Key": 260,
"Name": "Ростов-на-Дону"
},
{
"Key": 235,
"Name": "Рязань"
},
{
"Key": 232,
"Name": "Самара"
},
{
"Key": 295,
"Name": "Санкт-Петербург"
},
{
"Key": 1099,
"Name": "Симферополь"
},
{
"Key": 244,
"Name": "Смоленск"
},
{
"Key": 1084,
"Name": "Снегири"
},
{
"Key": 454,
"Name": "Сочи"
},
{
"Key": 1310,
"Name": "Судак"
},
{
"Key": 1102,
"Name": "Тверь"
},
{
"Key": 1198,
"Name": "Тестовый город"
},
{
"Key": 307,
"Name": "Томск"
},
{
"Key": 246,
"Name": "Тула"
},
{
"Key": 334,
"Name": "Хабаровск"
},
{
"Key": 336,
"Name": "Якутск"
},
{
"Key": 1098,
"Name": "Ялта"
},
{
"Key": 231,
"Name": "Ярославль"
},
{
"Key": 1082,
"Name": "Ясный"
}
]
|
Выгрузка городов отправления в оформлении клиентов (RegistrationClientsDepartureCities)
Метод производит выгрузку городов отправления в оформлении клиентов.
- Формат запроса:
- GET .../TourSearchOwin/RegistrationClientsDepartureCities?
- Принимаемые параметры ( * – обязательный):
- term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- withoutFlight – перевод для ключа -1 (Без перелета)
- Возвращаемый результат:
- Key – ключ города
- Name – название
- IsExist – информация о том, есть ли в этом городе отправления актуальные программы туров (true/false)
Вызов метода RegistrationClientsDepartureCities http://localhost:9000/TourSearchOwin/RegistrationClientsDepartureCities?term=&withoutFlight=Без перелета
Возвращаемый результат метода RegistrationClientsDepartureCities (в формате JSON) [
{
"Key": -1,
"Name": "Без перелета",
"IsExist": true
},
{
"Key": 1080,
"Name": "Prime travel",
"IsExist": true
},
{
"Key": 1079,
"Name": "Азимут",
"IsExist": true
},
{
"Key": 1309,
"Name": "Алушта",
"IsExist": true
},
{
"Key": 56,
"Name": "Москва"
"IsExist": true
}
]
|
Выгрузка стран в оформлении клиентов (RegistrationClientsDestination)
Метод производит выгрузку стран в оформлении клиентов.
- Формат запроса:
- GET .../TourSearchOwin/RegistrationClientsDestination?
- Принимаемые параметры ( * – обязательный):
- departureCity * – ключ города отправления (из контроллера .../TourSearchOwin/RegistrationClientsDepartureCities?)
- term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- Возвращаемый результат:
- Name – название
- Key – ключ страны
- DestinationType – тип результата (всегда возвращается в JSON = 1, в xml = country)
- IsExist – информация о том, есть ли в этой стране актуальные программы туров (true/false)
Вызов метода RegistrationClientsDestination http://localhost:9000/TourSearchOwin/RegistrationClientsDestination?departureCity=1&term=
Возвращаемый результат метода RegistrationClientsDestination (в формате JSON) [
{
"Name": "Австрия",
"Key": 90,
"DestinationType": 1,
"IsExist": true
},
{
"Name": "Англия",
"Key": 222,
"DestinationType": 1,
"IsExist": true
},
{
"Name": "Беларусь",
"Key": 375,
"DestinationType": 1,
"IsExist": true
}
]
|
Выгрузка турпрограмм в оформлении клиентов (RegistrationClientsTourPrograms)
Метод производит выгрузку турпрограмм в оформлении клиентов.
- Формат запроса:
- GET .../TourSearchOwin/RegistrationClientsTourPrograms?
- Принимаемые параметры ( * – обязательный):
- departureCity * – ключ города отправления (из контроллера .../TourSearchOwin/RegistrationClientsDepartureCities?)
- destination * – ключ страны (из контроллера .../TourSearchOwin/RegistrationClientsDestination?)
- destinationType * – тип результата (параметр не изменяемый, когда результат возвращается в JSON, то значение будет = 1, когда результат возвращается в xml, то значение будет = country). Зависит от программы, которая возвращает результат.
- term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- individualTitle – перевод для программы тура с ключом 0 (Индивидуально)
- Возвращаемый результат:
- Key – ключ программы туров
- Name – название программы туров
- Rate – валюта тура
Вызов метода RegistrationClientsTourPrograms http://localhost:9000/TourSearchOwin/RegistrationClientsTourPrograms?departureCity=1&destination=90&destinationType=1&individualTitle=Индивидуально&term=
Возвращаемый результат метода RegistrationClientsTourPrograms (в формате JSON) [
{
"Key": 0,
"Name": "Индивидуально",
"Rate": ""
},
{
"Key": 100003415,
"Name": "Aviabooking",
"Rate": "EU"
},
{
"Key": 100003416,
"Name": "Общая проверка системы",
"Rate": "EU"
}
]
|
Выгрузка дат заезда в оформлении клиентов (RegistrationClientsTourDate)
Метод производит выгрузку дат заезда в оформлении клиентов.
- Формат запроса:
- GET .../TourSearchOwin/RegistrationClientsTourDate?
- Принимаемые параметры ( * – обязательный):
- tourKey * – ключ программы тура
- Возвращаемый результат:
- массив дат
Вызов метода RegistrationClientsTourDate http://localhost:9000/TourSearchOwin/RegistrationClientsTourDate?tourKey=100006755
Возвращаемый результат метода RegistrationClientsTourDate (в формате JSON) [
"06.05.2021",
"07.05.2021",
"08.05.2021",
"09.05.2021",
"10.05.2021",
"11.05.2021",
"12.05.2021",
"13.05.2021",
"14.05.2021",
"15.05.2021"
]
|
Поиск туров в оформлении клиентов (Search)
Метод возвращает наиболее дешевое предложения по определенному туру.
- Формат запроса:
- GET .../TourSearchOwin/RegistrationClient/Search?
- Принимаемые параметры ( * – обязательный):
- DepartureCityKeys * – ключ города отправления (из контроллера .../TourSearchOwin/RegistrationClientsDepartureCities?)
- Dates * – дата заезда (из контроллера .../TourSearchOwin/RegistrationClientsTourDate?)
- Durations * – продолжительность
- PageNumber * – номер возвращаемой страницы (по умолчанию возвращается 1)
- PageSize * – количество возвращаемых результатов на одной странице (возвращается 20)
- isFromBasket * – всегда false
- isFillSecondaryFilters – заполнены ли дополнительные фильтры (по умолчанию всегда приходит true). Служебный внутренний параметр. При работе с API не используется.
- DestinationType * – тип результата (параметр не изменяемый, когда результат возвращается в JSON, то значение будет = 1, когда результат возвращается в xml, то значение будет = country). Зависит от программы, которая возвращает результат.
- DestinationKey * – идентификатор страны прибытия (из контроллера .../TourSearchOwin/RegistrationClientsDestination?)
- AdultCount * – количество взрослых
- ChildAges – возраст детей. Если детей несколько, и параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- IsRegistrationClients – по умолчанию всегда приходит false
- CurrencyName * – код валюты
- AviaQuota * – информация о квотах на авиаперелет (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- HotelQuota * – информация о квотах на отель (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- BusTransferQuota – информация о квотах на автобусный переезд (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- HotelScheme – пустой по умолчанию
- TimeDepartureFrom – время отправления с (по умолчанию возвращается 00:00)
- TimeDepartureTo – время отправления по (по умолчанию возвращается 23:59)
- TimeArrivalFrom – время прибытия с (по умолчанию возвращается 00:00)
- TimeArrivalTo – время прибытия по (по умолчанию возвращается 23:59)
- ArrivalFlightNoTransfer – производить поиск без пересадок в прямом направлении (true/false, по умолчанию false)
- DepartureFlightNoTransfer – производить поиск без пересадок в обратном направлении (true/false, по умолчанию false)
- TourDuration – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: продолжительность тура в днях
- Tour – ключ программы тура
- Возвращаемый результат:
- CheckMessages – сообщения для логики проверки тура (не используется)
- Message – сообщение об ошибке
- Key – код ошибки
- Value – сообщение об ошибке
- Result – результаты поиска
- Key – идентификатов программы тура
- Name – название программы тура
- TourUrl – ссылка на программу тура
- BookingConditions – условия бронирования программы туров
- StartDate – дата начала тура
- Duration – продолжительность тура (в днях)
- DurationInNight – продолжительность проживания (в ночах)
- Types – идентификатор типа туров
- Cost – цена тура
- Rate – код валюты тура
- CityDepature – город отправления
- Key – идентификатор города отправления
- Value – название города отправления
- CountryId – всегда возвращается ключ 0
- Services – услуги в туре
- DepartureCity – город отправления
- Key – идентификатор
- Value – название
- DepartureCountry – страна отправления
- Key – идентификатор
- Value – название
- ArrivalCity – город прибытия
- Key – идентификатор
- Value – название
- ArrivalCountry – страна прибытия
- Key – идентификатор
- Value – название
- DepartureAirport – аэропорт отправления
- Key – идентификатор
- Value – название
- ArrivalAirport – аэропорт прибытия
- Key – идентификатор
- Value – название
- Airline – авиакомпания
- Key – идентификатор
- Value – название
- Aircraft – воздушное судно
- Key – идентификатор
- Value – название
- Flight – рейс
- Key – идентификатор
- Value – название
- DepartureTime – время вылета
- ArrivalTime – время прилета
- EndDateTime – дата и время прилета
- FlightDetails – информация об авиаперелете
- Tariff – информация о тарифе перелета
- Key – идентификатор
- Code – код тарифа
- Name – название тарифа
- Cost – разница в стоимости с самым дешевым вариантом
- QuotaStatus – информация о квоте
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- PartnerId – ключ партнера
- ByPax – цена за человека (true/false)
- Partner – информация о партнере
- Key – идентификатор
- Value – название
- Tariff – информация о тарифе перелета
- FlightSetting – внутренняя информация о перелете из программы туров
- ServiceId – идентификатор класса услуги (внутренняя информация из программы туров)
- PatternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
- FlightId – идентификатор перелета (внутренняя информация из программы туров)
- FlightSourceMode – локальный или внешний перелет (внутренняя информация из программы туров)
- Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
- SvKey – ключ типа услуги
- IsSubCode1 – признак наличия доп. описания 1
- IsSubCode2 – признак наличия доп. описания 2
- IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата предоставления услуги
- IsHooded – признак скрытая услуга
- IsDeleted – признак удаляемая услуга
- IsNotCalculate – признак не рассчитываемая услуга
- PacketId – ключ пакета
- Index – порядковый номер услуги
- DepartureCity – город отправления
- NotRouteServices – массив коллекций немаршрутных услуг (например если две экскурсии будут являться одним элементом массива, то это будет говорить о том, что эти экскурсии можно будет выбрать в выпадающем списке)
- ServiceName – название типа услуги
- City – объект город
- Key – ключ города
- Value – название города
- Country – объект страна
- Key – ключ страны
- Value – название страны
- Code – объект код услуги
- Key – ключ услуги
- Value – название услуги
- ByScheduler – флаг услуга по расписанию или нет
- Details – объект детализация услуги
- SubCode1 – объект доп. описание 1
- Key – ключ доп. описания 1
- Value – название доп. описания 1
- SubCode2 – объект доп. описание 2
- Key – ключ доп. описания 2
- Value – название доп. описания 2
- Date – дата услуги
- IsShowTransportPlan – признак показывать ли план рассадки (для автобусов)
- Cost – цена
- QuotaStatus – объект информация по квотам
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- PartnerId – идентификатор партнера
- ByPax – признак цены за человека
- Partner – объект партнер (не заполняется)
- Key – ключ (не заполняется)
- Value – название (не заполняется)
- SubCode1 – объект доп. описание 1
- ParentId – идентификатор родительской услуги (для вложенных услуг)
- PartnerBasedOnServiceTemplateId – ключ шаблона услуги, по которой приоритетно выбирается партнер текущей услуги
- Id – идентификатор услуги
- SvKey – ключ типа услуги
- IsSubCode1 – наличие доп. описания 1
- IsSubCode2 – наличие доп. описания 2
- IsPartnerBasedOn – услуга с подбором приоритетного поставщика услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата предоставления услуги
- EndDateTime – дата окончания услуги
- IsHooded – скрытая ли услуга
- IsDeleted – удаляемая ли услуга
- IsNotCalculate – не рассчитываемая ли услуга
- PacketId – пакет услуги
- Index – индекс услуги
- MinCostServicesComposition – массив состав услуг минимальной цены
- Key – ключ
- TemplateId – идентификатор шаблона
- PatternId – идентификатор вкладки
- SettingId – идентификатор услуги
- Value – значение
- ServiceType – тип услуги
- Code – ключ услуги
- SubCode1 – доп. описание 1
- SubCode2 – доп. описание 2
- PacketId – пакет услуги
- PartnerId – партнер услуги
- CountryId – страна услуги
- CityId – город услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- COAndSpecialsInfo – формирует, фильтрует и выдаёт списки применённых акций и ценовых блоков
- AppliedCostOffersKeys – коллекция идентификаторов всех применённых ценовых блоков к одной цене
- AppliedSpeciasInfo – коллекция всех применённых акций к одной цене, содержит информацию об условиях, с которыми применилась каждая акция
- SpecialKey – ключ акции
- SpecialName – название акции
- SpecialType – тип акции
- NewPrice – цена после применения акции
- OldPrice – цена до применения акции
- ShowOnline – нужно ли показывать акцию в поиске
- UntilDate – акция действует при совершении покупки до указанной даты
- Condition – json форма условия применения акции. Данное поле включает в себя следующие значения в зависимости от типа акции:
- NightsFrom (для типа PayStay) – ночей от
- NightsTo (для типа PayStay) – ночей до
- NightValue (для типа PayStay) – значение ночи, которое соответствует заданному периоду
- OperationType (для типа PayStay) – тип действия
- SpecialNightType (для типа PayStay) – тип бесплатной ночи
- DurationFrom (для типа KickBack) – ночей от
- DurationTo (для типа KickBack) – ночей до
- Value (для типа KickBack) – значение продолжительности, равное заданному периоду
- OperationType (для типа KickBack) – тип действия
- NightsFrom (для типа EarlyBird) – ночей от
- NightsTo (для типа EarlyBird) – ночей до
- Discount (для типа EarlyBird) – размер скидки
- OperationType (для типа EarlyBird) – тип действия
- COBySubCode – список применённых идентификаторов ценовых блоков по SubCode1 и SubCode2
- SpecialsBySubCode – список применённых акций по SubCode1 и SubCode2
- SubCode1 – объект доп. описание 1
- SubCode2 – объект доп. описание 2
- 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 – Значение отклонения звездности последующих отелей от первого отеля в многоотельном туре. По умолчанию 0. Звездность определяется числом, заданном в поле порядок при печати.
- Rate – валюта тура
- DateStart – нижняя граница дат заезда по программе тура
- DateEnd – верхняя граница дат заеда по программе тура
- Status – статус турпрограммы
- Key – ключ
- Value – значение
- Templates – шаблоны услуг
- $id – шаблон 1
- $id – шаблон 2
- 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 –
- Type – тип справочника (используется для внутренних целей)
- TourDurations – продолжительность тура
- TourDates – список дат заездов в турпрограмме
- HotelCities – город в дополнительных фильтрах
- ' –
- HotelResorts – курорты в дополнительных фильтрах
- ' –
- HotelCategories – категории отеля в дополнительных фильтрах
- ' –
- Hotels – отели в дополнительных фильтрах
- ' –
- Pansions – питания в дополнительных фильтрах
- ' –
- Airlines – авиакомпании в дополнительных фильтрах
- ' –
- FlightTariffs – класс перелета в дополнительных фильтрах
- ' –
- DepartureCities – города вылета в дополнительных фильтрах
- ' –
- DepartureAirports – аэропорты вылета в дополнительных фильтрах
- ' –
- ArrivalCities – города прибытия в дополнительных фильтрах
- ' –
- ArrivalAirports – аэропорты прибытия в дополнительных фильтрах
- ' –
- HotelTypes – признаки отелей в дополнительных фильтрах
- ' –
- HotelCities – город в дополнительных фильтрах
- TourTypes – типы тура
Вызов метода RegistrationClient/Search GET http://localhost:9000/TourSearchOwin/RegistrationClient/Search?DepartureCityKeys=1&Dates=12.02.2021&Durations=9
&PageNumber=1&PageSize=20&isFromBasket=false&isFillSecondaryFilters=true&DestinationType=1&DestinationKey=90
&AdultCount=2&IsRegistrationClients=false&CurrencyName=EU&AviaQuota=7&HotelQuota=7&BusTransferQuota=7
&TimeArrivalFrom=00:00&TimeArrivalTo=23:59&TimeDepartureFrom=00:00&TimeDepartureTo=23:59
&ArrivalFlightNoTransfer=false&Tour=100006755&TourDuration=&DepartureFlightNoTransfer=false&HotelScheme=
Возвращаемый результат метода RegistrationClient/Search (в формате 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": "Москва"
},
"Country": {
"Key": 90,
"Value": "Австрия"
},
"Services": [
{
"DepartureCity": {
"Key": 1,
"Value": "Москва"
},
"DepartureCountry": {
"Key": 460,
"Value": "Россия"
},
"ArrivalCity": {
"Key": 35,
"Value": "Вена"
},
"ArrivalCountry": {
"Key": 90,
"Value": "Австрия"
},
"DepartureAirport": {
"Key": "SVO4",
"Value": "Шереметьево-24"
},
"ArrivalAirport": {
"Key": "VIE1",
"Value": "Vena1"
},
"Airline": {
"Key": "BA7",
"Value": "BRITISH AIRWAYS"
},
"Aircraft": {
"Key": "319",
"Value": "AIRBUS "
},
"Flight": {
"Key": 882,
"Value": "4444"
},
"DepartureTime": "10:00:00",
"ArrivalTime": "12:00:00",
"EndDateTime": "2018-02-25T12:00:00",
"FlightDetails": [ {
"Tariff": {
"Key": 89,
"Code": "Y",
"Name": "Экономический класс"
},
"Cost": 10,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12668,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"FlightSetting": {
"ServiceId": 3,
"PatternId": 13,
"FlightId": 13
},
"FlightSourceMode": 1,
"Id": 3,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-02-25T10:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 0
},
{
"Hotel": {
"Key": 709,
"Value": "Am Brilliantengrund"
},
"City": {
"Key": 35,
"Value": "Вена"
},
"Stars": {
"Key": -1,
"Value": null
},
"Resort": {
"Key": -1,
"Value": null
},
"ImageURL": "",
"Http": null,
"Description": "",
"Country": {
"Key": 90,
"Value": "Австрия"
},
"HotelDetails": [ {
"HotelRoom": 46463,
"Room": {
"Key": 129,
"Value": "DBL"
},
"RoomCategory": {
"Key": 3493,
"Value": "Cosy"
},
"AccomodationType": {
"Key": 1256,
"Value": "2+1_K",
"AdultCount": 2,
"ChildCount": 1
},
"Pansion": {
"Key": 4,
"Value": "Завтрак"
},
"Cost": 19.47,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12667,
"ByPax": false,
"Partner": {
"Key": 12667,
"Value": "Партнер-покупатель1"
}
}],
"HotelTypes": [ {
"Key": 5,
"Value": "Рекомендуемые"
}],
"Id": 1,
"SvKey": 3,
"IsSubCode1": true,
"IsSubCode2": true,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 3,
"BeginDateTime": "2018-02-25T12:00:00",
"EndDateTime": "2018-02-28T12:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 1
},
{
"DepartureCity": {
"Key": 35,
"Value": "Вена"
},
"DepartureCountry": {
"Key": 90,
"Value": "Австрия"
},
"ArrivalCity": {
"Key": 1,
"Value": "Москва"
},
"ArrivalCountry": {
"Key": 460,
"Value": "Россия"
},
"DepartureAirport": {
"Key": "VIE1",
"Value": "Vena1"
},
"ArrivalAirport": {
"Key": "DME",
"Value": "Домодедово"
},
"Airline": {
"Key": "7U",
"Value": "Авиаэнерго"
},
"Aircraft": {
"Key": "727",
"Value": "Boeing"
},
"Flight": {
"Key": 774,
"Value": "222"
},
"DepartureTime": "00:00:00",
"ArrivalTime": "00:00:00",
"EndDateTime": "2018-02-28T00:00:00",
"FlightDetails": [ {
"Tariff": {
"Key": 89,
"Code": "Y",
"Name": "Экономический класс"
},
"Cost": 0,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 10760,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"FlightSetting": {
"ServiceId": 4,
"PatternId": 5,
"FlightId": 4
},
"FlightSourceMode": 1,
"Id": 4,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 4,
"DurationInNight": 0,
"BeginDateTime": "2018-02-28T00:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 4
}
],
"NotRouteServices": [
[ {
"ServiceName": "страховка",
"City": null,
"Country": 6245,
"Code": {
"Key": 297,
"Value": "Страховка от несчастного случая"
},
"ByScheduler": false,
"Details": [ {
"SubCode1": {
"Key": 18,
"Value": "2"
},
"SubCode2": {
"Key": null,
"Value": ""
},
"Date": null,
"IsShowTransportPlan": true,
"Cost": 16,
"QuotaStatus": {
"PlacesStatus": 1,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12668,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"ParentId": null,
"PartnerBasedOnServiceTemplateId": null,
"Id": 10,
"SvKey": 6,
"IsSubCode1": true,
"IsSubCode2": true,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 3,
"BeginDateTime": "2018-02-25T00:00:00",
"EndDateTime": "2018-02-28T00:00:00",
"IsHooded": false,
"IsDeleted": true,
"IsNotCalculate": true,
"PacketId": 882,
"Index": 2
}],
[ {
"ServiceName": "экскурсия",
"City": {
"Key": 1046,
"Value": "Санто-Доминго"
},
"Country": {
"Key": 6245,
"Value": "Испания"
},
"Code": {
"Key": 743,
"Value": "4"
},
"ByScheduler": false,
"Details": [ {
"SubCode1": {
"Key": 37,
"Value": "Мини-автобус 10 чел."
},
"SubCode2": {
"Key": null,
"Value": ""
},
"Date": null,
"IsShowTransportPlan": false,
"Cost": 85.22,
"QuotaStatus": {
"PlacesStatus": 1,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12667,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"ParentId": null,
"PartnerBasedOnServiceTemplateId": null,
"Id": 7,
"SvKey": 4,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": true,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-02-25T00:00:00",
"EndDateTime": "2018-02-26T00:00:00",
"IsHooded": false,
"IsDeleted": true,
"IsNotCalculate": true,
"PacketId": 779,
"Index": 3
}]
],
"MinCostServicesComposition": [
{
"Key": {
"TemplateId": 3,
"PatternId": 13,
"SettingId": 13
},
"Value": {
"ServiceType": 1,
"Code": 882,
"SubCode1": 89,
"SubCode2": 1,
"PacketId": 779,
"PartnerId": 12668,
"CountryId": 90,
"CityId": 35,
"Day": 1,
"DurationInNight": 0
}
},
{
"Key": {
"TemplateId": 1,
"PatternId": 0,
"SettingId": 0
},
"Value": {
"ServiceType": 3,
"Code": 709,
"SubCode1": 46463,
"SubCode2": 4,
"PacketId": 779,
"PartnerId": 12667,
"CountryId": 90,
"CityId": 35,
"Day": 1,
"DurationInNight": 3
}
},
{
"Key": {
"TemplateId": 4,
"PatternId": 5,
"SettingId": 4
},
"Value": {
"ServiceType": 1,
"Code": 774,
"SubCode1": 89,
"SubCode2": 35,
"PacketId": 779,
"PartnerId": 10760,
"CountryId": 460,
"CityId": 1,
"Day": 4,
"DurationInNight": 0
}
}
],
"FlightWeight": 2,
"LinkingFlightsRules": {
"notCombineDifferentAirlineRule": {
"airlines": ["AY2"],
"flightSettings": [],
"enabled": true
},
"checkPlusMinus1CharterRule": {
"FlightSettingPairs": [],
"enabled": false
},
"notCombineDifferentTariffGroupRule": {
"FlightSettings": [],
"enabled": true
},
"notCombineDifferentPartnerRule": {
"FlightSettings": [],
"enabled": false
},
"departureCityEqualsArrivalCityRule": {
"FlightSettingPairs": [],
"enabled": false
},
"combineOnlySpecificChartersRule": {
"settings": [],
"enabled": false
}
},
"RouteSubVariants": []
}
],
"SecondaryFiltersResult": {
"TourTypes": [ {
"Id": 2,
"Name": "Стандартный тур",
"ParentId": null,
"Type": "TourType"
}],
"TourPrograms": [
{
"Key": 100000004,
"Name": "Общая проверка системы",
"TourUrl": "www.megatec.ru",
"BookingConditions": "<p>Условия бронирования тура.<\/p>",
"IsLandOnly": false,
"IsRestrictMultiHotels": false,
"IsHotelTemplates": true,
"IsRouteServices": true,
"MultiHotelDelta": 0,
"Rate": "EU",
"DateStart": "2018-01-30T00:00:00Z",
"DateEnd": "2018-02-27T00:00:00Z",
"Status": {
"Key": 3,
"Value": "Доступен для продажи"
},
"Templates": [
{"$id": "5"},
{"$id": "6"},
{"$id": "7"},
{"$id": "8"},
{"$id": "9"}
],
"Types": [ {
"Id": 2,
"Name": "Стандартный тур",
"ParentId": null,
"Type": "TourType"
}],
"LinkingFlightsRules": {
"notCombineDifferentAirlineRule": {
"airlines": ["AY2"],
"flightSettings": [],
"enabled": true
},
"checkPlusMinus1CharterRule": {
"FlightSettingPairs": [],
"enabled": false
},
"notCombineDifferentTariffGroupRule": {
"FlightSettings": [],
"enabled": true
},
"notCombineDifferentPartnerRule": {
"FlightSettings": [],
"enabled": false
},
"departureCityEqualsArrivalCityRule": {
"FlightSettingPairs": [],
"enabled": false
},
"combineOnlySpecificChartersRule": {
"settings": [],
"enabled": false
}
},
"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"
}
]
}
}
|
Поиск туров онлайн (TourForWeb)
Метод поиска туров использует множество параметров для поиска и фильтрации туров. Метод возвращает наиболее дешевые предложения, найденные по предоставленным параметрам и сгруппированные по отелям в порядке возрастания цены. В зависимости от параметров запроса, дополнительных фильтров формат запроса имеет отличия. Метод используется при работе веб-приложения Canary.
- Обычный формат запроса GET:
- GET .../TourSearchOwin/TourForWeb/search/simple?
- Принимаемые параметры ( * – обязательный):
- DepartureCityKeys * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
- Dates * – массив дат заезда (полученные из метода .../TourSearchOwin/TourDate?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- Durations * – массив продолжительностей (полученные из метода .../TourSearchOwin/Duration?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- PageNumber * – номер возвращаемой страницы (по умолчанию возвращается 1)
- PageSize * – количество возвращаемых результатов на одной странице (возвращается 20)
- HotelScheme * – объект схемы отеля
- TourKey – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: ключ программы тура
- TourDuration – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: продолжительность тура в днях
- ShowToursWithoutHotels – показывать ли туры без проживания
- isFromBasket * – происходит ли обращение из корзины или из поиска туров (true/false).
- isFillSecondaryFilters – заполнены ли дополнительные фильтры (по умолчанию всегда приходит true). Служебный внутренний параметр. При работе с API не используется.
- DestinationType * – тип результата (параметр не изменяемый, когда результат возвращается в JSON, то значение будет = 1, когда результат возвращается в xml, то значение будет = country). Зависит от программы, которая возвращает результат.
- DestinationKey * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- AdultCount * – количество взрослых
- CurrencyName * – код валюты
- AviaQuota * – информация о квотах на авиаперелет (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- HotelQuota * – информация о квотах на отель (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- BusTransferQuota – информация о квотах на автобусный переезд (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- TourType – тип тура
- CityIds – идентификатор города
- TimeDepartureFrom – время отправления с (по умолчанию возвращается 00:00)
- TimeDepartureTo – время отправления по (по умолчанию возвращается 23:59)
- TimeArrivalFrom – время прибытия с (по умолчанию возвращается 00:00)
- TimeArrivalTo – время прибытия по (по умолчанию возвращается 23:59)
- SearchId – уникальный идентификатор запроса поиска, передаваемый с клиентской части. Возвращается в ответе без изменений. Обрабатывается начиная с релиза 15.5.
- MatrixAlgoritm – используется ли дополнительный фильтр «Таблица цен»
- SearchMaxPriceAlgoritm –
- wrongLicenseFileUpperTitle – проверка файла лицензии
- RemoteHotelMode – признак того, производится поиск только локальных отелей или и от внешних поставщиков тоже (только локальные отели – 0, только внешние отели – 2, локальные и внешние отели – 1). Если признак отсутствует – поиск будет только по локальным отелям. Обрабатывается начиная с релиза 15.4.
- Возвращаемый результат:
- Result – результаты поиска
- Key – идентификатор программы тура
- Name – название программы тура
- TourUrl – ссылка на программу тура
- BookingConditions – условия бронирования программы туров
- DefaultManagers – менеджер по-умолчанию
- Manager – обозначение менеджера
- Branches – филиал
- DetermineTheBranchOnCity – признак определения филиала в зависимости от города начала поездки
- 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 – время прилета
- TotalTimeOfFlight – полное время перелета
- FlightDetails – детали авиаперелета
- Tariff – информация о тарифе перелета
- Key – идентификатор
- Code – код тарифа
- Name – наименование тарифа
- IsCommission – признак, комиссионная ли услуга
- Cost – разница в стоимости с самым дешевым вариантом
- QuotaStatus – информация о квоте
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- PartnerId – ключ партнера
- ByPax – цена за человека (true/false)
- Partner – информация о партнере
- Key – идентификатор
- Value – наименование
- Tariff – информация о тарифе перелета
- FlightSetting – информация о шаблоне услуги авиаперелета
- ServiceId – идентификатор класса услуги (внутренняя информация из программы туров)
- PatternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
- FlightId – идентификатор внешнего перелета
- FlightSourceMode – локальный или внешний перелет (внутренняя информация из программы туров)
- Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
- SvKey – ключ типа услуги
- IsSubCode1 – признак наличия доп. описания 1
- IsSubCode2 – признак наличия доп. описания 2
- IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата предоставления услуги
- EndDateTime – дата окончания услуги
- IsHooded – признак скрытая услуга
- IsDeleted – признак удаляемая услуга
- IsNotCalculate – признак не рассчитываемая услуга
- PacketId – ключ пакета
- Index – порядковый номер услуги
- DepartureCity – город отправления
- Key – ключ города
- Value – наименование города
- DepartureCountry – страна отправления
- Key – ключ страны
- Value – наименование страны
- ArrivalCity – город прибытия
- Key – ключ города
- Value – наименование города
- ArrivalCountry – страна прибытия
- Key – ключ страны
- Value – наименование страны
- DepartureAirport – аэропорт прилета
- Key – ключ аэропорта
- Value – наименование аэропорта
- ArrivalAirport – аэропорт прилета
- Key – ключ аэропорта
- Value – наименование аэропорта
- Airline – наименование авиакомпании
- Id – идентификатор авиакомпании
- Value – наименование авиакомпании
- Key – ключ авиакомпании
- Aircraft – воздушное судно
- Key – ключ воздушного судна
- Value – наименование воздушного судна
- Flight – перелет
- Key – ключ перелета
- Value – наименование авиаперелета
- DepartureTime – время отправления
- ArrivalTime – время прилета
- TotalTimeOfFlight – полное время перелета
- FlightDetails – информация об авиаперелете
- Tariff – информация о тарифе перелета
- Key – идентификатор
- Code – код тарифа
- Name – название тарифа
- IsCommission – признак, комиссионная ли услуга
- Cost – разница в стоимости с самым дешевым вариантом
- QuotaStatus – информация о квоте
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- PartnerId – ключ партнера
- ByPax – цена за человека (true/false)
- Partner – информация о партнере
- Key – идентификатор
- Value – наименование
- Tariff – информация о тарифе перелета
- FlightSetting – внутренняя информация о перелете из программы туров
- ServiceId – идентификатор класса услуги (внутренняя информация из программы туров)
- PatternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
- FlightId – идентификатор перелета (внутренняя информация из программы туров)
- FlightSourceMode – локальный или внешний перелет (внутренняя информация из программы туров)
- Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
- SvKey – ключ типа услуги
- IsSubCode1 – признак наличия доп. описания 1
- IsSubCode2 – признак наличия доп. описания 2
- IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата предоставления услуги
- EndDateTime – дата окончания услуги
- IsHooded – признак скрытая услуга
- IsDeleted – признак удаляемая услуга
- IsNotCalculate – признак не рассчитываемая услуга
- PacketId – ключ пакета
- Index – порядковый номер услуги
- Hotel – отель
- Key – ключ отеля
- Value – наименование отеля
- City – город
- Key – ключ города
- Value – наименование города
- Stars – категория отеля
- Key – ключ категории отеля
- Value – наименование категории отеля
- StarsGlobalCode – глобальный код категории отеля
- Key – глобальный ключ категории отеля
- Value – наименование категории отеля
- Resort – курорт
- Key – ключ курорта
- Value – наименование курорта
- ImageURL – ссылка на лого отеля
- Http – ссылка на сайт отеля
- Description – описание
- Latitude – GPS координаты: географическая широта
- Longitude – GPS координаты: географическая долгота
- Country – страна
- Key – ключ страны
- Value – наименование страны
- HotelDetails – массив данных отель
- HotelRoom – категория номера
- Room – номер
- Key – ключ номера
- Value – наименование номера
- RoomCategory – тип номера
- Key – ключ типа номера
- Value – наименование типа номера
- AccomodationType – тип размещения
- Key – ключ типа размещения
- Value – наименование типа размещения
- AdultCount – количество взрослых
- ChildCount – количество детей
- Pansion – тип питания
- Key – ключ типа питания
- Value – наименование типа питания
- PansionGlobalCode – глобальный код типа питания
- Key – ключ типа питания
- Value – наименование типа питания
- RemoteId – не используется
- Cost – разница в стоимости с самым дешевым вариантом
- QuotaStatus – информация о квоте
- PlacesStatus – статус по квотам (есть места-1 / нет мест-2 / под запрос-4)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- PartnerId – ключ партнера
- ByPax – цена за человека (true/false)
- Partner – информация о партнере
- Key – идентификатор
- Value – название
- HotelTypes – признаки отелей в дополнительных фильтрах
- Key – ключ
- Value – значение
- RemoteId – не используется
- COAndSpecialsInfo – формирует, фильтрует и выдаёт списки применённых акций и ценовых блоков
- AppliedCostOffersKeys – коллекция идентификаторов всех применённых ценовых блоков к одной цене
- AppliedSpeciasInfo – коллекция всех применённых акций к одной цене, содержит информацию об условиях, с которыми применилась каждая акция
- Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
- SvKey – ключ типа услуги
- IsSubCode1 – признак наличия доп. описания 1
- IsSubCode2 – признак наличия доп. описания 2
- IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата предоставления услуги
- EndDateTime – дата окончания услуги
- IsHooded – признак скрытая услуга
- IsDeleted – признак удаляемая услуга
- IsNotCalculate – признак не рассчитываемая услуга
- PacketId – ключ пакета
- Index – порядковый номер услуги
- DepartureCity – город отправления
- NotRouteServices – массив коллекций немаршрутных услуг (например если две экскурсии будут являться одним элементом массива, то это будет говорить о том, что эти экскурсии можно будет выбрать в выпадающем списке)
- MinCostServicesComposition – массив состав услуг минимальной цены
- Key – ключ
- TemplateId – идентификатор шаблона
- PatternId – идентификатор вкладки
- SettingId – идентификатор услуги
- Value – значение
- ServiceType – тип услуги
- Code – ключ услуги
- SubCode1 – доп. описание 1
- SubCode2 – доп. описание 2
- PacketId – пакет услуги
- PartnerId – партнер услуги
- CountryId – страна услуги
- CityId – город услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- GDSProviderId – ключ провайдера из внешней системы
- COAndSpecialsInfo – формирует, фильтрует и выдаёт списки применённых акций и ценовых блоков
- AppliedCostOffersKeys – коллекция идентификаторов всех применённых ценовых блоков к одной цене
- AppliedSpeciasInfo – коллекция всех применённых акций к одной цене, содержит информацию об условиях, с которыми применилась каждая акция
- COBySubCode – список применённых идентификаторов ценовых блоков по SubCode1 и SubCode2
- SpecialsBySubCode – список применённых акций по SubCode1 и SubCode2
- 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 – подварианты услуг (используется в основном поиске)
- Routes – массив возможных маршрутов в данной программе туров
- IsRemoteHotels – удаленные отели
- SecondaryFiltersResult – результаты доп. фильтров
- TourTypes – типы тура
- Id – ключ типа тура
- Name – название типа тура
- ParentId – родительский элемент типа тура (если есть)
- Type – тип справочника (используется для внутренних целей)
- TourPrograms – информация по каждой турпрограмме
- Key – ключ турпрограммы
- Name – название турпрограммы
- TourUrl – ссылка на тур
- BookingConditions – условия бронирования
- DefaultManagers – менеджер по-умолчанию
- Manager – обозначение менеджера
- Branches – филиал
- DetermineTheBranchOnCity – признак определения филиала в зависимости от города начала поездки
- IsLandOnly – признак только наземное обслуживание
- IsApplyMarginAddCostToRemoteService –
- IsRestrictMultiHotels – ограничивать ли расчёт многоотельных туров категориями отелей
- IsHotelTemplates – есть ли вообще отели в данной турпрограмме
- IsRouteServices – есть ли маршрутные услуги
- IsAviaBooking –
- MultiHotelDelta – Значение отклонения звездности последующих отелей от первого отеля в многоотельном туре. По умолчанию 0. Звездность определяется числом, заданном в поле порядок при печати.
- Rate – валюта тура
- RateId – идентификатор валюты тура
- DateStart – нижняя граница дат заезда по программе тура
- DateEnd – верхняя граница дат заезда по программе тура
- DateList – список дат заездов
- UpdateDate – дата обновления
- Status – статус турпрограммы
- Key – ключ
- Value – значение
- Templates – шаблоны услуг
- $id – шаблон 1
- $id – шаблон 2
- Types – типы тура
- Id – ключ типа тура
- Name – название типа тура
- ParentId – родительский элемент типа тура (если есть)
- Type – тип справочника (используется для внутренних целей)
- 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 – флаг включен/выключен
- IsMultiHotel –
- Type – тип справочника (используется для внутренних целей)
- TourDurations – продолжительность тура
- TourDates – список дат заездов в турпрограмме
- HotelCities – город в дополнительных фильтрах
- key – ключ города
- Country – страна
- key – ключ страны
- name – наименование страны
- Code – код страны
- DigitCode – цифровой код
- Alpha2Code –
- Alpha3Code –
- CitizenName – наименование страны
- CitizenNameLat – наименование страны латиницей
- PassportMinDurCheckFrom –
- CheckINN – проверка ИНН
- PassportMinDur –
- INNName – наименование поля ИНН
- Web –
- WebImage – логотип страны
- WebHTTP – сайт
- AnkLang –
- Key – ключ страны
- Type – тип (страна)
- name – наименование города
- Code – код города
- Web –
- RSKey –
- WebImage –
- IsDeparture –
- Key – ключ города
- Type – тип (город)
- HotelResorts – курорты в дополнительных фильтрах
- CountryKey – ключ
- Name – наименование
- NameLat – наименование латиницей
- Key – ключ
- Type – тип (курорт)
- HotelCategories – категории отеля в дополнительных фильтрах
- Name – наименование категории
- PrintNumber – номер для печати
- GlobalCode – глобальный код
- Key – ключ
- Type – тип (категория отеоля)
- Hotels – отели в дополнительных фильтрах
- Country – страна
- key – ключ страны
- name – наименование страны
- Code – код страны
- DigitCode – цифровой код
- Alpha2Code –
- Alpha3Code –
- CitizenName – наименование страны
- CitizenNameLat – наименование страны латиницей
- PassportMinDurCheckFrom –
- CheckINN – проверка ИНН
- PassportMinDur –
- INNName –
- Web –
- WebImage – логотип страны
- WebHTTP – сайт
- AnkLang –
- Key – ключ страны
- Type – тип (страна)
- Country – страна
- Сity – город
- key – ключ города
- Country – страна
- key – ключ страны
- name – наименование страны
- Code – код страны
- DigitCode – цифровой код
- Alpha2Code –
- Alpha3Code –
- CitizenName – наименование страны
- CitizenNameLat – наименование страны латиницей
- PassportMinDurCheckFrom –
- CheckINN – проверка ИНН
- PassportMinDur –
- INNName –
- Web –
- WebImage – логотип страны
- WebHTTP – сайт
- AnkLang –
- Key – ключ страны
- Type – тип (страна)
- name – наименование города
- Code – код города
- Web –
- RSKey –
- WebImage –
- IsDeparture –
- Key – ключ города
- Type – тип (город)
- Resort – курорт
- ResortKey – ключ курорта
- Name – наименование
- Category – категория
- Name – наименование категории
- PrintNumber – ключ для печати
- GlobalCode – глобальный код
- Key – ключ
- Type – тип (категория отеля)
- CategoryKey – ключ категории
- TimeFrom – время с
- TimeTo – время по
- HTTP": сайт
- Stars – категория
- TimeIsEmpty – вышло ли время
- NameLat – наименование латиницей
- Address – адрес
- IsCruise – имеется круиз
- Phone – телефон
- Email – E-mail
- Fax – факс
- Code – код
- Site – сайт
- Descript – описание
- PayHourNote – час оплаты
- EarlyCheckInSurcharge – доплаты за ранний заезд
- LateCheckOutSurcharge – доплата за поздний выезд
- Latitude – GPS координаты: географическая широта (обрабатывается с релиза 15.6)
- Longitude – GPS координаты: географическая долгота (обрабатывается с релиза 15.6)
- DescExcur –
- DescSport –
- DescHealth –
- DescService –
- Key – ключ
- Type – тип (отель)
- Pansions – питание
- Code – код питания
- Name – наименование питания
- NameLat – наименование питания латиницей
- GlobalCode – глобальный код
- Key – ключ
- Type – тип (питание)
- Airlines – авиакомпании в дополнительных фильтрах
- Key – ключ авиакомпании
- Code – код авиакомпании
- ICAO – код ИКАО
- Name – наименование авиакомпании
- NameLat – наименование авиакомпании латиницей
- Type – тип (авиакомпания)
- FlightTariffs – класс перелета в дополнительных фильтрах
- Key – ключ
- Code – код
- Name – наименование
- NameLat – наименование латиницей
- Group – группа
- Type – тип (авиаперелет)
- DepartureCities – города вылета в дополнительных фильтрах
- key – ключ города
- Country – страна
- key – ключ страны
- name – наименование страны
- Code – код страны
- DigitCode – цифровой код
- Alpha2Code –
- Alpha3Code –
- CitizenName – наименование страны
- CitizenNameLat – наименование страны латиницей
- PassportMinDurCheckFrom –
- CheckINN – проверка ИНН
- PassportMinDur –
- INNName –
- Web –
- WebImage – логотип страны
- WebHTTP – сайт
- AnkLang –
- Key – ключ страны
- Type – тип (страна)
- name – наименование города
- Code – код города
- Web –
- RSKey –
- WebImage –
- IsDeparture –
- Key – ключ города
- Type – тип (город)
- DepartureAirports – аэропорты вылета в дополнительных фильтрах
- Key – ключ
- Code – код аэропорта
- Name – наименование аэропорта
- NameLat – наименование аэропорта латиницей
- CityKey – ключ города
- CountryKey – ключ страны
- Letter – присвоенный символд
- Site – сайт
- Type – тип (аэропорт)
- ArrivalCities – города прибытия в дополнительных фильтрах
- key – ключ города
- Country – страна
- key – ключ страны
- name – наименование страны
- Code – код страны
- DigitCode – цифровой код
- Alpha2Code –
- Alpha3Code –
- CitizenName – наименование страны
- CitizenNameLat – наименование страны латиницей
- PassportMinDurCheckFrom –
- CheckINN – проверка ИНН
- PassportMinDur –
- INNName –
- Web –
- WebImage – логотип страны
- WebHTTP – сайт
- AnkLang –
- Key – ключ страны
- Type – тип (страна)
- name – наименование города
- Code – код города
- Web –
- RSKey –
- WebImage –
- IsDeparture –
- Key – ключ города
- Type – тип (город)
- ArrivalAirports – аэропорты прибытия в дополнительных фильтрах
- Key – ключ аэропорта
- Code – код аэропорта
- Name – наименование аэропорта
- NameLat – наименование аэропорта латиницей
- CityKey – ключ города
- CountryKey – ключ страны
- Letter – буква аэропорта
- Site – сайт
- Type – тип (аэропорт)
- HotelTypes – признаки отелей в дополнительных фильтрах
- key – ключ
- name – обозначение
- Type – тип (отель)
- ComplexHotelIds –
- Message – сообщение
- Key – ключ
- Value – значение
- HotelCities – город в дополнительных фильтрах
- TourTypes – типы тура
- Result – результаты поиска
Вызов метода TourForWeb GET http://dev4-04:9000/TourSearchOwin/TourForWeb/search/simple?DepartureCityKeys=1&Dates=25.10.2021
&Durations=5&PageNumber=1&PageSize=20&HotelScheme=&TourKey=&TourDuration=&ShowToursWithoutHotels=-
1&isFromBasket=false&isFillSecondaryFilters=false&DestinationType=1&DestinationKey=90&AdultCount=
2&CurrencyName=%D1%80%D0%B1&AviaQuota=5&HotelQuota=5&BusTransferQuota=5&TourType=-1&CityIds=-1&
TimeDepartureFrom=00%3A00&TimeDepartureTo=23%3A59&TimeArrivalFrom=00%3A00&TimeArrivalTo=23
%3A59&SearchId=2&MatrixAlgoritm=false&wrongLicenseFileUpperTitle=Incorrect+license+file.&
RemoteHotelMode=0&_=1633953386754 HTTP/1.1
Возвращаемый результат метода TourForWeb (в формате JSON) {
"Result": [
{
"Key": 100011112,
"Name": "EFREHolland",
"TourUrl": null,
"BookingConditions": null,
"DefaultManagers": [],
"Manager": 106,
"Branches": [],
"DetermineTheBranchOnCity": false,
"StartDate": "2021-10-18T00:00:00",
"Duration": 6,
"DurationInNight": 5,
"Types": [
45
],
"Cost": 620,
"Rate": "рб",
"CityDepature": {
"Key": 312,
"Value": "Астрахань"
},
"CountryId": 1,
"Services": [
{
"DepartureCity": {
"Key": 312,
"Value": "Астрахань"
},
"DepartureCountry": {
"Key": 460,
"Value": "Россия"
},
"ArrivalCity": {
"Key": 62,
"Value": "Амстердам"
},
"ArrivalCountry": {
"Key": 1,
"Value": "Голландия"
},
"DepartureAirport": {
"Key": "ASF",
"Value": "Астрахань"
},
"ArrivalAirport": {
"Key": "EH9",
"Value": "AMST"
},
"Airline": {
"Id": 43,
"Value": "МАУ",
"Key": "PS"
},
"Aircraft": {
"Key": "133",
"Value": "13131313"
},
"Flight": {
"Key": 2111,
"Value": "9117"
},
"DepartureTime": "17:05:00",
"ArrivalTime": "20:05:00",
"TotalTimeOfFlight": 420,
"FlightDetails": [
{
"Tariff": {
"Key": 339,
"Code": "14",
"Name": "14"
},
"IsCommission": true,
"Cost": 0,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12685,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}
],
"FlightSetting": {
"ServiceId": 1,
"PatternId": 30,
"FlightId": 30
},
"FlightSourceMode": 1,
"Id": 1,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2021-10-18T17:05:00",
"EndDateTime": "2021-10-18T20:05:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 1462,
"Index": 0
},
{
"DepartureCity": {
"Key": 62,
"Value": "Амстердам"
},
"DepartureCountry": {
"Key": 1,
"Value": "Голландия"
},
"ArrivalCity": {
"Key": 312,
"Value": "Астрахань"
},
"ArrivalCountry": {
"Key": 460,
"Value": "Россия"
},
"DepartureAirport": {
"Key": "EH9",
"Value": "AMST"
},
"ArrivalAirport": {
"Key": "ASF",
"Value": "Астрахань"
},
"Airline": {
"Id": 304,
"Value": "АЭРОФЛОТ",
"Key": "AUF"
},
"Aircraft": {
"Key": "330",
"Value": "aerobus A-330"
},
"Flight": {
"Key": 2080,
"Value": "9000"
},
"DepartureTime": "09:59:00",
"ArrivalTime": "12:59:00",
"TotalTimeOfFlight": -60,
"FlightDetails": [
{
"Tariff": {
"Key": 339,
"Code": "14",
"Name": "14"
},
"IsCommission": true,
"Cost": 0,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12685,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}
],
"FlightSetting": {
"ServiceId": 2,
"PatternId": 1,
"FlightId": 0
},
"FlightSourceMode": 1,
"Id": 2,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 2,
"DurationInNight": 0,
"BeginDateTime": "2021-10-19T09:59:00",
"EndDateTime": "2021-10-19T12:59:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 1462,
"Index": 1
},
{
"Hotel": {
"Key": 238,
"Value": "Hotel 4"
},
"City": {
"Key": 62,
"Value": "Амстердам"
},
"Stars": {
"Key": 23,
"Value": "1*++"
},
"StarsGlobalCode": {
"Key": 23,
"Value": "1*"
},
"Resort": {
"Key": -1,
"Value": null
},
"ImageURL": "",
"Http": "https://aniconrus.ru/ru/",
"Description": "",
"Latitude": null,
"Longitude": null,
"Country": {
"Key": 1,
"Value": "Голландия"
},
"HotelDetails": [
{
"HotelRoom": 1085918,
"Room": {
"Key": 141,
"Value": "2AD"
},
"RoomCategory": {
"Key": 2905,
"Value": "Double"
},
"AccomodationType": {
"Key": 1172,
"Value": "2AD",
"AdultCount": 2,
"ChildCount": 0
},
"Pansion": {
"Key": 1,
"Value": "Полный пансион"
},
"PansionGlobalCode": {
"Key": 1,
"Value": null
},
"RemoteId": null,
"Cost": 0,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 12685,
"ByPax": true,
"Partner": {
"Key": 12685,
"Value": " ПКЦ"
}
}
],
"HotelTypes": [
{
"Key": 290,
"Value": "ALEXXZ"
}
],
"RemoteId": null,
"COAndSpecialsInfo": {
"AppliedCostOffersKeys": [
21706
],
"AppliedSpeciasInfo": null
},
"Id": 3,
"SvKey": 3,
"IsSubCode1": true,
"IsSubCode2": true,
"IsPartnerBasedOn": false,
"Day": 2,
"DurationInNight": 4,
"BeginDateTime": "2021-10-19T12:59:00",
"EndDateTime": "2021-10-23T12:59:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 1462,
"Index": 2
}
],
"NotRouteServices": [],
"MinCostServicesComposition": [
{
"Key": {
"TemplateId": 1,
"PatternId": 30,
"SettingId": 30
},
"Value": {
"ServiceType": 1,
"Code": 2111,
"SubCode1": 339,
"SubCode2": 312,
"PacketId": 1462,
"PartnerId": 12685,
"CountryId": 1,
"CityId": 62,
"Day": 1,
"DurationInNight": 0,
"GDSProviderId": null,
"COAndSpecialsInfo": {
"AppliedCostOffersKeys": null,
"AppliedSpeciasInfo": null
},
"COBySubCode": [
21756
],
"SpecialsBySubCode": null
}
},
{
"Key": {
"TemplateId": 2,
"PatternId": 1,
"SettingId": 0
},
"Value": {
"ServiceType": 1,
"Code": 2080,
"SubCode1": 339,
"SubCode2": 62,
"PacketId": 1462,
"PartnerId": 12685,
"CountryId": 460,
"CityId": 312,
"Day": 2,
"DurationInNight": 0,
"GDSProviderId": null,
"COAndSpecialsInfo": {
"AppliedCostOffersKeys": null,
"AppliedSpeciasInfo": null
},
"COBySubCode": [
21705
],
"SpecialsBySubCode": null
}
},
{
"Key": {
"TemplateId": 3,
"PatternId": 0,
"SettingId": 0
},
"Value": {
"ServiceType": 3,
"Code": 238,
"SubCode1": 1085918,
"SubCode2": 1,
"PacketId": 1462,
"PartnerId": 12685,
"CountryId": 1,
"CityId": 62,
"Day": 2,
"DurationInNight": 4,
"GDSProviderId": null,
"COAndSpecialsInfo": {
"AppliedCostOffersKeys": null,
"AppliedSpeciasInfo": null
},
"COBySubCode": [
21706
],
"SpecialsBySubCode": null
}
}
],
"FlightWeight": 2,
"LinkingFlightsRules": {
"notCombineDifferentAirlineRule": {
"airlines": [],
"flightSettings": [],
"enabled": false
},
"checkPlusMinus1CharterRule": {
"FlightSettingPairs": [],
"enabled": false
},
"notCombineDifferentTariffGroupRule": {
"FlightSettings": [],
"enabled": false
},
"notCombineDifferentPartnerRule": {
"FlightSettings": [],
"enabled": false
},
"departureCityEqualsArrivalCityRule": {
"FlightSettingPairs": [],
"enabled": false
},
"combineOnlySpecificChartersRule": {
"settings": [],
"enabled": false
}
},
"RouteSubVariants": [],
"Routes": 15,
"IsRemoteHotels": false
],
"SecondaryFiltersResult": {
"TourTypes": [
{
"Id": 45,
"Name": "Индивидуальный тур",
"ParentId": null,
"Type": "TourType"
}
],
"TourPrograms": [
{
"Key": 100011112,
"Name": "EFREHolland",
"TourUrl": null,
"BookingConditions": null,
"DefaultManagers": [],
"Manager": 106,
"Branches": [],
"DetermineTheBranchOnCity": false,
"IsLandOnly": false,
"IsApplyMarginAddCostToRemoteService": true,
"IsRestrictMultiHotels": false,
"IsHotelTemplates": true,
"IsRouteServices": true,
"IsAviaBooking": false,
"MultiHotelDelta": 0,
"Rate": "рб",
"RateId": 14,
"DateStart": "2021-08-01T00:00:00Z",
"DateEnd": "2021-12-31T00:00:00Z",
"DateList": [],
"UpdateDate": "2021-10-01T14:56:14.44",
"Status": {
"Key": 3,
"Value": "Доступен для продажи"
},
"Templates": [
{
"$id": "1"
},
{
"$id": "2"
},
{
"$id": "3"
}
],
"Types": [
{
"Id": 45,
"Name": "Индивидуальный тур",
"ParentId": null,
"Type": "TourType"
}
],
"LinkingFlightsRules": {
"notCombineDifferentAirlineRule": {
"airlines": [],
"flightSettings": [],
"enabled": false
},
"checkPlusMinus1CharterRule": {
"FlightSettingPairs": [],
"enabled": false
},
"notCombineDifferentTariffGroupRule": {
"FlightSettings": [],
"enabled": false
},
"notCombineDifferentPartnerRule": {
"FlightSettings": [],
"enabled": false
},
"departureCityEqualsArrivalCityRule": {
"FlightSettingPairs": [],
"enabled": false
},
"combineOnlySpecificChartersRule": {
"settings": [],
"enabled": false
}
},
"IsMultiHotel": false,
"Type": "TourProgram"
}
],
"TourDurations": [
6
],
"TourDates": [
"2021-10-18T00:00:00"
],
"HotelCities": [
{
"key": 62,
"Country": {
"key": 1,
"name": "Голландия",
"Code": "Hol",
"DigitCode": "528",
"Alpha2Code": "NL",
"Alpha3Code": "NLD",
"CitizenName": "Голландия",
"CitizenNameLat": "Holland",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": 0,
"INNName": "ИНН",
"Web": 0,
"WebImage": "ыяфаыуа",
"WebHTTP": "",
"AnkLang": 0,
"Key": 1,
"Type": "Country"
},
"name": "Амстердам",
"Code": "AMS",
"Web": 0,
"RSKey": 0,
"WebImage": null,
"IsDeparture": 1,
"Key": 62,
"Type": "City"
}
],
"HotelResorts": [
{
"CountryKey": -1,
"Name": "Не указан",
"NameLat": null,
"Key": -1,
"Type": "Resort"
}
],
"HotelCategories": [
{
"Name": "1*++",
"PrintNumber": 23,
"GlobalCode": "1*",
"Key": 23,
"Type": "HotelCategory"
}
],
"Hotels": [
{
"Country": {
"key": 1,
"name": "Голландия",
"Code": "Hol",
"DigitCode": "528",
"Alpha2Code": "NL",
"Alpha3Code": "NLD",
"CitizenName": "Голландия",
"CitizenNameLat": "Holland",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": 0,
"INNName": "ИНН",
"Web": 0,
"WebImage": "ыяфаыуа",
"WebHTTP": "",
"AnkLang": 0,
"Key": 1,
"Type": "Country"
},
"City": {
"key": 62,
"Country": {
"key": 1,
"name": "Голландия",
"Code": "Hol",
"DigitCode": "528",
"Alpha2Code": "NL",
"Alpha3Code": "NLD",
"CitizenName": "Голландия",
"CitizenNameLat": "Holland",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": 0,
"INNName": "ИНН",
"Web": 0,
"WebImage": "ыяфаыуа",
"WebHTTP": "",
"AnkLang": 0,
"Key": 1,
"Type": "Country"
},
"name": "Амстердам",
"Code": "AMS",
"Web": 0,
"RSKey": 0,
"WebImage": null,
"IsDeparture": 1,
"Key": 62,
"Type": "City"
},
"Resort": null,
"ResortKey": 0,
"Name": "Hotel 4",
"Category": {
"Name": "1*++",
"PrintNumber": 23,
"GlobalCode": "1*",
"Key": 23,
"Type": "HotelCategory"
},
"CategoryKey": 23,
"TimeFrom": null,
"TimeTo": null,
"HTTP": "https://aniconrus.ru/ru/",
"Stars": "1*++",
"TimeIsEmpty": true,
"NameLat": "Hotel 4",
"Address": "",
"IsCruise": 0,
"Phone": null,
"Email": "",
"Fax": null,
"Code": null,
"Site": 0,
"Descript": "",
"PayHourNote": null,
"EarlyCheckInSurcharge": 0,
"LateCheckOutSurcharge": 0,
"Latitude": null,
"Longitude": null,
"DescExcur": "",
"DescSport": "",
"DescHealth": "",
"DescService": "",
"Key": 238,
"Type": "Hotel"
}
],
"Pansions": [
{
"Code": "FB",
"Name": "Полный пансион",
"NameLat": null,
"GlobalCode": null,
"Key": 1,
"Type": "Pansion"
}
],
"Airlines": [
{
"Key": 43,
"Code": "PS",
"ICAO": null,
"Name": "МАУ",
"NameLat": "en_Ukrainian Airlanes",
"Type": "AirLine"
},
{
"Key": 304,
"Code": "AUF",
"ICAO": null,
"Name": "АЭРОФЛОТ",
"NameLat": null,
"Type": "AirLine"
}
],
"FlightTariffs": [
{
"Key": 339,
"Code": "14",
"Name": "14",
"NameLat": null,
"Group": null,
"Type": "AirService"
}
],
"DepartureCities": [
{
"key": 312,
"Country": {
"key": 460,
"name": "Россия",
"Code": "RU",
"DigitCode": "643",
"Alpha2Code": "RU",
"Alpha3Code": "RUS",
"CitizenName": "Россия",
"CitizenNameLat": null,
"PassportMinDurCheckFrom": 0,
"CheckINN": true,
"PassportMinDur": 0,
"INNName": "ИНН",
"Web": 0,
"WebImage": "",
"WebHTTP": "",
"AnkLang": 0,
"Key": 460,
"Type": "Country"
},
"name": "Астрахань",
"Code": "",
"Web": 0,
"RSKey": null,
"WebImage": null,
"IsDeparture": 1,
"Key": 312,
"Type": "City"
}
],
"DepartureAirports": [
{
"Key": 168,
"Code": "ASF",
"Name": "Астрахань",
"NameLat": null,
"CityKey": 312,
"CountryKey": 460,
"Letter": null,
"Site": null,
"Type": "Airport"
}
],
"ArrivalCities": [
{
"key": 312,
"Country": {
"key": 460,
"name": "Россия",
"Code": "RU",
"DigitCode": "643",
"Alpha2Code": "RU",
"Alpha3Code": "RUS",
"CitizenName": "Россия",
"CitizenNameLat": null,
"PassportMinDurCheckFrom": 0,
"CheckINN": true,
"PassportMinDur": 0,
"INNName": "ИНН",
"Web": 0,
"WebImage": "",
"WebHTTP": "",
"AnkLang": 0,
"Key": 460,
"Type": "Country"
},
"name": "Астрахань",
"Code": "",
"Web": 0,
"RSKey": null,
"WebImage": null,
"IsDeparture": 1,
"Key": 312,
"Type": "City"
}
],
"ArrivalAirports": [
{
"Key": 168,
"Code": "ASF",
"Name": "Астрахань",
"NameLat": null,
"CityKey": 312,
"CountryKey": 460,
"Letter": null,
"Site": null,
"Type": "Airport"
}
],
"HotelTypes": [
{
"key": 290,
"name": "ALEXXZ",
"Type": "HotelType"
}
],
"ComplexHotelIds": []
},
"Message": {
"Key": 0,
"Value": null
}
}
|
- Формат запроса GET с таблицей цен:
- GET .../TourSearchOwin/TourForWeb/search/matrix?
- Принимаемые параметры ( * – обязательный):
Аналогичны стандартному запросу (simple)
- Возвращаемый результат:
- CellsForMatrix – ячейки таблицы
- Key – ключ
- StartDate – дата начала
- Duration – продолжительность
- DurationInNight – количество ночей
- Cost – цена
- CitiesWithMinimalCosts – города с минимальной ценой
- DepartureCityKey – ключ города отправления
- ArrivalCityKey – ключ города прибытия
- DepartureCityName – наименование города отправления
- ArrivalCityName – наименование города прибытия
- RouteMinimalPrice – минимальная цена маршрута
- TourMinimalAndMaximalCost – минимальная и максимальная цены тура
- MinimalPrice – минимальная цена
- MaximalPrice – максимальная цена
- CellsForMatrix – ячейки таблицы
Вызов метода TourForWeb GET http://localhost:9000/TourSearchOwin/TourForWeb/search/matrix?DepartureCityKeys=1&Dates=18.10.2021
&Durations=6&PageNumber=1&PageSize=20&HotelScheme=&TourKey=&TourDuration=&ShowToursWithoutHotels=
-1&isFromBasket=false&isFillSecondaryFilters=false&DestinationType=1&DestinationKey=90&AdultCount=
2&CurrencyName=%D1%80%D0%B1&AviaQuota=5&HotelQuota=5&BusTransferQuota=5&TourType=-1&CityIds=35&
TimeDepartureFrom=00%3A00&TimeDepartureTo=23%3A59&TimeArrivalFrom=00%3A00&TimeArrivalTo=23%3A59&
SearchId=1&MatrixAlgoritm=true&wrongLicenseFileUpperTitle=Incorrect+license+file.&RemoteHotelMode=0&_
=1634028589340
Возвращаемый результат метода TourForWeb (в формате JSON) {
"CellsForMatrix": [
{
"Key": 100011079,
"StartDate": "2021-10-18T00:00:00",
"Duration": 6,
"DurationInNight": 5,
"Cost": 1218
}
],
"CitiesWithMinimalCosts": [
{
"DepartureCityKey": 1,
"ArrivalCityKey": 35,
"DepartureCityName": "Москва",
"ArrivalCityName": "Вена",
"RouteMinimalPrice": 1218
}
],
"TourMinimalAndMaximalCost": {
"MinimalPrice": 1218,
"MaximalPrice": 53227
}
}
|
- Формат запроса GET с минимальной и максимальной ценой:
- GET .../TourSearchOwin/TourForWeb/search/minMaxPrices?
- Принимаемые параметры ( * – обязательный):
Аналогичны стандартному запросу (simple)
- Возвращаемый результат:
- MinimalPrice – минимальная цена
- MaximalPrice – максимальная цена
Вызов метода TourForWeb GET http://localhost:9000/TourSearchOwin/TourForWeb/search/minMaxPrices?DepartureCityKeys=1&Dates=18.10.2021
&Durations=6&PageNumber=1&PageSize=20&HotelScheme=&TourKey=&TourDuration=&ShowToursWithoutHotels=
-1&isFromBasket=false&isFillSecondaryFilters=false&DestinationType=1&DestinationKey=90&AdultCount=
2&CurrencyName=%D1%80%D0%B1&AviaQuota=5&HotelQuota=5&BusTransferQuota=5&TourType=-1&CityIds=35&Time
DepartureFrom=00%3A00&TimeDepartureTo=23%3A59&TimeArrivalFrom=00%3A00&TimeArrivalTo=23%3A59&SearchId
=1&SearchMaxPriceAlgoritm=false&MatrixAlgoritm=true&wrongLicenseFileUpperTitle=Incorrect+license+file.
&RemoteHotelMode=0&_
=1634028589340
Возвращаемый результат метода TourForWeb (в формате JSON) {
"MinimalPrice": 1218,
"MaximalPrice": 285618
}
|
Проверка дублирующих туристов (CheckDoubleDogovor)
Метод проверяет есть ли дублирующие туристы в существующих путевках. Проверка на дублирование регулируется настройкой Предупреждать при дублировании туристов.
- Формат запроса POST:
- POST .../TourSearchOwin/CheckDoubleDogovor
- Принимаемые параметры ( * – обязательный):
- 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 – статус по квотам (есть места-1 / нет мест-2 / под запрос-4)
- FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- Index – индекс услуги
- IsRoute – признак маршрутная услуга
- ServiceTemplateIndex – индекс шаблона услуги
- RemoteId – информация об услуге во внешней системе
- IsCommission – признак, комиссионная ли услуга
- BaseFlightsParams – параметры рассчитанных авиаперелетов
- CityArrival – ключ города прибытия прямого перелета
- FlightCode – ключ прямого авиаперелета
- TariffKey – ключ тарифа прямого авиаперелета
- PartnerId – ключ партнера прямого авиаперелета
- TouristNumbersList – массив туристов, привязанных к услуге
- Service – объект услуга авиаперелет
- Tourists – массив туристов
- IsMain – главный турист
- Number – порядковый номер туриста
- AgeType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
- MaleFemaleSex – пол (0 – мужской, 1 – женский)
- FirstName – имя (лат)
- LastName – фамилия (лат)
- Patronymic – отчество (лат)
- FirstNameRus – имя (рус)
- LastNameRus – фамилия (рус)
- PatronymicRus – отчество (рус)
- InternationalPassportSeries – серия загранпаспорта
- InternationalPassportNumber – номер загранпаспорта
- InternationalPassportDateOfIssue – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
- InternationalPassportDateOfIssueString – дата выдачи загранпаспорта в строковом формате (DD.MM.YYYY)
- InternationalPassportDateOfExpiry – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
- InternationalPassportDateOfExpiryString – дата окончания действия загранпаспорта в строковом формате (DD.MM.YYYY)
- internationalPassportByWhom – кем выдан загранпаспорт
- PassportSeries – серия паспорта
- PassportNumber – номер паспорта
- PassportDateOfIssue – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
- PassportDateOfIssueString – дата выдачи паспорта в строковом формате (DD.MM.YYYY)
- PassportByWhom – кем выдан паспорт
- Citizenship – название страны
- Phone – телефон
- Email – e-mail
- BirthDay – дата рождения (YYYY-MM-DDThh:mm:ssz)
- BirthDayString – дата рождения в строковом формате (DD.MM.YYYY)
- BirthPlace – место рождения
- CitizenID – ID туриста (задается в карточке постоянного клиента)
- Age – количество полных лет на момент окончания тура
- TechnicalProblemsDuringUpdateFlights – технические проблемы при обновлении рейсов
- TimeLimit – лимит времени
- CountryKey – ключ страны
- OwnerId – ключ ведущего менеджера (начиная с релиза 15.3). Если 0, то берется по умолчанию. Если по умолчанию не указан, то берется создатель тура.
- Day – день
- Day2 – дня
- Days – дней
- Night – ночь
- Night2 – ночи
- Nights – ночей
- adultsCountOverServiceLimit – Количество взрослых туристов превышает лимит услуги
- incorrectChildrenInf – Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание)
- Возвращаемый результат:
- Errors – описание ошибки
- Warnings – предупреждение
- States – статус
- IsValid – результат проверки подключения (true/false)
Вызов метода CheckDoubleDogovor POST http://localhost:9000/TourSearchOwin/CheckDoubleDogovor
{
"TourProgramId": 100011112,
"BeginDate": "2021-10-18T17:05:00",
"Duration": 6,
"Currency": "рб",
"Services": [
{
"Service": {
"ServiceType": 3,
"Code": 238,
"SubCode1": 1085918,
"SubCode2": 1,
"Packet": 1462,
"Partner": 12685,
"Day": 2,
"DurationInNight": 4,
"City": 62,
"Country": 1,
"Attributes": 0,
"IsRemovable": false,
"Type": 1,
"IsHooded": false,
"IsNotCalculated": false,
"BeginDateTimeString": "2021-10-19T14:59:00",
"EndDateTimeString": "2021-10-23T14:59:00",
"TemplateId": 3,
"Cost": 0,
"ByPax": true,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"Index": 2,
"IsRoute": true,
"ServiceTemplateIndex": 2,
"RemoteId": null,
"IsCommission": true,
"BaseFlightsParams": [
{
"CityArrival": 62,
"FlightCode": 2111,
"TariffKey": 339,
"PartnerId": 12685
},
{
"CityArrival": 312,
"FlightCode": 2080,
"TariffKey": 339,
"PartnerId": 12685
}
]
},
"TouristNumbersList": [
1,
2
]
},
{
"Service": {
"ServiceType": 1,
"Code": 2111,
"SubCode1": 339,
"SubCode2": 312,
"Packet": 1462,
"Partner": 12685,
"Day": 1,
"DurationInNight": 0,
"City": 62,
"Country": 1,
"Attributes": 0,
"IsRemovable": false,
"Type": 1,
"IsHooded": false,
"IsNotCalculated": false,
"BeginDateTimeString": "2021-10-18T17:10:00",
"EndDateTimeString": "2021-10-18T20:20:00",
"TemplateId": 1,
"Cost": 0,
"ByPax": true,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"Index": 0,
"IsRoute": true,
"ServiceTemplateIndex": 0,
"IsCommission": true,
"BaseFlightsParams": [
{
"CityArrival": 62,
"FlightCode": 2111,
"TariffKey": 339,
"PartnerId": 12685
},
{
"CityArrival": 312,
"FlightCode": 2080,
"TariffKey": 339,
"PartnerId": 12685
}
]
},
"TouristNumbersList": [
1,
2
]
},
{
"Service": {
"ServiceType": 1,
"Code": 2080,
"SubCode1": 339,
"SubCode2": 62,
"Packet": 1462,
"Partner": 12685,
"Day": 2,
"DurationInNight": 0,
"City": 312,
"Country": 460,
"Attributes": 0,
"IsRemovable": false,
"Type": 1,
"IsHooded": false,
"IsNotCalculated": false,
"BeginDateTimeString": "2021-10-19T09:59:00",
"EndDateTimeString": "2021-10-19T12:59:00",
"TemplateId": 2,
"Cost": 0,
"ByPax": true,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"Index": 1,
"IsRoute": true,
"ServiceTemplateIndex": 1,
"IsCommission": true,
"BaseFlightsParams": [
{
"CityArrival": 62,
"FlightCode": 2111,
"TariffKey": 339,
"PartnerId": 12685
},
{
"CityArrival": 312,
"FlightCode": 2080,
"TariffKey": 339,
"PartnerId": 12685
}
]
},
"TouristNumbersList": [
1,
2
]
}
],
"Tourists": [
{
"IsMain": true,
"Number": 1,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "ETYETY",
"LastName": "REYERYETY",
"Patronymic": "",
"FirstNameRus": "ETYETY",
"LastNameRus": "REYERYETY",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": "1987-04-09T19:00:00.000Z",
"BirthDayString": "10.04.1987",
"BirthPlace": "",
"CitizenID": "",
"Age": 34
},
{
"IsMain": false,
"Number": 2,
"AgeType": 0,
"MaleFemaleSex": 0,
"FirstName": "ETYETY",
"LastName": "ETYTY",
"Patronymic": "",
"FirstNameRus": "ETYETY",
"LastNameRus": "ETYTY",
"PatronymicRus": "",
"InternationalPassportSeries": "",
"InternationalPassportNumber": "",
"InternationalPassportDateOfIssue": "",
"InternationalPassportDateOfIssueString": "",
"InternationalPassportDateOfExpiry": "",
"InternationalPassportDateOfExpiryString": "",
"internationalPassportByWhom": "",
"PassportSeries": "",
"PassportNumber": "",
"PassportDateOfIssue": "",
"PassportDateOfIssueString": "",
"PassportByWhom": "",
"Citizenship": "",
"Phone": "",
"Email": "",
"BirthDay": "1987-04-09T19:00:00.000Z",
"BirthDayString": "10.04.1987",
"BirthPlace": "",
"CitizenID": "",
"Age": 34
}
],
"TechnicalProblemsDuringUpdateFlights": false,
"TimeLimit": null,
"CountryKey": 1,
"OwnerId": 106,
"Day": "день",
"Day2": "дня",
"Days": "дней",
"Night": "ночь",
"Night2": "ночи",
"Nights": "ночей",
"adultsCountOverServiceLimit": "Количество взрослых туристов превышает лимит услуги",
"incorrectChildrenInf": "Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание)"
}
Возвращаемый результат метода CheckDoubleDogovor (в формате JSON) {
"Errors": [],
"Warnings": null,
"States": null,
"IsValid": true
}
|
Дополнительные методы
Выгрузка измененных турпрограмм (TourProgram) начиная с релиза 15.3
Метод производит выгрузку измененных турпрограмм, в которых были сделаны изменения с указанной даты и времени и повлияли на маршруты в турпрограмме. К таким изменениям относятся изменения страны и города начала поездки, страны и города по туру, типа тура. Изменения цен по услугам не приводят к обновлению турпрограмме, такие турпрограммы в ответе не будут указаны. Турпрограммы, по которым статус Доступен для продажи сменился на другой за период, указанный в запросе, в ответе тоже не будут указаны.
- Формат запроса:
- GET .../TourSearchOwin/TourProgram?
- Принимаемые параметры GET запроса ( * – обязательный):
- fromDateTime – дата (в формате dd.MM.yyyy HH:mm:ss), начиная с которой будут выгружаться изменения,
- Возвращаемый результат:
- Key – ключ программы туров
- Name – название программы туров
- UpdateDate – дата последнего изменения программы туров (или связанных с ней компонентов)
- routes – массив возможных маршрутов в данной программе туров
- departureCountryKey – страна начала поездки (для каждой страны начала поездки в одной программе тура будет отдельный маршрут)
- departureCityKey – город начала поездки (для каждого города начала поездки в одной программе тура будет отдельный маршрут)
- destinationCountryKeys – страны по туру (если в туре несколько услуг класса отель и они в разных странах, то будут возвращаться все страны отелей)
- destinationCityKeys – города по туру (если в туре отели в нескольких городах, то будут возвращаться все города отелей)
- tourTypeKeys – типы туров для данной программы туров
Вызов метода TourProgram GET http://localhost:9000/TourSearchOwin/TourProgram?fromDateTime=20.08.2022 00:00:00
Возвращаемый результат метода TourProgram (в формате JSON) [{
"key": 100002353,
"name": "Турпрограмма в Австрию",
"updateDate": "2018-09-25T13:48:13.847",
"routes": [{
"departureCountryKey": 5,
"departureCityKey": 218,
"destinationCountryKeys": [80],
"destinationCityKeys": [19,
1051,
113],
"tourTypeKeys": [52]
},
{
"departureCountryKey": 5,
"departureCityKey": 766,
"destinationCountryKeys": [80],
"destinationCityKeys": [19,
1051,
113],
"tourTypeKeys": [52]
}]
},
{
"Key": 100004452,
"Name": "Турпрограмма в Англию"
"UpdateDate": "2018-06-30T10:09:35.22"
"routes": [{
"departureCountryKey": -1,
"departureCityKey": -1,
"destinationCountryKeys": [80],
"destinationCityKeys": [19],
"tourTypeKeys": [52,
35]
}]
}]
|
Проверка построения маршрутов турпрограммы (CheckTourProgram)
Метод производит построение маршрутов турпрограмм (вызывается из проверки тура). Метод проверяет маршруты по турпрограммам с любым статусом (не только по статусу Доступен для подажи).
- Формат запроса:
- GET .../TourSearchOwin/CheckTourProgram?
- Принимаемые параметры GET запроса ( * – обязательный):
- tourKey – ключ турпрограммы
- Возвращаемый результат:
- Message – сообщение Начинаем строить маршрут.
- Message – сообщение Маршрутов по данной программе тура построилось – количество
- Message – сообщение Построено каркасов маршрутов (без конкретных отелей) – количество
Вызов метода CheckTourProgram GET http://localhost:9000/TourSearchOwin/CheckTourProgram?tourKey=100007837
Возвращаемый результат метода CheckTourProgram (в формате JSON) [
{
"Message": "[startingMakingRouteUpper]",
"MessageType": 0
},
{
"Message": "[routeCarcassesBuildWithoutSpecificHotelsUpper] - 10",
"MessageType": 1
},
{
"Message": "[routesMadeByThisTourProgrammUpper] - 10",
"MessageType": 1
}
]
|
Получение разметки формы для новой формы быстрого поиска (GetJavascriptFile)
Метод получает разметку формы для новой формы быстрого поиска.
- Формат запроса:
- GET .../TourSearchOwin/GetJavascriptFile/Get?
- Принимаемые параметры GET запроса ( * – обязательный):
- name – имя файла
- Возвращаемый результат:
- полученный файл
Вызов метода GetJavascriptFile/Get GET http://localhost:9000/TourSearchOwin/GetJavascriptFile/Get?name=demoSearch.js
Возвращаемый результат метода GetJavascriptFile/Get (в формате JSON) [
полученный файл demoSearch.js
]
|
Проверка подключения к внешним системам (GDSCheckConnection)
Метод производит проверку подключения к внешней системе.
- Формат запроса:
- POST .../TourSearchOwin/GDSCheckConnection?
- Принимаемые параметры headers ( * – обязательный):
- Content-Type * – application/json
- Принимаемые параметры POST запроса ( * – обязательный):
- adapterTypeName – адаптер
- id – ключ адаптера
- apiAddress – api-адрес
- settings – набор настроек (у каждого адаптера индивидуальный)
- Key – _Login
- Value – логин
- Key – _Password
- Value – пароль
- Key – _UserID
- Value – ID пользователя
- licenseDateExpiry – дата окончания лицензии
- Возвращаемый результат:
- Errors – описание ошибки
- Warnings – предупреждение
- States – статус
- IsValid – результат проверки подключения (true/false)
Вызов метода GDSCheckConnection POST http://localhost:9000/TourSearchOwin/GDSCheckConnection? HTTP/1.1
Content-Type: application/json
{
"adapterTypeName": "TravelBoxAdapter",
"id": 5565,
"apiAddress": "http://dev24.desertadventur.com/",
"settings": [{
"Key": "TravelBox_Login",
"Value": "Login"
}, {
"Key": "TravelBox_Password",
"Value": "Password"
}, {
"Key": "TravelBox_UserID",
"Value": "12345"
}, {
"Key": "TravelBox_CompanyCode",
"Value": "DA_UAE"
}, {
"Key": "TravelBox_Division",
"Value": "FIT_UAE"
}, {
"Key": "TravelBox_Department",
"Value": "FIT- Local"
}, {
"Key": "TravelBox_TouroperatorCode",
"Value": "54321"
}, {
"Key": "TravelBox_MaxResponses",
"Value": "200"
}, {
"Key": "TravelBox_AvailRatesOnly",
"Value": "AvailRatesOnly"
}, {
"Key": "TravelBox_CacheTimelife",
"Value": "10"
}
],
"licenseDateExpiry": "01.01.2022"
}
Возвращаемый результат метода GDSCheckConnection (в формате JSON) [{
"Errors": [],
"Warnings": null,
"States": null,
"IsValid": true
}]
|
Подтверждения оплаты полиса в ЕВРОИНС
Для подтверждения оплаты метод будет обращаться к внешним службам для подтверждения платежа.
Страховая компания ЕВРОИНС
- Формат запроса:
- POST .../TourSearchOwin/EuroinsConfirmPay
- Принимаемые параметры headers ( * – обязательный):
- Content-Type * – application/json
- Принимаемые параметры POST запроса ( * – обязательный):
- policyId * – ID полиса
- code * – код партнера
- Возвращаемый результат:
- success: true – подтверждено (код 200)
- error – описание ошибки (код 400)
Вызов метода EuroinsConfirmPay POST localhost:9000/TourSearchOwin/EuroinsConfirmPay
Content-Type: application/json { "policyId": "134574", "code": "oqxKQXlOInSJqLl" } </syntaxhighlight> Возвращаемый результат метода EuroinsConfirmPay (в формате JSON) Код 200:
{
"success": true
}
Код 400:
{
"error": "Не удалось выполнить действие"
}
|
Приложения
Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)
Параметры ServiceType – это ключ типа услуги, Сode – ключ услуги, SubCode1 и SubCode2, возвращаемые при API-запросах – это параметры дополнительных описаний двух типов, индивидуальных для каждой услуги.
Ключ типа услуги (ServiceType) | Наименование типа услуги | Ключ услуги (Code) | Доп. описание 1 (SubCode1) | Таблица БД со значениями SubCode1 | Доп. описание 2 (SubCode2) | Таблица БД со значениями SubCode2 |
---|---|---|---|---|---|---|
1 | Авиаперелет | индивидуальный ключ услуги | Тариф | AirService | отсутствует | отсутствует |
2 | Трансфер | индивидуальный ключ услуги | Вид транспорта | Transport | отсутствует | отсутствует |
3 | Отель/Круиз | индивидуальный ключ услуги | Вид проживания (Тип номера + Категория номера + Тип размещения) | HotelRooms (Rooms + RoomCategory + Accmdmentype) | Тип питания | Pansion |
4 | Экскурсия | индивидуальный ключ услуги | Вид транспорта | Transport | отсутствует | отсутствует |
5 | Виза | индивидуальный ключ услуги | отсутствует | отсутствует | отсутствует | отсутствует |
6 | Страховка | индивидуальный ключ услуги | Доп. описание 1 | AddDescript1 | Доп. описание 2 | AddDescript2 |
8 | Доп услуга в отеле/круизе | индивидуальный ключ услуги | Вид проживания (Тип номера + Категория номера + Тип размещения) | HotelRooms (Rooms + RoomCategory + Accmdmentype) | Доп. описание 2 | AddDescript2 |
14 | Автобусный переезд | индивидуальный ключ услуги | Место посадки | BusTransferPoints | Вид транспорта | Transport |
99 | Любая пользовательская услуга | индивидуальный ключ услуги | Доп. описание 1 | AddDescript1 | Доп. описание 2 | AddDescript2 |