Мастер-Тур(15):API для разработки онлайн поиска и бронирования — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
Строка 4658: Строка 4658:
 
</div></div><br />
 
</div></div><br />
  
===Получение семейств тарифов авиаперелетов из внешней системы (GetGDSFlightFareFamilies)===
+
===Выгрузка информации от удаленного поставщика по перелету (RebuildFlights)===
Метод получает семейства тарифов для авиаперелетов из внешней системы.
+
Метод возвращает информацию по выбранному перелету от удаленного поставщика.  
 
* Формат запроса:
 
* Формат запроса:
** POST .../TourSearchOwin/GetGDSFlightFareFamilies?
+
** POST .../TourSearchOwin/RebuildFlights
 
 
 
* Принимаемые параметры headers ( '''*''' – обязательный):
 
* Принимаемые параметры headers ( '''*''' – обязательный):
 
** '''Content-Type *''' – application/json
 
** '''Content-Type *''' – application/json
  
 
* Принимаемые параметры POST запроса ( '''*''' – обязательный):
 
* Принимаемые параметры POST запроса ( '''*''' – обязательный):
** '''flightId''' – ID внешнего перелета
+
** '''flights''' – перелеты
** '''providerId''' – ID внешнего провайдера
+
*** '''direction''' –  
** '''languageCode''' – код локализации
+
*** '''commonPrice''' – общая стоимость перелета
** '''passengers''' – информация о пассажирах
+
*** '''remotePriceSource''' – данные расчета локального перелета
*** '''IsMain''' – главный турист
+
**** '''providerId''' – ID удаленного поставщика
*** '''Number''' – порядковый номер туриста
+
**** '''flightId''' – идентификатор внешнего перелета
*** '''AgeType''' – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
+
*** '''localPriceSource''' – данные расчета локального перелета
*** '''MaleFemaleSex''' – пол (0 – мужской, 1 – женский)
+
**** '''packetId''' – ключ пакета
*** '''FirstName''' – имя (лат)
+
**** '''partnerId''' – идентификатор партнера
*** '''LastName''' – фамилия (лат)
+
*** '''flightsSequenceSettings''' – описание параметров последовательности перелетов для которых действуют замены 
*** '''Patronymic''' – отчество (лат)
+
**** '''templateId''' – идентификатор шаблона услуги
*** '''FirstNameRus''' – имя (рус)
+
**** '''patternId''' – идентификатор паттерна услуги
*** '''LastNameRus''' – фамилия (рус)
+
**** '''serviceId''' – идентификатор класса услуги
*** '''PatronymicRus''' – отчество (рус)
+
*** '''segments''' – сегменты авиаперелета
*** '''InternationalPassportSeries''' – серия загранпаспорта
+
**** '''segmentNumber''' – номер сегмента
*** '''InternationalPassportNumber''' – номер загранпаспорта
+
**** '''depratureCity''' – город отправления
*** '''InternationalPassportDateOfIssue''' – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
+
***** '''gdsItem''' – справочная информация удаленной системы
*** '''InternationalPassportDateOfIssueString''' – дата выдачи загранпаспорта в строке (DD.MM.YYYY)
+
****** '''serviceId''' – идентификатор системы
*** '''InternationalPassportDateOfExpiry''' – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
+
****** '''languageId''' – идентификатор языка
*** '''InternationalPassportDateOfExpiryString''' – дата окончания действия загранпаспорта в строке (DD.MM.YYYY)
+
****** '''id''' – идентификатор в системе удаленного поставщика
*** '''internationalPassportByWhom''' – кем выдан загранпаспорт
+
****** '''code''' – код в системе удаленного поставщика
*** '''PassportSeries''' – серия паспорта
+
****** '''name''' – имя в системе удаленного поставщика
*** '''PassportNumber''' – номер паспорта
+
******* '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
*** '''PassportDateOfIssue''' – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
+
******* '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
*** '''PassportDateOfIssueString''' – дата выдачи паспорта в строке (DD.MM.YYYY)
+
****** '''displayedValue''' – значение поля справочника который используется для отображения
*** '''PassportByWhom''' – кем выдан паспорт
+
****** '''dependencies''' – список зависимых сущностей
*** '''Citizenship''' – название страны
+
******* '''dictionaryId''' – идентификатор справочника
*** '''Phone''' – телефон
+
******* '''itemId''' –  
*** '''Email''' – e-mail
+
****** '''columnValues''' – наименование города и страны
*** '''BirthDay''' – дата рождения (YYYY-MM-DDThh:mm:ssz)
+
***** '''mtItem''' – справочная информации локальной системы
*** '''BirthDayString''' – дата рождения в строковом формате (DD.MM.YYYY)
+
****** '''id''' – идентификатор в локальной системе
*** '''BirthPlace''' – место рождения
+
****** '''code''' – код в локальной системе
*** '''CitizenID''' – гражданство
+
****** '''name''' – имя в локальной системе
*** '''Age''' – количество полных лет на момент окончания тура
+
****** '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
** '''currency''' – валюта
+
****** '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
** '''price''' – стоимость
+
****** '''displayedValue''' – значение поля справочника который используется для отображения
** '''param''' – параметры перелета
+
****** '''dependencies''' – список зависимых сущностей
*** '''flightsSource''' – параметры перелета
+
******* '''dictionaryId''' – идентификатор справочника
**** '''flightSettings''' – информация о шаблоне услуги авиаперелета
+
******* '''itemId''' –  
***** '''templateId''' – идентификатор шаблона услуги
+
****** '''columnValues''' – наименование страны и города
***** '''patternId''' – идентификатор паттерна услуги (внутренняя информация из программы туров)
+
***** '''mapping''' – связка
***** '''serviceId''' – идентификатор класса услуги (внутренняя информация из программы туров)
+
****** '''id''' – Id маппинга
**** '''service''' – информация об услуге авиаперелета
+
****** '''providerId''' – Id провайдера
***** '''ServiceType''' – тип услуги
+
****** '''dictionaryId''' – Id справочника
***** '''Code''' – ключ услуги
+
****** '''providerDictionaryItemId''' – Id справочника удаленного поставщика
***** '''SubCode1''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 1]]
+
****** '''providerDictionaryItemName''' – обозначение справочника удаленного поставщика
***** '''SubCode2''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 2]]
+
****** '''mtDictionaryItemId''' – Id справочника МТ
***** '''CountryId''' – страна услуги
+
****** '''mtDictionaryItemName''' – обозначение справочника MT
***** '''CityId''' – город услуги
+
**** '''arrivalCity''' – город прибытия
***** '''PacketId''' – пакет услуги
+
***** '''gdsItem''' – справочная информация удаленной системы
***** '''PartnerId''' – партнер услуги
+
****** '''serviceId''' – идентификатор системы
***** '''Day''' – день предоставления услуги
+
****** '''languageId''' – идентификатор языка
***** '''DurationInNight''' – продолжительность услуги в ночах
+
****** '''id''' – идентификатор в системе удаленного поставщика
**** '''price''' – стоимость перелета
+
****** '''code''' – код в системе удаленного поставщика
**** '''quotaInfo''' – объект информация по квотам
+
****** '''name''' – имя в системе удаленного поставщика
***** '''status''' – статус по квотам (есть места / нет мест / под запрос)
+
******* '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
***** '''freePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''.
+
******* '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
***** '''isFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
+
****** '''displayedValue''' – значение поля справочника который используется для отображения
**** '''flightDateTimeLimitationInterval''' –  
+
****** '''dependencies''' – список зависимых сущностей
***** '''startLimitation''' – начало тайм-лимита
+
******* '''dictionaryId''' – идентификатор справочника
***** '''finishLimitation''' – объект тайм-лимита
+
******* '''itemId''' –  
****** '''dateTimeString''' – дата окончания тайм-лимита
+
****** '''columnValues''' – наименование города и страны
****** '''serviceType''' – тип услуги
+
***** '''mtItem''' – справочная информации локальной системы
****** '''serviceCode''' – код услуги
+
****** '''id''' – идентификатор в локальной системе
**** '''flightSourceMode''' – тип перелета (1 – локальный, 2 – из внешний системы)
+
****** '''code''' – код в локальной системе
*** '''passengers''' – информация о пассажирах
+
****** '''name''' – имя в локальной системе
**** '''IsMain''' – главный турист
+
****** '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
**** '''Number''' – порядковый номер туриста
+
****** '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
**** '''AgeType''' – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
+
****** '''displayedValue''' – значение поля справочника который используется для отображения
**** '''MaleFemaleSex''' – пол (0 – мужской, 1 – женский)
+
****** '''dependencies''' – список зависимых сущностей
**** '''FirstName''' – имя (лат)
+
******* '''dictionaryId''' – идентификатор справочника
**** '''LastName''' – фамилия (лат)
+
******* '''itemId''' –  
**** '''Patronymic''' – отчество (лат)
+
****** '''columnValues''' – наименование страны и города
**** '''FirstNameRus''' – имя (рус)
+
***** '''mapping''' – связка
**** '''LastNameRus''' – фамилия (рус)
+
****** '''id''' – Id маппинга
**** '''PatronymicRus''' – отчество (рус)
+
****** '''providerId''' – Id провайдера
**** '''InternationalPassportSeries''' – серия загранпаспорта
+
****** '''dictionaryId''' – Id справочника
**** '''InternationalPassportNumber''' – номер загранпаспорта
+
****** '''providerDictionaryItemId''' – Id справочника удаленного поставщика
**** '''InternationalPassportDateOfIssue''' – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
+
****** '''providerDictionaryItemName''' – обозначение справочника удаленного поставщика
**** '''InternationalPassportDateOfIssueString''' – дата выдачи загранпаспорта в строковом формате (DD.MM.YYYY)
+
****** '''mtDictionaryItemId''' – Id справочника МТ
**** '''InternationalPassportDateOfExpiry''' – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
+
****** '''mtDictionaryItemName''' – обозначение справочника MT
**** '''InternationalPassportDateOfExpiryString''' – дата окончания действия загранпаспорта в строковом формате (DD.MM.YYYY)
+
**** '''departureAirport''' – аэропорт вылета
**** '''internationalPassportByWhom''' – кем выдан загранпаспорт
+
**** '''arrivalAirport''' – аэропорт прилета
**** '''PassportSeries''' – серия паспорта
+
***** '''gdsItem''' –справочная информация удаленной системы
**** '''PassportNumber''' – номер паспорта
+
****** '''serviceId''' – идентификатор системы
**** '''PassportDateOfIssue''' – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
+
****** '''languageId''' – идентификатор языка
**** '''PassportDateOfIssueString''' – дата выдачи паспорта в строковом формате (DD.MM.YYYY)
+
****** '''id''' – идентификатор аэропорта вылета
**** '''PassportByWhom''' – кем выдан паспорт
+
****** '''code''' – код аэропорта вылета
**** '''Citizenship''' – название страны
+
****** '''name''' – наименование аэропорта
**** '''Phone''' – телефон
+
******* '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
**** '''Email''' – e-mail
+
******* '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
**** '''BirthDay''' – дата рождения (YYYY-MM-DDThh:mm:ssz)
+
****** '''displayedValue''' – значение поля справочника который используется для отображения
**** '''BirthDayString''' – дата рождения в строковом формате (DD.MM.YYYY)
+
****** '''dependencies''' – список зависимых сущностей
**** '''BirthPlace''' – место рождения
+
******* '''dictionaryId''' – идентификатор справочника
**** '''CitizenID''' – гражданство
+
******* '''itemId''' –  
**** '''Age''' – количество полных лет на момент окончания тура
+
****** '''columnValues''' – наименование аэропорта города страны
*** '''tourDate''' – дата тура
+
***** '''mtItem''' – справочная информации из локальной системы
*** '''tourCurrency''' – валюта тура
+
****** '''id''' – идентификатор аэропорта в локальной системе
*** '''tourId''' – ключ программы тура
+
****** '''code''' – код аэропорта в локальной системе
*** '''filterTariff''' – информация о тарифах
+
****** '''name''' – имя аэропорта в локальной системе
*** '''filterDeptime''' – информация о времени вылета
+
****** '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
*** '''isCommission''' – признак комиссионной цены
+
****** '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
*** '''baseFlightsParams''' – параметра авиаперелета
+
****** '''displayedValue''' – значение поля справочника который используется для отображения
**** '''CityArrival''' – город прибытия
+
****** '''dependencies''' – список зависимых сущностей
**** '''FlightCode''' – код авиаперелета
+
******* '''dictionaryId''' – идентификатор справочника
**** '''TariffKey''' – ключ тарифа
+
******* '''itemId''' –  
**** '''PartnerId''' – ключ партнера
+
****** '''columnValues''' – наименование страны и города
*** '''isUpdated''' – информация об обновлении перелета
+
***** '''mapping''' – связка
*** '''key''' – ключ запроса
+
****** '''id''' – Id маппинга аэропорта
*** '''tourDurationByDays''' – продолжительность перелета
+
****** '''providerId''' – Id провайдера аэропорта
*** '''langueCode''' – локализация
+
****** '''dictionaryId''' – Id справочника аэропорта
 
+
****** '''providerDictionaryItemId''' – Id справочника аэропорта удаленного поставщика
* Возвращаемый результат:
+
****** '''providerDictionaryItemName''' – обозначение справочника аэропорта удаленного поставщика
** '''validationResult''' – информация о валидации
+
****** '''mtDictionaryItemId''' – Id справочника аэропорта МТ
*** '''Errors''' – ошибки
+
****** '''mtDictionaryItemName''' – обозначение справочника аэропорта MT
*** '''Warnings''' – предупреждения
+
**** '''airline''' – авиакомпания
*** '''States''' – статус
+
***** '''gdsItem''' – справочная информация удаленной системы
*** '''IsValid''' – информация о результате
+
****** '''serviceId''' – идентификатор авиакомпании удаленной системы
** '''tariffSequencies''' – информация тарифах
+
****** '''languageId''' – идентификатор языка
*** '''flightId''' – идентификатор перелета
+
****** '''id''' – идентификатор авиакомпании
*** '''universalParametrsSequence''' – параметры тарифов
+
****** '''code''' – код авиакомпании
**** '''universalParametrs''' – массив параметров
+
****** '''name''' – наименование авиакомпании
***** '''code''' – описание параметра тарифа
+
******* '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
***** '''priority''' – приоритет показа
+
******* '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
***** '''needToPay''' – нужна ли доплата
+
****** '''displayedValue''' – значение поля справочника который используется для отображения
***** '''shortDescriptions''' – краткое описание
+
****** '''dependencies''' – список зависимых сущностей
****** '''code''' – код
+
****** '''columnValues''' – наименование авиакомпании
****** '''value''' – значение
+
***** '''mtItem''' – справочная информация из локальной системы
*** '''price''' – стоимость
+
****** '''id''' – идентификатор авиакомпании в локальной системе
*** '''deltaPrice''' – разница в цене
+
****** '''code''' – код авиакомпании в локальной системе
*** '''timeLimit''' – тайм-лимит
+
****** '''name''' – наименование авиакомпании в локальной системе
*** '''segments''' – сегменты
+
****** '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
*** '''depAirportCode''' – код аэропорта отправления
+
****** '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
*** '''depCityCode''' – код города отправления
+
****** '''displayedValue''' – значение поля справочника который используется для отображения
*** '''arrAirportCode''' – код аэропорта прибытия
+
****** '''dependencies''' – список зависимых сущностей
*** '''arrCityCode''' – код города прибытия
+
****** '''columnValues''' – наименование авиакомпании
 
+
***** '''mapping''' – связка
 
+
****** '''id''' – Id маппинга авиакомпании
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
+
****** '''providerId''' – Id провайдера авиакомпании
<div class="mw-collapsible-content">
+
****** '''dictionaryId''' – Id справочника авиакомпании
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
+
****** '''providerDictionaryItemId''' – Id справочника авиакомпании удаленного поставщика
Вызов метода GetGDSFlightFareFamilies
+
****** '''providerDictionaryItemName''' – обозначение справочника авиакомпании удаленного поставщика
<syntaxhighlight lang="java" enclose="div">
+
****** '''mtDictionaryItemId''' – Id справочника авиакомпании МТ
POST http://localhost:9000/TourSearchOwin/GetGDSFlightFareFamilies? HTTP/1.1
+
****** '''mtDictionaryItemName''' – обозначение справочника авиакомпании MT
Content-Type: application/json
+
**** '''aircraft''' – воздушное судно
 
+
***** '''gdsItem''' – справочная информация удаленной системы
{
+
****** '''serviceId''' – идентификатор воздушного судна удаленной системы
    "flightId": "17554943020000",
+
****** '''languageId''' – идентификатор языка
    "providerId": 82,
+
****** '''id''' – идентификатор воздушного судна
    "languageCode": "ru",
+
****** '''code''' – код воздушного судна
    "passengers": [{
+
****** '''name''' – наименование воздушного судна
            "IsMain": true,
+
******* '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
            "Number": 1,
+
******* '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
            "AgeType": 0,
+
****** '''displayedValue''' – значение поля справочника который используется для отображения
            "MaleFemaleSex": 0,
+
****** '''dependencies''' – список зависимых сущностей
            "FirstName": "",
+
****** '''columnValues''' – наименование воздушного судна
            "LastName": "",
+
***** '''mtItem''' – справочная информация из локальной системы
            "Patronymic": "",
+
****** '''id''' – идентификатор воздушного судна в локальной системе
            "FirstNameRus": "",
+
****** '''code''' – код воздушного судна в локальной системе
            "LastNameRus": "",
+
****** '''name''' – наименование воздушного судна в локальной системе
            "PatronymicRus": "",
+
****** '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
            "InternationalPassportSeries": "",
+
****** '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
            "InternationalPassportNumber": "",
+
****** '''displayedValue''' – значение поля справочника который используется для отображения
            "InternationalPassportDateOfIssue": "",
+
****** '''dependencies''' – список зависимых сущностей
            "InternationalPassportDateOfIssueString": "",
+
****** '''columnValues''' – наименование воздушного судна
            "InternationalPassportDateOfExpiry": "",
+
***** '''mapping''' – связка
            "InternationalPassportDateOfExpiryString": "",
+
****** '''id''' – Id маппинга воздушного судна
            "internationalPassportByWhom": "",
+
****** '''providerId''' – Id провайдера воздушного судна
            "PassportSeries": "",
+
****** '''dictionaryId''' – Id справочника воздушного судна
            "PassportNumber": "",
+
****** '''providerDictionaryItemId''' – Id справочника воздушного судна удаленного поставщика
            "PassportDateOfIssue": "",
+
****** '''providerDictionaryItemName''' – обозначение справочника воздушного судна удаленного поставщика
            "PassportDateOfIssueString": "",
+
****** '''mtDictionaryItemId''' – Id справочника воздушного судна МТ
            "PassportByWhom": "",
+
****** '''mtDictionaryItemName''' – обозначение справочника воздушного судна MT
            "Citizenship": "",
+
**** '''tariff''' – тариф
            "Phone": "",
+
***** '''gdsItem''' – справочная информация удаленной системы
            "Email": "",
+
****** '''id''' – идентификатор тарифа
            "BirthDay": "",
+
****** '''code''' – код тарифа
            "BirthDayString": "",
+
****** '''name''' – наименование тарифа
            "BirthPlace": "",
+
******* '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
            "CitizenID": "",
+
******* '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
            "Age": 17
+
****** '''displayedValue''' – значение поля справочника который используется для отображения
        }, {
+
****** '''dependencies''' – список зависимых сущностей
            "IsMain": false,
+
****** '''columnValues''' – наименование тарифа
            "Number": 2,
+
***** '''mtItem''' – справочная информация из локальной системы
            "AgeType": 0,
+
***** '''mapping''' – связка
            "MaleFemaleSex": 0,
+
**** '''flightNumber''' – номер перелета
            "FirstName": "",
+
**** '''baggageRestriction''' – ограничение провоза багажа
            "LastName": "",
+
**** '''caryyOncarry''' – ограничение ручной клади
            "Patronymic": "",
+
**** '''departureDate''' – дата вылета
            "FirstNameRus": "",
+
**** '''arrivalDate''' – дата прилета
            "LastNameRus": "",
+
**** '''quotaInfo''' – объект информация по квотам
            "PatronymicRus": "",
+
***** '''status''' – статус по квотам (есть места / нет мест / под запрос)
            "InternationalPassportSeries": "",
+
***** '''freePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
            "InternationalPassportNumber": "",
+
***** '''isFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
            "InternationalPassportDateOfIssue": "",
+
** '''tourDate''' – дата тура
            "InternationalPassportDateOfIssueString": "",
+
 
            "InternationalPassportDateOfExpiry": "",
+
* Возвращаемый результат:
            "InternationalPassportDateOfExpiryString": "",
+
** '''flights''' – информация о рейсах
            "internationalPassportByWhom": "",
+
*** '''remoteFlightId''' – идентификатор удаленного перелета
            "PassportSeries": "",
+
*** '''flightsSettings''' – внутренняя информация о перелете
            "PassportNumber": "",
+
**** '''templateId''' – идентификатор шаблона услуги
            "PassportDateOfIssue": "",
+
**** '''patternId''' – идентификатор паттерна услуги
            "PassportDateOfIssueString": "",
+
**** '''serviceId''' – идентификатор класса услуги
            "PassportByWhom": "",
+
*** '''flightsPlains''' – планы полетов
            "Citizenship": "",
+
**** '''DepartureCity''' – город вылета
            "Phone": "",
+
***** '''Key''' – ключ города
            "Email": "",
+
***** '''Value''' – наименование города
            "BirthDay": "",
+
**** '''DepartureCountry''' – страна вылета
            "BirthDayString": "",
+
***** '''Key''' – ключ страны
            "BirthPlace": "",
+
***** '''Value''' – наименование страны
            "CitizenID": "",
+
**** '''ArrivalCity''' – город прибытия
            "Age": 17
+
***** '''Key''' – ключ города
        }
+
***** '''Value''' – наименование города
    ],
+
**** '''ArrivalCountry''' – страна прибытия
    "currency": "$",
+
***** '''Key''' – ключ страны
    "price": 147,
+
***** '''Value''' – наименование страны
    "param": {
+
**** '''DepartureAirport''' – аэропорт вылета
        "flightsSource": [{
+
***** '''Key''' – ключ аэропорта
                "flightSettings": {
+
***** '''Value''' – наименование аэропорта
                    "templateId": 1,
+
**** '''ArrivalAirport''' – аэропорт прилета
                    "patternId": 0,
+
***** '''Key''' – ключ аэропорта
                    "serviceId": 0
+
***** '''Value''' – наименование аэропорта
                },
+
**** '''Airline''' – авиакомпания
                "service": {
+
***** '''Id''' – идентификатор авиакомпании
                    "serviceType": 1,
+
***** '''"Value''' – наименование авиакомпании
                    "code": 1084,
+
***** '''"Key''' – ключ авиакомпании
                    "subCode1": 67,
+
**** '''Aircraft''' – воздушное судно
                    "subCode2": 1,
+
***** '''Key''' – ключ воздушного судна
                    "countryId": 90,
+
***** '''Value''' – наименование воздушного судна
                    "cityId": 35,
+
**** '''Flight''' – рейс
                    "packetId": 1037,
+
***** '''Key''' – ключ рейса
                    "partnerId": 12792,
+
***** '''Value''' – наименование рейса
                    "day": 1,
+
**** '''DepartureTime''' – время отправления
                    "durationInNight": 0
+
**** '''ArrivalTime''' – время прибытия
                },
+
**** '''TotalTimeOfFlight''' – полное время перелета
                "price": 146.44,
+
**** '''FlightDetails''' – детали авиаперелета
                "quotaInfo": {
+
***** '''Tariff''' – информация о тарифе перелета
                    "status": 4,
+
****** '''Key''' – идентификатор
                    "freePlaces": 0,
+
****** '''Code''' – код тарифа
                    "isFewPlaces": false
+
****** '''Name''' – наименование тарифа
                },
+
***** '''IsCommission''' – признак, комиссионная ли услуга
                "flightDateTimeLimitationInterval": {
+
***** '''Cost''' – разница в стоимости с самым дешевым вариантом
                    "startLimitation": null,
+
***** '''QuotaStatus''' – информация о квоте
                    "finishLimitation": {
+
****** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос)
                        "dateTimeString": "2021-01-30T21:40:00",
+
****** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
                        "serviceType": 3,
+
****** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
                        "serviceCode": 178
+
***** '''PartnerId''' – ключ партнера
                    }
+
***** '''ByPax''' – цена за человека (true/false)
                },
+
***** '''Partner''' – информация о партнере
                "flightSourceMode": 2
+
****** '''Key''' – идентификатор
            }
+
****** '''Value''' – наименование
        ],
+
**** '''FlightSetting''' – информация о шаблоне услуги авиаперелета
        "passengers": [{
+
***** '''ServiceId''' – идентификатор класса услуги (внутренняя информация из программы туров)
                "IsMain": true,
+
***** '''PatternId''' – идентификатор паттерна услуги (внутренняя информация из программы туров)
                "Number": 1,
+
***** '''FlightId''' – идентификатор внешнего перелета
                "AgeType": 0,
+
**** '''FlightSourceMode''' – локальный или удаленный перелет (внутренняя информация из программы туров)
                "MaleFemaleSex": 0,
+
**** '''Id''' – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
                "FirstName": "",
+
**** '''SvKey''' – ключ типа услуги
                "LastName": "",
+
**** '''IsSubCode1''' – признак наличия [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 1]]
                "Patronymic": "",
+
**** '''IsSubCode2''' – признак наличия [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 2]]
                "FirstNameRus": "",
+
**** '''IsPartnerBasedOn''' – признак услуга с приоритетным подбором поставщика
                "LastNameRus": "",
+
**** '''Day''' – день предоставления услуги
                "PatronymicRus": "",
+
**** '''DurationInNight''' – продолжительность услуги в ночах
                "InternationalPassportSeries": "",
+
**** '''BeginDateTime''' – дата предоставления услуги
                "InternationalPassportNumber": "",
+
**** '''EndDateTime''' – дата окончания услуги
                "InternationalPassportDateOfIssue": "",
+
**** '''IsHooded''' – признак скрытая услуга
                "InternationalPassportDateOfIssueString": "",
+
**** '''IsDeleted''' – признак удаляемая услуга
                "InternationalPassportDateOfExpiry": "",
+
**** '''IsNotCalculate''' – признак не рассчитываемая услуга
                "InternationalPassportDateOfExpiryString": "",
+
**** '''PacketId''' – ключ пакета
                "internationalPassportByWhom": "",
+
**** '''Index''' – порядковый номер услуги
                "PassportSeries": "",
+
 
                "PassportNumber": "",
+
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
                "PassportDateOfIssue": "",
+
<div class="mw-collapsible-content">
                "PassportDateOfIssueString": "",
+
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
                "PassportByWhom": "",
+
Вызов метода RebuildFlights
                "Citizenship": "",
+
<syntaxhighlight lang="java" enclose="div">
                "Phone": "",
+
POST http://localhost:9000/TourSearchOwin/RebuildFlights HTTP/1.1
                "Email": "",
+
Content-Type: application/json
                "BirthDay": "",
+
{
                "BirthDayString": "",
+
  "flights": [
                "BirthPlace": "",
+
    {
                "CitizenID": "",
+
      "remotePriceSource": {
                "Age": 17
+
        "providerId": 1,
            }, {
+
        "flightId": "111397601080000"
                "IsMain": false,
+
      },
                "Number": 2,
+
      "localPriceSource": {
                "AgeType": 0,
+
        "packetId": 197,
                "MaleFemaleSex": 0,
+
        "partnerId": 10767
                "FirstName": "",
+
      },
                "LastName": "",
+
      "flightsSequenceSettings": [
                "Patronymic": "",
+
        {
                "FirstNameRus": "",
+
          "templateId": 1,
                "LastNameRus": "",
+
          "patternId": 0,
                "PatronymicRus": "",
+
          "serviceId": 0
                "InternationalPassportSeries": "",
+
        }
                "InternationalPassportNumber": "",
+
      ],
                "InternationalPassportDateOfIssue": "",
+
      "segments": [
                "InternationalPassportDateOfIssueString": "",
+
        {
                "InternationalPassportDateOfExpiry": "",
+
          "segmentNumber": 1,
                "InternationalPassportDateOfExpiryString": "",
+
          "depratureCity": {
                "internationalPassportByWhom": "",
+
            "gdsItem": {
                "PassportSeries": "",
+
              "id": "524901",
                "PassportNumber": "",
+
              "code": "MOW",
                "PassportDateOfIssue": "",
+
              "name": "Moscow",
                "PassportDateOfIssueString": "",
+
              "requestValue": "MOW",
                "PassportByWhom": "",
+
              "displayedValue": "Moscow",
                "Citizenship": "",
+
              "dependencies": [
                "Phone": "",
+
                {
                "Email": "",
+
                  "dictionaryId": 1,
                "BirthDay": "",
+
                  "itemId": "643"
                "BirthDayString": "",
+
                }
                "BirthPlace": "",
+
              ]
                "CitizenID": "",
+
            },
                "Age": 17
+
            "mtItem": {
 +
              "id": "1",
 +
              "code": "MOW",
 +
              "name": "Москва",
 +
              "requestValue": "",
 +
              "displayedValue": "Москва",
 +
              "dependencies": [
 +
                {
 +
                  "dictionaryId": 1,
 +
                  "itemId": "460"
 +
                }
 +
              ]
 +
            },
 +
            "mapping": {
 +
              "id": 143,
 +
              "providerId": 1,
 +
              "dictionaryId": 2,
 +
              "providerDictionaryItemId": "524901",
 +
              "providerDictionaryItemName": null
 
             }
 
             }
        ],
+
          },
        "tourDate": "2021-01-30T00:00:00",
+
          "arrivalCity": {
        "tourCurrency": "$",
+
            "gdsItem": {
        "tourId": 100008958,
+
              "id": "2761369",
        "filterTariff": {},
+
              "code": "VIE",
        "filterDeptime": ["all"],
+
              "name": "Vienna",
        "isCommission": true,
+
              "requestValue": "VIE",
        "baseFlightsParams": [{
+
              "displayedValue": "Vienna",
                "CityArrival": 35,
+
              "dependencies": [
                "FlightCode": 1084,
+
                {
                "TariffKey": 67,
+
                  "dictionaryId": 1,
                "PartnerId": 12792
+
                  "itemId": "40"
            }
+
                }
        ],
+
              ]
        "isUpdated": false,
+
            },
        "key": 0,
+
            "mtItem": {
        "tourDurationByDays": "11",
+
              "id": "35",
        "langueCode": "ru"
+
              "code": "VIE",
    }
+
              "name": "Вена",
}
+
              "requestValue": "",
 
+
              "displayedValue": "Вена",
</syntaxhighlight>
+
              "dependencies": [
Возвращаемый результат метода GetGDSFlightFareFamilies (в формате JSON)
+
                {
<syntaxhighlight lang="java" enclose="div">
+
                  "dictionaryId": 1,
[
+
                  "itemId": "90"
{
+
                }
    "validationResult": {
+
              ]
        "Errors": [],
+
            },
        "Warnings": null,
+
            "mapping": {
        "States": null,
+
              "id": 41,
        "IsValid": true
+
              "providerId": 1,
    },
+
              "dictionaryId": 2,
    "tariffSequencies": [{
+
              "providerDictionaryItemId": "2761369",
            "flightId": "17554961000000",
+
              "providerDictionaryItemName": null
            "universalParametrsSequence": [{
+
            }
                    "universalParametrs": [{
+
          },
                            "code": "description",
+
          "departureAirport": {
                            "priority": 0,
+
            "gdsItem": {
                            "needToPay": "Free",
+
              "id": "5135",
                            "shortDescriptions": [{
+
              "code": "SVO",
                                    "code": "RU",
+
              "name": "Moscow, Sheremetyevo",
                                    "value": "Минимум"
+
              "requestValue": "SVO",
                                }
+
              "displayedValue": "SVO Moscow, Sheremetyevo",
                            ]
+
              "dependencies": [
                        }, {
+
                {
                            "code": "carry_on",
+
                  "dictionaryId": 1,
                            "priority": 1,
+
                  "itemId": "643"
                            "needToPay": "Free",
+
                },
                            "shortDescriptions": [{
+
                {
                                    "code": "RU",
+
                  "dictionaryId": 2,
                                    "value": "5 кг (40x30x20 см)"
+
                  "itemId": "524901"
                                }
+
                }
                            ]
+
              ]
                        }, {
+
            },
                            "code": "carry_on",
+
            "mtItem": {
                            "priority": 2,
+
              "id": "52",
                            "needToPay": "Charge",
+
              "code": "SVO",
                            "shortDescriptions": [{
+
              "name": "Шереметьево-2",
                                    "code": "RU",
+
              "requestValue": "",
                                    "value": "10 кг (55x40x25 см)"
+
              "displayedValue": "SVO Шереметьево-2",
                                }
+
              "dependencies": [
                            ]
+
                {
                        }, {
+
                  "dictionaryId": 1,
                            "code": "baggage",
+
                  "itemId": "460"
                            "priority": 3,
+
                },
                            "needToPay": "Charge",
+
                {
                            "shortDescriptions": [{
+
                  "dictionaryId": 2,
                                    "code": "RU",
+
                  "itemId": "1"
                                    "value": "платный"
 
                                }
 
                            ]
 
                        }, {
 
                            "code": "exchangeable",
 
                            "priority": 4,
 
                            "needToPay": "Charge",
 
                            "shortDescriptions": [{
 
                                    "code": "RU",
 
                                    "value": "Обмен разрешен со сбором"
 
                                }
 
                            ]
 
                        }, {
 
                            "code": "refundable",
 
                            "priority": 5,
 
                            "needToPay": "NotAvailable",
 
                            "shortDescriptions": [{
 
                                    "code": "RU",
 
                                    "value": "Возврат запрещен"
 
                                }
 
                            ]
 
                        }
 
                    ]
 
 
                 }
 
                 }
             ],
+
              ]
             "price": 147,
+
             },
            "deltaPrice": 0,
+
             "mapping": {
            "timeLimit": "22.01.2021 4:08:00",
+
              "id": 1619,
             "segments": [{
+
              "providerId": 1,
                    "depAirportCode": "VKO",
+
              "dictionaryId": 5,
                    "depCityCode": "MOW",
+
              "providerDictionaryItemId": "5135",
                    "arrAirportCode": "VIE",
+
              "providerDictionaryItemName": null
                    "arrCityCode": "VIE"
+
            }
                 }
+
          },
            ]
+
          "arrivalAirport": {
        }
+
             "gdsItem": {
    ],
+
              "id": "6625",
    "isDone": true
+
              "code": "VIE",
}
+
              "name": "Vienna International Airport",
]
+
              "requestValue": "VIE",
</syntaxhighlight>
+
              "displayedValue": "VIE Vienna International Airport",
</TD></TR></TABLE>
+
              "dependencies": [
</div></div><br />
+
                 {
 
+
                  "dictionaryId": 1,
===Загрузка филиалов (Branches) начиная с релиза 15.3===
+
                  "itemId": "40"
Метод производит выгрузку филиалов бронирования.
+
                },
* Формат запроса:
+
                {
** GET .../TourSearchOwin/Branches?
+
                  "dictionaryId": 2,
* Принимаемые параметры GET запроса ( '''*''' – обязательный):
+
                  "itemId": "2761369"
** '''ids''' – массив ключей филиалов
+
                }
** '''cityKey''' – фильтр по городу филиала (если 0 или не задан, то выбираются все филиалы)
+
              ]
 
+
            },
* Возвращаемый результат:
+
            "mtItem": {
** '''Key''' – ключ филиала (ключ партнера)
+
              "id": "58",
** '''Value''' – название филиала (название партнера)
+
              "code": "VIE",
 
+
              "name": "Vena",
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
+
              "requestValue": "",
<div class="mw-collapsible-content">
+
              "displayedValue": "VIE Vena",
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
+
              "dependencies": [
Вызов метода Branches
+
                {
<syntaxhighlight lang="java" enclose="div">
+
                  "dictionaryId": 1,
GET http://localhost:9000/TourSearchOwin/Branches?
+
                  "itemId": "90"
</syntaxhighlight>
+
                },
Возвращаемый результат метода Branches (в формате JSON)
+
                {
<syntaxhighlight lang="java" enclose="div">
+
                  "dictionaryId": 2,
[{
+
                  "itemId": "35"
"Key": 12848,
+
                }
"Value": "Филиал 1"
+
              ]
},
+
            },
{
+
            "mapping": {
"Key": 12849,
+
              "id": 259,
"Value": "Филиал 2"
+
              "providerId": 1,
},
+
              "dictionaryId": 5,
{
+
              "providerDictionaryItemId": "6625",
"Key": 12850,
+
              "providerDictionaryItemName": null
"Value": "Филиал 3"
+
            }
}]
+
          },
</syntaxhighlight>
+
          "airline": {
</TD></TR></TABLE>
+
            "gdsItem": {
</div></div><br />
+
              "id": "5",
 
+
              "code": "SU",
 
+
              "name": "Aeroflot",
===Загрузка ведущих менеджеров (Users) начиная с релиза 15.3===
+
              "requestValue": "SU",
Метод производит выгрузку ведущих менеджеров.
+
              "displayedValue": "SU Aeroflot",
* Формат запроса:
+
              "dependencies": []
** GET .../TourSearchOwin/Users?
+
            },
* Принимаемые параметры GET запроса ( '''*''' – обязательный):
+
            "mtItem": {
** '''ids''' – массив ключей ведущих менеджеров
+
              "id": "31",
** '''branchKey''' – ключ филиала бронирования, к которому они привязаны
+
              "code": "SU",
 
+
              "name": "Aeroflot-Russian International AirLines",
* Возвращаемый результат:
+
              "requestValue": "",
** '''Key''' – ключ ведущего менеджера
+
              "displayedValue": "SU Aeroflot-Russian International AirLines",
** '''Value''' – полное имя ведущего менеджера
+
              "dependencies": []
 
+
            },
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
+
            "mapping": {
<div class="mw-collapsible-content">
+
              "id": 265,
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
+
              "providerId": 1,
Вызов метода Users
+
              "dictionaryId": 5,
<syntaxhighlight lang="java" enclose="div">
+
              "providerDictionaryItemId": "5",
GET http://localhost:9000/TourSearchOwin/Users?
+
              "providerDictionaryItemName": null
</syntaxhighlight>
+
            }
Возвращаемый результат метода Users (в формате JSON)
+
          },
<syntaxhighlight lang="java" enclose="div">
+
          "aircraft": {
[{
+
            "gdsItem": {
"Key": 1532,
+
              "id": "97",
"Value": "Иванов И."
+
              "code": "73H",
},
+
              "name": "Boeing 737",
 +
              "requestValue": "73H",
 +
              "displayedValue": "73H Boeing 737",
 +
              "dependencies": []
 +
            },
 +
            "mtItem": {
 +
              "id": "27",
 +
              "code": "73H",
 +
              "name": "73H",
 +
              "requestValue": "",
 +
              "displayedValue": "73H 73H",
 +
              "dependencies": []
 +
            },
 +
            "mapping": {
 +
              "id": 323,
 +
              "providerId": 1,
 +
              "dictionaryId": 5,tour
 +
              "providerDictionaryItemId": "97",
 +
              "providerDictionaryItemName": null
 +
            }
 +
          },
 +
          "tariff": {
 +
            "gdsItem": {
 +
              "id": "0",
 +
              "code": "N",
 +
              "name": "Экономический класс",
 +
              "requestValue": "",
 +
              "displayedValue": "",
 +
              "dependencies": []
 +
            },
 +
            "mtItem": null,
 +
            "mapping": null
 +
          },
 +
          "flightNumber": "2184",
 +
          "baggageRestriction": [],
 +
          "departureDate": "2021-10-25T09:00:00",
 +
          "arrivalDate": "2021-10-25T11:00:00",
 +
          "quotaInfo": {
 +
            "status": 1,
 +
            "freePlaces": 0,
 +
            "isFewPlaces": false
 +
          }
 +
        }
 +
      ],
 +
      "commonPrice": 313
 +
    }
 +
  ],
 +
  "tourDate": "2021-10-25T00:00:00"
 +
}
 +
</syntaxhighlight>
 +
Возвращаемый результат метода RebuildFlights (в формате JSON)
 +
<syntaxhighlight lang="java" enclose="div">
 
{
 
{
"Key": 12849,
+
  "flights": [
"Value": "Петров П."
+
    {
}]
+
      "remoteFlightId": "111397601080000",
</syntaxhighlight>
+
      "flightsSettings": [
</TD></TR></TABLE>
+
        {
</div></div><br />
+
          "templateId": 1,
 
+
          "patternId": 0,
 
+
          "serviceId": 0
===Расчет путевки (CalculateReservation)===
+
        }
Метод производит расчет стоимости путевки.
+
      ],
* Формат запроса:
+
      "flightsPlains": [
** POST .../TourSearchOwin/CalculateReservation?
+
        {
 
+
          "DepartureCity": {
* Принимаемые параметры headers ( '''*''' – обязательный):
+
            "Key": 1,
** '''Content-Type *''' – application/json
+
            "Value": "Москва"
 
+
          },
* Принимаемые параметры POST запроса:
+
          "DepartureCountry": {
** '''TourProgramId''' – ключ турпрограммы
+
            "Key": 460,
** '''BeginDate''' – дата начала тура
+
            "Value": "Россия"
** '''Duration''' – продолжительность тура
+
          },
** '''Currency''' – код валюты
+
          "ArrivalCity": {
** '''initialPrice''' – объект изначальная цена
+
            "Key": 35,
*** '''price''' – цена
+
            "Value": "Вена"
*** '''currency''' – код валюты
+
          },
** '''Services''' – массив услуг
+
          "ArrivalCountry": {
*** '''Service''' – объект услуги (отель/круиз, авиаперелет, трансфер или др.)
+
            "Key": 90,
**** '''ServiceType''' – тип услуги (поле ''sv_key'' из таблицы ''service'')
+
            "Value": "Австрия"
**** '''Code''' – код услуги
+
          },
**** '''SubCode1''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 1]] услуги
+
          "DepartureAirport": {
**** '''SubCode2''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 2]] услуги
+
            "Key": "SVO",
**** '''Packet''' – ключ пакета услуги
+
            "Value": "Шереметьево-2"
**** '''Partner''' – ключ партнера услуги
+
          },
**** '''Day''' – день предоставления услуги
+
          "ArrivalAirport": {
**** '''DurationInNight''' – продолжительность услуги в ночах
+
            "Key": "VIE",
**** '''City''' – ключ города
+
            "Value": "Vena"
**** '''Country''' – страна услуги
+
          },
**** '''Attributes''' – битовая маска атрибутов услуг
+
          "Airline": {
**** '''IsRemovable''' – (не обрабатывается)
+
            "Id": 31,
**** '''Type''' – тип услуги в путевке (базовая дополнительная)
+
            "Value": "Aeroflot-Russian International AirLines",
**** '''IsHooded''' – признак скрытая услуга
+
            "Key": "SU"
**** '''IsNotCalculated''' – признак не рассчитываемая услуга
+
          },
**** '''BeginDateTimeString''' – дата и время начала услуги
+
          "Aircraft": {
**** '''EndDateTimeString''' – дата и время окончания услуги
+
            "Key": "73H",
**** '''TemplateId''' – шаблон услуги
+
            "Value": "73H"
**** '''Cost''' – цена услуги
+
          },
**** '''ByPax''' – цена за человека
+
          "Flight": {
**** '''QuotaStatus''' – объект статус квотирования
+
            "Key": 621,
***** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос)
+
            "Value": "2184"
***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''.
+
          },
***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
+
          "DepartureTime": "09:00:00",
**** '''Index''' – индекс услуги
+
          "ArrivalTime": "11:00:00",
**** '''IsRoute''' – признак маршрутная услуга
+
          "TotalTimeOfFlight": null,
**** '''ServiceTemplateIndex''' – индекс шаблона услуги
+
          "FlightDetails": [
**** '''RemoteId''' – информация об услуге в удаленной системе
+
            {
**** '''IsCommission''' – признак, комиссионная ли услуга
+
              "Tariff": {
**** '''BaseFlightsParams''' – параметры рассчитанных авиаперелетов
+
                "Key": 113,
***** '''CityArrival''' – ключ города прибытия прямого перелета
+
                "Code": "NSU",
***** '''FlightCode''' – ключ прямого авиаперелета
+
                "Name": "Экономический класс(внешняя система)"
***** '''TariffKey''' – ключ тарифа прямого авиаперелета
+
              },
***** '''PartnerId''' – ключ партнера прямого авиаперелета
+
              "IsCommission": false,
***** '''CityArrival''' – ключ города прибытия обратного перелета
+
              "Cost": 313,
***** '''FlightCode''' – ключ обратного авиаперелета
+
              "QuotaStatus": {
***** '''TariffKey''' – ключ тарифа обратного авиаперелета
+
                "PlacesStatus": 1,
***** '''PartnerId''' – ключ партнера обратного авиаперелета
+
                "FreePlaces": 0,
*** '''TouristNumbersList''' – массив туристов, привязанных к услуге
+
                "IsFewPlaces": false
** '''Tourists''' – массив туристов
+
              },
*** '''IsMain''' – главный турист
+
              "PartnerId": 10767,
*** '''Number''' – порядковый номер туриста
+
              "ByPax": false,
*** '''AgeType''' – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
+
              "Partner": {
*** '''MaleFemaleSex''' – пол (0 – мужской, 1 – женский)
+
                "Key": 0,
*** '''FirstName''' – имя (лат)
+
                "Value": null
*** '''LastName''' – фамилия (лат)
+
              }
 +
            }
 +
          ],
 +
          "FlightSetting": {
 +
            "ServiceId": 1,
 +
            "PatternId": 0,
 +
            "FlightId": 0
 +
          },
 +
          "FlightSourceMode": 0,
 +
          "Id": 0,
 +
          "SvKey": 1,
 +
          "IsSubCode1": true,
 +
          "IsSubCode2": false,
 +
          "IsPartnerBasedOn": false,
 +
          "Day": 1,
 +
          "DurationInNight": 0,
 +
          "BeginDateTime": "2021-10-25T09:00:00",
 +
          "EndDateTime": "2021-10-25T11:00:00",
 +
          "IsHooded": false,
 +
          "IsDeleted": false,
 +
          "IsNotCalculate": false,
 +
          "PacketId": 197,
 +
          "Index": 0
 +
        }
 +
      ]
 +
    }
 +
  ]
 +
}
 +
</syntaxhighlight>
 +
</TD></TR></TABLE>
 +
</div></div><br />
 +
 
 +
 
 +
===Получение семейств тарифов авиаперелетов из внешней системы (GetGDSFlightFareFamilies)===
 +
Метод получает семейства тарифов для авиаперелетов из внешней системы.
 +
* Формат запроса:
 +
** POST .../TourSearchOwin/GetGDSFlightFareFamilies?
 +
 
 +
* Принимаемые параметры headers ( '''*''' – обязательный):
 +
** '''Content-Type *''' – application/json
 +
 
 +
* Принимаемые параметры POST запроса ( '''*''' – обязательный):
 +
** '''flightId''' – ID внешнего перелета
 +
** '''providerId''' – ID внешнего провайдера
 +
** '''languageCode''' – код локализации
 +
** '''passengers''' – информация о пассажирах
 +
*** '''IsMain''' – главный турист
 +
*** '''Number''' – порядковый номер туриста
 +
*** '''AgeType''' – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
 +
*** '''MaleFemaleSex''' – пол (0 – мужской, 1 – женский)
 +
*** '''FirstName''' – имя (лат)
 +
*** '''LastName''' – фамилия (лат)
 
*** '''Patronymic''' – отчество (лат)
 
*** '''Patronymic''' – отчество (лат)
 
*** '''FirstNameRus''' – имя (рус)
 
*** '''FirstNameRus''' – имя (рус)
Строка 5244: Строка 5340:
 
*** '''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''' – название страны
Строка 5254: Строка 5350:
 
*** '''CitizenID''' – гражданство
 
*** '''CitizenID''' – гражданство
 
*** '''Age''' – количество полных лет на момент окончания тура
 
*** '''Age''' – количество полных лет на момент окончания тура
** '''Day''' – день (перевод)
+
** '''currency''' – валюта
** '''Day2''' – дня (перевод)
+
** '''price''' – стоимость
** '''Days''' – дней (перевод)
+
** '''param''' – параметры перелета
** '''Night''' – ночь (перевод)
+
*** '''flightsSource''' – параметры перелета
** '''Night2''' – ночи (перевод)
+
**** '''flightSettings''' – информация о шаблоне услуги авиаперелета
** '''Nights''' – ночей (перевод)
+
***** '''templateId''' – идентификатор шаблона услуги
** '''adultsCountOverServiceLimit''' – Количество взрослых туристов превышает лимит услуги (перевод)
+
***** '''patternId''' – идентификатор паттерна услуги (внутренняя информация из программы туров)
** '''at''' – на (перевод)  
+
***** '''serviceId''' – идентификатор класса услуги (внутренняя информация из программы туров)
** '''incorrectChildrenInf''' – Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание) (перевод)  
+
**** '''service''' – информация об услуге авиаперелета
 
+
***** '''ServiceType''' – тип услуги
* Возвращаемый результат:
+
***** '''Code''' – ключ услуги
** '''IsValid''' – признак валидности путевки
+
***** '''SubCode1''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 1]]
** '''ErrorMessage''' – сообщение об ошибке, если есть
+
***** '''SubCode2''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 2]]
** '''CalculatedReservation''' – объект рассчитанной путевки
+
***** '''CountryId''' – страна услуги
*** '''TourKey''' – ключ тура
+
***** '''CityId''' – город услуги
*** '''BeginDate''' – дата начала тура
+
***** '''PacketId''' – пакет услуги
*** '''Duration''' – продолжительность путевки в днях
+
***** '''PartnerId''' – партнер услуги
*** '''Currency''' – код валюты тура
+
***** '''Day''' – день предоставления услуги
*** '''CalculatedServicesPrice''' – сумма обязательных услуг, входящих в состав тура
+
***** '''DurationInNight''' – продолжительность услуги в ночах
*** '''ChangedPrice''' – сумма, на которую изменилась итоговая стоимость '''TotalPrice''' в результате добавления обязательных и дополнительных услуг
+
**** '''price''' – стоимость перелета
*** '''Price''' – итоговая стоимость тура для агентства, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг - партнерская комиссия (в валюте тура)
+
**** '''quotaInfo''' – объект информация по квотам
*** '''TotalPrice''' – итоговая стоимость тура для туриста, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг (в валюте тура)
+
***** '''status''' – статус по квотам (есть места / нет мест / под запрос)
*** '''IsDiscountIsPercent''' – признак, в процентах ли дается партнерская комиссия или в y.e.
+
***** '''freePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''.
*** '''NationalChangedPrice''' – сумма, на которую изменилась итоговая стоимость '''TotalPrice''' в результате добавления обязательных и дополнительных услуг (в национальной валюте)
+
***** '''isFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
*** '''NationalTotalDiscount''' – партнерская комиссия агентству (в национальной валюте)  
+
**** '''flightDateTimeLimitationInterval''' –
*** '''NationalTotalPrice''' – итоговая стоимость тура для туриста, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг (в национальной валюте)  
+
***** '''startLimitation''' – начало тайм-лимита
*** '''NatinoalCalculatedServicesPrice''' – сумма обязательных услуг, входящих в состав тура (в национальной валюте)
+
***** '''finishLimitation''' – объект тайм-лимита
*** '''NationalPrice''' – итоговая стоимость тура для агентства, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг - партнерская комиссия (в национальной валюте)
+
****** '''dateTimeString''' – дата окончания тайм-лимита
*** '''Discount''' – партнерская комиссия агентству процентах или y.e.)
+
****** '''serviceType''' – тип услуги
*** '''TotalDiscount''' – партнерская комиссия агентству валюте тура)
+
****** '''serviceCode''' – код услуги
*** '''ServiceTourists''' – массив услуг, входящих в тур
+
**** '''flightSourceMode''' – тип перелета (1 – локальный, 2 – из внешний системы)
**** '''ServiceType''' – тип услуги
+
*** '''passengers''' – информация о пассажирах
**** '''Day''' – день предоставления
+
**** '''IsMain''' – главный турист
**** '''DurationInNight''' – продолжительность в ночах
+
**** '''Number''' – порядковый номер туриста
**** '''Time''' – время начала услуги
+
**** '''AgeType''' – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
**** '''Name''' – полное описание услуги
+
**** '''MaleFemaleSex''' – пол (0 – мужской, 1 – женский)
**** '''TouristCount''' – количество туристов на услуге
+
**** '''FirstName''' – имя (лат)
**** '''Attributes''' – битовая маска атрибутов
+
**** '''LastName''' – фамилия (лат)
**** '''Type''' – тип услуги (основная/дополнительная)
+
**** '''Patronymic''' – отчество (лат)
**** '''Brutto''' – цена брутто
+
**** '''FirstNameRus''' – имя (рус)
**** '''NationalBrutto''' – цена брутто в национальной валюте
+
**** '''LastNameRus''' – фамилия (рус)
**** '''TotalBrutto''' – итоговое брутто
+
**** '''PatronymicRus''' – отчество (рус)
** '''TourName''' – название тура
+
**** '''InternationalPassportSeries''' – серия загранпаспорта
** '''BookingConditions''' – разметка условия бронирования
+
**** '''InternationalPassportNumber''' – номер загранпаспорта
** '''EndDate''' – дата окончания тура
+
**** '''InternationalPassportDateOfIssue''' – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
** '''DurationInNights''' – продолжительность тура в ночах
+
**** '''InternationalPassportDateOfIssueString''' – дата выдачи загранпаспорта в строковом формате (DD.MM.YYYY)
** '''NationalCurrency''' – код национальной валюты
+
**** '''InternationalPassportDateOfExpiry''' – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
 
+
**** '''InternationalPassportDateOfExpiryString''' – дата окончания действия загранпаспорта в строковом формате (DD.MM.YYYY)
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
+
**** '''internationalPassportByWhom''' – кем выдан загранпаспорт
<div class="mw-collapsible-content">
+
**** '''PassportSeries''' – серия паспорта
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
+
**** '''PassportNumber''' – номер паспорта
Вызов метода CalculateReservation
+
**** '''PassportDateOfIssue''' – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
<syntaxhighlight lang="java" enclose="div">
+
**** '''PassportDateOfIssueString''' – дата выдачи паспорта в строковом формате (DD.MM.YYYY)
POST http://localhost:9000/TourSearchOwin/CalculateReservation? HTTP/1.1
+
**** '''PassportByWhom''' – кем выдан паспорт
Content-Type: application/json
+
**** '''Citizenship''' – название страны
 +
**** '''Phone''' – телефон
 +
**** '''Email''' – e-mail
 +
**** '''BirthDay''' – дата рождения (YYYY-MM-DDThh:mm:ssz)
 +
**** '''BirthDayString''' – дата рождения в строковом формате (DD.MM.YYYY)
 +
**** '''BirthPlace''' – место рождения
 +
**** '''CitizenID''' – гражданство
 +
**** '''Age''' – количество полных лет на момент окончания тура
 +
*** '''tourDate''' – дата тура
 +
*** '''tourCurrency''' – валюта тура
 +
*** '''tourId''' – ключ программы тура
 +
*** '''filterTariff''' – информация о тарифах
 +
*** '''filterDeptime''' – информация о времени вылета
 +
*** '''isCommission''' – признак комиссионной цены
 +
*** '''baseFlightsParams''' – параметра авиаперелета
 +
**** '''CityArrival''' – город прибытия
 +
**** '''FlightCode''' – код авиаперелета
 +
**** '''TariffKey''' – ключ тарифа
 +
**** '''PartnerId''' – ключ партнера
 +
*** '''isUpdated''' – информация об обновлении перелета
 +
*** '''key''' – ключ запроса
 +
*** '''tourDurationByDays''' – продолжительность перелета
 +
*** '''langueCode''' – локализация
  
 +
* Возвращаемый результат:
 +
** '''validationResult''' – информация о валидации
 +
*** '''Errors''' – ошибки
 +
*** '''Warnings''' – предупреждения
 +
*** '''States''' – статус
 +
*** '''IsValid''' – информация о результате
 +
** '''tariffSequencies''' – информация тарифах
 +
*** '''flightId''' – идентификатор перелета
 +
*** '''universalParametrsSequence''' – параметры тарифов
 +
**** '''universalParametrs''' – массив параметров
 +
***** '''code''' – описание параметра тарифа
 +
***** '''priority''' – приоритет показа
 +
***** '''needToPay''' – нужна ли доплата
 +
***** '''shortDescriptions''' – краткое описание
 +
****** '''code''' – код
 +
****** '''value''' – значение
 +
*** '''price''' – стоимость
 +
*** '''deltaPrice''' – разница в цене
 +
*** '''timeLimit''' – тайм-лимит
 +
*** '''segments''' – сегменты
 +
*** '''depAirportCode''' – код аэропорта отправления
 +
*** '''depCityCode''' – код города отправления
 +
*** '''arrAirportCode''' – код аэропорта прибытия
 +
*** '''arrCityCode''' – код города прибытия
 +
 +
 +
<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>
 +
Вызов метода GetGDSFlightFareFamilies
 +
<syntaxhighlight lang="java" enclose="div">
 +
POST http://localhost:9000/TourSearchOwin/GetGDSFlightFareFamilies? HTTP/1.1
 +
Content-Type: application/json
 +
 +
{
 +
    "flightId": "17554943020000",
 +
    "providerId": 82,
 +
    "languageCode": "ru",
 +
    "passengers": [{
 +
            "IsMain": true,
 +
            "Number": 1,
 +
            "AgeType": 0,
 +
            "MaleFemaleSex": 0,
 +
            "FirstName": "",
 +
            "LastName": "",
 +
            "Patronymic": "",
 +
            "FirstNameRus": "",
 +
            "LastNameRus": "",
 +
            "PatronymicRus": "",
 +
            "InternationalPassportSeries": "",
 +
            "InternationalPassportNumber": "",
 +
            "InternationalPassportDateOfIssue": "",
 +
            "InternationalPassportDateOfIssueString": "",
 +
            "InternationalPassportDateOfExpiry": "",
 +
            "InternationalPassportDateOfExpiryString": "",
 +
            "internationalPassportByWhom": "",
 +
            "PassportSeries": "",
 +
            "PassportNumber": "",
 +
            "PassportDateOfIssue": "",
 +
            "PassportDateOfIssueString": "",
 +
            "PassportByWhom": "",
 +
            "Citizenship": "",
 +
            "Phone": "",
 +
            "Email": "",
 +
            "BirthDay": "",
 +
            "BirthDayString": "",
 +
            "BirthPlace": "",
 +
            "CitizenID": "",
 +
            "Age": 17
 +
        }, {
 +
            "IsMain": false,
 +
            "Number": 2,
 +
            "AgeType": 0,
 +
            "MaleFemaleSex": 0,
 +
            "FirstName": "",
 +
            "LastName": "",
 +
            "Patronymic": "",
 +
            "FirstNameRus": "",
 +
            "LastNameRus": "",
 +
            "PatronymicRus": "",
 +
            "InternationalPassportSeries": "",
 +
            "InternationalPassportNumber": "",
 +
            "InternationalPassportDateOfIssue": "",
 +
            "InternationalPassportDateOfIssueString": "",
 +
            "InternationalPassportDateOfExpiry": "",
 +
            "InternationalPassportDateOfExpiryString": "",
 +
            "internationalPassportByWhom": "",
 +
            "PassportSeries": "",
 +
            "PassportNumber": "",
 +
            "PassportDateOfIssue": "",
 +
            "PassportDateOfIssueString": "",
 +
            "PassportByWhom": "",
 +
            "Citizenship": "",
 +
            "Phone": "",
 +
            "Email": "",
 +
            "BirthDay": "",
 +
            "BirthDayString": "",
 +
            "BirthPlace": "",
 +
            "CitizenID": "",
 +
            "Age": 17
 +
        }
 +
    ],
 +
    "currency": "$",
 +
    "price": 147,
 +
    "param": {
 +
        "flightsSource": [{
 +
                "flightSettings": {
 +
                    "templateId": 1,
 +
                    "patternId": 0,
 +
                    "serviceId": 0
 +
                },
 +
                "service": {
 +
                    "serviceType": 1,
 +
                    "code": 1084,
 +
                    "subCode1": 67,
 +
                    "subCode2": 1,
 +
                    "countryId": 90,
 +
                    "cityId": 35,
 +
                    "packetId": 1037,
 +
                    "partnerId": 12792,
 +
                    "day": 1,
 +
                    "durationInNight": 0
 +
                },
 +
                "price": 146.44,
 +
                "quotaInfo": {
 +
                    "status": 4,
 +
                    "freePlaces": 0,
 +
                    "isFewPlaces": false
 +
                },
 +
                "flightDateTimeLimitationInterval": {
 +
                    "startLimitation": null,
 +
                    "finishLimitation": {
 +
                        "dateTimeString": "2021-01-30T21:40:00",
 +
                        "serviceType": 3,
 +
                        "serviceCode": 178
 +
                    }
 +
                },
 +
                "flightSourceMode": 2
 +
            }
 +
        ],
 +
        "passengers": [{
 +
                "IsMain": true,
 +
                "Number": 1,
 +
                "AgeType": 0,
 +
                "MaleFemaleSex": 0,
 +
                "FirstName": "",
 +
                "LastName": "",
 +
                "Patronymic": "",
 +
                "FirstNameRus": "",
 +
                "LastNameRus": "",
 +
                "PatronymicRus": "",
 +
                "InternationalPassportSeries": "",
 +
                "InternationalPassportNumber": "",
 +
                "InternationalPassportDateOfIssue": "",
 +
                "InternationalPassportDateOfIssueString": "",
 +
                "InternationalPassportDateOfExpiry": "",
 +
                "InternationalPassportDateOfExpiryString": "",
 +
                "internationalPassportByWhom": "",
 +
                "PassportSeries": "",
 +
                "PassportNumber": "",
 +
                "PassportDateOfIssue": "",
 +
                "PassportDateOfIssueString": "",
 +
                "PassportByWhom": "",
 +
                "Citizenship": "",
 +
                "Phone": "",
 +
                "Email": "",
 +
                "BirthDay": "",
 +
                "BirthDayString": "",
 +
                "BirthPlace": "",
 +
                "CitizenID": "",
 +
                "Age": 17
 +
            }, {
 +
                "IsMain": false,
 +
                "Number": 2,
 +
                "AgeType": 0,
 +
                "MaleFemaleSex": 0,
 +
                "FirstName": "",
 +
                "LastName": "",
 +
                "Patronymic": "",
 +
                "FirstNameRus": "",
 +
                "LastNameRus": "",
 +
                "PatronymicRus": "",
 +
                "InternationalPassportSeries": "",
 +
                "InternationalPassportNumber": "",
 +
                "InternationalPassportDateOfIssue": "",
 +
                "InternationalPassportDateOfIssueString": "",
 +
                "InternationalPassportDateOfExpiry": "",
 +
                "InternationalPassportDateOfExpiryString": "",
 +
                "internationalPassportByWhom": "",
 +
                "PassportSeries": "",
 +
                "PassportNumber": "",
 +
                "PassportDateOfIssue": "",
 +
                "PassportDateOfIssueString": "",
 +
                "PassportByWhom": "",
 +
                "Citizenship": "",
 +
                "Phone": "",
 +
                "Email": "",
 +
                "BirthDay": "",
 +
                "BirthDayString": "",
 +
                "BirthPlace": "",
 +
                "CitizenID": "",
 +
                "Age": 17
 +
            }
 +
        ],
 +
        "tourDate": "2021-01-30T00:00:00",
 +
        "tourCurrency": "$",
 +
        "tourId": 100008958,
 +
        "filterTariff": {},
 +
        "filterDeptime": ["all"],
 +
        "isCommission": true,
 +
        "baseFlightsParams": [{
 +
                "CityArrival": 35,
 +
                "FlightCode": 1084,
 +
                "TariffKey": 67,
 +
                "PartnerId": 12792
 +
            }
 +
        ],
 +
        "isUpdated": false,
 +
        "key": 0,
 +
        "tourDurationByDays": "11",
 +
        "langueCode": "ru"
 +
    }
 +
}
 +
 +
</syntaxhighlight>
 +
Возвращаемый результат метода GetGDSFlightFareFamilies (в формате JSON)
 +
<syntaxhighlight lang="java" enclose="div">
 +
[
 
{
 
{
"tourProgramId": 100003404,
+
    "validationResult": {
"beginDate": "2018-04-16T00:00:00",
+
        "Errors": [],
"duration": 8,
+
        "Warnings": null,
"currency": "EU",
+
        "States": null,
"initialPrice": {
+
        "IsValid": true
"price": 122,
+
    },
"currency": "EU"
+
    "tariffSequencies": [{
},
+
            "flightId": "17554961000000",
"services": [{
+
            "universalParametrsSequence": [{
"Service": {
+
                    "universalParametrs": [{
"ServiceType": 3,
+
                            "code": "description",
"Code": 707,
+
                            "priority": 0,
"SubCode1": 10468,
+
                            "needToPay": "Free",
"SubCode2": 4,
+
                            "shortDescriptions": [{
"Packet": 779,
+
                                    "code": "RU",
"Partner": 12667,
+
                                    "value": "Минимум"
"Day": 1,
+
                                }
"DurationInNight": 7,
+
                            ]
"City": 35,
+
                        }, {
"Country": 90,
+
                            "code": "carry_on",
"Attributes": 0,
+
                            "priority": 1,
"IsRemovable": false,
+
                            "needToPay": "Free",
"Type": 1,
+
                            "shortDescriptions": [{
"IsHooded": false,
+
                                    "code": "RU",
"IsNotCalculated": false,
+
                                    "value": "5 кг (40x30x20 см)"
"BeginDateTimeString": "2018-04-16T11:59:00",
+
                                }
"EndDateTimeString": "2018-04-23T11:59:00",
+
                            ]
"TemplateId": 1,
+
                        }, {
"Cost": 114,
+
                            "code": "carry_on",
"ByPax": false,
+
                            "priority": 2,
"QuotaStatus": {
+
                            "needToPay": "Charge",
"PlacesStatus": 4,
+
                            "shortDescriptions": [{
"FreePlaces": 0,
+
                                    "code": "RU",
"IsFewPlaces": false
+
                                    "value": "10 кг (55x40x25 см)"
},
+
                                }
"Index": 1,
+
                            ]
"IsRoute": true,
+
                        }, {
"ServiceTemplateIndex": 1,
+
                            "code": "baggage",
"RemoteId": null,
+
                            "priority": 3,
"IsCommission": true,
+
                            "needToPay": "Charge",
"BaseFlightsParams": [{
+
                            "shortDescriptions": [{
"CityArrival": 35,
+
                                    "code": "RU",
"FlightCode": 882,
+
                                    "value": "платный"
"TariffKey": 67,
+
                                }
"PartnerId": 12668
+
                            ]
},
+
                        }, {
{
+
                            "code": "exchangeable",
"CityArrival": 1,
+
                            "priority": 4,
"FlightCode": 774,
+
                            "needToPay": "Charge",
"TariffKey": 67,
+
                            "shortDescriptions": [{
"PartnerId": 10760
+
                                    "code": "RU",
}]
+
                                    "value": "Обмен разрешен со сбором"
},
+
                                }
"TouristNumbersList": [1,
+
                            ]
2]
+
                        }, {
},
+
                            "code": "refundable",
{
+
                            "priority": 5,
"Service": {
+
                            "needToPay": "NotAvailable",
"ServiceType": 12,
+
                            "shortDescriptions": [{
"Code": 347,
+
                                    "code": "RU",
"SubCode1": 42,
+
                                    "value": "Возврат запрещен"
"SubCode2": null,
+
                                }
"Packet": 777,
+
                            ]
"Partner": 10760,
+
                        }
"Day": 8,
+
                    ]
"DurationInNight": 0,
+
                }
"City": null,
+
            ],
"Country": 460,
+
            "price": 147,
"Attributes": 32768,
+
            "deltaPrice": 0,
"Type": 2,
+
            "timeLimit": "22.01.2021 4:08:00",
"IsHooded": false,
+
            "segments": [{
"IsNotCalculated": true,
+
                    "depAirportCode": "VKO",
"EndDateTimeString": false,
+
                    "depCityCode": "MOW",
"Cost": 10,
+
                    "arrAirportCode": "VIE",
"ByPax": false,
+
                    "arrCityCode": "VIE"
"QuotaStatus": 0,
+
                }
"Index": 3,
+
            ]
"IsRoute": false,
+
        }
"ServiceTemplateIndex": 3,
+
    ],
                        "RemoteId": null,
+
    "isDone": true
"IsCommission": true,
 
"BaseFlightsParams": [{
 
"CityArrival": 35,
 
"FlightCode": 882,
 
"TariffKey": 67,
 
"PartnerId": 12668
 
},
 
{
 
"CityArrival": 1,
 
"FlightCode": 774,
 
"TariffKey": 67,
 
"PartnerId": 10760
 
}]
 
},
 
"TouristNumbersList": [1,
 
2]
 
}],
 
"tourists": [{
 
"IsMain": true,
 
"Number": 1,
 
"AgeType": 0,
 
"MaleFemaleSex": 0,
 
"FirstName": "",
 
"LastName": "",
 
"Patronymic": "",
 
"FirstNameRus": "",
 
"LastNameRus": "",
 
"PatronymicRus": "",
 
"InternationalPassportSeries": "",
 
"InternationalPassportNumber": "",
 
"InternationalPassportDateOfIssue": "",
 
"InternationalPassportDateOfIssueString": "",
 
"InternationalPassportDateOfExpiry": "",
 
"InternationalPassportDateOfExpiryString": "",
 
"internationalPassportByWhom": "",
 
"PassportSeries": "",
 
"PassportNumber": "",
 
"PassportDateOfIssue": "",
 
"PassportDateOfIssueString": "",
 
"PassportByWhom": "",
 
"Citizenship": "",
 
"Phone": "",
 
"Email": "",
 
"BirthDay": null,
 
"BirthDayString": "",
 
"BirthPlace": "",
 
"CitizenID": "",
 
                "Age": null
 
},
 
{
 
"IsMain": false,
 
"Number": 2,
 
"AgeType": 0,
 
"MaleFemaleSex": 0,
 
"FirstName": "",
 
"LastName": "",
 
"Patronymic": "",
 
"FirstNameRus": "",
 
"LastNameRus": "",
 
"PatronymicRus": "",
 
"InternationalPassportSeries": "",
 
"InternationalPassportNumber": "",
 
"InternationalPassportDateOfIssue": "",
 
"InternationalPassportDateOfIssueString": "",
 
"InternationalPassportDateOfExpiry": "",
 
"InternationalPassportDateOfExpiryString": "",
 
"internationalPassportByWhom": "",
 
"PassportSeries": "",
 
"PassportNumber": "",
 
"PassportDateOfIssue": "",
 
"PassportDateOfIssueString": "",
 
"PassportByWhom": "",
 
"Citizenship": "",
 
"Phone": "",
 
"Email": "",
 
"BirthDay": null,
 
"BirthDayString": "",
 
"BirthPlace": "",
 
"CitizenID": "",
 
                "Age": null
 
}],
 
        "Day": "день",
 
"Day2": "дня",
 
"Days": "дней",
 
"Night": "ночь",
 
"Night2": "ночи",
 
"Nights": "ночей",
 
"adultsCountOverServiceLimit": "Количество взрослых туристов превышает лимит услуги",
 
"at": "на",
 
"incorrectChildrenInf": "Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание)"
 
}
 
</syntaxhighlight>
 
Возвращаемый результат метода CalculateReservation (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
{
 
"IsValid": true,
 
"ErrorMessage": "",
 
"CalculatedReservation": {
 
"TourKey": 100003404,
 
"BeginDate": "2018-04-16T00:00:00",
 
"Duration": 8,
 
"Currency": "EU",
 
"CalculatedServicesPrice": 122.0,
 
"ChangedPrice": 34.0,
 
"Price": 156.0,
 
"TotalPrice": 156.0,
 
"IsDiscountIsPercent": true,
 
"NationalChangedPrice": 2411.3038000000000000000000023,
 
"NationalTotalDiscount": 0.0,
 
"NationalTotalPrice": 11063.629200000000000000000011,
 
"NatinoalCalculatedServicesPrice": 8652.325400000000000000000008,
 
"NationalPrice": 11063.629200000000000000000011,
 
"Discount": 0.0,
 
"TotalDiscount": 0.0,
 
"ServiceTourists": [{
 
"ServiceType": 1,
 
"Day": 1,
 
"DurationInNight": 0,
 
"Time": "10:00:00",
 
"Name": "А_П::Москва/Вена/3G1111, DME-VIE1, 10:00-11:59/C Бизнес класс",
 
"TouristCount": 2,
 
"Attributes": 0,
 
"Type": 1,
 
"Brutto": 6.0,
 
"NationalBrutto": 425.52420000000000000000000041,
 
"TotalBrutto": 6.0
 
},
 
{
 
"ServiceType": 3,
 
"Day": 1,
 
"DurationInNight": 7,
 
"Time": "11:59:00",
 
"Name": "HOTEL::Вена/Beim Theresianum-4*Boutique,7 ночей/Double(Standart133),2Ad/BB2 Завтрак",
 
"TouristCount": 2,
 
"Attributes": 0,
 
"Type": 1,
 
"Brutto": 114.0,
 
"NationalBrutto": 8084.959800000000000000000008,
 
"TotalBrutto": 114.0
 
},
 
{
 
"ServiceType": 1,
 
"Day": 8,
 
"DurationInNight": 0,
 
"Time": "00:00:00",
 
"Name": "А_П::Вена/Москва/7U222, VIE1-DME, 00:00-00:00/C Бизнес класс",
 
"TouristCount": 2,
 
"Attributes": 0,
 
"Type": 1,
 
"Brutto": 2.0,
 
"NationalBrutto": 141.84140000000000000000000014,
 
"TotalBrutto": 2.0
 
}]
 
},
 
"TourName": "Удалить этот тур",
 
"BookingConditions": "Условия бронирования тура.</p>",
 
"EndDate": "2018-04-23T00:00:00",
 
"DurationInNights": 7,
 
"NationalCurrency": "рб"
 
 
}
 
}
 +
]
 +
</syntaxhighlight>
 +
</TD></TR></TABLE>
 +
</div></div><br />
 +
 +
===Загрузка филиалов (Branches) начиная с релиза 15.3===
 +
Метод производит выгрузку филиалов бронирования.
 +
* Формат запроса:
 +
** GET .../TourSearchOwin/Branches?
 +
* Принимаемые параметры GET запроса ( '''*''' – обязательный):
 +
** '''ids''' – массив ключей филиалов
 +
** '''cityKey''' – фильтр по городу филиала (если 0 или не задан, то выбираются все филиалы)
 +
 +
* Возвращаемый результат:
 +
** '''Key''' – ключ филиала (ключ партнера)
 +
** '''Value''' – название филиала (название партнера)
 +
 +
<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>
 +
Вызов метода Branches
 +
<syntaxhighlight lang="java" enclose="div">
 +
GET http://localhost:9000/TourSearchOwin/Branches?
 +
</syntaxhighlight>
 +
Возвращаемый результат метода Branches (в формате JSON)
 +
<syntaxhighlight lang="java" enclose="div">
 +
[{
 +
"Key": 12848,
 +
"Value": "Филиал 1"
 +
},
 +
{
 +
"Key": 12849,
 +
"Value": "Филиал 2"
 +
},
 +
{
 +
"Key": 12850,
 +
"Value": "Филиал 3"
 +
}]
 
</syntaxhighlight>
 
</syntaxhighlight>
 
</TD></TR></TABLE>
 
</TD></TR></TABLE>
 
</div></div><br />
 
</div></div><br />
  
===Бронирование путевки (CreateReservation)===
 
Метод производит бронирование путевки.<br />
 
При бронировании проверяется корректность заполнения обязательных полей туристов (регулируется общими [[Мастер-Тур(15):Программа туров. Настройки#Настройки отображения информации о туристах|настройками]], либо в справочнике [[Мастер-Тур(15):Страны#Настроить информацию о туристах|Страны]]). В случае, если обязательные поля не заполнены, возвращается ошибка с сообщением, бронь не создается.
 
  
 +
===Загрузка ведущих менеджеров (Users) начиная с релиза 15.3===
 +
Метод производит выгрузку ведущих менеджеров.
 
* Формат запроса:
 
* Формат запроса:
** PUT .../TourSearchOwin/CreateReservation/1?
+
** GET .../TourSearchOwin/Users?
 +
* Принимаемые параметры GET запроса ( '''*''' – обязательный):
 +
** '''ids''' – массив ключей ведущих менеджеров
 +
** '''branchKey''' – ключ филиала бронирования, к которому они привязаны
  
* Принимаемые параметры headers ( '''*''' – обязательный):
+
* Возвращаемый результат:
** '''Content-Type *''' – application/json
+
** '''Key''' – ключ ведущего менеджера
** '''Authorization *''' – token_type + access_token (полученные из метода .../TourSearchOwin/Token?)
+
** '''Value''' – полное имя ведущего менеджера
  
* Принимаемые параметры PUT запроса:
+
<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>
 +
Вызов метода Users
 +
<syntaxhighlight lang="java" enclose="div">
 +
GET http://localhost:9000/TourSearchOwin/Users?
 +
</syntaxhighlight>
 +
Возвращаемый результат метода Users (в формате JSON)
 +
<syntaxhighlight lang="java" enclose="div">
 +
[{
 +
"Key": 1532,
 +
"Value": "Иванов И."
 +
},
 +
{
 +
"Key": 12849,
 +
"Value": "Петров П."
 +
}]
 +
</syntaxhighlight>
 +
</TD></TR></TABLE>
 +
</div></div><br />
 +
 
 +
 
 +
===Расчет путевки (CalculateReservation)===
 +
Метод производит расчет стоимости путевки.
 +
* Формат запроса:
 +
** POST .../TourSearchOwin/CalculateReservation?
 +
 
 +
* Принимаемые параметры headers ( '''*''' – обязательный):
 +
** '''Content-Type *''' – application/json
 +
 
 +
* Принимаемые параметры POST запроса:
 
** '''TourProgramId''' – ключ турпрограммы
 
** '''TourProgramId''' – ключ турпрограммы
** '''BeginDate''' – дата начала тура (YYYY-MM-DDThh:mm:ss)
+
** '''BeginDate''' – дата начала тура
 
** '''Duration''' – продолжительность тура
 
** '''Duration''' – продолжительность тура
 
** '''Currency''' – код валюты
 
** '''Currency''' – код валюты
 +
** '''initialPrice''' – объект изначальная цена
 +
*** '''price''' – цена
 +
*** '''currency''' – код валюты
 
** '''Services''' – массив услуг
 
** '''Services''' – массив услуг
 
*** '''Service''' – объект услуги (отель/круиз, авиаперелет, трансфер или др.)
 
*** '''Service''' – объект услуги (отель/круиз, авиаперелет, трансфер или др.)
Строка 5626: Строка 5886:
 
*** '''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''' – название страны
Строка 5641: Строка 5901:
 
*** '''BirthDayString''' – дата рождения в строковом формате (DD.MM.YYYY)
 
*** '''BirthDayString''' – дата рождения в строковом формате (DD.MM.YYYY)
 
*** '''BirthPlace''' – место рождения
 
*** '''BirthPlace''' – место рождения
*** '''CitizenID''' – ID туриста (задается в карточке постоянного клиента)
+
*** '''CitizenID''' – гражданство
 
*** '''Age''' – количество полных лет на момент окончания тура
 
*** '''Age''' – количество полных лет на момент окончания тура
** '''BranchId''' – ключ филиала бронирования (начиная с релиза 15.3). Если не передан, то филиал бронирования берется из менеджера по умолчанию либо из пользователя, создавшего тур.
 
** '''OwnerId''' – ключ ведущего менеджера (начиная с релиза 15.3). Если 0, то берется по умолчанию. Если по умолчанию не указан, то берется создатель тура.
 
 
** '''Day''' – день (перевод)
 
** '''Day''' – день (перевод)
 
** '''Day2''' – дня (перевод)
 
** '''Day2''' – дня (перевод)
Строка 5652: Строка 5910:
 
** '''Nights''' – ночей (перевод)
 
** '''Nights''' – ночей (перевод)
 
** '''adultsCountOverServiceLimit''' – Количество взрослых туристов превышает лимит услуги (перевод)
 
** '''adultsCountOverServiceLimit''' – Количество взрослых туристов превышает лимит услуги (перевод)
 +
** '''at''' – на (перевод)
 
** '''incorrectChildrenInf''' – Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание) (перевод)  
 
** '''incorrectChildrenInf''' – Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание) (перевод)  
  
 
* Возвращаемый результат:
 
* Возвращаемый результат:
** '''Reservation''' – объект путевки
+
** '''IsValid''' – признак валидности путевки
*** '''$id''' – внутренний идентификатор для установки связей между сущностями,
+
** '''ErrorMessage''' – сообщение об ошибке, если есть
*** '''Code''' – код путевки
+
** '''CalculatedReservation''' – объект рассчитанной путевки  
*** '''TurDate''' – дата заезда
+
*** '''TourKey''' – ключ тура
*** '''TRKey''' – ключ тура
+
*** '''BeginDate''' – дата начала тура
*** '''CNKey''' – ключ страны
+
*** '''Duration''' – продолжительность путевки в днях
*** '''CTKey''' – ключ города
+
*** '''Currency''' – код валюты тура
*** '''NMen''' – количество туристов по путевке
+
*** '''CalculatedServicesPrice''' – сумма обязательных услуг, входящих в состав тура
*** '''Price''' – стоимость путевки за вычетом скидки (комиссии)
+
*** '''ChangedPrice''' – сумма, на которую изменилась итоговая стоимость '''TotalPrice''' в результате добавления обязательных и дополнительных услуг
*** '''Payed''' – оплаченная сумма по путевке
+
*** '''Price''' – итоговая стоимость тура для агентства, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг - партнерская комиссия (в валюте тура)
*** '''NDay''' – продолжительность тура в днях
+
*** '''TotalPrice''' – итоговая стоимость тура для туриста, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг (в валюте тура)
*** '''MainMan''' – ФИО лица, заключившего договор
+
*** '''IsDiscountIsPercent''' – признак, в процентах ли дается партнерская комиссия или в y.e.
*** '''MainManPhone''' – номер телефона лица, заключившего договор
+
*** '''NationalChangedPrice''' – сумма, на которую изменилась итоговая стоимость '''TotalPrice''' в результате добавления обязательных и дополнительных услуг (в национальной валюте)
*** '''MainManAddress''' – адрес лица, заключившего договор
+
*** '''NationalTotalDiscount''' – партнерская комиссия агентству (в национальной валюте)
*** '''MainManPassport''' – паспортные данные лица, заключившего договор
+
*** '''NationalTotalPrice''' – итоговая стоимость тура для туриста, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг (в национальной валюте)
*** '''PartnerKey''' – ключ партнера, оформившего договор
+
*** '''NatinoalCalculatedServicesPrice''' – сумма обязательных услуг, входящих в состав тура (в национальной валюте) 
*** '''Operator''' – ФИО создателя договора
+
*** '''NationalPrice''' – итоговая стоимость тура для агентства, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг - партнерская комиссия (в национальной валюте)
*** '''Discount''' – величина скидки на одного человека
+
*** '''Discount''' – партнерская комиссия агентству (в процентах или y.e.)
*** '''DiscountSum''' – абсолютная величина скидки
+
*** '''TotalDiscount''' – партнерская комиссия агентству (в валюте тура)
*** '''SORCode''' – ключ статус путевки
+
*** '''ServiceTourists''' – массив услуг, входящих в тур
*** '''CrDate''' – дата и время создания путевки
+
**** '''ServiceType''' – тип услуги
*** '''Rate''' – код валюты путевки
+
**** '''Day''' – день предоставления
*** '''Advertise''' – ключ источника рекламы
+
**** '''DurationInNight''' – продолжительность в ночах
*** '''Locked''' – блокировка путевки: ''1'' – если заблокирована
+
**** '''Time''' – время начала услуги
*** '''CauseDisc''' – ключ основания для скидки
+
**** '''Name''' – полное описание услуги
*** '''PPaymentDate''' – максимальная дата внесения предоплаты
+
**** '''TouristCount''' – количество туристов на услуге
*** '''PaymentDate''' – максимальная дата полной оплаты
+
**** '''Attributes''' – битовая маска атрибутов
*** '''Procent''' – информация о предоплате: ''1'' – предоплата в %; ''0'' – предоплата в у.е.
+
**** '''Type''' – тип услуги (основная/дополнительная)
*** '''TurDateBfrAnnul''' – значение даты заезда до аннуляции путевки (при аннуляции дата заезда заменяется на 31.12.1899)
+
**** '''Brutto''' – цена брутто
*** '''ARKey''' – ключ причины аннуляции путевки
+
**** '''NationalBrutto''' – цена брутто в национальной валюте
*** '''Key''' – ключ договора
+
**** '''TotalBrutto''' – итоговое брутто
*** '''CodePartner''' – значение ключевого поля из таблицы партнеров
+
** '''TourName''' – название тура
*** '''FilialKey''' – ключ филиала фирмы-владельца, пользователем которого была забронирована путевка
+
** '''BookingConditions''' – разметка условия бронирования
*** '''IsOutDoc''' – статус выдачи документов
+
** '''EndDate''' – дата окончания тура
*** '''Notes''' – сообщение поставщику
+
** '''DurationInNights''' – продолжительность тура в ночах
*** '''DiscSumBfrAnn''' – числовое значение скидки перед аннуляцией путевки
+
** '''NationalCurrency''' – код национальной валюты
*** '''PriceBfrAnn''' – стоимость путевки перед ее аннуляцией
+
 
*** '''RazmerP''' – размер предоплаты
+
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
*** '''LeadDepartment''' – ключ отдела, ведущего данный тур
+
<div class="mw-collapsible-content">
*** '''MainManEmail''' – адрес е-mail из данных лица, заключившего договор
+
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
*** '''MainManComment''' – примечание из данных лица, заключившего договор
+
Вызов метода CalculateReservation
*** '''DupUserKey''' – ключ представителя партнера, которым был оформлен договор
+
<syntaxhighlight lang="java" enclose="div">
*** '''BTKey''' – ключ системы бронирования, из которой был оформлен договор
+
POST http://localhost:9000/TourSearchOwin/CalculateReservation? HTTP/1.1
*** '''ConfirmedDate''' – дата подтверждения путевки покупателю
+
Content-Type: application/json
*** '''PrtDogKey''' – договор партнера, по которому оформлена путевка
+
 
*** '''CTDepartureKey''' – ключ города начала поездки
+
{
*** '''PDTType''' – тип договора, по которому оформлена путевка
+
"tourProgramId": 100003404,
*** '''NationalCurrencyPrice''' – стоимость путевки в национальной валюте
+
"beginDate": "2018-04-16T00:00:00",
*** '''NationalCurrencyDiscountSum''' – значение скидки в национальной валюте
+
"duration": 8,
*** '''NationalCurrencyPayed''' – сумма платежей по путевке, зафиксированная в национальной валюте
+
"currency": "EU",
*** '''CurrencyKey''' – ключ национальной валюты путевки
+
"initialPrice": {
*** '''CurrencyRate''' – курс национальной валюты путевки
+
"price": 122,
*** '''ClientKey''' – ключ частника, которым был оформлен договор
+
"currency": "EU"
*** '''Partner''' – информация о партнере покупателе, привязанным к путевке
+
},
**** '''$id''' – внутренний идентификатор для установки связей между сущностями
+
"services": [{
**** '''Key''' – ключ партнера покумателя
+
"Service": {
**** '''FullName''' – полное имя партнера
+
"ServiceType": 3,
**** '''Name''' – имя партнера
+
"Code": 707,
*** '''Services''' – коллекция услуг в данной путевке
+
"SubCode1": 10468,
**** '''$id''' – внутренний идентификатор для установки связей между сущностями
+
"SubCode2": 4,
**** '''DGCod''' – номер путевки
+
"Packet": 779,
**** '''TurDate''' – дата начала тура
+
"Partner": 12667,
**** '''Key''' – ключ услуги
+
"Day": 1,
**** '''PaketKey''' – ключ пакета
+
"DurationInNight": 7,
**** '''TRKey''' – клют тура
+
"City": 35,
**** '''SVKey''' – ключ типа услуги
+
"Country": 90,
**** '''Name''' – наименование услуги
+
"Attributes": 0,
**** '''Day''' – порядковый номер дня тура, в который предоставляется услуга
+
"IsRemovable": false,
**** '''Code''' – ключ кода услуги
+
"Type": 1,
**** '''SubCode1''' – ключ доп.описания 1 услуги
+
"IsHooded": false,
**** '''SubCode2''' – ключ доп.описания 2 услуги
+
"IsNotCalculated": false,
**** '''Men''' – количество человек, пользующихся услугой по путевке
+
"BeginDateTimeString": "2018-04-16T11:59:00",
**** '''Days''' – количество дней услуги
+
"EndDateTimeString": "2018-04-23T11:59:00",
**** '''CNKey''' – ключ страны услуги
+
"TemplateId": 1,
**** '''CTKey''' – ключ города услуги
+
"Cost": 114,
**** '''PartnerKey''' – ключ партнера, предоставляющего услугу
+
"ByPax": false,
**** '''Brutto''' – стоимость услуги брутто
+
"QuotaStatus": {
**** '''Wait''' – признак услуги ''Снимать квоту при бронировании''
+
"PlacesStatus": 4,
**** '''Warning''' – неиспользуемое поле
+
"FreePlaces": 0,
**** '''TimeBeg''' – поле используется для сортировки услуг в путевке
+
"IsFewPlaces": false
**** '''Control''' – ключ статуса услуги (ссылка на таблицу Controls),
+
},
**** '''Attribute''' – атрибут услуги
+
"Index": 1,
**** '''DateBeg''' – дата начала действия услуги
+
"IsRoute": true,
**** '''DateEnd''' – дата окончания действия услуги
+
"ServiceTemplateIndex": 1,
**** '''Discount''' – размер скидки по услуге
+
"RemoteId": null,
**** '''Comment''' – комментарий к услуге
+
"IsCommission": true,
**** '''DGKey''' – ключ договора,
+
"BaseFlightsParams": [{
**** '''Blocked''' – признак блокировки услуги (''0'' – не блокирована, ''1'' – блокирована)
+
"CityArrival": 35,
**** '''NameLat''' – наименование услуги (латинский)
+
"FlightCode": 882,
**** '''Long''' – продолжительность тура в днях
+
"TariffKey": 67,
**** '''TRFId''' – ключ тарифа
+
"PartnerId": 12668
**** '''CreateDate''' – дата создания услуги в путевке
+
},
**** '''CalculatePriceDate''' – дата расчета цены
+
{
**** '''ShowOrder''' – порядок при сортировке
+
"CityArrival": 1,
**** '''Connections''' – коллекция связей с сущностями через внутренний идентификатор ''$id''
+
"FlightCode": 774,
***** '''$ref''' – связь с внутренним идентификатором ''$id''
+
"TariffKey": 67,
*** '''Turists''' – коллекция туристов в данной путевке
+
"PartnerId": 10760
**** '''$id''' – внутренний идентификатор для установки связей между сущностями
+
}]
**** '''DGCod''' – номер путевки, к которому привязан турист
+
},
**** '''Key''' – ключ туриста
+
"TouristNumbersList": [1,
**** '''TurDate''' – дата начала тура
+
2]
**** '''NameRus''' – фамилия туриста (русское)
+
},
**** '''NameLat''' – фамилия туриста (латинское)
+
{
**** '''ShortName''' – имя и отчество туриста в формате ''И.О.''
+
"Service": {
**** '''Sex''' – пол туриста (признак): ''Null'' или ''0'' – Муж; ''1'' – Жен; ''2'' – Child (ребенок); ''3'' – Infant (младенец)
+
"ServiceType": 12,
**** '''FNameRus''' – имя туриста (русское)
+
"Code": 347,
**** '''FNameLat''' – имя туриста (латинское)
+
"SubCode1": 42,
**** '''SNameRus''' – отчество туриста (русское)
+
"SubCode2": null,
**** '''SNameLat''' – отчество туриста (латинское)
+
"Packet": 777,
**** '''BirthDay''' – дата рождения туриста
+
"Partner": 10760,
**** '''BirthCountry''' – страна рождения туриста
+
"Day": 8,
**** '''BirthCity''' – город рождения туриста
+
"DurationInNight": 0,
**** '''Citizen''' – гражданство туриста
+
"City": null,
**** '''PostIndex''' – почтовый индекс
+
"Country": 460,
**** '''PostCity''' – адрес проживания туриста (город)
+
"Attributes": 32768,
**** '''PostStreet''' – адрес проживания туриста (улица)
+
"Type": 2,
**** '''PostBild''' – адрес проживания туриста (номер дома)
+
"IsHooded": false,
**** '''PostFlat''' – адрес проживания туриста (номер квартиры)
+
"IsNotCalculated": true,
**** '''Phone''' – номер телефона туриста
+
"EndDateTimeString": false,
**** '''PhoneCode''' – код телефона туриста
+
"Cost": 10,
**** '''PasportType''' – серия заграничного паспорта
+
"ByPax": false,
**** '''PasportNum''' – номер заграничного паспорта
+
"QuotaStatus": 0,
**** '''PasportDate''' – дата выдачи заграничного паспорта
+
"Index": 3,
**** '''PasportDateEnd''' – дата окончания срока действия заграничного паспорта
+
"IsRoute": false,
**** '''PasportByWhom''' – кем выдан заграничный паспорт
+
"ServiceTemplateIndex": 3,
**** '''Place''' – место рождения
+
                        "RemoteId": null,
**** '''IsAnketa''' – выдавалась ли анкета
+
"IsCommission": true,
**** '''PaspRuser''' – серия общегражданского паспорта
+
"BaseFlightsParams": [{
**** '''PaspRuNum''' – номер общегражданского паспорта
+
"CityArrival": 35,
**** '''PaspRuDate''' – дата выдачи общегражданского паспорта
+
"FlightCode": 882,
**** '''PaspRuByWhom''' – кем выдан общегражданский паспорт
+
"TariffKey": 67,
**** '''ClientId''' – ключ в таблице клиентов
+
"PartnerId": 12668
**** '''IsMain''' – признак главного туриста по путевке
+
},
**** '''DGKey''' – ключ кутевки
+
{
**** '''RealSex''' – реальный пол туриста: ''Null'' или ''0'' – Муж; ''1'' – Жен
+
"CityArrival": 1,
**** '''Email''' – е-mail туриста
+
"FlightCode": 774,
**** '''EnableSmsNotifications''' – согласен получать уведомления по СМС
+
"TariffKey": 67,
**** '''CitizenId''' – идентификатор туриста
+
"PartnerId": 10760
**** '''Connections''' – коллекция связей с сущностями через внутренний идентификатор ''$id''
+
}]
***** '''$ref''' – связь с внутренним идентификатором ''$id''
+
},
*** '''TuristServices''' – коллекция связей туриста с услугой
+
"TouristNumbersList": [1,
**** '''$id''' – внутренний идентификатор для установки связей между сущностями
+
2]
**** '''TUKey''' – ключ туриста
+
}],
**** '''DLKey''' – ключ услуги
+
"tourists": [{
**** '''NumDoc''' – номер документа (авиабилета)
+
"IsMain": true,
**** '''NumRoom''' – номер комнаты (каюты)
+
"Number": 1,
**** '''Seat''' – номер места (в номере отеля, каюты) или место в транспорте
+
"AgeType": 0,
**** '''Area''' – зона (палуба) в отеле, круизе
+
"MaleFemaleSex": 0,
**** '''DocDate''' – дата документа (авиабелета)
+
"FirstName": "",
**** '''Key''' – первичный ключ связки
+
"LastName": "",
**** '''Connections''' – коллекция связей с сущностями через внутренний идентификатор ''$id''
+
"Patronymic": "",
***** '''$ref''' – связь с внутренним идентификатором ''$id''
+
"FirstNameRus": "",
*** '''DogovorMessages''' – сообщение по путевке покупателю
+
"LastNameRus": "",
**** '''id''' – внутренний идентификатор для установки связей между сущностями
+
"PatronymicRus": "",
**** '''Date''' – дата создание сообщения
+
"InternationalPassportSeries": "",
**** '''Text''' – текст сообщения
+
"InternationalPassportNumber": "",
**** '''Remark''' – код сообщения
+
"InternationalPassportDateOfIssue": "",
**** '''Connections''' – коллекция связей с сущностями через внутренний идентификатор ''$id''
+
"InternationalPassportDateOfIssueString": "",
***** '''$ref''' – связь с внутренним идентификатором ''$id''
+
"InternationalPassportDateOfExpiry": "",
** '''ValidationResultSummary''' – объект статус результата бронирования
+
"InternationalPassportDateOfExpiryString": "",
*** '''ValidationResult''' – объект с ошибками и флагом валидности путевки
+
"internationalPassportByWhom": "",
**** '''Errors''' – массив ошибок бронирования
+
"PassportSeries": "",
**** '''IsValid''' – признак валидности бронирования
+
"PassportNumber": "",
*** '''ValidationResultAttributes''' – атрибут результата бронирования
+
"PassportDateOfIssue": "",
 
+
"PassportDateOfIssueString": "",
<div class="toccolours mw-collapsible mw-collapsed" style="width:1200px">Пример запроса
+
"PassportByWhom": "",
<div class="mw-collapsible-content">
+
"Citizenship": "",
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
+
"Phone": "",
Вызов метода CreateReservation
+
"Email": "",
 +
"BirthDay": null,
 +
"BirthDayString": "",
 +
"BirthPlace": "",
 +
"CitizenID": "",
 +
                "Age": null
 +
},
 +
{
 +
"IsMain": false,
 +
"Number": 2,
 +
"AgeType": 0,
 +
"MaleFemaleSex": 0,
 +
"FirstName": "",
 +
"LastName": "",
 +
"Patronymic": "",
 +
"FirstNameRus": "",
 +
"LastNameRus": "",
 +
"PatronymicRus": "",
 +
"InternationalPassportSeries": "",
 +
"InternationalPassportNumber": "",
 +
"InternationalPassportDateOfIssue": "",
 +
"InternationalPassportDateOfIssueString": "",
 +
"InternationalPassportDateOfExpiry": "",
 +
"InternationalPassportDateOfExpiryString": "",
 +
"internationalPassportByWhom": "",
 +
"PassportSeries": "",
 +
"PassportNumber": "",
 +
"PassportDateOfIssue": "",
 +
"PassportDateOfIssueString": "",
 +
"PassportByWhom": "",
 +
"Citizenship": "",
 +
"Phone": "",
 +
"Email": "",
 +
"BirthDay": null,
 +
"BirthDayString": "",
 +
"BirthPlace": "",
 +
"CitizenID": "",
 +
                "Age": null
 +
}],
 +
        "Day": "день",
 +
"Day2": "дня",
 +
"Days": "дней",
 +
"Night": "ночь",
 +
"Night2": "ночи",
 +
"Nights": "ночей",
 +
"adultsCountOverServiceLimit": "Количество взрослых туристов превышает лимит услуги",
 +
"at": "на",
 +
"incorrectChildrenInf": "Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание)"
 +
}
 +
</syntaxhighlight>
 +
Возвращаемый результат метода CalculateReservation (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
PUT http://localhost:9000/TourSearchOwin/CreateReservation/1? HTTP/1.1
+
{
Content-Type: application/json
+
"IsValid": true,
Authorization: Bearer AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAdsCC8X7m9E-2bg0-uS0VfgAAAAAAAAADZgAAwAAAA-
+
"ErrorMessage": "",
EqAAAAAASAAACgAAAAEAAAAO4S-VrqBhQuhqliqrAKKfIgAQAAn-gfgP-rYjk-Krr1Ck2A-IGCw6FBhamUOzFxgTtk1hR-
+
"CalculatedReservation": {
GLMryFIH8VK5GmHdHubZWj4S7XcazGL1Kn5-VlbiYdW2ZVWpYlk638aV-XS2kpZ9YrKgViiM_x8RH5TPo4-
+
"TourKey": 100003404,
9LhE7V-SjiB_CP_qs58DRKcyohq3Tz9QaiFgH1Ko7O2XKjTBG7SHyQPDPYjaqg9kDxmzq0UcIT6Fm4YkDxmm9-
+
"BeginDate": "2018-04-16T00:00:00",
CW7u3cEFWcpiqKOc2VvZFKPPHc07uDOO4w9FXPhpXZwOqrJBxzhbr73RuhzPs_e-hgxKaIlsMaK5b0v5ReAMy1kuY0ebXA
+
"Duration": 8,
{
+
"Currency": "EU",
    "TourProgramId": 100000038,
+
"CalculatedServicesPrice": 122.0,
    "BeginDate": "2021-01-01T00:00:00",
+
"ChangedPrice": 34.0,
    "Duration": 9,
+
"Price": 156.0,
    "Currency": "$",
+
"TotalPrice": 156.0,
    "Services": [{
+
"IsDiscountIsPercent": true,
            "Service": {
+
"NationalChangedPrice": 2411.3038000000000000000000023,
                "ServiceType": 3,
+
"NationalTotalDiscount": 0.0,
                "Code": 702,
+
"NationalTotalPrice": 11063.629200000000000000000011,
                "SubCode1": 1113,
+
"NatinoalCalculatedServicesPrice": 8652.325400000000000000000008,
                "SubCode2": 2,
+
"NationalPrice": 11063.629200000000000000000011,
                "Packet": 209,
+
"Discount": 0.0,
                "Partner": 10760,
+
"TotalDiscount": 0.0,
                "Day": 1,
+
"ServiceTourists": [{
                "DurationInNight": 8,
+
"ServiceType": 1,
                "City": 35,
+
"Day": 1,
                "Country": 90,
+
"DurationInNight": 0,
                "Attributes": 0,
+
"Time": "10:00:00",
                "IsRemovable": false,
+
"Name": "А_П::Москва/Вена/3G1111, DME-VIE1, 10:00-11:59/C Бизнес класс",
                "Type": 1,
+
"TouristCount": 2,
                "IsHooded": false,
+
"Attributes": 0,
                "IsNotCalculated": false,
+
"Type": 1,
                "BeginDateTimeString": "2021-01-01T16:30:00",
+
"Brutto": 6.0,
                "EndDateTimeString": "2021-01-09T16:30:00",
+
"NationalBrutto": 425.52420000000000000000000041,
                "TemplateId": 2,
+
"TotalBrutto": 6.0
                "Cost": 0,
+
},
                "ByPax": true,
+
{
                "QuotaStatus": {
+
"ServiceType": 3,
                    "PlacesStatus": 4,
+
"Day": 1,
                    "FreePlaces": 0,
+
"DurationInNight": 7,
                    "IsFewPlaces": false
+
"Time": "11:59:00",
                },
+
"Name": "HOTEL::Вена/Beim Theresianum-4*Boutique,7 ночей/Double(Standart133),2Ad/BB2 Завтрак",
                "Index": 1,
+
"TouristCount": 2,
                "IsRoute": true,
+
"Attributes": 0,
                "ServiceTemplateIndex": 1,
+
"Type": 1,
                "RemoteId": null,
+
"Brutto": 114.0,
                "IsCommission": true,
+
"NationalBrutto": 8084.959800000000000000000008,
                "BaseFlightsParams": [{
+
"TotalBrutto": 114.0
                        "CityArrival": 35,
+
},
                        "FlightCode": 570,
+
{
                        "TariffKey": 67,
+
"ServiceType": 1,
                        "PartnerId": 10760
+
"Day": 8,
                    }, {
+
"DurationInNight": 0,
                        "CityArrival": 1,
+
"Time": "00:00:00",
                        "FlightCode": 572,
+
"Name": "А_П::Вена/Москва/7U222, VIE1-DME, 00:00-00:00/C Бизнес класс",
                        "TariffKey": 67,
+
"TouristCount": 2,
                        "PartnerId": 10760
+
"Attributes": 0,
                    }
+
"Type": 1,
                ]
+
"Brutto": 2.0,
            },
+
"NationalBrutto": 141.84140000000000000000000014,
            "TouristNumbersList": [1, 2]
+
"TotalBrutto": 2.0
        }, {
+
}]
            "Service": {
+
},
                "ServiceType": 1,
+
"TourName": "Удалить этот тур",
                "Code": 570,
+
"BookingConditions": "Условия бронирования тура.</p>",
                "SubCode1": 67,
+
"EndDate": "2018-04-23T00:00:00",
                "SubCode2": 1,
+
"DurationInNights": 7,
                "Packet": 209,
+
"NationalCurrency": "рб"
                "Partner": 10760,
+
}
                "Day": 1,
+
</syntaxhighlight>
                "DurationInNight": 0,
+
</TD></TR></TABLE>
                "City": 35,
+
</div></div><br />
                "Country": 90,
+
 
                "Attributes": 0,
+
===Бронирование путевки (CreateReservation)===
                "IsRemovable": false,
+
Метод производит бронирование путевки.<br />
                "Type": 1,
+
При бронировании проверяется корректность заполнения обязательных полей туристов (регулируется общими [[Мастер-Тур(15):Программа туров. Настройки#Настройки отображения информации о туристах|настройками]], либо в справочнике [[Мастер-Тур(15):Страны#Настроить информацию о туристах|Страны]]). В случае, если обязательные поля не заполнены, возвращается ошибка с сообщением, бронь не создается.
                "IsHooded": false,
+
 
                "IsNotCalculated": false,
+
* Формат запроса:
                "BeginDateTimeString": "2021-01-01T14:00:00",
+
** PUT .../TourSearchOwin/CreateReservation/1?
                "EndDateTimeString": "2021-01-01T16:30:00",
+
 
                "TemplateId": 1,
+
* Принимаемые параметры headers ( '''*''' – обязательный):
                "Cost": 0,
+
** '''Content-Type *''' – application/json
                "ByPax": true,
+
** '''Authorization *''' – token_type + access_token (полученные из метода .../TourSearchOwin/Token?)
                "QuotaStatus": {
+
 
                    "PlacesStatus": 4,
+
* Принимаемые параметры PUT запроса:
                    "FreePlaces": 0,
+
** '''TourProgramId''' – ключ турпрограммы
                    "IsFewPlaces": false
+
** '''BeginDate''' – дата начала тура (YYYY-MM-DDThh:mm:ss)
                },
+
** '''Duration''' – продолжительность тура
                "Index": 0,
+
** '''Currency''' – код валюты
                "IsRoute": true,
+
** '''Services''' – массив услуг
                "ServiceTemplateIndex": 0,
+
*** '''Service''' – объект услуги (отель/круиз, авиаперелет, трансфер или др.)
                "IsCommission": true,
+
**** '''ServiceType''' – тип услуги (поле ''sv_key'' из таблицы ''service'')
                "BaseFlightsParams": [{
+
**** '''Code''' – код услуги
                        "CityArrival": 35,
+
**** '''SubCode1''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 1]] услуги
                        "FlightCode": 570,
+
**** '''SubCode2''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 2]] услуги
                        "TariffKey": 67,
+
**** '''Packet''' – ключ пакета услуги
                        "PartnerId": 10760
+
**** '''Partner''' – ключ партнера услуги
                    }, {
+
**** '''Day''' – день предоставления услуги
                        "CityArrival": 1,
+
**** '''DurationInNight''' – продолжительность услуги в ночах
                        "FlightCode": 572,
+
**** '''City''' – ключ города
                        "TariffKey": 67,
+
**** '''Country''' – страна услуги
                        "PartnerId": 10760
+
**** '''Attributes''' – битовая маска атрибутов услуг
                    }
+
**** '''IsRemovable''' – (не обрабатывается)
                ]
+
**** '''Type''' – тип услуги в путевке (базовая дополнительная)
            },
+
**** '''IsHooded''' – признак скрытая услуга
            "TouristNumbersList": [1, 2]
+
**** '''IsNotCalculated''' – признак не рассчитываемая услуга
        }, {
+
**** '''BeginDateTimeString''' – дата и время начала услуги
            "Service": {
+
**** '''EndDateTimeString''' – дата и время окончания услуги
                "ServiceType": 1,
+
**** '''TemplateId''' – шаблон услуги
                "Code": 572,
+
**** '''Cost''' – цена услуги
                "SubCode1": 67,
+
**** '''ByPax''' – цена за человека
                "SubCode2": 35,
+
**** '''QuotaStatus''' – объект статус квотирования
                "Packet": 209,
+
***** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос)
                "Partner": 10760,
+
***** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''.
                "Day": 9,
+
***** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
                "DurationInNight": 0,
+
**** '''Index''' – индекс услуги
                "City": 1,
+
**** '''IsRoute''' – признак маршрутная услуга
                "Country": 460,
+
**** '''ServiceTemplateIndex''' – индекс шаблона услуги
                "Attributes": 0,
+
**** '''RemoteId''' – информация об услуге в удаленной системе
                "IsRemovable": false,
+
**** '''IsCommission''' – признак, комиссионная ли услуга
                "Type": 1,
+
**** '''BaseFlightsParams''' – параметры рассчитанных авиаперелетов
                "IsHooded": false,
+
***** '''CityArrival''' – ключ города прибытия прямого перелета
                "IsNotCalculated": false,
+
***** '''FlightCode''' – ключ прямого авиаперелета
                "BeginDateTimeString": "2021-01-09T14:00:00",
+
***** '''TariffKey''' – ключ тарифа прямого авиаперелета
                "EndDateTimeString": "2021-01-09T16:45:00",
+
***** '''PartnerId''' – ключ партнера прямого авиаперелета
                "TemplateId": 3,
+
***** '''CityArrival''' – ключ города прибытия обратного перелета
                "Cost": 0,
+
***** '''FlightCode''' – ключ обратного авиаперелета
                "ByPax": true,
+
***** '''TariffKey''' – ключ тарифа обратного авиаперелета
                "QuotaStatus": {
+
***** '''PartnerId''' – ключ партнера обратного авиаперелета
                    "PlacesStatus": 4,
+
*** '''TouristNumbersList''' – массив туристов, привязанных к услуге
                    "FreePlaces": 0,
+
** '''Tourists''' – массив туристов
                    "IsFewPlaces": false
+
*** '''IsMain''' – главный турист
                },
+
*** '''Number''' – порядковый номер туриста
                "Index": 2,
+
*** '''AgeType''' – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
                "IsRoute": true,
+
*** '''MaleFemaleSex''' – пол (0 – мужской, 1 – женский)
                "ServiceTemplateIndex": 2,
+
*** '''FirstName''' – имя (лат)
                "IsCommission": true,
+
*** '''LastName''' – фамилия (лат)
                "BaseFlightsParams": [{
+
*** '''Patronymic''' – отчество (лат)
                        "CityArrival": 35,
+
*** '''FirstNameRus''' – имя (рус)
                        "FlightCode": 570,
+
*** '''LastNameRus''' – фамилия (рус)
                        "TariffKey": 67,
+
*** '''PatronymicRus''' – отчество (рус)
                        "PartnerId": 10760
+
*** '''InternationalPassportSeries''' – серия загранпаспорта
                    }, {
+
*** '''InternationalPassportNumber''' – номер загранпаспорта
                        "CityArrival": 1,
+
*** '''InternationalPassportDateOfIssue''' – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
                        "FlightCode": 572,
+
*** '''InternationalPassportDateOfIssueString''' – дата выдачи загранпаспорта в строковом формате (DD.MM.YYYY)
                        "TariffKey": 67,
+
*** '''InternationalPassportDateOfExpiry''' – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
                        "PartnerId": 10760
+
*** '''InternationalPassportDateOfExpiryString''' – дата окончания действия загранпаспорта в строковом формате (DD.MM.YYYY)
                    }
+
*** '''internationalPassportByWhom''' – кем выдан загранпаспорт
                ]
+
*** '''PassportSeries''' – серия паспорта
            },
+
*** '''PassportNumber''' – номер паспорта
            "TouristNumbersList": [1, 2]
+
*** '''PassportDateOfIssue''' – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
        }
+
*** '''PassportDateOfIssueString''' – дата выдачи паспорта в строковом формате (DD.MM.YYYY)
    ],
+
*** '''PassportByWhom''' – кем выдан паспорт
    "Tourists": [{
+
*** '''Citizenship''' – название страны
            "IsMain": true,
+
*** '''Phone''' – телефон
            "Number": 1,
+
*** '''Email''' – e-mail
            "AgeType": 0,
+
*** '''BirthDay''' – дата рождения (YYYY-MM-DDThh:mm:ssz)
            "MaleFemaleSex": 0,
+
*** '''BirthDayString''' – дата рождения в строковом формате (DD.MM.YYYY)
            "FirstName": "IVAN",
+
*** '''BirthPlace''' – место рождения
            "LastName": "IVANOV",
+
*** '''CitizenID''' – ID туриста (задается в карточке постоянного клиента)
            "Patronymic": "",
+
*** '''Age''' – количество полных лет на момент окончания тура
            "FirstNameRus": "IVAN",
+
** '''BranchId''' – ключ филиала бронирования (начиная с релиза 15.3). Если не передан, то филиал бронирования берется из менеджера по умолчанию либо из пользователя, создавшего тур.
            "LastNameRus": "IVANOV",
+
** '''OwnerId''' – ключ ведущего менеджера (начиная с релиза 15.3). Если 0, то берется по умолчанию. Если по умолчанию не указан, то берется создатель тура.
            "PatronymicRus": "",
+
** '''Day''' – день (перевод)
            "InternationalPassportSeries": "",
+
** '''Day2''' – дня (перевод)
            "InternationalPassportNumber": "",
+
** '''Days''' – дней (перевод)
            "InternationalPassportDateOfIssue": "",
+
** '''Night''' – ночь (перевод)
            "InternationalPassportDateOfIssueString": "",
+
** '''Night2''' – ночи (перевод)
            "InternationalPassportDateOfExpiry": "",
+
** '''Nights''' – ночей (перевод)
            "InternationalPassportDateOfExpiryString": "",
+
** '''adultsCountOverServiceLimit''' – Количество взрослых туристов превышает лимит услуги (перевод)
            "internationalPassportByWhom": "",
+
** '''incorrectChildrenInf''' – Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание) (перевод)
            "PassportSeries": "",
+
 
            "PassportNumber": "",
+
* Возвращаемый результат:
            "PassportDateOfIssue": "",
+
** '''Reservation''' – объект путевки
            "PassportDateOfIssueString": "",
+
*** '''$id''' – внутренний идентификатор для установки связей между сущностями,
            "PassportByWhom": "",
+
*** '''Code''' – код путевки
            "Citizenship": "",
+
*** '''TurDate''' – дата заезда
            "Phone": "",
+
*** '''TRKey''' – ключ тура
            "Email": "",
+
*** '''CNKey''' – ключ страны
            "BirthDay": "1979-12-31T21:00:00.000Z",
+
*** '''CTKey''' – ключ города
            "BirthDayString": "01.01.1980",
+
*** '''NMen''' – количество туристов по путевке
            "BirthPlace": "Москва",
+
*** '''Price''' – стоимость путевки за вычетом скидки (комиссии)
            "CitizenID": "",
+
*** '''Payed''' – оплаченная сумма по путевке
            "Age": 41
+
*** '''NDay''' – продолжительность тура в днях
        }, {
+
*** '''MainMan''' – ФИО лица, заключившего договор
            "IsMain": false,
+
*** '''MainManPhone''' – номер телефона лица, заключившего договор
            "Number": 2,
+
*** '''MainManAddress''' – адрес лица, заключившего договор
            "AgeType": 0,
+
*** '''MainManPassport''' – паспортные данные лица, заключившего договор
            "MaleFemaleSex": 0,
+
*** '''PartnerKey''' – ключ партнера, оформившего договор
            "FirstName": "PETR",
+
*** '''Operator''' – ФИО создателя договора
            "LastName": "PETROV",
+
*** '''Discount''' – величина скидки на одного человека
            "Patronymic": "",
+
*** '''DiscountSum''' – абсолютная величина скидки
            "FirstNameRus": "PETR",
+
*** '''SORCode''' – ключ статус путевки
            "LastNameRus": "PETROV",
+
*** '''CrDate''' – дата и время создания путевки
            "PatronymicRus": "",
+
*** '''Rate''' – код валюты путевки
            "InternationalPassportSeries": "",
+
*** '''Advertise''' – ключ источника рекламы
            "InternationalPassportNumber": "",
+
*** '''Locked''' – блокировка путевки: ''1'' – если заблокирована
            "InternationalPassportDateOfIssue": "",
+
*** '''CauseDisc''' – ключ основания для скидки
            "InternationalPassportDateOfIssueString": "",
+
*** '''PPaymentDate''' – максимальная дата внесения предоплаты
            "InternationalPassportDateOfExpiry": "",
+
*** '''PaymentDate''' – максимальная дата полной оплаты
            "InternationalPassportDateOfExpiryString": "",
+
*** '''Procent''' – информация о предоплате: ''1'' – предоплата в %; ''0'' – предоплата в у.е.
            "internationalPassportByWhom": "",
+
*** '''TurDateBfrAnnul''' – значение даты заезда до аннуляции путевки (при аннуляции дата заезда заменяется на 31.12.1899)
            "PassportSeries": "",
+
*** '''ARKey''' – ключ причины аннуляции путевки
            "PassportNumber": "",
+
*** '''Key''' – ключ договора
            "PassportDateOfIssue": "",
+
*** '''CodePartner''' – значение ключевого поля из таблицы партнеров
            "PassportDateOfIssueString": "",
+
*** '''FilialKey''' – ключ филиала фирмы-владельца, пользователем которого была забронирована путевка
            "PassportByWhom": "",
+
*** '''IsOutDoc''' – статус выдачи документов
            "Citizenship": "",
+
*** '''Notes''' – сообщение поставщику
            "Phone": "",
+
*** '''DiscSumBfrAnn''' – числовое значение скидки перед аннуляцией путевки
            "Email": "",
+
*** '''PriceBfrAnn''' – стоимость путевки перед ее аннуляцией
            "BirthDay": "1980-12-31T21:00:00.000Z",
+
*** '''RazmerP''' – размер предоплаты
            "BirthDayString": "01.01.1981",
+
*** '''LeadDepartment''' – ключ отдела, ведущего данный тур
            "BirthPlace": "Москва",
+
*** '''MainManEmail''' – адрес е-mail из данных лица, заключившего договор
            "CitizenID": "",
+
*** '''MainManComment''' – примечание из данных лица, заключившего договор
            "Age": 40
+
*** '''DupUserKey''' – ключ представителя партнера, которым был оформлен договор
        }
+
*** '''BTKey''' – ключ системы бронирования, из которой был оформлен договор
    ],
+
*** '''ConfirmedDate''' – дата подтверждения путевки покупателю
    "TechnicalProblemsDuringUpdateFlights": false,
+
*** '''PrtDogKey''' – договор партнера, по которому оформлена путевка
    "TimeLimit": null,
+
*** '''CTDepartureKey''' – ключ города начала поездки
    "OwnerId": 95,
+
*** '''PDTType''' – тип договора, по которому оформлена путевка
    "Day": "день",
+
*** '''NationalCurrencyPrice''' – стоимость путевки в национальной валюте
    "Day2": "дня",
+
*** '''NationalCurrencyDiscountSum''' – значение скидки в национальной валюте
    "Days": "дней",
+
*** '''NationalCurrencyPayed''' – сумма платежей по путевке, зафиксированная в национальной валюте
    "Night": "ночь",
+
*** '''CurrencyKey''' – ключ национальной валюты путевки
    "Night2": "ночи",
+
*** '''CurrencyRate''' – курс национальной валюты путевки
    "Nights": "ночей",
+
*** '''ClientKey''' – ключ частника, которым был оформлен договор
    "adultsCountOverServiceLimit": "Количество взрослых туристов превышает лимит услуги",
+
*** '''Partner''' – информация о партнере покупателе, привязанным к путевке
    "incorrectChildrenInf": "Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание)"
+
**** '''$id''' – внутренний идентификатор для установки связей между сущностями
}
+
**** '''Key''' – ключ партнера покумателя
</syntaxhighlight>
+
**** '''FullName''' – полное имя партнера
</TD></TR></TABLE>
+
**** '''Name''' – имя партнера
</div></div><br />
+
*** '''Services''' – коллекция услуг в данной путевке
 
+
**** '''$id''' – внутренний идентификатор для установки связей между сущностями
<div class="toccolours mw-collapsible mw-collapsed" style="width:1200px">Пример ответа
+
**** '''DGCod''' – номер путевки
<div class="mw-collapsible-content">
+
**** '''TurDate''' – дата начала тура
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
+
**** '''Key''' – ключ услуги
Возвращаемый результат метода CreateReservation (в формате JSON)
+
**** '''PaketKey''' – ключ пакета
<syntaxhighlight lang="java" enclose="div">
+
**** '''TRKey''' – клют тура
{
+
**** '''SVKey''' – ключ типа услуги
    "Reservation": {
+
**** '''Name''' – наименование услуги
        "$id": 1,
+
**** '''Day''' – порядковый номер дня тура, в который предоставляется услуга
        "Code": "AU10101003",
+
**** '''Code''' – ключ кода услуги
        "TurDate": "2021-01-01T00:00:00",
+
**** '''SubCode1''' – ключ доп.описания 1 услуги
        "TRKey": 100000038,
+
**** '''SubCode2''' – ключ доп.описания 2 услуги
        "CNKey": 90,
+
**** '''Men''' – количество человек, пользующихся услугой по путевке
        "CTKey": 35,
+
**** '''Days''' – количество дней услуги
        "NMen": 2,
+
**** '''CNKey''' – ключ страны услуги
        "Price": 877,
+
**** '''CTKey''' – ключ города услуги
        "Payed": 0,
+
**** '''PartnerKey''' – ключ партнера, предоставляющего услугу
        "NDay": 9,
+
**** '''Brutto''' – стоимость услуги брутто
        "MainMan": "",
+
**** '''Wait''' – признак услуги ''Снимать квоту при бронировании''
        "MainManPhone": "",
+
**** '''Warning''' – неиспользуемое поле
        "MainManAddress": "",
+
**** '''TimeBeg''' – поле используется для сортировки услуг в путевке
        "MainManPassport": "",
+
**** '''Control''' – ключ статуса услуги (ссылка на таблицу Controls),
        "PartnerKey": 10762,
+
**** '''Attribute''' – атрибут услуги
        "Operator": "Megatec ",
+
**** '''DateBeg''' – дата начала действия услуги
        "Discount": 40,
+
**** '''DateEnd''' – дата окончания действия услуги
        "DiscountSum": 80,
+
**** '''Discount''' – размер скидки по услуге
        "SORCode": 0,
+
**** '''Comment''' – комментарий к услуге
        "CrDate": "2020-10-12T15:02:29.013",
+
**** '''DGKey''' – ключ договора,
        "Rate": "$",
+
**** '''Blocked''' – признак блокировки услуги (''0'' – не блокирована, ''1'' – блокирована)
        "Advertise": 0,
+
**** '''NameLat''' – наименование услуги (латинский)
        "Locked": null,
+
**** '''Long''' – продолжительность тура в днях
        "CauseDisc": null,
+
**** '''TRFId''' – ключ тарифа
        "PPaymentDate": null,
+
**** '''CreateDate''' – дата создания услуги в путевке
        "PaymentDate": "2020-10-14T00:00:00+03:00",
+
**** '''CalculatePriceDate''' – дата расчета цены
        "Procent": 1,
+
**** '''ShowOrder''' – порядок при сортировке
        "TurDateBfrAnnul": null,
+
**** '''Connections''' – коллекция связей с сущностями через внутренний идентификатор ''$id''
        "ARKey": 0,
+
***** '''$ref''' – связь с внутренним идентификатором ''$id''
        "Key": 40335,
+
*** '''Turists''' – коллекция туристов в данной путевке
        "CodePartner": null,
+
**** '''$id''' – внутренний идентификатор для установки связей между сущностями
        "FilialKey": 1,
+
**** '''DGCod''' – номер путевки, к которому привязан турист
        "IsOutDoc": 0,
+
**** '''Key''' – ключ туриста
        "Notes": null,
+
**** '''TurDate''' – дата начала тура
        "DiscSumBfrAnn": null,
+
**** '''NameRus''' – фамилия туриста (русское)
        "PriceBfrAnn": null,
+
**** '''NameLat''' – фамилия туриста (латинское)
        "RazmerP": 0,
+
**** '''ShortName''' – имя и отчество туриста в формате ''И.О.''
        "LeadDepartment": 0,
+
**** '''Sex''' – пол туриста (признак): ''Null'' или ''0'' – Муж; ''1'' – Жен; ''2'' – Child (ребенок); ''3'' – Infant (младенец)
        "MainManEmail": "test@megatec.ru",
+
**** '''FNameRus''' – имя туриста (русское)
        "MainManComment": "",
+
**** '''FNameLat''' – имя туриста (латинское)
        "DupUserKey": 6,
+
**** '''SNameRus''' – отчество туриста (русское)
        "BTKey": 1,
+
**** '''SNameLat''' – отчество туриста (латинское)
        "ConfirmedDate": null,
+
**** '''BirthDay''' – дата рождения туриста
        "PrtDogKey": 11,
+
**** '''BirthCountry''' – страна рождения туриста
        "CTDepartureKey": 1,
+
**** '''BirthCity''' – город рождения туриста
        "PDTType": 0,
+
**** '''Citizen''' – гражданство туриста
        "NationalCurrencyPrice": null,
+
**** '''PostIndex''' – почтовый индекс
        "NationalCurrencyDiscountSum": null,
+
**** '''PostCity''' – адрес проживания туриста (город)
        "NationalCurrencyPayed": null,
+
**** '''PostStreet''' – адрес проживания туриста (улица)
        "CurrencyKey": null,
+
**** '''PostBild''' – адрес проживания туриста (номер дома)
        "CurrencyRate": null,
+
**** '''PostFlat''' – адрес проживания туриста (номер квартиры)
        "ClientKey": null,
+
**** '''Phone''' – номер телефона туриста
        "Partner": {
+
**** '''PhoneCode''' – код телефона туриста
            "$id": 2,
+
**** '''PasportType''' – серия заграничного паспорта
            "Key": 10762,
+
**** '''PasportNum''' – номер заграничного паспорта
            "FullName": "Агентство",
+
**** '''PasportDate''' – дата выдачи заграничного паспорта
            "Name": "Агентство"
+
**** '''PasportDateEnd''' – дата окончания срока действия заграничного паспорта
        },
+
**** '''PasportByWhom''' – кем выдан заграничный паспорт
        "Services": [{
+
**** '''Place''' – место рождения
                "$id": 3,
+
**** '''IsAnketa''' – выдавалась ли анкета
                "DGCod": "AU10101003",
+
**** '''PaspRuser''' – серия общегражданского паспорта
                "TurDate": "2021-01-01T00:00:00",
+
**** '''PaspRuNum''' – номер общегражданского паспорта
                "Key": 202463,
+
**** '''PaspRuDate''' – дата выдачи общегражданского паспорта
                "PaketKey": 209,
+
**** '''PaspRuByWhom''' – кем выдан общегражданский паспорт
                "TRKey": 100000038,
+
**** '''ClientId''' – ключ в таблице клиентов
                "SVKey": 1,
+
**** '''IsMain''' – признак главного туриста по путевке
                "Name": "А_П::Москва/Вена/00444, DME-VIE, 14:00-16:30/C Бизнес класс",
+
**** '''DGKey''' – ключ кутевки
                "Day": 1,
+
**** '''RealSex''' – реальный пол туриста: ''Null'' или ''0'' – Муж; ''1'' – Жен
                "Code": 570,
+
**** '''Email''' – е-mail туриста
                "SubCode1": 67,
+
**** '''EnableSmsNotifications''' – согласен получать уведомления по СМС
                "SubCode2": 1,
+
**** '''CitizenId''' – идентификатор туриста
                "Men": 2,
+
**** '''Connections''' – коллекция связей с сущностями через внутренний идентификатор ''$id''
                "Days": 0,
+
***** '''$ref''' – связь с внутренним идентификатором ''$id''
                "CNKey": 90,
+
*** '''TuristServices''' – коллекция связей туриста с услугой
                "CTKey": 35,
+
**** '''$id''' – внутренний идентификатор для установки связей между сущностями
                "PartnerKey": 10760,
+
**** '''TUKey''' – ключ туриста
                "Brutto": 162.2,
+
**** '''DLKey''' – ключ услуги
                "Wait": null,
+
**** '''NumDoc''' – номер документа (авиабилета)
                "Warning": 0,
+
**** '''NumRoom''' – номер комнаты (каюты)
                "TimeBeg": "1899-01-01T14:00:00",
+
**** '''Seat''' – номер места (в номере отеля, каюты) или место в транспорте
                "Control": 1,
+
**** '''Area''' – зона (палуба) в отеле, круизе
                "Attribute": 65695,
+
**** '''DocDate''' – дата документа (авиабелета)
                "DateBeg": "2021-01-01T00:00:00",
+
**** '''Key''' – первичный ключ связки
                "DateEnd": "2021-01-01T00:00:00",
+
**** '''Connections''' – коллекция связей с сущностями через внутренний идентификатор ''$id''
                "Discount": 14.8,
+
***** '''$ref''' – связь с внутренним идентификатором ''$id''
                "Comment": null,
+
*** '''DogovorMessages''' – сообщение по путевке покупателю
                "DGKey": 40335,
+
**** '''id''' – внутренний идентификатор для установки связей между сущностями
                "Blocked": null,
+
**** '''Date''' – дата создание сообщения
                "NameLat": "А_П::Москва/Вена/00444, DME-VIE, 14:00-16:30/C Бизнес класс",
+
**** '''Text''' – текст сообщения
                "Long": 9,
+
**** '''Remark''' – код сообщения
                "TRFId": 0,
+
**** '''Connections''' – коллекция связей с сущностями через внутренний идентификатор ''$id''
                "CreateDate": "2020-10-12T15:02:29.013",
+
***** '''$ref''' – связь с внутренним идентификатором ''$id''
                "CalculatePriceDate": "2020-10-12T15:02:29.013",
+
** '''ValidationResultSummary''' – объект статус результата бронирования
                "ShowOrder": 1,
+
*** '''ValidationResult''' – объект с ошибками и флагом валидности путевки
                "Connections": [{
+
**** '''Errors''' – массив ошибок бронирования
                        "$ref": 1
+
**** '''IsValid''' – признак валидности бронирования
                    }
+
*** '''ValidationResultAttributes''' – атрибут результата бронирования
                ]
+
 
            }, {
+
<div class="toccolours mw-collapsible mw-collapsed" style="width:1200px">Пример запроса
                "$id": 4,
+
<div class="mw-collapsible-content">
                "DGCod": "AU10101003",
+
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
                "TurDate": "2021-01-01T00:00:00",
+
Вызов метода CreateReservation
                "Key": 202462,
+
<syntaxhighlight lang="java" enclose="div">
                "PaketKey": 209,
+
PUT http://localhost:9000/TourSearchOwin/CreateReservation/1? HTTP/1.1
                "TRKey": 100000038,
+
Content-Type: application/json
                 "SVKey": 3,
+
Authorization: Bearer AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAdsCC8X7m9E-2bg0-uS0VfgAAAAAAAAADZgAAwAAAA-
                "Name": "HOTEL::Вена/Albatros-1*,8 ночей/Double(Standart),2 Adult/HB Полупансион",
+
EqAAAAAASAAACgAAAAEAAAAO4S-VrqBhQuhqliqrAKKfIgAQAAn-gfgP-rYjk-Krr1Ck2A-IGCw6FBhamUOzFxgTtk1hR-
                "Day": 1,
+
GLMryFIH8VK5GmHdHubZWj4S7XcazGL1Kn5-VlbiYdW2ZVWpYlk638aV-XS2kpZ9YrKgViiM_x8RH5TPo4-
 +
9LhE7V-SjiB_CP_qs58DRKcyohq3Tz9QaiFgH1Ko7O2XKjTBG7SHyQPDPYjaqg9kDxmzq0UcIT6Fm4YkDxmm9-
 +
CW7u3cEFWcpiqKOc2VvZFKPPHc07uDOO4w9FXPhpXZwOqrJBxzhbr73RuhzPs_e-hgxKaIlsMaK5b0v5ReAMy1kuY0ebXA
 +
{
 +
    "TourProgramId": 100000038,
 +
    "BeginDate": "2021-01-01T00:00:00",
 +
    "Duration": 9,
 +
    "Currency": "$",
 +
    "Services": [{
 +
            "Service": {
 +
                 "ServiceType": 3,
 
                 "Code": 702,
 
                 "Code": 702,
 
                 "SubCode1": 1113,
 
                 "SubCode1": 1113,
 
                 "SubCode2": 2,
 
                 "SubCode2": 2,
                 "Men": 2,
+
                 "Packet": 209,
                 "Days": 8,
+
                 "Partner": 10760,
                 "CNKey": 90,
+
                 "Day": 1,
                 "CTKey": 35,
+
                 "DurationInNight": 8,
                 "PartnerKey": 10760,
+
                 "City": 35,
                 "Brutto": 519.6,
+
                 "Country": 90,
                 "Wait": null,
+
                 "Attributes": 0,
                 "Warning": 0,
+
                 "IsRemovable": false,
                 "TimeBeg": "1899-01-01T16:30:00",
+
                 "Type": 1,
                 "Control": 1,
+
                 "IsHooded": false,
                 "Attribute": 65695,
+
                 "IsNotCalculated": false,
                 "DateBeg": "2021-01-01T00:00:00",
+
                 "BeginDateTimeString": "2021-01-01T16:30:00",
                 "DateEnd": "2021-01-08T00:00:00",
+
                 "EndDateTimeString": "2021-01-09T16:30:00",
                 "Discount": 47.4,
+
                 "TemplateId": 2,
                 "Comment": null,
+
                 "Cost": 0,
                 "DGKey": 40335,
+
                 "ByPax": true,
                 "Blocked": null,
+
                 "QuotaStatus": {
                "NameLat": "HOTEL::Вена/Albatros-1*,8 ночей/Double(Standart),2 Adult/HB Полупансион",
+
                    "PlacesStatus": 4,
                 "Long": 9,
+
                    "FreePlaces": 0,
                 "TRFId": 0,
+
                    "IsFewPlaces": false
                 "CreateDate": "2020-10-12T15:02:29.013",
+
                },
                "CalculatePriceDate": "2020-10-12T15:02:29.013",
+
                "Index": 1,
                "ShowOrder": 2,
+
                "IsRoute": true,
                "Connections": [{
+
                "ServiceTemplateIndex": 1,
                         "$ref": 1
+
                 "RemoteId": null,
 +
                 "IsCommission": true,
 +
                 "BaseFlightsParams": [{
 +
                        "CityArrival": 35,
 +
                        "FlightCode": 570,
 +
                        "TariffKey": 67,
 +
                        "PartnerId": 10760
 +
                    }, {
 +
                        "CityArrival": 1,
 +
                        "FlightCode": 572,
 +
                        "TariffKey": 67,
 +
                         "PartnerId": 10760
 
                     }
 
                     }
 
                 ]
 
                 ]
             }, {
+
             },
                "$id": 5,
+
            "TouristNumbersList": [1, 2]
                "DGCod": "AU10101003",
+
        }, {
                "TurDate": "2021-01-01T00:00:00",
+
            "Service": {
                "Key": 202461,
+
                 "ServiceType": 1,
                 "PaketKey": 209,
+
                 "Code": 570,
                "TRKey": 100000038,
 
                "SVKey": 1,
 
                "Name": "А_П::Вена/Москва/00444, VIE-SV1, 14:00-16:45/C Бизнес класс",
 
                "Day": 9,
 
                 "Code": 572,
 
 
                 "SubCode1": 67,
 
                 "SubCode1": 67,
                 "SubCode2": 35,
+
                 "SubCode2": 1,
                 "Men": 2,
+
                 "Packet": 209,
                 "Days": 0,
+
                 "Partner": 10760,
                 "CNKey": 460,
+
                 "Day": 1,
                 "CTKey": 1,
+
                 "DurationInNight": 0,
                 "PartnerKey": 10760,
+
                 "City": 35,
                 "Brutto": 195.2,
+
                 "Country": 90,
                 "Wait": null,
+
                 "Attributes": 0,
                 "Warning": 0,
+
                 "IsRemovable": false,
                 "TimeBeg": "1899-01-01T14:00:00",
+
                 "Type": 1,
                 "Control": 1,
+
                 "IsHooded": false,
                 "Attribute": 65695,
+
                 "IsNotCalculated": false,
                 "DateBeg": "2021-01-09T00:00:00",
+
                 "BeginDateTimeString": "2021-01-01T14:00:00",
                 "DateEnd": "2021-01-09T00:00:00",
+
                 "EndDateTimeString": "2021-01-01T16:30:00",
                 "Discount": 17.8,
+
                 "TemplateId": 1,
                "Comment": null,
+
                 "Cost": 0,
                 "DGKey": 40335,
+
                 "ByPax": true,
                "Blocked": null,
+
                 "QuotaStatus": {
                "NameLat": "А_П::Вена/Москва/00444, VIE-SV1, 14:00-16:45/C Бизнес класс",
+
                     "PlacesStatus": 4,
                "Long": 9,
+
                    "FreePlaces": 0,
                "TRFId": 0,
+
                    "IsFewPlaces": false
                 "CreateDate": "2020-10-12T15:02:29.013",
+
                 },
                "CalculatePriceDate": "2020-10-12T15:02:29.013",
+
                 "Index": 0,
                "ShowOrder": 3,
+
                 "IsRoute": true,
                 "Connections": [{
+
                 "ServiceTemplateIndex": 0,
                        "$ref": 1
+
                 "IsCommission": true,
                     }
+
                 "BaseFlightsParams": [{
                ]
+
                        "CityArrival": 35,
            }
+
                        "FlightCode": 570,
        ],
+
                        "TariffKey": 67,
        "Turists": [{
+
                        "PartnerId": 10760
                "$id": 6,
+
                    }, {
                "DGCod": "AU10101003",
+
                        "CityArrival": 1,
                "Key": 88653,
+
                        "FlightCode": 572,
                 "TurDate": "2021-01-01T00:00:00",
+
                        "TariffKey": 67,
                 "NameRus": "IVANOV",
+
                         "PartnerId": 10760
                "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,
+
            "TouristNumbersList": [1, 2]
                "DGCod": "AU10101003",
+
        }, {
                "Key": 88652,
+
            "Service": {
                 "TurDate": "2021-01-01T00:00:00",
+
                 "ServiceType": 1,
                 "NameRus": "PETROV",
+
                 "Code": 572,
                 "NameLat": "PETROV",
+
                 "SubCode1": 67,
                 "ShortName": "P.",
+
                 "SubCode2": 35,
                 "Sex": 0,
+
                 "Packet": 209,
                 "FNameRus": "PETR",
+
                 "Partner": 10760,
                 "FNameLat": "PETR",
+
                 "Day": 9,
                 "SNameRus": "",
+
                 "DurationInNight": 0,
                 "SNameLat": "",
+
                 "City": 1,
                 "BirthDay": "1981-01-01T00:00:00",
+
                 "Country": 460,
                 "BirthCountry": null,
+
                 "Attributes": 0,
                 "BirthCity": "Москва",
+
                 "IsRemovable": false,
                 "Citizen": "",
+
                 "Type": 1,
                 "PostIndex": null,
+
                 "IsHooded": false,
                 "PostCity": null,
+
                 "IsNotCalculated": false,
                 "PostStreet": null,
+
                 "BeginDateTimeString": "2021-01-09T14:00:00",
                "PostBild": null,
+
                 "EndDateTimeString": "2021-01-09T16:45:00",
                 "PostFlat": null,
+
                 "TemplateId": 3,
                "Phone": "",
+
                 "Cost": 0,
                 "PhoneCode": null,
+
                 "ByPax": true,
                 "PasportType": "",
+
                 "QuotaStatus": {
                 "PasportNum": "",
+
                    "PlacesStatus": 4,
                 "PasportDate": null,
+
                    "FreePlaces": 0,
                "PasportDateEnd": null,
+
                    "IsFewPlaces": false
                "PasportByWhom": "",
+
                 },
                "Place": null,
+
                 "Index": 2,
                 "IsAnketa": null,
+
                 "IsRoute": true,
                 "PaspRuser": "",
+
                 "ServiceTemplateIndex": 2,
                 "PaspRuNum": "",
+
                 "IsCommission": true,
                 "PaspRuDate": null,
+
                 "BaseFlightsParams": [{
                 "PaspRuByWhom": "",
+
                        "CityArrival": 35,
                 "ClientId": null,
+
                        "FlightCode": 570,
                "IsMain": 0,
+
                        "TariffKey": 67,
                "DGKey": 40335,
+
                        "PartnerId": 10760
                "RealSex": 0,
+
                    }, {
                "Email": "",
+
                        "CityArrival": 1,
                "EnableSmsNotifications": 0,
+
                        "FlightCode": 572,
                "CitizenId": "",
+
                        "TariffKey": 67,
                "Connections": [{
+
                         "PartnerId": 10760
                         "$ref": 1
 
 
                     }
 
                     }
 
                 ]
 
                 ]
             }
+
             },
         ],
+
            "TouristNumbersList": [1, 2]
        "TuristServices": [{
+
         }
                "$id": 8,
+
    ],
                "TUKey": 88653,
+
    "Tourists": [{
                "DLKey": 202463,
+
            "IsMain": true,
                "NumDoc": null,
+
            "Number": 1,
                "NumRoom": 0,
+
            "AgeType": 0,
                "Seat": null,
+
            "MaleFemaleSex": 0,
                "Area": null,
+
            "FirstName": "IVAN",
                "DocDate": null,
+
            "LastName": "IVANOV",
                "Key": 3770,
+
            "Patronymic": "",
                "Connections": [{
+
            "FirstNameRus": "IVAN",
                        "$ref": 1
+
            "LastNameRus": "IVANOV",
                    }, {
+
            "PatronymicRus": "",
                        "$ref": 3
+
            "InternationalPassportSeries": "",
                    }, {
+
            "InternationalPassportNumber": "",
                        "$ref": 6
+
            "InternationalPassportDateOfIssue": "",
                    }
+
            "InternationalPassportDateOfIssueString": "",
                ]
+
            "InternationalPassportDateOfExpiry": "",
             }, {
+
            "InternationalPassportDateOfExpiryString": "",
                "$id": 9,
+
            "internationalPassportByWhom": "",
                "TUKey": 88652,
+
            "PassportSeries": "",
                "DLKey": 202463,
+
             "PassportNumber": "",
                "NumDoc": null,
+
            "PassportDateOfIssue": "",
                "NumRoom": 0,
+
            "PassportDateOfIssueString": "",
                "Seat": null,
+
            "PassportByWhom": "",
                "Area": null,
+
            "Citizenship": "",
                "DocDate": null,
+
            "Phone": "",
                "Key": 3768,
+
            "Email": "",
                "Connections": [{
+
            "BirthDay": "1979-12-31T21:00:00.000Z",
                        "$ref": 1
+
            "BirthDayString": "01.01.1980",
                    }, {
+
            "BirthPlace": "Москва",
                        "$ref": 3
+
            "CitizenID": "",
                    }, {
+
            "Age": 41
                        "$ref": 7
+
        }, {
                    }
+
            "IsMain": false,
                ]
+
            "Number": 2,
             }, {
+
            "AgeType": 0,
                "$id": 10,
+
            "MaleFemaleSex": 0,
                "TUKey": 88653,
+
            "FirstName": "PETR",
                "DLKey": 202462,
+
            "LastName": "PETROV",
                "NumDoc": null,
+
            "Patronymic": "",
                "NumRoom": 0,
+
             "FirstNameRus": "PETR",
                "Seat": null,
+
            "LastNameRus": "PETROV",
                "Area": null,
+
            "PatronymicRus": "",
                "DocDate": null,
+
            "InternationalPassportSeries": "",
                "Key": 3771,
+
            "InternationalPassportNumber": "",
                "Connections": [{
+
            "InternationalPassportDateOfIssue": "",
                        "$ref": 1
+
            "InternationalPassportDateOfIssueString": "",
                    }, {
+
            "InternationalPassportDateOfExpiry": "",
                        "$ref": 4
+
            "InternationalPassportDateOfExpiryString": "",
                    }, {
+
            "internationalPassportByWhom": "",
                        "$ref": 6
+
            "PassportSeries": "",
                    }
+
            "PassportNumber": "",
                ]
+
            "PassportDateOfIssue": "",
             }, {
+
            "PassportDateOfIssueString": "",
                "$id": 11,
+
            "PassportByWhom": "",
                "TUKey": 88652,
+
            "Citizenship": "",
                "DLKey": 202462,
+
            "Phone": "",
                "NumDoc": null,
+
            "Email": "",
                "NumRoom": 0,
+
             "BirthDay": "1980-12-31T21:00:00.000Z",
                "Seat": null,
+
            "BirthDayString": "01.01.1981",
                "Area": null,
+
            "BirthPlace": "Москва",
                "DocDate": null,
+
            "CitizenID": "",
                "Key": 3767,
+
            "Age": 40
                "Connections": [{
+
        }
                        "$ref": 1
+
    ],
                    }, {
+
    "TechnicalProblemsDuringUpdateFlights": false,
                        "$ref": 4
+
    "TimeLimit": null,
                    }, {
+
    "OwnerId": 95,
                        "$ref": 7
+
    "Day": "день",
                    }
+
    "Day2": "дня",
                ]
+
    "Days": "дней",
            }, {
+
    "Night": "ночь",
                "$id": 12,
+
    "Night2": "ночи",
                "TUKey": 88653,
+
    "Nights": "ночей",
                "DLKey": 202461,
+
    "adultsCountOverServiceLimit": "Количество взрослых туристов превышает лимит услуги",
                "NumDoc": null,
+
    "incorrectChildrenInf": "Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание)"
                "NumRoom": 0,
+
}
                "Seat": null,
+
</syntaxhighlight>
                "Area": null,
+
</TD></TR></TABLE>
                "DocDate": null,
+
</div></div><br />
                "Key": 3772,
+
 
                "Connections": [{
+
<div class="toccolours mw-collapsible mw-collapsed" style="width:1200px">Пример ответа
                        "$ref": 1
+
<div class="mw-collapsible-content">
                    }, {
+
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
                        "$ref": 5
+
Возвращаемый результат метода CreateReservation (в формате JSON)
                    }, {
+
<syntaxhighlight lang="java" enclose="div">
                        "$ref": 6
+
{
                    }
+
    "Reservation": {
                ]
+
        "$id": 1,
            }, {
+
        "Code": "AU10101003",
                "$id": 13,
+
        "TurDate": "2021-01-01T00:00:00",
                "TUKey": 88652,
+
        "TRKey": 100000038,
                "DLKey": 202461,
+
        "CNKey": 90,
                "NumDoc": null,
+
        "CTKey": 35,
                "NumRoom": 0,
+
        "NMen": 2,
                "Seat": null,
+
        "Price": 877,
                "Area": null,
+
        "Payed": 0,
                "DocDate": null,
+
        "NDay": 9,
                "Key": 3769,
+
        "MainMan": "",
                "Connections": [{
+
        "MainManPhone": "",
                        "$ref": 1
+
        "MainManAddress": "",
                    }, {
+
        "MainManPassport": "",
                        "$ref": 5
+
        "PartnerKey": 10762,
                    }, {
+
        "Operator": "Megatec ",
                        "$ref": 7
+
        "Discount": 40,
                    }
+
        "DiscountSum": 80,
                ]
+
        "SORCode": 0,
            }
+
        "CrDate": "2020-10-12T15:02:29.013",
         ],
+
        "Rate": "$",
         "DogovorMessages": []
+
        "Advertise": 0,
    "DogovorMessages": [{
+
        "Locked": null,
         "$id": 11,
+
        "CauseDisc": null,
         "Date": "2020-10-09T09:16:39.99",
+
        "PPaymentDate": null,
         "Text": "Тайм-лимит забронированного перелета: 13.10.2020 21:59",
+
        "PaymentDate": "2020-10-14T00:00:00+03:00",
         "Remark": "TimeLimit",
+
        "Procent": 1,
         "Connections": [{
+
        "TurDateBfrAnnul": null,
                "$ref": 1
+
        "ARKey": 0,
            }
+
        "Key": 40335,
         ]
+
        "CodePartner": null,
    },
+
        "FilialKey": 1,
    "ValidationResultSummary": {
+
        "IsOutDoc": 0,
         "ValidationResult": {
+
        "Notes": null,
             "Errors": [],
+
        "DiscSumBfrAnn": null,
             "IsValid": true
+
         "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": "Агентство"
 
         },
 
         },
        "ValidationResultAttributes": 0
+
        "Services": [{
    }
+
                "$id": 3,
}
+
                "DGCod": "AU10101003",
</syntaxhighlight>
+
                "TurDate": "2021-01-01T00:00:00",
</TD></TR></TABLE>
+
                "Key": 202463,
</div></div><br />
+
                "PaketKey": 209,
 
+
                "TRKey": 100000038,
===Выгрузка информации о путевке (GetReservation)===
+
                "SVKey": 1,
Метод выводит информацию о бронированной путевке.
+
                "Name": "А_П::Москва/Вена/00444, DME-VIE, 14:00-16:30/C Бизнес класс",
 
+
                "Day": 1,
* Формат запроса:
+
                "Code": 570,
** GET .../TourSearchOwin/GetReservation?
+
                "SubCode1": 67,
 
+
                "SubCode2": 1,
* Принимаемые параметры headers ( '''*''' – обязательный):
+
                "Men": 2,
** '''Content-Type *''' – application/json
+
                "Days": 0,
** '''Authorization *''' – token_type + access_token (полученные из метода .../TourSearchOwin/Token?)
+
                "CNKey": 90,
 
+
                "CTKey": 35,
* Принимаемые параметры GET запроса ( '''*''' – обязательный):
+
                "PartnerKey": 10760,
** '''dgCode *''' – номер путевки:
+
                "Brutto": 162.2,
 
+
                "Wait": null,
* Возвращаемый результат:
+
                "Warning": 0,
** '''$id''' – внутренний идентификатор для установки связей между сущностями,
+
                "TimeBeg": "1899-01-01T14:00:00",
** '''Code''' – код путевки
+
                "Control": 1,
** '''TurDate''' – дата заезда
+
                "Attribute": 65695,
** '''TRKey''' – ключ тура
+
                "DateBeg": "2021-01-01T00:00:00",
** '''CNKey''' – ключ страны
+
                "DateEnd": "2021-01-01T00:00:00",
** '''CTKey''' – ключ города
+
                "Discount": 14.8,
** '''NMen''' – количество туристов по путевке
+
                "Comment": null,
** '''Price''' – стоимость путевки за вычетом скидки (комиссии)
+
                "DGKey": 40335,
** '''Payed''' – оплаченная сумма по путевке
+
                "Blocked": null,
** '''NDay''' – продолжительность тура в днях
+
                "NameLat": "А_П::Москва/Вена/00444, DME-VIE, 14:00-16:30/C Бизнес класс",
** '''MainMan''' – ФИО лица, заключившего договор
+
                "Long": 9,
** '''MainManPhone''' – номер телефона лица, заключившего договор
+
                "TRFId": 0,
** '''MainManAddress''' – адрес лица, заключившего договор
+
                "CreateDate": "2020-10-12T15:02:29.013",
** '''MainManPassport''' – паспортные данные лица, заключившего договор
+
                "CalculatePriceDate": "2020-10-12T15:02:29.013",
** '''PartnerKey''' – ключ партнера, оформившего договор
+
                "ShowOrder": 1,
** '''Operator''' – ФИО создателя договора
+
                "Connections": [{
** '''Discount''' – величина скидки на одного человека
+
                        "$ref": 1
** '''DiscountSum''' – абсолютная величина скидки
+
                    }
** '''SORCode''' – ключ статус путевки
+
                ]
** '''CrDate''' – дата и время создания путевки
+
            }, {
** '''Rate''' – код валюты путевки
+
                "$id": 4,
** '''Advertise''' – ключ источника рекламы
+
                "DGCod": "AU10101003",
** '''Locked''' – блокировка путевки: ''1'' – если заблокирована
+
                "TurDate": "2021-01-01T00:00:00",
** '''CauseDisc''' – ключ основания для скидки
+
                "Key": 202462,
** '''PPaymentDate''' – максимальная дата внесения
+
                "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":
 
             "Connections": [{
 
             "Connections": [{
 
                     "$ref": 1
 
                     "$ref": 1
                }, {
 
                    "$ref": 5
 
                }, {
 
                    "$ref": 7
 
 
                 }
 
                 }
 
             ]
 
             ]
         }
+
         }, {
    ],
+
            "$id": 4,
    "DogovorMessages": [{
+
            "DGCod": "AU10101003",
             "$id": 14,
+
            "TurDate": "2021-01-01T00:00:00",
             "Date": "2020-10-09T09:16:39.99",
+
            "Key": 202462,
             "Text": "Тайм-лимит забронированного перелета: 14.10.2020 21:59",
+
            "PaketKey": 209,
             "Remark": "TimeLimit",
+
            "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",
</syntaxhighlight>
+
            "TurDate": "2021-01-01T00:00:00",
</TD></TR></TABLE>
+
            "Key": 202461,
</div></div><br />
+
            "PaketKey": 209,
 
+
            "TRKey": 100000038,
===Выгрузка информации о ценовых блоках (CostOfferDescriptions)===
+
            "SVKey": 1,
Метод принимает на вход ключи ценовых блоков и возвращает, прикреплённое к ним описание.
+
            "Name": "А_П::Вена/Москва/00444, VIE-SV1, 14:00-16:45/C Бизнес класс",
* Формат запроса:
+
            "Day": 9,
** GET .../TourSearchOwin/CostOfferDescriptions?
+
            "Code": 572,
* Принимаемые параметры ( * – обязательный):
+
            "SubCode1": 67,
** '''COKeysString''' * – ключи ценовых блоков через запятую
+
            "SubCode2": 35,
* Возвращаемый результат:
+
            "Men": 2,
** '''CostOfferImageInfo''' – коллекция объектов из двух полей:
+
            "Days": 0,
*** '''IdCostOffer''' – ключ ценового блока
+
            "CNKey": 460,
*** '''InfoText''' – описание ценового блока
+
            "CTKey": 1,
 
+
            "PartnerKey": 10760,
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
+
            "Brutto": 195.2,
<div class="mw-collapsible-content">
+
            "Wait": null,
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
+
            "Warning": 0,
Вызов метода CostOfferDescriptions
+
            "TimeBeg": "1899-01-01T14:00:00",
<syntaxhighlight lang="java" enclose="div">
+
            "Control": 1,
GET http://localhost:9000/TourSearchOwin/CostOfferDescriptions?COKeysString=15143
+
            "Attribute": 65695,
</syntaxhighlight>
+
            "DateBeg": "2021-01-09T00:00:00",
Возвращаемый результат метода CostOfferDescriptions (в формате JSON)
+
            "DateEnd": "2021-01-09T00:00:00",
<syntaxhighlight lang="java" enclose="div">
+
            "Discount": 17.8,
[
+
            "Comment": null,
      {
+
            "DGKey": 40335,
      "CostOfferImageInfo":   {
+
            "Blocked": null,
          "IdCostOffer": 15143,
+
            "NameLat": "А_П::Вена/Москва/00444, VIE-SV1, 14:00-16:45/C Бизнес класс",
          "InfoText": "СПО до 01.01.2020"
+
            "Long": 9,
  },
+
            "TRFId": 0,
  }
+
            "CreateDate": "2020-10-12T15:02:29.013",
]
+
            "CalculatePriceDate": "2020-10-12T15:02:29.013",
</syntaxhighlight>
+
            "ShowOrder": 3,
</TD></TR></TABLE>
+
            "Connections": [{
</div></div><br />
+
                    "$ref": 1
 
+
                }
 
+
            ]
===Получение капчи (GetCaptcha)===
+
        }
Метод возвращает капчу (используется при регистрации частного лица).
+
    ],
* Формат запроса:
+
    "Turists": [{
** GET .../TourSearchOwin/GetCaptcha?
+
            "$id": 6,
* Принимаемые параметры ( * – обязательный):
+
            "DGCod": "AU10101003",
** '''sessionId''' * – Id сессии
+
            "Key": 88653,
* Возвращаемый результат:
+
            "TurDate": "2021-01-01T00:00:00",
** '''FileContents''' – файл капчи в бинарном виде
+
            "NameRus": "IVANOV",
** '''ContentType''' – расширение файла (image/jpeg)
+
            "NameLat": "IVANOV",
** '''FileDownloadName''' – имя файла
+
            "ShortName": "I.",
 
+
            "Sex": 0,
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
+
            "FNameRus": "IVAN",
<div class="mw-collapsible-content">
+
            "FNameLat": "IVAN",
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
+
            "SNameRus": "",
Вызов метода GetCaptcha
+
            "SNameLat": "",
<syntaxhighlight lang="java" enclose="div">
+
            "BirthDay": "1980-01-01T00:00:00",
GET http://localhost:9000/TourSearchOwin/GetCaptcha?sessionId=cd5yr3wftltmorphuzwx0krh
+
            "BirthCountry": null,
</syntaxhighlight>
+
            "BirthCity": "Москва",
Возвращаемый результат метода GetCaptcha (в формате JSON)
+
            "Citizen": "",
<syntaxhighlight lang="java" enclose="div">
+
            "PostIndex": null,
{
+
            "PostCity": null,
    "FileContents": "iVBORw0KGgoAAAANSUhEUgAAALQAAAAyCAYAAAD1JPH3AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAA
+
            "PostStreet": null,
    xiSURBVHhe7Z1NyE1tF8eNZMZEyUBGEikDAwNFKRSFMsCEMkDyOUG+Hgw8UkiPvHjLq1uRdBsgMVEGxERGGHGPmBkantdvd9Z51n3tdX3ts/c+5+Bfq/ucfa7Ptf5rXWtf1z
+
            "PostBild": null,
    7nntLpdFb8lL+qyqtXry4/f/78H+szLanlYjI+Pv6fsbGx/1qfjZJMTEz8ff369f/x1/q8LfkVdKkFQvOiEt69e9eZMmVKIQ8fPuxeLcNX7vv374WEQN3Xr18Xr58+fdpr58aNG8
+
            "PostFlat": null,
    W1UQXzOnXqVG9ug8CLFy8KXd66dat7JR8/fvwo2kFitqTs+/fvOx8+fOheqR/JhLYGDjmFYNeuXSuuWfCVw6iID5rAKJ0xbNmypXgPGdqEdqxRg2/cd+/eLXR56dKl4n2V+UFObI
+
            "Phone": "",
    GEbAkuXrzYs+f9+/e7V+tFMqF9A4dokBSyhZBaToOyKPvcuXM9J+IvY/j8+XPxvg24jjVKCEVh9Cu6DZXLhc/59+7d29Pjhg0bulfrRV8px+8Cy7FGBW4U9iG1XAwh5//69Wvn6N
+
            "PhoneCode": null,
    GjnbVr13Y+fvzYvVov/hC6BdSRrhBBc1Y3gY7CIaSWi2HQzt84oZnUqEW1fuDOt450hXrUhyQaKSQf5dy/ChonNArVOfevjpcvXxYiqCNiUc+9b/CRXGNQuf8gnehPytEH3GgM2n
+
            "PasportType": "",
    Jgi+RcI08VtL3809/58+cH4kSCkSJ03Z6PkfU2ZC7aIm9q/gyBILmAOm0QWcBO2LFjxzqrV6/u7Nu3r9W+BY0R2iIeE6w6ySaWT8gIAfpxEtqAcFVv2mJISS0ERGs9F/b/NcH7wa,
+
            "PasportNum": "",
    "ContentType": "image/jpeg",
+
            "PasportDate": null,
    "FileDownloadName": ""
+
            "PasportDateEnd": null,
}
+
            "PasportByWhom": "",
</syntaxhighlight>
+
            "Place": null,
</TD></TR></TABLE>
+
            "IsAnketa": null,
</div></div><br />
+
            "PaspRuser": "",
 
+
            "PaspRuNum": "",
===Проверка капчи (CheckCaptcha)===
+
            "PaspRuDate": null,
Метод проверяет введенную капчу (используется при регистрации частного лица).
+
            "PaspRuByWhom": "",
* Формат запроса:
+
            "ClientId": null,
** GET .../TourSearchOwin/CheckCaptcha?
+
            "IsMain": 1,
* Принимаемые параметры ( * – обязательный):
+
            "DGKey": 40335,
** '''captchaText''' * – текст капчи
+
            "RealSex": 0,
** '''sessionId''' * – Id сессии
+
            "Email": "",
* Возвращаемый результат:
+
            "EnableSmsNotifications": 0,
** '''true/false''' – результат проверки (false – капча или Id сессии неверные, true – капча верна)
+
            "CitizenId": "",
 
+
            "Connections": [{
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
+
                    "$ref": 1
<div class="mw-collapsible-content">
+
                }
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
+
            ]
Вызов метода CheckCaptcha
+
        }, {
<syntaxhighlight lang="java" enclose="div">
+
            "$id": 7,
GET http://localhost:9000/TourSearchOwin/CheckCaptcha?captchaText=vf8an&sessionId=cd5yr3wftltmorphuzwx0krh
+
            "DGCod": "AU10101003",
</syntaxhighlight>
+
            "Key": 88652,
Возвращаемый результат метода CheckCaptcha (в формате JSON)
+
            "TurDate": "2021-01-01T00:00:00",
<syntaxhighlight lang="java" enclose="div">
+
            "NameRus": "PETROV",
{
+
            "NameLat": "PETROV",
    true
+
            "ShortName": "P.",
}
+
            "Sex": 0,
</syntaxhighlight>
+
            "FNameRus": "PETR",
</TD></TR></TABLE>
+
            "FNameLat": "PETR",
</div></div><br />
+
            "SNameRus": "",
 
+
            "SNameLat": "",
===Проверка e-mail (CheckMail)===
+
            "BirthDay": "1981-01-01T00:00:00",
Метод проверяет e-mail при регистрации частного лица на существование такого же e-mail в базе данных.
+
            "BirthCountry": null,
* Формат запроса:
+
            "BirthCity": "Москва",
** GET .../TourSearchOwin/CheckMail?
+
            "Citizen": "",
* Принимаемые параметры ( * – обязательный):
+
            "PostIndex": null,
** '''mail''' * – e-mail пользователя
+
            "PostCity": null,
* Возвращаемый результат:
+
            "PostStreet": null,
** '''true/false''' – результат проверки (false – пользователь с таким e-mail уже существует, true – пользователь с таким e-mail нет в базе данных)
+
            "PostBild": null,
 
+
            "PostFlat": null,
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
+
            "Phone": "",
<div class="mw-collapsible-content">
+
            "PhoneCode": null,
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
+
            "PasportType": "",
Вызов метода CheckMail
+
            "PasportNum": "",
<syntaxhighlight lang="java" enclose="div">
+
            "PasportDate": null,
GET http://localhost:9000/TourSearchOwin/CheckMail?mail=test@megatec.ru
+
            "PasportDateEnd": null,
</syntaxhighlight>
+
            "PasportByWhom": "",
Возвращаемый результат метода CheckMail (в формате JSON)
+
            "Place": null,
<syntaxhighlight lang="java" enclose="div">
+
            "IsAnketa": null,
{
+
            "PaspRuser": "",
    true
+
            "PaspRuNum": "",
}
+
            "PaspRuDate": null,
</syntaxhighlight>
+
            "PaspRuByWhom": "",
</TD></TR></TABLE>
+
            "ClientId": null,
</div></div><br />
+
            "IsMain": 0,
 
+
            "DGKey": 40335,
===Проверка туриста (checkTourist)===
+
            "RealSex": 0,
Метод служит для получения информации о путевке по номеру путевки и номеру паспорта туриста.
+
            "Email": "",
* Формат запроса:
+
            "EnableSmsNotifications": 0,
** GET .../TourSearchOwin/checkTourist?
+
            "CitizenId": "",
* Принимаемые параметры ( * – обязательный):
+
            "Connections": [{
** '''dogovorNumber *''' – номер путевки.
+
                    "$ref": 1
** '''passport *''' – номер паспорта туриста (заграничного или общегражданского).
+
                }
* Возвращаемый результат:
+
            ]
** '''isDogovor''' – '''true''', если путевка найдена по номеру путевки, '''false''', если не найдена.
+
        }
** '''isAnnulated''' – '''true''', если путевка аннулирована, '''false''', если не аннулирована.
+
    ],
** '''dogovorStatus''' – статус путевки
+
    "TuristServices": [{
** '''isPay''' – '''true''', если путевка полностью оплачена, '''false''', если не оплачена или оплачена частично.
+
            "$id": 8,
** '''dogovorDateBegin''' – дата начала заезда.
+
            "TUKey": 88653,
** '''dogovorDateEnd''' – дата окончания заезда.
+
            "DLKey": 202463,
** '''dogovorDateCreate''' – дата создания путевки.
+
            "NumDoc": null,
** '''isTouristDogovorCreate''' – '''true''', если турист (по номеру паспорта) является главным туристом в путевке.
+
            "NumRoom": 0,
** '''services''' – набор услуг в путевке.
+
            "Seat": null,
*** '''svKey''' – код класса услуги.
+
            "Area": null,
*** '''code''' – код услуги.
+
            "DocDate": null,
*** '''subCode1''' – код доп. описания 1 услуги.
+
            "Key": 3770,
*** '''subCode2''' – код доп. описания 2 услуги.
+
            "Connections": [{
*** '''name''' – название услуги.
+
                    "$ref": 1
** '''touristInfo''' – информация о главном туристе.
+
                }, {
*** '''lastname''' – фамилия туриста (рус).
+
                    "$ref": 3
*** '''firstname''' – имя туриста (рус).
+
                }, {
*** '''surname''' – отчество туриста.
+
                    "$ref": 6
*** '''address''' – адрес (индекс, город, улица, дом, квартира).
+
                }
*** '''postcode''' – индекс.
+
            ]
*** '''city''' – город.
+
        }, {
*** '''street''' – улица.
+
            "$id": 9,
*** '''home''' – дом.
+
            "TUKey": 88652,
*** '''roomNumber''' – квартира.
+
            "DLKey": 202463,
 
+
            "NumDoc": null,
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
+
            "NumRoom": 0,
<div class="mw-collapsible-content">
+
            "Seat": null,
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
+
            "Area": null,
Вызов метода checkTourist
+
            "DocDate": null,
<syntaxhighlight lang="java" enclose="div">
+
            "Key": 3768,
http://localhost:9000/TourSearchOwin/checkTourist?dogovorNumber=AU25120001&passport=1234567
+
            "Connections": [{
</syntaxhighlight>
+
                    "$ref": 1
Возвращаемый результат метода checkTourist (в формате JSON)
+
                }, {
<syntaxhighlight lang="java" enclose="div">
+
                    "$ref": 3
{
+
                }, {
  "isDogovor": true,
+
                    "$ref": 7
  "isAnnulated": false,
+
                }
  "dogovorStatus": "ОК",
+
            ]
  "isPay": true,
+
        }, {
  "dogovorDateBegin": "05.02.2018",  
+
            "$id": 10,
  "dogovorDateEnd": "12.02.2018",
+
            "TUKey": 88652,
  "dogovorDateCreate": "01.02.2018",
+
            "DLKey": 202462,
  "isTouristDogovorCreate": true,
+
            "NumDoc": null,
  "services":   [
+
            "NumRoom": 0,
             {
+
             "Seat": null,
        "svKey": "1",
+
            "Area": null,
        "code": "1088",
+
            "DocDate": null,
        "subCode1": "147",
+
            "Key": 3767,
        "subCode2": "35",
+
            "Connections": [{
        "name": "А_П::Вена/Москва/SU2353, VIE-SVO, 18:05-22:40/NSU Экономический класс"
+
                    "$ref": 1
      },
+
                }, {
             {
+
                    "$ref": 4
        "svKey": "3",
+
                }, {
        "code": "698",
+
                    "$ref": 7
        "subCode1": "46200",
+
                }
        "subCode2": "1",
+
            ]
        "name": "HOTEL::Вена/Graben-1*,5 ночей/DBL(Standart ),2Ad/FB Полный пансион"
+
        }, {
      },
+
             "$id": 11,
             {
+
            "TUKey": 88653,
        "svKey": "1",
+
            "DLKey": 202462,
        "code": "1087",
+
            "NumDoc": null,
        "subCode1": "147",
+
            "NumRoom": 0,
        "subCode2": "1",
+
            "Seat": null,
        "name": "А_П::Москва/Вена/SU2352, SVO-VIE, 16:20-17:05/NSU Экономический класс"
+
             "Area": null,
      }
+
            "DocDate": null,
  ],
+
            "Key": 3771,
  "touristInfo":   {
+
            "Connections": [{
      "lastname": "Ivanov",
+
                    "$ref": 1
      "firstname": "Ivan",
+
                }, {
      "surname": "Ivanovich",
+
                    "$ref": 4
      "address": "123456, г. Москва, ул. Ленина, д. 1, кв. 15",
+
                }, {
      "postcode": "123456",
+
                    "$ref": 6
      "city": "Москва",
+
                }
      "street": "Ленина",
+
            ]
      "home": "1",
+
        }, {
      "roomNumber": "15"
+
            "$id": 12,
  }
+
            "TUKey": 88653,
}
+
            "DLKey": 202461,
</syntaxhighlight>
+
            "NumDoc": null,
</TD></TR></TABLE>
+
            "NumRoom": 0,
</div></div><br />
+
            "Seat": null,
 
+
            "Area": null,
===Список значений параметра гражданства (Citizenships)===
+
            "DocDate": null,
Метод служит для получения списка значений параметра гражданства.
+
            "Key": 3772,
* Формат запроса:
+
            "Connections": [{
** GET .../TourSearchOwin/Citizenships?
+
                    "$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>
 +
</TD></TR></TABLE>
 +
</div></div><br />
 +
 
 +
===Выгрузка информации о ценовых блоках (CostOfferDescriptions)===
 +
Метод принимает на вход ключи ценовых блоков и возвращает, прикреплённое к ним описание.
 +
* Формат запроса:
 +
** GET .../TourSearchOwin/CostOfferDescriptions?
 
* Принимаемые параметры ( * – обязательный):
 
* Принимаемые параметры ( * – обязательный):
** '''pageSize *''' – размер выдачи
+
** '''COKeysString''' * – ключи ценовых блоков через запятую
** '''pageNumber *''' – порядковый номер страницы выдачи
 
** '''term *''' подстрочный фильтр для отбора (пустой по умолчанию)
 
 
* Возвращаемый результат:
 
* Возвращаемый результат:
** '''Key''' – ключ страны
+
** '''CostOfferImageInfo''' – коллекция объектов из двух полей:
** '''Name''' – название гражданства
+
*** '''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>
Вызов метода Citizenships
+
Вызов метода CostOfferDescriptions
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
http://localhost:9000/TourSearchOwin/Citizenships?pageSize=50&pageNumber=1&term=
+
GET http://localhost:9000/TourSearchOwin/CostOfferDescriptions?COKeysString=15143
 
</syntaxhighlight>
 
</syntaxhighlight>
Возвращаемый результат метода Citizenships (в формате JSON)
+
Возвращаемый результат метода CostOfferDescriptions (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
{
+
[
    {
+
      {
        "Key": 90,
+
      "CostOfferImageInfo":   {
        "Name": "Австрия"
+
          "IdCostOffer": 15143,
    },
+
          "InfoText": "СПО до 01.01.2020"
    {
+
  },
        "Key": 222,
+
  }
        "Name": "Англия"
+
]
    },
 
    {
 
        "Key": 376,
 
        "Name": "Андорра"
 
    },
 
    {
 
        "Key": 375,
 
        "Name": "Беларусь"
 
    },
 
    {
 
        "Key": 3,
 
        "Name": "Бельгия"
 
    }
 
}
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
</TD></TR></TABLE>
 
</TD></TR></TABLE>
 
</div></div><br />
 
</div></div><br />
  
===Выгрузка постоянного клиента (Client)===
+
 
Метод выгружает постоянного клиента при авторизации частного лица.
+
===Получение капчи (GetCaptcha)===
 +
Метод возвращает капчу (используется при регистрации частного лица).
 
* Формат запроса:
 
* Формат запроса:
** GET .../TourSearchOwin/Client?
+
** GET .../TourSearchOwin/GetCaptcha?
 
* Принимаемые параметры ( * – обязательный):
 
* Принимаемые параметры ( * – обязательный):
** '''clientId *''' – Id постоянного клиента
+
** '''sessionId''' * – Id сессии
 
* Возвращаемый результат:
 
* Возвращаемый результат:
** '''$id''' – внутренний порядковый идентификатор
+
** '''FileContents''' – файл капчи в бинарном виде
** '''CL_KEY''' – ключ справочника постоянные клиенты
+
** '''ContentType''' – расширение файла (image/jpeg)
** '''CL_OPERUPDATE''' – ключ менеджера, который последний обновил постоянного клиента
+
** '''FileDownloadName''' – имя файла
** '''CL_OPERUPDATE''' – дата обновления постоянного клиента
+
 
** '''CL_PFKEY''' – внутренний ключ
+
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
** '''CL_NAMERUS''' – имя (на русском)
+
<div class="mw-collapsible-content">
** '''CL_NAMELAT''' – имя (на латинице)
+
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
** '''CL_SHORTNAME''' – инициалы
+
Вызов метода GetCaptcha
** '''CL_SEX''' – пол
+
<syntaxhighlight lang="java" enclose="div">
** '''CL_FNAMERUS''' – фамилия (на русском)
+
GET http://localhost:9000/TourSearchOwin/GetCaptcha?sessionId=cd5yr3wftltmorphuzwx0krh
** '''CL_FNAMELAT''' – фамилия (на латинице)
+
</syntaxhighlight>
** '''CL_SNAMERUS''' – отчество (на русском)
+
Возвращаемый результат метода GetCaptcha (в формате JSON)
** '''CL_SNAMELAT''' – отчество (на латинице)
+
<syntaxhighlight lang="java" enclose="div">
** '''CL_BIRTHDAY''' – дата рождения
+
{
** '''CL_BIRTHCOUNTRY''' – страна рождения
+
    "FileContents": "iVBORw0KGgoAAAANSUhEUgAAALQAAAAyCAYAAAD1JPH3AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAA
** '''CL_BIRTHCITY''' – место рождения (город)
+
    xiSURBVHhe7Z1NyE1tF8eNZMZEyUBGEikDAwNFKRSFMsCEMkDyOUG+Hgw8UkiPvHjLq1uRdBsgMVEGxERGGHGPmBkantdvd9Z51n3tdX3ts/c+5+Bfq/ucfa7Ptf5rXWtf1z
** '''CL_CITIZEN''' – гражданство
+
    7nntLpdFb8lL+qyqtXry4/f/78H+szLanlYjI+Pv6fsbGx/1qfjZJMTEz8ff369f/x1/q8LfkVdKkFQvOiEt69e9eZMmVKIQ8fPuxeLcNX7vv374WEQN3Xr18Xr58+fdpr58aNG8
** '''CL_ADDRESS''' – полный адрес
+
    W1UQXzOnXqVG9ug8CLFy8KXd66dat7JR8/fvwo2kFitqTs+/fvOx8+fOheqR/JhLYGDjmFYNeuXSuuWfCVw6iID5rAKJ0xbNmypXgPGdqEdqxRg2/cd+/eLXR56dKl4n2V+UFObI
** '''CL_POSTINDEX''' – почтовый индекс
+
    GEbAkuXrzYs+f9+/e7V+tFMqF9A4dokBSyhZBaToOyKPvcuXM9J+IvY/j8+XPxvg24jjVKCEVh9Cu6DZXLhc/59+7d29Pjhg0bulfrRV8px+8Cy7FGBW4U9iG1XAwh5//69Wvn6N
** '''CL_POSTCITY''' – город
+
    GjnbVr13Y+fvzYvVov/hC6BdSRrhBBc1Y3gY7CIaSWi2HQzt84oZnUqEW1fuDOt450hXrUhyQaKSQf5dy/ChonNArVOfevjpcvXxYiqCNiUc+9b/CRXGNQuf8gnehPytEH3GgM2n
** '''CL_POSTSTREET''' – улица
+
    Jgi+RcI08VtL3809/58+cH4kSCkSJ03Z6PkfU2ZC7aIm9q/gyBILmAOm0QWcBO2LFjxzqrV6/u7Nu3r9W+BY0R2iIeE6w6ySaWT8gIAfpxEtqAcFVv2mJISS0ERGs9F/b/NcH7wa,
** '''CL_POSTBILD''' – дом
+
    "ContentType": "image/jpeg",
** '''CL_POSTFLAT''' – квартира
+
    "FileDownloadName": ""
** '''CL_PHONE''' – телефон
+
}
** '''CL_PASPORTSER''' – серия загранпаспорта
+
</syntaxhighlight>
** '''CL_PASPORTNUM''' – номер загранпаспорта
+
</TD></TR></TABLE>
** '''CL_PASPORTDATE''' – дата выдачи загранпаспорта
+
</div></div><br />
** '''CL_PASPORTDATEEND''' – срок действия загранпаспорта
+
 
** '''CL_PASPORTBYWHOM''' – кем выдан загранпаспорт
+
===Проверка капчи (CheckCaptcha)===
** '''CL_PASPRUSER''' – серия общегражданского паспорта
+
Метод проверяет введенную капчу (используется при регистрации частного лица).
** '''CL_PASPRUNUM''' – номер общегражданского паспорта
+
* Формат запроса:
** '''CL_PASPRUDATE''' – дата выдачи общегражданского паспорта
+
** GET .../TourSearchOwin/CheckCaptcha?
** '''CL_PASPRUBYWHOM''' – кем выдан общегражданский паспорт
+
* Принимаемые параметры ( * – обязательный):
** '''CL_ISMARK''' – профессия
+
** '''captchaText''' * – текст капчи
** '''CL_TYPE''' – примечания
+
** '''sessionId''' * – Id сессии
** '''CL_IMPRESSNOTE''' – общие впечатления
+
* Возвращаемый результат:
** '''CL_NOTE''' – особые отметки
+
** '''true/false''' – результат проверки (false капча или Id сессии неверные, true капча верна)
** '''CL_REMARK''' – примечания
 
** '''CL_IMPRESSKEY''' – ключ выбранного впечатления
 
** '''CL_TITLE1''' – служебные отметки, заголовок 1
 
** '''CL_TITLE2''' – служебные отметки, заголовок 2
 
** '''CL_TITLE3''' – служебные отметки, заголовок 3
 
** '''CL_TITLE4''' – служебные отметки, заголовок 4
 
** '''CL_FUTURE''' – пожелания
 
** '''CL_LASTSTAT''' – информация о статистике
 
** '''CL_SUMMA''' – сумма по клиенту
 
** '''CL_NMENWITH''' – число спутников
 
** '''CL_SUMDOGOVOR''' – сумма по путевкам
 
** '''CL_NTRIP''' – число поездок
 
** '''ROWID''' – внутренний идентификатор
 
** '''cl_fax''' – факс
 
** '''cl_mail:''' – e-mail
 
** '''CL_MINCOST''' – минимальная стоимость поездки
 
** '''CL_MAXCOST''' – максимальная стоимость поездки
 
** '''CL_RealSex''' пол
 
** '''CL_EnableSmsNotifications''' – признак согласен получать sms-уведомление
 
** '''CL_CHECKED''' оповещения
 
** '''CL_Creator''' – создатель постоянного клиента
 
** '''CL_CreateDate''' дата создания постоянного клиента
 
** '''CL_Login''' – логин
 
** '''CL_Password''' – пароль
 
** '''CL_IsOnlineUser''' является ли постоянный клиент онлайн пользователем
 
** '''CL_CitizenID''' ID гражданства
 
** '''CARDS''' – информация о дисконтной карте
 
  
 
<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>
Вызов метода Client
+
Вызов метода CheckCaptcha
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
http://localhost:9000/TourSearchOwin/Client?clientId=7314
+
GET http://localhost:9000/TourSearchOwin/CheckCaptcha?captchaText=vf8an&sessionId=cd5yr3wftltmorphuzwx0krh
 
</syntaxhighlight>
 
</syntaxhighlight>
Возвращаемый результат метода Client (в формате JSON)
+
Возвращаемый результат метода CheckCaptcha (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
 
{
 
{
     "$id": "1",
+
     true
    "CL_KEY": 7314,
+
}
    "CL_OPERUPDATE": 106,
+
</syntaxhighlight>
    "CL_DATEUPDATE": "2021-01-21T11:56:41.287",
+
</TD></TR></TABLE>
    "CL_PFKEY": 2,
+
</div></div><br />
    "CL_NAMERUS": "Test888",
+
 
    "CL_NAMELAT": "Test888",
+
===Проверка e-mail (CheckMail)===
    "CL_SHORTNAME": "T.",
+
Метод проверяет e-mail при регистрации частного лица на существование такого же e-mail в базе данных.
    "CL_SEX": 0,
+
* Формат запроса:
    "CL_FNAMERUS": "Test888",
+
** GET .../TourSearchOwin/CheckMail?
    "CL_FNAMELAT": "Test888",
+
* Принимаемые параметры ( * – обязательный):
    "CL_SNAMERUS": "",
+
** '''mail''' * – e-mail пользователя
    "CL_SNAMELAT": "",
+
* Возвращаемый результат:
    "CL_BIRTHDAY": null,
+
** '''true/false''' – результат проверки (false – пользователь с таким e-mail уже существует, true – пользователь с таким e-mail нет в базе данных)
    "CL_BIRTHCOUNTRY": "",
+
 
    "CL_BIRTHCITY": "",
+
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
    "CL_CITIZEN": "Spain",
+
<div class="mw-collapsible-content">
    "CL_ADDRESS": ", г., ул., д., кв.",
+
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
    "CL_POSTINDEX": "",
+
Вызов метода CheckMail
    "CL_POSTCITY": "",
+
<syntaxhighlight lang="java" enclose="div">
    "CL_POSTSTREET": "",
+
GET http://localhost:9000/TourSearchOwin/CheckMail?mail=test@megatec.ru
    "CL_POSTBILD": "",
+
</syntaxhighlight>
    "CL_POSTFLAT": "",
+
Возвращаемый результат метода CheckMail (в формате JSON)
    "CL_PHONE": "65465465",
+
<syntaxhighlight lang="java" enclose="div">
    "CL_PASPORTSER": "",
+
{
    "CL_PASPORTNUM": "",
+
     true
    "CL_PASPORTDATE": null,
 
    "CL_PASPORTDATEEND": null,
 
    "CL_PASPORTBYWHOM": "",
 
    "CL_PASPRUSER": "",
 
    "CL_PASPRUNUM": "",
 
    "CL_PASPRUDATE": null,
 
    "CL_PASPRUBYWHOM": "",
 
    "CL_ISMARK": 7,
 
    "CL_TYPE": 6,
 
    "CL_IMPRESSNOTE": "7",
 
    "CL_NOTE": "5",
 
    "CL_REMARK": "6",
 
    "CL_IMPRESSKEY": 3,
 
    "CL_TITLE1": "1",
 
    "CL_TITLE2": "2",
 
    "CL_TITLE3": "3",
 
    "CL_TITLE4": "4",
 
    "CL_FUTURE": "8",
 
    "CL_LASTSTAT": null,
 
    "CL_SUMMA": null,
 
    "CL_NMENWITH": null,
 
    "CL_SUMDOGOVOR": null,
 
    "CL_NTRIP": null,
 
    "ROWID": "AAAAAAJBNbw=",
 
    "cl_fax": "",
 
    "cl_mail": "test888@mail.ru",
 
    "CL_MINCOST": null,
 
    "CL_MAXCOST": null,
 
    "CL_RealSex": 0,
 
    "CL_EnableSmsNotifications": 0,
 
    "CL_CHECKED": false,
 
    "CL_Creator": 106,
 
     "CL_CreateDate": "2018-03-06T14:10:27.687",
 
    "CL_Login": "test888@mail.ru",
 
    "CL_Password": "/wjpKpaXhmuTtSaG6xIUtQ==",
 
    "CL_IsOnlineUser": true,
 
    "CL_CitizenID": "",
 
    "CARDS": []
 
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
Строка 7465: Строка 7826:
 
</div></div><br />
 
</div></div><br />
  
===Выгрузка описаний ценовых блоков (CostOfferDescriptions)===
+
===Проверка туриста (checkTourist)===
Метод выгружает описания ценовых блоков.
+
Метод служит для получения информации о путевке по номеру путевки и номеру паспорта туриста.
 
* Формат запроса:
 
* Формат запроса:
** GET .../TourSearchOwin/CostOfferDescriptions?
+
** GET .../TourSearchOwin/checkTourist?
 
* Принимаемые параметры ( * – обязательный):
 
* Принимаемые параметры ( * – обязательный):
** '''COKeysString *''' – ключи ценовых блоков
+
** '''dogovorNumber *''' – номер путевки.
 +
** '''passport *''' – номер паспорта туриста (заграничного или общегражданского).
 
* Возвращаемый результат:
 
* Возвращаемый результат:
** '''IdCostOffer''' – Id ценового блока
+
** '''isDogovor''' – '''true''', если путевка найдена по номеру путевки, '''false''', если не найдена.
** '''InfoText''' – описание ценового блока
+
** '''isAnnulated''' – '''true''', если путевка аннулирована, '''false''', если не аннулирована.
 +
** '''dogovorStatus''' – статус путевки
 +
** '''isPay''' – '''true''', если путевка полностью оплачена, '''false''', если не оплачена или оплачена частично.
 +
** '''dogovorDateBegin''' – дата начала заезда.
 +
** '''dogovorDateEnd''' – дата окончания заезда.
 +
** '''dogovorDateCreate''' – дата создания путевки.
 +
** '''isTouristDogovorCreate''' – '''true''', если турист (по номеру паспорта) является главным туристом в путевке.
 +
** '''services''' – набор услуг в путевке.
 +
*** '''svKey''' – код класса услуги.
 +
*** '''code''' – код услуги.
 +
*** '''subCode1''' – код доп. описания 1 услуги.
 +
*** '''subCode2''' – код доп. описания 2 услуги.
 +
*** '''name''' – название услуги.
 +
** '''touristInfo''' – информация о главном туристе.
 +
*** '''lastname''' – фамилия туриста (рус).
 +
*** '''firstname''' – имя туриста (рус).
 +
*** '''surname''' – отчество туриста.
 +
*** '''address''' – адрес (индекс, город, улица, дом, квартира).
 +
*** '''postcode''' – индекс.
 +
*** '''city''' – город.
 +
*** '''street''' – улица.
 +
*** '''home''' – дом.
 +
*** '''roomNumber''' – квартира.
  
 
<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
+
Вызов метода checkTourist
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
http://localhost:9000/TourSearchOwin/CostOfferDescriptions?COKeysString=16834,16828
+
http://localhost:9000/TourSearchOwin/checkTourist?dogovorNumber=AU25120001&passport=1234567
 
</syntaxhighlight>
 
</syntaxhighlight>
Возвращаемый результат метода CostOfferDescriptions (в формате JSON)
+
Возвращаемый результат метода checkTourist (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
 
{
 
{
    "costOffersImageInformation": [
+
  "isDogovor": true,
        {
+
  "isAnnulated": false,
             "IdCostOffer": 16834,
+
  "dogovorStatus": "ОК",
             "InfoText": "Информация для онлайна 2"
+
  "isPay": true,
        },
+
  "dogovorDateBegin": "05.02.2018",
        {
+
  "dogovorDateEnd": "12.02.2018",
            "IdCostOffer": 16828,
+
  "dogovorDateCreate": "01.02.2018",
            "InfoText": "Информация для онлайна"
+
  "isTouristDogovorCreate": true,
        },
+
  "services":    [
    ]
+
            {
 +
        "svKey": "1",
 +
        "code": "1088",
 +
        "subCode1": "147",
 +
        "subCode2": "35",
 +
        "name": "А_П::Вена/Москва/SU2353, VIE-SVO, 18:05-22:40/NSU Экономический класс"
 +
      },
 +
             {
 +
        "svKey": "3",
 +
        "code": "698",
 +
        "subCode1": "46200",
 +
        "subCode2": "1",
 +
        "name": "HOTEL::Вена/Graben-1*,5 ночей/DBL(Standart ),2Ad/FB Полный пансион"
 +
      },
 +
             {
 +
        "svKey": "1",
 +
        "code": "1087",
 +
        "subCode1": "147",
 +
        "subCode2": "1",
 +
        "name": "А_П::Москва/Вена/SU2352, SVO-VIE, 16:20-17:05/NSU Экономический класс"
 +
      }
 +
  ],
 +
  "touristInfo":    {
 +
      "lastname": "Ivanov",
 +
      "firstname": "Ivan",
 +
      "surname": "Ivanovich",
 +
      "address": "123456, г. Москва, ул. Ленина, д. 1, кв. 15",
 +
      "postcode": "123456",
 +
      "city": "Москва",
 +
      "street": "Ленина",
 +
      "home": "1",
 +
      "roomNumber": "15"
 +
  }
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
Строка 7500: Строка 7916:
 
</div></div><br />
 
</div></div><br />
  
===Выгрузка описания по стране (CountryInfo)===
+
===Список значений параметра гражданства (Citizenships)===
Метод выгружает описание по стране.
+
Метод служит для получения списка значений параметра гражданства.
 
* Формат запроса:
 
* Формат запроса:
** GET .../TourSearchOwin/CountryInfo?
+
** GET .../TourSearchOwin/Citizenships?
 
* Принимаемые параметры ( * – обязательный):
 
* Принимаемые параметры ( * – обязательный):
** '''countryKey *''' – ключ страны
+
** '''pageSize *''' – размер выдачи
 +
** '''pageNumber *''' – порядковый номер страницы выдачи
 +
** '''term *''' – подстрочный фильтр для отбора (пустой по умолчанию)
 
* Возвращаемый результат:
 
* Возвращаемый результат:
** '''информация по выбранной стране'''
+
** '''Key''' – ключ страны
 +
** '''Name''' – название гражданства
  
 
<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>
Вызов метода CountryInfo
+
Вызов метода Citizenships
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
http://localhost:9000/TourSearchOwin/CountryInfo?countryKey=90
+
http://localhost:9000/TourSearchOwin/Citizenships?pageSize=50&pageNumber=1&term=
 
</syntaxhighlight>
 
</syntaxhighlight>
Возвращаемый результат метода CountryInfo (в формате JSON)
+
Возвращаемый результат метода Citizenships (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
 
{
 
{
"<p>Информация о стране</p>\n"
+
    {
 +
        "Key": 90,
 +
        "Name": "Австрия"
 +
    },
 +
    {
 +
        "Key": 222,
 +
        "Name": "Англия"
 +
    },
 +
    {
 +
        "Key": 376,
 +
        "Name": "Андорра"
 +
    },
 +
    {
 +
        "Key": 375,
 +
        "Name": "Беларусь"
 +
    },
 +
    {
 +
        "Key": 3,
 +
        "Name": "Бельгия"
 +
    }
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
Строка 7525: Строка 7963:
 
</div></div><br />
 
</div></div><br />
  
===Выгрузка картинки по отелю (HotelImages)===
+
===Выгрузка постоянного клиента (Client)===
Метод выгружает картинку по отелю.
+
Метод выгружает постоянного клиента при авторизации частного лица.
 
* Формат запроса:
 
* Формат запроса:
** GET .../TourSearchOwin/HotelImages?
+
** GET .../TourSearchOwin/Client?
 
* Принимаемые параметры ( * – обязательный):
 
* Принимаемые параметры ( * – обязательный):
** '''hotelKeys *''' – ключ отеля (можно передать несколько ключей отеля, каждый раз указывая параметр ''hotelKeys''), в этом случае возвращается информация о главном фото отеля
+
** '''clientId *''' – Id постоянного клиента
* либо
+
* Возвращаемый результат:
** '''hotelKey *''' – либо ключ отеля, в этом случае возвращается полная информация о всех фотографиях в отеле
+
** '''$id''' – внутренний порядковый идентификатор
* Возвращаемый результат (если передан ''hotelKeys''):
+
** '''CL_KEY''' – ключ справочника постоянные клиенты
** '''Name''' – название файла
+
** '''CL_OPERUPDATE''' – ключ менеджера, который последний обновил постоянного клиента
** '''HotelKey''' – ключ отеля
+
** '''CL_OPERUPDATE''' – дата обновления постоянного клиента
** '''InfoExists''' – есть ли информация
+
** '''CL_PFKEY''' – внутренний ключ
** '''ImagesCount''' – общее количество картинок по отелю
+
** '''CL_NAMERUS''' – имя (на русском)
* либо (если передан ''hotelKey'')
+
** '''CL_NAMELAT''' – имя (на латинице)
** '''Images''' – объект картинок
+
** '''CL_SHORTNAME''' – инициалы
*** '''Key''' – ключ картинки
+
** '''CL_SEX''' – пол
*** '''Description''' – описание картинки
+
** '''CL_FNAMERUS''' – фамилия (на русском)
*** '''Priority''' – приоритет
+
** '''CL_FNAMELAT''' – фамилия (на латинице)
*** '''Name''' – название файла
+
** '''CL_SNAMERUS''' – отчество (на русском)
*** '''HotelKey''' – ключ отеля
+
** '''CL_SNAMELAT''' – отчество (на латинице)
*** '''InfoExists''' – есть ли информация
+
** '''CL_BIRTHDAY''' – дата рождения
** '''Country''' – страна отеля
+
** '''CL_BIRTHCOUNTRY''' – страна рождения
** '''City''' – город отеля
+
** '''CL_BIRTHCITY''' – место рождения (город)
** '''Name''' – название отеля
+
** '''CL_CITIZEN''' – гражданство
** '''HotelCategoryName''' – категория отеля
+
** '''CL_ADDRESS''' – полный адрес
** '''Address''' – адрес отеля
+
** '''CL_POSTINDEX''' – почтовый индекс
** '''Phone''' – телефон
+
** '''CL_POSTCITY''' – город
** '''Email''' – e-mail
+
** '''CL_POSTSTREET''' – улица
** '''Http''' – адрес сайта
+
** '''CL_POSTBILD''' – дом
** '''Description''' – описание отеля
+
** '''CL_POSTFLAT''' – квартира
** '''InfrastructureHotel''' – инфраструктура отеля
+
** '''CL_PHONE''' – телефон
** '''RecreationSport''' – развлечения и спорт
+
** '''CL_PASPORTSER''' – серия загранпаспорта
** '''Beach''' – информация о пляже
+
** '''CL_PASPORTNUM''' – номер загранпаспорта
** '''Healing''' – лечение
+
** '''CL_PASPORTDATE''' – дата выдачи загранпаспорта
** '''Excursion''' – экскурсии
+
** '''CL_PASPORTDATEEND''' – срок действия загранпаспорта
** '''AdditionalService''' – дополнительные услуги
+
** '''CL_PASPORTBYWHOM''' – кем выдан загранпаспорт
** '''ForChildren''' – для детей
+
** '''CL_PASPRUSER''' – серия общегражданского паспорта
** '''AddCost''' – доплаты
+
** '''CL_PASPRUNUM''' – номер общегражданского паспорта
** '''CheckoutTimeFrom''' – заезд в отель
+
** '''CL_PASPRUDATE''' – дата выдачи общегражданского паспорта
** '''CheckoutTimeTo''' – выезд из отеля
+
** '''CL_PASPRUBYWHOM''' – кем выдан общегражданский паспорт
** '''Latitude''' – GPS координаты: географическая широта (обрабатывается с релиза 15.6)
+
** '''CL_ISMARK''' – профессия
** '''Longitude''' – GPS координаты: географическая долгота (обрабатывается с релиза 15.6)
+
** '''CL_TYPE''' – примечания
 +
** '''CL_IMPRESSNOTE''' – общие впечатления
 +
** '''CL_NOTE''' – особые отметки
 +
** '''CL_REMARK''' – примечания
 +
** '''CL_IMPRESSKEY''' – ключ выбранного впечатления
 +
** '''CL_TITLE1''' – служебные отметки, заголовок 1
 +
** '''CL_TITLE2''' – служебные отметки, заголовок 2
 +
** '''CL_TITLE3''' – служебные отметки, заголовок 3
 +
** '''CL_TITLE4''' – служебные отметки, заголовок 4
 +
** '''CL_FUTURE''' – пожелания
 +
** '''CL_LASTSTAT''' – информация о статистике
 +
** '''CL_SUMMA''' – сумма по клиенту
 +
** '''CL_NMENWITH''' – число спутников
 +
** '''CL_SUMDOGOVOR''' – сумма по путевкам
 +
** '''CL_NTRIP''' – число поездок
 +
** '''ROWID''' – внутренний идентификатор
 +
** '''cl_fax''' – факс
 +
** '''cl_mail:''' – e-mail
 +
** '''CL_MINCOST''' – минимальная стоимость поездки
 +
** '''CL_MAXCOST''' – максимальная стоимость поездки
 +
** '''CL_RealSex''' – пол
 +
** '''CL_EnableSmsNotifications''' – признак согласен получать sms-уведомление
 +
** '''CL_CHECKED''' – оповещения
 +
** '''CL_Creator''' – создатель постоянного клиента
 +
** '''CL_CreateDate''' – дата создания постоянного клиента
 +
** '''CL_Login''' – логин
 +
** '''CL_Password''' – пароль
 +
** '''CL_IsOnlineUser''' – является ли постоянный клиент онлайн пользователем
 +
** '''CL_CitizenID''' – ID гражданства
 +
** '''CARDS''' – информация о дисконтной карте
  
<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>
Вызов метода HotelImages
+
Вызов метода Client
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
http://localhost:9000/TourSearchOwin/HotelImages?hotelKeys=8660&hotelKeys=178
+
http://localhost:9000/TourSearchOwin/Client?clientId=7314
 
</syntaxhighlight>
 
</syntaxhighlight>
Возвращаемый результат метода HotelImages (в формате JSON)
+
Возвращаемый результат метода Client (в формате JSON)
<syntaxhighlight lang="java" enclose="div">
 
[
 
    {
 
        "Name": "Dubai_Emirates_UAE_Skyscrapers_Megapolis_From_564495_2560x1599.jpg",
 
        "HotelKey": 8660,
 
        "InfoExists": true
 
    },
 
    {
 
        "Name": "Spain_Resorts_Houses_Tenerife_Canary_Islands_Pools_527022_1280x853.jpg",
 
        "HotelKey": 178,
 
        "InfoExists": true
 
    }
 
]
 
</syntaxhighlight>
 
</TD></TR></TABLE>
 
</div></div><br />
 
 
 
<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>
 
Вызов метода HotelImages
 
<syntaxhighlight lang="java" enclose="div">
 
http://localhost:9000/TourSearchOwin/HotelImages?hotelKey=178
 
</syntaxhighlight>
 
Возвращаемый результат метода HotelImages (в формате JSON)
 
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
 
{
 
{
     "Images": [
+
     "$id": "1",
        {
+
    "CL_KEY": 7314,
            "Key": 2619,
+
    "CL_OPERUPDATE": 106,
            "Description": "",
+
    "CL_DATEUPDATE": "2021-01-21T11:56:41.287",
            "Priority": 1,
+
    "CL_PFKEY": 2,
            "Name": "Spain_Resorts_Houses_Tenerife_Canary_Islands_Pools_527022_1280x853.jpg",
+
    "CL_NAMERUS": "Test888",
            "HotelKey": 178,
+
    "CL_NAMELAT": "Test888",
            "InfoExists": false
+
    "CL_SHORTNAME": "T.",
        },
+
    "CL_SEX": 0,
        {
+
    "CL_FNAMERUS": "Test888",
            "Key": 2620,
+
    "CL_FNAMELAT": "Test888",
            "Description": "",
+
    "CL_SNAMERUS": "",
            "Priority": 2,
+
    "CL_SNAMELAT": "",
            "Name": "stock-photo-luxury-bedrooms-with-flare-light-559774297.jpg",
+
    "CL_BIRTHDAY": null,
            "HotelKey": 178,
+
    "CL_BIRTHCOUNTRY": "",
            "InfoExists": false
+
    "CL_BIRTHCITY": "",
        },
+
    "CL_CITIZEN": "Spain",
        {
+
    "CL_ADDRESS": ", г., ул., д., кв.",
            "Key": 2621,
+
    "CL_POSTINDEX": "",
            "Description": "",
+
    "CL_POSTCITY": "",
            "Priority": 3,
+
    "CL_POSTSTREET": "",
            "Name": "USA_Houses_Skyscrapers_Evening_Manhattan_New_York_562768_2560x1440.jpg",
+
    "CL_POSTBILD": "",
            "HotelKey": 178,
+
    "CL_POSTFLAT": "",
            "InfoExists": false
+
    "CL_PHONE": "65465465",
        },
+
    "CL_PASPORTSER": "",
        {
+
    "CL_PASPORTNUM": "",
            "Key": 2622,
+
    "CL_PASPORTDATE": null,
            "Description": "",
+
    "CL_PASPORTDATEEND": null,
            "Priority": 4,
+
    "CL_PASPORTBYWHOM": "",
            "Name": "Winter_Mountains_Forests_Slovakia_Tatra_mountains_555815_6000x4000.jpg",
+
    "CL_PASPRUSER": "",
            "HotelKey": 178,
+
    "CL_PASPRUNUM": "",
            "InfoExists": false
+
     "CL_PASPRUDATE": null,
        }
+
     "CL_PASPRUBYWHOM": "",
     ],
+
     "CL_ISMARK": 7,
     "Country": "Австрия",
+
    "CL_TYPE": 6,
     "City": "Вена",
+
     "CL_IMPRESSNOTE": "7",
     "Name": "Ananas",
+
     "CL_NOTE": "5",
     "HotelCategoryName": "5+++*",
+
     "CL_REMARK": "6",
     "Address": "Вена, Австрия",
+
    "CL_IMPRESSKEY": 3,
     "Phone": "(+43/1) 54620043",
+
     "CL_TITLE1": "1",
     "Email": "",
+
     "CL_TITLE2": "2",
     "Http": "https://www.booking.com/hotel/ru/dd1-2ddegd1-2ddegn.ru.html?aid=318615;label=New_Russian_RU_UK_21458017585-iiDMr3ISp%2AxxmWbPbGNx0QS99511367185%3Apl%3Ata%3Ap1%3Ap2%3Aac%3Aap%3Aneg%3Afi2132702086%3Atidsa-302962658775%3Alp9061012%3Ali%3Adec%3Adm;sid=fc5ecc",
+
     "CL_TITLE3": "3",
     "Description": "<p>Расположен на улице Рихте Вензел ВВВ93-95 (р-он №5). В отеле 537 номеров, отель имеет свой гараж, сауну, тренажерный зал, кабельное телевидение. В каждом номере: телевизор, телефон, душ, туалет.</p>",
+
     "CL_TITLE4": "4",
     "InfrastructureHotel": "<p>Ифраструктура отеля</p>",
+
    "CL_FUTURE": "8",
     "RecreationSport": "<p>Развлечение и спорт</p>",
+
    "CL_LASTSTAT": null,
     "Beach": "<p>Ифраструктура отеля</p>",
+
     "CL_SUMMA": null,
     "Healing": "<p>Лечение</p>",
+
    "CL_NMENWITH": null,
     "Excursion": "<p>Экскурсии</p>",
+
     "CL_SUMDOGOVOR": null,
     "AdditionalService": "<p>Дополнительные услуги</p>",
+
    "CL_NTRIP": null,
     "ForChildren": "<p>Для детей</p>",
+
     "ROWID": "AAAAAAJBNbw=",
     "AddCost": "<p>Доплата</p>",
+
     "cl_fax": "",
     "CheckoutTimeFrom": "12:00",
+
     "cl_mail": "test888@mail.ru",
     "CheckoutTimeTo": "14:30",
+
     "CL_MINCOST": null,
     "Latitude": "12.788397°",
+
    "CL_MAXCOST": null,
     "Longitude": "36.348986°"
+
     "CL_RealSex": 0,
 +
    "CL_EnableSmsNotifications": 0,
 +
     "CL_CHECKED": false,
 +
    "CL_Creator": 106,
 +
     "CL_CreateDate": "2018-03-06T14:10:27.687",
 +
     "CL_Login": "test888@mail.ru",
 +
     "CL_Password": "/wjpKpaXhmuTtSaG6xIUtQ==",
 +
    "CL_IsOnlineUser": true,
 +
     "CL_CitizenID": "",
 +
    "CARDS": []
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
Строка 7663: Строка 8114:
 
</div></div><br />
 
</div></div><br />
  
===Выгрузка картинки по туру (TourImages) начиная с релиза 15.7===
+
===Выгрузка описаний ценовых блоков (CostOfferDescriptions)===
Метод выгружает картинки по туру.
+
Метод выгружает описания ценовых блоков.
 
* Формат запроса:
 
* Формат запроса:
** GET .../TourSearchOwin/TourImages?
+
** GET .../TourSearchOwin/CostOfferDescriptions?
 
* Принимаемые параметры ( * – обязательный):
 
* Принимаемые параметры ( * – обязательный):
** '''tourKeys *''' – ключ тура (можно передать несколько ключей тура, каждый раз указывая параметр ''tourKeys'')
+
** '''COKeysString *''' – ключи ценовых блоков
 
 
 
* Возвращаемый результат:
 
* Возвращаемый результат:
** '''Images''' – объект картинок
+
** '''IdCostOffer''' – Id ценового блока
*** '''Key''' – ключ картинки
+
** '''InfoText''' – описание ценового блока
*** '''Description''' – описание картинки
 
*** '''Priority''' – приоритет
 
*** '''Name''' – название файла
 
*** '''TourKey''' – ключ тура
 
  
 
<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>
Вызов метода TourImages
+
Вызов метода CostOfferDescriptions
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
http://localhost:9000/TourSearchOwin/TourImages?tourKey=100001132
+
http://localhost:9000/TourSearchOwin/CostOfferDescriptions?COKeysString=16834,16828
 
</syntaxhighlight>
 
</syntaxhighlight>
Возвращаемый результат метода TourImages (в формате JSON)
+
Возвращаемый результат метода CostOfferDescriptions (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
 
{
 
{
     "Images": [
+
     "costOffersImageInformation": [
 
         {
 
         {
             "Key": 52,
+
             "IdCostOffer": 16834,
             "Description": "Московский планетарий",
+
             "InfoText": "Информация для онлайна 2"
            "Priority": 1,
 
            "Name": "Планетарий.jpg",
 
            "TourKey": 100001132
 
 
         },
 
         },
 
         {
 
         {
             "Key": 51,
+
             "IdCostOffer": 16828,
             "Description": "Виз из космоса",
+
             "InfoText": "Информация для онлайна"
            "Priority": 2,
+
         },
            "Name": "Вид из космоса.jpg",
 
            "TourKey": 100001132
 
         }
 
 
     ]
 
     ]
 
}
 
}
Строка 7709: Строка 8149:
 
</div></div><br />
 
</div></div><br />
  
===Регистрация частного лица (PersonalRegistration)===
+
===Выгрузка описания по стране (CountryInfo)===
Метод производит регистрацию частного лица.
+
Метод выгружает описание по стране.
 
* Формат запроса:
 
* Формат запроса:
** GET .../TourSearchOwin/PersonalRegistration?
+
** GET .../TourSearchOwin/CountryInfo?
 
* Принимаемые параметры ( * – обязательный):
 
* Принимаемые параметры ( * – обязательный):
** '''name *''' – имя
+
** '''countryKey *''' – ключ страны
** '''surname *''' – фамилия
+
* Возвращаемый результат:
** '''phone *''' – телефон
+
** '''информация по выбранной стране'''
** '''login *''' – e-mail (он же является логином). Предварительно нужно вызывать метод проверки e-mail [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Проверка e-mail (CheckMail)|CheckMail]]
 
** '''password *''' – пароль (при упрощенной регистрации пароль не передается, а формируется системой автоматически)
 
** '''citizen *''' – гражданство (возможна передача пустого значения)
 
** '''country *''' – страна (возможна передача пустого значения)
 
** '''city *''' – город (возможна передача пустого значения)
 
** '''address *''' – адрес (возможна передача пустого значения)
 
** '''comment *''' – комментарий (возможна передача пустого значения)
 
** '''captchaText *''' – текст капчи. Предварительно нужно вызывать метод получения капчи [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Получение капчи (GetCaptcha)|GetCaptcha]]
 
** '''sessionId *''' – Id сессии (возможна передача произвольного значения)
 
 
 
* Возвращаемый результат:
 
** '''SxotpFhg''' – сформированный (при упрощенной регистрации) или заданный пользователем пароль
 
  
 
<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>
Вызов метода PersonalRegistration
+
Вызов метода CountryInfo
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
http://localhost:9000/TourSearchOwin/PersonalRegistration?name=Иван&surname=Иванов&phone=+79991234568&login=test1222@mail.ru
+
http://localhost:9000/TourSearchOwin/CountryInfo?countryKey=90
&citizen=&country=&city=&address=&comment=&captchaText=v7jnj&sessionId=43angzdfbc5h2wud1lp1301j
 
 
</syntaxhighlight>
 
</syntaxhighlight>
Возвращаемый результат метода PersonalRegistration (в формате JSON)
+
Возвращаемый результат метода CountryInfo (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
 
{
 
{
"SxotpFhg"
+
"<p>Информация о стране</p>\n"
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
Строка 7747: Строка 8174:
 
</div></div><br />
 
</div></div><br />
  
===Выгрузка плана рассадки (TransportPlan)===
+
===Выгрузка картинки по отелю (HotelImages)===
Метод выгружает план рассадки транспортного средства.
+
Метод выгружает картинку по отелю.
 
* Формат запроса:
 
* Формат запроса:
** GET .../TourSearchOwin/TransportPlan?
+
** GET .../TourSearchOwin/HotelImages?
 
* Принимаемые параметры ( * – обязательный):
 
* Принимаемые параметры ( * – обязательный):
** '''code *''' – код услуги
+
** '''hotelKeys *''' – ключ отеля (можно передать несколько ключей отеля, каждый раз указывая параметр ''hotelKeys''), в этом случае возвращается информация о главном фото отеля
** '''dateBegin *''' – дата начала услуги
+
* либо
** '''serviceType *''' – класс услуги
+
** '''hotelKey *''' – либо ключ отеля, в этом случае возвращается полная информация о всех фотографиях в отеле
** '''transportKey *''' – ключ транспорта
+
* Возвращаемый результат (если передан ''hotelKeys''):
 
+
** '''Name''' – название файла
* Возвращаемый результат:
+
** '''HotelKey''' – ключ отеля
** '''TransportKey''' – ключ транспорта
+
** '''InfoExists''' – есть ли информация
** '''Title''' – название
+
** '''ImagesCount''' – общее количество картинок по отелю
** '''AreasCount''' – количество зон (уровней)
+
* либо (если передан ''hotelKey'')
** '''RowsCount''' – количество рядов
+
** '''Images''' – объект картинок
** '''ColumnsCount''' – количество колонок
+
*** '''Key''' – ключ картинки
** '''BusySeats''' – информация о занятых местах
+
*** '''Description''' – описание картинки
** '''Cells''' – блок не заполняется
+
*** '''Priority''' – приоритет
*** '''Row''' – ряд
+
*** '''Name''' – название файла
*** '''Column''' – колонка
+
*** '''HotelKey''' – ключ отеля
*** '''Area''' – уровень
+
*** '''InfoExists''' – есть ли информация
*** '''Type''' – тип места (1 - свободно, 5 - занято)
+
** '''Country''' – страна отеля
*** '''Name''' – номер места
+
** '''City''' – город отеля
** '''UserSeats''' – блок не заполняется
+
** '''Name''' – название отеля
** '''BlockSeat''' – блок не заполняется
+
** '''HotelCategoryName''' – категория отеля
 +
** '''Address''' – адрес отеля
 +
** '''Phone''' – телефон
 +
** '''Email''' – e-mail
 +
** '''Http''' – адрес сайта
 +
** '''Description''' – описание отеля
 +
** '''InfrastructureHotel''' – инфраструктура отеля
 +
** '''RecreationSport''' – развлечения и спорт
 +
** '''Beach''' – информация о пляже
 +
** '''Healing''' – лечение
 +
** '''Excursion''' – экскурсии
 +
** '''AdditionalService''' – дополнительные услуги
 +
** '''ForChildren''' – для детей
 +
** '''AddCost''' – доплаты
 +
** '''CheckoutTimeFrom''' – заезд в отель
 +
** '''CheckoutTimeTo''' – выезд из отеля
 +
** '''Latitude''' – GPS координаты: географическая широта (обрабатывается с релиза 15.6)
 +
** '''Longitude''' – GPS координаты: географическая долгота (обрабатывается с релиза 15.6)
  
<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>
Вызов метода TransportPlan
+
Вызов метода HotelImages
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
http://localhost:9000/TourSearchOwin/TransportPlan?code=1527&dateBegin=07.03.2021&serviceType=14&transportKey=31
+
http://localhost:9000/TourSearchOwin/HotelImages?hotelKeys=8660&hotelKeys=178
&citizen=&country=&city=&address=&comment=&captchaText=v7jnj&sessionId=43angzdfbc5h2wud1lp1301j
 
 
</syntaxhighlight>
 
</syntaxhighlight>
Возвращаемый результат метода TransportPlan (в формате JSON)
+
Возвращаемый результат метода HotelImages (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
{
+
[
    "TransportKey": 31,
+
    {
    "Title": "",
+
        "Name": "Dubai_Emirates_UAE_Skyscrapers_Megapolis_From_564495_2560x1599.jpg",
     "AreasCount": 1,
+
        "HotelKey": 8660,
    "RowsCount": 10,
+
        "InfoExists": true
     "ColumnsCount": 2,
+
    },
    "BusySeats": [],
+
     {
     "Cells": [
+
        "Name": "Spain_Resorts_Houses_Tenerife_Canary_Islands_Pools_527022_1280x853.jpg",
 +
        "HotelKey": 178,
 +
        "InfoExists": true
 +
     }
 +
]
 +
</syntaxhighlight>
 +
</TD></TR></TABLE>
 +
</div></div><br />
 +
 
 +
<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>
 +
Вызов метода HotelImages
 +
<syntaxhighlight lang="java" enclose="div">
 +
http://localhost:9000/TourSearchOwin/HotelImages?hotelKey=178
 +
</syntaxhighlight>
 +
Возвращаемый результат метода HotelImages (в формате JSON)
 +
<syntaxhighlight lang="java" enclose="div">
 +
{
 +
     "Images": [
 
         {
 
         {
             "Row": 4,
+
             "Key": 2619,
             "Column": 0,
+
             "Description": "",
             "Area": 0,
+
             "Priority": 1,
             "Type": 1,
+
             "Name": "Spain_Resorts_Houses_Tenerife_Canary_Islands_Pools_527022_1280x853.jpg",
             "Name": "9"
+
             "HotelKey": 178,
 +
            "InfoExists": false
 
         },
 
         },
 
         {
 
         {
             "Row": 4,
+
             "Key": 2620,
             "Column": 1,
+
             "Description": "",
             "Area": 0,
+
             "Priority": 2,
             "Type": 1,
+
             "Name": "stock-photo-luxury-bedrooms-with-flare-light-559774297.jpg",
             "Name": "10"
+
             "HotelKey": 178,
 +
            "InfoExists": false
 
         },
 
         },
 
         {
 
         {
             "Row": 1,
+
             "Key": 2621,
             "Column": 0,
+
             "Description": "",
             "Area": 0,
+
             "Priority": 3,
             "Type": 5,
+
             "Name": "USA_Houses_Skyscrapers_Evening_Manhattan_New_York_562768_2560x1440.jpg",
             "Name": "3"
+
             "HotelKey": 178,
 +
            "InfoExists": false
 
         },
 
         },
 
         {
 
         {
             "Row": 1,
+
             "Key": 2622,
             "Column": 1,
+
             "Description": "",
             "Area": 0,
+
             "Priority": 4,
             "Type": 5,
+
             "Name": "Winter_Mountains_Forests_Slovakia_Tatra_mountains_555815_6000x4000.jpg",
             "Name": "4"
+
             "HotelKey": 178,
         },
+
            "InfoExists": false
        {
+
         }
            "Row": 8,
+
    ],
            "Column": 0,
+
    "Country": "Австрия",
            "Area": 0,
+
    "City": "Вена",
            "Type": 1,
+
    "Name": "Ananas",
            "Name": "17"
+
    "HotelCategoryName": "5+++*",
        },
+
    "Address": "Вена, Австрия",
        {
+
    "Phone": "(+43/1) 54620043",
            "Row": 8,
+
    "Email": "",
            "Column": 1,
+
    "Http": "https://www.booking.com/hotel/ru/dd1-2ddegd1-2ddegn.ru.html?aid=318615;label=New_Russian_RU_UK_21458017585-iiDMr3ISp%2AxxmWbPbGNx0QS99511367185%3Apl%3Ata%3Ap1%3Ap2%3Aac%3Aap%3Aneg%3Afi2132702086%3Atidsa-302962658775%3Alp9061012%3Ali%3Adec%3Adm;sid=fc5ecc",
            "Area": 0,
+
    "Description": "<p>Расположен на улице Рихте Вензел ВВВ93-95 (р-он №5). В отеле 537 номеров, отель имеет свой гараж, сауну, тренажерный зал, кабельное телевидение. В каждом номере: телевизор, телефон, душ, туалет.</p>",
            "Type": 1,
+
    "InfrastructureHotel": "<p>Ифраструктура отеля</p>",
            "Name": "18"
+
    "RecreationSport": "<p>Развлечение и спорт</p>",
        },
+
    "Beach": "<p>Ифраструктура отеля</p>",
 +
    "Healing": "<p>Лечение</p>",
 +
    "Excursion": "<p>Экскурсии</p>",
 +
    "AdditionalService": "<p>Дополнительные услуги</p>",
 +
    "ForChildren": "<p>Для детей</p>",
 +
    "AddCost": "<p>Доплата</p>",
 +
    "CheckoutTimeFrom": "12:00",
 +
    "CheckoutTimeTo": "14:30",
 +
    "Latitude": "12.788397°",
 +
    "Longitude": "36.348986°"
 +
}
 +
</syntaxhighlight>
 +
</TD></TR></TABLE>
 +
</div></div><br />
 +
 
 +
===Выгрузка картинки по туру (TourImages) начиная с релиза 15.7===
 +
Метод выгружает картинки по туру.
 +
* Формат запроса:
 +
** GET .../TourSearchOwin/TourImages?
 +
* Принимаемые параметры ( * – обязательный):
 +
** '''tourKeys *''' – ключ тура (можно передать несколько ключей тура, каждый раз указывая параметр ''tourKeys'')
 +
 
 +
* Возвращаемый результат:
 +
** '''Images''' – объект картинок
 +
*** '''Key''' – ключ картинки
 +
*** '''Description''' – описание картинки
 +
*** '''Priority''' – приоритет
 +
*** '''Name''' – название файла
 +
*** '''TourKey''' – ключ тура
 +
 
 +
<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>
 +
Вызов метода TourImages
 +
<syntaxhighlight lang="java" enclose="div">
 +
http://localhost:9000/TourSearchOwin/TourImages?tourKey=100001132
 +
</syntaxhighlight>
 +
Возвращаемый результат метода TourImages (в формате JSON)
 +
<syntaxhighlight lang="java" enclose="div">
 +
{
 +
    "Images": [
 
         {
 
         {
             "Row": 5,
+
             "Key": 52,
             "Column": 0,
+
             "Description": "Московский планетарий",
             "Area": 0,
+
             "Priority": 1,
             "Type": 1,
+
             "Name": "Планетарий.jpg",
             "Name": "11"
+
             "TourKey": 100001132
 
         },
 
         },
 
         {
 
         {
             "Row": 5,
+
             "Key": 51,
             "Column": 1,
+
             "Description": "Виз из космоса",
             "Area": 0,
+
             "Priority": 2,
             "Type": 1,
+
             "Name": "Вид из космоса.jpg",
             "Name": "12"
+
             "TourKey": 100001132
         },
+
         }
        {
+
    ]
            "Row": 2,
+
}
            "Column": 0,
+
</syntaxhighlight>
            "Area": 0,
+
</TD></TR></TABLE>
            "Type": 1,
+
</div></div><br />
            "Name": "5"
+
 
        },
+
===Регистрация частного лица (PersonalRegistration)===
        {
+
Метод производит регистрацию частного лица.
            "Row": 2,
+
* Формат запроса:
            "Column": 1,
+
** GET .../TourSearchOwin/PersonalRegistration?
            "Area": 0,
+
* Принимаемые параметры ( * – обязательный):
            "Type": 1,
+
** '''name *''' – имя
            "Name": "6"
+
** '''surname *''' – фамилия
        },
+
** '''phone *''' – телефон
        {
+
** '''login *''' – e-mail (он же является логином). Предварительно нужно вызывать метод проверки e-mail [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Проверка e-mail (CheckMail)|CheckMail]]
            "Row": 9,
+
** '''password *''' – пароль (при упрощенной регистрации пароль не передается, а формируется системой автоматически)
            "Column": 0,
+
** '''citizen *''' – гражданство (возможна передача пустого значения)
            "Area": 0,
+
** '''country *''' – страна (возможна передача пустого значения)
            "Type": 1,
+
** '''city *''' – город (возможна передача пустого значения)
            "Name": "19"
+
** '''address *''' – адрес (возможна передача пустого значения)
        },
+
** '''comment *''' – комментарий (возможна передача пустого значения)
        {
+
** '''captchaText *''' – текст капчи. Предварительно нужно вызывать метод получения капчи [[Мастер-Тур(15):API для разработки онлайн поиска и бронирования#Получение капчи (GetCaptcha)|GetCaptcha]]
            "Row": 9,
+
** '''sessionId *''' – Id сессии (возможна передача произвольного значения)
            "Column": 1,
+
 
            "Area": 0,
+
* Возвращаемый результат:
            "Type": 1,
+
** '''SxotpFhg''' – сформированный (при упрощенной регистрации) или заданный пользователем пароль
            "Name": "20"
+
 
        },
+
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
        {
+
<div class="mw-collapsible-content">
            "Row": 6,
+
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
            "Column": 0,
+
Вызов метода PersonalRegistration
            "Area": 0,
+
<syntaxhighlight lang="java" enclose="div">
            "Type": 1,
+
http://localhost:9000/TourSearchOwin/PersonalRegistration?name=Иван&surname=Иванов&phone=+79991234568&login=test1222@mail.ru
            "Name": "13"
+
&citizen=&country=&city=&address=&comment=&captchaText=v7jnj&sessionId=43angzdfbc5h2wud1lp1301j
        },
+
</syntaxhighlight>
        {
+
Возвращаемый результат метода PersonalRegistration (в формате JSON)
            "Row": 6,
+
<syntaxhighlight lang="java" enclose="div">
            "Column": 1,
+
{
            "Area": 0,
+
"SxotpFhg"
            "Type": 1,
+
}
            "Name": "14"
+
</syntaxhighlight>
        },
+
</TD></TR></TABLE>
        {
+
</div></div><br />
            "Row": 3,
+
 
            "Column": 0,
+
===Выгрузка плана рассадки (TransportPlan)===
            "Area": 0,
+
Метод выгружает план рассадки транспортного средства.
            "Type": 1,
+
* Формат запроса:
            "Name": "7"
+
** GET .../TourSearchOwin/TransportPlan?
        },
+
* Принимаемые параметры ( * – обязательный):
        {
+
** '''code *''' – код услуги
            "Row": 3,
+
** '''dateBegin *''' – дата начала услуги
            "Column": 1,
+
** '''serviceType *''' – класс услуги
            "Area": 0,
+
** '''transportKey *''' – ключ транспорта
            "Type": 1,
+
 
            "Name": "8"
+
* Возвращаемый результат:
        },
+
** '''TransportKey''' – ключ транспорта
         {
+
** '''Title''' – название
             "Row": 0,
+
** '''AreasCount''' – количество зон (уровней)
             "Column": 0,
+
** '''RowsCount''' – количество рядов
             "Area": 0,
+
** '''ColumnsCount''' – количество колонок
             "Type": 1,
+
** '''BusySeats''' – информация о занятых местах
             "Name": "1"
+
** '''Cells''' – блок не заполняется
 +
*** '''Row''' – ряд
 +
*** '''Column''' – колонка
 +
*** '''Area''' – уровень
 +
*** '''Type''' – тип места (1 - свободно, 5 - занято)
 +
*** '''Name''' – номер места
 +
** '''UserSeats''' – блок не заполняется
 +
** '''BlockSeat''' – блок не заполняется
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
 +
<div class="mw-collapsible-content">
 +
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
 +
Вызов метода TransportPlan
 +
<syntaxhighlight lang="java" enclose="div">
 +
http://localhost:9000/TourSearchOwin/TransportPlan?code=1527&dateBegin=07.03.2021&serviceType=14&transportKey=31
 +
&citizen=&country=&city=&address=&comment=&captchaText=v7jnj&sessionId=43angzdfbc5h2wud1lp1301j
 +
</syntaxhighlight>
 +
Возвращаемый результат метода TransportPlan (в формате JSON)
 +
<syntaxhighlight lang="java" enclose="div">
 +
{
 +
    "TransportKey": 31,
 +
    "Title": "",
 +
    "AreasCount": 1,
 +
    "RowsCount": 10,
 +
    "ColumnsCount": 2,
 +
    "BusySeats": [],
 +
    "Cells": [
 +
         {
 +
             "Row": 4,
 +
             "Column": 0,
 +
             "Area": 0,
 +
             "Type": 1,
 +
             "Name": "9"
 
         },
 
         },
 
         {
 
         {
             "Row": 0,
+
             "Row": 4,
 
             "Column": 1,
 
             "Column": 1,
 
             "Area": 0,
 
             "Area": 0,
 
             "Type": 1,
 
             "Type": 1,
             "Name": "2"
+
             "Name": "10"
 
         },
 
         },
 
         {
 
         {
             "Row": 7,
+
             "Row": 1,
 
             "Column": 0,
 
             "Column": 0,
 
             "Area": 0,
 
             "Area": 0,
             "Type": 1,
+
             "Type": 5,
             "Name": "15"
+
             "Name": "3"
 
         },
 
         },
 
         {
 
         {
             "Row": 7,
+
             "Row": 1,
 
             "Column": 1,
 
             "Column": 1,
 +
            "Area": 0,
 +
            "Type": 5,
 +
            "Name": "4"
 +
        },
 +
        {
 +
            "Row": 8,
 +
            "Column": 0,
 
             "Area": 0,
 
             "Area": 0,
 
             "Type": 1,
 
             "Type": 1,
             "Name": "16"
+
             "Name": "17"
         }
+
         },
    ],
+
        {
    "UserSeats": {},
+
            "Row": 8,
    "BlockSeat": {}
+
            "Column": 1,
}
+
            "Area": 0,
</syntaxhighlight>
+
            "Type": 1,
</TD></TR></TABLE>
+
            "Name": "18"
</div></div><br />
+
        },
 
+
        {
===Выгрузка списка всех стран (Countries)===
+
            "Row": 5,
Метод производит выгрузку всех стран (используется для регистрации частного лица).
+
            "Column": 0,
* Формат запроса:
+
            "Area": 0,
** GET .../TourSearchOwin/Countries?
+
            "Type": 1,
* Принимаемые параметры ( * – обязательный):
+
            "Name": "11"
** '''term *''' – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
+
        },
 
+
        {
* Возвращаемый результат:
+
            "Row": 5,
** '''Key''' – ключ страны
+
            "Column": 1,
** '''Name''' – название
+
            "Area": 0,
 
+
            "Type": 1,
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
+
            "Name": "12"
<div class="mw-collapsible-content">
+
        },
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
+
        {
Вызов метода Countries
+
            "Row": 2,
<syntaxhighlight lang="java" enclose="div">
+
            "Column": 0,
http://localhost:9000/TourSearchOwin/Countries?term=
+
            "Area": 0,
</syntaxhighlight>
+
            "Type": 1,
Возвращаемый результат метода Countries (в формате JSON)
+
            "Name": "5"
<syntaxhighlight lang="java" enclose="div">
+
        },
[
+
        {
    {
+
            "Row": 2,
        "Key": 6283,
+
            "Column": 1,
        "Name": " Азербайджан"
+
            "Area": 0,
    },
+
            "Type": 1,
    {
+
            "Name": "6"
        "Key": 90,
+
        },
        "Name": "Австрия"
+
        {
    },
+
            "Row": 9,
    {
+
            "Column": 0,
        "Key": 222,
+
            "Area": 0,
        "Name": "Англия"
+
            "Type": 1,
    },
+
            "Name": "19"
    {
+
        },
        "Key": 376,
+
        {
        "Name": "Андорра"
+
            "Row": 9,
    },
+
            "Column": 1,
    {
+
            "Area": 0,
        "Key": 375,
+
            "Type": 1,
        "Name": "Беларусь"
+
            "Name": "20"
    },
+
        },
    {
+
        {
        "Key": 6305,
+
            "Row": 6,
        "Name": "Бельгия"
+
            "Column": 0,
    },
+
            "Area": 0,
    {
+
            "Type": 1,
        "Key": 359,
+
            "Name": "13"
        "Name": "Болгария"
+
        },
    },
+
        {
    {
+
            "Row": 6,
        "Key": 6235,
+
            "Column": 1,
        "Name": "Вьетнам"
+
            "Area": 0,
    },
+
            "Type": 1,
    {
+
            "Name": "14"
        "Key": 40,
+
        },
        "Name": "Германия"
+
        {
    },
+
            "Row": 3,
    {
+
            "Column": 0,
        "Key": 1,
+
            "Area": 0,
        "Name": "Голландия"
+
            "Type": 1,
    },
+
            "Name": "7"
    {
+
        },
        "Key": 852,
+
        {
        "Name": "Гонконг"
+
            "Row": 3,
    },
+
            "Column": 1,
    {
+
            "Area": 0,
        "Key": 29,
+
            "Type": 1,
        "Name": "Греция"
+
            "Name": "8"
    },
+
        },
    {
+
        {
        "Key": 6251,
+
            "Row": 0,
        "Name": "Грузия"
+
            "Column": 0,
    },
+
            "Area": 0,
    {
+
            "Type": 1,
        "Key": 6224,
+
            "Name": "1"
        "Name": "Дания"
+
        },
    },
+
        {
    {
+
            "Row": 0,
        "Key": 6245,
+
            "Column": 1,
        "Name": "Доминиканская Республика"
+
            "Area": 0,
     },
+
            "Type": 1,
     {
+
            "Name": "2"
        "Key": 9,
+
        },
        "Name": "Египет"
+
        {
    },
+
            "Row": 7,
     {
+
            "Column": 0,
         "Key": 729,
+
            "Area": 0,
         "Name": "Израиль"
+
            "Type": 1,
 +
            "Name": "15"
 +
        },
 +
        {
 +
            "Row": 7,
 +
            "Column": 1,
 +
            "Area": 0,
 +
            "Type": 1,
 +
            "Name": "16"
 +
        }
 +
    ],
 +
     "UserSeats": {},
 +
     "BlockSeat": {}
 +
}
 +
</syntaxhighlight>
 +
</TD></TR></TABLE>
 +
</div></div><br />
 +
 
 +
===Выгрузка списка всех стран (Countries)===
 +
Метод производит выгрузку всех стран (используется для регистрации частного лица).
 +
* Формат запроса:
 +
** GET .../TourSearchOwin/Countries?
 +
* Принимаемые параметры ( * – обязательный):
 +
** '''term *''' – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
 +
 
 +
* Возвращаемый результат:
 +
** '''Key''' – ключ страны
 +
** '''Name''' – название
 +
 
 +
<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>
 +
Вызов метода Countries
 +
<syntaxhighlight lang="java" enclose="div">
 +
http://localhost:9000/TourSearchOwin/Countries?term=
 +
</syntaxhighlight>
 +
Возвращаемый результат метода Countries (в формате JSON)
 +
<syntaxhighlight lang="java" enclose="div">
 +
[
 +
     {
 +
         "Key": 6283,
 +
         "Name": " Азербайджан"
 
     },
 
     },
 
     {
 
     {
         "Key": 26,
+
         "Key": 90,
         "Name": "Индия"
+
         "Name": "Австрия"
 
     },
 
     },
 
     {
 
     {
         "Key": 6221,
+
         "Key": 222,
         "Name": "Индонезия"
+
         "Name": "Англия"
 
     },
 
     },
 
     {
 
     {
         "Key": 6244,
+
         "Key": 376,
         "Name": "Иордания"
+
         "Name": "Андорра"
 
     },
 
     },
 
     {
 
     {
         "Key": 6288,
+
         "Key": 375,
         "Name": "Ирландия"
+
         "Name": "Беларусь"
 
     },
 
     },
 
     {
 
     {
         "Key": 84,
+
         "Key": 6305,
         "Name": "Испания"
+
         "Name": "Бельгия"
 
     },
 
     },
 
     {
 
     {
         "Key": 80,
+
         "Key": 359,
         "Name": "Италия"
+
         "Name": "Болгария"
 
     },
 
     },
 
     {
 
     {
         "Key": 3272,
+
         "Key": 6235,
         "Name": "Казахстан"
+
         "Name": "Вьетнам"
 
     },
 
     },
 
     {
 
     {
         "Key": 6240,
+
         "Key": 40,
         "Name": "Камбоджа"
+
         "Name": "Германия"
 
     },
 
     },
 
     {
 
     {
         "Key": 10,
+
         "Key": 1,
         "Name": "Кипр"
+
         "Name": "Голландия"
 
     },
 
     },
 
     {
 
     {
         "Key": 6237,
+
         "Key": 852,
         "Name": "Китай"
+
         "Name": "Гонконг"
 
     },
 
     },
 
     {
 
     {
         "Key": 6254,
+
         "Key": 29,
         "Name": "Круизы"
+
         "Name": "Греция"
 
     },
 
     },
 
     {
 
     {
         "Key": 6243,
+
         "Key": 6251,
         "Name": "Куба"
+
         "Name": "Грузия"
 
     },
 
     },
 
     {
 
     {
         "Key": 6241,
+
         "Key": 6224,
         "Name": "Лаос"
+
         "Name": "Дания"
 
     },
 
     },
 
     {
 
     {
         "Key": 6261,
+
         "Key": 6245,
         "Name": "Маврикий"
+
         "Name": "Доминиканская Республика"
 
     },
 
     },
 
     {
 
     {
         "Key": 603,
+
         "Key": 9,
         "Name": "Малайзия"
+
         "Name": "Египет"
 
     },
 
     },
 
     {
 
     {
         "Key": 960,
+
         "Key": 729,
         "Name": "Мальдивы"
+
         "Name": "Израиль"
 
     },
 
     },
 
     {
 
     {
         "Key": 535,
+
         "Key": 26,
         "Name": "Мальта"
+
         "Name": "Индия"
 
     },
 
     },
 
     {
 
     {
         "Key": 77,
+
         "Key": 6221,
         "Name": "Мексика"
+
         "Name": "Индонезия"
 
     },
 
     },
 
     {
 
     {
         "Key": 6252,
+
         "Key": 6244,
         "Name": "Молдавия"
+
         "Name": "Иордания"
 
     },
 
     },
 
     {
 
     {
         "Key": 6242,
+
         "Key": 6288,
         "Name": "Мьянма"
+
         "Name": "Ирландия"
 
     },
 
     },
 
     {
 
     {
         "Key": 6249,
+
         "Key": 84,
         "Name": "Непал"
+
         "Name": "Испания"
 
     },
 
     },
 
     {
 
     {
         "Key": 6222,
+
         "Key": 80,
         "Name": "Норвегия"
+
         "Name": "Италия"
 
     },
 
     },
 
     {
 
     {
         "Key": 2,
+
         "Key": 3272,
         "Name": "ОАЭ"
+
         "Name": "Казахстан"
 
     },
 
     },
 
     {
 
     {
         "Key": 6275,
+
         "Key": 6240,
         "Name": "Оман"
+
         "Name": "Камбоджа"
 
     },
 
     },
 
     {
 
     {
         "Key": 6246,
+
         "Key": 10,
         "Name": "Польша"
+
         "Name": "Кипр"
 
     },
 
     },
 
     {
 
     {
         "Key": 22,
+
         "Key": 6237,
         "Name": "Португалия"
+
         "Name": "Китай"
 
     },
 
     },
 
     {
 
     {
         "Key": 460,
+
         "Key": 6254,
         "Name": "Россия"
+
         "Name": "Круизы"
 
     },
 
     },
 
     {
 
     {
         "Key": 6265,
+
         "Key": 6243,
         "Name": "Сейшелы"
+
         "Name": "Куба"
 
     },
 
     },
 
     {
 
     {
         "Key": 6309,
+
         "Key": 6241,
         "Name": "Сербия"
+
         "Name": "Лаос"
 
     },
 
     },
 
     {
 
     {
         "Key": 665,
+
         "Key": 6261,
         "Name": "Сингапур"
+
         "Name": "Маврикий"
 
     },
 
     },
 
     {
 
     {
         "Key": 6274,
+
         "Key": 603,
         "Name": "Словения"
+
         "Name": "Малайзия"
 
     },
 
     },
 
     {
 
     {
         "Key": 7,
+
         "Key": 960,
         "Name": "США"
+
         "Name": "Мальдивы"
 
     },
 
     },
 
     {
 
     {
         "Key": 6253,
+
         "Key": 535,
         "Name": "Таджикистан"
+
         "Name": "Мальта"
 
     },
 
     },
 
     {
 
     {
         "Key": 6236,
+
         "Key": 77,
         "Name": "Тайвань"
+
         "Name": "Мексика"
 
     },
 
     },
 
     {
 
     {
         "Key": 53,
+
         "Key": 6252,
         "Name": "Тайланд"
+
         "Name": "Молдавия"
 
     },
 
     },
 
     {
 
     {
         "Key": 6313,
+
         "Key": 6242,
         "Name": "Танзания"
+
         "Name": "Мьянма"
 
     },
 
     },
 
     {
 
     {
         "Key": 97,
+
         "Key": 6249,
         "Name": "Тунис"
+
         "Name": "Непал"
 
     },
 
     },
 
     {
 
     {
         "Key": 86,
+
         "Key": 6222,
         "Name": "Турция"
+
         "Name": "Норвегия"
 
     },
 
     },
 
     {
 
     {
         "Key": 5,
+
         "Key": 2,
         "Name": "Украина"
+
         "Name": "ОАЭ"
 
     },
 
     },
 
     {
 
     {
         "Key": 6250,
+
         "Key": 6275,
         "Name": "Филиппины"
+
         "Name": "Оман"
 
     },
 
     },
 
     {
 
     {
         "Key": 64,
+
         "Key": 6246,
         "Name": "Финляндия"
+
         "Name": "Польша"
 
     },
 
     },
 
     {
 
     {
         "Key": 30,
+
         "Key": 22,
         "Name": "Франция"
+
         "Name": "Португалия"
 
     },
 
     },
 
     {
 
     {
         "Key": 38,
+
         "Key": 460,
         "Name": "Хорватия"
+
         "Name": "Россия"
 
     },
 
     },
 
     {
 
     {
         "Key": 6314,
+
         "Key": 6265,
         "Name": "Черногория "
+
         "Name": "Сейшелы"
 
     },
 
     },
 
     {
 
     {
         "Key": 15,
+
         "Key": 6309,
         "Name": "Чехия"
+
         "Name": "Сербия"
 
     },
 
     },
 
     {
 
     {
         "Key": 76,
+
         "Key": 665,
         "Name": "Швейцария"
+
         "Name": "Сингапур"
 
     },
 
     },
 
     {
 
     {
         "Key": 6223,
+
         "Key": 6274,
         "Name": "Швеция"
+
         "Name": "Словения"
 
     },
 
     },
 
     {
 
     {
         "Key": 941,
+
         "Key": 7,
         "Name": "Шри Ланка"
+
         "Name": "США"
 
     },
 
     },
 
     {
 
     {
         "Key": 372,
+
         "Key": 6253,
         "Name": "Эстония"
+
         "Name": "Таджикистан"
 
     },
 
     },
 
     {
 
     {
         "Key": 6247,
+
         "Key": 6236,
         "Name": "Южная Корея"
+
         "Name": "Тайвань"
 
     },
 
     },
 
     {
 
     {
         "Key": 6248,
+
         "Key": 53,
         "Name": "Япония"
+
         "Name": "Тайланд"
     }
+
     },
]
 
</syntaxhighlight>
 
</TD></TR></TABLE>
 
</div></div><br />
 
 
 
 
 
===Выгрузка списка всех городов (Cities)===
 
Метод производит выгрузку всех городов (используется для регистрации частного лица).
 
* Формат запроса:
 
** GET .../TourSearchOwin/Cities?
 
* Принимаемые параметры ( * – обязательный):
 
** '''countryKey *''' – ключ страны, по которой выгружать города (при значении ''-1'' выгружаются все города)
 
** '''term *''' – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
 
 
 
* Возвращаемый результат:
 
** '''Key''' – ключ города
 
** '''Name''' – название
 
 
 
<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>
 
Вызов метода Cities
 
<syntaxhighlight lang="java" enclose="div">
 
http://localhost:9000/TourSearchOwin/Cities?countryKey=460&term=
 
</syntaxhighlight>
 
Возвращаемый результат метода Cities (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
[
 
 
     {
 
     {
         "Key": 1309,
+
         "Key": 6313,
         "Name": "Алушта"
+
         "Name": "Танзания"
 
     },
 
     },
 
     {
 
     {
         "Key": 564,
+
         "Key": 97,
         "Name": "Анапа"
+
         "Name": "Тунис"
 
     },
 
     },
 
     {
 
     {
         "Key": 299,
+
         "Key": 86,
         "Name": "Архангельск"
+
         "Name": "Турция"
 
     },
 
     },
 
     {
 
     {
         "Key": 312,
+
         "Key": 5,
         "Name": "Астрахань"
+
         "Name": "Украина"
 
     },
 
     },
 
     {
 
     {
         "Key": 265,
+
         "Key": 6250,
         "Name": "Белгород"
+
         "Name": "Филиппины"
 
     },
 
     },
 
     {
 
     {
         "Key": 329,
+
         "Key": 64,
         "Name": "Владивосток"
+
         "Name": "Финляндия"
 
     },
 
     },
 
     {
 
     {
         "Key": 258,
+
         "Key": 30,
         "Name": "Владикавказ"
+
         "Name": "Франция"
 
     },
 
     },
 
     {
 
     {
         "Key": 236,
+
         "Key": 38,
         "Name": "Владимир"
+
         "Name": "Хорватия"
 
     },
 
     },
 
     {
 
     {
         "Key": 358,
+
         "Key": 6314,
         "Name": "Волгоград"
+
         "Name": "Черногория "
 
     },
 
     },
 
     {
 
     {
         "Key": 1089,
+
         "Key": 15,
         "Name": "Воркута"
+
         "Name": "Чехия"
 
     },
 
     },
 
     {
 
     {
         "Key": 1312,
+
         "Key": 76,
         "Name": "Воронеж"
+
         "Name": "Швейцария"
 
     },
 
     },
 
     {
 
     {
         "Key": 266,
+
         "Key": 6223,
         "Name": "Екатеринбург"
+
         "Name": "Швеция"
 
     },
 
     },
 
     {
 
     {
         "Key": 254,
+
         "Key": 941,
         "Name": "Иваново"
+
         "Name": "Шри Ланка"
 
     },
 
     },
 
     {
 
     {
         "Key": 350,
+
         "Key": 372,
         "Name": "Иркутск"
+
         "Name": "Эстония"
 
     },
 
     },
 
     {
 
     {
         "Key": 238,
+
         "Key": 6247,
         "Name": "Казань"
+
         "Name": "Южная Корея"
 
     },
 
     },
 
     {
 
     {
         "Key": 306,
+
         "Key": 6248,
         "Name": "Калининград"
+
         "Name": "Япония"
     },
+
     }
    {
+
]
        "Key": 1308,
+
</syntaxhighlight>
        "Name": "Коктебель"
+
</TD></TR></TABLE>
    },
+
</div></div><br />
 +
 
 +
 
 +
===Выгрузка списка всех городов (Cities)===
 +
Метод производит выгрузку всех городов (используется для регистрации частного лица).
 +
* Формат запроса:
 +
** GET .../TourSearchOwin/Cities?
 +
* Принимаемые параметры ( * – обязательный):
 +
** '''countryKey *''' – ключ страны, по которой выгружать города (при значении ''-1'' выгружаются все города)
 +
** '''term *''' – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
 +
 
 +
* Возвращаемый результат:
 +
** '''Key''' – ключ города
 +
** '''Name''' – название
 +
 
 +
<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>
 +
Вызов метода Cities
 +
<syntaxhighlight lang="java" enclose="div">
 +
http://localhost:9000/TourSearchOwin/Cities?countryKey=460&term=
 +
</syntaxhighlight>
 +
Возвращаемый результат метода Cities (в формате JSON)
 +
<syntaxhighlight lang="java" enclose="div">
 +
[
 
     {
 
     {
         "Key": 313,
+
         "Key": 1309,
         "Name": "Краснодар"
+
         "Name": "Алушта"
 
     },
 
     },
 
     {
 
     {
         "Key": 269,
+
         "Key": 564,
         "Name": "Красноярск"
+
         "Name": "Анапа"
 
     },
 
     },
 
     {
 
     {
         "Key": 1311,
+
         "Key": 299,
         "Name": "Крым"
+
         "Name": "Архангельск"
 
     },
 
     },
 
     {
 
     {
         "Key": 1,
+
         "Key": 312,
         "Name": "Москва"
+
         "Name": "Астрахань"
 
     },
 
     },
 
     {
 
     {
         "Key": 259,
+
         "Key": 265,
         "Name": "Мурманск"
+
         "Name": "Белгород"
 
     },
 
     },
 
     {
 
     {
         "Key": 234,
+
         "Key": 329,
         "Name": "Нижний Новгород"
+
         "Name": "Владивосток"
 
     },
 
     },
 
     {
 
     {
         "Key": 1097,
+
         "Key": 258,
         "Name": "Новая Купавна"
+
         "Name": "Владикавказ"
 
     },
 
     },
 
     {
 
     {
         "Key": 324,
+
         "Key": 236,
         "Name": "Новосибирск"
+
         "Name": "Владимир"
 
     },
 
     },
 
     {
 
     {
         "Key": 1043,
+
         "Key": 358,
         "Name": "Омск"
+
         "Name": "Волгоград"
 
     },
 
     },
 
     {
 
     {
         "Key": 345,
+
         "Key": 1089,
         "Name": "Оренбург"
+
         "Name": "Воркута"
 
     },
 
     },
 
     {
 
     {
         "Key": 308,
+
         "Key": 1312,
         "Name": "Пенза"
+
         "Name": "Воронеж"
 
     },
 
     },
 
     {
 
     {
         "Key": 263,
+
         "Key": 266,
         "Name": "Пермь"
+
         "Name": "Екатеринбург"
 
     },
 
     },
 
     {
 
     {
         "Key": 478,
+
         "Key": 254,
         "Name": "Петропавловск-Камчатский"
+
         "Name": "Иваново"
 
     },
 
     },
 
     {
 
     {
         "Key": 271,
+
         "Key": 350,
         "Name": "Псков"
+
         "Name": "Иркутск"
 
     },
 
     },
 
     {
 
     {
         "Key": 1100,
+
         "Key": 238,
         "Name": "Пушкино"
+
         "Name": "Казань"
 
     },
 
     },
 
     {
 
     {
         "Key": 260,
+
         "Key": 306,
         "Name": "Ростов-на-Дону"
+
         "Name": "Калининград"
 
     },
 
     },
 
     {
 
     {
         "Key": 235,
+
         "Key": 1308,
         "Name": "Рязань"
+
         "Name": "Коктебель"
 
     },
 
     },
 
     {
 
     {
         "Key": 232,
+
         "Key": 313,
         "Name": "Самара"
+
         "Name": "Краснодар"
 
     },
 
     },
 
     {
 
     {
         "Key": 295,
+
         "Key": 269,
         "Name": "Санкт-Петербург"
+
         "Name": "Красноярск"
 
     },
 
     },
 
     {
 
     {
         "Key": 1099,
+
         "Key": 1311,
         "Name": "Симферополь"
+
         "Name": "Крым"
 
     },
 
     },
 
     {
 
     {
         "Key": 244,
+
         "Key": 1,
         "Name": "Смоленск"
+
         "Name": "Москва"
 
     },
 
     },
 
     {
 
     {
         "Key": 1084,
+
         "Key": 259,
         "Name": "Снегири"
+
         "Name": "Мурманск"
 
     },
 
     },
 
     {
 
     {
         "Key": 454,
+
         "Key": 234,
         "Name": "Сочи"
+
         "Name": "Нижний Новгород"
 
     },
 
     },
 
     {
 
     {
         "Key": 1310,
+
         "Key": 1097,
         "Name": "Судак"
+
         "Name": "Новая Купавна"
 
     },
 
     },
 
     {
 
     {
         "Key": 1102,
+
         "Key": 324,
         "Name": "Тверь"
+
         "Name": "Новосибирск"
 
     },
 
     },
 
     {
 
     {
         "Key": 1198,
+
         "Key": 1043,
         "Name": "Тестовый город"
+
         "Name": "Омск"
 
     },
 
     },
 
     {
 
     {
         "Key": 307,
+
         "Key": 345,
         "Name": "Томск"
+
         "Name": "Оренбург"
 
     },
 
     },
 
     {
 
     {
         "Key": 246,
+
         "Key": 308,
         "Name": "Тула"
+
         "Name": "Пенза"
 
     },
 
     },
 
     {
 
     {
         "Key": 334,
+
         "Key": 263,
         "Name": "Хабаровск"
+
         "Name": "Пермь"
 
     },
 
     },
 
     {
 
     {
         "Key": 336,
+
         "Key": 478,
         "Name": "Якутск"
+
         "Name": "Петропавловск-Камчатский"
 
     },
 
     },
 
     {
 
     {
         "Key": 1098,
+
         "Key": 271,
         "Name": "Ялта"
+
         "Name": "Псков"
 
     },
 
     },
 
     {
 
     {
         "Key": 231,
+
         "Key": 1100,
         "Name": "Ярославль"
+
         "Name": "Пушкино"
 
     },
 
     },
 
     {
 
     {
         "Key": 1082,
+
         "Key": 260,
         "Name": "Ясный"
+
         "Name": "Ростов-на-Дону"
    }
 
]
 
</syntaxhighlight>
 
</TD></TR></TABLE>
 
</div></div><br />
 
 
 
 
 
===Выгрузка городов отправления в оформлении клиентов (RegistrationClientsDepartureCities)===
 
Метод производит выгрузку городов отправления в оформлении клиентов.
 
* Формат запроса:
 
** GET .../TourSearchOwin/RegistrationClientsDepartureCities?
 
* Принимаемые параметры ( * – обязательный):
 
** '''term *''' – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
 
** '''withoutFlight''' – перевод для ключа ''-1'' (Без перелета)
 
 
 
* Возвращаемый результат:
 
** '''Key''' – ключ города
 
** '''Name''' – название
 
** '''IsExist''' – информация о том, есть ли в этом городе отправления актуальные программы туров (true/false)
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
 
<div class="mw-collapsible-content">
 
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
 
Вызов метода RegistrationClientsDepartureCities
 
<syntaxhighlight lang="java" enclose="div">
 
http://localhost:9000/TourSearchOwin/RegistrationClientsDepartureCities?term=&withoutFlight=Без перелета
 
</syntaxhighlight>
 
Возвращаемый результат метода RegistrationClientsDepartureCities (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
[
 
    {
 
        "Key": -1,
 
        "Name": "Без перелета",
 
        "IsExist": true
 
 
     },
 
     },
 
     {
 
     {
         "Key": 1080,
+
         "Key": 235,
         "Name": "Prime travel",
+
         "Name": "Рязань"
         "IsExist": true
+
    },
 +
    {
 +
        "Key": 232,
 +
        "Name": "Самара"
 +
    },
 +
    {
 +
        "Key": 295,
 +
        "Name": "Санкт-Петербург"
 +
    },
 +
    {
 +
        "Key": 1099,
 +
         "Name": "Симферополь"
 +
    },
 +
    {
 +
        "Key": 244,
 +
        "Name": "Смоленск"
 
     },
 
     },
 
     {
 
     {
         "Key": 1079,
+
         "Key": 1084,
         "Name": "Азимут",
+
         "Name": "Снегири"
        "IsExist": true
 
 
     },
 
     },
 
     {
 
     {
         "Key": 1309,
+
         "Key": 454,
         "Name": "Алушта",
+
         "Name": "Сочи"
        "IsExist": true
 
 
     },
 
     },
 
     {
 
     {
         "Key": 56,
+
         "Key": 1310,
         "Name": "Москва"
+
         "Name": "Судак"
        "IsExist": true
+
     },
     }
+
    {
]
+
        "Key": 1102,
</syntaxhighlight>
+
        "Name": "Тверь"
</TD></TR></TABLE>
+
    },
</div></div><br />
+
    {
 
+
        "Key": 1198,
 
+
        "Name": "Тестовый город"
===Выгрузка стран в оформлении клиентов (RegistrationClientsDestination)===
+
    },
Метод производит выгрузку стран в оформлении клиентов.
 
* Формат запроса:
 
** GET .../TourSearchOwin/RegistrationClientsDestination?
 
* Принимаемые параметры ( * – обязательный):
 
** '''departureCity *''' – ключ города отправления (из контроллера [[#Выгрузка городов отправления в оформлении клиентов (RegistrationClientsDepartureCities)|''.../TourSearchOwin/RegistrationClientsDepartureCities?'']])
 
** '''term *''' – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
 
 
 
* Возвращаемый результат:
 
** '''Name''' – название
 
** '''Key''' – ключ страны
 
** '''DestinationType''' – тип результата (всегда возвращается в JSON = 1, в xml = country)
 
** '''IsExist''' – информация о том, есть ли в этой стране актуальные программы туров (true/false)
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
 
<div class="mw-collapsible-content">
 
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
 
Вызов метода RegistrationClientsDestination
 
<syntaxhighlight lang="java" enclose="div">
 
http://localhost:9000/TourSearchOwin/RegistrationClientsDestination?departureCity=1&term=
 
</syntaxhighlight>
 
Возвращаемый результат метода RegistrationClientsDestination (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
[
 
 
     {
 
     {
        "Name": "Австрия",
+
         "Key": 307,
         "Key": 90,
+
         "Name": "Томск"
         "DestinationType": 1,
 
        "IsExist": true
 
 
     },
 
     },
 
     {
 
     {
        "Name": "Англия",
+
         "Key": 246,
         "Key": 222,
+
         "Name": "Тула"
         "DestinationType": 1,
 
        "IsExist": true
 
 
     },
 
     },
 
     {
 
     {
         "Name": "Беларусь",
+
        "Key": 334,
         "Key": 375,
+
        "Name": "Хабаровск"
         "DestinationType": 1,
+
    },
         "IsExist": true
+
    {
     }
+
        "Key": 336,
]
+
        "Name": "Якутск"
</syntaxhighlight>
+
    },
</TD></TR></TABLE>
+
    {
</div></div><br />
+
        "Key": 1098,
 +
         "Name": "Ялта"
 +
    },
 +
    {
 +
         "Key": 231,
 +
         "Name": "Ярославль"
 +
    },
 +
    {
 +
         "Key": 1082,
 +
        "Name": "Ясный"
 +
     }
 +
]
 +
</syntaxhighlight>
 +
</TD></TR></TABLE>
 +
</div></div><br />
  
  
===Выгрузка турпрограмм в оформлении клиентов (RegistrationClientsTourPrograms)===
+
===Выгрузка городов отправления в оформлении клиентов (RegistrationClientsDepartureCities)===
Метод производит выгрузку турпрограмм в оформлении клиентов.
+
Метод производит выгрузку городов отправления в оформлении клиентов.
 
* Формат запроса:
 
* Формат запроса:
** GET .../TourSearchOwin/RegistrationClientsTourPrograms?
+
** GET .../TourSearchOwin/RegistrationClientsDepartureCities?
 
* Принимаемые параметры ( * – обязательный):
 
* Принимаемые параметры ( * – обязательный):
** '''departureCity *''' – ключ города отправления (из контроллера [[#Выгрузка городов отправления в оформлении клиентов (RegistrationClientsDepartureCities)|''.../TourSearchOwin/RegistrationClientsDepartureCities?'']])
 
** '''destination *''' – ключ страны (из контроллера [[#Выгрузка стран в оформлении клиентов (RegistrationClientsDestination)|''.../TourSearchOwin/RegistrationClientsDestination?'']])
 
** '''destinationType *''' – тип результата (всегда возвращается в JSON = 1, в xml = country)
 
 
** '''term *''' – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
 
** '''term *''' – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
** '''individualTitle ''' – перевод для программы тура с ключом 0 (Индивидуально)
+
** '''withoutFlight''' – перевод для ключа ''-1'' (Без перелета)
  
 
* Возвращаемый результат:
 
* Возвращаемый результат:
** '''Key''' – ключ программы туров
+
** '''Key''' – ключ города
** '''Name''' – название программы туров
+
** '''Name''' – название
** '''Rate''' – валюта тура
+
** '''IsExist''' – информация о том, есть ли в этом городе отправления актуальные программы туров (true/false)
  
 
<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>
Вызов метода RegistrationClientsTourPrograms
+
Вызов метода RegistrationClientsDepartureCities
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
http://localhost:9000/TourSearchOwin/RegistrationClientsTourPrograms?departureCity=1&destination=90&destinationType=1&individualTitle=Индивидуально&term=
+
http://localhost:9000/TourSearchOwin/RegistrationClientsDepartureCities?term=&withoutFlight=Без перелета
 
</syntaxhighlight>
 
</syntaxhighlight>
Возвращаемый результат метода RegistrationClientsTourPrograms (в формате JSON)
+
Возвращаемый результат метода RegistrationClientsDepartureCities (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
 
[
 
[
 
     {
 
     {
         "Key": 0,
+
         "Key": -1,
         "Name": "Индивидуально",
+
         "Name": "Без перелета",
         "Rate": ""
+
         "IsExist": true
 +
    },
 +
    {
 +
        "Key": 1080,
 +
        "Name": "Prime travel",
 +
        "IsExist": true
 +
    },
 +
    {
 +
        "Key": 1079,
 +
        "Name": "Азимут",
 +
        "IsExist": true
 
     },
 
     },
 
     {
 
     {
         "Key": 100003415,
+
         "Key": 1309,
         "Name": "Aviabooking",
+
         "Name": "Алушта",
         "Rate": "EU"
+
         "IsExist": true
 
     },
 
     },
 
     {
 
     {
         "Key": 100003416,
+
         "Key": 56,
         "Name": "Общая проверка системы",
+
         "Name": "Москва"
         "Rate": "EU"
+
         "IsExist": true
 
     }
 
     }
 
]
 
]
Строка 8615: Строка 9169:
  
  
===Выгрузка дат заезда в оформлении клиентов (RegistrationClientsTourDate)===
+
===Выгрузка стран в оформлении клиентов (RegistrationClientsDestination)===
Метод производит выгрузку дат заезда в оформлении клиентов.
+
Метод производит выгрузку стран в оформлении клиентов.
 
* Формат запроса:
 
* Формат запроса:
** GET .../TourSearchOwin/RegistrationClientsTourDate?
+
** GET .../TourSearchOwin/RegistrationClientsDestination?
 
* Принимаемые параметры ( * – обязательный):
 
* Принимаемые параметры ( * – обязательный):
** '''tourKey *''' – ключ программы тура
+
** '''departureCity *''' – ключ города отправления (из контроллера [[#Выгрузка городов отправления в оформлении клиентов (RegistrationClientsDepartureCities)|''.../TourSearchOwin/RegistrationClientsDepartureCities?'']])
 +
** '''term *''' – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
  
 
* Возвращаемый результат:
 
* Возвращаемый результат:
** массив дат
+
** '''Name''' – название
 +
** '''Key''' – ключ страны
 +
** '''DestinationType''' – тип результата (всегда возвращается в JSON = 1, в xml = country)
 +
** '''IsExist''' – информация о том, есть ли в этой стране актуальные программы туров (true/false)
  
 
<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>
Вызов метода RegistrationClientsTourDate
+
Вызов метода RegistrationClientsDestination
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
http://localhost:9000/TourSearchOwin/RegistrationClientsTourDate?tourKey=100006755
+
http://localhost:9000/TourSearchOwin/RegistrationClientsDestination?departureCity=1&term=
 
</syntaxhighlight>
 
</syntaxhighlight>
Возвращаемый результат метода RegistrationClientsTourDate (в формате JSON)
+
Возвращаемый результат метода RegistrationClientsDestination (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
 
[
 
[
     "06.05.2021",
+
     {
    "07.05.2021",
+
        "Name": "Австрия",
     "08.05.2021",
+
        "Key": 90,
    "09.05.2021",
+
        "DestinationType": 1,
    "10.05.2021",
+
        "IsExist": true
    "11.05.2021",
+
    },
     "12.05.2021",
+
     {
    "13.05.2021",
+
        "Name": "Англия",
    "14.05.2021",
+
        "Key": 222,
    "15.05.2021"
+
        "DestinationType": 1,
 +
        "IsExist": true
 +
    },
 +
     {
 +
        "Name": "Беларусь",
 +
        "Key": 375,
 +
        "DestinationType": 1,
 +
        "IsExist": true
 +
    }
 
]
 
]
 
</syntaxhighlight>
 
</syntaxhighlight>
Строка 8650: Строка 9216:
 
</div></div><br />
 
</div></div><br />
  
===Поиск туров в оформлении клиентов (Search)===
+
 
Метод возвращает наиболее дешевое предложения по определенному туру.  
+
===Выгрузка турпрограмм в оформлении клиентов (RegistrationClientsTourPrograms)===
 +
Метод производит выгрузку турпрограмм в оформлении клиентов.
 
* Формат запроса:
 
* Формат запроса:
** GET .../TourSearchOwin/RegistrationClient/Search?
+
** GET .../TourSearchOwin/RegistrationClientsTourPrograms?
* Принимаемые параметры ( '''*''' – обязательный):
+
* Принимаемые параметры ( * – обязательный):
** '''DepartureCityKeys *''' – ключ города отправления (из контроллера [[#Выгрузка городов отправления в оформлении клиентов (RegistrationClientsDepartureCities)|''.../TourSearchOwin/RegistrationClientsDepartureCities?'']])
+
** '''departureCity *''' – ключ города отправления (из контроллера [[#Выгрузка городов отправления в оформлении клиентов (RegistrationClientsDepartureCities)|''.../TourSearchOwin/RegistrationClientsDepartureCities?'']])
** '''Dates *''' – дата заезда (из контроллера [[#Выгрузка дат заезда в оформлении клиентов (RegistrationClientsTourDate)|''.../TourSearchOwin/RegistrationClientsTourDate?'']])
+
** '''destination *''' – ключ страны (из контроллера [[#Выгрузка стран в оформлении клиентов (RegistrationClientsDestination)|''.../TourSearchOwin/RegistrationClientsDestination?'']])
** '''Durations *''' – продолжительность
+
** '''destinationType *''' – тип результата (всегда возвращается в JSON = 1, в xml = country)
** '''PageNumber *''' – номер возвращаемой страницы (по умолчанию возвращается 1)
+
** '''term *''' – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
** '''PageSize *''' – количество возвращаемых результатов на одной странице (возвращается 20)
+
** '''individualTitle ''' – перевод для программы тура с ключом 0 (Индивидуально)
** '''isFromBasket *''' – всегда false
+
 
** '''isFillSecondaryFilters *''' – заполнены ли дополнительные фильтры (по умолчанию всегда приходит true)
+
* Возвращаемый результат:
** '''DestinationType *''' – тип результата (всегда возвращается в JSON = 1, в xml = country)
+
** '''Key''' – ключ программы туров
** '''DestinationKey *''' – идентификатор страны прибытия (из контроллера [[#Выгрузка стран в оформлении клиентов (RegistrationClientsDestination)|''.../TourSearchOwin/RegistrationClientsDestination?'']])
+
** '''Name''' – название программы туров
** '''AdultCount *''' – количество взрослых
+
** '''Rate''' – валюта тура
** '''ChildAges''' – возраст детей. Если детей несколько, и параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
 
** '''IsRegistrationClients''' – по умолчанию всегда приходит false
 
** '''CurrencyName *''' – код валюты
 
** '''AviaQuota *''' – информация о квотах на авиаперелет (значения параметров: ''"1"'' — фильтр "Есть", ''"5"'' — фильтр "Есть+запрос", ''"7"'' — фильтр "Все")
 
** '''HotelQuota *''' – информация о квотах на отель (значения параметров: ''"1"'' — фильтр "Есть", ''"5"'' — фильтр "Есть+запрос", ''"7"'' — фильтр "Все")
 
** '''BusTransferQuota''' – информация о квотах на автобусный переезд (значения параметров: ''"1"'' — фильтр "Есть", ''"5"'' — фильтр "Есть+запрос", ''"7"'' — фильтр "Все")
 
** '''HotelScheme''' – пустой по умолчанию
 
** '''TimeDepartureFrom''' – время отправления с (по умолчанию возвращается 00:00)
 
** '''TimeDepartureTo''' – время отправления по (по умолчанию возвращается 23:59)
 
** '''TimeArrivalFrom''' – время прибытия с (по умолчанию возвращается 00:00)
 
** '''TimeArrivalTo''' – время прибытия по (по умолчанию возвращается 23:59)
 
** '''ArrivalFlightNoTransfer''' – производить поиск без пересадок в прямом направлении (true/false, по умолчанию false)
 
** '''DepartureFlightNoTransfer''' – производить поиск без пересадок в обратном направлении (true/false, по умолчанию false)
 
** '''TourDuration''' – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: продолжительность тура в днях
 
** '''Tour''' – ключ программы тура  
 
  
* Возвращаемый результат:
+
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
** '''CheckMessages''' – сообщения для логики проверки тура (не используется)
+
<div class="mw-collapsible-content">
** '''Message''' – сообщение об ошибке
+
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
*** '''Key''' – код ошибки
+
Вызов метода RegistrationClientsTourPrograms
*** '''Value''' – сообщение об ошибке
+
<syntaxhighlight lang="java" enclose="div">
** '''Result''' – результаты поиска
+
http://localhost:9000/TourSearchOwin/RegistrationClientsTourPrograms?departureCity=1&destination=90&destinationType=1&individualTitle=Индивидуально&term=
*** '''Key''' – идентификатов программы тура
+
</syntaxhighlight>
*** '''Name''' – название программы тура
+
Возвращаемый результат метода RegistrationClientsTourPrograms (в формате JSON)
*** '''TourUrl''' – ссылка на программу тура
+
<syntaxhighlight lang="java" enclose="div">
*** '''BookingConditions''' – условия бронирования программы туров
+
[
*** '''StartDate''' – дата начала тура
+
    {
*** '''Duration''' – продолжительность тура (в днях)
+
        "Key": 0,
*** '''DurationInNight''' – продолжительность проживания (в ночах)
+
        "Name": "Индивидуально",
*** '''Types''' – идентификатор типа туров
+
        "Rate": ""
*** '''Cost''' – цена тура
+
    },
*** '''Rate''' – код валюты тура
+
    {
*** '''CityDepature''' – город отправления
+
        "Key": 100003415,
**** '''Key''' идентификатор города отправления
+
        "Name": "Aviabooking",
**** '''Value''' – название города отправления
+
        "Rate": "EU"
*** '''CountryId''' – всегда возвращается ключ 0
+
    },
*** '''Services''' – услуги в туре
+
    {
**** '''DepartureCity''' – город отправления
+
        "Key": 100003416,
***** '''Key''' – идентификатор
+
        "Name": "Общая проверка системы",
***** '''Value''' – название
+
        "Rate": "EU"
**** '''DepartureCountry''' – страна отправления
+
    }
***** '''Key''' – идентификатор
+
]
***** '''Value''' – название
+
</syntaxhighlight>
**** '''ArrivalCity''' – город прибытия
+
</TD></TR></TABLE>
***** '''Key''' – идентификатор
+
</div></div><br />
***** '''Value''' – название
+
 
**** '''ArrivalCountry''' – страна прибытия
+
 
***** '''Key''' – идентификатор
+
===Выгрузка дат заезда в оформлении клиентов (RegistrationClientsTourDate)===
***** '''Value''' – название
+
Метод производит выгрузку дат заезда в оформлении клиентов.
**** '''DepartureAirport''' – аэропорт отправления
+
* Формат запроса:
***** '''Key''' – идентификатор
+
** GET .../TourSearchOwin/RegistrationClientsTourDate?
***** '''Value''' – название
+
* Принимаемые параметры ( * – обязательный):
**** '''ArrivalAirport''' – аэропорт прибытия
+
** '''tourKey *''' – ключ программы тура
***** '''Key''' – идентификатор
+
 
***** '''Value''' – название
+
* Возвращаемый результат:
**** '''Airline''' – авиакомпания
+
** массив дат
***** '''Key''' – идентификатор
+
 
***** '''Value''' – название
+
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
**** '''Aircraft''' – воздушное судно
+
<div class="mw-collapsible-content">
***** '''Key''' – идентификатор
+
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
***** '''Value''' – название
+
Вызов метода RegistrationClientsTourDate
**** '''Flight''' – рейс
+
<syntaxhighlight lang="java" enclose="div">
***** '''Key''' – идентификатор
+
http://localhost:9000/TourSearchOwin/RegistrationClientsTourDate?tourKey=100006755
***** '''Value''' – название
+
</syntaxhighlight>
**** '''DepartureTime''' – время вылета
+
Возвращаемый результат метода RegistrationClientsTourDate (в формате JSON)
**** '''ArrivalTime''' – время прилета
+
<syntaxhighlight lang="java" enclose="div">
**** '''EndDateTime''' – дата и время прилета
+
[
**** '''FlightDetails''' – информация об авиаперелете
+
    "06.05.2021",
***** '''Tariff''' – информация о тарифе перелета
+
    "07.05.2021",
****** '''Key''' – идентификатор
+
    "08.05.2021",
****** '''Code''' – код тарифа
+
    "09.05.2021",
****** '''Name''' – название тарифа
+
    "10.05.2021",
***** '''Cost''' – разница в стоимости с самым дешевым вариантом
+
    "11.05.2021",
***** '''QuotaStatus''' – информация о квоте
+
    "12.05.2021",
****** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос)  
+
    "13.05.2021",
****** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''.
+
    "14.05.2021",
****** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
+
    "15.05.2021"
***** '''PartnerId''' – ключ партнера
+
]
***** '''ByPax''' – цена за человека (true/false)
+
</syntaxhighlight>
***** '''Partner''' – информация о партнере
+
</TD></TR></TABLE>
****** '''Key''' – идентификатор
+
</div></div><br />
****** '''Value''' – название
+
 
**** '''FlightSetting''' – внутренняя информация о перелете из программы туров
+
===Поиск туров в оформлении клиентов (Search)===
***** '''ServiceId''' – идентификатор класса услуги (внутренняя информация из программы туров)
+
Метод возвращает наиболее дешевое предложения по определенному туру.
***** '''PatternId''' – идентификатор паттерна услуги (внутренняя информация из программы туров)
+
* Формат запроса:
***** '''FlightId''' – идентификатор перелета (внутренняя информация из программы туров)
+
** GET .../TourSearchOwin/RegistrationClient/Search?
**** '''FlightSourceMode''' – локальный или удаленный перелет (внутренняя информация из программы туров)
+
* Принимаемые параметры ( '''*''' – обязательный):
**** '''Id''' – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
+
** '''DepartureCityKeys *''' – ключ города отправления (из контроллера [[#Выгрузка городов отправления в оформлении клиентов (RegistrationClientsDepartureCities)|''.../TourSearchOwin/RegistrationClientsDepartureCities?'']])
**** '''SvKey''' – ключ типа услуги
+
** '''Dates *''' – дата заезда (из контроллера [[#Выгрузка дат заезда в оформлении клиентов (RegistrationClientsTourDate)|''.../TourSearchOwin/RegistrationClientsTourDate?'']])
**** '''IsSubCode1''' – признак наличия [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 1]]
+
** '''Durations *''' – продолжительность
**** '''IsSubCode2''' – признак наличия [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 2]]
+
** '''PageNumber *''' – номер возвращаемой страницы (по умолчанию возвращается 1)
**** '''IsPartnerBasedOn''' – признак услуга с приоритетным подбором поставщика
+
** '''PageSize *''' – количество возвращаемых результатов на одной странице (возвращается 20)
**** '''Day''' – день предоставления услуги
+
** '''isFromBasket *''' – всегда false
**** '''DurationInNight''' – продолжительность услуги в ночах
+
** '''isFillSecondaryFilters *''' – заполнены ли дополнительные фильтры (по умолчанию всегда приходит true)
**** '''BeginDateTime''' – дата предоставления услуги
+
** '''DestinationType *''' – тип результата (всегда возвращается в JSON = 1, в xml = country)
**** '''IsHooded''' – признак скрытая услуга
+
** '''DestinationKey *''' – идентификатор страны прибытия (из контроллера [[#Выгрузка стран в оформлении клиентов (RegistrationClientsDestination)|''.../TourSearchOwin/RegistrationClientsDestination?'']])
**** '''IsDeleted''' – признак удаляемая услуга
+
** '''AdultCount *''' – количество взрослых
**** '''IsNotCalculate''' – признак не рассчитываемая услуга
+
** '''ChildAges''' – возраст детей. Если детей несколько, и параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
**** '''PacketId''' – ключ пакета
+
** '''IsRegistrationClients''' – по умолчанию всегда приходит false
**** '''Index''' – порядковый номер услуги
+
** '''CurrencyName *''' – код валюты
*** '''NotRouteServices''' – массив коллекций немаршрутных услуг (например если две экскурсии будут являться одним элементом массива, то это будет говорить о том, что эти экскурсии можно будет выбрать в выпадающем списке)
+
** '''AviaQuota *''' – информация о квотах на авиаперелет (значения параметров: ''"1"'' — фильтр "Есть", ''"5"'' — фильтр "Есть+запрос", ''"7"'' — фильтр "Все")
**** '''ServiceName''' – название типа услуги
+
** '''HotelQuota *''' – информация о квотах на отель (значения параметров: ''"1"'' — фильтр "Есть", ''"5"'' — фильтр "Есть+запрос", ''"7"'' — фильтр "Все")
**** '''City''' – объект город  
+
** '''BusTransferQuota''' – информация о квотах на автобусный переезд (значения параметров: ''"1"'' — фильтр "Есть", ''"5"'' — фильтр "Есть+запрос", ''"7"'' — фильтр "Все")
***** '''Key''' – ключ города
+
** '''HotelScheme''' – пустой по умолчанию
***** '''Value''' – название города
+
** '''TimeDepartureFrom''' – время отправления с (по умолчанию возвращается 00:00)
**** '''Country''' – ключ страны
+
** '''TimeDepartureTo''' – время отправления по (по умолчанию возвращается 23:59)
**** '''Code''' – объект код услуги
+
** '''TimeArrivalFrom''' – время прибытия с (по умолчанию возвращается 00:00)
***** '''Key''' – ключ услуги
+
** '''TimeArrivalTo''' – время прибытия по (по умолчанию возвращается 23:59)
***** '''Value''' – название услуги
+
** '''ArrivalFlightNoTransfer''' – производить поиск без пересадок в прямом направлении (true/false, по умолчанию false)
**** '''ByScheduler''' – флаг услуга по расписанию или нет
+
** '''DepartureFlightNoTransfer''' – производить поиск без пересадок в обратном направлении (true/false, по умолчанию false)
**** '''Details''' – объект детализация услуги
+
** '''TourDuration''' – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: продолжительность тура в днях
***** '''SubCode1''' – объект [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 1]]
+
** '''Tour''' – ключ программы тура
****** '''Key''' – ключ доп. описания 1
+
 
****** '''Value''' – название доп. описания 1
+
* Возвращаемый результат:
***** '''SubCode2''' – объект [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 2]]
+
** '''CheckMessages''' – сообщения для логики проверки тура (не используется)
****** '''Key''' – ключ доп. описания 2
+
** '''Message''' – сообщение об ошибке
****** '''Value''' – название доп. описания 2
+
*** '''Key''' – код ошибки
***** '''Date''' – дата услуги
+
*** '''Value''' – сообщение об ошибке
***** '''IsShowTransportPlan''' – признак показывать ли план рассадки (для автобусов)
+
** '''Result''' – результаты поиска
***** '''Cost''' – цена
+
*** '''Key''' – идентификатов программы тура
***** '''QuotaStatus''' – объект информация по квотам
+
*** '''Name''' – название программы тура
****** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос)
+
*** '''TourUrl''' – ссылка на программу тура
****** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''.
+
*** '''BookingConditions''' – условия бронирования программы туров
****** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
+
*** '''StartDate''' – дата начала тура
***** '''PartnerId''' – идентификатор партнера
+
*** '''Duration''' – продолжительность тура (в днях)
***** '''ByPax''' – признак цены за человека
+
*** '''DurationInNight''' – продолжительность проживания (в ночах)
***** '''Partner''' – объект партнер (не заполняется)
+
*** '''Types''' – идентификатор типа туров
****** '''Key''' – ключ (не заполняется)
+
*** '''Cost''' – цена тура
****** '''Value''' – название (не заполняется)
+
*** '''Rate''' – код валюты тура
**** '''ParentId''' – идентификатор родительской услуги (для вложенных услуг)
+
*** '''CityDepature''' – город отправления
**** '''PartnerBasedOnServiceTemplateId''' – ключ шаблона услуги, по которой приоритетно выбирается партнер текущей услуги
+
**** '''Key''' – идентификатор города отправления
**** '''Id''' – идентификатор услуги
+
**** '''Value''' – название города отправления
**** '''SvKey''' – ключ типа услуги
+
*** '''CountryId''' – всегда возвращается ключ 0
**** '''IsSubCode1''' – наличие [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 1]]
+
*** '''Services''' – услуги в туре
**** '''IsSubCode2''' – наличие [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 2]]
+
**** '''DepartureCity''' – город отправления
**** '''IsPartnerBasedOn''' – услуга с подбором приоритетного поставщика услуги
+
***** '''Key''' – идентификатор
**** '''Day''' – день предоставления услуги
+
***** '''Value''' – название
**** '''DurationInNight''' – продолжительность услуги в ночах
+
**** '''DepartureCountry''' – страна отправления
**** '''BeginDateTime''' – дата предоставления услуги
+
***** '''Key''' – идентификатор
**** '''EndDateTime''' – дата окончания услуги
+
***** '''Value''' – название
**** '''IsHooded''' – скрытая ли услуга
+
**** '''ArrivalCity''' – город прибытия
**** '''IsDeleted''' – удаляемая ли услуга
+
***** '''Key''' – идентификатор
**** '''IsNotCalculate''' – не рассчитываемая ли услуга
+
***** '''Value''' – название
**** '''PacketId''' – пакет услуги
+
**** '''ArrivalCountry''' – страна прибытия
**** '''Index''' – индекс услуги
+
***** '''Key''' – идентификатор
*** '''MinCostServicesComposition''' – массив состав услуг минимальной цены
+
***** '''Value''' – название
**** '''Key''' – ключ
+
**** '''DepartureAirport''' – аэропорт отправления
***** '''TemplateId''' – идентификатор шаблона
+
***** '''Key''' – идентификатор
***** '''PatternId''' – идентификатор вкладки
+
***** '''Value''' – название
***** '''SettingId''' – идентификатор услуги
+
**** '''ArrivalAirport''' – аэропорт прибытия
**** '''Value''' – значение
+
***** '''Key''' – идентификатор
***** '''ServiceType''' – тип услуги
+
***** '''Value''' – название
***** '''Code''' – ключ услуги
+
**** '''Airline''' – авиакомпания
***** '''SubCode1''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 1]]
+
***** '''Key''' – идентификатор
***** '''SubCode2''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 2]]
+
***** '''Value''' – название
***** '''PacketId''' – пакет услуги
+
**** '''Aircraft''' – воздушное судно
***** '''PartnerId''' – партнер услуги
+
***** '''Key''' – идентификатор
***** '''CountryId''' – страна услуги
+
***** '''Value''' – название
***** '''CityId''' – город услуги
+
**** '''Flight''' – рейс
***** '''Day''' – день предоставления услуги
+
***** '''Key''' – идентификатор
***** '''DurationInNight''' – продолжительность услуги в ночах
+
***** '''Value''' – название
**** '''COAndSpecialsInfo''' – формирует, фильтрует и выдаёт списки применённых акций и ценовых блоков
+
**** '''DepartureTime''' – время вылета
***** '''AppliedCostOffersKeys''' – коллекция идентификаторов всех применённых ценовых блоков к одной цене             
+
**** '''ArrivalTime''' – время прилета
***** '''AppliedSpeciasInfo''' – коллекция всех применённых акций к одной цене, содержит информацию об условиях, с которыми применилась каждая акция
+
**** '''EndDateTime''' – дата и время прилета
****** '''SpecialKey''' – ключ акции
+
**** '''FlightDetails''' – информация об авиаперелете
****** '''SpecialName''' – название акции
+
***** '''Tariff''' – информация о тарифе перелета
****** '''SpecialType''' – тип акции
+
****** '''Key''' – идентификатор
****** '''NewPrice''' – цена после применения акции
+
****** '''Code''' – код тарифа
****** '''OldPrice''' – цена до применения акции
+
****** '''Name''' – название тарифа
****** '''ShowOnline''' – нужно ли показывать акцию в поиске
+
***** '''Cost''' – разница в стоимости с самым дешевым вариантом
****** '''UntilDate''' – акция действует при совершении покупки до указанной даты
+
***** '''QuotaStatus''' – информация о квоте
****** '''Condition''' – json форма условия применения акции. Данное поле включает в себя следующие значения в зависимости от типа акции:
+
****** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос)
******* ''NightsFrom'' (для типа ''PayStay'') – ночей от
+
****** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''.
******* ''NightsTo'' (для типа ''PayStay'') – ночей до
+
****** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
******* ''NightValue'' (для типа ''PayStay'') – значение ночи, которое соответствует заданному периоду
+
***** '''PartnerId''' – ключ партнера
******* ''OperationType'' (для типа ''PayStay'') – тип действия
+
***** '''ByPax''' – цена за человека (true/false)
******* ''SpecialNightType'' (для типа ''PayStay'') – тип бесплатной ночи
+
***** '''Partner''' – информация о партнере
******* ''DurationFrom'' (для типа ''KickBack'') – ночей от
+
****** '''Key''' – идентификатор
******* ''DurationTo'' (для типа ''KickBack'') – ночей до
+
****** '''Value''' – название
******* ''Value'' (для типа ''KickBack'') – значение продолжительности, равное заданному периоду
+
**** '''FlightSetting''' – внутренняя информация о перелете из программы туров
******* ''OperationType'' (для типа ''KickBack'') – тип действия
+
***** '''ServiceId''' – идентификатор класса услуги (внутренняя информация из программы туров)
******* ''NightsFrom'' (для типа ''EarlyBird'') – ночей от
+
***** '''PatternId''' – идентификатор паттерна услуги (внутренняя информация из программы туров)
******* ''NightsTo'' (для типа ''EarlyBird'') – ночей до
+
***** '''FlightId''' – идентификатор перелета (внутренняя информация из программы туров)
******* ''Discount'' (для типа ''EarlyBird'') – размер скидки
+
**** '''FlightSourceMode''' – локальный или удаленный перелет (внутренняя информация из программы туров)
******* ''OperationType'' (для типа ''EarlyBird'') – тип действия
+
**** '''Id''' – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
**** '''COBySubCode''' – список применённых идентификаторов ценовых блоков по SubCode1 и SubCode2
+
**** '''SvKey''' – ключ типа услуги
**** '''SpecialsBySubCode''' –  список применённых акций по SubCode1 и SubCode2
+
**** '''IsSubCode1''' – признак наличия [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 1]]
 +
**** '''IsSubCode2''' – признак наличия [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 2]]
 +
**** '''IsPartnerBasedOn''' – признак услуга с приоритетным подбором поставщика
 +
**** '''Day''' – день предоставления услуги
 +
**** '''DurationInNight''' – продолжительность услуги в ночах
 +
**** '''BeginDateTime''' – дата предоставления услуги  
 +
**** '''IsHooded''' – признак скрытая услуга
 +
**** '''IsDeleted''' – признак удаляемая услуга
 +
**** '''IsNotCalculate''' – признак не рассчитываемая услуга
 +
**** '''PacketId''' – ключ пакета
 +
**** '''Index''' – порядковый номер услуги
 +
*** '''NotRouteServices''' – массив коллекций немаршрутных услуг (например если две экскурсии будут являться одним элементом массива, то это будет говорить о том, что эти экскурсии можно будет выбрать в выпадающем списке)
 +
**** '''ServiceName''' – название типа услуги
 +
**** '''City''' – объект город
 +
***** '''Key''' – ключ города
 +
***** '''Value''' – название города
 +
**** '''Country''' – ключ страны
 +
**** '''Code''' – объект код услуги
 +
***** '''Key''' – ключ услуги
 +
***** '''Value''' – название услуги
 +
**** '''ByScheduler''' – флаг услуга по расписанию или нет
 +
**** '''Details''' – объект детализация услуги
 
***** '''SubCode1''' – объект [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 1]]
 
***** '''SubCode1''' – объект [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 1]]
***** '''SubCode2''' – объект [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 2]]             
+
****** '''Key''' – ключ доп. описания 1
*** '''FlightWeight''' –
+
****** '''Value''' – название доп. описания 1
*** '''LinkingFlightsRules''' – объект правил связывания
+
***** '''SubCode2''' – объект [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 2]]
**** '''notCombineDifferentAirlineRule''' – объект не скрещивать авиакомпании
+
****** '''Key''' – ключ доп. описания 2
***** '''airlines''' – авиакомпании
+
****** '''Value''' – название доп. описания 2
***** '''flightSettings''' – массив ключей ServiceId, PatternId, FlightId
+
***** '''Date''' – дата услуги
***** '''enabled''' – флаг включен/выключен
+
***** '''IsShowTransportPlan''' – признак показывать ли план рассадки (для автобусов)
**** '''checkPlusMinus1CharterRule''' – объект Отличие номера рейса на 1
+
***** '''Cost''' – цена
***** '''FlightSettingPairs''' – массив чартеров, для которых это правило будет выполняться
+
***** '''QuotaStatus''' – объект информация по квотам
***** '''enabled''' – флаг включен/выключен
+
****** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос)
**** '''notCombineDifferentTariffGroupRule''' – объект не комбинировать рейсы от разных классов перелетов
+
****** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре '''PlacesStatus'''.
***** '''FlightSettings''' – массив ключей ServiceId, PatternId, FlightId
+
****** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": '''true''' – если заданы условия количества мест "Мало" и данные условия выполнены, '''false''' – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
***** '''enabled''' – флаг включен/выключен
+
***** '''PartnerId''' – идентификатор партнера
**** '''notCombineDifferentPartnerRule''' – объект не комбинировать рейсы от разных партнеров
+
***** '''ByPax''' – признак цены за человека
***** '''FlightSettings''' – массив ключей ServiceId, PatternId, FlightId
+
***** '''Partner''' – объект партнер (не заполняется)
***** '''enabled''' – флаг включен/выключен
+
****** '''Key''' – ключ (не заполняется)
**** '''departureCityEqualsArrivalCityRule''' – объект Город вылета = городу прилета
+
****** '''Value''' – название (не заполняется)
***** '''FlightSettingPairs''' – чартеры, для которых это будет выполняться
+
**** '''ParentId''' – идентификатор родительской услуги (для вложенных услуг)
***** '''enabled''' – флаг включен/выключен
+
**** '''PartnerBasedOnServiceTemplateId''' – ключ шаблона услуги, по которой приоритетно выбирается партнер текущей услуги
**** '''combineOnlySpecificChartersRule''' – объект не комбинировать различные классы перелетов
+
**** '''Id''' – идентификатор услуги
***** '''settings''' – массив ключей чартеров CharterIds и ServiceId, PatternId, FlightId
+
**** '''SvKey''' – ключ типа услуги
***** '''enabled''' – флаг включен/выключен
+
**** '''IsSubCode1''' – наличие [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 1]]
*** '''RouteSubVariants''' – подварианты услуг (используется в основном поиске)
+
**** '''IsSubCode2''' – наличие [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 2]]
** '''SecondaryFiltersResult''' – результаты доп. фильтров
+
**** '''IsPartnerBasedOn''' – услуга с подбором приоритетного поставщика услуги
*** '''TourTypes''' – типы тура
+
**** '''Day''' – день предоставления услуги
**** '''Id''' – ключ типа тура
+
**** '''DurationInNight''' – продолжительность услуги в ночах
**** '''Name''' – название типа тура
+
**** '''BeginDateTime''' – дата предоставления услуги
**** '''ParentId''' – родительский элемент типа тура (если есть)
+
**** '''EndDateTime''' – дата окончания услуги
**** '''Type''' – тип справочника (используется для внутренних целей)
+
**** '''IsHooded''' – скрытая ли услуга
*** '''TourPrograms''' – информация по каждой турпрограмме
+
**** '''IsDeleted''' – удаляемая ли услуга
**** '''Key''' – ключ турпрограммы
+
**** '''IsNotCalculate''' – не рассчитываемая ли услуга
**** '''Name''' – название турпрограммы
+
**** '''PacketId''' – пакет услуги
**** '''TourUrl''' – ссылка на тур
+
**** '''Index''' – индекс услуги
**** '''BookingConditions''' – условия бронирования
+
*** '''MinCostServicesComposition''' – массив состав услуг минимальной цены
**** '''IsLandOnly''' – признак только наземное обслуживание
+
**** '''Key''' – ключ
**** '''IsRestrictMultiHotels''' – ограничивать ли расчёт многоотельных туров категориями отелей
+
***** '''TemplateId''' – идентификатор шаблона
**** '''IsHotelTemplates''' – есть ли вообще отели в данной турпрограмме
+
***** '''PatternId''' – идентификатор вкладки
**** '''IsRouteServices''' – есть ли маршрутные услуги
+
***** '''SettingId''' – идентификатор услуги
**** '''MultiHotelDelta''' – Значение отклонения звездности последующих отелей от первого отеля в многоотельном туре. По умолчанию 0. Звездность определяется числом, заданном в поле порядок при печати.
+
**** '''Value''' – значение
**** '''Rate''' – валюта тура
+
***** '''ServiceType''' – тип услуги
**** '''DateStart''' – нижняя граница дат заезда по программе тура
+
***** '''Code''' – ключ услуги
**** '''DateEnd''' – верхняя граница дат заеда по программе тура
+
***** '''SubCode1''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 1]]
**** '''Status''' – статус турпрограммы
+
***** '''SubCode2''' – [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 2]]
***** '''Key''' – ключ
+
***** '''PacketId''' – пакет услуги
***** '''Value''' – значение
+
***** '''PartnerId''' – партнер услуги
**** '''Templates''' – шаблоны услуг
+
***** '''CountryId''' – страна услуги
***** '''$id''' – шаблон 1
+
***** '''CityId''' – город услуги
***** '''$id''' – шаблон 2
+
***** '''Day''' – день предоставления услуги
**** '''Types''' – типы тура
+
***** '''DurationInNight''' – продолжительность услуги в ночах
***** '''Id''' – ключ типа тура
+
**** '''COAndSpecialsInfo''' – формирует, фильтрует и выдаёт списки применённых акций и ценовых блоков
***** '''Name''' – название типа тура
+
***** '''AppliedCostOffersKeys''' – коллекция идентификаторов всех применённых ценовых блоков к одной цене             
***** '''ParentId''' – родительский элемент типа тура (если есть)
+
***** '''AppliedSpeciasInfo''' – коллекция всех применённых акций к одной цене, содержит информацию об условиях, с которыми применилась каждая акция
***** '''Type''' – тип справочника (используется для внутренних целей)
+
****** '''SpecialKey''' – ключ акции
**** '''LinkingFlightsRules''' – правила связывания перелетов
+
****** '''SpecialName''' – название акции
***** '''notCombineDifferentAirlineRule''' –
+
****** '''SpecialType''' – тип акции
****** '''airlines''' –
+
****** '''NewPrice''' – цена после применения акции
****** '''flightSettings''' –
+
****** '''OldPrice''' – цена до применения акции
****** '''enabled''' –
+
****** '''ShowOnline''' – нужно ли показывать акцию в поиске
***** '''checkPlusMinus1CharterRule''' –
+
****** '''UntilDate''' – акция действует при совершении покупки до указанной даты
****** '''FlightSettingPairs''' –
+
****** '''Condition''' – json форма условия применения акции. Данное поле включает в себя следующие значения в зависимости от типа акции:
****** '''enabled''' –
+
******* ''NightsFrom'' (для типа ''PayStay'') ночей от
***** '''notCombineDifferentTariffGroupRule''' –
+
******* ''NightsTo'' (для типа ''PayStay'') ночей до
****** '''FlightSettings''' –
+
******* ''NightValue'' (для типа ''PayStay'') значение ночи, которое соответствует заданному периоду
****** '''enabled''' –
+
******* ''OperationType'' (для типа ''PayStay'') тип действия
***** '''notCombineDifferentPartnerRule''' –
+
******* ''SpecialNightType'' (для типа ''PayStay'') тип бесплатной ночи
****** '''FlightSettings''' –
+
******* ''DurationFrom'' (для типа ''KickBack'') ночей от
****** '''enabled''' –
+
******* ''DurationTo'' (для типа ''KickBack'') ночей до
***** '''departureCityEqualsArrivalCityRule''' –
+
******* ''Value'' (для типа ''KickBack'') значение продолжительности, равное заданному периоду
****** '''FlightSettingPairs''' –
+
******* ''OperationType'' (для типа ''KickBack'') тип действия
****** '''enabled''' –
+
******* ''NightsFrom'' (для типа ''EarlyBird'') ночей от
***** '''combineOnlySpecificChartersRule''' –
+
******* ''NightsTo'' (для типа ''EarlyBird'') ночей до
****** '''settings''' –
+
******* ''Discount'' (для типа ''EarlyBird'') размер скидки
****** '''enabled''' –
+
******* ''OperationType'' (для типа ''EarlyBird'') – тип действия
**** '''XmlSettings''' – строка xml для актуальных фильтров
+
**** '''COBySubCode''' – список применённых идентификаторов ценовых блоков по SubCode1 и SubCode2
**** '''Type''' – тип справочника (используется для внутренних целей)
+
**** '''SpecialsBySubCode''' – список применённых акций по SubCode1 и SubCode2
*** '''TourDurations''' – продолжительность тура
+
***** '''SubCode1''' – объект [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 1]]
*** '''TourDates''' – список дат заездов в турпрограмме
+
***** '''SubCode2''' – объект [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описание 2]]             
**** '''HotelCities''' – город в дополнительных фильтрах
+
*** '''FlightWeight''' –
***** '''''' –
+
*** '''LinkingFlightsRules''' – объект правил связывания
**** '''HotelResorts''' – курорты в дополнительных фильтрах
+
**** '''notCombineDifferentAirlineRule''' – объект не скрещивать авиакомпании
***** '''''' –
+
***** '''airlines''' – авиакомпании
**** '''HotelCategories''' – категории отеля в дополнительных фильтрах
+
***** '''flightSettings''' – массив ключей ServiceId, PatternId, FlightId
***** '''''' –
+
***** '''enabled''' – флаг включен/выключен
**** '''Hotels''' – отели в дополнительных фильтрах
+
**** '''checkPlusMinus1CharterRule''' – объект Отличие номера рейса на 1
***** '''''' –
+
***** '''FlightSettingPairs''' – массив чартеров, для которых это правило будет выполняться
**** '''Pansions''' – питания в дополнительных фильтрах
+
***** '''enabled''' – флаг включен/выключен
***** '''''' –
+
**** '''notCombineDifferentTariffGroupRule''' – объект не комбинировать рейсы от разных классов перелетов
**** '''Airlines''' – авиакомпании в дополнительных фильтрах
+
***** '''FlightSettings''' – массив ключей ServiceId, PatternId, FlightId
***** '''''' –
+
***** '''enabled''' – флаг включен/выключен
**** '''FlightTariffs''' – класс перелета в дополнительных фильтрах
+
**** '''notCombineDifferentPartnerRule''' – объект не комбинировать рейсы от разных партнеров
***** '''''' –
+
***** '''FlightSettings''' – массив ключей ServiceId, PatternId, FlightId
**** '''DepartureCities''' – города вылета в дополнительных фильтрах
+
***** '''enabled''' – флаг включен/выключен
***** '''''' –
+
**** '''departureCityEqualsArrivalCityRule''' – объект Город вылета = городу прилета
**** '''DepartureAirports''' – аэропорты вылета в дополнительных фильтрах
+
***** '''FlightSettingPairs''' – чартеры, для которых это будет выполняться
***** '''''' –
+
***** '''enabled''' – флаг включен/выключен
**** '''ArrivalCities''' – города прибытия в дополнительных фильтрах
+
**** '''combineOnlySpecificChartersRule''' – объект не комбинировать различные классы перелетов
***** '''''' –
+
***** '''settings''' – массив ключей чартеров CharterIds и ServiceId, PatternId, FlightId
**** '''ArrivalAirports''' – аэропорты прибытия в дополнительных фильтрах
+
***** '''enabled''' – флаг включен/выключен
***** '''''' –
+
*** '''RouteSubVariants''' – подварианты услуг (используется в основном поиске)
**** '''HotelTypes''' – признаки отелей в дополнительных фильтрах
+
** '''SecondaryFiltersResult''' – результаты доп. фильтров
***** '''''' –  
+
*** '''TourTypes''' – типы тура
 
+
**** '''Id''' – ключ типа тура
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
+
**** '''Name''' – название типа тура
<div class="mw-collapsible-content">
+
**** '''ParentId''' – родительский элемент типа тура (если есть)
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
+
**** '''Type''' – тип справочника (используется для внутренних целей)
Вызов метода RegistrationClient/Search
+
*** '''TourPrograms''' – информация по каждой турпрограмме
<syntaxhighlight lang="java" enclose="div">
+
**** '''Key''' – ключ турпрограммы
GET http://localhost:9000/TourSearchOwin/RegistrationClient/Search?DepartureCityKeys=1&Dates=12.02.2021&Durations=9
+
**** '''Name''' – название турпрограммы
&PageNumber=1&PageSize=20&isFromBasket=false&isFillSecondaryFilters=true&DestinationType=1&DestinationKey=90
+
**** '''TourUrl''' – ссылка на тур
&AdultCount=2&IsRegistrationClients=false&CurrencyName=EU&AviaQuota=7&HotelQuota=7&BusTransferQuota=7
+
**** '''BookingConditions''' – условия бронирования
&TimeArrivalFrom=00:00&TimeArrivalTo=23:59&TimeDepartureFrom=00:00&TimeDepartureTo=23:59
+
**** '''IsLandOnly''' – признак только наземное обслуживание
&ArrivalFlightNoTransfer=false&Tour=100006755&TourDuration=&DepartureFlightNoTransfer=false&HotelScheme=
+
**** '''IsRestrictMultiHotels''' – ограничивать ли расчёт многоотельных туров категориями отелей
</syntaxhighlight>
+
**** '''IsHotelTemplates''' – есть ли вообще отели в данной турпрограмме
Возвращаемый результат метода RegistrationClient/Search (в формате JSON)
+
**** '''IsRouteServices''' – есть ли маршрутные услуги
<syntaxhighlight lang="java" enclose="div">
+
**** '''MultiHotelDelta''' – Значение отклонения звездности последующих отелей от первого отеля в многоотельном туре. По умолчанию 0. Звездность определяется числом, заданном в поле порядок при печати.
{
+
**** '''Rate''' – валюта тура
  "CheckMessages": null,
+
**** '''DateStart''' – нижняя граница дат заезда по программе тура
  "Message":    {
+
**** '''DateEnd''' – верхняя граница дат заеда по программе тура
      "Key": 0,
+
**** '''Status''' – статус турпрограммы
      "Value": null
+
***** '''Key''' – ключ
  },
+
***** '''Value''' – значение
  "Result":    [
+
**** '''Templates''' – шаблоны услуг
            {
+
***** '''$id''' – шаблон 1
        "Key": 100000004,
+
***** '''$id''' – шаблон 2
        "Name": "Общая проверка системы",
+
**** '''Types''' – типы тура
        "TourUrl": "www.megatec.ru",
+
***** '''Id''' – ключ типа тура
        "BookingConditions": "<p>Условия бронирования тура.<\/p>",
+
***** '''Name''' – название типа тура
        "StartDate": "2018-02-25T00:00:00",
+
***** '''ParentId''' – родительский элемент типа тура (если есть)
        "Duration": 4,
+
***** '''Type''' – тип справочника (используется для внутренних целей)
        "DurationInNight": 3,
+
**** '''LinkingFlightsRules''' – правила связывания перелетов
        "Types": [2],
+
***** '''notCombineDifferentAirlineRule''' –
        "Cost": 260,
+
****** '''airlines''' –
        "Rate": "EU",
+
****** '''flightSettings''' –
        "CityDepature":          {
+
****** '''enabled''' –
            "Key": 1,
+
***** '''checkPlusMinus1CharterRule''' –
            "Value": "Москва"
+
****** '''FlightSettingPairs''' –
        },
+
****** '''enabled''' –
        "CountryId": 0,
+
***** '''notCombineDifferentTariffGroupRule''' –
        "Services":          [
+
****** '''FlightSettings''' –
                        {
+
****** '''enabled''' –
              "DepartureCity":                {
+
***** '''notCombineDifferentPartnerRule''' –
                  "Key": 1,
+
****** '''FlightSettings''' –
                  "Value": "Москва"
+
****** '''enabled''' –
              },
+
***** '''departureCityEqualsArrivalCityRule''' –
              "DepartureCountry":                {
+
****** '''FlightSettingPairs''' –
                  "Key": 460,
+
****** '''enabled''' –
                  "Value": "Россия"
+
***** '''combineOnlySpecificChartersRule''' –
              },
+
****** '''settings''' –
              "ArrivalCity":                {
+
****** '''enabled''' –
                  "Key": 35,
+
**** '''XmlSettings''' – строка xml для актуальных фильтров
                  "Value": "Вена"
+
**** '''Type''' – тип справочника (используется для внутренних целей)
              },
+
*** '''TourDurations''' – продолжительность тура
              "ArrivalCountry":                {
+
*** '''TourDates''' – список дат заездов в турпрограмме
                  "Key": 90,
+
**** '''HotelCities''' – город в дополнительных фильтрах
                  "Value": "Австрия"
+
***** '''''' –
              },
+
**** '''HotelResorts''' – курорты в дополнительных фильтрах
              "DepartureAirport":                {
+
***** '''''' –
                  "Key": "SVO4",
+
**** '''HotelCategories''' – категории отеля в дополнительных фильтрах
                  "Value": "Шереметьево-24"
+
***** '''''' –
              },
+
**** '''Hotels''' – отели в дополнительных фильтрах
              "ArrivalAirport":                {
+
***** '''''' –
                  "Key": "VIE1",
+
**** '''Pansions''' – питания в дополнительных фильтрах
                  "Value": "Vena1"
+
***** '''''' –
              },
+
**** '''Airlines''' – авиакомпании в дополнительных фильтрах
              "Airline":                {
+
***** '''''' –
                  "Key": "BA7",
+
**** '''FlightTariffs''' – класс перелета в дополнительных фильтрах
                   "Value": "BRITISH  AIRWAYS"
+
***** '''''' –
               },
+
**** '''DepartureCities''' – города вылета в дополнительных фильтрах
               "Aircraft":                {
+
***** '''''' –
                   "Key": "319",
+
**** '''DepartureAirports''' – аэропорты вылета в дополнительных фильтрах
                   "Value": "AIRBUS "
+
***** '''''' –
              },
+
**** '''ArrivalCities''' – города прибытия в дополнительных фильтрах
              "Flight":                {
+
***** '''''' –
                  "Key": 882,
+
**** '''ArrivalAirports''' – аэропорты прибытия в дополнительных фильтрах
                  "Value": "4444"
+
***** '''''' –
 +
**** '''HotelTypes''' – признаки отелей в дополнительных фильтрах
 +
***** '''''' –
 +
 
 +
<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>
 +
Вызов метода RegistrationClient/Search
 +
<syntaxhighlight lang="java" enclose="div">
 +
GET http://localhost:9000/TourSearchOwin/RegistrationClient/Search?DepartureCityKeys=1&Dates=12.02.2021&Durations=9
 +
&PageNumber=1&PageSize=20&isFromBasket=false&isFillSecondaryFilters=true&DestinationType=1&DestinationKey=90
 +
&AdultCount=2&IsRegistrationClients=false&CurrencyName=EU&AviaQuota=7&HotelQuota=7&BusTransferQuota=7
 +
&TimeArrivalFrom=00:00&TimeArrivalTo=23:59&TimeDepartureFrom=00:00&TimeDepartureTo=23:59
 +
&ArrivalFlightNoTransfer=false&Tour=100006755&TourDuration=&DepartureFlightNoTransfer=false&HotelScheme=
 +
</syntaxhighlight>
 +
Возвращаемый результат метода RegistrationClient/Search (в формате JSON)
 +
<syntaxhighlight lang="java" enclose="div">
 +
{
 +
  "CheckMessages": null,
 +
  "Message":    {
 +
      "Key": 0,
 +
      "Value": null
 +
  },
 +
  "Result":    [
 +
            {
 +
        "Key": 100000004,
 +
        "Name": "Общая проверка системы",
 +
        "TourUrl": "www.megatec.ru",
 +
        "BookingConditions": "<p>Условия бронирования тура.<\/p>",
 +
        "StartDate": "2018-02-25T00:00:00",
 +
        "Duration": 4,
 +
        "DurationInNight": 3,
 +
        "Types": [2],
 +
        "Cost": 260,
 +
        "Rate": "EU",
 +
        "CityDepature":          {
 +
            "Key": 1,
 +
            "Value": "Москва"
 +
        },
 +
        "CountryId": 0,
 +
        "Services":          [
 +
                        {
 +
              "DepartureCity":                {
 +
                  "Key": 1,
 +
                   "Value": "Москва"
 +
               },
 +
               "DepartureCountry":                {
 +
                   "Key": 460,
 +
                   "Value": "Россия"
 
               },
 
               },
               "DepartureTime": "10:00:00",
+
              "ArrivalCity":                {
               "ArrivalTime": "12:00:00",
+
                  "Key": 35,
               "EndDateTime": "2018-02-25T12:00:00",
+
                  "Value": "Вена"
               "FlightDetails": [              {
+
              },
                   "Tariff":                  {
+
              "ArrivalCountry":                {
 +
                  "Key": 90,
 +
                  "Value": "Австрия"
 +
              },
 +
              "DepartureAirport":                {
 +
                  "Key": "SVO4",
 +
                  "Value": "Шереметьево-24"
 +
              },
 +
              "ArrivalAirport":                {
 +
                  "Key": "VIE1",
 +
                  "Value": "Vena1"
 +
              },
 +
              "Airline":                {
 +
                  "Key": "BA7",
 +
                  "Value": "BRITISH  AIRWAYS"
 +
              },
 +
              "Aircraft":                {
 +
                  "Key": "319",
 +
                  "Value": "AIRBUS "
 +
              },
 +
              "Flight":                {
 +
                  "Key": 882,
 +
                  "Value": "4444"
 +
              },
 +
               "DepartureTime": "10:00:00",
 +
               "ArrivalTime": "12:00:00",
 +
               "EndDateTime": "2018-02-25T12:00:00",
 +
               "FlightDetails": [              {
 +
                   "Tariff":                  {
 
                     "Key": 89,
 
                     "Key": 89,
 
                     "Code": "Y",
 
                     "Code": "Y",
Строка 9938: Строка 10 587:
 
</div></div><br />
 
</div></div><br />
  
===Выгрузка информации от удаленного поставщика по перелету (RebuildFlights)===
 
Метод возвращает информацию по выбранному перелету от удаленного поставщика.
 
* Формат запроса:
 
** POST .../TourSearchOwin/RebuildFlights
 
* Принимаемые параметры headers ( '''*''' – обязательный):
 
** '''Content-Type *''' – application/json
 
 
* Принимаемые параметры POST запроса ( '''*''' – обязательный):
 
** '''flights''' – перелеты
 
*** '''direction''' –
 
*** '''commonPrice''' – общая стоимость перелета
 
*** '''remotePriceSource''' – данные расчета локального перелета
 
**** '''providerId''' – ID удаленного поставщика
 
**** '''flightId''' – идентификатор внешнего перелета
 
*** '''localPriceSource''' – данные расчета локального перелета
 
**** '''packetId''' – ключ пакета
 
**** '''partnerId''' – идентификатор партнера
 
*** '''flightsSequenceSettings''' – описание параметров последовательности перелетов для которых действуют замены 
 
**** '''templateId''' – идентификатор шаблона услуги
 
**** '''patternId''' – идентификатор паттерна услуги
 
**** '''serviceId''' – идентификатор класса услуги
 
*** '''segments''' – сегменты авиаперелета
 
**** '''segmentNumber''' – номер сегмента
 
**** '''depratureCity''' – город отправления
 
***** '''gdsItem''' – справочная информация удаленной системы
 
****** '''serviceId''' – идентификатор системы
 
****** '''languageId''' – идентификатор языка
 
****** '''id''' – идентификатор в системе удаленного поставщика
 
****** '''code''' – код в системе удаленного поставщика
 
****** '''name''' – имя в системе удаленного поставщика
 
******* '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
 
******* '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
 
****** '''displayedValue''' – значение поля справочника который используется для отображения
 
****** '''dependencies''' – список зависимых сущностей
 
******* '''dictionaryId''' – идентификатор справочника
 
******* '''itemId''' –
 
****** '''columnValues''' – наименование города и страны
 
***** '''mtItem''' – справочная информации локальной системы
 
****** '''id''' – идентификатор в локальной системе
 
****** '''code''' – код в локальной системе
 
****** '''name''' – имя в локальной системе
 
****** '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
 
****** '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
 
****** '''displayedValue''' – значение поля справочника который используется для отображения
 
****** '''dependencies''' – список зависимых сущностей
 
******* '''dictionaryId''' – идентификатор справочника
 
******* '''itemId''' –
 
****** '''columnValues''' – наименование страны и города
 
***** '''mapping''' – связка
 
****** '''id''' – Id маппинга
 
****** '''providerId''' – Id провайдера
 
****** '''dictionaryId''' – Id справочника
 
****** '''providerDictionaryItemId''' – Id справочника удаленного поставщика
 
****** '''providerDictionaryItemName''' – обозначение справочника удаленного поставщика
 
****** '''mtDictionaryItemId''' – Id справочника МТ
 
****** '''mtDictionaryItemName''' – обозначение справочника MT
 
**** '''arrivalCity''' – город прибытия
 
***** '''gdsItem''' – справочная информация удаленной системы
 
****** '''serviceId''' – идентификатор системы
 
****** '''languageId''' – идентификатор языка
 
****** '''id''' – идентификатор в системе удаленного поставщика
 
****** '''code''' – код в системе удаленного поставщика
 
****** '''name''' – имя в системе удаленного поставщика
 
******* '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
 
******* '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
 
****** '''displayedValue''' – значение поля справочника который используется для отображения
 
****** '''dependencies''' – список зависимых сущностей
 
******* '''dictionaryId''' – идентификатор справочника
 
******* '''itemId''' –
 
****** '''columnValues''' – наименование города и страны
 
***** '''mtItem''' – справочная информации локальной системы
 
****** '''id''' – идентификатор в локальной системе
 
****** '''code''' – код в локальной системе
 
****** '''name''' – имя в локальной системе
 
****** '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
 
****** '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
 
****** '''displayedValue''' – значение поля справочника который используется для отображения
 
****** '''dependencies''' – список зависимых сущностей
 
******* '''dictionaryId''' – идентификатор справочника
 
******* '''itemId''' –
 
****** '''columnValues''' – наименование страны и города
 
***** '''mapping''' – связка
 
****** '''id''' – Id маппинга
 
****** '''providerId''' – Id провайдера
 
****** '''dictionaryId''' – Id справочника
 
****** '''providerDictionaryItemId''' – Id справочника удаленного поставщика
 
****** '''providerDictionaryItemName''' – обозначение справочника удаленного поставщика
 
****** '''mtDictionaryItemId''' – Id справочника МТ
 
****** '''mtDictionaryItemName''' – обозначение справочника MT
 
**** '''departureAirport''' – аэропорт вылета
 
**** '''arrivalAirport''' – аэропорт прилета
 
***** '''gdsItem''' –справочная информация удаленной системы
 
****** '''serviceId''' – идентификатор системы
 
****** '''languageId''' – идентификатор языка
 
****** '''id''' – идентификатор аэропорта вылета
 
****** '''code''' – код аэропорта вылета
 
****** '''name''' – наименование аэропорта
 
******* '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
 
******* '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
 
****** '''displayedValue''' – значение поля справочника который используется для отображения
 
****** '''dependencies''' – список зависимых сущностей
 
******* '''dictionaryId''' – идентификатор справочника
 
******* '''itemId''' –
 
****** '''columnValues''' – наименование аэропорта города страны
 
***** '''mtItem''' – справочная информации из локальной системы
 
****** '''id''' – идентификатор аэропорта в локальной системе
 
****** '''code''' – код аэропорта в локальной системе
 
****** '''name''' – имя аэропорта в локальной системе
 
****** '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
 
****** '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
 
****** '''displayedValue''' – значение поля справочника который используется для отображения
 
****** '''dependencies''' – список зависимых сущностей
 
******* '''dictionaryId''' – идентификатор справочника
 
******* '''itemId''' –
 
****** '''columnValues''' – наименование страны и города
 
***** '''mapping''' – связка
 
****** '''id''' – Id маппинга аэропорта
 
****** '''providerId''' – Id провайдера аэропорта
 
****** '''dictionaryId''' – Id справочника аэропорта
 
****** '''providerDictionaryItemId''' – Id справочника аэропорта удаленного поставщика
 
****** '''providerDictionaryItemName''' – обозначение справочника аэропорта удаленного поставщика
 
****** '''mtDictionaryItemId''' – Id справочника аэропорта МТ
 
****** '''mtDictionaryItemName''' – обозначение справочника аэропорта MT
 
**** '''airline''' – авиакомпания
 
***** '''gdsItem''' – справочная информация удаленной системы
 
****** '''serviceId''' – идентификатор авиакомпании удаленной системы
 
****** '''languageId''' – идентификатор языка
 
****** '''id''' – идентификатор авиакомпании
 
****** '''code''' – код авиакомпании
 
****** '''name''' – наименование авиакомпании
 
******* '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
 
******* '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
 
****** '''displayedValue''' – значение поля справочника который используется для отображения
 
****** '''dependencies''' – список зависимых сущностей
 
****** '''columnValues''' – наименование авиакомпании
 
***** '''mtItem''' – справочная информация из локальной системы
 
****** '''id''' – идентификатор авиакомпании в локальной системе
 
****** '''code''' – код авиакомпании в локальной системе
 
****** '''name''' – наименование авиакомпании в локальной системе
 
****** '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
 
****** '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
 
****** '''displayedValue''' – значение поля справочника который используется для отображения
 
****** '''dependencies''' – список зависимых сущностей
 
****** '''columnValues''' – наименование авиакомпании
 
***** '''mapping''' – связка
 
****** '''id''' – Id маппинга авиакомпании
 
****** '''providerId''' – Id провайдера авиакомпании
 
****** '''dictionaryId''' – Id справочника авиакомпании
 
****** '''providerDictionaryItemId''' – Id справочника авиакомпании удаленного поставщика
 
****** '''providerDictionaryItemName''' – обозначение справочника авиакомпании удаленного поставщика
 
****** '''mtDictionaryItemId''' – Id справочника авиакомпании МТ
 
****** '''mtDictionaryItemName''' – обозначение справочника авиакомпании MT
 
**** '''aircraft''' – воздушное судно
 
***** '''gdsItem''' – справочная информация удаленной системы
 
****** '''serviceId''' – идентификатор воздушного судна удаленной системы
 
****** '''languageId''' – идентификатор языка
 
****** '''id''' – идентификатор воздушного судна
 
****** '''code''' – код воздушного судна
 
****** '''name''' – наименование воздушного судна
 
******* '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
 
******* '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
 
****** '''displayedValue''' – значение поля справочника который используется для отображения
 
****** '''dependencies''' – список зависимых сущностей
 
****** '''columnValues''' – наименование воздушного судна
 
***** '''mtItem''' – справочная информация из локальной системы
 
****** '''id''' – идентификатор воздушного судна в локальной системе
 
****** '''code''' – код воздушного судна в локальной системе
 
****** '''name''' – наименование воздушного судна в локальной системе
 
****** '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
 
****** '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
 
****** '''displayedValue''' – значение поля справочника который используется для отображения
 
****** '''dependencies''' – список зависимых сущностей
 
****** '''columnValues''' – наименование воздушного судна
 
***** '''mapping''' – связка
 
****** '''id''' – Id маппинга воздушного судна
 
****** '''providerId''' – Id провайдера воздушного судна
 
****** '''dictionaryId''' – Id справочника воздушного судна
 
****** '''providerDictionaryItemId''' – Id справочника воздушного судна удаленного поставщика
 
****** '''providerDictionaryItemName''' – обозначение справочника воздушного судна удаленного поставщика
 
****** '''mtDictionaryItemId''' – Id справочника воздушного судна МТ
 
****** '''mtDictionaryItemName''' – обозначение справочника воздушного судна MT
 
**** '''tariff''' – тариф
 
***** '''gdsItem''' – справочная информация удаленной системы
 
****** '''id''' – идентификатор тарифа
 
****** '''code''' – код тарифа
 
****** '''name''' – наименование тарифа
 
******* '''automaticallyMappingValue''' – выражение используемое для автоматического маппинга
 
******* '''requestValue''' – значение поля справочника которое используется в запросе к удаленному поставщику
 
****** '''displayedValue''' – значение поля справочника который используется для отображения
 
****** '''dependencies''' – список зависимых сущностей
 
****** '''columnValues''' – наименование тарифа
 
***** '''mtItem''' – справочная информация из локальной системы
 
***** '''mapping''' – связка
 
**** '''flightNumber''' – номер перелета
 
**** '''baggageRestriction''' – ограничение провоза багажа
 
**** '''caryyOncarry''' – ограничение ручной клади
 
**** '''departureDate''' – дата вылета
 
**** '''arrivalDate''' – дата прилета
 
**** '''quotaInfo''' – объект информация по квотам
 
***** '''status''' – статус по квотам (есть места / нет мест / под запрос)
 
***** '''freePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
 
***** '''isFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
 
** '''tourDate''' – дата тура
 
 
* Возвращаемый результат:
 
** '''flights''' – информация о рейсах
 
*** '''remoteFlightId''' – идентификатор удаленного перелета
 
*** '''flightsSettings''' – внутренняя информация о перелете
 
**** '''templateId''' – идентификатор шаблона услуги
 
**** '''patternId''' – идентификатор паттерна услуги
 
**** '''serviceId''' – идентификатор класса услуги
 
*** '''flightsPlains''' – планы полетов
 
**** '''DepartureCity''' – город вылета
 
***** '''Key''' – ключ города
 
***** '''Value''' – наименование города
 
**** '''DepartureCountry''' – страна вылета
 
***** '''Key''' – ключ страны
 
***** '''Value''' – наименование страны
 
**** '''ArrivalCity''' – город прибытия
 
***** '''Key''' – ключ города
 
***** '''Value''' – наименование города
 
**** '''ArrivalCountry''' – страна прибытия
 
***** '''Key''' – ключ страны
 
***** '''Value''' – наименование страны
 
**** '''DepartureAirport''' – аэропорт вылета
 
***** '''Key''' – ключ аэропорта
 
***** '''Value''' – наименование аэропорта
 
**** '''ArrivalAirport''' – аэропорт прилета
 
***** '''Key''' – ключ аэропорта
 
***** '''Value''' – наименование аэропорта
 
**** '''Airline''' – авиакомпания
 
***** '''Id''' – идентификатор авиакомпании
 
***** '''"Value''' – наименование авиакомпании
 
***** '''"Key''' – ключ авиакомпании
 
**** '''Aircraft''' – воздушное судно
 
***** '''Key''' – ключ воздушного судна
 
***** '''Value''' – наименование воздушного судна
 
**** '''Flight''' – рейс
 
***** '''Key''' – ключ рейса
 
***** '''Value''' – наименование рейса
 
**** '''DepartureTime''' – время отправления
 
**** '''ArrivalTime''' – время прибытия
 
**** '''TotalTimeOfFlight''' – полное время перелета
 
**** '''FlightDetails''' – детали авиаперелета
 
***** '''Tariff''' – информация о тарифе перелета
 
****** '''Key''' – идентификатор
 
****** '''Code''' – код тарифа
 
****** '''Name''' – наименование тарифа
 
***** '''IsCommission''' – признак, комиссионная ли услуга
 
***** '''Cost''' – разница в стоимости с самым дешевым вариантом
 
***** '''QuotaStatus''' – информация о квоте
 
****** '''PlacesStatus''' – статус по квотам (есть места / нет мест / под запрос)
 
****** '''FreePlaces''' – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
 
****** '''IsFewPlaces''' – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
 
***** '''PartnerId''' – ключ партнера
 
***** '''ByPax''' – цена за человека (true/false)
 
***** '''Partner''' – информация о партнере
 
****** '''Key''' – идентификатор
 
****** '''Value''' – наименование
 
**** '''FlightSetting''' – информация о шаблоне услуги авиаперелета
 
***** '''ServiceId''' – идентификатор класса услуги (внутренняя информация из программы туров)
 
***** '''PatternId''' – идентификатор паттерна услуги (внутренняя информация из программы туров)
 
***** '''FlightId''' – идентификатор внешнего перелета
 
**** '''FlightSourceMode''' – локальный или удаленный перелет (внутренняя информация из программы туров)
 
**** '''Id''' – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
 
**** '''SvKey''' – ключ типа услуги
 
**** '''IsSubCode1''' – признак наличия [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 1]]
 
**** '''IsSubCode2''' – признак наличия [[#Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)|доп. описания 2]]
 
**** '''IsPartnerBasedOn''' – признак услуга с приоритетным подбором поставщика
 
**** '''Day''' – день предоставления услуги
 
**** '''DurationInNight''' – продолжительность услуги в ночах
 
**** '''BeginDateTime''' – дата предоставления услуги
 
**** '''EndDateTime''' – дата окончания услуги
 
**** '''IsHooded''' – признак скрытая услуга
 
**** '''IsDeleted''' – признак удаляемая услуга
 
**** '''IsNotCalculate''' – признак не рассчитываемая услуга
 
**** '''PacketId''' – ключ пакета
 
**** '''Index''' – порядковый номер услуги
 
 
<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>
 
Вызов метода RebuildFlights
 
<syntaxhighlight lang="java" enclose="div">
 
POST http://localhost:9000/TourSearchOwin/RebuildFlights HTTP/1.1
 
Content-Type: application/json
 
{
 
  "flights": [
 
    {
 
      "remotePriceSource": {
 
        "providerId": 1,
 
        "flightId": "111397601080000"
 
      },
 
      "localPriceSource": {
 
        "packetId": 197,
 
        "partnerId": 10767
 
      },
 
      "flightsSequenceSettings": [
 
        {
 
          "templateId": 1,
 
          "patternId": 0,
 
          "serviceId": 0
 
        }
 
      ],
 
      "segments": [
 
        {
 
          "segmentNumber": 1,
 
          "depratureCity": {
 
            "gdsItem": {
 
              "id": "524901",
 
              "code": "MOW",
 
              "name": "Moscow",
 
              "requestValue": "MOW",
 
              "displayedValue": "Moscow",
 
              "dependencies": [
 
                {
 
                  "dictionaryId": 1,
 
                  "itemId": "643"
 
                }
 
              ]
 
            },
 
            "mtItem": {
 
              "id": "1",
 
              "code": "MOW",
 
              "name": "Москва",
 
              "requestValue": "",
 
              "displayedValue": "Москва",
 
              "dependencies": [
 
                {
 
                  "dictionaryId": 1,
 
                  "itemId": "460"
 
                }
 
              ]
 
            },
 
            "mapping": {
 
              "id": 143,
 
              "providerId": 1,
 
              "dictionaryId": 2,
 
              "providerDictionaryItemId": "524901",
 
              "providerDictionaryItemName": null
 
            }
 
          },
 
          "arrivalCity": {
 
            "gdsItem": {
 
              "id": "2761369",
 
              "code": "VIE",
 
              "name": "Vienna",
 
              "requestValue": "VIE",
 
              "displayedValue": "Vienna",
 
              "dependencies": [
 
                {
 
                  "dictionaryId": 1,
 
                  "itemId": "40"
 
                }
 
              ]
 
            },
 
            "mtItem": {
 
              "id": "35",
 
              "code": "VIE",
 
              "name": "Вена",
 
              "requestValue": "",
 
              "displayedValue": "Вена",
 
              "dependencies": [
 
                {
 
                  "dictionaryId": 1,
 
                  "itemId": "90"
 
                }
 
              ]
 
            },
 
            "mapping": {
 
              "id": 41,
 
              "providerId": 1,
 
              "dictionaryId": 2,
 
              "providerDictionaryItemId": "2761369",
 
              "providerDictionaryItemName": null
 
            }
 
          },
 
          "departureAirport": {
 
            "gdsItem": {
 
              "id": "5135",
 
              "code": "SVO",
 
              "name": "Moscow, Sheremetyevo",
 
              "requestValue": "SVO",
 
              "displayedValue": "SVO Moscow, Sheremetyevo",
 
              "dependencies": [
 
                {
 
                  "dictionaryId": 1,
 
                  "itemId": "643"
 
                },
 
                {
 
                  "dictionaryId": 2,
 
                  "itemId": "524901"
 
                }
 
              ]
 
            },
 
            "mtItem": {
 
              "id": "52",
 
              "code": "SVO",
 
              "name": "Шереметьево-2",
 
              "requestValue": "",
 
              "displayedValue": "SVO Шереметьево-2",
 
              "dependencies": [
 
                {
 
                  "dictionaryId": 1,
 
                  "itemId": "460"
 
                },
 
                {
 
                  "dictionaryId": 2,
 
                  "itemId": "1"
 
                }
 
              ]
 
            },
 
            "mapping": {
 
              "id": 1619,
 
              "providerId": 1,
 
              "dictionaryId": 5,
 
              "providerDictionaryItemId": "5135",
 
              "providerDictionaryItemName": null
 
            }
 
          },
 
          "arrivalAirport": {
 
            "gdsItem": {
 
              "id": "6625",
 
              "code": "VIE",
 
              "name": "Vienna International Airport",
 
              "requestValue": "VIE",
 
              "displayedValue": "VIE Vienna International Airport",
 
              "dependencies": [
 
                {
 
                  "dictionaryId": 1,
 
                  "itemId": "40"
 
                },
 
                {
 
                  "dictionaryId": 2,
 
                  "itemId": "2761369"
 
                }
 
              ]
 
            },
 
            "mtItem": {
 
              "id": "58",
 
              "code": "VIE",
 
              "name": "Vena",
 
              "requestValue": "",
 
              "displayedValue": "VIE Vena",
 
              "dependencies": [
 
                {
 
                  "dictionaryId": 1,
 
                  "itemId": "90"
 
                },
 
                {
 
                  "dictionaryId": 2,
 
                  "itemId": "35"
 
                }
 
              ]
 
            },
 
            "mapping": {
 
              "id": 259,
 
              "providerId": 1,
 
              "dictionaryId": 5,
 
              "providerDictionaryItemId": "6625",
 
              "providerDictionaryItemName": null
 
            }
 
          },
 
          "airline": {
 
            "gdsItem": {
 
              "id": "5",
 
              "code": "SU",
 
              "name": "Aeroflot",
 
              "requestValue": "SU",
 
              "displayedValue": "SU Aeroflot",
 
              "dependencies": []
 
            },
 
            "mtItem": {
 
              "id": "31",
 
              "code": "SU",
 
              "name": "Aeroflot-Russian International AirLines",
 
              "requestValue": "",
 
              "displayedValue": "SU Aeroflot-Russian International AirLines",
 
              "dependencies": []
 
            },
 
            "mapping": {
 
              "id": 265,
 
              "providerId": 1,
 
              "dictionaryId": 5,
 
              "providerDictionaryItemId": "5",
 
              "providerDictionaryItemName": null
 
            }
 
          },
 
          "aircraft": {
 
            "gdsItem": {
 
              "id": "97",
 
              "code": "73H",
 
              "name": "Boeing 737",
 
              "requestValue": "73H",
 
              "displayedValue": "73H Boeing 737",
 
              "dependencies": []
 
            },
 
            "mtItem": {
 
              "id": "27",
 
              "code": "73H",
 
              "name": "73H",
 
              "requestValue": "",
 
              "displayedValue": "73H 73H",
 
              "dependencies": []
 
            },
 
            "mapping": {
 
              "id": 323,
 
              "providerId": 1,
 
              "dictionaryId": 5,tour
 
              "providerDictionaryItemId": "97",
 
              "providerDictionaryItemName": null
 
            }
 
          },
 
          "tariff": {
 
            "gdsItem": {
 
              "id": "0",
 
              "code": "N",
 
              "name": "Экономический класс",
 
              "requestValue": "",
 
              "displayedValue": "",
 
              "dependencies": []
 
            },
 
            "mtItem": null,
 
            "mapping": null
 
          },
 
          "flightNumber": "2184",
 
          "baggageRestriction": [],
 
          "departureDate": "2021-10-25T09:00:00",
 
          "arrivalDate": "2021-10-25T11:00:00",
 
          "quotaInfo": {
 
            "status": 1,
 
            "freePlaces": 0,
 
            "isFewPlaces": false
 
          }
 
        }
 
      ],
 
      "commonPrice": 313
 
    }
 
  ],
 
  "tourDate": "2021-10-25T00:00:00"
 
}
 
</syntaxhighlight>
 
Возвращаемый результат метода RebuildFlights (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
{
 
  "flights": [
 
    {
 
      "remoteFlightId": "111397601080000",
 
      "flightsSettings": [
 
        {
 
          "templateId": 1,
 
          "patternId": 0,
 
          "serviceId": 0
 
        }
 
      ],
 
      "flightsPlains": [
 
        {
 
          "DepartureCity": {
 
            "Key": 1,
 
            "Value": "Москва"
 
          },
 
          "DepartureCountry": {
 
            "Key": 460,
 
            "Value": "Россия"
 
          },
 
          "ArrivalCity": {
 
            "Key": 35,
 
            "Value": "Вена"
 
          },
 
          "ArrivalCountry": {
 
            "Key": 90,
 
            "Value": "Австрия"
 
          },
 
          "DepartureAirport": {
 
            "Key": "SVO",
 
            "Value": "Шереметьево-2"
 
          },
 
          "ArrivalAirport": {
 
            "Key": "VIE",
 
            "Value": "Vena"
 
          },
 
          "Airline": {
 
            "Id": 31,
 
            "Value": "Aeroflot-Russian International AirLines",
 
            "Key": "SU"
 
          },
 
          "Aircraft": {
 
            "Key": "73H",
 
            "Value": "73H"
 
          },
 
          "Flight": {
 
            "Key": 621,
 
            "Value": "2184"
 
          },
 
          "DepartureTime": "09:00:00",
 
          "ArrivalTime": "11:00:00",
 
          "TotalTimeOfFlight": null,
 
          "FlightDetails": [
 
            {
 
              "Tariff": {
 
                "Key": 113,
 
                "Code": "NSU",
 
                "Name": "Экономический класс(внешняя система)"
 
              },
 
              "IsCommission": false,
 
              "Cost": 313,
 
              "QuotaStatus": {
 
                "PlacesStatus": 1,
 
                "FreePlaces": 0,
 
                "IsFewPlaces": false
 
              },
 
              "PartnerId": 10767,
 
              "ByPax": false,
 
              "Partner": {
 
                "Key": 0,
 
                "Value": null
 
              }
 
            }
 
          ],
 
          "FlightSetting": {
 
            "ServiceId": 1,
 
            "PatternId": 0,
 
            "FlightId": 0
 
          },
 
          "FlightSourceMode": 0,
 
          "Id": 0,
 
          "SvKey": 1,
 
          "IsSubCode1": true,
 
          "IsSubCode2": false,
 
          "IsPartnerBasedOn": false,
 
          "Day": 1,
 
          "DurationInNight": 0,
 
          "BeginDateTime": "2021-10-25T09:00:00",
 
          "EndDateTime": "2021-10-25T11:00:00",
 
          "IsHooded": false,
 
          "IsDeleted": false,
 
          "IsNotCalculate": false,
 
          "PacketId": 197,
 
          "Index": 0
 
        }
 
      ]
 
    }
 
  ]
 
}
 
</syntaxhighlight>
 
</TD></TR></TABLE>
 
</div></div><br />
 
  
 
===Поиск туров онлайн (TourForWeb)===
 
===Поиск туров онлайн (TourForWeb)===

Версия 09:16, 25 октября 2021

Версия статьи от 25-10-2021.

Поддерживаемые версии ПК «Мастер-Тур»:
Начиная с 15 версии


Содержание

 [убрать

Введение

Данный web-сервис служит для разработки собственного сайта туроператору на основе API.

Установка

Для работы с web-сервисом необходимо на отдающей стороне установить службу поиска.
После установки web-сервис будет доступен по адресу http://значение настройки "serviceAddress" в TourSearchOwin/"название метода" (пример: http://localhost:9000/TourSearchOwin/Settings)

Список методов

Последовательность вызова методов сервиса
Последовательность вызова методов сервиса

Авторизация (Token)

Метод производит получение авторизационного токена (описание стандарта).

  • Формат запроса:
    • POST .../TourSearchOwin/Token?
  • Принимаемые параметры headers ( * – обязательный):
    • Content-Type * – application/x-www-form-urlencoded
  • Принимаемые параметры POST запроса ( * – обязательный):
    • grant_type * – текст password
    • username * – логин представителя партнера или частного лица
    • password * – пароль представителя партнера или частного лица
  • Возвращаемый результат:
    • access_token – токен
    • token_type – тип токена
    • expires_in – код
    • userKey – ключ пользователя
    • userType – тип пользователя (0 – представитель партнера, 1 – частное лицо)
    • .issued – дата получения
    • .expires – дата действия до
развернутьПример


Выгрузка настроек службы поиска (Settings)

Метод производит выгрузку настроек службы поиска.

  • Формат запроса:
    • GET .../TourSearchOwin/Settings?
  • Принимаемые параметры:
    • нет принимаемых параметров
  • Возвращаемый результат:
    • ChildAgesSetting – регулируется настройкой максимальный возраст ребенка (массив возрастов, при которых турист будет считаться ребенком
    • DurationSetting – регулируется настройкой максимальная продолжительность тура (массив продолжительностей, доступных в фильтрах для поиска)
    • RoundServiceSetting – признак округления цены (количество знаков после запятой)
    • CacheReady – статус готовности службы поиска к работе (true/false)
    • EnableFiterTree – устаревшая настройка, будет убрана (по умолчанию всегда false)
    • EnableActualFilters – включены ли актуальные фильтры (true/false)
    • CorrectLicense – проверка лицензии (true/false)
    • CorrectLicenseMessage – сообщение, если проверка лицензии не прошла
    • IsCorrectUser – проверка наличия пользователя в таблице Userlist, под которым запущена служба поиска (true/false)
    • IsShowCitizenAuthTourist – настройка запрашивать гражданство при регистрации частного лица (true/false)
    • IsShowFewCountPlaces – настройка отображения числового значения оставшихся мест, когда достигнуто значение «Мало» (true/false)
    • IsShowBusTransferPlaces – использовать фильтр наличие мест на автобусный переезд в поиске (true/false)
    • UseBusSeatChecks – план рассадки автобусного переезда (0 – не отображать, 1 – отображать без проверки, 2 – отображать с проверкой)
    • UseTransferSeatChecks – план рассадки трансфера (0 – не отображать, 1 – отображать без проверки, 2 – отображать с проверкой)
    • IsShowFiltersByCity – отображать фильтр по городам на главной странице поиска (true/false)
    • CheckRealCourses – включена ли проверка курсов реальных валют при поиске (true/false)
    • CommonImagesFolderPath – путь к папке для хранения изображений
    • UseApplyFiltersButton – отображать кнопку «Применить фильтры» (true/false)
    • AutoSearchFiltersTimeout – задержка между выбором дополнительных фильтров и выводом результатов (в секундах)
    • UseFastSearchAlgoritm – использовать быстрый алгоритм поиска (true/false)
    • MaxSearchDatesCountClient – максимальное количество дат, которое будет обрабатываться в клиенте поиска
    • MaxDurationsCountClient – максимальное количество продолжительностей, которое будет обрабатываться в клиенте поиска
    • UseHotelCategoryGlobalCodeInDopFilter – использовать глобальные коды категорий отелей в поиске
    • UsePansionGlobalCodeInDopFilter – использовать глобальные коды питаний в поиске
    • CheckTouristDataInBasket – проверять корректность данных туристов
    • SimpleRegistration – упрощенная регистрация частного лица
    • ShowHotelImagesInSearch – показывать описание и изображения отелей в поиске
    • CacheReadyMessage – сообщение о готовности службы поиска или службы расчета актуальных фильтров. Варианты возвращаемых значений:
      • <add key="enableActualFilters" value="true" /> - CacheReady: true = CacheReadyMessage: "Кеш инициализирован"; CacheReady: false = CacheReadyMessage: "Кеш еще не инициализирован"
      • <add key="enableActualFilters" value="false" /> - Служба актуальных фильтров недоступна (выключена, неверно указана ссылка на нее и т.п.) CacheReadyMessage: "Служба актуальных фильтров недоступна"; Служба актуальных фильтров доступна но не готова - CacheReadyMessage: "Кеш службы актуальных фильтров не инициализирован"; Служба актуальных фильтров готова, а основная служба не готова - CacheReadyMessage: "Кеш ещё не инициализирован"; Служба актуальных фильтров готова, и основная служба готова - CacheReadyMessage: "Кеш ещё инициализирован".
развернутьПример



Выгрузка списка валют в онлайне (Currency)

Метод возвращает список используемых валют.

  • Формат запроса:
    • GET .../TourSearchOwin/Currency
  • Принимаемые параметры:
    • нет принимаемых параметров
  • Возвращаемый результат:
    • Code – код валюты
    • Name – наименование валюты
    • IsMain – признак валюты «Главная»
    • IsNational – признак валюты «Национальная»
    • IsoCode – ISO код валюты
    • IsShowInSearch – признак показывать ли валюту в поиске
    • Symbol – символ валюты (обрабатывается с 15.7)
    • Key – идентификатор валюты


развернутьПример



Выгрузка курсов валют (CurrencyRates) начиная с 15.7

Полный аналог метода Выгрузка курсов валют (GetCurrencyRates)
Метод возвращает список курсов валют, актуальных на дату запроса. Курсы отображаются только для тех валют, которые отмечены в справочнике признаком Отображать в онлайне

  • Формат запроса:
    • GET .../TourSearchOwin/CurrencyRates
  • Принимаемые параметры:
    • нет принимаемых параметров
  • Возвращаемый результат:
    • baseCurrencyId – идентификатор национальной валюты, либо произвольной валюты, указанной в настройке basketCurrency в конфигурационном файле (обрабатывается с релиза 15.6)
    • currencyId – идентификатор валюты, курс которой приводится
    • rate – курс валюты (отношение currencyId к baseCurrencyId)
развернутьПример


Выгрузка списка всех валют (getAllCurrencies)

Метод возвращает список всех валют.

  • Формат запроса:
    • GET .../TourSearchOwin/AllCurencies/getAllCurrencies
  • Принимаемые параметры:
    • нет принимаемых параметров
  • Возвращаемый результат:
    • Code – код валюты
    • Name – наименование валюты
    • IsMain – признак валюты «Главная»
    • IsNational – признак валюты «Национальная»
    • IsoCode – ISO код валюты
    • IsShowInSearch – признак показывать ли валюту в поиске
    • Symbol – символ валюты (обрабатывается с 15.7)
    • Key – идентификатор валюты
развернутьПример



Получение сконвертированных цен (convertFilterPrice)

Метод возвращает сконвертированные цен для допфильтра Цена (используется в canary)

  • Формат запроса:
    • GET .../TourSearchOwin/AllCurencies/convertFilterPrice
  • Принимаемые параметры ( * – обязательный):
    • SourceRateKey * – ключ исходной валюты конвертации
    • TargetRateKey * – ключ валюты, в которую будет произведена конвертация
    • MinPrice * – значение минимальной цены, которое будет участвовать в конвертации
    • MaxPrice * – значение максимальной цены, которое будет участвовать в конвертации
  • Возвращаемый результат:
    • m_Item1 – сконвертированная минимальная цена
    • m_Item12 – сконвертированная максимальная цена
развернутьПример


Выгрузка квотируемых услуг системы (QuotedServices)

Метод производит выгрузку услуг с признаком «Квотируемая»

  • Формат запроса:
    • GET .../TourSearchOwin/QuotedServices
  • Принимаемые параметры:
    • нет принимаемых параметров
  • Возвращаемый результат:
    • Key – идентификатор услуги
    • Code – код услуги
    • Name – наименование услуги (русский)
    • NameLat – наименование услуги (английский)
    • IsDuration – наличие продолжительности у услуги
    • IsCity – наличие города у услуги
    • IsSubCode1 – признак наличия SubCode1 у услуги
    • IsSubCode2 – признак наличия SubCode2 у услуги
    • Quoted – признак квотируемости услуги
    • CheckGeoPoint – наличие геоточек у услуги
    • IsRoute – признак маршрутной услуги
    • IsPartnerBasedOn – признак сопоставления партнера услуги в зависимости от отеля
    • Control – идентификатор статуса услуги
развернутьПример


Выгрузка актуальных городов отправления (departureCities)

Метод производит выгрузку всех доступных городов отправления для поискового запроса.

  • Формат запроса:
    • GET .../TourSearchOwin/departureCities?
  • Принимаемые параметры:
    • нет принимаемых параметров
  • Возвращаемый результат:
    • Key – идентификатор города
    • Name – название города
развернутьПример


Выгрузка актуальных стран (Destination)

Метод производит выгрузку всех доступных направлений туроператора.

  • Формат запроса:
    • GET .../TourSearchOwin/Destination?
  • Принимаемые параметры ( * – обязательный):
    • departureCities * – идентификатор города(ов) отправления (из контроллера .../TourSearchOwin/departureCities?)
    • term – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
  • Возвращаемый результат:
    • Name – название страны
    • Key – идентификатор страны
    • DestinationType – тип результата (всегда возвращается в JSON = 1, в xml = country)
развернутьПример


Выгрузка актуальных городов (ActualizeCities)

Метод возвращает список всех доступных городов по определенному городу отправления и стране прибытия.

  • Формат запроса:
    • GET .../TourSearchOwin/ActualizeCities?
  • Принимаемые параметры ( * – обязательный):
    • cityKeys * – идентификатор города(ов) отправления (полученный из метода .../TourSearchOwin/departureCities?)
    • Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
    • term – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
  • Возвращаемый результат:
    • Key – идентификатор города
    • Name – название города
развернутьПример


Выгрузка актуальных типов туров (ActualizeTourType)

Метод возвращает список типов туров по определенному городу отправления, стране и городу прибытия.

  • Формат запроса:
    • GET .../TourSearchOwin/ActualizeTourType?
  • Принимаемые параметры ( * – обязательный):
    • departureCityKeys * – идентификатор города(ов) отправления (полученный из метода .../TourSearchOwin/departureCities?)
    • Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
    • Type * – тип результата (всегда возвращается в JSON = 1, в xml = country)
    • destinationCity * – идентификатор города(ов) прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны
    • terms – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
  • Возвращаемый результат:
    • Key – идентификатор типа тура
    • Name – название типа тура
    • ParentId – идентификатор группы, к которой относится данный типа тура (если тип тура не относится к группе, то возвращается null)
развернутьПример


Выгрузка актуальных дат заездов (TourDate)

Метод производит выгрузку доступных дат заездов для поискового запроса.

  • Формат запроса:
    • GET .../TourSearchOwin/TourDate?
  • Принимаемые параметры ( * – обязательный):
    • departureCity * – идентификатор города(ов) отправления (полученный из метода .../TourSearchOwin/departureCities?)
    • destinationCity * – идентификатор города(ов) прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны
    • Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
    • Type * – тип результата (всегда возвращается в JSON = 1, в xml = country)
    • tourTypes * – идентификатор типа тура (полученный из метода .../TourSearchOwin/ActualizeTourType?), по умолчанию передается -1, то есть все типы тура в рамках данной страны
  • Возвращаемый результат:
    • массив дат
развернутьПример


Выгрузка актуальных продолжительностей (Duration)

Метод производит выгрузку доступных продолжительностей для поискового запроса.

  • Формат запроса:
    • GET .../TourSearchOwin/Duration?
  • Принимаемые параметры ( * – обязательный):
    • departureCity * – идентификатор города(ов) отправления (полученный из метода .../TourSearchOwin/departureCities?)
    • destinationCity * – идентификатор города(ов) прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны
    • Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
    • Type * – тип результата (всегда возвращается в JSON = 1, в xml = country)
    • tourDate * – массив дат заезда (полученные из метода .../TourSearchOwin/TourDate?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
    • tourTypes * – идентификатор типа(ов) тура (полученный из метода .../TourSearchOwin/ActualizeTourType?), по умолчанию передается -1, то есть все типы тура в рамках данной страны
  • Возвращаемый результат:
    • массив продолжительностей (в днях)
развернутьПример


Поиск туров (Tour)

Метод поиска туров использует множество параметров для поиска и фильтрации туров. Метод возвращает наиболее дешевые предложения, найденные по предоставленным параметрам и сгруппированные по отелям в порядке возрастания цены.

  • Формат запроса:
    • GET .../TourSearchOwin/Tour?
  • Принимаемые параметры ( * – обязательный):
    • DepartureCityKeys * – идентификатор города(ов) отправления (полученный из метода .../TourSearchOwin/departureCities?)
    • Dates * – массив дат заезда (полученные из метода .../TourSearchOwin/TourDate?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
    • Durations * – массив продолжительностей (полученные из метода .../TourSearchOwin/Duration?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
    • PageNumber * – номер возвращаемой страницы (по умолчанию возвращается 1)
    • PageSize * – количество возвращаемых результатов на одной странице (возвращается 20)
    • isFromBasket * – происходит ли обращение из корзины или из поиска туров (true/false)
    • isFillSecondaryFilters * – заполнены ли дополнительные фильтры (по умолчанию всегда приходит true)
    • DestinationType * – тип результата (всегда возвращается в JSON = 1, в xml = country)
    • DestinationKey * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
    • AdultCount * – количество взрослых
    • ChildAges – возраст детей. Если детей несколько, и параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
    • CurrencyName * – код валюты
    • AviaQuota * – информация о квотах на авиаперелет (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
    • HotelQuota * – информация о квотах на отель (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
    • BusTransferQuota – информация о квотах на автобусный переезд (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
    • MinPrice * – минимальная цена (по умолчанию не задана, передается NaN)
    • MaxPrice – максимальная цена (по умолчанию не передается)
    • Groups – группировка результатов (2 – по названию тура, 4 – по дате тура, 8 – по продолжительности тура, 16 – по городу вылета, 32 – по отелю, 64 – по городу отеля, 128 – по курорту отеля, 256 – по категории отеля)
    • HotelScheme – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля. Передаются следующие параметры:
      • TemplateId – идентификатор шаблона услуги,
      • DurationInNight – продолжительность отеля в ночах,
      • Code – ключ отеля,
      • PacketKey – ключ пакета,
      • PartnerKey – ключ партнера
      • GDSProviderId – ключ провайдера из внешней системы
      • TotalTourDuration – общая продолжительность тура в днях
    • BusTransferPointKeys – данный признак проставляется в true в том случае, когда происходит запрос вариантов проживания (кнопка Варианты) в автобусных переездах
    • TourKey – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: ключ программы тура
    • TourDuration – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: продолжительность тура в днях
    • TourType – идентификатор типа(ов) тура (полученный из метода .../TourSearchOwin/ActualizeTourType?), по умолчанию передается -1, то есть все типы тура в рамках данной страны. Возможна множественная передача параметров.
    • Tour – ключ программы тура (дополнительный фильтр)
    • Duration – продолжительность тура (дополнительный фильтр)
    • DateTour – дата тура (дополнительный фильтр)
    • HotelResort – ключ курорта отеля (дополнительный фильтр)
    • HotelCity – ключ города отеля (дополнительный фильтр)
    • HotelType – ключ признака отеля (дополнительный фильтр)
    • HotelStars – ключ категории отеля (дополнительный фильтр)
    • Hotel – ключ отеля (дополнительный фильтр)
    • Pansions – ключ питания (дополнительный фильтр)
    • Airline – ключ авиакомпании (дополнительный фильтр)
    • AirportDeparture – ключ аэропорта вылета (дополнительный фильтр)
    • AirportArrival – ключ аэропорта прилета (дополнительный фильтр)
    • CityIds – идентификатор города(ов) прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны. Возможна множественная передача параметров.
    • TimeDepartureFrom – время отправления с (по умолчанию возвращается 00:00)
    • TimeDepartureTo – время отправления по (по умолчанию возвращается 23:59)
    • TimeArrivalFrom – время прибытия с (по умолчанию возвращается 00:00)
    • TimeArrivalTo – время прибытия по (по умолчанию возвращается 23:59)
    • ArrivalFlightNoTransfer – производить поиск без пересадок в прямом направлении (true/false, по умолчанию false)
    • DepartureFlightNoTransfer – производить поиск без пересадок в обратном направлении (true/false, по умолчанию false)
    • DepartureFlightNumberTransfer – наличие пересадок в прямом направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более). Обрабатывается начиная с релиза 15.3.
    • ArrivalFlightNumberTransfer – наличие пересадок в обратном направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более). Обрабатывается начиная с релиза 15.3.
    • Tariff – ключ класса авиаперелета (дополнительный фильтр)
    • CombineAirlines — разрешить комбинировать авиаперелеты (дополнительный фильтр). Параметр применяется только при наличии параметра airline. Обрабатывается начиная с релиза 15.3.
    • CombineTariffs — разрешить комбинировать классы перелета (дополнительный фильтр). Параметр применяется только при наличии параметра tariff. Обрабатывается начиная с релиза 15.3.
    • FlightCityDeparture – ключ город вылета в параметрах авиаперелета (дополнительный фильтр)
    • CityDeparture – ключ города начала поездки (дополнительный фильтр)
    • RemoteHotelMode – признак того, производится поиск только локальных отелей или и от внешних поставщиков тоже (только локальные отели – 0, только внешние отели – 2, локальные и внешние отели – 1). Если признак отсутствует – поиск будет только по локальным отелям. Обрабатывается начиная с релиза 15.4.
    • GroupGuid – используется для получения турпрограмм по уникальному ключу из кэша при использовании группировки. Примеры использования. GroupGuid=00000000-0000-0000-0000-000000000000 – при первом запросе от локальной системы. GroupGuid=936DA01F-9ABD-4d9d-80C7-02AF85C822A8 (уникальный ключ) – передается на клиент от первого запроса из внешней системы. С данным уникальным ключом осуществляется второй запрос от удаленной внешней системы. Далее происходит получение значений по данному уникальному ключу. Обрабатывается начиная с релиза 15.4.
    • IsGroupingTourAlreadyMerge – определяет слияние данных турпрограмм от локальной системы с данными от внешней системы при использовании группировки. Примеры использования. IsGroupingTourAlreadyMerge=false – полученные данные от локальной системы не объединены с данными от внешней удаленной системы. На клиенте осуществляется объединение данных турпрограмм с последующей сортировкой по минимальной цене. IsGroupingTourAlreadyMerge=true – полученные данные от локальной системы уже объединены с данными от внешней удаленной системы. На клиенте осуществляется только сортировка по минимальной цене. Обрабатывается начиная с релиза 15.4.
    • SearchId – уникальный идентификатор запроса поиска, передаваемый с клиентской части. Возвращается в ответе без изменений. Обрабатывается начиная с релиза 15.5.


  • Возвращаемый результат:
    • CheckMessages – сообщения для логики проверки тура (не используется)
    • Message – сообщение об ошибке
      • Key – код ошибки
      • Value – сообщение об ошибке
    • Result – результаты поиска
      • Key – идентификатов программы тура
      • Name – название программы тура
      • TourUrl – ссылка на программу тура
      • BookingConditions – условия бронирования программы туров
      • StartDate – дата начала тура
      • Duration – продолжительность тура (в днях)
      • DurationInNight – продолжительность проживания (в ночах)
      • Types – идентификатор типа туров
      • Cost – цена тура
      • Rate – код валюты тура
      • CityDepature – город отправления
        • Key – идентификатор города отправления
        • Value – название города отправления
      • CountryId – всегда возвращается ключ 0
      • Services – услуги в туре
        • DepartureCity – город отправления
          • Key – идентификатор
          • Value – название
        • DepartureCountry – страна отправления
          • Key – идентификатор
          • Value – название
        • ArrivalCity – город прибытия
          • Key – идентификатор
          • Value – название
        • ArrivalCountry – страна прибытия
          • Key – идентификатор
          • Value – название
        • DepartureAirport – аэропорт отправления
          • Key – идентификатор
          • Value – название
        • ArrivalAirport – аэропорт прибытия
          • Key – идентификатор
          • Value – название
        • Airline – авиакомпания
          • Key – идентификатор
          • Value – название
        • Aircraft – воздушное судно
          • Key – идентификатор
          • Value – название
        • Flight – рейс
          • Key – идентификатор
          • Value – название
        • DepartureTime – время вылета
        • ArrivalTime – время прилета
        • EndDateTime – дата и время прилета
        • FlightDetails – информация об авиаперелете
          • Tariff – информация о тарифе перелета
            • Key – идентификатор
            • Code – код тарифа
            • Name – название тарифа
          • Cost – разница в стоимости с самым дешевым вариантом
          • QuotaStatus – информация о квоте
            • PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
            • FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
            • IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
          • PartnerId – ключ партнера
          • ByPax – цена за человека (true/false)
          • Partner – информация о партнере
            • Key – идентификатор
            • Value – название
        • FlightSetting – внутренняя информация о перелете из программы туров
          • ServiceId – идентификатор класса услуги (внутренняя информация из программы туров)
          • PatternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
          • FlightId – идентификатор перелета (внутренняя информация из программы туров)
        • FlightSourceMode – локальный или удаленный перелет (внутренняя информация из программы туров)
        • Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
        • SvKey – ключ типа услуги
        • IsSubCode1 – признак наличия доп. описания 1
        • IsSubCode2 – признак наличия доп. описания 2
        • IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
        • Day – день предоставления услуги
        • DurationInNight – продолжительность услуги в ночах
        • BeginDateTime – дата предоставления услуги
        • IsHooded – признак скрытая услуга
        • IsDeleted – признак удаляемая услуга
        • IsNotCalculate – признак не рассчитываемая услуга
        • PacketId – ключ пакета
        • Index – порядковый номер услуги
      • NotRouteServices – массив коллекций немаршрутных услуг (например если две экскурсии будут являться одним элементом массива, то это будет говорить о том, что эти экскурсии можно будет выбрать в выпадающем списке)
        • ServiceName – название типа услуги
        • City – объект город
          • Key – ключ города
          • Value – название города
        • Country – ключ страны
        • Code – объект код услуги
          • Key – ключ услуги
          • Value – название услуги
        • ByScheduler – флаг услуга по расписанию или нет
        • Details – объект детализация услуги
          • SubCode1 – объект доп. описание 1
            • Key – ключ доп. описания 1
            • Value – название доп. описания 1
          • SubCode2 – объект доп. описание 2
            • Key – ключ доп. описания 2
            • Value – название доп. описания 2
          • Date – дата услуги
          • IsShowTransportPlan – признак показывать ли план рассадки (для автобусов)
          • Cost – цена
          • QuotaStatus – объект информация по квотам
            • PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
            • FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
            • IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
          • PartnerId – идентификатор партнера
          • ByPax – признак цены за человека
          • Partner – объект партнер (не заполняется)
            • Key – ключ (не заполняется)
            • Value – название (не заполняется)
        • ParentId – идентификатор родительской услуги (для вложенных услуг)
        • PartnerBasedOnServiceTemplateId – ключ шаблона услуги, по которой приоритетно выбирается партнер текущей услуги
        • Id – идентификатор услуги
        • SvKey – ключ типа услуги
        • IsSubCode1 – наличие доп. описания 1
        • IsSubCode2 – наличие доп. описания 2
        • IsPartnerBasedOn – услуга с подбором приоритетного поставщика услуги
        • Day – день предоставления услуги
        • DurationInNight – продолжительность услуги в ночах
        • BeginDateTime – дата предоставления услуги
        • EndDateTime – дата окончания услуги
        • IsHooded – скрытая ли услуга
        • IsDeleted – удаляемая ли услуга
        • IsNotCalculate – не рассчитываемая ли услуга
        • PacketId – пакет услуги
        • Index – индекс услуги
      • MinCostServicesComposition – массив состав услуг минимальной цены
        • Key – ключ
          • TemplateId – идентификатор шаблона
          • PatternId – идентификатор вкладки
          • SettingId – идентификатор услуги
        • Value – значение
          • ServiceType – тип услуги
          • Code – ключ услуги
          • SubCode1доп. описание 1
          • SubCode2доп. описание 2
          • PacketId – пакет услуги
          • PartnerId – партнер услуги
          • CountryId – страна услуги
          • CityId – город услуги
          • Day – день предоставления услуги
          • DurationInNight – продолжительность услуги в ночах
        • COAndSpecialsInfo – формирует, фильтрует и выдаёт списки применённых акций и ценовых блоков
          • AppliedCostOffersKeys – коллекция идентификаторов всех применённых ценовых блоков к одной цене
          • AppliedSpeciasInfo – коллекция всех применённых акций к одной цене, содержит информацию об условиях, с которыми применилась каждая акция
            • SpecialKey – ключ акции
            • SpecialName – название акции
            • SpecialType – тип акции
            • NewPrice – цена после применения акции
            • OldPrice – цена до применения акции
            • ShowOnline – нужно ли показывать акцию в поиске
            • UntilDate – акция действует при совершении покупки до указанной даты
            • Condition – json форма условия применения акции. Данное поле включает в себя следующие значения в зависимости от типа акции:
              • NightsFrom (для типа PayStay) – ночей от
              • NightsTo (для типа PayStay) – ночей до
              • NightValue (для типа PayStay) – значение ночи, которое соответствует заданному периоду
              • OperationType (для типа PayStay) – тип действия
              • SpecialNightType (для типа PayStay) – тип бесплатной ночи
              • DurationFrom (для типа KickBack) – ночей от
              • DurationTo (для типа KickBack) – ночей до
              • Value (для типа KickBack) – значение продолжительности, равное заданному периоду
              • OperationType (для типа KickBack) – тип действия
              • NightsFrom (для типа EarlyBird) – ночей от
              • NightsTo (для типа EarlyBird) – ночей до
              • Discount (для типа EarlyBird) – размер скидки
              • OperationType (для типа EarlyBird) – тип действия
        • COBySubCode – список применённых идентификаторов ценовых блоков по SubCode1 и SubCode2
        • SpecialsBySubCode – список применённых акций по SubCode1 и SubCode2
      • FlightWeight
      • LinkingFlightsRules – объект правил связывания
        • notCombineDifferentAirlineRule – объект не скрещивать авиакомпании
          • airlines – авиакомпании
          • flightSettings – массив ключей ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
        • checkPlusMinus1CharterRule – объект Отличие номера рейса на 1
          • FlightSettingPairs – массив чартеров, для которых это правило будет выполняться
          • enabled – флаг включен/выключен
        • notCombineDifferentTariffGroupRule – объект не комбинировать рейсы от разных классов перелетов
          • FlightSettings – массив ключей ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
        • notCombineDifferentPartnerRule – объект не комбинировать рейсы от разных партнеров
          • FlightSettings – массив ключей ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
        • departureCityEqualsArrivalCityRule – объект Город вылета = городу прилета
          • FlightSettingPairs – чартеры, для которых это будет выполняться
          • enabled – флаг включен/выключен
        • combineOnlySpecificChartersRule – объект не комбинировать различные классы перелетов
          • settings – массив ключей чартеров CharterIds и ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
      • RouteSubVariants – подварианты услуг (используется в основном поиске)
    • SecondaryFiltersResult – результаты доп. фильтров
      • TourTypes – типы тура
        • Id – ключ типа тура
        • Name – название типа тура
        • ParentId – родительский элемент типа тура (если есть)
        • Type – тип справочника (используется для внутренних целей)
      • TourPrograms – информация по каждой турпрограмме
        • Key – ключ турпрограммы
        • Name – название турпрограммы
        • TourUrl – ссылка на тур
        • BookingConditions – условия бронирования
        • IsLandOnly – признак только наземное обслуживание
        • IsRestrictMultiHotels – ограничивать ли расчёт многоотельных туров категориями отелей
        • IsHotelTemplates – есть ли вообще отели в данной турпрограмме
        • IsRouteServices – есть ли маршрутные услуги
        • MultiHotelDelta – Значение отклонения звездности последующих отелей от первого отеля в многоотельном туре. По умолчанию 0. Звездность определяется числом, заданном в поле порядок при печати.
        • Rate – валюта тура
        • DateStart – нижняя граница дат заезда по программе тура
        • DateEnd – верхняя граница дат заеда по программе тура
        • Status – статус турпрограммы
          • Key – ключ
          • Value – значение
        • Templates – шаблоны услуг
          • $id – шаблон 1
          • $id – шаблон 2
        • Types – типы тура
          • Id – ключ типа тура
          • Name – название типа тура
          • ParentId – родительский элемент типа тура (если есть)
          • Type – тип справочника (используется для внутренних целей)
        • LinkingFlightsRules – правила связывания перелетов
          • notCombineDifferentAirlineRule
            • airlines
            • flightSettings
            • enabled
          • checkPlusMinus1CharterRule
            • FlightSettingPairs
            • enabled
          • notCombineDifferentTariffGroupRule
            • FlightSettings
            • enabled
          • notCombineDifferentPartnerRule
            • FlightSettings
            • enabled
          • departureCityEqualsArrivalCityRule
            • FlightSettingPairs
            • enabled
          • combineOnlySpecificChartersRule
            • settings
            • enabled
        • XmlSettings – строка xml для актуальных фильтров
        • Type – тип справочника (используется для внутренних целей)
      • TourDurations – продолжительность тура
      • TourDates – список дат заездов в турпрограмме
        • HotelCities – город в дополнительных фильтрах
          • '
        • HotelResorts – курорты в дополнительных фильтрах
          • '
        • HotelCategories – категории отеля в дополнительных фильтрах
          • '
        • Hotels – отели в дополнительных фильтрах
          • '
        • Pansions – питания в дополнительных фильтрах
          • '
        • Airlines – авиакомпании в дополнительных фильтрах
          • '
        • FlightTariffs – класс перелета в дополнительных фильтрах
          • '
        • DepartureCities – города вылета в дополнительных фильтрах
          • '
        • DepartureAirports – аэропорты вылета в дополнительных фильтрах
          • '
        • ArrivalCities – города прибытия в дополнительных фильтрах
          • '
        • ArrivalAirports – аэропорты прибытия в дополнительных фильтрах
          • '
        • HotelTypes – признаки отелей в дополнительных фильтрах
          • '
развернутьПример


Выгрузка транспортного плана (TransportPlan)

Метод производит выгрузку транспортного плана.

  • Формат запроса:
    • GET .../TourSearchOwin/TransportPlan?
  • Принимаемые параметры ( * – обязательный):
    • code – код услуги
    • dateBegin – дата услуги
    • serviceType – тип услуги
    • transportKey – ключ справочника транспорт
  • Возвращаемый результат:
    • TransportKey – ключ справочника транспорт
    • Title – описание
    • AreasCount – количество уровней
    • RowsCount – количество рядов
    • ColumnsCount – количество мест в ряду
    • BusySeats – не используется
    • Cells – массив описаний всех мест
      • Row – ряд
      • Column – место в ряду
      • Area – уровень места
      • Type – тип (None = 0, Seat = 1, Block = 4, Busy = 5)
      • Name – название/номер
    • UserSeats – не используется
    • BlockSeat – не используется
развернутьПример


Выгрузка первоначального варианта в корзину для бронирования (Tour)

Метод поиска, который возвращает варианты только по данной турпрограмме и схеме отеля.

  • Формат запроса:
    • GET .../TourSearchOwin/Tour?
  • Принимаемые параметры ( * – обязательный):
    • DepartureCityKeys * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
    • DestinationType * – тип результата (всегда возвращается в JSON = 1, в xml = country)
    • DestinationKey * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
    • Dates * – массив дат заезда (полученные из метода .../TourSearchOwin/TourDate?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
    • Durations * – массив продолжительностей (полученные из метода .../TourSearchOwin/Duration?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
    • AdultCount * – количество взрослых
    • ChildAges – возраст детей. Если детей несколько, и параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
    • CurrencyName * – код валюты
    • HotelQuota * – информация о квотах на отель (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
    • AviaQuota * – информация о квотах на авиаперелет (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
    • BusTransferQuota – информация о квотах на автобусный переезд (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
    • HotelScheme * – объект схемы отеля
      • TemplateId – идентификатор шаблона услуги
      • DurationInNight – продолжительность отеля в ночах
      • Code – ключ отеля
      • PacketKey – ключ пакета
      • PartnerKey – ключ партнера
      • GDSProviderId – ключ провайдера из внешней системы
      • TotalTourDuration – общая продолжительность тура в днях, обрабатывается начиная с релиза 15.6, обязательный параметр. Изменения связаны с возможностью работы поиска в ночах проживания в отеле, для перехода в корзину необходимо знать общую продолжительность тура. Взять значение для параметра TotalTourDuration для HotelScheme можно из свойства Duration, пришедшего для данной цены в ответе метода поиск туров (Tour)
    • PageNumber * – номер возвращаемой страницы (по умолчанию возвращается 1)
    • PageSize * – количество возвращаемых результатов на одной странице (возвращается 20)
    • isFromBasket * – происходит ли обращение из корзины или из поиска туров (true/false).
    • isFillSecondaryFilters * – заполнены ли дополнительные фильтры (true/false)
    • TourKey – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: ключ программы тура
    • TourDuration – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: продолжительность тура в днях
    • RemoteHotelMode – признак того, производится поиск только локальных отелей или и от внешних поставщиков тоже (только локальные отели – 0, только внешние отели – 2, локальные и внешние отели – 1). Если признак отсутствует – поиск будет только по локальным отелям. Обрабатывается начиная с релиза 15.4.
  • Возвращаемый результат:
    • CheckMessages – сообщения для логики проверки тура (не используется)
    • Message – сообщение об ошибке
      • Key – код ошибки
      • Value – сообщение об ошибке
    • Result – результаты поиска
      • Key – идентификатор программы тура
      • Name – название программы тура
      • TourUrl – ссылка на программу тура
      • BookingConditions – условия бронирования программы туров
      • StartDate – дата начала тура
      • Duration – продолжительность тура (в днях)
      • DurationInNight – продолжительность проживания (в ночах)
      • Types – идентификатор типа туров
      • Cost – цена тура
      • Rate – код валюты тура
      • CityDepature – город отправления
        • Key – идентификатор города отправления
        • Value – название города отправления
      • CountryId – всегда возвращается ключ 0
      • Services – услуги в туре
        • DepartureCity – город отправления
          • Key – идентификатор
          • Value – название
        • DepartureCountry – страна отправления
          • Key – идентификатор
          • Value – название
        • ArrivalCity – город прибытия
          • Key – идентификатор
          • Value – название
        • ArrivalCountry – страна прибытия
          • Key – идентификатор
          • Value – название
        • DepartureAirport – аэропорт отправления
          • Key – идентификатор
          • Value – название
        • ArrivalAirport – аэропорт прибытия
          • Key – идентификатор
          • Value – название
        • Airline – авиакомпания
          • Key – идентификатор
          • Value – название
        • Aircraft – воздушное судно
          • Key – идентификатор
          • Value – название
        • Flight – рейс
          • Key – идентификатор
          • Value – название
        • DepartureTime – время вылета
        • ArrivalTime – время прилета
        • EndDateTime – дата и время прилета
        • FlightDetails – информация об авиаперелете
          • Tariff – информация о тарифе перелета
            • Key – идентификатор
            • Code – код тарифа
            • Name – название тарифа
          • Cost – разница в стоимости с самым дешевым вариантом
          • QuotaStatus – информация о квоте
            • PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
            • FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
            • IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
          • PartnerId – ключ партнера
          • ByPax – цена за человека (true/false)
          • Partner – информация о партнере
            • Key – идентификатор
            • Value – название
        • FlightSetting – внутренняя информация о перелете из программы туров
          • ServiceId – идентификатор класса услуги (внутренняя информация из программы туров)
          • PatternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
          • FlightId – идентификатор перелета (внутренняя информация из программы туров)
        • FlightSourceMode – локальный или удаленный перелет (внутренняя информация из программы туров)
        • Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
        • SvKey – ключ типа услуги
        • IsSubCode1 – признак наличия доп. описания 1
        • IsSubCode2 – признак наличия доп. описания 2
        • IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
        • Day – день предоставления услуги
        • DurationInNight – продолжительность услуги в ночах
        • BeginDateTime – дата предоставления услуги
        • IsHooded – признак скрытая услуга
        • IsDeleted – признак удаляемая услуга
        • IsNotCalculate – признак не рассчитываемая услуга
        • PacketId – ключ пакета
        • Index – порядковый номер услуги
      • NotRouteServices – массив коллекций немаршрутных услуг (например если две экскурсии будут являться одним элементом массива, то это будет говорить о том, что эти экскурсии можно будет выбрать в выпадающем списке)
        • ServiceName – название типа услуги
        • City – объект город
          • Key – ключ города
          • Value – название города
        • Country – ключ страны
        • Code – объект код услуги
          • Key – ключ услуги
          • Value – название услуги
        • ByScheduler – флаг услуга по расписанию или нет
        • Details – объект детализация услуги
          • SubCode1 – объект доп. описание 1
            • Key – ключ доп. описания 1
            • Value – название доп. описания 1
          • SubCode2 – объект доп. описание 2
            • Key – ключ доп. описания 2
            • Value – название доп. описания 2
          • Date – дата услуги
          • IsShowTransportPlan – признак показывать ли план рассадки (для автобусов)
          • Cost – цена
          • QuotaStatus – объект информация по квотам
            • PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
            • FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
            • IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
          • PartnerId – идентификатор партнера
          • ByPax – признак цены за человека
          • Partner – объект партнер (не заполняется)
            • Key – ключ (не заполняется)
            • Value – название (не заполняется)
        • ParentId – идентификатор родительской услуги (для вложенных услуг)
        • PartnerBasedOnServiceTemplateId – ключ шаблона услуги, по которой приоритетно выбирается партнер текущей услуги
        • Id – идентификатор услуги
        • SvKey – ключ типа услуги
        • IsSubCode1 – наличие доп. описания 1
        • IsSubCode2 – наличие доп. описания 2
        • IsPartnerBasedOn – услуга с подбором приоритетного поставщика услуги
        • Day – день предоставления услуги
        • DurationInNight – продолжительность услуги в ночах
        • BeginDateTime – дата предоставления услуги
        • EndDateTime – дата окончания услуги
        • IsHooded – скрытая ли услуга
        • IsDeleted – удаляемая ли услуга
        • IsNotCalculate – не рассчитываемая ли услуга
        • PacketId – пакет услуги
        • Index – индекс услуги
      • MinCostServicesComposition – массив состав услуг минимальной цены
        • Key – ключ
          • TemplateId – идентификатор шаблона
          • PatternId – идентификатор вкладки
          • SettingId – идентификатор услуги
        • Value – значение
          • ServiceType – тип услуги
          • Code – ключ услуги
          • SubCode1доп. описание 1
          • SubCode2доп. описание 2
          • PacketId – пакет услуги
          • PartnerId – партнер услуги
          • CountryId – страна услуги
          • CityId – город услуги
          • Day – день предоставления услуги
          • DurationInNight – продолжительность услуги в ночах
        • COAndSpecialsInfo – формирует, фильтрует и выдаёт списки применённых акций и ценовых блоков
          • AppliedCostOffersKeys – коллекция идентификаторов всех применённых ценовых блоков к одной цене
          • AppliedSpeciasInfo – коллекция всех применённых акций к одной цене, содержит информацию об условиях, с которыми применилась каждая акция
            • SpecialKey – ключ акции
            • SpecialName – название акции
            • SpecialType – тип акции
            • NewPrice – цена после применения акции
            • OldPrice – цена до применения акции
            • ShowOnline – нужно ли показывать акцию в поиске
            • UntilDate – акция действует при совершении покупки до указанной даты
            • Condition – json форма условия применения акции. Данное поле включает в себя следующие значения в зависимости от типа акции:
              • NightsFrom (для типа PayStay) – ночей от
              • NightsTo (для типа PayStay) – ночей до
              • NightValue (для типа PayStay) – значение ночи, которое соответствует заданному периоду
              • OperationType (для типа PayStay) – тип действия
              • SpecialNightType (для типа PayStay) – тип бесплатной ночи
              • DurationFrom (для типа KickBack) – ночей от
              • DurationTo (для типа KickBack) – ночей до
              • Value (для типа KickBack) – значение продолжительности, равное заданному периоду
              • OperationType (для типа KickBack) – тип действия
              • NightsFrom (для типа EarlyBird) – ночей от
              • NightsTo (для типа EarlyBird) – ночей до
              • Discount (для типа EarlyBird) – размер скидки
              • OperationType (для типа EarlyBird) – тип действия
        • COBySubCode – список применённых идентификаторов ценовых блоков по SubCode1 и SubCode2
        • SpecialsBySubCode - список применённых акций по SubCode1 и SubCode2
      • FlightWeight
      • LinkingFlightsRules – объект правил связывания
        • notCombineDifferentAirlineRule – объект не скрещивать авиакомпании
          • airlines – авиакомпании
          • flightSettings – массив ключей ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
        • checkPlusMinus1CharterRule – объект Отличие номера рейса на 1
          • FlightSettingPairs – массив чартеров, для которых это правило будет выполняться
          • enabled – флаг включен/выключен
        • notCombineDifferentTariffGroupRule – объект не комбинировать рейсы от разных классов перелетов
          • FlightSettings – массив ключей ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
        • notCombineDifferentPartnerRule – объект не комбинировать рейсы от разных партнеров
          • FlightSettings – массив ключей ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
        • departureCityEqualsArrivalCityRule – объект Город вылета = городу прилета
          • FlightSettingPairs – чартеры, для которых это будет выполняться
          • enabled – флаг включен/выключен
        • combineOnlySpecificChartersRule – объект не комбинировать различные классы перелетов
          • settings – массив ключей чартеров CharterIds и ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
      • RouteSubVariants – подварианты услуг (используется в основном поиске)
    • SecondaryFiltersResult – доп. фильтры (не используется при вызове из корзины)


развернутьПример


Выгрузка настройки отображения полей по туристам (TouristDataSettings)

Метод производит выгрузку настроек отображения полей по туристам.

  • Формат запроса:
    • GET .../TourSearchOwin/TouristDataSettings?
  • Принимаемые параметры ( * – обязательный):
    • countryId * – ключ страны, для которой будут выгружаться настройки
  • Возвращаемый результат:
    • TouristFieldsSettings – массив полей с информацией о туристах (из админки Мастер-Web)
      • lastname – объект фамилия туриста (лат)
        • Index – порядковый индекс элемента
        • Code – код поля
        • ApiCode – имя поля, которое будет использоваться при бронировании (например при вызове метода CreateReservation)
        • HeaderText – название поля
        • IsEdit – признак редактируемости поля
        • IsRequired – признак обязательности заполнения поля
        • IsVisible – видимость поля (видимое)
        • IsDisabled – видимость поля (невидимое)
        • Translit – настройки транслитерации (0 – нет, 1 – транслитерация, 2 – латиница)
        • LetterCase – настройки регистра (0 – по умолчанию, 1 – с заглавной, 2 – большие, 3 – маленькие)
      • patronymic – объект отчество туриста (лат)
      • sex – объект пол туриста
      • firstname – объект имя туриста (лат)
      • passportbywhom – объект кем выдан заграничный паспорт
      • birthplace – объект место рождения
      • birthdate – объект дата рождения
      • patronymicrus – объект отчество (рус)
      • lastnamerus – объект фамилия туриста (рус)
      • citizenid – объект ID туриста
      • passport – объект серия и номер заграничного паспорта
      • passportrus – объект серия и номер национального паспорт а
      • ismain – объект признак главного туриста
      • passportdate – объект дата выдачи заграничного паспорта
      • firstnamerus – объект имя туриста (рус)
      • passportbywhomrus – объект кем выдан национальный паспорт
      • citizenship – объект гражданство
      • passportdaterus – объект дата выдачи национального паспорта
      • phone – объект телефон
      • number – объект порядковый номер
      • passportdateend – объект дата окончания заграничного паспорта
      • email – объект e-mail туриста
    • PassportDurationOfExpiry – объект минимальный срок действия загранпаспорта туриста
      • StartPoint – точка отсчета
      • Duration – минимальная продолжительность
    • ChildAgeSetting – максимальный возраст ребенка, когда он считается ребенком (лет)
    • InfantAgeSetting – максимальный возраст младенца (месяцев)
развернутьПример


Выгрузка услуг доплат к авиаперелетам (GetFlightsAdditionalServices)

Метод производит выгрузку услуг доплат к авиаперелетам.

  • Формат запроса:
    • POST .../TourSearchOwin/GetFlightsAdditionalServices?
  • Принимаемые параметры headers ( * – обязательный):
    • Content-Type * – application/json
  • Принимаемые параметры POST запроса ( * – обязательный):
    • TourProgramId – ключ турпрограммы
    • BeginDate – дата начала тура
    • Duration – продолжительность тура
    • Currency – код валюты
    • Services – массив услуг авиаперелетов для получения доплат
      • Service – объект услуга авиаперелет
        • ServiceType – тип услуги
        • Code – код услуги
        • SubCode1доп. описание 1 услуги
        • SubCode2доп. описание 2 услуги
        • Packet – ключ пакета услуги
        • Partner – ключ партнера услуги
        • Day – день предоставления услуги
        • DurationInNight – продолжительность услуги в ночах
        • City – ключ города
        • Country – страна услуги
        • Attributes – битовая маска атрибутов услуг
        • IsRemovable – (не обрабатывается)
        • Type – тип услуги в путевке (базовая дополнительная)
        • IsHooded – признак скрытая услуга
        • IsNotCalculated – признак не рассчитываемая услуга
        • BeginDateTimeString – дата и время начала услуги
        • EndDateTimeString – дата и время окончания услуги
        • TemplateId – шаблон услуги
        • Cost – цена услуги
        • ByPax – цена за человека
        • QuotaStatus – объект статус квотирования
          • PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
          • FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
          • IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
        • Index – индекс услуги
        • IsRoute – признак маршрутная услуга
        • ServiceTemplateIndex – индекс шаблона услуги
      • TouristNumbersList – массив туристов, привязанных к услуге
    • Tourists – массив туристов
      • IsMain – главный турист
      • Number – порядковый номер туриста
      • AgeType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
      • MaleFemaleSex – пол (0 – мужской, 1 – женский)
      • FirstName – имя (лат)
      • LastName – фамилия (лат)
      • Patronymic – отчество (лат)
      • FirstNameRus – имя (рус)
      • LastNameRus – фамилия (рус)
      • PatronymicRus – отчество (рус)
      • InternationalPassportSeries – серия загранпаспорта
      • InternationalPassportNumber – номер загранпаспорта
      • InternationalPassportDateOfIssue – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
      • InternationalPassportDateOfIssueString – дата выдачи загранпаспорта в строковом формате (DD.MM.YYYY)
      • InternationalPassportDateOfExpiry – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
      • InternationalPassportDateOfExpiryString – дата окончания действия загранпаспорта в строковом формате (DD.MM.YYYY)
      • internationalPassportByWhom – кем выдан загранпаспорт
      • PassportSeries – серия паспорта
      • PassportNumber – номер паспорта
      • PassportDateOfIssue – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
      • PassportDateOfIssueString – дата выдачи паспорта в строковом формате (DD.MM.YYYY)
      • PassportByWhom – кем выдан паспорт
      • Citizenship – название страны
      • Phone – телефон
      • Email – e-mail
      • BirthDay – дата рождения (YYYY-MM-DDThh:mm:ssz)
      • BirthDayString – дата рождения в строковом формате (DD.MM.YYYY)
      • BirthPlace – место рождения
      • CitizenID – гражданство
      • Age – количество полных лет на момент окончания тура
  • Возвращаемый результат:
    • Массив – массив объектов доплат к авиаперелетам
      • ServiceName – название услуги
      • City – объект город
      • Country – ключ страны
      • Code – объект код услуги
        • Key – ключ услуги
        • Value – название услуги
      • ByScheduler – признак по расписанию
      • Details - объект детализация
        • SubCode1 – объект доп. описание 1
          • Key – ключ
          • Value – название
        • SubCode2 – объект доп. описание 2
          • Key – ключ
          • Value – название
        • Date – дата услуги
        • IsShowTransportPlan – признак показать транспортный план (для автобусов)
        • Cost – цена
        • QuotaStatus – объект статус квотирования
          • PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
          • FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
          • IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
        • PartnerId – ключ партнера
        • ByPax – признак за человека
        • Partner – объект партнер (не заполняется)
          • Key – ключ (не заполняется)
          • Value – название (не заполняется)
      • ParentId – ключ родительской услуги
      • PartnerBasedOnServiceTemplateId – шаблон услуги для подбора поставщика
      • ShowOrder – порядок при печати (сортировка) по услуге
      • ShowOrderAddDescript1 – порядок при печати (сортировка) по доп. описанию 1
      • ShowOrderAddDescript2 – порядок при печати (сортировка) по доп. описанию 2
      • Id – идентификатор услуги
      • SvKey – тип услуги
      • IsSubCode1 – признак наличия доп. описания 1
      • IsSubCode2 – признак наличия доп. описания 2
      • IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
      • Day – день предоставления услуги
      • DurationInNight – продолжительность услуги в ночах
      • BeginDateTime – дата начала услуги
      • EndDateTime – дата окончания
      • IsHooded – признак скрытая
      • IsDeleted – признак удаляемая
      • IsNotCalculate – признак не рассчитываемая
      • PacketId – ключ пакета
      • Index – индекс шаблона услуги
развернутьПример


Выгрузка услуг доплат к отелям (GetHotelsAdditionalServices)

Метод производит выгрузку услуг доплат к отелям.

  • Формат запроса:
    • POST .../TourSearchOwin/GetHotelsAdditionalServices?
  • Принимаемые параметры headers ( * – обязательный):
    • Content-Type * – application/json
  • Принимаемые параметры POST запроса ( * – обязательный):
    • TourProgramId – ключ турпрограммы
    • BeginDate – дата начала тура
    • Duration – продолжительность тура
    • Currency – код валюты
    • Services – массив услуг отелей для получения доплат
      • Service – объект услуга отель
        • ServiceType – тип услуги
        • Code – код услуги
        • SubCode1доп. описание 1 услуги
        • SubCode2доп. описание 2 услуги
        • Packet – ключ пакета услуги
        • Partner – ключ партнера услуги
        • Day – день предоставления услуги
        • DurationInNight – продолжительность услуги в ночах
        • City – ключ города
        • Country – страна услуги
        • Attributes – битовая маска атрибутов услуг
        • IsRemovable – (не обрабатывается)
        • Type – тип услуги в путевке (базовая дополнительная)
        • IsHooded – признак скрытая услуга
        • IsNotCalculated – признак не рассчитываемая услуга
        • BeginDateTimeString – дата и время начала услуги (YYYY-MM-DDThh:mm:ss)
        • EndDateTimeString – дата и время окончания услуги (YYYY-MM-DDThh:mm:ss)
        • TemplateId – шаблон услуги
        • Cost – цена услуги
        • ByPax – цена за человека
        • QuotaStatus – объект статус квотирования
          • PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
          • FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
          • IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
        • Index – индекс услуги
        • IsRoute – признак маршрутная услуга
        • ServiceTemplateIndex – индекс шаблона услуги
        • RemoteId – (в доплатах не используется)
      • TouristNumbersList – массив туристов, привязанных к услуге
    • Tourists – массив туристов
      • IsMain – главный турист
      • Number – порядковый номер туриста
      • AgeType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
      • MaleFemaleSex – пол (0 – мужской, 1 – женский)
      • FirstName – имя (лат)
      • LastName – фамилия (лат)
      • Patronymic – отчество (лат)
      • FirstNameRus – имя (рус)
      • LastNameRus – фамилия (рус)
      • PatronymicRus – отчество (рус)
      • InternationalPassportSeries – серия загранпаспорта
      • InternationalPassportNumber – номер загранпаспорта
      • InternationalPassportDateOfIssue – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
      • InternationalPassportDateOfIssueString – дата выдачи загранпаспорта в строковом формате (DD.MM.YYYY)
      • InternationalPassportDateOfExpiry – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
      • InternationalPassportDateOfExpiryString – дата окончания действия загранпаспорта в строковом формате (DD.MM.YYYY)
      • internationalPassportByWhom – кем выдан загранпаспорт
      • PassportSeries – серия паспорта
      • PassportNumber – номер паспорта
      • PassportDateOfIssue – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
      • PassportDateOfIssueString – дата выдачи паспорта в строке (DD.MM.YYYY)
      • PassportByWhom – кем выдан паспорт
      • Citizenship – название страны
      • Phone – телефон
      • Email – e-mail
      • BirthDay – дата рождения (YYYY-MM-DDThh:mm:ssz)
      • BirthDayString – дата рождения в строковом формате (DD.MM.YYYY)
      • BirthPlace – место рождения
      • CitizenID – гражданство
      • Age – количество полных лет на момент окончания тура
  • Возвращаемый результат:
    • Массив – массив объектов связок Возраст-Отель-Доп. услуги
      • Age – возраст туриста
      • Hotel – объект отель
        • ServiceType – тип услуги
        • Code – код услуги
        • SubCode1доп. описание 1
        • SubCode2доп. описание 2
        • PacketId – ключ пакета
        • PartnerId – ключ партнера
        • Day – день предоставления услуги
        • BeginTime – время начала услуги
        • EndTime – время окончания услуги
        • DurationInNight – продолжительность услуги в ночах
        • Attributes – маска атрибутов услуги
        • CountryId – ключ страны услуги
        • CityId – ключ города
        • Type – тип услуги в путевке
        • ShowOrder – порядок при печати (сортировка) по услуге
        • ShowOrderAddDescript1 – порядок при печати (сортировка) по доп. описанию 1
        • ShowOrderAddDescript2 – порядок при печати (сортировка) по доп. описанию 2
        • IsCommission – признак, комиссионная ли услуга
        • BaseFlightsParams – параметр не обрабатывается
      • AdditionalServices – массив доплат
      • ServiceName – название услуги
      • City – объект город
      • Country – ключ страны
      • Code – объект код услуги
        • Key – ключ услуги
        • Value – название услуги
      • ByScheduler – признак по расписанию
      • Details - объект детализация
        • SubCode1 – объект доп. описание 1
          • Key – ключ
          • Value – название
        • SubCode2 – объект доп. описание 2
          • Key – ключ
          • Value – название
        • Date – дата услуги
        • IsShowTransportPlan – признак показать транспортный план (для автобусов)
        • Cost – цена
        • QuotaStatus – объект статус квотирования
          • PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
          • FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
          • IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
        • PartnerId – ключ партнера
        • ByPax – признак за человека
        • Partner – объект партнер (не заполняется)
          • Key – ключ (не заполняется)
          • Value – название (не заполняется)
      • ParentId – ключ родительской услуги
      • PartnerBasedOnServiceTemplateId – шаблон услуги для подбора поставщика
      • ShowOrder – порядок при печати (сортировка) по услуге
      • ShowOrderAddDescript1 – порядок при печати (сортировка) по доп. описанию 1
      • ShowOrderAddDescript2 – порядок при печати (сортировка) по доп. описанию 2
      • Id – идентификатор услуги
      • SvKey – тип услуги
      • IsSubCode1 – признак наличия доп. описания 1
      • IsSubCode2 – признак наличия доп. описания 2
      • IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
      • Day – день предоставления услуги
      • DurationInNight – продолжительность услуги в ночах
      • BeginDateTime – дата начала услуги
      • EndDateTime – дата окончания
      • IsHooded – признак скрытая
      • IsDeleted – признак удаляемая
      • IsNotCalculate – признак не рассчитываемая
      • PacketId – ключ пакета
      • Index – индекс шаблона услуги
развернутьПример


Расчет индивидуальных услуг (CalculateIndividualServiceCosts)

Метод производит расчет услуг с индивидуальным выбором у туристов.

  • Формат запроса:
    • POST .../TourSearchOwin/CalculateIndividualServiceCosts?
  • Принимаемые параметры headers ( * – обязательный):
    • Content-Type * – application/json
  • Принимаемые параметры POST запроса ( * – обязательный):
    • TourProgramId – ключ тура
    • TourDate – дата тура
    • TourDuration – продолжительность тура
    • Currency – код валюты
    • Services – массив индивидуальных услуг
      • ServiceType – тип услуги
      • Code – код услуги
      • SubCode1доп. описание 1
      • SubCode2доп. описание 2
      • Packet – ключ пакета
      • Partner – ключ партнера
      • Day – день предоставления услуги
      • DurationInNight – продолжительность услуги в ночах
      • City – объект город
      • Country – страна услуги
      • Attributes – маска атрибутов услуги
      • Type – тип услуги
      • IsHooded – признак скрытая
      • IsNotCalculated – признак не рассчитываемая
      • BeginDateTimeString – дата начала услуги в строке
      • EndDateTimeString – дата начала услуги в строке
      • TemplateId – номер шаблона услуги
      • Cost – цена услуги
      • ByPax – цена за человека
      • QuotaStatus – объект статус квотирования
        • PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
        • FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
        • IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
      • Index – индекс услуги
      • IsRoute – признак маршрутная услуга
      • ServiceTemplateIndex – индекс шаблона услуги
      • RemoteId – (не используется)
    • Ages – массив возрастов туристов
  • Возвращаемый результат:
    • Массив – массив связок Возраст-Услуга-Цена
      • Age – возраст
      • Service – объект услуга
        • ServiceType – тип услуги
        • Code – код услуги
        • SubCode1доп. описание 1
        • SubCode2доп. описание 2
        • PacketId – ключ пакета услуги
        • PartnerId – ключ партнера
        • Day – день предоставления услуги
        • BeginTime – время начала услуги
        • EndTime – время окончания услуги
        • DurationInNight – продолжительность услуги в ночах
        • Attributes – маска атрибутов услуги
        • CountryId – ключ страны
        • CityId – ключ города
        • Type – тип услуги
        • ShowOrder – порядковый номер
      • SimpleServiceCost – объект цена
        • Brutto – брутто
        • Discount – скидка
развернутьПример


Поиск рейсов из внешней системы (GetGDSFlights)

Метод производит поиск рейсов из внешней системы.

  • Формат запроса:
    • POST .../TourSearchOwin/GetGDSFlights?
  • Принимаемые параметры headers ( * – обязательный):
    • Content-Type * – application/json
  • Принимаемые параметры POST запроса ( * – обязательный):
    • flightSettings – информация о шаблоне услуги авиаперелета
      • templateId – идентификатор шаблона услуги
      • patternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
      • serviceId – идентификатор класса услуги (внутренняя информация из программы туров)
    • service – информация об услуге авиаперелета
      • ServiceType – тип услуги
      • Code – ключ услуги
      • SubCode1доп. описание 1
      • SubCode2доп. описание 2
      • CountryId – страна услуги
      • CityId – город услуги
      • PacketId – пакет услуги
      • PartnerId – партнер услуги
      • Day – день предоставления услуги
      • DurationInNight – продолжительность услуги в ночах
    • price – стоимость перелета
    • quotaInfo – объект информация по квотам
      • status – статус по квотам (есть места / нет мест / под запрос)
      • freePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
      • isFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
    • flightDateTimeLimitationInterval
      • startLimitation – начало тайм-лимита
      • finishLimitation – объект тайм-лимита
        • dateTimeString – дата окончания тайм-лимита
        • serviceType – тип услуги
        • serviceCode – код услуги
    • flightSourceMode – тип перелета (1 – локальный, 2 – из внешний системы)
    • passengers – информация о пассажирах
      • IsMain – главный турист
      • Number – порядковый номер туриста
      • AgeType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
      • MaleFemaleSex – пол (0 – мужской, 1 – женский)
      • FirstName – имя (лат)
      • LastName – фамилия (лат)
      • Patronymic – отчество (лат)
      • FirstNameRus – имя (рус)
      • LastNameRus – фамилия (рус)
      • PatronymicRus – отчество (рус)
      • InternationalPassportSeries – серия загранпаспорта
      • InternationalPassportNumber – номер загранпаспорта
      • InternationalPassportDateOfIssue – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
      • InternationalPassportDateOfIssueString – дата выдачи загранпаспорта в строке (DD.MM.YYYY)
      • InternationalPassportDateOfExpiry – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
      • InternationalPassportDateOfExpiryString – дата окончания действия загранпаспорта в строке (DD.MM.YYYY)
      • internationalPassportByWhom – кем выдан загранпаспорт
      • PassportSeries – серия паспорта
      • PassportNumber – номер паспорта
      • PassportDateOfIssue – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
      • PassportDateOfIssueString – дата выдачи паспорта в строке (DD.MM.YYYY)
      • PassportByWhom – кем выдан паспорт
      • Citizenship – название страны
      • Phone – телефон
      • Email – e-mail
      • BirthDay – дата рождения (YYYY-MM-DDThh:mm:ssz)
      • BirthDayString – дата рождения в строковом формате (DD.MM.YYYY)
      • BirthPlace – место рождения
      • CitizenID – гражданство
      • Age – количество полных лет на момент окончания тура
    • tourDate – дата тура
    • tourCurrency – валюта тура
    • tourId – ключ программы тура
    • filterTariff – информация о тарифах
    • filterDeptime – информация о времени вылета
    • isCommission – признак комиссионной цены
    • baseFlightsParams – параметра авиаперелета
      • CityArrival – город прибытия
      • FlightCode – код авиаперелета
      • TariffKey – ключ тарифа
      • PartnerId – ключ партнера
    • isUpdated – информация об обновлении перелета
    • key – ключ запроса
    • tourDurationByDays – продолжительность перелета
    • langueCode – локализация
  • Возвращаемый результат:
    • validationResult – информация о валидации
      • Errors – ошибки
      • Warnings – предупреждения
      • States – статус
      • IsValid – информация о результате
    • flightsStartEndPointPatterns – информация о начале и окончании перелета
      • fromPoint – информация о перелете отправления
        • country – страна вылета
          • id – ключ
          • description – описание
          • code – код
        • city – город вылета
          • id – ключ
          • description – описание
          • code – код
        • airport – аэропорт вылета
          • id – ключ
          • description – описание
          • code – код
      • toPoint – информация о перелете прибытия
        • country – страна прилета
          • id – ключ
          • description – описание
          • code – код
        • city – город прилета
          • id – ключ
          • description – описание
          • code – код
        • airport – аэропорт прилета
          • id – ключ
          • description – описание
          • code – код
    • passengersAgeInfos – информация о возрасте пассажиров
      • ageType – тип пассажира
      • count – количество человек
    • flightsSequencies – информация о перелете
      • flights – массив данных о перелете из внешнего поставщика
        • – ...
      • deltaPrice – разница в цене
        • amount – стоимость
        • currency – валюта
      • timeForward – время вперед
      • timeBackward – время обратно
      • hasTariffFamily – имеется ли семейство тарифов
      • rating – рейтинг
    • airTravelAdapterFilterValues – дополнительная информация
      • LuggageFilterValue – багаж
      • ClassAirTravelFilterValue – класс перелета
      • ConnectionsFilterValue – пересадки
      • SortFilterValue – сортировка
      • AutomaticFlightSelection – подбор перелета
    • tariff – тариф
    • minFlightTimeForward – минимальное время в пути туда
    • maxFlightTimeForward – максимальное время в пути туда
    • minFlightTimeBackward – минимальное время в пути обратно
    • maxFlightTimeBackward – максимальное время в пути обратно
развернутьПример


Выгрузка информации от удаленного поставщика по перелету (RebuildFlights)

Метод возвращает информацию по выбранному перелету от удаленного поставщика.

  • Формат запроса:
    • POST .../TourSearchOwin/RebuildFlights
  • Принимаемые параметры headers ( * – обязательный):
    • Content-Type * – application/json
  • Принимаемые параметры POST запроса ( * – обязательный):
    • flights – перелеты
      • direction
      • commonPrice – общая стоимость перелета
      • remotePriceSource – данные расчета локального перелета
        • providerId – ID удаленного поставщика
        • flightId – идентификатор внешнего перелета
      • localPriceSource – данные расчета локального перелета
        • packetId – ключ пакета
        • partnerId – идентификатор партнера
      • flightsSequenceSettings – описание параметров последовательности перелетов для которых действуют замены
        • templateId – идентификатор шаблона услуги
        • patternId – идентификатор паттерна услуги
        • serviceId – идентификатор класса услуги
      • segments – сегменты авиаперелета
        • segmentNumber – номер сегмента
        • depratureCity – город отправления
          • gdsItem – справочная информация удаленной системы
            • serviceId – идентификатор системы
            • languageId – идентификатор языка
            • id – идентификатор в системе удаленного поставщика
            • code – код в системе удаленного поставщика
            • name – имя в системе удаленного поставщика
              • automaticallyMappingValue – выражение используемое для автоматического маппинга
              • requestValue – значение поля справочника которое используется в запросе к удаленному поставщику
            • displayedValue – значение поля справочника который используется для отображения
            • dependencies – список зависимых сущностей
              • dictionaryId – идентификатор справочника
              • itemId
            • columnValues – наименование города и страны
          • mtItem – справочная информации локальной системы
            • id – идентификатор в локальной системе
            • code – код в локальной системе
            • name – имя в локальной системе
            • automaticallyMappingValue – выражение используемое для автоматического маппинга
            • requestValue – значение поля справочника которое используется в запросе к удаленному поставщику
            • displayedValue – значение поля справочника который используется для отображения
            • dependencies – список зависимых сущностей
              • dictionaryId – идентификатор справочника
              • itemId
            • columnValues – наименование страны и города
          • mapping – связка
            • id – Id маппинга
            • providerId – Id провайдера
            • dictionaryId – Id справочника
            • providerDictionaryItemId – Id справочника удаленного поставщика
            • providerDictionaryItemName – обозначение справочника удаленного поставщика
            • mtDictionaryItemId – Id справочника МТ
            • mtDictionaryItemName – обозначение справочника MT
        • arrivalCity – город прибытия
          • gdsItem – справочная информация удаленной системы
            • serviceId – идентификатор системы
            • languageId – идентификатор языка
            • id – идентификатор в системе удаленного поставщика
            • code – код в системе удаленного поставщика
            • name – имя в системе удаленного поставщика
              • automaticallyMappingValue – выражение используемое для автоматического маппинга
              • requestValue – значение поля справочника которое используется в запросе к удаленному поставщику
            • displayedValue – значение поля справочника который используется для отображения
            • dependencies – список зависимых сущностей
              • dictionaryId – идентификатор справочника
              • itemId
            • columnValues – наименование города и страны
          • mtItem – справочная информации локальной системы
            • id – идентификатор в локальной системе
            • code – код в локальной системе
            • name – имя в локальной системе
            • automaticallyMappingValue – выражение используемое для автоматического маппинга
            • requestValue – значение поля справочника которое используется в запросе к удаленному поставщику
            • displayedValue – значение поля справочника который используется для отображения
            • dependencies – список зависимых сущностей
              • dictionaryId – идентификатор справочника
              • itemId
            • columnValues – наименование страны и города
          • mapping – связка
            • id – Id маппинга
            • providerId – Id провайдера
            • dictionaryId – Id справочника
            • providerDictionaryItemId – Id справочника удаленного поставщика
            • providerDictionaryItemName – обозначение справочника удаленного поставщика
            • mtDictionaryItemId – Id справочника МТ
            • mtDictionaryItemName – обозначение справочника MT
        • departureAirport – аэропорт вылета
        • arrivalAirport – аэропорт прилета
          • gdsItem –справочная информация удаленной системы
            • serviceId – идентификатор системы
            • languageId – идентификатор языка
            • id – идентификатор аэропорта вылета
            • code – код аэропорта вылета
            • name – наименование аэропорта
              • automaticallyMappingValue – выражение используемое для автоматического маппинга
              • requestValue – значение поля справочника которое используется в запросе к удаленному поставщику
            • displayedValue – значение поля справочника который используется для отображения
            • dependencies – список зависимых сущностей
              • dictionaryId – идентификатор справочника
              • itemId
            • columnValues – наименование аэропорта города страны
          • mtItem – справочная информации из локальной системы
            • id – идентификатор аэропорта в локальной системе
            • code – код аэропорта в локальной системе
            • name – имя аэропорта в локальной системе
            • automaticallyMappingValue – выражение используемое для автоматического маппинга
            • requestValue – значение поля справочника которое используется в запросе к удаленному поставщику
            • displayedValue – значение поля справочника который используется для отображения
            • dependencies – список зависимых сущностей
              • dictionaryId – идентификатор справочника
              • itemId
            • columnValues – наименование страны и города
          • mapping – связка
            • id – Id маппинга аэропорта
            • providerId – Id провайдера аэропорта
            • dictionaryId – Id справочника аэропорта
            • providerDictionaryItemId – Id справочника аэропорта удаленного поставщика
            • providerDictionaryItemName – обозначение справочника аэропорта удаленного поставщика
            • mtDictionaryItemId – Id справочника аэропорта МТ
            • mtDictionaryItemName – обозначение справочника аэропорта MT
        • airline – авиакомпания
          • gdsItem – справочная информация удаленной системы
            • serviceId – идентификатор авиакомпании удаленной системы
            • languageId – идентификатор языка
            • id – идентификатор авиакомпании
            • code – код авиакомпании
            • name – наименование авиакомпании
              • automaticallyMappingValue – выражение используемое для автоматического маппинга
              • requestValue – значение поля справочника которое используется в запросе к удаленному поставщику
            • displayedValue – значение поля справочника который используется для отображения
            • dependencies – список зависимых сущностей
            • columnValues – наименование авиакомпании
          • mtItem – справочная информация из локальной системы
            • id – идентификатор авиакомпании в локальной системе
            • code – код авиакомпании в локальной системе
            • name – наименование авиакомпании в локальной системе
            • automaticallyMappingValue – выражение используемое для автоматического маппинга
            • requestValue – значение поля справочника которое используется в запросе к удаленному поставщику
            • displayedValue – значение поля справочника который используется для отображения
            • dependencies – список зависимых сущностей
            • columnValues – наименование авиакомпании
          • mapping – связка
            • id – Id маппинга авиакомпании
            • providerId – Id провайдера авиакомпании
            • dictionaryId – Id справочника авиакомпании
            • providerDictionaryItemId – Id справочника авиакомпании удаленного поставщика
            • providerDictionaryItemName – обозначение справочника авиакомпании удаленного поставщика
            • mtDictionaryItemId – Id справочника авиакомпании МТ
            • mtDictionaryItemName – обозначение справочника авиакомпании MT
        • aircraft – воздушное судно
          • gdsItem – справочная информация удаленной системы
            • serviceId – идентификатор воздушного судна удаленной системы
            • languageId – идентификатор языка
            • id – идентификатор воздушного судна
            • code – код воздушного судна
            • name – наименование воздушного судна
              • automaticallyMappingValue – выражение используемое для автоматического маппинга
              • requestValue – значение поля справочника которое используется в запросе к удаленному поставщику
            • displayedValue – значение поля справочника который используется для отображения
            • dependencies – список зависимых сущностей
            • columnValues – наименование воздушного судна
          • mtItem – справочная информация из локальной системы
            • id – идентификатор воздушного судна в локальной системе
            • code – код воздушного судна в локальной системе
            • name – наименование воздушного судна в локальной системе
            • automaticallyMappingValue – выражение используемое для автоматического маппинга
            • requestValue – значение поля справочника которое используется в запросе к удаленному поставщику
            • displayedValue – значение поля справочника который используется для отображения
            • dependencies – список зависимых сущностей
            • columnValues – наименование воздушного судна
          • mapping – связка
            • id – Id маппинга воздушного судна
            • providerId – Id провайдера воздушного судна
            • dictionaryId – Id справочника воздушного судна
            • providerDictionaryItemId – Id справочника воздушного судна удаленного поставщика
            • providerDictionaryItemName – обозначение справочника воздушного судна удаленного поставщика
            • mtDictionaryItemId – Id справочника воздушного судна МТ
            • mtDictionaryItemName – обозначение справочника воздушного судна MT
        • tariff – тариф
          • gdsItem – справочная информация удаленной системы
            • id – идентификатор тарифа
            • code – код тарифа
            • name – наименование тарифа
              • automaticallyMappingValue – выражение используемое для автоматического маппинга
              • requestValue – значение поля справочника которое используется в запросе к удаленному поставщику
            • displayedValue – значение поля справочника который используется для отображения
            • dependencies – список зависимых сущностей
            • columnValues – наименование тарифа
          • mtItem – справочная информация из локальной системы
          • mapping – связка
        • flightNumber – номер перелета
        • baggageRestriction – ограничение провоза багажа
        • caryyOncarry – ограничение ручной клади
        • departureDate – дата вылета
        • arrivalDate – дата прилета
        • quotaInfo – объект информация по квотам
          • status – статус по квотам (есть места / нет мест / под запрос)
          • freePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
          • isFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
    • tourDate – дата тура
  • Возвращаемый результат:
    • flights – информация о рейсах
      • remoteFlightId – идентификатор удаленного перелета
      • flightsSettings – внутренняя информация о перелете
        • templateId – идентификатор шаблона услуги
        • patternId – идентификатор паттерна услуги
        • serviceId – идентификатор класса услуги
      • flightsPlains – планы полетов
        • DepartureCity – город вылета
          • Key – ключ города
          • Value – наименование города
        • DepartureCountry – страна вылета
          • Key – ключ страны
          • Value – наименование страны
        • ArrivalCity – город прибытия
          • Key – ключ города
          • Value – наименование города
        • ArrivalCountry – страна прибытия
          • Key – ключ страны
          • Value – наименование страны
        • DepartureAirport – аэропорт вылета
          • Key – ключ аэропорта
          • Value – наименование аэропорта
        • ArrivalAirport – аэропорт прилета
          • Key – ключ аэропорта
          • Value – наименование аэропорта
        • Airline – авиакомпания
          • Id – идентификатор авиакомпании
          • "Value – наименование авиакомпании
          • "Key – ключ авиакомпании
        • Aircraft – воздушное судно
          • Key – ключ воздушного судна
          • Value – наименование воздушного судна
        • Flight – рейс
          • Key – ключ рейса
          • Value – наименование рейса
        • DepartureTime – время отправления
        • ArrivalTime – время прибытия
        • TotalTimeOfFlight – полное время перелета
        • FlightDetails – детали авиаперелета
          • Tariff – информация о тарифе перелета
            • Key – идентификатор
            • Code – код тарифа
            • Name – наименование тарифа
          • IsCommission – признак, комиссионная ли услуга
          • Cost – разница в стоимости с самым дешевым вариантом
          • QuotaStatus – информация о квоте
            • PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
            • FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
            • IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
          • PartnerId – ключ партнера
          • ByPax – цена за человека (true/false)
          • Partner – информация о партнере
            • Key – идентификатор
            • Value – наименование
        • FlightSetting – информация о шаблоне услуги авиаперелета
          • ServiceId – идентификатор класса услуги (внутренняя информация из программы туров)
          • PatternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
          • FlightId – идентификатор внешнего перелета
        • FlightSourceMode – локальный или удаленный перелет (внутренняя информация из программы туров)
        • Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
        • SvKey – ключ типа услуги
        • IsSubCode1 – признак наличия доп. описания 1
        • IsSubCode2 – признак наличия доп. описания 2
        • IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
        • Day – день предоставления услуги
        • DurationInNight – продолжительность услуги в ночах
        • BeginDateTime – дата предоставления услуги
        • EndDateTime – дата окончания услуги
        • IsHooded – признак скрытая услуга
        • IsDeleted – признак удаляемая услуга
        • IsNotCalculate – признак не рассчитываемая услуга
        • PacketId – ключ пакета
        • Index – порядковый номер услуги
развернутьПример



Получение семейств тарифов авиаперелетов из внешней системы (GetGDSFlightFareFamilies)

Метод получает семейства тарифов для авиаперелетов из внешней системы.

  • Формат запроса:
    • POST .../TourSearchOwin/GetGDSFlightFareFamilies?
  • Принимаемые параметры headers ( * – обязательный):
    • Content-Type * – application/json
  • Принимаемые параметры POST запроса ( * – обязательный):
    • flightId – ID внешнего перелета
    • providerId – ID внешнего провайдера
    • languageCode – код локализации
    • passengers – информация о пассажирах
      • IsMain – главный турист
      • Number – порядковый номер туриста
      • AgeType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
      • MaleFemaleSex – пол (0 – мужской, 1 – женский)
      • FirstName – имя (лат)
      • LastName – фамилия (лат)
      • Patronymic – отчество (лат)
      • FirstNameRus – имя (рус)
      • LastNameRus – фамилия (рус)
      • PatronymicRus – отчество (рус)
      • InternationalPassportSeries – серия загранпаспорта
      • InternationalPassportNumber – номер загранпаспорта
      • InternationalPassportDateOfIssue – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
      • InternationalPassportDateOfIssueString – дата выдачи загранпаспорта в строке (DD.MM.YYYY)
      • InternationalPassportDateOfExpiry – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
      • InternationalPassportDateOfExpiryString – дата окончания действия загранпаспорта в строке (DD.MM.YYYY)
      • internationalPassportByWhom – кем выдан загранпаспорт
      • PassportSeries – серия паспорта
      • PassportNumber – номер паспорта
      • PassportDateOfIssue – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
      • PassportDateOfIssueString – дата выдачи паспорта в строке (DD.MM.YYYY)
      • PassportByWhom – кем выдан паспорт
      • Citizenship – название страны
      • Phone – телефон
      • Email – e-mail
      • BirthDay – дата рождения (YYYY-MM-DDThh:mm:ssz)
      • BirthDayString – дата рождения в строковом формате (DD.MM.YYYY)
      • BirthPlace – место рождения
      • CitizenID – гражданство
      • Age – количество полных лет на момент окончания тура
    • currency – валюта
    • price – стоимость
    • param – параметры перелета
      • flightsSource – параметры перелета
        • flightSettings – информация о шаблоне услуги авиаперелета
          • templateId – идентификатор шаблона услуги
          • patternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
          • serviceId – идентификатор класса услуги (внутренняя информация из программы туров)
        • service – информация об услуге авиаперелета
          • ServiceType – тип услуги
          • Code – ключ услуги
          • SubCode1доп. описание 1
          • SubCode2доп. описание 2
          • CountryId – страна услуги
          • CityId – город услуги
          • PacketId – пакет услуги
          • PartnerId – партнер услуги
          • Day – день предоставления услуги
          • DurationInNight – продолжительность услуги в ночах
        • price – стоимость перелета
        • quotaInfo – объект информация по квотам
          • status – статус по квотам (есть места / нет мест / под запрос)
          • freePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
          • isFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
        • flightDateTimeLimitationInterval
          • startLimitation – начало тайм-лимита
          • finishLimitation – объект тайм-лимита
            • dateTimeString – дата окончания тайм-лимита
            • serviceType – тип услуги
            • serviceCode – код услуги
        • flightSourceMode – тип перелета (1 – локальный, 2 – из внешний системы)
      • passengers – информация о пассажирах
        • IsMain – главный турист
        • Number – порядковый номер туриста
        • AgeType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
        • MaleFemaleSex – пол (0 – мужской, 1 – женский)
        • FirstName – имя (лат)
        • LastName – фамилия (лат)
        • Patronymic – отчество (лат)
        • FirstNameRus – имя (рус)
        • LastNameRus – фамилия (рус)
        • PatronymicRus – отчество (рус)
        • InternationalPassportSeries – серия загранпаспорта
        • InternationalPassportNumber – номер загранпаспорта
        • InternationalPassportDateOfIssue – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
        • InternationalPassportDateOfIssueString – дата выдачи загранпаспорта в строковом формате (DD.MM.YYYY)
        • InternationalPassportDateOfExpiry – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
        • InternationalPassportDateOfExpiryString – дата окончания действия загранпаспорта в строковом формате (DD.MM.YYYY)
        • internationalPassportByWhom – кем выдан загранпаспорт
        • PassportSeries – серия паспорта
        • PassportNumber – номер паспорта
        • PassportDateOfIssue – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
        • PassportDateOfIssueString – дата выдачи паспорта в строковом формате (DD.MM.YYYY)
        • PassportByWhom – кем выдан паспорт
        • Citizenship – название страны
        • Phone – телефон
        • Email – e-mail
        • BirthDay – дата рождения (YYYY-MM-DDThh:mm:ssz)
        • BirthDayString – дата рождения в строковом формате (DD.MM.YYYY)
        • BirthPlace – место рождения
        • CitizenID – гражданство
        • Age – количество полных лет на момент окончания тура
      • tourDate – дата тура
      • tourCurrency – валюта тура
      • tourId – ключ программы тура
      • filterTariff – информация о тарифах
      • filterDeptime – информация о времени вылета
      • isCommission – признак комиссионной цены
      • baseFlightsParams – параметра авиаперелета
        • CityArrival – город прибытия
        • FlightCode – код авиаперелета
        • TariffKey – ключ тарифа
        • PartnerId – ключ партнера
      • isUpdated – информация об обновлении перелета
      • key – ключ запроса
      • tourDurationByDays – продолжительность перелета
      • langueCode – локализация
  • Возвращаемый результат:
    • validationResult – информация о валидации
      • Errors – ошибки
      • Warnings – предупреждения
      • States – статус
      • IsValid – информация о результате
    • tariffSequencies – информация тарифах
      • flightId – идентификатор перелета
      • universalParametrsSequence – параметры тарифов
        • universalParametrs – массив параметров
          • code – описание параметра тарифа
          • priority – приоритет показа
          • needToPay – нужна ли доплата
          • shortDescriptions – краткое описание
            • code – код
            • value – значение
      • price – стоимость
      • deltaPrice – разница в цене
      • timeLimit – тайм-лимит
      • segments – сегменты
      • depAirportCode – код аэропорта отправления
      • depCityCode – код города отправления
      • arrAirportCode – код аэропорта прибытия
      • arrCityCode – код города прибытия


развернутьПример


Загрузка филиалов (Branches) начиная с релиза 15.3

Метод производит выгрузку филиалов бронирования.

  • Формат запроса:
    • GET .../TourSearchOwin/Branches?
  • Принимаемые параметры GET запроса ( * – обязательный):
    • ids – массив ключей филиалов
    • cityKey – фильтр по городу филиала (если 0 или не задан, то выбираются все филиалы)
  • Возвращаемый результат:
    • Key – ключ филиала (ключ партнера)
    • Value – название филиала (название партнера)
развернутьПример



Загрузка ведущих менеджеров (Users) начиная с релиза 15.3

Метод производит выгрузку ведущих менеджеров.

  • Формат запроса:
    • GET .../TourSearchOwin/Users?
  • Принимаемые параметры GET запроса ( * – обязательный):
    • ids – массив ключей ведущих менеджеров
    • branchKey – ключ филиала бронирования, к которому они привязаны
  • Возвращаемый результат:
    • Key – ключ ведущего менеджера
    • Value – полное имя ведущего менеджера
развернутьПример



Расчет путевки (CalculateReservation)

Метод производит расчет стоимости путевки.

  • Формат запроса:
    • POST .../TourSearchOwin/CalculateReservation?
  • Принимаемые параметры headers ( * – обязательный):
    • Content-Type * – application/json
  • Принимаемые параметры POST запроса:
    • TourProgramId – ключ турпрограммы
    • BeginDate – дата начала тура
    • Duration – продолжительность тура
    • Currency – код валюты
    • initialPrice – объект изначальная цена
      • price – цена
      • currency – код валюты
    • Services – массив услуг
      • Service – объект услуги (отель/круиз, авиаперелет, трансфер или др.)
        • ServiceType – тип услуги (поле sv_key из таблицы service)
        • Code – код услуги
        • SubCode1доп. описание 1 услуги
        • SubCode2доп. описание 2 услуги
        • Packet – ключ пакета услуги
        • Partner – ключ партнера услуги
        • Day – день предоставления услуги
        • DurationInNight – продолжительность услуги в ночах
        • City – ключ города
        • Country – страна услуги
        • Attributes – битовая маска атрибутов услуг
        • IsRemovable – (не обрабатывается)
        • Type – тип услуги в путевке (базовая дополнительная)
        • IsHooded – признак скрытая услуга
        • IsNotCalculated – признак не рассчитываемая услуга
        • BeginDateTimeString – дата и время начала услуги
        • EndDateTimeString – дата и время окончания услуги
        • TemplateId – шаблон услуги
        • Cost – цена услуги
        • ByPax – цена за человека
        • QuotaStatus – объект статус квотирования
          • PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
          • FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
          • IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
        • Index – индекс услуги
        • IsRoute – признак маршрутная услуга
        • ServiceTemplateIndex – индекс шаблона услуги
        • RemoteId – информация об услуге в удаленной системе
        • IsCommission – признак, комиссионная ли услуга
        • BaseFlightsParams – параметры рассчитанных авиаперелетов
          • CityArrival – ключ города прибытия прямого перелета
          • FlightCode – ключ прямого авиаперелета
          • TariffKey – ключ тарифа прямого авиаперелета
          • PartnerId – ключ партнера прямого авиаперелета
          • CityArrival – ключ города прибытия обратного перелета
          • FlightCode – ключ обратного авиаперелета
          • TariffKey – ключ тарифа обратного авиаперелета
          • PartnerId – ключ партнера обратного авиаперелета
      • TouristNumbersList – массив туристов, привязанных к услуге
    • Tourists – массив туристов
      • IsMain – главный турист
      • Number – порядковый номер туриста
      • AgeType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
      • MaleFemaleSex – пол (0 – мужской, 1 – женский)
      • FirstName – имя (лат)
      • LastName – фамилия (лат)
      • Patronymic – отчество (лат)
      • FirstNameRus – имя (рус)
      • LastNameRus – фамилия (рус)
      • PatronymicRus – отчество (рус)
      • InternationalPassportSeries – серия загранпаспорта
      • InternationalPassportNumber – номер загранпаспорта
      • InternationalPassportDateOfIssue – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
      • InternationalPassportDateOfIssueString – дата выдачи загранпаспорта в строке (DD.MM.YYYY)
      • InternationalPassportDateOfExpiry – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
      • InternationalPassportDateOfExpiryString – дата окончания действия загранпаспорта в строке (DD.MM.YYYY)
      • internationalPassportByWhom – кем выдан загранпаспорт
      • PassportSeries – серия паспорта
      • PassportNumber – номер паспорта
      • PassportDateOfIssue – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
      • PassportDateOfIssueString – дата выдачи паспорта строковом формате (DD.MM.YYYY)
      • PassportByWhom – кем выдан паспорт
      • Citizenship – название страны
      • Phone – телефон
      • Email – e-mail
      • BirthDay – дата рождения (YYYY-MM-DDThh:mm:ssz)
      • BirthDayString – дата рождения в строковом формате (DD.MM.YYYY)
      • BirthPlace – место рождения
      • CitizenID – гражданство
      • Age – количество полных лет на момент окончания тура
    • Day – день (перевод)
    • Day2 – дня (перевод)
    • Days – дней (перевод)
    • Night – ночь (перевод)
    • Night2 – ночи (перевод)
    • Nights – ночей (перевод)
    • adultsCountOverServiceLimit – Количество взрослых туристов превышает лимит услуги (перевод)
    • at – на (перевод)
    • incorrectChildrenInf – Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание) (перевод)
  • Возвращаемый результат:
    • IsValid – признак валидности путевки
    • ErrorMessage – сообщение об ошибке, если есть
    • CalculatedReservation – объект рассчитанной путевки
      • TourKey – ключ тура
      • BeginDate – дата начала тура
      • Duration – продолжительность путевки в днях
      • Currency – код валюты тура
      • CalculatedServicesPrice – сумма обязательных услуг, входящих в состав тура
      • ChangedPrice – сумма, на которую изменилась итоговая стоимость TotalPrice в результате добавления обязательных и дополнительных услуг
      • Price – итоговая стоимость тура для агентства, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг - партнерская комиссия (в валюте тура)
      • TotalPrice – итоговая стоимость тура для туриста, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг (в валюте тура)
      • IsDiscountIsPercent – признак, в процентах ли дается партнерская комиссия или в y.e.
      • NationalChangedPrice – сумма, на которую изменилась итоговая стоимость TotalPrice в результате добавления обязательных и дополнительных услуг (в национальной валюте)
      • NationalTotalDiscount – партнерская комиссия агентству (в национальной валюте)
      • NationalTotalPrice – итоговая стоимость тура для туриста, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг (в национальной валюте)
      • NatinoalCalculatedServicesPrice – сумма обязательных услуг, входящих в состав тура (в национальной валюте)
      • NationalPrice – итоговая стоимость тура для агентства, рассчитывается как стоимость обязательных услуг, входящих в состав тура + стоимость обязательных услуг, не входящих в состав тура + стоимость дополнительных услуг - партнерская комиссия (в национальной валюте)
      • Discount – партнерская комиссия агентству (в процентах или y.e.)
      • TotalDiscount – партнерская комиссия агентству (в валюте тура)
      • ServiceTourists – массив услуг, входящих в тур
        • ServiceType – тип услуги
        • Day – день предоставления
        • DurationInNight – продолжительность в ночах
        • Time – время начала услуги
        • Name – полное описание услуги
        • TouristCount – количество туристов на услуге
        • Attributes – битовая маска атрибутов
        • Type – тип услуги (основная/дополнительная)
        • Brutto – цена брутто
        • NationalBrutto – цена брутто в национальной валюте
        • TotalBrutto – итоговое брутто
    • TourName – название тура
    • BookingConditions – разметка условия бронирования
    • EndDate – дата окончания тура
    • DurationInNights – продолжительность тура в ночах
    • NationalCurrency – код национальной валюты
развернутьПример


Бронирование путевки (CreateReservation)

Метод производит бронирование путевки.
При бронировании проверяется корректность заполнения обязательных полей туристов (регулируется общими настройками, либо в справочнике Страны). В случае, если обязательные поля не заполнены, возвращается ошибка с сообщением, бронь не создается.

  • Формат запроса:
    • PUT .../TourSearchOwin/CreateReservation/1?
  • Принимаемые параметры headers ( * – обязательный):
    • Content-Type * – application/json
    • Authorization * – token_type + access_token (полученные из метода .../TourSearchOwin/Token?)
  • Принимаемые параметры PUT запроса:
    • TourProgramId – ключ турпрограммы
    • BeginDate – дата начала тура (YYYY-MM-DDThh:mm:ss)
    • Duration – продолжительность тура
    • Currency – код валюты
    • Services – массив услуг
      • Service – объект услуги (отель/круиз, авиаперелет, трансфер или др.)
        • ServiceType – тип услуги (поле sv_key из таблицы service)
        • Code – код услуги
        • SubCode1доп. описание 1 услуги
        • SubCode2доп. описание 2 услуги
        • Packet – ключ пакета услуги
        • Partner – ключ партнера услуги
        • Day – день предоставления услуги
        • DurationInNight – продолжительность услуги в ночах
        • City – ключ города
        • Country – страна услуги
        • Attributes – битовая маска атрибутов услуг
        • IsRemovable – (не обрабатывается)
        • Type – тип услуги в путевке (базовая дополнительная)
        • IsHooded – признак скрытая услуга
        • IsNotCalculated – признак не рассчитываемая услуга
        • BeginDateTimeString – дата и время начала услуги
        • EndDateTimeString – дата и время окончания услуги
        • TemplateId – шаблон услуги
        • Cost – цена услуги
        • ByPax – цена за человека
        • QuotaStatus – объект статус квотирования
          • PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
          • FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
          • IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
        • Index – индекс услуги
        • IsRoute – признак маршрутная услуга
        • ServiceTemplateIndex – индекс шаблона услуги
        • RemoteId – информация об услуге в удаленной системе
        • IsCommission – признак, комиссионная ли услуга
        • BaseFlightsParams – параметры рассчитанных авиаперелетов
          • CityArrival – ключ города прибытия прямого перелета
          • FlightCode – ключ прямого авиаперелета
          • TariffKey – ключ тарифа прямого авиаперелета
          • PartnerId – ключ партнера прямого авиаперелета
          • CityArrival – ключ города прибытия обратного перелета
          • FlightCode – ключ обратного авиаперелета
          • TariffKey – ключ тарифа обратного авиаперелета
          • PartnerId – ключ партнера обратного авиаперелета
      • TouristNumbersList – массив туристов, привязанных к услуге
    • Tourists – массив туристов
      • IsMain – главный турист
      • Number – порядковый номер туриста
      • AgeType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
      • MaleFemaleSex – пол (0 – мужской, 1 – женский)
      • FirstName – имя (лат)
      • LastName – фамилия (лат)
      • Patronymic – отчество (лат)
      • FirstNameRus – имя (рус)
      • LastNameRus – фамилия (рус)
      • PatronymicRus – отчество (рус)
      • InternationalPassportSeries – серия загранпаспорта
      • InternationalPassportNumber – номер загранпаспорта
      • InternationalPassportDateOfIssue – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
      • InternationalPassportDateOfIssueString – дата выдачи загранпаспорта в строковом формате (DD.MM.YYYY)
      • InternationalPassportDateOfExpiry – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
      • InternationalPassportDateOfExpiryString – дата окончания действия загранпаспорта в строковом формате (DD.MM.YYYY)
      • internationalPassportByWhom – кем выдан загранпаспорт
      • PassportSeries – серия паспорта
      • PassportNumber – номер паспорта
      • PassportDateOfIssue – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
      • PassportDateOfIssueString – дата выдачи паспорта в строковом формате (DD.MM.YYYY)
      • PassportByWhom – кем выдан паспорт
      • Citizenship – название страны
      • Phone – телефон
      • Email – e-mail
      • BirthDay – дата рождения (YYYY-MM-DDThh:mm:ssz)
      • BirthDayString – дата рождения в строковом формате (DD.MM.YYYY)
      • BirthPlace – место рождения
      • CitizenID – ID туриста (задается в карточке постоянного клиента)
      • Age – количество полных лет на момент окончания тура
    • BranchId – ключ филиала бронирования (начиная с релиза 15.3). Если не передан, то филиал бронирования берется из менеджера по умолчанию либо из пользователя, создавшего тур.
    • OwnerId – ключ ведущего менеджера (начиная с релиза 15.3). Если 0, то берется по умолчанию. Если по умолчанию не указан, то берется создатель тура.
    • Day – день (перевод)
    • Day2 – дня (перевод)
    • Days – дней (перевод)
    • Night – ночь (перевод)
    • Night2 – ночи (перевод)
    • Nights – ночей (перевод)
    • adultsCountOverServiceLimit – Количество взрослых туристов превышает лимит услуги (перевод)
    • incorrectChildrenInf – Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание) (перевод)
  • Возвращаемый результат:
    • Reservation – объект путевки
      • $id – внутренний идентификатор для установки связей между сущностями,
      • Code – код путевки
      • TurDate – дата заезда
      • TRKey – ключ тура
      • CNKey – ключ страны
      • CTKey – ключ города
      • NMen – количество туристов по путевке
      • Price – стоимость путевки за вычетом скидки (комиссии)
      • Payed – оплаченная сумма по путевке
      • NDay – продолжительность тура в днях
      • MainMan – ФИО лица, заключившего договор
      • MainManPhone – номер телефона лица, заключившего договор
      • MainManAddress – адрес лица, заключившего договор
      • MainManPassport – паспортные данные лица, заключившего договор
      • PartnerKey – ключ партнера, оформившего договор
      • Operator – ФИО создателя договора
      • Discount – величина скидки на одного человека
      • DiscountSum – абсолютная величина скидки
      • SORCode – ключ статус путевки
      • CrDate – дата и время создания путевки
      • Rate – код валюты путевки
      • Advertise – ключ источника рекламы
      • Locked – блокировка путевки: 1 – если заблокирована
      • CauseDisc – ключ основания для скидки
      • PPaymentDate – максимальная дата внесения предоплаты
      • PaymentDate – максимальная дата полной оплаты
      • Procent – информация о предоплате: 1 – предоплата в %; 0 – предоплата в у.е.
      • TurDateBfrAnnul – значение даты заезда до аннуляции путевки (при аннуляции дата заезда заменяется на 31.12.1899)
      • ARKey – ключ причины аннуляции путевки
      • Key – ключ договора
      • CodePartner – значение ключевого поля из таблицы партнеров
      • FilialKey – ключ филиала фирмы-владельца, пользователем которого была забронирована путевка
      • IsOutDoc – статус выдачи документов
      • Notes – сообщение поставщику
      • DiscSumBfrAnn – числовое значение скидки перед аннуляцией путевки
      • PriceBfrAnn – стоимость путевки перед ее аннуляцией
      • RazmerP – размер предоплаты
      • LeadDepartment – ключ отдела, ведущего данный тур
      • MainManEmail – адрес е-mail из данных лица, заключившего договор
      • MainManComment – примечание из данных лица, заключившего договор
      • DupUserKey – ключ представителя партнера, которым был оформлен договор
      • BTKey – ключ системы бронирования, из которой был оформлен договор
      • ConfirmedDate – дата подтверждения путевки покупателю
      • PrtDogKey – договор партнера, по которому оформлена путевка
      • CTDepartureKey – ключ города начала поездки
      • PDTType – тип договора, по которому оформлена путевка
      • NationalCurrencyPrice – стоимость путевки в национальной валюте
      • NationalCurrencyDiscountSum – значение скидки в национальной валюте
      • NationalCurrencyPayed – сумма платежей по путевке, зафиксированная в национальной валюте
      • CurrencyKey – ключ национальной валюты путевки
      • CurrencyRate – курс национальной валюты путевки
      • ClientKey – ключ частника, которым был оформлен договор
      • Partner – информация о партнере покупателе, привязанным к путевке
        • $id – внутренний идентификатор для установки связей между сущностями
        • Key – ключ партнера покумателя
        • FullName – полное имя партнера
        • Name – имя партнера
      • Services – коллекция услуг в данной путевке
        • $id – внутренний идентификатор для установки связей между сущностями
        • DGCod – номер путевки
        • TurDate – дата начала тура
        • Key – ключ услуги
        • PaketKey – ключ пакета
        • TRKey – клют тура
        • SVKey – ключ типа услуги
        • Name – наименование услуги
        • Day – порядковый номер дня тура, в который предоставляется услуга
        • Code – ключ кода услуги
        • SubCode1 – ключ доп.описания 1 услуги
        • SubCode2 – ключ доп.описания 2 услуги
        • Men – количество человек, пользующихся услугой по путевке
        • Days – количество дней услуги
        • CNKey – ключ страны услуги
        • CTKey – ключ города услуги
        • PartnerKey – ключ партнера, предоставляющего услугу
        • Brutto – стоимость услуги брутто
        • Wait – признак услуги Снимать квоту при бронировании
        • Warning – неиспользуемое поле
        • TimeBeg – поле используется для сортировки услуг в путевке
        • Control – ключ статуса услуги (ссылка на таблицу Controls),
        • Attribute – атрибут услуги
        • DateBeg – дата начала действия услуги
        • DateEnd – дата окончания действия услуги
        • Discount – размер скидки по услуге
        • Comment – комментарий к услуге
        • DGKey – ключ договора,
        • Blocked – признак блокировки услуги (0 – не блокирована, 1 – блокирована)
        • NameLat – наименование услуги (латинский)
        • Long – продолжительность тура в днях
        • TRFId – ключ тарифа
        • CreateDate – дата создания услуги в путевке
        • CalculatePriceDate – дата расчета цены
        • ShowOrder – порядок при сортировке
        • Connections – коллекция связей с сущностями через внутренний идентификатор $id
          • $ref – связь с внутренним идентификатором $id
      • Turists – коллекция туристов в данной путевке
        • $id – внутренний идентификатор для установки связей между сущностями
        • DGCod – номер путевки, к которому привязан турист
        • Key – ключ туриста
        • TurDate – дата начала тура
        • NameRus – фамилия туриста (русское)
        • NameLat – фамилия туриста (латинское)
        • ShortName – имя и отчество туриста в формате И.О.
        • Sex – пол туриста (признак): Null или 0 – Муж; 1 – Жен; 2 – Child (ребенок); 3 – Infant (младенец)
        • FNameRus – имя туриста (русское)
        • FNameLat – имя туриста (латинское)
        • SNameRus – отчество туриста (русское)
        • SNameLat – отчество туриста (латинское)
        • BirthDay – дата рождения туриста
        • BirthCountry – страна рождения туриста
        • BirthCity – город рождения туриста
        • Citizen – гражданство туриста
        • PostIndex – почтовый индекс
        • PostCity – адрес проживания туриста (город)
        • PostStreet – адрес проживания туриста (улица)
        • PostBild – адрес проживания туриста (номер дома)
        • PostFlat – адрес проживания туриста (номер квартиры)
        • Phone – номер телефона туриста
        • PhoneCode – код телефона туриста
        • PasportType – серия заграничного паспорта
        • PasportNum – номер заграничного паспорта
        • PasportDate – дата выдачи заграничного паспорта
        • PasportDateEnd – дата окончания срока действия заграничного паспорта
        • PasportByWhom – кем выдан заграничный паспорт
        • Place – место рождения
        • IsAnketa – выдавалась ли анкета
        • PaspRuser – серия общегражданского паспорта
        • PaspRuNum – номер общегражданского паспорта
        • PaspRuDate – дата выдачи общегражданского паспорта
        • PaspRuByWhom – кем выдан общегражданский паспорт
        • ClientId – ключ в таблице клиентов
        • IsMain – признак главного туриста по путевке
        • DGKey – ключ кутевки
        • RealSex – реальный пол туриста: Null или 0 – Муж; 1 – Жен
        • Email – е-mail туриста
        • EnableSmsNotifications – согласен получать уведомления по СМС
        • CitizenId – идентификатор туриста
        • Connections – коллекция связей с сущностями через внутренний идентификатор $id
          • $ref – связь с внутренним идентификатором $id
      • TuristServices – коллекция связей туриста с услугой
        • $id – внутренний идентификатор для установки связей между сущностями
        • TUKey – ключ туриста
        • DLKey – ключ услуги
        • NumDoc – номер документа (авиабилета)
        • NumRoom – номер комнаты (каюты)
        • Seat – номер места (в номере отеля, каюты) или место в транспорте
        • Area – зона (палуба) в отеле, круизе
        • DocDate – дата документа (авиабелета)
        • Key – первичный ключ связки
        • Connections – коллекция связей с сущностями через внутренний идентификатор $id
          • $ref – связь с внутренним идентификатором $id
      • DogovorMessages – сообщение по путевке покупателю
        • id – внутренний идентификатор для установки связей между сущностями
        • Date – дата создание сообщения
        • Text – текст сообщения
        • Remark – код сообщения
        • Connections – коллекция связей с сущностями через внутренний идентификатор $id
          • $ref – связь с внутренним идентификатором $id
    • ValidationResultSummary – объект статус результата бронирования
      • ValidationResult – объект с ошибками и флагом валидности путевки
        • Errors – массив ошибок бронирования
        • IsValid – признак валидности бронирования
      • ValidationResultAttributes – атрибут результата бронирования
развернутьПример запроса


развернутьПример ответа


Выгрузка информации о путевке (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 – ключ статус путевки
    • CrDate – дата и время создания путевки
    • Rate – код валюты путевки
    • Advertise – ключ источника рекламы
    • Locked – блокировка путевки: 1 – если заблокирована
    • CauseDisc – ключ основания для скидки
    • PPaymentDate – максимальная дата внесения предоплаты
    • PaymentDate – максимальная дата полной оплаты
    • Procent – информация о предоплате: 1 – предоплата в %; 0 – предоплата в у.е.
    • TurDateBfrAnnul – значение даты заезда до аннуляции путевки (при аннуляции дата заезда заменяется на 31.12.1899)
    • ARKey – ключ причины аннуляции путевки
    • Key – ключ договора
    • CodePartner – значение ключевого поля из таблицы партнеров
    • FilialKey – ключ филиала фирмы-владельца, пользователем которого была забронирована путевка
    • IsOutDoc – статус выдачи документов
    • Notes – сообщение поставщику
    • DiscSumBfrAnn – числовое значение скидки перед аннуляцией путевки
    • PriceBfrAnn – стоимость путевки перед ее аннуляцией
    • RazmerP – размер предоплаты
    • LeadDepartment – ключ отдела, ведущего данный тур
    • MainManEmail – адрес е-mail из данных лица, заключившего договор
    • MainManComment – примечание из данных лица, заключившего договор
    • DupUserKey – ключ представителя партнера, которым был оформлен договор
    • BTKey – ключ системы бронирования, из которой был оформлен договор
    • ConfirmedDate – дата подтверждения путевки покупателю
    • PrtDogKey – договор партнера, по которому оформлена путевка
    • CTDepartureKey – ключ города начала поездки
    • PDTType – тип договора, по которому оформлена путевка
    • NationalCurrencyPrice – стоимость путевки в национальной валюте
    • NationalCurrencyDiscountSum – значение скидки в национальной валюте
    • NationalCurrencyPayed – сумма платежей по путевке, зафиксированная в национальной валюте
    • CurrencyKey – ключ национальной валюты путевки
    • CurrencyRate – курс национальной валюты путевки
    • ClientKey – ключ частника, которым был оформлен договор
    • Partner – информация о партнере покупателе, привязанным к путевке
      • $id – внутренний идентификатор для установки связей между сущностями
      • Key – ключ партнера покумателя
      • FullName – полное имя партнера
      • Name – имя партнера
    • Services – коллекция услуг в данной путевке
      • $id – внутренний идентификатор для установки связей между сущностями
      • DGCod – номер путевки
      • TurDate – дата начала тура
      • Key – ключ услуги
      • PaketKey – ключ пакета
      • TRKey – клют тура
      • SVKey – ключ типа услуги
      • Name – наименование услуги
      • Day – порядковый номер дня тура, в который предоставляется услуга
      • Code – ключ кода услуги
      • SubCode1 – ключ доп.описания 1 услуги
      • SubCode2 – ключ доп.описания 2 услуги
      • Men – количество человек, пользующихся услугой по путевке
      • Days – количество дней услуги
      • CNKey – ключ страны услуги
      • CTKey – ключ города услуги
      • PartnerKey – ключ партнера, предоставляющего услугу
      • Brutto – стоимость услуги брутто
      • Wait – признак услуги Снимать квоту при бронировании
      • Warning – неиспользуемое поле
      • TimeBeg – поле используется для сортировки услуг в путевке
      • Control – ключ статуса услуги (ссылка на таблицу Controls),
      • Attribute – атрибут услуги
      • DateBeg – дата начала действия услуги
      • DateEnd – дата окончания действия услуги
      • Discount – размер скидки по услуге
      • Comment – комментарий к услуге
      • DGKey – ключ договора,
      • Blocked – признак блокировки услуги (0 – не блокирована, 1 – блокирована)
      • NameLat – наименование услуги (латинский)
      • Long – продолжительность тура в днях
      • TRFId – ключ тарифа
      • CreateDate – дата создания услуги в путевке
      • CalculatePriceDate – дата расчета цены
      • ShowOrder – порядок при сортировке
      • Connections – коллекция связей с сущностями через внутренний идентификатор $id
        • $ref – связь с внутренним идентификатором $id
    • Turists – коллекция туристов в данной путевке
      • $id – внутренний идентификатор для установки связей между сущностями
      • DGCod – номер путевки, к которому привязан турист
      • Key – ключ туриста
      • TurDate – дата начала тура
      • NameRus – фамилия туриста (русское)
      • NameLat – фамилия туриста (латинское)
      • ShortName – имя и отчество туриста в формате И.О.
      • Sex – пол туриста (признак): Null или 0 – Муж; 1 – Жен; 2 – Child (ребенок); 3 – Infant (младенец)
      • FNameRus – имя туриста (русское)
      • FNameLat – имя туриста (латинское)
      • SNameRus – отчество туриста (русское)
      • SNameLat – отчество туриста (латинское)
      • BirthDay – дата рождения туриста
      • BirthCountry – страна рождения туриста
      • BirthCity – город рождения туриста
      • Citizen – гражданство туриста
      • PostIndex – почтовый индекс
      • PostCity – адрес проживания туриста (город)
      • PostStreet – адрес проживания туриста (улица)
      • PostBild – адрес проживания туриста (номер дома)
      • PostFlat – адрес проживания туриста (номер квартиры)
      • Phone – номер телефона туриста
      • PhoneCode – код телефона туриста
      • PasportType – серия заграничного паспорта
      • PasportNum – номер заграничного паспорта
      • PasportDate – дата выдачи заграничного паспорта
      • PasportDateEnd – дата окончания срока действия заграничного паспорта
      • PasportByWhom – кем выдан заграничный паспорт
      • Place – место рождения
      • IsAnketa – выдавалась ли анкета
      • PaspRuser – серия общегражданского паспорта
      • PaspRuNum – номер общегражданского паспорта
      • PaspRuDate – дата выдачи общегражданского паспорта
      • PaspRuByWhom – кем выдан общегражданский паспорт
      • ClientId – ключ в таблице клиентов
      • IsMain – признак главного туриста по путевке
      • DGKey – ключ кутевки
      • RealSex – реальный пол туриста: Null или 0 – Муж; 1 – Жен
      • Email – е-mail туриста
      • EnableSmsNotifications – согласен получать уведомления по СМС
      • CitizenId – идентификатор туриста
      • Connections – коллекция связей с сущностями через внутренний идентификатор $id
        • $ref – связь с внутренним идентификатором $id
    • TuristServices – коллекция связей туриста с услугой
      • $id – внутренний идентификатор для установки связей между сущностями
      • TUKey – ключ туриста
      • DLKey – ключ услуги
      • NumDoc – номер документа (авиабилета)
      • NumRoom – номер комнаты (каюты)
      • Seat – номер места (в номере отеля, каюты) или место в транспорте
      • Area – зона (палуба) в отеле, круизе
      • DocDate – дата документа (авиабелета)
      • Key – первичный ключ связки
      • Connections – коллекция связей с сущностями через внутренний идентификатор $id
        • $ref – связь с внутренним идентификатором $id
    • DogovorMessages – сообщение по путевке покупателю
      • id – внутренний идентификатор для установки связей между сущностями
      • Date – дата создание сообщения
      • Text – текст сообщения
      • Remark – код сообщения
      • Connections – коллекция связей с сущностями через внутренний идентификатор $id
        • $ref – связь с внутренним идентификатором $id
развернутьПример


Выгрузка информации о ценовых блоках (CostOfferDescriptions)

Метод принимает на вход ключи ценовых блоков и возвращает, прикреплённое к ним описание.

  • Формат запроса:
    • GET .../TourSearchOwin/CostOfferDescriptions?
  • Принимаемые параметры ( * – обязательный):
    • COKeysString * – ключи ценовых блоков через запятую
  • Возвращаемый результат:
    • CostOfferImageInfo – коллекция объектов из двух полей:
      • IdCostOffer – ключ ценового блока
      • InfoText – описание ценового блока
развернутьПример



Получение капчи (GetCaptcha)

Метод возвращает капчу (используется при регистрации частного лица).

  • Формат запроса:
    • GET .../TourSearchOwin/GetCaptcha?
  • Принимаемые параметры ( * – обязательный):
    • sessionId * – Id сессии
  • Возвращаемый результат:
    • FileContents – файл капчи в бинарном виде
    • ContentType – расширение файла (image/jpeg)
    • FileDownloadName – имя файла
развернутьПример


Проверка капчи (CheckCaptcha)

Метод проверяет введенную капчу (используется при регистрации частного лица).

  • Формат запроса:
    • GET .../TourSearchOwin/CheckCaptcha?
  • Принимаемые параметры ( * – обязательный):
    • captchaText * – текст капчи
    • sessionId * – Id сессии
  • Возвращаемый результат:
    • true/false – результат проверки (false – капча или Id сессии неверные, true – капча верна)
развернутьПример


Проверка e-mail (CheckMail)

Метод проверяет e-mail при регистрации частного лица на существование такого же e-mail в базе данных.

  • Формат запроса:
    • GET .../TourSearchOwin/CheckMail?
  • Принимаемые параметры ( * – обязательный):
    • mail * – e-mail пользователя
  • Возвращаемый результат:
    • true/false – результат проверки (false – пользователь с таким e-mail уже существует, true – пользователь с таким e-mail нет в базе данных)
развернутьПример


Проверка туриста (checkTourist)

Метод служит для получения информации о путевке по номеру путевки и номеру паспорта туриста.

  • Формат запроса:
    • GET .../TourSearchOwin/checkTourist?
  • Принимаемые параметры ( * – обязательный):
    • dogovorNumber * – номер путевки.
    • passport * – номер паспорта туриста (заграничного или общегражданского).
  • Возвращаемый результат:
    • isDogovortrue, если путевка найдена по номеру путевки, false, если не найдена.
    • isAnnulatedtrue, если путевка аннулирована, false, если не аннулирована.
    • dogovorStatus – статус путевки
    • isPaytrue, если путевка полностью оплачена, false, если не оплачена или оплачена частично.
    • dogovorDateBegin – дата начала заезда.
    • dogovorDateEnd – дата окончания заезда.
    • dogovorDateCreate – дата создания путевки.
    • isTouristDogovorCreatetrue, если турист (по номеру паспорта) является главным туристом в путевке.
    • services – набор услуг в путевке.
      • svKey – код класса услуги.
      • code – код услуги.
      • subCode1 – код доп. описания 1 услуги.
      • subCode2 – код доп. описания 2 услуги.
      • name – название услуги.
    • touristInfo – информация о главном туристе.
      • lastname – фамилия туриста (рус).
      • firstname – имя туриста (рус).
      • surname – отчество туриста.
      • address – адрес (индекс, город, улица, дом, квартира).
      • postcode – индекс.
      • city – город.
      • street – улица.
      • home – дом.
      • roomNumber – квартира.
развернутьПример


Список значений параметра гражданства (Citizenships)

Метод служит для получения списка значений параметра гражданства.

  • Формат запроса:
    • GET .../TourSearchOwin/Citizenships?
  • Принимаемые параметры ( * – обязательный):
    • pageSize * – размер выдачи
    • pageNumber * – порядковый номер страницы выдачи
    • term * – подстрочный фильтр для отбора (пустой по умолчанию)
  • Возвращаемый результат:
    • Key – ключ страны
    • Name – название гражданства
развернутьПример


Выгрузка постоянного клиента (Client)

Метод выгружает постоянного клиента при авторизации частного лица.

  • Формат запроса:
    • GET .../TourSearchOwin/Client?
  • Принимаемые параметры ( * – обязательный):
    • clientId * – Id постоянного клиента
  • Возвращаемый результат:
    • $id – внутренний порядковый идентификатор
    • CL_KEY – ключ справочника постоянные клиенты
    • CL_OPERUPDATE – ключ менеджера, который последний обновил постоянного клиента
    • CL_OPERUPDATE – дата обновления постоянного клиента
    • CL_PFKEY – внутренний ключ
    • CL_NAMERUS – имя (на русском)
    • CL_NAMELAT – имя (на латинице)
    • CL_SHORTNAME – инициалы
    • CL_SEX – пол
    • CL_FNAMERUS – фамилия (на русском)
    • CL_FNAMELAT – фамилия (на латинице)
    • CL_SNAMERUS – отчество (на русском)
    • CL_SNAMELAT – отчество (на латинице)
    • CL_BIRTHDAY – дата рождения
    • CL_BIRTHCOUNTRY – страна рождения
    • CL_BIRTHCITY – место рождения (город)
    • CL_CITIZEN – гражданство
    • CL_ADDRESS – полный адрес
    • CL_POSTINDEX – почтовый индекс
    • CL_POSTCITY – город
    • CL_POSTSTREET – улица
    • CL_POSTBILD – дом
    • CL_POSTFLAT – квартира
    • CL_PHONE – телефон
    • CL_PASPORTSER – серия загранпаспорта
    • CL_PASPORTNUM – номер загранпаспорта
    • CL_PASPORTDATE – дата выдачи загранпаспорта
    • CL_PASPORTDATEEND – срок действия загранпаспорта
    • CL_PASPORTBYWHOM – кем выдан загранпаспорт
    • CL_PASPRUSER – серия общегражданского паспорта
    • CL_PASPRUNUM – номер общегражданского паспорта
    • CL_PASPRUDATE – дата выдачи общегражданского паспорта
    • CL_PASPRUBYWHOM – кем выдан общегражданский паспорт
    • CL_ISMARK – профессия
    • CL_TYPE – примечания
    • CL_IMPRESSNOTE – общие впечатления
    • CL_NOTE – особые отметки
    • CL_REMARK – примечания
    • CL_IMPRESSKEY – ключ выбранного впечатления
    • CL_TITLE1 – служебные отметки, заголовок 1
    • CL_TITLE2 – служебные отметки, заголовок 2
    • CL_TITLE3 – служебные отметки, заголовок 3
    • CL_TITLE4 – служебные отметки, заголовок 4
    • CL_FUTURE – пожелания
    • CL_LASTSTAT – информация о статистике
    • CL_SUMMA – сумма по клиенту
    • CL_NMENWITH – число спутников
    • CL_SUMDOGOVOR – сумма по путевкам
    • CL_NTRIP – число поездок
    • ROWID – внутренний идентификатор
    • cl_fax – факс
    • cl_mail: – e-mail
    • CL_MINCOST – минимальная стоимость поездки
    • CL_MAXCOST – максимальная стоимость поездки
    • CL_RealSex – пол
    • CL_EnableSmsNotifications – признак согласен получать sms-уведомление
    • CL_CHECKED – оповещения
    • CL_Creator – создатель постоянного клиента
    • CL_CreateDate – дата создания постоянного клиента
    • CL_Login – логин
    • CL_Password – пароль
    • CL_IsOnlineUser – является ли постоянный клиент онлайн пользователем
    • CL_CitizenID – ID гражданства
    • CARDS – информация о дисконтной карте
развернутьПример


Выгрузка описаний ценовых блоков (CostOfferDescriptions)

Метод выгружает описания ценовых блоков.

  • Формат запроса:
    • GET .../TourSearchOwin/CostOfferDescriptions?
  • Принимаемые параметры ( * – обязательный):
    • COKeysString * – ключи ценовых блоков
  • Возвращаемый результат:
    • IdCostOffer – Id ценового блока
    • InfoText – описание ценового блока
развернутьПример


Выгрузка описания по стране (CountryInfo)

Метод выгружает описание по стране.

  • Формат запроса:
    • GET .../TourSearchOwin/CountryInfo?
  • Принимаемые параметры ( * – обязательный):
    • countryKey * – ключ страны
  • Возвращаемый результат:
    • информация по выбранной стране
развернутьПример


Выгрузка картинки по отелю (HotelImages)

Метод выгружает картинку по отелю.

  • Формат запроса:
    • GET .../TourSearchOwin/HotelImages?
  • Принимаемые параметры ( * – обязательный):
    • hotelKeys * – ключ отеля (можно передать несколько ключей отеля, каждый раз указывая параметр hotelKeys), в этом случае возвращается информация о главном фото отеля
  • либо
    • hotelKey * – либо ключ отеля, в этом случае возвращается полная информация о всех фотографиях в отеле
  • Возвращаемый результат (если передан hotelKeys):
    • Name – название файла
    • HotelKey – ключ отеля
    • InfoExists – есть ли информация
    • ImagesCount – общее количество картинок по отелю
  • либо (если передан hotelKey)
    • Images – объект картинок
      • Key – ключ картинки
      • Description – описание картинки
      • Priority – приоритет
      • Name – название файла
      • HotelKey – ключ отеля
      • InfoExists – есть ли информация
    • Country – страна отеля
    • City – город отеля
    • Name – название отеля
    • HotelCategoryName – категория отеля
    • Address – адрес отеля
    • Phone – телефон
    • Email – e-mail
    • Http – адрес сайта
    • Description – описание отеля
    • InfrastructureHotel – инфраструктура отеля
    • RecreationSport – развлечения и спорт
    • Beach – информация о пляже
    • Healing – лечение
    • Excursion – экскурсии
    • AdditionalService – дополнительные услуги
    • ForChildren – для детей
    • AddCost – доплаты
    • CheckoutTimeFrom – заезд в отель
    • CheckoutTimeTo – выезд из отеля
    • Latitude – GPS координаты: географическая широта (обрабатывается с релиза 15.6)
    • Longitude – GPS координаты: географическая долгота (обрабатывается с релиза 15.6)
развернутьПример краткой информации отеля


развернутьПример детальной информации отеля


Выгрузка картинки по туру (TourImages) начиная с релиза 15.7

Метод выгружает картинки по туру.

  • Формат запроса:
    • GET .../TourSearchOwin/TourImages?
  • Принимаемые параметры ( * – обязательный):
    • tourKeys * – ключ тура (можно передать несколько ключей тура, каждый раз указывая параметр tourKeys)
  • Возвращаемый результат:
    • Images – объект картинок
      • Key – ключ картинки
      • Description – описание картинки
      • Priority – приоритет
      • Name – название файла
      • TourKey – ключ тура
развернутьПример


Регистрация частного лица (PersonalRegistration)

Метод производит регистрацию частного лица.

  • Формат запроса:
    • GET .../TourSearchOwin/PersonalRegistration?
  • Принимаемые параметры ( * – обязательный):
    • name * – имя
    • surname * – фамилия
    • phone * – телефон
    • login * – e-mail (он же является логином). Предварительно нужно вызывать метод проверки e-mail CheckMail
    • password * – пароль (при упрощенной регистрации пароль не передается, а формируется системой автоматически)
    • citizen * – гражданство (возможна передача пустого значения)
    • country * – страна (возможна передача пустого значения)
    • city * – город (возможна передача пустого значения)
    • address * – адрес (возможна передача пустого значения)
    • comment * – комментарий (возможна передача пустого значения)
    • captchaText * – текст капчи. Предварительно нужно вызывать метод получения капчи GetCaptcha
    • sessionId * – Id сессии (возможна передача произвольного значения)
  • Возвращаемый результат:
    • SxotpFhg – сформированный (при упрощенной регистрации) или заданный пользователем пароль
развернутьПример


Выгрузка плана рассадки (TransportPlan)

Метод выгружает план рассадки транспортного средства.

  • Формат запроса:
    • GET .../TourSearchOwin/TransportPlan?
  • Принимаемые параметры ( * – обязательный):
    • code * – код услуги
    • dateBegin * – дата начала услуги
    • serviceType * – класс услуги
    • transportKey * – ключ транспорта
  • Возвращаемый результат:
    • TransportKey – ключ транспорта
    • Title – название
    • AreasCount – количество зон (уровней)
    • RowsCount – количество рядов
    • ColumnsCount – количество колонок
    • BusySeats – информация о занятых местах
    • Cells – блок не заполняется
      • Row – ряд
      • Column – колонка
      • Area – уровень
      • Type – тип места (1 - свободно, 5 - занято)
      • Name – номер места
    • UserSeats – блок не заполняется
    • BlockSeat – блок не заполняется
развернутьПример


Выгрузка списка всех стран (Countries)

Метод производит выгрузку всех стран (используется для регистрации частного лица).

  • Формат запроса:
    • GET .../TourSearchOwin/Countries?
  • Принимаемые параметры ( * – обязательный):
    • term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
  • Возвращаемый результат:
    • Key – ключ страны
    • Name – название
развернутьПример



Выгрузка списка всех городов (Cities)

Метод производит выгрузку всех городов (используется для регистрации частного лица).

  • Формат запроса:
    • GET .../TourSearchOwin/Cities?
  • Принимаемые параметры ( * – обязательный):
    • countryKey * – ключ страны, по которой выгружать города (при значении -1 выгружаются все города)
    • term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
  • Возвращаемый результат:
    • Key – ключ города
    • Name – название
развернутьПример



Выгрузка городов отправления в оформлении клиентов (RegistrationClientsDepartureCities)

Метод производит выгрузку городов отправления в оформлении клиентов.

  • Формат запроса:
    • GET .../TourSearchOwin/RegistrationClientsDepartureCities?
  • Принимаемые параметры ( * – обязательный):
    • term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
    • withoutFlight – перевод для ключа -1 (Без перелета)
  • Возвращаемый результат:
    • Key – ключ города
    • Name – название
    • IsExist – информация о том, есть ли в этом городе отправления актуальные программы туров (true/false)
развернутьПример



Выгрузка стран в оформлении клиентов (RegistrationClientsDestination)

Метод производит выгрузку стран в оформлении клиентов.

  • Формат запроса:
    • GET .../TourSearchOwin/RegistrationClientsDestination?
  • Принимаемые параметры ( * – обязательный):
    • departureCity * – ключ города отправления (из контроллера .../TourSearchOwin/RegistrationClientsDepartureCities?)
    • term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
  • Возвращаемый результат:
    • Name – название
    • Key – ключ страны
    • DestinationType – тип результата (всегда возвращается в JSON = 1, в xml = country)
    • IsExist – информация о том, есть ли в этой стране актуальные программы туров (true/false)
развернутьПример



Выгрузка турпрограмм в оформлении клиентов (RegistrationClientsTourPrograms)

Метод производит выгрузку турпрограмм в оформлении клиентов.

  • Формат запроса:
    • GET .../TourSearchOwin/RegistrationClientsTourPrograms?
  • Принимаемые параметры ( * – обязательный):
    • departureCity * – ключ города отправления (из контроллера .../TourSearchOwin/RegistrationClientsDepartureCities?)
    • destination * – ключ страны (из контроллера .../TourSearchOwin/RegistrationClientsDestination?)
    • destinationType * – тип результата (всегда возвращается в JSON = 1, в xml = country)
    • term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
    • individualTitle – перевод для программы тура с ключом 0 (Индивидуально)
  • Возвращаемый результат:
    • Key – ключ программы туров
    • Name – название программы туров
    • Rate – валюта тура
развернутьПример



Выгрузка дат заезда в оформлении клиентов (RegistrationClientsTourDate)

Метод производит выгрузку дат заезда в оформлении клиентов.

  • Формат запроса:
    • GET .../TourSearchOwin/RegistrationClientsTourDate?
  • Принимаемые параметры ( * – обязательный):
    • tourKey * – ключ программы тура
  • Возвращаемый результат:
    • массив дат
развернутьПример


Поиск туров в оформлении клиентов (Search)

Метод возвращает наиболее дешевое предложения по определенному туру.

  • Формат запроса:
    • GET .../TourSearchOwin/RegistrationClient/Search?
  • Принимаемые параметры ( * – обязательный):
    • DepartureCityKeys * – ключ города отправления (из контроллера .../TourSearchOwin/RegistrationClientsDepartureCities?)
    • Dates * – дата заезда (из контроллера .../TourSearchOwin/RegistrationClientsTourDate?)
    • Durations * – продолжительность
    • PageNumber * – номер возвращаемой страницы (по умолчанию возвращается 1)
    • PageSize * – количество возвращаемых результатов на одной странице (возвращается 20)
    • isFromBasket * – всегда false
    • isFillSecondaryFilters * – заполнены ли дополнительные фильтры (по умолчанию всегда приходит true)
    • DestinationType * – тип результата (всегда возвращается в JSON = 1, в xml = country)
    • DestinationKey * – идентификатор страны прибытия (из контроллера .../TourSearchOwin/RegistrationClientsDestination?)
    • AdultCount * – количество взрослых
    • ChildAges – возраст детей. Если детей несколько, и параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
    • IsRegistrationClients – по умолчанию всегда приходит false
    • CurrencyName * – код валюты
    • AviaQuota * – информация о квотах на авиаперелет (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
    • HotelQuota * – информация о квотах на отель (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
    • BusTransferQuota – информация о квотах на автобусный переезд (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
    • HotelScheme – пустой по умолчанию
    • TimeDepartureFrom – время отправления с (по умолчанию возвращается 00:00)
    • TimeDepartureTo – время отправления по (по умолчанию возвращается 23:59)
    • TimeArrivalFrom – время прибытия с (по умолчанию возвращается 00:00)
    • TimeArrivalTo – время прибытия по (по умолчанию возвращается 23:59)
    • ArrivalFlightNoTransfer – производить поиск без пересадок в прямом направлении (true/false, по умолчанию false)
    • DepartureFlightNoTransfer – производить поиск без пересадок в обратном направлении (true/false, по умолчанию false)
    • TourDuration – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: продолжительность тура в днях
    • Tour – ключ программы тура
  • Возвращаемый результат:
    • CheckMessages – сообщения для логики проверки тура (не используется)
    • Message – сообщение об ошибке
      • Key – код ошибки
      • Value – сообщение об ошибке
    • Result – результаты поиска
      • Key – идентификатов программы тура
      • Name – название программы тура
      • TourUrl – ссылка на программу тура
      • BookingConditions – условия бронирования программы туров
      • StartDate – дата начала тура
      • Duration – продолжительность тура (в днях)
      • DurationInNight – продолжительность проживания (в ночах)
      • Types – идентификатор типа туров
      • Cost – цена тура
      • Rate – код валюты тура
      • CityDepature – город отправления
        • Key – идентификатор города отправления
        • Value – название города отправления
      • CountryId – всегда возвращается ключ 0
      • Services – услуги в туре
        • DepartureCity – город отправления
          • Key – идентификатор
          • Value – название
        • DepartureCountry – страна отправления
          • Key – идентификатор
          • Value – название
        • ArrivalCity – город прибытия
          • Key – идентификатор
          • Value – название
        • ArrivalCountry – страна прибытия
          • Key – идентификатор
          • Value – название
        • DepartureAirport – аэропорт отправления
          • Key – идентификатор
          • Value – название
        • ArrivalAirport – аэропорт прибытия
          • Key – идентификатор
          • Value – название
        • Airline – авиакомпания
          • Key – идентификатор
          • Value – название
        • Aircraft – воздушное судно
          • Key – идентификатор
          • Value – название
        • Flight – рейс
          • Key – идентификатор
          • Value – название
        • DepartureTime – время вылета
        • ArrivalTime – время прилета
        • EndDateTime – дата и время прилета
        • FlightDetails – информация об авиаперелете
          • Tariff – информация о тарифе перелета
            • Key – идентификатор
            • Code – код тарифа
            • Name – название тарифа
          • Cost – разница в стоимости с самым дешевым вариантом
          • QuotaStatus – информация о квоте
            • PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
            • FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
            • IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
          • PartnerId – ключ партнера
          • ByPax – цена за человека (true/false)
          • Partner – информация о партнере
            • Key – идентификатор
            • Value – название
        • FlightSetting – внутренняя информация о перелете из программы туров
          • ServiceId – идентификатор класса услуги (внутренняя информация из программы туров)
          • PatternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
          • FlightId – идентификатор перелета (внутренняя информация из программы туров)
        • FlightSourceMode – локальный или удаленный перелет (внутренняя информация из программы туров)
        • Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
        • SvKey – ключ типа услуги
        • IsSubCode1 – признак наличия доп. описания 1
        • IsSubCode2 – признак наличия доп. описания 2
        • IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
        • Day – день предоставления услуги
        • DurationInNight – продолжительность услуги в ночах
        • BeginDateTime – дата предоставления услуги
        • IsHooded – признак скрытая услуга
        • IsDeleted – признак удаляемая услуга
        • IsNotCalculate – признак не рассчитываемая услуга
        • PacketId – ключ пакета
        • Index – порядковый номер услуги
      • NotRouteServices – массив коллекций немаршрутных услуг (например если две экскурсии будут являться одним элементом массива, то это будет говорить о том, что эти экскурсии можно будет выбрать в выпадающем списке)
        • ServiceName – название типа услуги
        • City – объект город
          • Key – ключ города
          • Value – название города
        • Country – ключ страны
        • Code – объект код услуги
          • Key – ключ услуги
          • Value – название услуги
        • ByScheduler – флаг услуга по расписанию или нет
        • Details – объект детализация услуги
          • SubCode1 – объект доп. описание 1
            • Key – ключ доп. описания 1
            • Value – название доп. описания 1
          • SubCode2 – объект доп. описание 2
            • Key – ключ доп. описания 2
            • Value – название доп. описания 2
          • Date – дата услуги
          • IsShowTransportPlan – признак показывать ли план рассадки (для автобусов)
          • Cost – цена
          • QuotaStatus – объект информация по квотам
            • PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
            • FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
            • IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
          • PartnerId – идентификатор партнера
          • ByPax – признак цены за человека
          • Partner – объект партнер (не заполняется)
            • Key – ключ (не заполняется)
            • Value – название (не заполняется)
        • ParentId – идентификатор родительской услуги (для вложенных услуг)
        • PartnerBasedOnServiceTemplateId – ключ шаблона услуги, по которой приоритетно выбирается партнер текущей услуги
        • Id – идентификатор услуги
        • SvKey – ключ типа услуги
        • IsSubCode1 – наличие доп. описания 1
        • IsSubCode2 – наличие доп. описания 2
        • IsPartnerBasedOn – услуга с подбором приоритетного поставщика услуги
        • Day – день предоставления услуги
        • DurationInNight – продолжительность услуги в ночах
        • BeginDateTime – дата предоставления услуги
        • EndDateTime – дата окончания услуги
        • IsHooded – скрытая ли услуга
        • IsDeleted – удаляемая ли услуга
        • IsNotCalculate – не рассчитываемая ли услуга
        • PacketId – пакет услуги
        • Index – индекс услуги
      • MinCostServicesComposition – массив состав услуг минимальной цены
        • Key – ключ
          • TemplateId – идентификатор шаблона
          • PatternId – идентификатор вкладки
          • SettingId – идентификатор услуги
        • Value – значение
          • ServiceType – тип услуги
          • Code – ключ услуги
          • SubCode1доп. описание 1
          • SubCode2доп. описание 2
          • PacketId – пакет услуги
          • PartnerId – партнер услуги
          • CountryId – страна услуги
          • CityId – город услуги
          • Day – день предоставления услуги
          • DurationInNight – продолжительность услуги в ночах
        • COAndSpecialsInfo – формирует, фильтрует и выдаёт списки применённых акций и ценовых блоков
          • AppliedCostOffersKeys – коллекция идентификаторов всех применённых ценовых блоков к одной цене
          • AppliedSpeciasInfo – коллекция всех применённых акций к одной цене, содержит информацию об условиях, с которыми применилась каждая акция
            • SpecialKey – ключ акции
            • SpecialName – название акции
            • SpecialType – тип акции
            • NewPrice – цена после применения акции
            • OldPrice – цена до применения акции
            • ShowOnline – нужно ли показывать акцию в поиске
            • UntilDate – акция действует при совершении покупки до указанной даты
            • Condition – json форма условия применения акции. Данное поле включает в себя следующие значения в зависимости от типа акции:
              • NightsFrom (для типа PayStay) – ночей от
              • NightsTo (для типа PayStay) – ночей до
              • NightValue (для типа PayStay) – значение ночи, которое соответствует заданному периоду
              • OperationType (для типа PayStay) – тип действия
              • SpecialNightType (для типа PayStay) – тип бесплатной ночи
              • DurationFrom (для типа KickBack) – ночей от
              • DurationTo (для типа KickBack) – ночей до
              • Value (для типа KickBack) – значение продолжительности, равное заданному периоду
              • OperationType (для типа KickBack) – тип действия
              • NightsFrom (для типа EarlyBird) – ночей от
              • NightsTo (для типа EarlyBird) – ночей до
              • Discount (для типа EarlyBird) – размер скидки
              • OperationType (для типа EarlyBird) – тип действия
        • COBySubCode – список применённых идентификаторов ценовых блоков по SubCode1 и SubCode2
        • SpecialsBySubCode – список применённых акций по SubCode1 и SubCode2
      • FlightWeight
      • LinkingFlightsRules – объект правил связывания
        • notCombineDifferentAirlineRule – объект не скрещивать авиакомпании
          • airlines – авиакомпании
          • flightSettings – массив ключей ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
        • checkPlusMinus1CharterRule – объект Отличие номера рейса на 1
          • FlightSettingPairs – массив чартеров, для которых это правило будет выполняться
          • enabled – флаг включен/выключен
        • notCombineDifferentTariffGroupRule – объект не комбинировать рейсы от разных классов перелетов
          • FlightSettings – массив ключей ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
        • notCombineDifferentPartnerRule – объект не комбинировать рейсы от разных партнеров
          • FlightSettings – массив ключей ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
        • departureCityEqualsArrivalCityRule – объект Город вылета = городу прилета
          • FlightSettingPairs – чартеры, для которых это будет выполняться
          • enabled – флаг включен/выключен
        • combineOnlySpecificChartersRule – объект не комбинировать различные классы перелетов
          • settings – массив ключей чартеров CharterIds и ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
      • RouteSubVariants – подварианты услуг (используется в основном поиске)
    • SecondaryFiltersResult – результаты доп. фильтров
      • TourTypes – типы тура
        • Id – ключ типа тура
        • Name – название типа тура
        • ParentId – родительский элемент типа тура (если есть)
        • Type – тип справочника (используется для внутренних целей)
      • TourPrograms – информация по каждой турпрограмме
        • Key – ключ турпрограммы
        • Name – название турпрограммы
        • TourUrl – ссылка на тур
        • BookingConditions – условия бронирования
        • IsLandOnly – признак только наземное обслуживание
        • IsRestrictMultiHotels – ограничивать ли расчёт многоотельных туров категориями отелей
        • IsHotelTemplates – есть ли вообще отели в данной турпрограмме
        • IsRouteServices – есть ли маршрутные услуги
        • MultiHotelDelta – Значение отклонения звездности последующих отелей от первого отеля в многоотельном туре. По умолчанию 0. Звездность определяется числом, заданном в поле порядок при печати.
        • Rate – валюта тура
        • DateStart – нижняя граница дат заезда по программе тура
        • DateEnd – верхняя граница дат заеда по программе тура
        • Status – статус турпрограммы
          • Key – ключ
          • Value – значение
        • Templates – шаблоны услуг
          • $id – шаблон 1
          • $id – шаблон 2
        • Types – типы тура
          • Id – ключ типа тура
          • Name – название типа тура
          • ParentId – родительский элемент типа тура (если есть)
          • Type – тип справочника (используется для внутренних целей)
        • LinkingFlightsRules – правила связывания перелетов
          • notCombineDifferentAirlineRule
            • airlines
            • flightSettings
            • enabled
          • checkPlusMinus1CharterRule
            • FlightSettingPairs
            • enabled
          • notCombineDifferentTariffGroupRule
            • FlightSettings
            • enabled
          • notCombineDifferentPartnerRule
            • FlightSettings
            • enabled
          • departureCityEqualsArrivalCityRule
            • FlightSettingPairs
            • enabled
          • combineOnlySpecificChartersRule
            • settings
            • enabled
        • XmlSettings – строка xml для актуальных фильтров
        • Type – тип справочника (используется для внутренних целей)
      • TourDurations – продолжительность тура
      • TourDates – список дат заездов в турпрограмме
        • HotelCities – город в дополнительных фильтрах
          • '
        • HotelResorts – курорты в дополнительных фильтрах
          • '
        • HotelCategories – категории отеля в дополнительных фильтрах
          • '
        • Hotels – отели в дополнительных фильтрах
          • '
        • Pansions – питания в дополнительных фильтрах
          • '
        • Airlines – авиакомпании в дополнительных фильтрах
          • '
        • FlightTariffs – класс перелета в дополнительных фильтрах
          • '
        • DepartureCities – города вылета в дополнительных фильтрах
          • '
        • DepartureAirports – аэропорты вылета в дополнительных фильтрах
          • '
        • ArrivalCities – города прибытия в дополнительных фильтрах
          • '
        • ArrivalAirports – аэропорты прибытия в дополнительных фильтрах
          • '
        • HotelTypes – признаки отелей в дополнительных фильтрах
          • '
развернутьПример



Поиск туров онлайн (TourForWeb)

Метод поиска туров использует множество параметров для поиска и фильтрации туров. Метод возвращает наиболее дешевые предложения, найденные по предоставленным параметрам и сгруппированные по отелям в порядке возрастания цены. В зависимости от параметров запроса, дополнительных фильтров формат запроса имеет отличия.

  • Обычный формат запроса GET:
    • GET .../TourSearchOwin/TourForWeb/search/simple?
  • Принимаемые параметры ( * – обязательный):
    • DepartureCityKeys * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
    • Dates * – массив дат заезда (полученные из метода .../TourSearchOwin/TourDate?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
    • Durations * – массив продолжительностей (полученные из метода .../TourSearchOwin/Duration?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
    • PageNumber * – номер возвращаемой страницы (по умолчанию возвращается 1)
    • PageSize * – количество возвращаемых результатов на одной странице (возвращается 20)
    • HotelScheme * – объект схемы отеля
    • TourKey – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: ключ программы тура
    • TourDuration – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: продолжительность тура в днях
    • ShowToursWithoutHotels – показывать ли туры без проживания
    • isFromBasket * – происходит ли обращение из корзины или из поиска туров (true/false).
    • isFillSecondaryFilters * – заполнены ли дополнительные фильтры (true/false)
    • DestinationType * – тип результата (всегда возвращается в JSON = 1, в xml = country)
    • DestinationKey * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
    • AdultCount * – количество взрослых
    • CurrencyName * – код валюты
    • AviaQuota * – информация о квотах на авиаперелет (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
    • HotelQuota * – информация о квотах на отель (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
    • BusTransferQuota – информация о квотах на автобусный переезд (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
    • TourType – тип тура
    • CityIds – идентификатор города
    • TimeDepartureFrom – время отправления с (по умолчанию возвращается 00:00)
    • TimeDepartureTo – время отправления по (по умолчанию возвращается 23:59)
    • TimeArrivalFrom – время прибытия с (по умолчанию возвращается 00:00)
    • TimeArrivalTo – время прибытия по (по умолчанию возвращается 23:59)
    • SearchId – уникальный идентификатор запроса поиска, передаваемый с клиентской части. Возвращается в ответе без изменений. Обрабатывается начиная с релиза 15.5.
    • MatrixAlgoritm – используется ли дополнительный фильтр «Таблица цен»
    • SearchMaxPriceAlgoritm
    • wrongLicenseFileUpperTitle – проверка файла лицензии
    • RemoteHotelMode – признак того, производится поиск только локальных отелей или и от внешних поставщиков тоже (только локальные отели – 0, только внешние отели – 2, локальные и внешние отели – 1). Если признак отсутствует – поиск будет только по локальным отелям. Обрабатывается начиная с релиза 15.4.
  • Возвращаемый результат:
    • Result – результаты поиска
      • Key – идентификатор программы тура
      • Name – название программы тура
      • TourUrl – ссылка на программу тура
      • BookingConditions – условия бронирования программы туров
      • DefaultManagers – менеджер по-умолчанию
      • Manager – обозначение менеджера
      • Branches – филиал
      • DetermineTheBranchOnCity – признак определения филиала в зависимости от города начала поездки
      • StartDate – дата начала тура
      • Duration – продолжительность тура (в днях)
      • DurationInNight – продолжительность проживания (в ночах)
      • Types – идентификатор типа туров
      • Cost – цена тура
      • Rate – код валюты тура
      • CityDepature – город отправления
        • Key – идентификатор города отправления
        • Value – название города отправления
      • CountryId – всегда возвращается ключ 0
      • Services – услуги в туре
        • DepartureCity – город отправления
          • Key – идентификатор
          • Value – название
        • DepartureCountry – страна отправления
          • Key – идентификатор
          • Value – название
        • ArrivalCity – город прибытия
          • Key – идентификатор
          • Value – название
        • ArrivalCountry – страна прибытия
          • Key – идентификатор
          • Value – название
        • DepartureAirport – аэропорт отправления
          • Key – идентификатор
          • Value – название
        • ArrivalAirport – аэропорт прибытия
          • Key – идентификатор
          • Value – название
        • Airline – авиакомпания
          • Key – идентификатор
          • Value – название
        • Aircraft – воздушное судно
          • Key – идентификатор
          • Value – название
        • Flight – рейс
          • Key – идентификатор
          • Value – название
        • DepartureTime – время вылета
        • ArrivalTime – время прилета
        • TotalTimeOfFlight – полное время перелета
        • FlightDetails – детали авиаперелета
          • Tariff – информация о тарифе перелета
            • Key – идентификатор
            • Code – код тарифа
            • Name – наименование тарифа
          • IsCommission – признак, комиссионная ли услуга
          • Cost – разница в стоимости с самым дешевым вариантом
          • QuotaStatus – информация о квоте
            • PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
            • FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
            • IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
          • PartnerId – ключ партнера
          • ByPax – цена за человека (true/false)
          • Partner – информация о партнере
            • Key – идентификатор
            • Value – наименование
        • FlightSetting – информация о шаблоне услуги авиаперелета
          • ServiceId – идентификатор класса услуги (внутренняя информация из программы туров)
          • PatternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
          • FlightId – идентификатор внешнего перелета
        • FlightSourceMode – локальный или удаленный перелет (внутренняя информация из программы туров)
        • Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
        • SvKey – ключ типа услуги
        • IsSubCode1 – признак наличия доп. описания 1
        • IsSubCode2 – признак наличия доп. описания 2
        • IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
        • Day – день предоставления услуги
        • DurationInNight – продолжительность услуги в ночах
        • BeginDateTime – дата предоставления услуги
        • EndDateTime – дата окончания услуги
        • IsHooded – признак скрытая услуга
        • IsDeleted – признак удаляемая услуга
        • IsNotCalculate – признак не рассчитываемая услуга
        • PacketId – ключ пакета
        • Index – порядковый номер услуги
        • DepartureCity – город отправления
          • Key – ключ города
          • Value – наименование города
        • DepartureCountry – страна отправления
          • Key – ключ страны
          • Value – наименование страны
        • ArrivalCity – город прибытия
          • Key – ключ города
          • Value – наименование города
        • ArrivalCountry – страна прибытия
          • Key – ключ страны
          • Value – наименование страны
        • DepartureAirport – аэропорт прилета
          • Key – ключ аэропорта
          • Value – наименование аэропорта
        • ArrivalAirport – аэропорт прилета
          • Key – ключ аэропорта
          • Value – наименование аэропорта
        • Airline – наименование авиакомпании
          • Id – идентификатор авиакомпании
          • Value – наименование авиакомпании
          • Key – ключ авиакомпании
        • Aircraft – воздушное судно
          • Key – ключ воздушного судна
          • Value – наименование воздушного судна
        • Flight – перелет
          • Key – ключ перелета
          • Value – наименование авиаперелета
        • DepartureTime – время отправления
        • ArrivalTime – время прилета
        • TotalTimeOfFlight – полное время перелета
        • FlightDetails – информация об авиаперелете
          • Tariff – информация о тарифе перелета
            • Key – идентификатор
            • Code – код тарифа
            • Name – название тарифа
          • IsCommission – признак, комиссионная ли услуга
          • Cost – разница в стоимости с самым дешевым вариантом
          • QuotaStatus – информация о квоте
            • PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
            • FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
            • IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
          • PartnerId – ключ партнера
          • ByPax – цена за человека (true/false)
          • Partner – информация о партнере
            • Key – идентификатор
            • Value – наименование
        • FlightSetting – внутренняя информация о перелете из программы туров
          • ServiceId – идентификатор класса услуги (внутренняя информация из программы туров)
          • PatternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
          • FlightId – идентификатор перелета (внутренняя информация из программы туров)
        • FlightSourceMode – локальный или удаленный перелет (внутренняя информация из программы туров)
        • Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
          • SvKey – ключ типа услуги
        • IsSubCode1 – признак наличия доп. описания 1
        • IsSubCode2 – признак наличия доп. описания 2
        • IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
        • Day – день предоставления услуги
        • DurationInNight – продолжительность услуги в ночах
        • BeginDateTime – дата предоставления услуги
        • EndDateTime – дата окончания услуги
        • IsHooded – признак скрытая услуга
        • IsDeleted – признак удаляемая услуга
        • IsNotCalculate – признак не рассчитываемая услуга
        • PacketId – ключ пакета
        • Index – порядковый номер услуги
        • Hotel – отель
          • Key – ключ отеля
          • Value – наименование отеля
        • City – город
          • Key – ключ города
          • Value – наименование города
        • Stars – категория отеля
          • Key – ключ категории отеля
          • Value – наименование категории отеля
        • StarsGlobalCode – глобальный код категории отеля
          • Key – глобальный ключ категории отеля
          • Value – наименование категории отеля
        • Resort – курорт
          • Key – ключ курорта
          • Value – наименование курорта
        • ImageURL – ссылка на лого отеля
        • Http – ссылка на сайт отеля
        • Description – описание
        • Latitude – GPS координаты: географическая широта
        • Longitude – GPS координаты: географическая долгота
        • Country – страна
          • Key – ключ страны
          • Value – наименование страны
        • HotelDetails – массив данных отель
          • HotelRoom – категория номера
          • Room – номер
            • Key – ключ номера
            • Value – наименование номера
          • RoomCategory – тип номера
            • Key – ключ типа номера
            • Value – наименование типа номера
          • AccomodationType – тип размещения
            • Key – ключ типа размещения
            • Value – наименование типа размещения
            • AdultCount – количество взрослых
            • ChildCount – количество детей
          • Pansion – тип питания
            • Key – ключ типа питания
            • Value – наименование типа питания
          • PansionGlobalCode – глобальный код типа питания
            • Key – ключ типа питания
            • Value – наименование типа питания
          • RemoteId – не используется
          • Cost – разница в стоимости с самым дешевым вариантом
          • QuotaStatus – информация о квоте
            • PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
            • FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
            • IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
          • PartnerId – ключ партнера
          • ByPax – цена за человека (true/false)
          • Partner – информация о партнере
            • Key – идентификатор
            • Value – название
        • HotelTypes – признаки отелей в дополнительных фильтрах
          • Key – ключ
          • Value – значение
        • RemoteId – не используется
        • COAndSpecialsInfo – формирует, фильтрует и выдаёт списки применённых акций и ценовых блоков
          • AppliedCostOffersKeys – коллекция идентификаторов всех применённых ценовых блоков к одной цене
          • AppliedSpeciasInfo – коллекция всех применённых акций к одной цене, содержит информацию об условиях, с которыми применилась каждая акция
        • Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
        • SvKey – ключ типа услуги
        • IsSubCode1 – признак наличия доп. описания 1
        • IsSubCode2 – признак наличия доп. описания 2
        • IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
        • Day – день предоставления услуги
        • DurationInNight – продолжительность услуги в ночах
        • BeginDateTime – дата предоставления услуги
        • EndDateTime – дата окончания услуги
        • IsHooded – признак скрытая услуга
        • IsDeleted – признак удаляемая услуга
        • IsNotCalculate – признак не рассчитываемая услуга
        • PacketId – ключ пакета
        • Index – порядковый номер услуги
      • NotRouteServices – массив коллекций немаршрутных услуг (например если две экскурсии будут являться одним элементом массива, то это будет говорить о том, что эти экскурсии можно будет выбрать в выпадающем списке)
      • MinCostServicesComposition – массив состав услуг минимальной цены
        • Key – ключ
          • TemplateId – идентификатор шаблона
          • PatternId – идентификатор вкладки
          • SettingId – идентификатор услуги
        • Value – значение
          • ServiceType – тип услуги
          • Code – ключ услуги
          • SubCode1доп. описание 1
          • SubCode2доп. описание 2
          • PacketId – пакет услуги
          • PartnerId – партнер услуги
          • CountryId – страна услуги
          • CityId – город услуги
          • Day – день предоставления услуги
          • DurationInNight – продолжительность услуги в ночах
          • GDSProviderId – ключ провайдера из внешней системы
          • COAndSpecialsInfo – формирует, фильтрует и выдаёт списки применённых акций и ценовых блоков
            • AppliedCostOffersKeys – коллекция идентификаторов всех применённых ценовых блоков к одной цене
            • AppliedSpeciasInfo – коллекция всех применённых акций к одной цене, содержит информацию об условиях, с которыми применилась каждая акция
          • COBySubCode – список применённых идентификаторов ценовых блоков по SubCode1 и SubCode2
          • SpecialsBySubCode – список применённых акций по SubCode1 и SubCode2
      • FlightWeight – общий вес перелетов маршрута
      • LinkingFlightsRules – объект правил связывания
        • notCombineDifferentAirlineRule – объект не скрещивать авиакомпании
          • airlines – авиакомпании
          • flightSettings – массив ключей ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
        • checkPlusMinus1CharterRule – объект Отличие номера рейса на 1
          • FlightSettingPairs – массив чартеров, для которых это правило будет выполняться
          • enabled – флаг включен/выключен
        • notCombineDifferentTariffGroupRule – объект не комбинировать рейсы от разных классов перелетов
          • FlightSettings – массив ключей ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
        • notCombineDifferentPartnerRule – объект не комбинировать рейсы от разных партнеров
          • FlightSettings – массив ключей ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
        • departureCityEqualsArrivalCityRule – объект Город вылета = городу прилета
          • FlightSettingPairs – чартеры, для которых это будет выполняться
          • enabled – флаг включен/выключен
        • combineOnlySpecificChartersRule – объект не комбинировать различные классы перелетов
          • settings – массив ключей чартеров CharterIds и ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
      • RouteSubVariants – подварианты услуг (используется в основном поиске)
      • Routes – массив возможных маршрутов в данной программе туров
      • IsRemoteHotels – удаленные отели
    • SecondaryFiltersResult – результаты доп. фильтров
      • TourTypes – типы тура
        • Id – ключ типа тура
        • Name – название типа тура
        • ParentId – родительский элемент типа тура (если есть)
        • Type – тип справочника (используется для внутренних целей)
      • TourPrograms – информация по каждой турпрограмме
        • Key – ключ турпрограммы
        • Name – название турпрограммы
        • TourUrl – ссылка на тур
        • BookingConditions – условия бронирования
      • DefaultManagers – менеджер по-умолчанию
      • Manager – обозначение менеджера
      • Branches – филиал
      • DetermineTheBranchOnCity – признак определения филиала в зависимости от города начала поездки
        • IsLandOnly – признак только наземное обслуживание
        • IsApplyMarginAddCostToRemoteService
        • IsRestrictMultiHotels – ограничивать ли расчёт многоотельных туров категориями отелей
        • IsHotelTemplates – есть ли вообще отели в данной турпрограмме
        • IsRouteServices – есть ли маршрутные услуги
        • IsAviaBooking
        • MultiHotelDelta – Значение отклонения звездности последующих отелей от первого отеля в многоотельном туре. По умолчанию 0. Звездность определяется числом, заданном в поле порядок при печати.
        • Rate – валюта тура
        • RateId – идентификатор валюты тура
        • DateStart – нижняя граница дат заезда по программе тура
        • DateEnd – верхняя граница дат заезда по программе тура
        • DateList – список дат заездов
        • UpdateDate – дата обновления
        • Status – статус турпрограммы
          • Key – ключ
          • Value – значение
        • Templates – шаблоны услуг
          • $id – шаблон 1
          • $id – шаблон 2
        • Types – типы тура
          • Id – ключ типа тура
          • Name – название типа тура
          • ParentId – родительский элемент типа тура (если есть)
          • Type – тип справочника (используется для внутренних целей)
        • LinkingFlightsRules – правила связывания перелетов
        • notCombineDifferentAirlineRule – объект не скрещивать авиакомпании
          • airlines – авиакомпании
          • flightSettings – массив ключей ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
        • checkPlusMinus1CharterRule – объект Отличие номера рейса на 1
          • FlightSettingPairs – массив чартеров, для которых это правило будет выполняться
          • enabled – флаг включен/выключен
        • notCombineDifferentTariffGroupRule – объект не комбинировать рейсы от разных классов перелетов
          • FlightSettings – массив ключей ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
        • notCombineDifferentPartnerRule – объект не комбинировать рейсы от разных партнеров
          • FlightSettings – массив ключей ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
        • departureCityEqualsArrivalCityRule – объект Город вылета = городу прилета
          • FlightSettingPairs – чартеры, для которых это будет выполняться
          • enabled – флаг включен/выключен
        • combineOnlySpecificChartersRule – объект не комбинировать различные классы перелетов
          • settings – массив ключей чартеров CharterIds и ServiceId, PatternId, FlightId
          • enabled – флаг включен/выключен
        • XmlSettings – строка xml для актуальных фильтров
        • IsMultiHotel
        • Type – тип справочника (используется для внутренних целей)
      • TourDurations – продолжительность тура
      • TourDates – список дат заездов в турпрограмме
        • HotelCities – город в дополнительных фильтрах
          • key – ключ города
          • Country – страна
            • key – ключ страны
            • name – наименование страны
            • Code – код страны
            • DigitCode – цифровой код
            • Alpha2Code
            • Alpha3Code
            • CitizenName – наименование страны
            • CitizenNameLat – наименование страны латиницей
            • PassportMinDurCheckFrom
            • CheckINN – проверка ИНН
            • PassportMinDur
            • INNName – наименование поля ИНН
            • Web
            • WebImage – логотип страны
            • WebHTTP – сайт
            • AnkLang
            • Key – ключ страны
            • Type – тип (страна)
          • name – наименование города
          • Code – код города
          • Web
          • RSKey
          • WebImage
          • IsDeparture
          • Key – ключ города
          • Type – тип (город)
        • HotelResorts – курорты в дополнительных фильтрах
          • CountryKey – ключ
          • Name – наименование
          • NameLat – наименование латиницей
          • Key – ключ
          • Type – тип (курорт)
        • HotelCategories – категории отеля в дополнительных фильтрах
          • Name – наименование категории
          • PrintNumber – номер для печати
          • GlobalCode – глобальный код
          • Key – ключ
          • Type – тип (категория отеоля)
        • Hotels – отели в дополнительных фильтрах
          • Country – страна
            • key – ключ страны
            • name – наименование страны
            • Code – код страны
            • DigitCode – цифровой код
            • Alpha2Code
            • Alpha3Code
            • CitizenName – наименование страны
            • CitizenNameLat – наименование страны латиницей
            • PassportMinDurCheckFrom
            • CheckINN – проверка ИНН
            • PassportMinDur
            • INNName
            • Web
            • WebImage – логотип страны
            • WebHTTP – сайт
            • AnkLang
            • Key – ключ страны
            • Type – тип (страна)
        • Сity – город
          • key – ключ города
          • Country – страна
            • key – ключ страны
            • name – наименование страны
            • Code – код страны
            • DigitCode – цифровой код
            • Alpha2Code
            • Alpha3Code
            • CitizenName – наименование страны
            • CitizenNameLat – наименование страны латиницей
            • PassportMinDurCheckFrom
            • CheckINN – проверка ИНН
            • PassportMinDur
            • INNName
            • Web
            • WebImage – логотип страны
            • WebHTTP – сайт
            • AnkLang
            • Key – ключ страны
            • Type – тип (страна)
          • name – наименование города
          • Code – код города
          • Web
          • RSKey
          • WebImage
          • IsDeparture
          • Key – ключ города
          • Type – тип (город)
        • Resort – курорт
          • ResortKey – ключ курорта
          • Name – наименование
          • Category – категория
            • Name – наименование категории
            • PrintNumber – ключ для печати
            • GlobalCode – глобальный код
            • Key – ключ
            • Type – тип (категория отеля)
          • CategoryKey – ключ категории
          • TimeFrom – время с
          • TimeTo – время по
          • HTTP": сайт
          • Stars – категория
          • TimeIsEmpty – вышло ли время
          • NameLat – наименование латиницей
          • Address – адрес
          • IsCruise – имеется круиз
          • Phone – телефон
          • Email – E-mail
          • Fax – факс
          • Code – код
          • Site – сайт
          • Descript – описание
          • PayHourNote – час оплаты
          • EarlyCheckInSurcharge – доплаты за ранний заезд
          • LateCheckOutSurcharge – доплата за поздний выезд
          • Latitude – GPS координаты: географическая широта (обрабатывается с релиза 15.6)
          • Longitude – GPS координаты: географическая долгота (обрабатывается с релиза 15.6)
          • DescExcur
          • DescSport
          • DescHealth
          • DescService
          • Key – ключ
          • Type – тип (отель)
        • Pansions – питание
          • Code – код питания
          • Name – наименование питания
          • NameLat – наименование питания латиницей
          • GlobalCode – глобальный код
          • Key – ключ
          • Type – тип (питание)
        • Airlines – авиакомпании в дополнительных фильтрах
          • Key – ключ авиакомпании
          • Code – код авиакомпании
          • ICAO – код ИКАО
          • Name – наименование авиакомпании
          • NameLat – наименование авиакомпании латиницей
          • Type – тип (авиакомпания)
        • FlightTariffs – класс перелета в дополнительных фильтрах
          • Key – ключ
          • Code – код
          • Name – наименование
          • NameLat – наименование латиницей
          • Group – группа
          • Type – тип (авиаперелет)
        • DepartureCities – города вылета в дополнительных фильтрах
          • key – ключ города
          • Country – страна
            • key – ключ страны
            • name – наименование страны
            • Code – код страны
            • DigitCode – цифровой код
            • Alpha2Code
            • Alpha3Code
            • CitizenName – наименование страны
            • CitizenNameLat – наименование страны латиницей
            • PassportMinDurCheckFrom
            • CheckINN – проверка ИНН
            • PassportMinDur
            • INNName
            • Web
            • WebImage – логотип страны
            • WebHTTP – сайт
            • AnkLang
            • Key – ключ страны
            • Type – тип (страна)
          • name – наименование города
          • Code – код города
          • Web
          • RSKey
          • WebImage
          • IsDeparture
          • Key – ключ города
          • Type – тип (город)
        • DepartureAirports – аэропорты вылета в дополнительных фильтрах
          • Key – ключ
          • Code – код аэропорта
          • Name – наименование аэропорта
          • NameLat – наименование аэропорта латиницей
          • CityKey – ключ города
          • CountryKey – ключ страны
          • Letter – присвоенный символд
          • Site – сайт
          • Type – тип (аэропорт)
        • ArrivalCities – города прибытия в дополнительных фильтрах
          • key – ключ города
          • Country – страна
            • key – ключ страны
            • name – наименование страны
            • Code – код страны
            • DigitCode – цифровой код
            • Alpha2Code
            • Alpha3Code
            • CitizenName – наименование страны
            • CitizenNameLat – наименование страны латиницей
            • PassportMinDurCheckFrom
            • CheckINN – проверка ИНН
            • PassportMinDur
            • INNName
            • Web
            • WebImage – логотип страны
            • WebHTTP – сайт
            • AnkLang
            • Key – ключ страны
            • Type – тип (страна)
          • name – наименование города
          • Code – код города
          • Web
          • RSKey
          • WebImage
          • IsDeparture
          • Key – ключ города
          • Type – тип (город)
        • ArrivalAirports – аэропорты прибытия в дополнительных фильтрах
          • Key – ключ аэропорта
          • Code – код аэропорта
          • Name – наименование аэропорта
          • NameLat – наименование аэропорта латиницей
          • CityKey – ключ города
          • CountryKey – ключ страны
          • Letter – буква аэропорта
          • Site – сайт
          • Type – тип (аэропорт)
        • HotelTypes – признаки отелей в дополнительных фильтрах
          • key – ключ
          • name – обозначение
          • Type – тип (отель)
        • ComplexHotelIds
        • Message – сообщение
          • Key – ключ
          • Value – значение
развернутьПример


  • Формат запроса GET с таблицей цен:
    • GET .../TourSearchOwin/TourForWeb/search/matrix?
  • Принимаемые параметры ( * – обязательный):

Аналогичны стандартному запросу (simple)

  • Возвращаемый результат:
    • CellsForMatrix – ячейки таблицы
      • Key – ключ
      • StartDate – дата начала
      • Duration – продолжительность
      • DurationInNight – количество ночей
      • Cost – цена
    • CitiesWithMinimalCosts – города с минимальной ценой
      • DepartureCityKey – ключ города отправления
      • ArrivalCityKey – ключ города прибытия
      • DepartureCityName – наименование города отправления
      • ArrivalCityName – наименование города прибытия
      • RouteMinimalPrice – минимальная цена маршрута
    • TourMinimalAndMaximalCost – минимальная и максимальная цены тура
      • MinimalPrice – минимальная цена
      • MaximalPrice – максимальная цена
развернутьПример


  • Формат запроса GET с минимальной и максимальной ценой:
    • GET .../TourSearchOwin/TourForWeb/search/minMaxPrices?
  • Принимаемые параметры ( * – обязательный):

Аналогичны стандартному запросу (simple)

  • Возвращаемый результат:
    • MinimalPrice – минимальная цена
    • MaximalPrice – максимальная цена
развернутьПример


Проверка дублирующих туристов (CheckDoubleDogovor)

Метод проверяет есть ли дублирующие туристы в существующих путевках. Проверка на дублирование регулируется настройкой Предупреждать при дублировании туристов.

  • Формат запроса POST:
    • POST .../TourSearchOwin/CheckDoubleDogovor
  • Принимаемые параметры ( * – обязательный):
    • TourProgramId – ключ турпрограммы
    • BeginDate – дата начала тура
    • Duration – продолжительность тура
    • Currency – код валюты
    • Services – массив услуг авиаперелетов для получения доплат
      • Service – объект услуга авиаперелет
        • ServiceType – тип услуги
        • Code – код услуги
        • SubCode1доп. описание 1 услуги
        • SubCode2доп. описание 2 услуги
        • Packet – ключ пакета услуги
        • Partner – ключ партнера услуги
        • Day – день предоставления услуги
        • DurationInNight – продолжительность услуги в ночах
        • City – ключ города
        • Country – страна услуги
        • Attributes – битовая маска атрибутов услуг
        • IsRemovable – (не обрабатывается)
        • Type – тип услуги в путевке (базовая дополнительная)
        • IsHooded – признак скрытая услуга
        • IsNotCalculated – признак не рассчитываемая услуга
        • BeginDateTimeString – дата и время начала услуги
        • EndDateTimeString – дата и время окончания услуги
        • TemplateId – шаблон услуги
        • Cost – цена услуги
        • ByPax – цена за человека
        • QuotaStatus – объект статус квотирования
          • PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
          • FreePlaces – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
          • IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
        • Index – индекс услуги
        • IsRoute – признак маршрутная услуга
        • ServiceTemplateIndex – индекс шаблона услуги
        • RemoteId – информация об услуге в удаленной системе
        • IsCommission – признак, комиссионная ли услуга
        • BaseFlightsParams – параметры рассчитанных авиаперелетов
          • CityArrival – ключ города прибытия прямого перелета
          • FlightCode – ключ прямого авиаперелета
          • TariffKey – ключ тарифа прямого авиаперелета
          • PartnerId – ключ партнера прямого авиаперелета
      • TouristNumbersList – массив туристов, привязанных к услуге
    • Tourists – массив туристов
      • IsMain – главный турист
      • Number – порядковый номер туриста
      • AgeType – тип туриста (0 – взрослый, 1 – ребенок, 2 – инфант)
      • MaleFemaleSex – пол (0 – мужской, 1 – женский)
      • FirstName – имя (лат)
      • LastName – фамилия (лат)
      • Patronymic – отчество (лат)
      • FirstNameRus – имя (рус)
      • LastNameRus – фамилия (рус)
      • PatronymicRus – отчество (рус)
      • InternationalPassportSeries – серия загранпаспорта
      • InternationalPassportNumber – номер загранпаспорта
      • InternationalPassportDateOfIssue – дата выдачи загранпаспорта (YYYY-MM-DDThh:mm:ssz)
      • InternationalPassportDateOfIssueString – дата выдачи загранпаспорта в строковом формате (DD.MM.YYYY)
      • InternationalPassportDateOfExpiry – дата окончания действия загранпаспорта (YYYY-MM-DDThh:mm:ssz)
      • InternationalPassportDateOfExpiryString – дата окончания действия загранпаспорта в строковом формате (DD.MM.YYYY)
      • internationalPassportByWhom – кем выдан загранпаспорт
      • PassportSeries – серия паспорта
      • PassportNumber – номер паспорта
      • PassportDateOfIssue – дата выдачи паспорта (YYYY-MM-DDThh:mm:ssz)
      • PassportDateOfIssueString – дата выдачи паспорта в строковом формате (DD.MM.YYYY)
      • PassportByWhom – кем выдан паспорт
      • Citizenship – название страны
      • Phone – телефон
      • Email – e-mail
      • BirthDay – дата рождения (YYYY-MM-DDThh:mm:ssz)
      • BirthDayString – дата рождения в строковом формате (DD.MM.YYYY)
      • BirthPlace – место рождения
      • CitizenID – ID туриста (задается в карточке постоянного клиента)
      • Age – количество полных лет на момент окончания тура
    • TechnicalProblemsDuringUpdateFlights – технические проблемы при обновлении рейсов
    • TimeLimit – лимит времени
    • CountryKey – ключ страны
    • OwnerId – ключ ведущего менеджера (начиная с релиза 15.3). Если 0, то берется по умолчанию. Если по умолчанию не указан, то берется создатель тура.
    • Day – день
    • Day2 – дня
    • Days – дней
    • Night – ночь
    • Night2 – ночи
    • Nights – ночей
    • adultsCountOverServiceLimit – Количество взрослых туристов превышает лимит услуги
    • incorrectChildrenInf – Возраст детей не соответствует допустимому в выбранном варианте размещения (см. Услуги: Проживание)
  • Возвращаемый результат:
    • Errors – описание ошибки
    • Warnings – предупреждение
    • States – статус
    • IsValid – результат проверки подключения (true/false)
развернутьПример


Дополнительные методы

Выгрузка измененных турпрограмм (TourProgram) начиная с релиза 15.3

Метод производит выгрузку измененных турпрограмм.

  • Формат запроса:
    • GET .../TourSearchOwin/TourProgram?
  • Принимаемые параметры GET запроса ( * – обязательный):
    • fromDateTime – дата (в формате dd.MM.yyyy HH:mm:ss), начиная с которой будут выгружаться изменения
  • Возвращаемый результат:
    • Key – ключ программы туров
    • Name – название программы туров
    • UpdateDate – дата последнего изменения программы туров (или связанных с ней компонентов)
    • routes – массив возможных маршрутов в данной программе туров
      • departureCountryKey – страна начала поездки (для каждой страны начала поездки в одной программе тура будет отдельный маршрут)
      • departureCityKey – город начала поездки (для каждого города начала поездки в одной программе тура будет отдельный маршрут)
      • destinationCountryKeys – страны по туру (если в туре несколько услуг класса отель и они в разных странах, то будут возвращаться все страны отелей)
      • destinationCityKeys – города по туру (если в туре отели в нескольких городах, то будут возвращаться все города отелей)
      • tourTypeKeys – типы туров для данной программы туров
развернутьПример


Проверка построения маршрутов турпрограммы (CheckTourProgram)

Метод производит построение маршрутов турпрограмм (вызывается из проверки тура).

  • Формат запроса:
    • GET .../TourSearchOwin/CheckTourProgram?
  • Принимаемые параметры GET запроса ( * – обязательный):
    • tourKey – ключ турпрограммы
  • Возвращаемый результат:
    • Message – сообщение Начинаем строить маршрут.
    • Message – сообщение Маршрутов по данной программе тура построилось – количество
    • Message – сообщение Построено каркасов маршрутов (без конкретных отелей) – количество
развернутьПример


Получение разметки формы для новой формы быстрого поиска (GetJavascriptFile)

Метод получает разметку формы для новой формы быстрого поиска.

  • Формат запроса:
    • GET .../TourSearchOwin/GetJavascriptFile/Get?
  • Принимаемые параметры GET запроса ( * – обязательный):
    • name – имя файла
  • Возвращаемый результат:
    • полученный файл
развернутьПример


Проверка подключения к внешним системам (GDSCheckConnection)

Метод производит проверку подключения к внешней системе.

  • Формат запроса:
    • POST .../TourSearchOwin/GDSCheckConnection?
  • Принимаемые параметры headers ( * – обязательный):
    • Content-Type * – application/json
  • Принимаемые параметры POST запроса ( * – обязательный):
    • adapterTypeName – адаптер
    • id – ключ адаптера
    • apiAddress – api-адрес
    • settings – набор настроек (у каждого адаптера индивидуальный)
      • Key – _Login
      • Value – логин
      • Key – _Password
      • Value – пароль
      • Key – _UserID
      • Value – ID пользователя
    • licenseDateExpiry – дата окончания лицензии
  • Возвращаемый результат:
    • Errors – описание ошибки
    • Warnings – предупреждение
    • States – статус
    • IsValid – результат проверки подключения (true/false)
развернутьПример


Приложения

Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)

Параметры ServiceType – это ключ типа услуги, Сode – ключ услуги, SubCode1 и SubCode2, возвращаемые при API-запросах – это параметры дополнительных описаний двух типов, индивидуальных для каждой услуги.

Ключ типа услуги (ServiceType) Наименование типа услуги Ключ услуги (Code) Доп. описание 1 (SubCode1) Таблица БД со значениями SubCode1 Доп. описание 2 (SubCode2) Таблица БД со значениями SubCode2
1 Авиаперелет индивидуальный ключ услуги Тариф AirService отсутствует отсутствует
2 Трансфер индивидуальный ключ услуги Вид транспорта Transport отсутствует отсутствует
3 Отель/Круиз индивидуальный ключ услуги Вид проживания (Тип номера + Категория номера + Тип размещения) HotelRooms (Rooms + RoomCategory + Accmdmentype) Тип питания Pansion
4 Экскурсия индивидуальный ключ услуги Вид транспорта Transport отсутствует отсутствует
5 Виза индивидуальный ключ услуги отсутствует отсутствует отсутствует отсутствует
6 Страховка индивидуальный ключ услуги Доп. описание 1 AddDescript1 Доп. описание 2 AddDescript2
8 Доп услуга в отеле/круизе индивидуальный ключ услуги Вид проживания (Тип номера + Категория номера + Тип размещения) HotelRooms (Rooms + RoomCategory + Accmdmentype) Доп. описание 2 AddDescript2
14 Автобусный переезд индивидуальный ключ услуги Место посадки BusTransferPoints Вид транспорта Transport
99 Любая пользовательская услуга индивидуальный ключ услуги Доп. описание 1 AddDescript1 Доп. описание 2 AddDescript2