Мастер-Тур(15):API для разработки онлайн поиска и бронирования — различия между версиями
| [непроверенная версия] | [досмотренная версия] |
Andreeva (обсуждение | вклад) (→Бронирование путевки (CreateReservation)) |
Biryukov (обсуждение | вклад) (→Установка) |
||
| (не показаны 73 промежуточные версии 5 участников) | |||
| Строка 12: | Строка 12: | ||
Для работы с web-сервисом необходимо на отдающей стороне установить [[Мастер-Тур(15):Установка#Установка службы поиска|службу поиска]].<br /> | Для работы с web-сервисом необходимо на отдающей стороне установить [[Мастер-Тур(15):Установка#Установка службы поиска|службу поиска]].<br /> | ||
После установки web-сервис будет доступен по адресу ''<nowiki>http://значение настройки "serviceAddress" в TourSearchOwin/"название метода"</nowiki>'' (пример: ''http://localhost:9000/TourSearchOwin/Settings'') | После установки web-сервис будет доступен по адресу ''<nowiki>http://значение настройки "serviceAddress" в TourSearchOwin/"название метода"</nowiki>'' (пример: ''http://localhost:9000/TourSearchOwin/Settings'') | ||
| + | |||
| + | ==Swagger== | ||
| + | Работу методов можно проверить с помощью Swagger по пути: ''http://localhost:9000/TourSearchOwin/SwaggerUI'' | ||
==Список методов== | ==Список методов== | ||
| Строка 17: | Строка 20: | ||
Последовательность вызова методов сервиса<br /> | Последовательность вызова методов сервиса<br /> | ||
[[Файл:mb_273.png|1000px|Последовательность вызова методов сервиса]] | [[Файл:mb_273.png|1000px|Последовательность вызова методов сервиса]] | ||
| + | |||
| + | ===Информация о состоянии службы поиска (statusCache)=== | ||
| + | Метод выводит информацию о состоянии службы поиска при ее загрузке. | ||
| + | * Формат запроса: | ||
| + | ** GET .../TourSearchOwin/statusCache? | ||
| + | * Принимаемые параметры: | ||
| + | ** нет принимаемых параметров | ||
| + | * Возвращаемый результат: | ||
| + | ** '''Initialized''' – информация о том, загружена ли служба или нет ('''false''' – инициализация кешей не завершена, '''true''' – инициализация кешей завершена) | ||
| + | ** '''Status''' – состояние службы. Возможные значения: ''Запущена инициализация кэшей'', ''Инициализация кэшей завершена'' | ||
| + | ** '''CacheName''' – информация о том, какой именно кеш сейчас считается (название) | ||
| + | ** '''Iteration''' – порядковый номер считаемого справочника кеша | ||
| + | ** '''CacheCount''' – общее количество кешей | ||
| + | ** '''ProcessMessage''' – детализация. Информацию можно разделить на 3 блока: | ||
| + | *** Загрузка всех справочных данных, кроме расчета маршрутов и актуальных фильтров. В этом случае сообщение будет ''Загрузка кэшей из БД'' | ||
| + | *** Расчет маршрутов. ''CacheName'' – ''HotelScheme'', сообщение будет ''tours load: 956 / 1234'' | ||
| + | *** Расчет актуальных фильтров. ''CacheName'' – ''ActualFilters'', сообщение будет ''Actual filter processed: 783012 / 3865687"'' | ||
| + | |||
| + | <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> | ||
| + | Вызов метода Settings | ||
| + | <syntaxhighlight lang="java" enclose="div"> | ||
| + | GET http://localhost:9000/TourSearchOwin/statusCache | ||
| + | </syntaxhighlight> | ||
| + | Возвращаемый результат метода statusCache (в формате JSON) | ||
| + | <syntaxhighlight lang="java" enclose="div"> | ||
| + | { | ||
| + | "Initialized": false, | ||
| + | "Status": "Запущена инициализация кэшей", | ||
| + | "CacheName": "ToursSearchView", | ||
| + | "Iteration": 10, | ||
| + | "CacheCount": 112, | ||
| + | "ProcessMessage": "Загрузка кэшей из БД" | ||
| + | } | ||
| + | { | ||
| + | "Initialized": false, | ||
| + | "Status": "Запущена инициализация кэшей", | ||
| + | "CacheName": "HotelScheme", | ||
| + | "Iteration": 109, | ||
| + | "CacheCount": 112, | ||
| + | "ProcessMessage": "tours load: 956 / 1234" | ||
| + | } | ||
| + | { | ||
| + | "Initialized": false, | ||
| + | "Status": "Запущена инициализация кэшей", | ||
| + | "CacheName": "ActualFilters", | ||
| + | "Iteration": 112, | ||
| + | "CacheCount": 112, | ||
| + | "ProcessMessage": "Actual filter processed: 783012 / 3865687" | ||
| + | } | ||
| + | { | ||
| + | "Initialized": true, | ||
| + | "Status": "Инициализация кэшей завершена", | ||
| + | "CacheName": null, | ||
| + | "Iteration": 0, | ||
| + | "CacheCount": 0, | ||
| + | "ProcessMessage": null | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | </TD></TR></TABLE> | ||
| + | </div></div><br /> | ||
===Авторизация (Token)=== | ===Авторизация (Token)=== | ||
| Строка 105: | Строка 170: | ||
*** ''<add key="enableActualFilters" value="true" />'' - CacheReady: true = CacheReadyMessage: "Кеш инициализирован"; CacheReady: false = CacheReadyMessage: "Кеш еще не инициализирован" | *** ''<add key="enableActualFilters" value="true" />'' - CacheReady: true = CacheReadyMessage: "Кеш инициализирован"; CacheReady: false = CacheReadyMessage: "Кеш еще не инициализирован" | ||
*** ''<add key="enableActualFilters" value="false" />'' - Служба актуальных фильтров недоступна (выключена, неверно указана ссылка на нее и т.п.) CacheReadyMessage: "Служба актуальных фильтров недоступна"; Служба актуальных фильтров доступна но не готова - CacheReadyMessage: "Кеш службы актуальных фильтров не инициализирован"; Служба актуальных фильтров готова, а основная служба не готова - CacheReadyMessage: "Кеш ещё не инициализирован"; Служба актуальных фильтров готова, и основная служба готова - CacheReadyMessage: "Кеш ещё инициализирован". | *** ''<add key="enableActualFilters" value="false" />'' - Служба актуальных фильтров недоступна (выключена, неверно указана ссылка на нее и т.п.) CacheReadyMessage: "Служба актуальных фильтров недоступна"; Служба актуальных фильтров доступна но не готова - CacheReadyMessage: "Кеш службы актуальных фильтров не инициализирован"; Служба актуальных фильтров готова, а основная служба не готова - CacheReadyMessage: "Кеш ещё не инициализирован"; Служба актуальных фильтров готова, и основная служба готова - CacheReadyMessage: "Кеш ещё инициализирован". | ||
| − | + | ** '''nodeId''' – уникальный идентификатор узла в кластере балансировки нагрузки [[Мастер-Тур(15):Балансировщик нагрузки HaProxy|HaProxy]] | |
| + | ** '''FullPaymentPeriod''' – полная оплата с даты бронирования (может быть null) | ||
| + | ** '''FullPaymentCheckin''' – полная оплата до даты заезда (может быть null) | ||
| + | ** '''PrePaymentPeriod''' – предоплата с даты бронирования (может быть null) | ||
| + | ** '''PrePaymentCheckin''' – предоплата до даты заезда (может быть null) | ||
| + | ** '''PrePaymentCu"''' – значение предоплаты в y.e. (может быть null) | ||
| + | ** '''PrePaymentPercent''' – значение предоплаты в процентах (может быть null) | ||
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
| Строка 182: | Строка 253: | ||
"ShowHotelImagesInSearch": true | "ShowHotelImagesInSearch": true | ||
"CacheReadyMessage": "Кеш инициализирован" | "CacheReadyMessage": "Кеш инициализирован" | ||
| + | "nodeId": 2147483647, | ||
| + | "FullPaymentPeriod": null, | ||
| + | "FullPaymentCheckin": 5, | ||
| + | "PrePaymentPeriod": null, | ||
| + | "PrePaymentCheckin": 10, | ||
| + | "PrePaymentPercent": 50.0, | ||
| + | "PrePaymentCu": null | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</TD></TR></TABLE> | </TD></TR></TABLE> | ||
</div></div><br /> | </div></div><br /> | ||
| − | |||
===Выгрузка списка валют в онлайне (Currency)=== | ===Выгрузка списка валют в онлайне (Currency)=== | ||
| Строка 257: | Строка 334: | ||
** GET .../TourSearchOwin/CurrencyRates | ** GET .../TourSearchOwin/CurrencyRates | ||
* Принимаемые параметры: | * Принимаемые параметры: | ||
| − | ** | + | ** '''dateFrom''' – начальная дата, от которой вывести список курсов валют, в формате DD.MM.YYYY, необязательный параметр (если не указан, берется за текущий день) |
| + | ** '''dateTo''' – конечная дата, до которой вывести список курсов валют, в формате DD.MM.YYYY, необязательный параметр (если не указан, берется за текущий день) | ||
| + | ** '''otherBaseCurrencyId''' – идентификатор любой валюты, эмулирующей работу национальной валюты, необязательный параметр. Если заполнен, то в результатах выдачи параметр ''baseCurrencyId'' будет заменяться на валюту из параметра ''otherBaseCurrencyId'' (обрабатывается с релиза 15.9). | ||
| + | |||
* Возвращаемый результат: | * Возвращаемый результат: | ||
** '''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: | Строка 349: | ||
Вызов метода 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: | Строка 600: | ||
** '''Name''' – название страны | ** '''Name''' – название страны | ||
** '''Key''' – идентификатор страны | ** '''Key''' – идентификатор страны | ||
| − | ** '''DestinationType''' – тип результата (параметр не изменяемый, | + | ** '''DestinationType''' – тип результата (внутренний параметр, не изменяемый, всегда возвращается значение = 1) |
** '''IsExist''' – не используется | ** '''IsExist''' – не используется | ||
** '''Data''' – массив данных для контекстного поиска | ** '''Data''' – массив данных для контекстного поиска | ||
| Строка 690: | Строка 782: | ||
** '''departureCityKeys *''' – идентификатор города(ов) отправления (полученный из метода ''.../TourSearchOwin/departureCities?'') | ** '''departureCityKeys *''' – идентификатор города(ов) отправления (полученный из метода ''.../TourSearchOwin/departureCities?'') | ||
** '''Key *''' – идентификатор страны прибытия (полученный из метода ''.../TourSearchOwin/Destination?'') | ** '''Key *''' – идентификатор страны прибытия (полученный из метода ''.../TourSearchOwin/Destination?'') | ||
| − | ** '''Type *''' – тип результата (всегда | + | ** '''Type *''' – тип результата (внутренний параметр, не изменяемый, всегда указывать значение = 1) |
** '''destinationCity *''' – идентификатор города(ов) прибытия (полученный из метода ''.../TourSearchOwin/ActualizeCities?''), по умолчанию передается ''-1'', то есть все города в рамках данной страны | ** '''destinationCity *''' – идентификатор города(ов) прибытия (полученный из метода ''.../TourSearchOwin/ActualizeCities?''), по умолчанию передается ''-1'', то есть все города в рамках данной страны | ||
** '''terms''' – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой) | ** '''terms''' – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой) | ||
| Строка 696: | Строка 788: | ||
** '''Key''' – идентификатор типа тура | ** '''Key''' – идентификатор типа тура | ||
** '''Name''' – название типа тура | ** '''Name''' – название типа тура | ||
| − | ** '''ParentId''' – идентификатор группы, к которой относится данный | + | ** '''ParentId''' – идентификатор группы, к которой относится данный тип тура (если тип тура не относится к группе, то возвращается ''null'') |
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
| Строка 736: | Строка 828: | ||
** '''destinationCity *''' – идентификатор города(ов) прибытия (полученный из метода ''.../TourSearchOwin/ActualizeCities?''), по умолчанию передается ''-1'', то есть все города в рамках данной страны | ** '''destinationCity *''' – идентификатор города(ов) прибытия (полученный из метода ''.../TourSearchOwin/ActualizeCities?''), по умолчанию передается ''-1'', то есть все города в рамках данной страны | ||
** '''Key *''' – идентификатор страны прибытия (полученный из метода ''.../TourSearchOwin/Destination?'') | ** '''Key *''' – идентификатор страны прибытия (полученный из метода ''.../TourSearchOwin/Destination?'') | ||
| − | ** '''Type *''' – тип результата (всегда | + | ** '''Type *''' – тип результата (внутренний параметр, не изменяемый, всегда указывать значение = 1) |
** '''tourTypes *''' – идентификатор типа тура (полученный из метода ''.../TourSearchOwin/ActualizeTourType?''), по умолчанию передается ''-1'', то есть все типы тура в рамках данной страны | ** '''tourTypes *''' – идентификатор типа тура (полученный из метода ''.../TourSearchOwin/ActualizeTourType?''), по умолчанию передается ''-1'', то есть все типы тура в рамках данной страны | ||
* Возвращаемый результат: | * Возвращаемый результат: | ||
| Строка 772: | Строка 864: | ||
** '''destinationCity *''' – идентификатор города(ов) прибытия (полученный из метода ''.../TourSearchOwin/ActualizeCities?''), по умолчанию передается ''-1'', то есть все города в рамках данной страны | ** '''destinationCity *''' – идентификатор города(ов) прибытия (полученный из метода ''.../TourSearchOwin/ActualizeCities?''), по умолчанию передается ''-1'', то есть все города в рамках данной страны | ||
** '''Key *''' – идентификатор страны прибытия (полученный из метода ''.../TourSearchOwin/Destination?'') | ** '''Key *''' – идентификатор страны прибытия (полученный из метода ''.../TourSearchOwin/Destination?'') | ||
| − | ** '''Type *''' – тип результата (всегда | + | ** '''Type *''' – тип результата (внутренний параметр, не изменяемый, всегда указывать значение = 1) |
** '''tourDate *''' – массив дат заезда (полученные из метода ''.../TourSearchOwin/TourDate?''). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром. | ** '''tourDate *''' – массив дат заезда (полученные из метода ''.../TourSearchOwin/TourDate?''). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром. | ||
** '''tourTypes *''' – идентификатор типа(ов) тура (полученный из метода ''.../TourSearchOwin/ActualizeTourType?''), по умолчанию передается ''-1'', то есть все типы тура в рамках данной страны | ** '''tourTypes *''' – идентификатор типа(ов) тура (полученный из метода ''.../TourSearchOwin/ActualizeTourType?''), по умолчанию передается ''-1'', то есть все типы тура в рамках данной страны | ||
| Строка 812: | Строка 904: | ||
** '''isFromBasket *''' – происходит ли обращение из корзины или из поиска туров (true/false) | ** '''isFromBasket *''' – происходит ли обращение из корзины или из поиска туров (true/false) | ||
** '''isFillSecondaryFilters''' – заполнены ли дополнительные фильтры (по умолчанию всегда приходит true). Служебный внутренний параметр. При работе с API не используется. | ** '''isFillSecondaryFilters''' – заполнены ли дополнительные фильтры (по умолчанию всегда приходит true). Служебный внутренний параметр. При работе с API не используется. | ||
| − | ** '''DestinationType *''' – тип результата (параметр не изменяемый, | + | ** '''DestinationType *''' – тип результата (внутренний параметр, не изменяемый, всегда указывать значение = 1) |
** '''DestinationKey *''' – идентификатор страны прибытия (полученный из метода ''.../TourSearchOwin/Destination?'') | ** '''DestinationKey *''' – идентификатор страны прибытия (полученный из метода ''.../TourSearchOwin/Destination?'') | ||
** '''AdultCount *''' – количество взрослых | ** '''AdultCount *''' – количество взрослых | ||
| Строка 824: | Строка 916: | ||
** '''Groups''' – группировка результатов (2 – по названию тура, 4 – по дате тура, 8 – по продолжительности тура, 16 – по городу вылета, 32 – по отелю, 64 – по городу отеля, 128 – по курорту отеля, 256 – по категории отеля) | ** '''Groups''' – группировка результатов (2 – по названию тура, 4 – по дате тура, 8 – по продолжительности тура, 16 – по городу вылета, 32 – по отелю, 64 – по городу отеля, 128 – по курорту отеля, 256 – по категории отеля) | ||
** '''HotelScheme''' – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля. Передаются следующие параметры: | ** '''HotelScheme''' – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля. Передаются следующие параметры: | ||
| − | *** '''TemplateId''' – идентификатор шаблона услуги, | + | *** '''TemplateId''' – идентификатор шаблона услуги (этот параметр можно взять из контроллера Tour->Result->MinCostServicesComposition->Key->TemplateId), |
| − | *** '''DurationInNight''' – продолжительность отеля в ночах, | + | *** '''DurationInNight''' – продолжительность отеля в ночах (этот параметр можно взять из контроллера Tour->Result->MinCostServicesComposition->Value->DurationInNight), |
| − | *** '''Code''' – ключ отеля, | + | *** '''Code''' – ключ отеля (этот параметр можно взять из контроллера Tour->Result->MinCostServicesComposition->Value->Code), |
| − | *** '''PacketKey''' – ключ пакета, | + | *** '''PacketKey''' – ключ пакета (этот параметр можно взять из контроллера Tour->Result->MinCostServicesComposition->Value->PacketId), |
| − | *** '''PartnerKey''' – ключ партнера | + | *** '''PartnerKey''' – ключ партнера (этот параметр можно взять из контроллера Tour->Result->MinCostServicesComposition->Value->PartnerId), |
| − | *** '''GDSProviderId''' – ключ провайдера из внешней системы | + | *** '''GDSProviderId''' – ключ провайдера из внешней системы (этот параметр можно взять из контроллера Tour->Result->MinCostServicesComposition->Value->GDSProviderId), |
| − | *** '''TotalTourDuration''' – общая продолжительность тура в днях | + | *** '''TotalTourDuration''' – общая продолжительность тура в днях (этот параметр можно взять из контроллера Tour->Result->Duration) |
** '''BusTransferPointKeys''' – данный признак проставляется в ''true'' в том случае, когда происходит запрос вариантов проживания (кнопка ''Варианты'') в автобусных переездах | ** '''BusTransferPointKeys''' – данный признак проставляется в ''true'' в том случае, когда происходит запрос вариантов проживания (кнопка ''Варианты'') в автобусных переездах | ||
** '''TourKey''' – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: ключ программы тура | ** '''TourKey''' – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: ключ программы тура | ||
| Строка 865: | Строка 957: | ||
** '''IsGroupingTourAlreadyMerge''' – определяет слияние данных турпрограмм от локальной системы с данными от внешней системы при использовании группировки. Примеры использования. ''IsGroupingTourAlreadyMerge=false'' – полученные данные от локальной системы не объединены с данными от внешней системы. На клиенте осуществляется объединение данных турпрограмм с последующей сортировкой по минимальной цене. ''IsGroupingTourAlreadyMerge=true'' – полученные данные от локальной системы уже объединены с данными от внешней системы. На клиенте осуществляется только сортировка по минимальной цене. Обрабатывается начиная с релиза 15.4. | ** '''IsGroupingTourAlreadyMerge''' – определяет слияние данных турпрограмм от локальной системы с данными от внешней системы при использовании группировки. Примеры использования. ''IsGroupingTourAlreadyMerge=false'' – полученные данные от локальной системы не объединены с данными от внешней системы. На клиенте осуществляется объединение данных турпрограмм с последующей сортировкой по минимальной цене. ''IsGroupingTourAlreadyMerge=true'' – полученные данные от локальной системы уже объединены с данными от внешней системы. На клиенте осуществляется только сортировка по минимальной цене. Обрабатывается начиная с релиза 15.4. | ||
** '''SearchId''' – уникальный идентификатор запроса поиска, передаваемый с клиентской части. Возвращается в ответе без изменений. Обрабатывается начиная с релиза 15.5. | ** '''SearchId''' – уникальный идентификатор запроса поиска, передаваемый с клиентской части. Возвращается в ответе без изменений. Обрабатывается начиная с релиза 15.5. | ||
| + | ** '''nodeId''' – уникальный идентификатор узла в кластере балансировки нагрузки [[Мастер-Тур(15):Балансировщик нагрузки HaProxy|HaProxy]] | ||
| Строка 877: | Строка 970: | ||
*** '''TourUrl''' – ссылка на программу тура | *** '''TourUrl''' – ссылка на программу тура | ||
*** '''BookingConditions''' – условия бронирования программы туров | *** '''BookingConditions''' – условия бронирования программы туров | ||
| + | *** '''DefaultManagers''' – список выбранных менеджеров в туре | ||
| + | *** '''Manager''' – ключ менеджера по умолчанию в туре | ||
| + | *** '''Branches''' – список ключей филиалов бронирования | ||
| + | *** '''DetermineTheBranchOnCity''' – признак, определять филиал в зависимости от города начала поездки | ||
| + | *** '''IndividualFlightSelection''' – признак, включены ли индивидуальные настройки подбора перелетов | ||
| + | *** '''RestrictionDateArrival''' – признак, ограничение даты прилета по базовому рейсу в индивидуальных настройках подбора перелетов | ||
| + | *** '''PriceUpdateForView''' – признак обновления цен в индивидуальных настройках подбора перелетов (true – включен, false – выключен) | ||
| + | *** '''SelectFlightAutomatically''' – признак выбирать рейс автоматически, если не выбран пользователем в индивидуальных настройках подбора перелетов | ||
| + | *** '''BaggageSearchOtherFares''' – признак поиска багажа в других тарифах в индивидуальных настройках подбора перелетов | ||
| + | *** '''Luggage''' – значение багажа в блоке настроек, влияющих на формирование запроса в индивидуальных настройках подбора перелетов (all – все, withLuggage – багаж и ручная кладь, withoutLuggage – без багажа) | ||
| + | *** '''LuggageForView''' – значение багажа в блоке настроек, влияющих на отображение информации в индивидуальных настройках подбора перелетов (all – все, withLuggage – багаж и ручная кладь, withoutLuggage – без багажа) | ||
| + | *** '''LuggageForPrice''' – значение багажа в блоке фильтров для обновления цен в индивидуальных настройках подбора перелетов (all – все, withLuggage – багаж и ручная кладь, withoutLuggage – без багажа) | ||
| + | *** '''FlightClass''' – класс перелета в индивидуальных настройках подбора перелетов (economy – Эконом, premiumEconomy 2 Премиум-эконом, business – Бизнес, first – Первый) | ||
| + | *** '''Directs''' – значение пересадок в блоке настроек, влияющих на формирование запроса в индивидуальных настройках подбора перелетов (all – все, onlyDirectFlights – только прямые рейсы) | ||
| + | *** '''DirectsForView''' – значение пересадок в блоке влияющих на отображение информации в индивидуальных настройках подбора перелетов (all – все, без пересадок – withoutDirect, с 1 пересадкой – oneDirect, с 2 пересадками и более – twoOrMoreDirect) | ||
| + | *** '''DirectsForPrice''' – значение пересадок в блоке фильтров для обновления цен в индивидуальных настройках подбора перелетов (all – все, без пересадок – withoutDirect, с 1 пересадкой – oneDirect, с 2 пересадками и более – twoOrMoreDirect) | ||
| + | *** '''DepartureTimeLimit''' – ограничение времени вылета: «Вылет не позже» в формате hh:mm | ||
| + | *** '''SortingForView''' – сортировка в индивидуальных настройках подбора перелетов (cheap – сначала дешевые, fast – сначала быстрые, optimal – оптимальные) | ||
*** '''StartDate''' – дата начала тура | *** '''StartDate''' – дата начала тура | ||
| + | *** '''MaxConnectionTime''' – длительность пересадок в индивидуальных настройках подбора перелетов в формате hh:mm | ||
| + | *** '''FullPaymentPeriod''' – полная оплата с даты бронирования (может быть null) | ||
| + | *** '''FullPaymentCheckin''' – полная оплата до даты заезда (может быть null) | ||
| + | *** '''PrePaymentPeriod''' – предоплата с даты бронирования (может быть null) | ||
| + | *** '''PrePaymentCheckin''' – предоплата до даты заезда (может быть null) | ||
| + | *** '''PrePaymentCu"''' – значение предоплаты в y.e. (может быть null) | ||
| + | *** '''PrePaymentPercent''' – значение предоплаты в процентах (может быть null) | ||
*** '''Duration''' – продолжительность тура (в днях) | *** '''Duration''' – продолжительность тура (в днях) | ||
*** '''DurationInNight''' – продолжительность проживания (в ночах) | *** '''DurationInNight''' – продолжительность проживания (в ночах) | ||
*** '''Types''' – идентификатор типа туров | *** '''Types''' – идентификатор типа туров | ||
| − | *** '''Cost''' – цена тура | + | *** '''Price''' – цена тура с учетом скидки в валюте поиска |
| + | *** '''Cost''' – цена тура в валюте поиска | ||
*** '''Rate''' – код валюты тура | *** '''Rate''' – код валюты тура | ||
| + | *** '''Penalties''' – внутреннее поле, не используется | ||
*** '''CityDepature''' – город отправления | *** '''CityDepature''' – город отправления | ||
**** '''Key''' – идентификатор города отправления | **** '''Key''' – идентификатор города отправления | ||
| Строка 956: | Строка 1076: | ||
***** '''Key''' – ключ города | ***** '''Key''' – ключ города | ||
***** '''Value''' – название города | ***** '''Value''' – название города | ||
| − | **** '''Country''' – ключ страны | + | **** '''Country''' – объект страна |
| + | ***** '''Key''' – ключ страны | ||
| + | ***** '''Value''' – название страны | ||
**** '''Code''' – объект код услуги | **** '''Code''' – объект код услуги | ||
***** '''Key''' – ключ услуги | ***** '''Key''' – ключ услуги | ||
| Строка 1062: | Строка 1184: | ||
***** '''enabled''' – флаг включен/выключен | ***** '''enabled''' – флаг включен/выключен | ||
*** '''RouteSubVariants''' – подварианты услуг (используется в основном поиске) | *** '''RouteSubVariants''' – подварианты услуг (используется в основном поиске) | ||
| + | *** '''Routes''' – количество маршрутов для данного варианта поиска (к примеру, если будет несколько вариантов | ||
| + | *** '''IsRemoteHotels''' – признак, есть ли внешние отели в данном варианте | ||
| + | *** '''IsTourImages''' – признак, есть ли картинки тура | ||
| + | *** '''MaskKeys''' – маска фильтра категории номеров | ||
** '''SecondaryFiltersResult''' – результаты доп. фильтров | ** '''SecondaryFiltersResult''' – результаты доп. фильтров | ||
*** '''TourTypes''' – типы тура | *** '''TourTypes''' – типы тура | ||
| Строка 1139: | Строка 1265: | ||
**** '''HotelTypes''' – признаки отелей в дополнительных фильтрах | **** '''HotelTypes''' – признаки отелей в дополнительных фильтрах | ||
***** '''''' – | ***** '''''' – | ||
| + | ** '''nodeId''' – уникальный идентификатор узла в кластере балансировки нагрузки [[Мастер-Тур(15):Балансировщик нагрузки HaProxy|HaProxy]] | ||
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
| Строка 1166: | Строка 1293: | ||
"TourUrl": "www.megatec.ru", | "TourUrl": "www.megatec.ru", | ||
"BookingConditions": "<p>Условия бронирования тура.<\/p>", | "BookingConditions": "<p>Условия бронирования тура.<\/p>", | ||
| + | "DefaultManagers": [], | ||
| + | "Manager": 169, | ||
| + | "Branches": [], | ||
| + | "DetermineTheBranchOnCity": false, | ||
| + | "IndividualFlightSelection": true, | ||
| + | "RestrictionDateArrival": false, | ||
| + | "PriceUpdateForView": false, | ||
| + | "SelectFlightAutomatically": false, | ||
| + | "BaggageSearchOtherFares": false, | ||
| + | "Luggage": "withoutLuggage", | ||
| + | "LuggageForView": "all", | ||
| + | "LuggageForPrice": "all", | ||
| + | "FlightClass": "economy", | ||
| + | "Directs": "all", | ||
| + | "DirectsForView": "all", | ||
| + | "DirectsForPrice": "all", | ||
| + | "DepartureTimeLimit": "", | ||
| + | "SortingForView": "cheap", | ||
"StartDate": "2018-02-25T00:00:00", | "StartDate": "2018-02-25T00:00:00", | ||
| + | "MaxConnectionTime": 0 | ||
| + | "FullPaymentPeriod": 5, | ||
| + | "FullPaymentCheckin": null, | ||
| + | "PrePaymentPeriod": null, | ||
| + | "PrePaymentCheckin": 5, | ||
| + | "PrePaymentCu": null, | ||
| + | "PrePaymentPercent": 10.0, | ||
"Duration": 4, | "Duration": 4, | ||
"DurationInNight": 3, | "DurationInNight": 3, | ||
"Types": [2], | "Types": [2], | ||
| + | "Price": 260, | ||
"Cost": 260, | "Cost": 260, | ||
| + | "Penalties": null, | ||
"Rate": "EU", | "Rate": "EU", | ||
"CityDepature": { | "CityDepature": { | ||
| Строка 1301: | Строка 1455: | ||
"Value": "Завтрак" | "Value": "Завтрак" | ||
}, | }, | ||
| + | "AbsolutePenalties": null, | ||
"Cost": 19.47, | "Cost": 19.47, | ||
"QuotaStatus": { | "QuotaStatus": { | ||
| Строка 1417: | Строка 1572: | ||
"ServiceName": "страховка", | "ServiceName": "страховка", | ||
"City": null, | "City": null, | ||
| − | "Country": | + | "Country": { |
| + | "Key": 90, | ||
| + | "Value": "Австрия" | ||
| + | }, | ||
"Code": { | "Code": { | ||
"Key": 297, | "Key": 297, | ||
| Строка 1470: | Строка 1628: | ||
"Value": "Санто-Доминго" | "Value": "Санто-Доминго" | ||
}, | }, | ||
| − | "Country": | + | "Country": { |
| + | "Key": 90, | ||
| + | "Value": "Австрия" | ||
| + | }, | ||
"Code": { | "Code": { | ||
"Key": 743, | "Key": 743, | ||
| Строка 1605: | Строка 1766: | ||
} | } | ||
}, | }, | ||
| − | "RouteSubVariants": [] | + | "RouteSubVariants": [], |
| + | "Routes": 1, | ||
| + | "IsRemoteHotels": false, | ||
| + | "IsTourImages": false, | ||
| + | "MaskKeys": null | ||
} | } | ||
], | ], | ||
| Строка 2122: | Строка 2287: | ||
</TD></TR></TABLE> | </TD></TR></TABLE> | ||
</div></div><br /> | </div></div><br /> | ||
| + | |||
| + | * Детализация параметра serviceDescriptions из url: | ||
| + | ** '''TemplateId''' – идентификатор шаблона услуги (этот параметр можно взять из контроллера Tour->Result->RouteSubVariants->CostServicesComposition->Key->TemplateId) | ||
| + | ** '''PatternId''' – идентификатор паттерна услуги (этот параметр можно взять из контроллера Tour->Result->RouteSubVariants->CostServicesComposition->Key->PatternId) | ||
| + | ** '''SettingId''' – идентификатор услуги (этот параметр можно взять из контроллера Tour->Result->RouteSubVariants->CostServicesComposition->Key->SettingId) | ||
| + | ** '''ServiceType''' – тип услуги (этот параметр можно взять из контроллера Tour->Result->RouteSubVariants->CostServicesComposition->Value->ServiceType) | ||
| + | ** '''Code''' – код услуги (этот параметр можно взять из контроллера Tour->Result->RouteSubVariants->CostServicesComposition->Value->Code) | ||
| + | ** '''SubCode1''' – доп. описание 1 услуги (этот параметр можно взять из контроллера Tour->Result->RouteSubVariants->CostServicesComposition->Value->SubCode1) | ||
| + | ** '''SubCode2''' – доп. описание 2 услуги (этот параметр можно взять из контроллера Tour->Result->RouteSubVariants->CostServicesComposition->Value->SubCode2) | ||
| + | ** '''CountryId''' – ключ страны (этот параметр можно взять из контроллера Tour->Result->RouteSubVariants->CostServicesComposition->Value->CountryId) | ||
| + | ** '''CityId''' – ключ города (этот параметр можно взять из контроллера Tour->Result->RouteSubVariants->CostServicesComposition->Value->CityId) | ||
| + | ** '''PacketId''' – ключ пакета (этот параметр можно взять из контроллера Tour->Result->RouteSubVariants->CostServicesComposition->Value->PacketId) | ||
| + | ** '''PartnerId''' – ключ партнера (этот параметр можно взять из контроллера Tour->Result->RouteSubVariants->CostServicesComposition->Value->PartnerId) | ||
| + | ** '''Day''' – день предоставления (этот параметр можно взять из контроллера Tour->Result->RouteSubVariants->CostServicesComposition->Value->Day) | ||
| + | ** '''DurationInNight''' – продолжительность в ночах (этот параметр можно взять из контроллера Tour->Result->RouteSubVariants->CostServicesComposition->Value->DurationInNight) | ||
| + | |||
| + | Пример: serviceDescriptions=1_0_0_3_107274_1400134_1526_460_1_1830_14752_1_8 | ||
===Выгрузка транспортного плана (TransportPlan) до релиза 15.7 включительно=== | ===Выгрузка транспортного плана (TransportPlan) до релиза 15.7 включительно=== | ||
| Строка 2559: | Строка 2741: | ||
* Принимаемые параметры ( '''*''' – обязательный): | * Принимаемые параметры ( '''*''' – обязательный): | ||
** '''DepartureCityKeys *''' – идентификатор города отправления (полученный из метода ''.../TourSearchOwin/departureCities?'') | ** '''DepartureCityKeys *''' – идентификатор города отправления (полученный из метода ''.../TourSearchOwin/departureCities?'') | ||
| − | ** '''DestinationType *''' – тип результата (параметр не изменяемый, | + | ** '''DestinationType *''' – тип результата (внутренний параметр, не изменяемый, всегда указывать значение = 1) |
** '''DestinationKey *''' – идентификатор страны прибытия (полученный из метода ''.../TourSearchOwin/Destination?'') | ** '''DestinationKey *''' – идентификатор страны прибытия (полученный из метода ''.../TourSearchOwin/Destination?'') | ||
** '''Dates *''' – массив дат заезда (полученные из метода ''.../TourSearchOwin/TourDate?''). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром. | ** '''Dates *''' – массив дат заезда (полученные из метода ''.../TourSearchOwin/TourDate?''). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром. | ||
| Строка 2569: | Строка 2751: | ||
** '''AviaQuota *''' – информация о квотах на авиаперелет (значения параметров: ''"1"'' — фильтр "Есть", ''"5"'' — фильтр "Есть+запрос", ''"7"'' — фильтр "Все") | ** '''AviaQuota *''' – информация о квотах на авиаперелет (значения параметров: ''"1"'' — фильтр "Есть", ''"5"'' — фильтр "Есть+запрос", ''"7"'' — фильтр "Все") | ||
** '''BusTransferQuota''' – информация о квотах на автобусный переезд (значения параметров: ''"1"'' — фильтр "Есть", ''"5"'' — фильтр "Есть+запрос", ''"7"'' — фильтр "Все") | ** '''BusTransferQuota''' – информация о квотах на автобусный переезд (значения параметров: ''"1"'' — фильтр "Есть", ''"5"'' — фильтр "Есть+запрос", ''"7"'' — фильтр "Все") | ||
| − | ** '''HotelScheme *''' – объект схемы отеля | + | ** '''HotelScheme *''' – объект схемы отеля (при работе с авиабукингом передается конструкция такого вида ''HotelScheme=[{"TemplateId":"}]'') |
*** '''TemplateId''' – идентификатор шаблона услуги | *** '''TemplateId''' – идентификатор шаблона услуги | ||
*** '''DurationInNight''' – продолжительность отеля в ночах | *** '''DurationInNight''' – продолжительность отеля в ночах | ||
| Строка 2581: | Строка 2763: | ||
** '''isFromBasket *''' – происходит ли обращение из корзины или из поиска туров (true/false). | ** '''isFromBasket *''' – происходит ли обращение из корзины или из поиска туров (true/false). | ||
** '''isFillSecondaryFilters''' – заполнены ли дополнительные фильтры (по умолчанию всегда приходит true). Служебный внутренний параметр. При работе с API не используется. | ** '''isFillSecondaryFilters''' – заполнены ли дополнительные фильтры (по умолчанию всегда приходит true). Служебный внутренний параметр. При работе с API не используется. | ||
| − | ** '''TourKey''' – | + | ** '''TourKey''' – ключ программы тура |
| − | ** '''TourDuration''' – | + | ** '''TourDuration''' – продолжительность тура в днях |
** '''RemoteHotelMode''' – признак того, производится поиск только локальных отелей или и от внешних поставщиков тоже (только локальные отели – 0, только внешние отели – 2, локальные и внешние отели – 1). Если признак отсутствует – поиск будет только по локальным отелям. Обрабатывается начиная с релиза 15.4. | ** '''RemoteHotelMode''' – признак того, производится поиск только локальных отелей или и от внешних поставщиков тоже (только локальные отели – 0, только внешние отели – 2, локальные и внешние отели – 1). Если признак отсутствует – поиск будет только по локальным отелям. Обрабатывается начиная с релиза 15.4. | ||
| + | ** '''nodeId''' – уникальный идентификатор узла в кластере балансировки нагрузки [[Мастер-Тур(15):Балансировщик нагрузки HaProxy|HaProxy]] | ||
* Возвращаемый результат: | * Возвращаемый результат: | ||
| Строка 2595: | Строка 2778: | ||
*** '''TourUrl''' – ссылка на программу тура | *** '''TourUrl''' – ссылка на программу тура | ||
*** '''BookingConditions''' – условия бронирования программы туров | *** '''BookingConditions''' – условия бронирования программы туров | ||
| + | *** '''DefaultManagers''' – список выбранных менеджеров в туре | ||
| + | *** '''Manager''' – ключ менеджера по умолчанию в туре | ||
| + | *** '''Branches''' – список ключей филиалов бронирования | ||
| + | *** '''DetermineTheBranchOnCity''' – признак, определять филиал в зависимости от города начала поездки | ||
| + | *** '''IndividualFlightSelection''' – признак, включены ли индивидуальные настройки подбора перелетов | ||
| + | *** '''RestrictionDateArrival''' – признак, ограничение даты прилета по базовому рейсу в индивидуальных настройках подбора перелетов | ||
| + | *** '''PriceUpdateForView''' – признак обновления цен в индивидуальных настройках подбора перелетов (true – включен, false – выключен) | ||
| + | *** '''SelectFlightAutomatically''' – признак выбирать рейс автоматически, если не выбран пользователем в индивидуальных настройках подбора перелетов | ||
| + | *** '''BaggageSearchOtherFares''' – признак поиска багажа в других тарифах в индивидуальных настройках подбора перелетов | ||
| + | *** '''Luggage''' – значение багажа в блоке настроек, влияющих на формирование запроса в индивидуальных настройках подбора перелетов (all – все, withLuggage – багаж и ручная кладь, withoutLuggage – без багажа) | ||
| + | *** '''LuggageForView''' – значение багажа в блоке настроек, влияющих на отображение информации в индивидуальных настройках подбора перелетов (all – все, withLuggage – багаж и ручная кладь, withoutLuggage – без багажа) | ||
| + | *** '''LuggageForPrice''' – значение багажа в блоке фильтров для обновления цен в индивидуальных настройках подбора перелетов (all – все, withLuggage – багаж и ручная кладь, withoutLuggage – без багажа) | ||
| + | *** '''FlightClass''' – класс перелета в индивидуальных настройках подбора перелетов (economy – Эконом, premiumEconomy 2 Премиум-эконом, business – Бизнес, first – Первый) | ||
| + | *** '''Directs''' – значение пересадок в блоке настроек, влияющих на формирование запроса в индивидуальных настройках подбора перелетов (all – все, onlyDirectFlights – только прямые рейсы) | ||
| + | *** '''DirectsForView''' – значение пересадок в блоке влияющих на отображение информации в индивидуальных настройках подбора перелетов (all – все, без пересадок – withoutDirect, с 1 пересадкой – oneDirect, с 2 пересадками и более – twoOrMoreDirect) | ||
| + | *** '''DirectsForPrice''' – значение пересадок в блоке фильтров для обновления цен в индивидуальных настройках подбора перелетов (all – все, без пересадок – withoutDirect, с 1 пересадкой – oneDirect, с 2 пересадками и более – twoOrMoreDirect) | ||
| + | *** '''DepartureTimeLimit''' – ограничение времени вылета: «Вылет не позже» в формате hh:mm | ||
| + | *** '''SortingForView''' – сортировка в индивидуальных настройках подбора перелетов (cheap – сначала дешевые, fast – сначала быстрые, optimal – оптимальные) | ||
| + | *** '''StartDate''' – дата начала тура | ||
| + | *** '''MaxConnectionTime''' – длительность пересадок в индивидуальных настройках подбора перелетов в формате hh:mm | ||
| + | *** '''FullPaymentPeriod''' – полная оплата с даты бронирования (может быть null) | ||
| + | *** '''FullPaymentCheckin''' – полная оплата до даты заезда (может быть null) | ||
| + | *** '''PrePaymentPeriod''' – предоплата с даты бронирования (может быть null) | ||
| + | *** '''PrePaymentCheckin''' – предоплата до даты заезда (может быть null) | ||
| + | *** '''PrePaymentCu"''' – значение предоплаты в y.e. (может быть null) | ||
| + | *** '''PrePaymentPercent''' – значение предоплаты в процентах (может быть null) | ||
| + | *** '''Duration''' – продолжительность тура (в днях) | ||
| + | *** '''DurationInNight''' – продолжительность проживания (в ночах) | ||
| + | *** '''Types''' – идентификатор типа туров | ||
| + | *** '''Price''' – цена тура с учетом скидки в валюте поиска | ||
| + | *** '''Cost''' – цена тура в валюте поиска | ||
| + | *** '''Rate''' – код валюты тура | ||
| + | *** '''Penalties''' – внутреннее поле, не используется | ||
*** '''StartDate''' – дата начала тура | *** '''StartDate''' – дата начала тура | ||
*** '''Duration''' – продолжительность тура (в днях) | *** '''Duration''' – продолжительность тура (в днях) | ||
| Строка 2674: | Строка 2890: | ||
***** '''Key''' – ключ города | ***** '''Key''' – ключ города | ||
***** '''Value''' – название города | ***** '''Value''' – название города | ||
| − | **** '''Country''' – ключ страны | + | **** '''Country''' – объект страна |
| + | ***** '''Key''' – ключ страны | ||
| + | ***** '''Value''' – название страны | ||
**** '''Code''' – объект код услуги | **** '''Code''' – объект код услуги | ||
***** '''Key''' – ключ услуги | ***** '''Key''' – ключ услуги | ||
| Строка 2781: | Строка 2999: | ||
*** '''RouteSubVariants''' – подварианты услуг (используется в основном поиске) | *** '''RouteSubVariants''' – подварианты услуг (используется в основном поиске) | ||
** '''SecondaryFiltersResult''' – доп. фильтры (не используется при вызове из корзины) | ** '''SecondaryFiltersResult''' – доп. фильтры (не используется при вызове из корзины) | ||
| + | ** '''nodeId''' – уникальный идентификатор узла в кластере балансировки нагрузки [[Мастер-Тур(15):Балансировщик нагрузки HaProxy|HaProxy]] | ||
| Строка 2808: | Строка 3027: | ||
"TourUrl": "www.megatec.ru", | "TourUrl": "www.megatec.ru", | ||
"BookingConditions": "Условия бронирования тура", | "BookingConditions": "Условия бронирования тура", | ||
| − | "StartDate": "2018- | + | "DefaultManagers": [], |
| − | "Duration": | + | "Manager": 169, |
| − | "DurationInNight": | + | "Branches": [], |
| + | "DetermineTheBranchOnCity": false, | ||
| + | "IndividualFlightSelection": true, | ||
| + | "RestrictionDateArrival": false, | ||
| + | "PriceUpdateForView": false, | ||
| + | "SelectFlightAutomatically": false, | ||
| + | "BaggageSearchOtherFares": false, | ||
| + | "Luggage": "withoutLuggage", | ||
| + | "LuggageForView": "all", | ||
| + | "LuggageForPrice": "all", | ||
| + | "FlightClass": "economy", | ||
| + | "Directs": "all", | ||
| + | "DirectsForView": "all", | ||
| + | "DirectsForPrice": "all", | ||
| + | "DepartureTimeLimit": "", | ||
| + | "SortingForView": "cheap", | ||
| + | "StartDate": "2018-02-25T00:00:00", | ||
| + | "MaxConnectionTime": 0 | ||
| + | "FullPaymentPeriod": 5, | ||
| + | "FullPaymentCheckin": null, | ||
| + | "PrePaymentPeriod": null, | ||
| + | "PrePaymentCheckin": 5, | ||
| + | "PrePaymentCu": null, | ||
| + | "PrePaymentPercent": 10.0, | ||
| + | "Duration": 4, | ||
| + | "DurationInNight": 3, | ||
"Types": [2], | "Types": [2], | ||
| − | "Cost": | + | "Price": 260, |
| + | "Cost": 260, | ||
| + | "Penalties": null, | ||
"Rate": "EU", | "Rate": "EU", | ||
"CityDepature": { | "CityDepature": { | ||
| Строка 3244: | Строка 3490: | ||
* Принимаемые параметры ( '''*''' – обязательный): | * Принимаемые параметры ( '''*''' – обязательный): | ||
** '''countryId *''' – ключ страны, для которой будут выгружаться настройки | ** '''countryId *''' – ключ страны, для которой будут выгружаться настройки | ||
| + | ** '''nodeId''' – уникальный идентификатор узла в кластере балансировки нагрузки [[Мастер-Тур(15):Балансировщик нагрузки HaProxy|HaProxy]] | ||
| + | |||
* Возвращаемый результат: | * Возвращаемый результат: | ||
** '''TouristFieldsSettings''' – массив полей с информацией о туристах (из админки Мастер-Web) | ** '''TouristFieldsSettings''' – массив полей с информацией о туристах (из админки Мастер-Web) | ||
| Строка 3283: | Строка 3531: | ||
** '''ChildAgeSetting''' – максимальный возраст ребенка, когда он считается ребенком (лет) | ** '''ChildAgeSetting''' – максимальный возраст ребенка, когда он считается ребенком (лет) | ||
** '''InfantAgeSetting''' – максимальный возраст младенца (месяцев) | ** '''InfantAgeSetting''' – максимальный возраст младенца (месяцев) | ||
| + | ** '''nodeId''' – уникальный идентификатор узла в кластере балансировки нагрузки [[Мастер-Тур(15):Балансировщик нагрузки HaProxy|HaProxy]] | ||
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
| Строка 3574: | Строка 3823: | ||
Метод производит выгрузку услуг доплат к авиаперелетам. | Метод производит выгрузку услуг доплат к авиаперелетам. | ||
* Формат запроса: | * Формат запроса: | ||
| − | ** POST .../TourSearchOwin/GetFlightsAdditionalServices? | + | ** POST .../TourSearchOwin/GetFlightsAdditionalServices?nodeId=2147483647 |
| + | , где ''nodeId'' – уникальный идентификатор узла в кластере балансировки нагрузки [[Мастер-Тур(15):Балансировщик нагрузки HaProxy|HaProxy]] | ||
* Принимаемые параметры headers ( '''*''' – обязательный): | * Принимаемые параметры headers ( '''*''' – обязательный): | ||
| Строка 3607: | Строка 3857: | ||
**** '''ByPax''' – цена за человека | **** '''ByPax''' – цена за человека | ||
**** '''QuotaStatus''' – объект статус квотирования | **** '''QuotaStatus''' – объект статус квотирования | ||
| − | ***** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос) | + | ***** '''PlacesStatus''' – статус по квотам (есть места-1 / нет мест-2 / под запрос-4) |
***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ||
***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ||
| Строка 3650: | Строка 3900: | ||
*** '''ServiceName''' – название услуги | *** '''ServiceName''' – название услуги | ||
*** '''City''' – объект город | *** '''City''' – объект город | ||
| − | *** '''Country''' – ключ страны | + | *** '''Country''' – объект страна |
| + | **** '''Key''' – ключ страны | ||
| + | **** '''Value''' – название страны | ||
*** '''Code''' – объект код услуги | *** '''Code''' – объект код услуги | ||
**** '''Key''' – ключ услуги | **** '''Key''' – ключ услуги | ||
| Строка 3666: | Строка 3918: | ||
**** '''Cost''' – цена | **** '''Cost''' – цена | ||
**** '''QuotaStatus''' – объект статус квотирования | **** '''QuotaStatus''' – объект статус квотирования | ||
| − | ***** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос) | + | ***** '''PlacesStatus''' – статус по квотам (есть места-1 / нет мест-2 / под запрос-4) |
***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ||
***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ||
| Строка 3699: | Строка 3951: | ||
Вызов метода GetHotelsAdditionalServices | Вызов метода GetHotelsAdditionalServices | ||
<syntaxhighlight lang="java" enclose="div"> | <syntaxhighlight lang="java" enclose="div"> | ||
| − | POST http://localhost:9000/TourSearchOwin/ | + | POST http://localhost:9000/TourSearchOwin/GetFlightsAdditionalServices?nodeId=2147483647 HTTP/1.1 |
Content-Type: application/json | Content-Type: application/json | ||
{ | { | ||
| Строка 3840: | Строка 4092: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Возвращаемый результат метода | + | Возвращаемый результат метода GetFlightsAdditionalServices (в формате JSON) |
<syntaxhighlight lang="java" enclose="div"> | <syntaxhighlight lang="java" enclose="div"> | ||
[{ | [{ | ||
"ServiceName": "Доплаты к авиаперелетам", | "ServiceName": "Доплаты к авиаперелетам", | ||
"City": null, | "City": null, | ||
| − | + | "Country": { | |
| + | "Key": 90, | ||
| + | "Value": "Австрия" | ||
| + | }, | ||
"Code": { | "Code": { | ||
"Key": 357, | "Key": 357, | ||
| Строка 3902: | Строка 4157: | ||
Метод производит выгрузку услуг доплат к отелям. | Метод производит выгрузку услуг доплат к отелям. | ||
* Формат запроса: | * Формат запроса: | ||
| − | ** POST .../TourSearchOwin/GetHotelsAdditionalServices? | + | ** POST .../TourSearchOwin/GetHotelsAdditionalServices?nodeId=2147483647 |
| + | , где ''nodeId'' – уникальный идентификатор узла в кластере балансировки нагрузки [[Мастер-Тур(15):Балансировщик нагрузки HaProxy|HaProxy]] | ||
* Принимаемые параметры headers ( '''*''' – обязательный): | * Принимаемые параметры headers ( '''*''' – обязательный): | ||
| Строка 3935: | Строка 4191: | ||
**** '''ByPax''' – цена за человека | **** '''ByPax''' – цена за человека | ||
**** '''QuotaStatus''' – объект статус квотирования | **** '''QuotaStatus''' – объект статус квотирования | ||
| − | ***** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос) | + | ***** '''PlacesStatus''' – статус по квотам (есть места-1 / нет мест-2 / под запрос-4) |
***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ||
***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ||
| Строка 4017: | Строка 4273: | ||
**** '''Cost''' – цена | **** '''Cost''' – цена | ||
**** '''QuotaStatus''' – объект статус квотирования | **** '''QuotaStatus''' – объект статус квотирования | ||
| − | ***** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос) | + | ***** '''PlacesStatus''' – статус по квотам (есть места-1 / нет мест-2 / под запрос-4) |
***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | ||
***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ||
| Строка 4050: | Строка 4306: | ||
Вызов метода GetHotelsAdditionalServices | Вызов метода GetHotelsAdditionalServices | ||
<syntaxhighlight lang="java" enclose="div"> | <syntaxhighlight lang="java" enclose="div"> | ||
| − | POST http://localhost:9000/TourSearchOwin/GetHotelsAdditionalServices? HTTP/1.1 | + | POST http://localhost:9000/TourSearchOwin/GetHotelsAdditionalServices?nodeId=2147483647 HTTP/1.1 |
Content-Type: application/json | Content-Type: application/json | ||
| Строка 4186: | Строка 4442: | ||
"ServiceName": "Доплаты к отелям", | "ServiceName": "Доплаты к отелям", | ||
"City": null, | "City": null, | ||
| − | + | "Country": { | |
| + | "Key": 90, | ||
| + | "Value": "Австрия" | ||
| + | }, | ||
"Code": { | "Code": { | ||
"Key": 364, | "Key": 364, | ||
| Строка 4244: | Строка 4503: | ||
Метод производит расчет услуг с индивидуальным выбором у туристов. | Метод производит расчет услуг с индивидуальным выбором у туристов. | ||
* Формат запроса: | * Формат запроса: | ||
| − | ** POST .../TourSearchOwin/CalculateIndividualServiceCosts? | + | ** POST .../TourSearchOwin/CalculateIndividualServiceCosts?nodeId=2147483647 |
| + | , где ''nodeId'' – уникальный идентификатор узла в кластере балансировки нагрузки [[Мастер-Тур(15):Балансировщик нагрузки HaProxy|HaProxy]] | ||
* Принимаемые параметры headers ( '''*''' – обязательный): | * Принимаемые параметры headers ( '''*''' – обязательный): | ||
| Строка 4306: | Строка 4566: | ||
**** '''Brutto''' – брутто | **** '''Brutto''' – брутто | ||
**** '''Discount''' – скидка | **** '''Discount''' – скидка | ||
| + | ** '''nodeId''' – уникальный идентификатор узла в кластере балансировки нагрузки [[Мастер-Тур(15):Балансировщик нагрузки HaProxy|HaProxy]] | ||
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
| Строка 4312: | Строка 4573: | ||
Вызов метода CalculateIndividualServiceCosts | Вызов метода CalculateIndividualServiceCosts | ||
<syntaxhighlight lang="java" enclose="div"> | <syntaxhighlight lang="java" enclose="div"> | ||
| − | POST http://localhost:9000/TourSearchOwin/CalculateIndividualServiceCosts? HTTP/1.1 | + | POST http://localhost:9000/TourSearchOwin/CalculateIndividualServiceCosts?nodeId=2147483647 HTTP/1.1 |
Content-Type: application/json | Content-Type: application/json | ||
| Строка 5357: | Строка 5618: | ||
***** '''Cost''' – разница в стоимости с самым дешевым вариантом | ***** '''Cost''' – разница в стоимости с самым дешевым вариантом | ||
***** '''QuotaStatus''' – информация о квоте | ***** '''QuotaStatus''' – информация о квоте | ||
| − | ****** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос) | + | ****** '''PlacesStatus''' – статус по квотам (есть места-1 / нет мест-2 / под запрос-4) |
****** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus. | ****** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus. | ||
****** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ****** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | ||
| Строка 6265: | Строка 6526: | ||
Метод производит расчет стоимости путевки. | Метод производит расчет стоимости путевки. | ||
* Формат запроса: | * Формат запроса: | ||
| − | ** POST .../TourSearchOwin/CalculateReservation? | + | ** POST .../TourSearchOwin/CalculateReservation?nodeId=2147483647 |
| + | , где ''nodeId'' – уникальный идентификатор узла в кластере балансировки нагрузки [[Мастер-Тур(15):Балансировщик нагрузки HaProxy|HaProxy]] | ||
* Принимаемые параметры headers ( '''*''' – обязательный): | * Принимаемые параметры headers ( '''*''' – обязательный): | ||
| Строка 6271: | Строка 6533: | ||
* Принимаемые параметры 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''' – битовая маска атрибутов услуг (Значение по умолчанию 0. Дальше в зависимости от признака услуги, может принимать значениz: | + | **** '''Attributes *''' – битовая маска атрибутов услуг (Значение по умолчанию 0. Дальше в зависимости от признака услуги, может принимать значениz: |
None = 0,если услуга удаляемая, эта настройка находится в программе туров,</br> | None = 0,если услуга удаляемая, эта настройка находится в программе туров,</br> | ||
Delete = 1,</br> | Delete = 1,</br> | ||
| Строка 6317: | Строка 6579: | ||
SubCode2Edit = 65536,</br> | SubCode2Edit = 65536,</br> | ||
GDSService = 131072, от внешней системы)</br> | GDSService = 131072, от внешней системы)</br> | ||
| − | **** '''IsRemovable''' – (не обрабатывается) | + | **** ''' *IsRemovable''' – (не обрабатывается) |
| − | **** '''Type''' – тип услуги в путевке. Может принимать значения: | + | **** ''' *Type''' – тип услуги в путевке. Может принимать значения: |
| − | None – не установлено,</br> | + | None (0) – не установлено,</br> |
| − | Base – базовая услуга. Основные услуги в корзине, проживание, перелет.</br> | + | Base (1) – базовая услуга. Основные услуги в корзине, проживание, перелет.</br> |
| − | Optional – Дополнительная услуга,</br> | + | Optional (2) – Дополнительная услуга,</br> |
| − | NYDinner – Новогодний ужин,</br> | + | NYDinner (4) – Новогодний ужин,</br> |
| − | FlightAdditionalPayment – Доплата на перелет,</br> | + | FlightAdditionalPayment (8) – Доплата на перелет,</br> |
| − | TourWebDifference – Разница в СПО,</br> | + | TourWebDifference (16) – Разница в СПО,</br> |
| − | AddedByCalculator – Добавленная при рассчете путевки,</br> | + | AddedByCalculator (32) – Добавленная при рассчете путевки,</br> |
| − | AddedByReservationBuilder – добавленная услуга при формировании состава путевки,</br> | + | AddedByReservationBuilder (64) – добавленная услуга при формировании состава путевки,</br> |
| − | BaseChanged – базовая измененная услуга,</br> | + | BaseChanged (128) – базовая измененная услуга,</br> |
| − | HotelAdditionalPayment – доплата на отель</br> | + | HotelAdditionalPayment (256) – доплата на отель</br> |
| − | **** '''IsHooded''' – признак скрытая услуга | + | **** '''IsHooded *''' – признак скрытая услуга |
| − | **** '''IsNotCalculated''' – признак не рассчитываемая услуга | + | **** '''IsNotCalculated *''' – признак не рассчитываемая услуга |
| − | **** '''BeginDateTimeString''' – дата и время начала услуги | + | **** '''BeginDateTimeString *''' – дата и время начала услуги |
| − | **** '''EndDateTimeString''' – дата и время окончания услуги | + | **** '''EndDateTimeString *''' – дата и время окончания услуги |
| − | **** '''TemplateId''' – | + | **** '''TemplateId *''' – порядок расположения шаблона услуги в внутри самой услуги в программе тура |
[[Файл: Ea_491.png|600px|индекс шаблона услуги]]</br> | [[Файл: Ea_491.png|600px|индекс шаблона услуги]]</br> | ||
| − | **** '''Cost''' – цена услуги | + | **** '''Cost *''' – цена услуги |
| − | **** '''ByPax''' – цена за человека | + | **** '''ByPax *''' – цена за человека |
| − | **** '''QuotaStatus''' – объект статус квотирования | + | **** '''QuotaStatus *''' – объект статус квотирования |
| − | ***** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос) | + | ***** '''PlacesStatus *''' – статус по квотам (есть места / нет мест / под запрос) |
| − | ***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. | + | ***** '''FreePlaces *''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''. |
| − | ***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. | + | ***** '''IsFewPlaces *''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены. |
| − | **** '''Index''' – индекс услуги | + | **** '''Index *''' – индекс услуги |
| − | **** '''IsRoute''' – признак маршрутная услуга (Перелет, автобусный переезд, жд переезд, трансфер, экскурсия) | + | **** '''IsRoute *''' – признак маршрутная услуга (Перелет, автобусный переезд, жд переезд, трансфер, экскурсия) |
| − | **** '''ServiceTemplateIndex''' – индекс шаблона услуги (Порядок расположения услуги в программе тура. Не отображается в программе туров,это просто порядковый номер услуги в путевке) | + | **** '''ServiceTemplateIndex *''' – индекс шаблона услуги (Порядок расположения услуги в программе тура. Не отображается в программе туров,это просто порядковый номер услуги в путевке) |
[[Файл: Ea_490.png|600px|индекс шаблона услуги]]</br> | [[Файл: Ea_490.png|600px|индекс шаблона услуги]]</br> | ||
| − | **** '''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''' – главный турист | + | *** '''IsMain *''' – главный турист |
| − | *** '''Number''' – порядковый номер туриста | + | *** '''Number *''' – порядковый номер туриста |
| − | *** '''AgeType''' – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант) | + | *** '''AgeType *''' – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант) |
| − | *** '''MaleFemaleSex''' – пол (0 – мужской, 1 – женский) | + | *** '''MaleFemaleSex *''' – пол (0 – мужской, 1 – женский) |
| − | *** '''FirstName''' – имя (лат) | + | *** '''FirstName *''' – имя (лат) |
| − | *** '''LastName''' – фамилия (лат) | + | *** '''LastName *''' – фамилия (лат) |
| − | *** '''Patronymic''' – отчество (лат) | + | *** '''Patronymic *''' – отчество (лат) |
| − | *** '''FirstNameRus''' – имя (рус) | + | *** '''FirstNameRus *''' – имя (рус) |
| − | *** '''LastNameRus''' – фамилия (рус) | + | *** '''LastNameRus *''' – фамилия (рус) |
| − | *** '''PatronymicRus''' – отчество (рус) | + | *** '''PatronymicRus *''' – отчество (рус) |
| − | *** '''InternationalPassportSeries''' – серия загранпаспорта | + | *** '''InternationalPassportSeries *''' – серия загранпаспорта |
| − | *** '''InternationalPassportNumber''' – номер загранпаспорта | + | *** '''InternationalPassportNumber *''' – номер загранпаспорта |
| − | *** '''InternationalPassportDateOfIssue''' – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz) | + | *** '''InternationalPassportDateOfIssue *''' – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz) |
| − | *** '''InternationalPassportDateOfIssueString''' – дата выдачи загранпаспорта в строке (DD.MM.YYYY) | + | *** '''InternationalPassportDateOfIssueString *''' – дата выдачи загранпаспорта в строке (DD.MM.YYYY) |
| − | *** '''InternationalPassportDateOfExpiry''' – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz) | + | *** '''InternationalPassportDateOfExpiry *''' – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz) |
| − | *** '''InternationalPassportDateOfExpiryString''' – дата окончания действия загранпаспорта в строке (DD.MM.YYYY) | + | *** '''InternationalPassportDateOfExpiryString *''' – дата окончания действия загранпаспорта в строке (DD.MM.YYYY) |
| − | *** '''internationalPassportByWhom''' – кем выдан загранпаспорт | + | *** '''internationalPassportByWhom *''' – кем выдан загранпаспорт |
| − | *** '''PassportSeries''' – серия паспорта | + | *** '''PassportSeries *''' – серия паспорта |
| − | *** '''PassportNumber''' – номер паспорта | + | *** '''PassportNumber *''' – номер паспорта |
| − | *** '''PassportDateOfIssue''' – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz) | + | *** '''PassportDateOfIssue *''' – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz) |
| − | *** '''PassportDateOfIssueString''' – дата выдачи паспорта строковом формате (DD.MM.YYYY) | + | *** '''PassportDateOfIssueString *''' – дата выдачи паспорта строковом формате (DD.MM.YYYY) |
| − | *** '''PassportByWhom''' – кем выдан паспорт | + | *** '''PassportByWhom *''' – кем выдан паспорт |
| − | *** '''Citizenship''' – название страны | + | *** '''Citizenship *''' – название страны |
| − | *** '''Phone''' – телефон | + | *** '''Phone *''' – телефон |
| − | *** '''Email''' – e-mail | + | *** '''Email *''' – e-mail |
| − | *** '''BirthDay''' – дата рождения (YYYY-MM-DDThh:mm:ssz) | + | *** '''BirthDay *''' – дата рождения (YYYY-MM-DDThh:mm:ssz) |
| − | *** '''BirthDayString''' – дата рождения в строковом формате (DD.MM.YYYY) | + | *** '''BirthDayString *''' – дата рождения в строковом формате (DD.MM.YYYY) |
| − | *** '''BirthPlace''' – место рождения | + | *** '''BirthPlace *''' – место рождения |
| − | *** '''CitizenID''' – гражданство | + | *** '''CitizenID *''' – гражданство |
| − | *** '''Age''' – количество полных лет на момент окончания тура | + | *** '''Age *''' – количество полных лет на момент окончания тура |
| − | ** '''Day''' – день (перевод) | + | ** '''Day *''' – день (перевод) ''Может быть с пустым значением'' |
| − | ** '''Day2''' – дня (перевод) | + | ** '''Day2 *''' – дня (перевод) ''Может быть с пустым значением'' |
| − | ** '''Days''' – дней (перевод) | + | ** '''Days *''' – дней (перевод) ''Может быть с пустым значением'' |
| − | ** '''Night''' – ночь (перевод) | + | ** '''Night *''' – ночь (перевод) ''Может быть с пустым значением'' |
| − | ** '''Night2''' – ночи (перевод) | + | ** '''Night2 *''' – ночи (перевод) ''Может быть с пустым значением'' |
| − | ** '''Nights''' – ночей (перевод) | + | ** '''Nights *''' – ночей (перевод) ''Может быть с пустым значением'' |
| − | ** '''adultsCountOverServiceLimit''' – Количество взрослых туристов превышает лимит услуги (перевод) | + | ** '''adultsCountOverServiceLimit *''' – Количество взрослых туристов превышает лимит услуги (перевод) ''Может быть с пустым значением'' |
| − | ** '''at''' – на (перевод) | + | ** '''at *''' – на (перевод) ''Может быть с пустым значением'' |
| − | ** '''incorrectChildrenInf''' – Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание) (перевод) | + | ** '''incorrectChildrenInf *''' – Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание) (перевод) ''Может быть с пустым значением'' |
| + | ** '''DiscountCardId *''' – ID основания для скидки (дисконтной карты) полученное в методе [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Проверка основания для скидки (CheckCauseDiscount)|CheckCauseDiscount]] ''Может быть с пустым значением'' | ||
| + | ** '''PromocodeId *''' – ID промокода полученное в методе [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Проверка промокода (CheckPromocode)|CheckPromocode]] ''Может быть с пустым значением'' | ||
| + | |||
* Возвращаемый результат: | * Возвращаемый результат: | ||
| Строка 6435: | Строка 6700: | ||
** '''DurationInNights''' – продолжительность тура в ночах | ** '''DurationInNights''' – продолжительность тура в ночах | ||
** '''NationalCurrency''' – код национальной валюты | ** '''NationalCurrency''' – код национальной валюты | ||
| + | ** '''PromoDiscount''' – числовое значение скидки полученное после ввода промокода, либо дисконтной карты | ||
| + | ** '''PromoTotalDiscount''' – значение скидки в валюте тура | ||
| + | ** '''PromoNationalDiscount''' – значение скидки в национальной валюте | ||
| + | ** '''PromoIsDiscountPercent''' – обозначение типа скидки в процентах. Значение может быть: | ||
| + | ***'''true''' – скидка по промокоду, либо дисконтной карты предоставляется в процентах | ||
| + | *** '''false''' – скидка по промокоду, либо дисконтной карты предоставляется в фиксированном значении, согласно валюте тура | ||
| + | ** '''nodeId''' – уникальный идентификатор узла в кластере балансировки нагрузки [[Мастер-Тур(15):Балансировщик нагрузки HaProxy|HaProxy]] | ||
| + | |||
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
| Строка 6441: | Строка 6714: | ||
Вызов метода CalculateReservation | Вызов метода CalculateReservation | ||
<syntaxhighlight lang="java" enclose="div"> | <syntaxhighlight lang="java" enclose="div"> | ||
| − | POST http://localhost:9000/TourSearchOwin/CalculateReservation? HTTP/1.1 | + | POST http://localhost:9000/TourSearchOwin/CalculateReservation?nodeId=2147483647 HTTP/1.1 |
Content-Type: application/json | Content-Type: application/json | ||
| Строка 6615: | Строка 6888: | ||
"at": "на", | "at": "на", | ||
"incorrectChildrenInf": "Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание)" | "incorrectChildrenInf": "Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание)" | ||
| + | "PromocodeId":"", | ||
| + | "DiscountCardId":"95" | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Строка 6639: | Строка 6914: | ||
"Discount": 0.0, | "Discount": 0.0, | ||
"TotalDiscount": 0.0, | "TotalDiscount": 0.0, | ||
| + | "PromoDiscount": 50.0, | ||
| + | "PromoTotalDiscount": 10.0, | ||
| + | "PromoNationalDiscount": 10.0, | ||
| + | "PromoIsDiscountPercent": true, | ||
"ServiceTourists": [{ | "ServiceTourists": [{ | ||
"ServiceType": 1, | "ServiceType": 1, | ||
| Строка 6694: | Строка 6973: | ||
* Формат запроса: | * Формат запроса: | ||
| − | ** PUT .../TourSearchOwin/CreateReservation/1? | + | ** PUT .../TourSearchOwin/CreateReservation/1?nodeId=2147483647 |
| + | , где ''nodeId'' – уникальный идентификатор узла в кластере балансировки нагрузки [[Мастер-Тур(15):Балансировщик нагрузки HaProxy|HaProxy]] | ||
* Принимаемые параметры headers ( '''*''' – обязательный): | * Принимаемые параметры headers ( '''*''' – обязательный): | ||
| Строка 6701: | Строка 6981: | ||
* Принимаемые параметры 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''' – статус по квотам (есть места-1 / нет мест-2 / под запрос-4) | + | ***** '''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''' – порядковый номер туриста | + | *** '''Number *''' – порядковый номер туриста |
| − | *** '''AgeType''' – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант) | + | *** '''AgeType *''' – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант) |
| − | *** '''MaleFemaleSex''' – пол (0 – мужской, 1 – женский) | + | *** '''MaleFemaleSex *''' – пол (0 – мужской, 1 – женский) |
| − | *** '''FirstName''' – имя (лат) | + | *** '''FirstName *''' – имя (лат) |
| − | *** '''LastName''' – фамилия (лат) | + | *** '''LastName *''' – фамилия (лат) |
| − | *** '''Patronymic''' – отчество (лат) | + | *** '''Patronymic *''' – отчество (лат) |
| − | *** '''FirstNameRus''' – имя (рус) | + | *** '''FirstNameRus *''' – имя (рус) |
| − | *** '''LastNameRus''' – фамилия (рус) | + | *** '''LastNameRus *''' – фамилия (рус) |
| − | *** '''PatronymicRus''' – отчество (рус) | + | *** '''PatronymicRus *''' – отчество (рус) |
| − | *** '''InternationalPassportSeries''' – серия загранпаспорта | + | *** '''InternationalPassportSeries *''' – серия загранпаспорта |
| − | *** '''InternationalPassportNumber''' – номер загранпаспорта | + | *** '''InternationalPassportNumber *''' – номер загранпаспорта |
| − | *** '''InternationalPassportDateOfIssue''' – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz) | + | *** '''InternationalPassportDateOfIssue *''' – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz) |
| − | *** '''InternationalPassportDateOfIssueString''' – дата выдачи загранпаспорта в строковом формате (DD.MM.YYYY) | + | *** '''InternationalPassportDateOfIssueString *''' – дата выдачи загранпаспорта в строковом формате (DD.MM.YYYY) |
| − | *** '''InternationalPassportDateOfExpiry''' – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz) | + | *** '''InternationalPassportDateOfExpiry *''' – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz) |
| − | *** '''InternationalPassportDateOfExpiryString''' – дата окончания действия загранпаспорта в строковом формате (DD.MM.YYYY) | + | *** '''InternationalPassportDateOfExpiryString *''' – дата окончания действия загранпаспорта в строковом формате (DD.MM.YYYY) |
| − | *** '''internationalPassportByWhom''' – кем выдан загранпаспорт | + | *** '''internationalPassportByWhom *''' – кем выдан загранпаспорт |
| − | *** '''PassportSeries''' – серия паспорта | + | *** '''PassportSeries *''' – серия паспорта |
| − | *** '''PassportNumber''' – номер паспорта | + | *** '''PassportNumber *''' – номер паспорта |
| − | *** '''PassportDateOfIssue''' – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz) | + | *** '''PassportDateOfIssue *''' – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz) |
| − | *** '''PassportDateOfIssueString''' – дата выдачи паспорта в строковом формате (DD.MM.YYYY) | + | *** '''PassportDateOfIssueString *''' – дата выдачи паспорта в строковом формате (DD.MM.YYYY) |
| − | *** '''PassportByWhom''' – кем выдан паспорт | + | *** '''PassportByWhom *''' – кем выдан паспорт |
| − | *** '''Citizenship''' – название страны | + | *** '''Citizenship *''' – название страны |
| − | *** '''Phone''' – телефон | + | *** '''Phone *''' – телефон |
| − | *** '''Email''' – e-mail | + | *** '''Email *''' – e-mail |
| − | *** '''BirthDay''' – дата рождения (YYYY-MM-DDThh:mm:ssz) | + | *** '''BirthDay *''' – дата рождения (YYYY-MM-DDThh:mm:ssz) |
| − | *** '''BirthDayString''' – дата рождения в строковом формате (DD.MM.YYYY) | + | *** '''BirthDayString *''' – дата рождения в строковом формате (DD.MM.YYYY) |
| − | *** '''BirthPlace''' – место рождения | + | *** '''BirthPlace *''' – место рождения |
| − | *** '''CitizenID''' – ID туриста (задается в карточке постоянного клиента) | + | *** '''CitizenID *''' – ID туриста (задается в карточке постоянного клиента) |
| − | *** '''Age''' – количество полных лет на момент окончания тура | + | *** '''Age *''' – количество полных лет на момент окончания тура |
| − | ** '''BranchId''' – ключ филиала бронирования (начиная с релиза 15.3). Если не передан, то филиал бронирования берется из менеджера по умолчанию либо из пользователя, создавшего тур. | + | ** '''BranchId *''' – ключ филиала бронирования (начиная с релиза 15.3). Если не передан, то филиал бронирования берется из менеджера по умолчанию либо из пользователя, создавшего тур. ''Может быть с пустым значением'' |
| − | ** '''OwnerId''' – ключ ведущего менеджера (начиная с релиза 15.3). Если 0, то берется по умолчанию. Если по умолчанию не указан, то берется создатель тура. | + | ** '''OwnerId *''' – ключ ведущего менеджера (начиная с релиза 15.3). Если 0, то берется по умолчанию. Если по умолчанию не указан, то берется создатель тура. ''Может быть с пустым значением'' |
| − | ** '''Day''' – день (перевод) | + | ** '''Day *''' – день (перевод) ''Может быть с пустым значением'' |
| − | ** '''Day2''' – дня (перевод) | + | ** '''Day2 *''' – дня (перевод) ''Может быть с пустым значением'' |
| − | ** '''Days''' – дней (перевод) | + | ** '''Days *''' – дней (перевод) ''Может быть с пустым значением'' |
| − | ** '''Night''' – ночь (перевод) | + | ** '''Night *''' – ночь (перевод) ''Может быть с пустым значением'' |
| − | ** '''Night2''' – ночи (перевод) | + | ** '''Night2 *''' – ночи (перевод) ''Может быть с пустым значением'' |
| − | ** '''Nights''' – ночей (перевод) | + | ** '''Nights *''' – ночей (перевод) ''Может быть с пустым значением'' |
| − | ** '''adultsCountOverServiceLimit''' – Количество взрослых туристов превышает лимит услуги (перевод) | + | ** '''adultsCountOverServiceLimit *''' – Количество взрослых туристов превышает лимит услуги (перевод) ''Может быть с пустым значением'' |
| − | ** '''incorrectChildrenInf''' – Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание) (перевод) | + | ** '''incorrectChildrenInf *''' – Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание) (перевод) ''Может быть с пустым значением'' |
| + | ** '''OrderInfoUrl''' – Адрес окна путевки в личном кабинете | ||
| + | ** '''DogovorComment''' – Комментарий к путевке (сохраняется как сообщения в истории путевки) ''Может быть с пустым значением'' | ||
| + | ** '''DiscountCardId ''' – ID основания для скидки (дисконтной карты) полученное в методе [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Проверка основания для скидки (CheckCauseDiscount)|CheckCauseDiscount]] ''Может быть с пустым значением'' | ||
| + | ** '''PromocodeId ''' – ID промокода полученное в методе [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Проверка промокода (CheckPromocode)|CheckPromocode]] ''Может быть с пустым значением'' | ||
| + | |||
| + | |||
* Возвращаемый результат: | * Возвращаемый результат: | ||
| Строка 6861: | Строка 7147: | ||
**** '''SubCode2''' – ключ доп.описания 2 услуги | **** '''SubCode2''' – ключ доп.описания 2 услуги | ||
**** '''Men''' – количество человек, пользующихся услугой по путевке | **** '''Men''' – количество человек, пользующихся услугой по путевке | ||
| − | **** '''Days''' – количество дней услуги | + | **** '''Days''' – количество дней услуги (для услуги Отель ("SVKey": 3) количество ночей услуги) |
**** '''CNKey''' – ключ страны услуги | **** '''CNKey''' – ключ страны услуги | ||
**** '''CTKey''' – ключ города услуги | **** '''CTKey''' – ключ города услуги | ||
| Строка 6871: | Строка 7157: | ||
**** '''Control''' – ключ статуса услуги (ссылка на таблицу Controls), | **** '''Control''' – ключ статуса услуги (ссылка на таблицу Controls), | ||
**** '''Attribute''' – атрибут услуги | **** '''Attribute''' – атрибут услуги | ||
| − | **** '''DateBeg''' – дата начала действия услуги | + | **** '''DateBeg''' – дата начала действия услуги в днях (для отеля - в ночах) |
| − | **** '''DateEnd''' – дата окончания действия услуги | + | **** '''DateEnd''' – дата окончания действия услуги в днях (для отеля - в ночах) |
**** '''Discount''' – размер скидки по услуге | **** '''Discount''' – размер скидки по услуге | ||
**** '''Comment''' – комментарий к услуге | **** '''Comment''' – комментарий к услуге | ||
| Строка 6959: | Строка 7245: | ||
Вызов метода CreateReservation | Вызов метода CreateReservation | ||
<syntaxhighlight lang="java" enclose="div"> | <syntaxhighlight lang="java" enclose="div"> | ||
| − | PUT http://localhost:9000/TourSearchOwin/CreateReservation/1? HTTP/1.1 | + | PUT http://localhost:9000/TourSearchOwin/CreateReservation/1?nodeId=2147483647 HTTP/1.1 |
Content-Type: application/json | Content-Type: application/json | ||
Authorization: Bearer AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAdsCC8X7m9E-2bg0-uS0VfgAAAAAAAAADZgAAwAAAA- | Authorization: Bearer AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAdsCC8X7m9E-2bg0-uS0VfgAAAAAAAAADZgAAwAAAA- | ||
| Строка 7183: | Строка 7469: | ||
"Nights": "ночей", | "Nights": "ночей", | ||
"adultsCountOverServiceLimit": "Количество взрослых туристов превышает лимит услуги", | "adultsCountOverServiceLimit": "Количество взрослых туристов превышает лимит услуги", | ||
| − | "incorrectChildrenInf": "Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание)" | + | "incorrectChildrenInf": "Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание)", |
| + | "OrderInfoUrl": "http://localhost/MasterWeb/OrderInfo.aspx", | ||
| + | "DogovorComment": "" | ||
| + | "PromocodeId":"301", | ||
| + | "DiscountCardId":"" | ||
| + | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Строка 7603: | Строка 7894: | ||
</div></div><br /> | </div></div><br /> | ||
| − | === | + | ===Бронирование путевки с упрощенными входными параметрами (CreateReservationExternalSystem)=== |
| − | Метод | + | Метод производит бронирование путевки с упрощенными входными параметрами. <br /> |
| + | При бронировании проверяется корректность заполнения обязательных полей туристов. В случае, если обязательные поля не заполнены, возвращается ошибка с сообщением, бронь не создается. | ||
| + | Данный метод разработан индивидуально для одного из клиентов. В обычном режиме нужно пользоваться всегда методом [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Бронирование путевки (CreateReservation)|Бронирование путевки (CreateReservation)]] | ||
| − | * Формат запроса: | + | *Формат запроса: |
| − | ** | + | ** PUT .../TourSearchOwin/CreateReservationExternalSystem/1? |
| − | * Принимаемые параметры headers ( '''*''' – обязательный): | + | *Принимаемые параметры headers ('''*''' – обязательный): |
** '''Content-Type *''' – application/json | ** '''Content-Type *''' – application/json | ||
| − | ** '''Authorization *''' – token_type + access_token (полученные из метода .../TourSearchOwin/Token?) | + | ** '''Authorization *''' – token_type + access_token (полученные из метода .../TourSearchOwin/Token?) |
| − | * Принимаемые параметры | + | *Принимаемые параметры PUT запроса: |
| − | ** ''' | + | ** '''BeginDate *''' – дата начала тура (YYYY-MM-DDThh:mm) |
| − | + | ** '''Duration *''' – продолжительность тура в днях | |
| − | + | ** '''Currency *''' – код валюты | |
| − | ** ''' | + | ** '''TourProgramId''' – идентификатор турпрограммы (необязательный, по умолчанию 0) |
| − | ** ''' | + | ** '''Services *''' – массив услуг, в данном случае будет содержать только услугу отель |
| − | ** ''' | + | *** '''Code *''' – идентификатор отеля во внешней системе, сравниваются с промежуточной базой данных статического адаптера [[Megatec Integration Service:Индивидуальные особенности адаптеров TravelLine (Россия)|MIS TravelLine (Россия)]] |
| − | ** ''' | + | *** '''Cost *''' – стоимость проживания за весь период |
| − | ** ''' | + | *** '''Packet *''' – идентификатор пакета, сравниваются с промежуточной базой данных статического адаптера [[Megatec Integration Service:Индивидуальные особенности адаптеров TravelLine (Россия)|MIS TravelLine (Россия)]] |
| − | * | + | *** '''SubCode1 *''' – идентификатор типа номера, сравниваются с промежуточной базой данных статического адаптера [[Megatec Integration Service:Индивидуальные особенности адаптеров TravelLine (Россия)|MIS TravelLine (Россия)]] |
| − | ** ''' | + | ** '''Tourists *''' – массив туристов |
| − | + | *** '''FirstName *''' – имя туриста | |
| − | * | + | *** '''LastName *''' – фамилия туриста |
| − | ** ''' | + | *** '''Patronymic *''' – отчество туриста |
| − | + | *** '''MaleFemaleSex *''' – пол (0 – мужской, 1 – женский) | |
| − | ** ''' | + | *** '''AgeType *''' – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант) |
| − | + | *** '''Age *''' – количество полных лет на момент окончания тура | |
| − | ** ''' | + | *** '''Phone *''' – телефон (обязателен для первого туриста) |
| − | + | *** '''Email *''' – e-mail (обязателен для первого туриста) | |
| − | * | + | ** '''DogovorComment *''' – комментарий к путевке (ограничение 254 символа, при превышении разбивается на части) |
| − | ** ''' | + | [[Файл:Am 063.png|left]]<br /> |
| − | + | 1. В случае, если в теле запроса указываются ID несинхронизированных отелей, пакета, типа номера, то создаются фиктивные данные, которые необходимо изменить в услуге экрана ''Путевка'' (пример: Отель – ApiHotel, пакет – ApiPacket, тип номера – ApiRoom(ApiRoomCategory),ApiAccmdmen)<br /> | |
| − | * | + | 2. Тип питания всегда будет создаваться фиктивный и его необходимо изменить в услуге экрана ''Путевка'' (пример: Тип питания – ApiPansion)<br /><br /><br /> |
| − | ** ''' | + | *Возвращаемый результат: |
| − | + | ** '''Reservation''' – объект путевки | |
| − | ** | + | *** '''$id''' – внутренний идентификатор для установки связей между сущностями, |
| − | * | + | *** '''Code''' – код путевки |
| − | |||
| − | * | ||
| − | ** ''' | ||
| − | |||
| − | |||
| − | ** ''' | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | * | ||
| − | ** ''' | ||
| − | |||
| − | * | ||
| − | ** ''' | ||
| − | |||
| − | * | ||
| − | ** ''' | ||
| − | |||
| − | ** ''' | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | * | ||
| − | |||
| − | |||
| − | |||
| − | *** '''$id''' – внутренний идентификатор для установки связей между сущностями | ||
| − | *** ''' | ||
*** '''TurDate''' – дата начала тура | *** '''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''' – статус блокировки путевки |
| − | *** ''' | + | *** '''CauseDisc''' – код основания скидки |
| − | *** ''' | + | *** '''PPaymentDate''' – дата предоплаты |
| − | *** ''' | + | *** '''PaymentDate''' – максимальная дата полной оплаты |
| − | *** ''' | + | *** '''Procent''' – предоплата в % |
| − | *** ''' | + | *** '''TurDateBfrAnnul''' – дата начала тура до аннуляции |
| − | *** ''' | + | *** '''ARKey''' – идентификатор причины аннуляции |
| − | *** ''' | + | *** '''Key''' – идентификатор договора |
| − | *** ''' | + | *** '''CodePartner''' – идентификатор партнера |
| − | *** ''' | + | *** '''FilialKey''' – идентификатор филиала |
| − | *** ''' | + | *** '''IsOutDoc''' – статус выдачи документов |
| − | *** ''' | + | *** '''Notes''' – примечания |
| − | *** ''' | + | *** '''DiscSumBfrAnn''' – сумма скидки перед аннуляцией |
| − | *** ''' | + | *** '''PriceBfrAnn''' – цена путевки перед аннуляцией |
| − | + | *** '''RazmerP''' – размер предоплаты | |
| − | ** ''' | + | *** '''LeadDepartment''' – идентификатор ведущего отдела |
| − | *** ''' | + | *** '''MainManEmail''' – e-mail контактного лица |
| − | *** ''' | + | *** '''MainManComment''' – комментарий контактного лица |
| − | *** ''' | + | *** '''DupUserKey''' – идентификатор представителя агента |
| − | *** ''' | + | *** '''BTKey''' – идентификатор системы бронирования |
| − | *** ''' | + | *** '''ConfirmedDate''' – дата подтверждения путевки |
| − | *** ''' | + | *** '''PrtDogKey''' – идентификатор договора партнера |
| − | *** ''' | + | *** '''CTDepartureKey''' – идентификатор города отправления |
| − | *** ''' | + | *** '''PDTType''' – тип договора путевки |
| − | *** ''' | + | *** '''NationalCurrencyPrice''' – цена в национальной валюте |
| − | *** ''' | + | *** '''NationalCurrencyDiscountSum''' – сумма скидки в национальной валюте |
| − | *** ''' | + | *** '''NationalCurrencyPayed''' – оплаченная сумма в национальной валюте |
| − | *** ''' | + | *** '''CurrencyKey''' – идентификатор валюты |
| − | *** ''' | + | *** '''CurrencyRate''' – курс валюты |
| − | *** ''' | + | *** '''ClientKey''' – идентификатор клиента |
| − | *** ''' | + | *** '''AgencyPrice''' – цена для агентства |
| − | *** ''' | + | *** '''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''' – атрибут результата бронирования | ||
| + | |||
| − | <div class="toccolours mw-collapsible mw-collapsed" style="width: | + | <div class="toccolours mw-collapsible mw-collapsed" style="width:1200px">Пример запроса |
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD> | <TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD> | ||
| − | Вызов метода | + | Вызов метода CreateReservationExternalSystem |
<syntaxhighlight lang="java" enclose="div"> | <syntaxhighlight lang="java" enclose="div"> | ||
| − | + | PUT http://localhost:9000/TourSearchOwin/CreateReservationExternalSystem/1? | |
Content-Type: application/json | Content-Type: application/json | ||
| − | Authorization: Bearer AQAAANCMnd8BFdERjHoAwE_Cl- | + | Authorization: Bearer AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAObjhnb1q7EOpYmBFLH9T4AAAAAACAAAAAAAQZgAAAAEAACAAAACi2OgeCgKM2UVjnd-_y7WK9Tp90D7uiyDzOpQNy2PUrQAAAAAOgAAAAAIAACAAAABBwMz7N- |
| − | + | lZMFS0R9BqYXrNkVEL0ORSd2IpZ95J78cBHDABAABoZQCpqlwdHPASxLfQj-sRBv1S-kkGRC3g6wMlF_UjzI4PGIv_x5SdDwdIqoveXSyxshY88VidzcMRZjk2HJFjUJrcG_e8FfKpzUZUuFvq1dASzSm83JNgdqNaPjnjqSpffBEfD-zA1L77wMgN9_d70lVTh8PlxXkx_fxQI3D0Dcymqz-Q7ymsWM9HMDlmQ2BllmjBisc8UaYLT3VvmAvI1uDL08FFT1Rx9LFMi2B36OGZQgUoona0KuY48x5Xhbx5yeLAKdvqqEDViG35z7H8_gVU8T5TR08PDJvxvAe24lV1rBGidGNZqPL4meuSrh1hUl9j2vmFfhdGIyBhz7B9Z1Q2iDNfL6j-YfNEcuj8SGTMm5pfObAdcjH5CKI4T- | |
| − | + | QWcvE6HUfRs0UzAf2eF1bXQAAAAGMNV8S-M1ckRYpUCIVNPCLWi4g9HR0oIIJIRCMpu3hAJPM1xlNSaaYabu-il-PwoOthHujA2PZXtXj9-o3wpEA | |
| − | + | { | |
| − | + | "BeginDate": "2024-12-16T14:00", | |
| + | "Duration": 4, | ||
| + | "Currency": "рб", | ||
| + | "TourProgramId": 0, | ||
| + | "Services": [ | ||
| + | { | ||
| + | "Code": "8746", | ||
| + | "Cost": 9900, | ||
| + | "Packet": "359679", | ||
| + | "SubCode1": "356847" | ||
| + | } | ||
| + | ], | ||
| + | "Tourists": [ | ||
| + | { | ||
| + | "FirstName": "Иван", | ||
| + | "LastName": "Иванов", | ||
| + | "Patronymic": "Иванович", | ||
| + | "MaleFemaleSex": 0, | ||
| + | "AgeType": 0, | ||
| + | "Age": 18, | ||
| + | "Phone": "79876543232", | ||
| + | "Email": "emailqwerty123@example.com" | ||
| + | }, | ||
| + | { | ||
| + | "FirstName": "Петр", | ||
| + | "LastName": "Петров", | ||
| + | "Patronymic": "Петрович", | ||
| + | "MaleFemaleSex": 0, | ||
| + | "AgeType": 0, | ||
| + | "Age": 18 | ||
| + | } | ||
| + | ], | ||
| + | "DogovorComment": "Это тестовая путевка. Клиент указывает детали отеля и размещения." | ||
| + | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Возвращаемый результат метода | + | </TD></TR></TABLE> |
| + | </div></div><br /> | ||
| + | |||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="width:1200px">Пример ответа | ||
| + | <div class="mw-collapsible-content"> | ||
| + | <TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD> | ||
| + | Возвращаемый результат метода CreateReservationExternalSystem (в формате JSON) | ||
<syntaxhighlight lang="java" enclose="div"> | <syntaxhighlight lang="java" enclose="div"> | ||
{ | { | ||
| − | "$id": 1, | + | "Reservation": { |
| − | + | "$id": 1, | |
| − | + | "Code": "RU27010037", | |
| − | + | "TurDate": "2025-01-27T12:00:00", | |
| − | + | "TRKey": 0, | |
| − | + | "CNKey": 460, | |
| − | + | "CTKey": 1, | |
| − | + | "NMen": 2, | |
| − | + | "Price": 9900.0, | |
| − | + | "Payed": 0.0, | |
| − | + | "NDay": 4, | |
| − | + | "MainMan": "Тестовый Представитель", | |
| − | + | "MainManPhone": "+79139992222", | |
| − | + | "MainManAddress": "", | |
| − | + | "MainManPassport": "11111 2222222222222", | |
| − | + | "PartnerKey": 12667, | |
| − | + | "Operator": "Allservises A.A.", | |
| − | + | "Discount": 17.0, | |
| − | + | "DiscountSum": 0.0, | |
| − | + | "SORCode": 0, | |
| − | + | "CrDate": "2025-01-24T17:26:17.25", | |
| − | + | "Rate": "рб", | |
| − | + | "Advertise": 0, | |
| − | + | "Locked": null, | |
| − | + | "CauseDisc": 0, | |
| − | + | "PPaymentDate": null, | |
| − | + | "PaymentDate": "2025-01-26T00:00:00", | |
| − | + | "Procent": 1, | |
| − | + | "TurDateBfrAnnul": null, | |
| − | + | "ARKey": 0, | |
| − | + | "Key": 54010, | |
| − | + | "CodePartner": null, | |
| − | + | "FilialKey": 12850, | |
| − | + | "IsOutDoc": 0, | |
| − | + | "Notes": null, | |
| − | + | "DiscSumBfrAnn": null, | |
| − | + | "PriceBfrAnn": null, | |
| − | + | "RazmerP": 10.0, | |
| − | + | "LeadDepartment": 0, | |
| − | + | "MainManEmail": "test@megatec.ru", | |
| − | + | "MainManComment": "", | |
| − | + | "DupUserKey": 333, | |
| − | + | "BTKey": 1, | |
| − | + | "ConfirmedDate": null, | |
| − | + | "PrtDogKey": 1335, | |
| − | + | "CTDepartureKey": 0, | |
| − | + | "PDTType": 0, | |
| − | + | "NationalCurrencyPrice": null, | |
| − | + | "NationalCurrencyDiscountSum": null, | |
| − | + | "NationalCurrencyPayed": null, | |
| − | + | "CurrencyKey": null, | |
| − | + | "CurrencyRate": null, | |
| − | + | "ClientKey": null, | |
| − | + | "AgencyPrice": 0.0, | |
| − | + | "Partner": { | |
| − | + | "$id": 2, | |
| − | + | "Key": 12667, | |
| − | + | "FullName": "Партнер-покупатель (полное название)", | |
| − | + | "Name": "Партнер-покупатель122" | |
| − | + | }, | |
| − | + | "Services": [ | |
| − | + | { | |
| − | + | "$id": 3, | |
| − | + | "DGCod": "RU27010037", | |
| − | + | "TurDate": "2025-01-27T12:00:00", | |
| − | + | "Key": 250570, | |
| − | + | "PaketKey": 2043, | |
| − | + | "TRKey": 0, | |
| − | + | "SVKey": 3, | |
| − | + | "Name": "HOTEL::Москва/ApiHotel-,3 ночи/ApiRoom(ApiRoomCategory),ApiAccmdmen/ApiPansion ApiPansion", | |
| − | + | "Day": 1, | |
| − | + | "Code": 341264, | |
| − | + | "SubCode1": 1552918, | |
| − | + | "SubCode2": 1812, | |
| − | + | "Men": 2, | |
| − | + | "Days": 3, | |
| − | + | "CNKey": 460, | |
| − | + | "CTKey": 1, | |
| − | + | "PartnerKey": 0, | |
| − | + | "Brutto": 9900.0, | |
| − | + | "Wait": null, | |
| − | + | "Warning": 0, | |
| − | + | "TimeBeg": "1899-01-01T00:00:00", | |
| − | + | "Control": 1, | |
| − | + | "Attribute": 65695, | |
| − | + | "DateBeg": "2025-01-27T00:00:00", | |
| − | + | "DateEnd": "2025-01-29T00:00:00", | |
| − | + | "Discount": 0.0, | |
| − | + | "Comment": null, | |
| − | + | "DGKey": 54010, | |
| − | + | "Blocked": null, | |
| − | + | "NameLat": "HOTEL::Москва/ApiHotel-,3 ночи/ApiRoom(ApiRoomCategory),ApiAccmdmen/ApiPansion ApiPansion", | |
| − | + | "Long": 4, | |
| − | + | "TRFId": 0, | |
| − | + | "CreateDate": "2025-01-24T17:26:17.25", | |
| − | + | "CalculatePriceDate": "2025-01-24T17:26:17.25", | |
| − | } | + | "ShowOrder": 1, |
| − | + | "Connections": [ | |
| − | + | { | |
| − | + | "$ref": 1 | |
| − | + | } | |
| − | + | ] | |
| − | + | } | |
| − | + | ], | |
| − | + | "Turists": [ | |
| − | + | { | |
| − | + | "$id": 4, | |
| − | + | "DGCod": "RU27010037", | |
| − | + | "Key": 120806, | |
| − | + | "TurDate": "2025-01-27T12:00:00", | |
| − | + | "NameRus": "Иванов", | |
| − | + | "NameLat": "Иванов", | |
| − | + | "ShortName": "И.И.", | |
| − | + | "Sex": 0, | |
| − | + | "FNameRus": "Иван", | |
| − | + | "FNameLat": "Иван", | |
| − | + | "SNameRus": "Иванович", | |
| − | + | "SNameLat": "Иванович", | |
| − | + | "BirthDay": "2007-01-24T00:00:00", | |
| − | + | "BirthCountry": null, | |
| − | + | "BirthCity": null, | |
| − | + | "Citizen": null, | |
| − | + | "PostIndex": null, | |
| − | + | "PostCity": null, | |
| − | + | "PostStreet": null, | |
| − | + | "PostBild": null, | |
| − | + | "PostFlat": null, | |
| − | + | "Phone": "79876543232", | |
| − | + | "PhoneCode": null, | |
| − | + | "PasportType": "", | |
| − | + | "PasportNum": "", | |
| − | + | "PasportDate": null, | |
| − | + | "PasportDateEnd": null, | |
| − | + | "PasportByWhom": null, | |
| − | + | "Place": null, | |
| − | + | "IsAnketa": null, | |
| − | + | "PaspRuser": "", | |
| − | + | "PaspRuNum": "", | |
| − | + | "PaspRuDate": null, | |
| − | + | "PaspRuByWhom": "", | |
| − | + | "ClientId": null, | |
| − | + | "IsMain": 1, | |
| − | + | "DGKey": 54010, | |
| − | + | "RealSex": 0, | |
| − | + | "Email": "emailqwerty123@example.com", | |
| − | + | "EnableSmsNotifications": 0, | |
| − | + | "CitizenId": "", | |
| − | + | "Connections": [ | |
| − | + | { | |
| − | + | "$ref": 1 | |
| − | + | } | |
| − | + | ] | |
| − | + | }, | |
| − | + | { | |
| − | + | "$id": 5, | |
| − | + | "DGCod": "RU27010037", | |
| − | + | "Key": 120805, | |
| − | + | "TurDate": "2025-01-27T12:00:00", | |
| − | + | "NameRus": "Петров", | |
| − | + | "NameLat": "Петров", | |
| − | + | "ShortName": "П.П.", | |
| − | + | "Sex": 0, | |
| − | + | "FNameRus": "Петр", | |
| − | + | "FNameLat": "Петр", | |
| − | + | "SNameRus": "Петрович", | |
| − | + | "SNameLat": "Петрович", | |
| − | + | "BirthDay": "2007-01-24T00:00:00", | |
| − | + | "BirthCountry": null, | |
| − | + | "BirthCity": null, | |
| − | + | "Citizen": null, | |
| − | + | "PostIndex": null, | |
| − | + | "PostCity": null, | |
| − | + | "PostStreet": null, | |
| − | + | "PostBild": null, | |
| − | + | "PostFlat": null, | |
| − | + | "Phone": null, | |
| − | + | "PhoneCode": null, | |
| − | + | "PasportType": "", | |
| − | + | "PasportNum": "", | |
| − | + | "PasportDate": null, | |
| − | + | "PasportDateEnd": null, | |
| − | + | "PasportByWhom": null, | |
| − | + | "Place": null, | |
| − | + | "IsAnketa": null, | |
| − | + | "PaspRuser": "", | |
| − | + | "PaspRuNum": "", | |
| − | + | "PaspRuDate": null, | |
| − | + | "PaspRuByWhom": "", | |
| − | + | "ClientId": null, | |
| − | + | "IsMain": 0, | |
| − | + | "DGKey": 54010, | |
| − | + | "RealSex": 0, | |
| − | + | "Email": "", | |
| − | + | "EnableSmsNotifications": 0, | |
| − | " | + | "CitizenId": "", |
| − | + | "Connections": [ | |
| − | + | { | |
| − | + | "$ref": 1 | |
| − | + | } | |
| − | + | ] | |
| − | + | } | |
| − | + | ], | |
| − | + | "TuristServices": [ | |
| − | + | { | |
| − | + | "$id": 6, | |
| − | + | "TUKey": 120806, | |
| − | + | "DLKey": 250570, | |
| − | " | + | "NumDoc": null, |
| − | + | "NumRoom": 0, | |
| − | + | "Seat": null, | |
| − | + | "Area": null, | |
| − | + | "DocDate": null, | |
| − | + | "Key": 134191, | |
| − | + | "Connections": [ | |
| − | + | { | |
| − | + | "$ref": 1 | |
| − | + | }, | |
| − | + | { | |
| − | " | + | "$ref": 3 |
| − | " | + | }, |
| − | " | + | { |
| − | " | + | "$ref": 4 |
| − | + | } | |
| − | + | ] | |
| − | + | }, | |
| − | + | { | |
| − | + | "$id": 7, | |
| − | + | "TUKey": 120805, | |
| − | + | "DLKey": 250570, | |
| − | + | "NumDoc": null, | |
| − | + | "NumRoom": 0, | |
| − | + | "Seat": null, | |
| − | + | "Area": null, | |
| − | + | "DocDate": null, | |
| − | + | "Key": 134190, | |
| − | + | "Connections": [ | |
| − | + | { | |
| − | + | "$ref": 1 | |
| − | + | }, | |
| − | + | { | |
| − | + | "$ref": 3 | |
| − | + | }, | |
| − | + | { | |
| − | + | "$ref": 5 | |
| − | + | } | |
| − | + | ] | |
| − | + | } | |
| − | + | ], | |
| − | + | "DogovorMessages": [ | |
| − | + | { | |
| − | + | "$id": 8, | |
| − | + | "Date": "2025-01-24T17:26:18.26", | |
| − | + | "Text": "Это тестовая путевка", | |
| − | + | "Remark": "от агента", | |
| − | + | "Connections": [ | |
| − | + | { | |
| − | + | "$ref": 1 | |
| − | + | } | |
| − | + | ] | |
| − | + | } | |
| − | + | ] | |
| − | + | }, | |
| − | + | "UsedMailService": false, | |
| − | + | "ValidationResultSummary": { | |
| − | + | "ValidationResult": { | |
| − | + | "Errors": [], | |
| − | + | "Warnings": null, | |
| − | + | "States": null, | |
| − | + | "IsValid": true | |
| − | + | }, | |
| − | + | "ValidationResultAttributes": 0 | |
| − | + | } | |
| − | + | } | |
| − | + | </syntaxhighlight> | |
| − | + | </TD></TR></TABLE> | |
| − | + | </div></div><br /> | |
| − | + | ||
| − | + | ===Выгрузка информации о путевке (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'' | ||
| + | |||
| + | <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> | ||
| + | Вызов метода CostOfferDescriptions | ||
| + | <syntaxhighlight lang="java" enclose="div"> | ||
| + | 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 | ||
| + | </syntaxhighlight> | ||
| + | Возвращаемый результат метода GetReservation (в формате JSON) | ||
| + | <syntaxhighlight lang="java" enclose="div"> | ||
| + | { | ||
| + | "$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": [{ | "Connections": [{ | ||
"$ref": 1 | "$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": [{ | "Connections": [{ | ||
"$ref": 1 | "$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 | |
| − | + | } | |
| − | + | ] | |
| − | + | } | |
| − | + | ] | |
| − | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Строка 8448: | Строка 9019: | ||
</div></div><br /> | </div></div><br /> | ||
| − | ===Выгрузка | + | ===Выгрузка информации о ценовых блоках (CostOfferDescriptions)=== |
| − | Метод | + | Метод принимает на вход ключи ценовых блоков и возвращает, прикреплённое к ним описание. |
* Формат запроса: | * Формат запроса: | ||
| − | ** GET .../TourSearchOwin/ | + | ** GET .../TourSearchOwin/CostOfferDescriptions? |
* Принимаемые параметры ( * – обязательный): | * Принимаемые параметры ( * – обязательный): | ||
| − | ** ''' | + | ** '''COKeysString''' * – ключи ценовых блоков через запятую |
* Возвращаемый результат: | * Возвращаемый результат: | ||
| − | ** ''' | + | ** '''CostOfferImageInfo''' – коллекция объектов из двух полей: |
| − | * | + | *** '''IdCostOffer''' – ключ ценового блока |
| − | ** ''' | + | *** '''InfoText''' – описание ценового блока |
| − | + | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | * | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | ** ''' | ||
| − | |||
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD> | <TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD> | ||
| − | Вызов метода | + | Вызов метода CostOfferDescriptions |
<syntaxhighlight lang="java" enclose="div"> | <syntaxhighlight lang="java" enclose="div"> | ||
| − | http://localhost:9000/TourSearchOwin/ | + | GET http://localhost:9000/TourSearchOwin/CostOfferDescriptions?COKeysString=15143 |
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Возвращаемый результат метода | + | Возвращаемый результат метода CostOfferDescriptions (в формате JSON) |
<syntaxhighlight lang="java" enclose="div"> | <syntaxhighlight lang="java" enclose="div"> | ||
| − | { | + | [ |
| − | + | { | |
| − | + | "CostOfferImageInfo": { | |
| − | + | "IdCostOffer": 15143, | |
| − | + | "InfoText": "СПО до 01.01.2020" | |
| − | + | }, | |
| − | + | } | |
| − | + | ] | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
</syntaxhighlight> | </syntaxhighlight> | ||
</TD></TR></TABLE> | </TD></TR></TABLE> | ||
</div></div><br /> | </div></div><br /> | ||
| − | === | + | |
| − | Метод | + | ===Получение капчи (GetCaptcha)=== |
| + | Метод возвращает капчу (используется при регистрации частного лица). | ||
* Формат запроса: | * Формат запроса: | ||
| − | ** GET .../TourSearchOwin/ | + | ** GET .../TourSearchOwin/GetCaptcha? |
* Принимаемые параметры ( * – обязательный): | * Принимаемые параметры ( * – обязательный): | ||
| − | ** ''' | + | ** '''sessionId''' * – Id сессии |
* Возвращаемый результат: | * Возвращаемый результат: | ||
| − | ** ''' | + | ** '''FileContents''' – файл капчи в бинарном виде |
| − | ** ''' | + | ** '''ContentType''' – расширение файла (image/jpeg) |
| + | ** '''FileDownloadName''' – имя файла | ||
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD> | <TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD> | ||
| − | Вызов метода | + | Вызов метода GetCaptcha |
<syntaxhighlight lang="java" enclose="div"> | <syntaxhighlight lang="java" enclose="div"> | ||
| − | http://localhost:9000/TourSearchOwin/ | + | GET http://localhost:9000/TourSearchOwin/GetCaptcha?sessionId=cd5yr3wftltmorphuzwx0krh |
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Возвращаемый результат метода | + | Возвращаемый результат метода GetCaptcha (в формате JSON) |
<syntaxhighlight lang="java" enclose="div"> | <syntaxhighlight lang="java" enclose="div"> | ||
{ | { | ||
| − | " | + | "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": "" | |
| − | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Строка 8634: | Строка 9087: | ||
</div></div><br /> | </div></div><br /> | ||
| − | === | ||