Web-сервисы: Сервис бронирования — различия между версиями
[досмотренная версия] | [досмотренная версия] |
Porunova (обсуждение | вклад) (→Общие настройки) |
|||
(не показана 51 промежуточная версия 8 участников) | |||
Строка 1: | Строка 1: | ||
+ | Версия статьи от {{REVISIONDAY}}-{{REVISIONMONTH}}-{{REVISIONYEAR}}. | ||
+ | |||
+ | <table style="background-color:#ffffcc;color:black" border="1" cellpadding="10" cellspacing="0"> | ||
+ | <tr> | ||
+ | <td> | ||
+ | Более ранние версии:<br /> | ||
+ | [http://wiki.megatec.ru/index.php?title=%D0%9C%D0%B0%D1%81%D1%82%D0%B5%D1%80-Web:%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C_%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81_%D0%B1%D1%80%D0%BE%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&stableid=14107 До версии ПК «Мастер-Web» 2009.2.20.20 включительно]<br /> | ||
+ | </td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | <br /> | ||
+ | |||
==Введение== | ==Введение== | ||
− | Данный модуль включает в себя два сервиса | + | Данный модуль включает в себя '''два сервиса'''. |
− | * Сервис формирования списка услуг | + | * [[#Сервис формирования списка услуг («ServiceProvider.asmx»)|Сервис формирования списка услуг]]; |
− | * Сервис бронирования | + | * [[#Сервис бронирования (ReservationService.asmx)|Сервис бронирования]]. |
− | Сервис формирования списка услуг предназначен для получения следующей информации: | + | |
− | * | + | Сервис '''формирования списка услуг''' предназначен для получения следующей информации: |
− | * | + | * '''Общие данные''' по ключу цены, такие как '''тур''', '''продолжительности''' в '''днях''' и '''ночах''', '''описание тура''' и '''условия бронирования'''; |
− | * | + | * Список услуг, '''включенных в стоимость''', по ключу цены; |
− | * | + | * Список '''не рассчитанных услуг''' по ключу цены; |
− | Сервис бронирования предназначен для расчета стоимости совокупности услуг, с возможностью их последующего бронирования в базе данных. | + | * Список '''вариантов''' какой-либо услуги. |
+ | |||
+ | Сервис '''бронирования''' предназначен для '''расчета стоимости совокупности услуг''', с возможностью их '''последующего бронирования''' в базе данных. | ||
+ | |||
+ | ===Ссылка на тестовый сервис=== | ||
+ | С работой тестового [http://demo.megatec.ru/DS_Reservation/ServiceProvider.asmx сервиса формирования списка услуг] и [http://demo.megatec.ru/DS_Reservation/ReservationService.asmx сервиса бронирования] вы можете ознакомиться на нашем демо-сервере. | ||
+ | |||
==Установка== | ==Установка== | ||
− | |||
− | |||
===Создание виртуального каталога=== | ===Создание виртуального каталога=== | ||
− | По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия: | + | По умолчанию корневым каталогом '''IIS''' является <code>C:/Inetpub/wwwroot</code>. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:<br /> |
− | + | 1 Зайти в '''Пуск''' ('''Start''') → '''Настройки''' ('''Settings''') → '''Панель управления''' ('''Control Panel''') → '''Администрирование''' ('''Administrative Tools''') | |
− | + | ||
− | + | [[Файл: am_745.png|x500px|Панель управления]]<br /> | |
− | + | <br /> | |
− | + | 2 '''Диспетчер служб IIS'''<br /> | |
− | [[Файл: | + | [[Файл: am_746.png|x500px|Администрирование - Диспетчер служб IIS]]<br /> |
− | + | <br /> | |
− | < | + | 3 В открывшемся дереве каталогов выбрать '''Web Sites – Default Web Site'''. В открывшемся списке найти ''папку'', для которой нужно создать ''виртуальный каталог'', кликнуть по ней правой кнопкой мыши и выбрать '''Преобразовать в приложение'''<br /> |
− | [[Файл: | + | [[Файл: am_747.png|x500px|Преобразовать в приложение]]<br /> |
− | + | <br /> | |
− | < | + | 4 В открывшемся окне нужно нажать кнопку '''ОК'''<br /> |
− | [[Файл: | + | [[Файл: am_748.png|x500px|Добавить приложение]]<br /> |
− | + | <br /> | |
− | < | + | |
− | [[Файл: | + | ===Подключение к базе данных ПК «Мастер-Тур»=== |
− | + | В файле <code>web.config</code>, расположенном в папке '''Reservation''' пропишите необходимые параметры подключения (<span style="color:red">красным цветом</span> выделены значения, которые необходимо ввести). | |
− | В файле web.config, расположенном в папке Reservation пропишите необходимые параметры подключения ( | + | Строка подключения к базе данных ПК «Мастер-Тур»:<br /> |
− | Строка подключения к базе данных ПК «Мастер-Тур»: | + | <code><add key = "connectionString" value = "Data Source=<span style="color:red">ip-адрес сервера базы данных ПК «Мастер-Тур»</span>;Initial Catalog=<span style="color:red">название базы данных ПК «Мастер-Тур</span>;User ID=<span style="color:red">логин пользователя ПК «Мастер-Тур»</span>;Password=<span style="color:red">пароль пользователя ПК «Мастер-Тур»</span>"/></code> |
− | <add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК | + | |
==Настройка== | ==Настройка== | ||
− | После установки | + | После установки '''Сервис бронирования''' доступен по адресу: |
− | * http: //ip- адрес сервера Мастер-Веб/Reservation/ServiceProvider.asmx (сервис формирования списка услуг) | + | * <code><nowiki>http://ip-адрес сервера Мастер-Веб/Reservation/ServiceProvider.asmx</nowiki></code> (сервис '''формирования списка услуг'''); |
− | * http: //ip- адрес сервера Мастер-Веб/Reservation/ReservationService.asmx (сервис бронирования) | + | * <code><nowiki>http://ip-адрес сервера Мастер-Веб/Reservation/ReservationService.asmx</nowiki></code> (сервис '''бронирования'''). |
+ | |||
+ | [[Файл: mb_030.png|left|Предупреждение]] | ||
+ | Для корректной работы сервиса '''Reservation''' на релизах ПК «Мастер-Web» 2009.2.15 и выше нужно '''включить настройку | ||
+ | customErrors''' в элементе '''<system.web>:''' | ||
+ | <system.web> | ||
+ | <customErrors mode="On"/> | ||
+ | … | ||
+ | </system.web> | ||
+ | |||
+ | ==Настройки в файле WEB.CONFIG== | ||
+ | ===Общие настройки=== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |||
+ | ! width="2%" | № | ||
+ | ! width="28%" | Описание | ||
+ | ! width="35%" | Значение | ||
+ | ! width="35%" | Настройка | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 1 | ||
+ | | '''Пользователь''', который будет отображаться как '''Владелец путевки''' (если ''не указан ведущий менеджер'' по туру и партнеру). | ||
+ | | '''Ключ пользователя''' - поле '''US_KEY''' из таблицы <code>'''[UserList]'''</code>. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="webUserKey" value="458" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 2 | ||
+ | | Определение '''приоритета''' проставления '''ведущего менеджера''' по путевке. | ||
+ | | | ||
+ | * '''partner''' — ведущий менеджер '''по партнеру'''; | ||
+ | * '''filial''' — ведущий менеджер '''по филиалу''' (при включенной [[Мастер-Web:Установка и настройка#Настройки в файле WEB.CONFIG основного приложения|настройке «useFilialChoice»]]); | ||
+ | * '''tour''' или '''пустое значение''' или '''отсутствие настройки''' — ведущий менеджер '''по туру'''. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="managerPriority" value="partner" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 3 | ||
+ | | Задание '''статуса заявки''' в ПК «Мастер-Тур», забронированной через '''систему бронирования''' ПК «Мастер-Web». | ||
+ | | | ||
+ | * '''web''' — статус '''Web-турагент'''; | ||
+ | * '''wait''' — статус '''Wait-лист'''; | ||
+ | * '''отсутствие параметра''' или '''пустое значение''' — '''стандартный''' статус в ПК «Мастер-Тур». | ||
+ | Подробнее см. [[Мастер-Тур:Работа с путевкой#Механизм изменения статуса путевки|Механизм изменения статуса путевки]]. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="orderStatus" value="web" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 4 | ||
+ | | Настройка, определяющая '''максимальный возможный возраст детей'''. | ||
+ | Работает '''только совместно''' с [[Мастер-Web:Установка и настройка#Настройки в файле WEB.CONFIG основного приложения|настройкой «checkTouristAgeEnable»]]. | ||
+ | | | ||
+ | '''Максимальный возраст''' ребенка. | ||
+ | При '''отсутствии''' настройки '''максимальный возраст''' ребенка равен '''14 лет'''. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="maxChildAge" value="16" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 5 | ||
+ | | Определяет справочник, по которому будет проверяться '''количество основных мест''' при поиске в [[Мастер-Web:Руководство пользователя. Работа в системе online бронирования#Экран «Динамический лист предложений»|экране «Динамический лист предложений»]] и при бронировании в [[Мастер-Web:Руководство пользователя. Работа в системе online бронирования#Экран «Стандартная корзина» («Basket.aspx»)|коризинах бронирования ПК «Мастер-Web»]]. | ||
+ | | | ||
+ | * '''true''' — количество дополнительных мест берется из [[Мастер-Тур:Справочники#Типы размещения|справочника «Типы размещений»]]. | ||
+ | Если соответствующее поле там '''не заполнено''', то из [[Мастер-Тур:Справочники#Типы номеров|справочника «Типы номеров»]]. | ||
+ | * '''false''' или '''отсутствие настройки''' — количество дополнительных мест берется из [[Мастер-Тур:Справочники#Типы номеров|справочника «Типы номеров»]]. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="useAccomodationPlaces" value="false" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 6 | ||
+ | | Определяет справочник, по которому будет проверяться '''количество дополнительных мест''' при поиске в [[Мастер-Web:Руководство пользователя. Работа в системе online бронирования#Экран «Динамический лист предложений»|экране «Динамический лист предложений»]] и при бронировании в [[Мастер-Web:Руководство пользователя. Работа в системе online бронирования#Экран «Стандартная корзина» («Basket.aspx»)|коризинах бронирования ПК «Мастер-Web»]]. | ||
+ | | | ||
+ | * '''true''' — количество дополнительных мест берется из [[Мастер-Тур:Справочники#Типы номеров|справочника «Типы номеров»]]. | ||
+ | Если соответствующее поле там '''не заполнено''', то из [[Мастер-Тур:Справочники#Типы размещения|справочника «Типы размещений»]]. | ||
+ | * '''false''' или '''отсутствие настройки''' — количество дополнительных мест берется из [[Мастер-Тур:Справочники#Типы размещения|справочника «Типы размещений»]]. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="useRoomsExtraPlaces" value="false" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 7 | ||
+ | | Настройка, включающая '''режим учета процента при конвертации''' валют. | ||
+ | | '''Коэффициент''', на который умножается конвертируемая сумма. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="courseMultiplier" value="1,02" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 8 | ||
+ | | Настройка указывает на то, что в [[Мастер-Тур:Справочники#Типы номеров|справочнике «Типы номеров»]] в колонке '''Число основных мест''' указано '''общее количество взрослых и детей'''. Дополнительно должно быть прописано и количество детей в соответствующей колонке. | ||
+ | При включенной настройке в случае, если сумма основных и дополнительных мест в [[Мастер-Тур:Справочники#Типы размещения|справочнике «Типы размещений»]] превышает значение в колонке число основных мест, бронирование невозможно. | ||
+ | | | ||
+ | * '''true''' — в колонке число основных мест указано общее количество взрослых и детей (сумма основных и дополнительных мест в размещении не должна превышать значение в колонке число основных мест в номерах); | ||
+ | * '''false''' или '''отсутствие настройки''' — количество взрослых и детей не суммируется (проверка не производится). | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="combinedPlaces" value="true" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 9 | ||
+ | | Настройка, включающая проверку прав текущего пользователя на получение доступа к путевке. | ||
+ | | | ||
+ | * '''true''' — включена проверка; | ||
+ | * '''false''' или '''отсутствие настройки''' — проверка отключена. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="IsAuthDubUser" value="true" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |} | ||
+ | |||
+ | ===Настройки бронирования инфантов=== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |||
+ | ! width="2%" | № | ||
+ | ! width="28%" | Описание | ||
+ | ! width="35%" | Значение | ||
+ | ! width="35%" | Настройка | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 1 | ||
+ | | Ключи '''тарифов на авиаперелет''' для размещения '''Младенец''' ('''Infant'''). | ||
+ | Настройка используется либо в [[Мастер-Web:Дополнительный модуль Бронирование индивидуального тура|дополнительном модуле «Бронирование индивидуального тура»]], либо для '''исключения тарифов''' при отображении списка рейсов в корзинах бронирования. | ||
+ | | '''Ключи тарифов''' - поле '''AS_CODE''' из таблицы <code>'''[AirService]'''</code> через запятую. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="infantCharterClasses" value="132,110" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 2 | ||
+ | | '''Взрослые тарифы''' ('''эконом''') авиаперелетов, для которых будет подбираться тариф - '''YCH''' - '''Экономический класс''' ('''детский'''). | ||
+ | | '''Ключи тарифа''' - поле '''AS_CODE''' из таблицы <code>'''[AirService]'''</code> через запятую. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="YCH" value="81,87,89" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 3 | ||
+ | | '''Взрослые тарифы''' ('''бизнес''') авиаперелетов, для которых будет подбираться тариф - '''CCH''' - '''Бизнес класс''' ('''детский'''). | ||
+ | | '''Ключи тарифа''' - поле '''AS_CODE''' из таблицы <code>'''[AirService]'''</code> через запятую. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="CCH" value="67,68,74" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |} | ||
+ | |||
+ | |||
+ | ===Настройки добавления доплат к рейсам=== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |||
+ | ! width="2%" | № | ||
+ | ! width="28%" | Описание | ||
+ | ! width="35%" | Значение | ||
+ | ! width="35%" | Настройка | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 1 | ||
+ | | Включение '''отображения блока доплат''' к рейсу. | ||
+ | | '''Ключ типа тура''' - поле '''TP_KEY''' из таблицы <code>'''[TipTur]'''</code>, к которому должны привязываться туры, содержащие доплаты к рейсам. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="addFlightTourType" value="13" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 2 | ||
+ | | '''Название доплаты за изменение рейса'''. | ||
+ | | '''Текст''' - название доплаты за изменение рейса, которое будет отображаться в блоке доплат. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="changeFlightPaymentName" value="Доплата за выбор рейса" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 3 | ||
+ | | Настройка, '''скрывающая поле с доплатой за изменение рейса''' в блоке доплат. | ||
+ | | '''false''' - поле с доплатой за изменение рейса скрыто; | ||
+ | '''true''' или '''отсутствие настройки''' - поле с доплатой за изменение рейса отображается. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="showFlightVariantDifference" value="true" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |} | ||
+ | |||
+ | |||
+ | Для того, что бы получить все связанные дополнительные услуги, необходимо добавить в файл <code>web.config</code> настройку <code><add key="addFlightTourType" value="<span style="color:red">ххх</span>" /></code>, где <span style="color:red">ххх</span> - ключ типа тура, откуда берутся доплаты. Например, ключ типа у текущего тура - 17, а дополнительная услуга топливного сбора лежит в пакете с ключом типа тура 50. Значит, нам надо указать 50 вместо <span style="color:red">ххх</span>. При получении списка услуг необходимо использовать метод <code>GetCalculatedServices</code> сервиса <code>ServiceProvider.asmx</code>. Услуга топливного сбора будет находиться в подразделе <code>AdditionalPayments</code> раздела <code>Service</code> структуры XML. | ||
+ | |||
+ | ===Настройки дополнительного модуля «Бронирование новогодних и рожденственских ужинов»=== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |||
+ | ! width="2%" | № | ||
+ | ! width="28%" | Описание | ||
+ | ! width="35%" | Значение | ||
+ | ! width="35%" | Настройка | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 1 | ||
+ | | '''Включение''' дополнительного модуля «Бронирование новогодних и рожденственских ужинов». | ||
+ | | '''Ссылка на дополнительный модуль'''. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="happyNewYearServiceManager" value="MasterWebStandard.Extra.HappyNewYearServices.HappyNewYearStandardManager, MasterWebStandard.Extra.HappyNewYearServices" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 2 | ||
+ | | '''Тип тура''' для '''обязательных''' праздничных ужинов. | ||
+ | | '''Ключ типа тура''' - поле '''TP_KEY''' из таблицы <code>'''[TipTur]'''</code> для обязательных ужинов. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="requiredNewYearServicesTourTypes" value="12" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 3 | ||
+ | | '''Тип тура''' для '''необязательных''' праздничных ужинов. | ||
+ | | '''Ключ типа тура''' - поле '''TP_KEY''' из таблицы <code>'''[TipTur]'''</code> для необязательных ужинов. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="optionalNewYearServicesTourTypes" value="12" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |} | ||
+ | |||
==Подготовка данных== | ==Подготовка данных== | ||
+ | |||
+ | [[Файл:am_063.png|left|Предупреждение]]<br /> | ||
+ | С 1 января 2017 года вступили в силу положения Федерального закона от 02.03.2016 № 49-ФЗ «О внесении изменений в отдельные законодательные акты | ||
+ | Российской Федерации в целях совершенствования законодательства, регулирующего туристскую деятельность» (далее – Федеральный закон № 49-ФЗ), в связи | ||
+ | с чем вводится ограничение на осуществление бронирования партнёрами, не указавшими реестровый номер. | ||
+ | Установить дату, начиная с которой данное ограничение начинает функционировать, можно в [[Мастер-Тур:Администрирование системы#Дополнительные настройки|дополнительных настройках]] ПК «Мастер-Тур». | ||
+ | <span style="color:red">Настройка работает, начиная с релиза '''9222SP0'''. | ||
+ | |||
===Описание формата данных=== | ===Описание формата данных=== | ||
− | ====CalculatedPriceInfo==== | + | ====MainDependentAccommodation (Доступное основное или зависимое размещение)==== |
− | + | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | |
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="cpp"> | ||
+ | /// <summary> | ||
+ | /// Доступное основное или зависимое размещение | ||
+ | /// </summary> | ||
+ | public class MainDependentAccommodation | ||
+ | { | ||
+ | /// <summary> | ||
+ | /// Ключ прайса, к которому относится размещение | ||
+ | /// </summary> | ||
+ | public Int32 PriceKey { get; set; } | ||
+ | /// <summary> | ||
+ | /// Название размещения | ||
+ | /// </summary> | ||
+ | public String AccommodationName { get; set; } | ||
+ | /// <summary> | ||
+ | /// Количество человек | ||
+ | /// </summary> | ||
+ | public Int32 Places { get; set; } | ||
+ | /// <summary> | ||
+ | /// Цена | ||
+ | /// </summary> | ||
+ | public Decimal Price { get; set; } | ||
+ | /// <summary> | ||
+ | /// Валюта цены | ||
+ | /// </summary> | ||
+ | public String Currency { get; set; } | ||
+ | /// <summary> | ||
+ | /// Наличие мест | ||
+ | /// </summary> | ||
+ | public QuotaResultStatus QuotaStatus { get; set; } | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | |||
+ | ====CalculatedPriceInfo (Информация по расчитанной цене)==== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="cpp"> | ||
+ | /// <summary> | ||
/// Информация по рассчитанной цене | /// Информация по рассчитанной цене | ||
/// </summary> | /// </summary> | ||
Строка 64: | Строка 382: | ||
/// </summary> | /// </summary> | ||
public int Nights { get; set; } | public int Nights { get; set; } | ||
− | }</ | + | } |
− | ====ReservationParams==== | + | </syntaxhighlight> |
− | + | |} | |
+ | |||
+ | ====ReservationParams (Параметры бронирования)==== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="cpp"> | ||
+ | /// <summary> | ||
/// Параметры бронирования | /// Параметры бронирования | ||
/// </summary> | /// </summary> | ||
Строка 132: | Строка 459: | ||
/// </summary> | /// </summary> | ||
public int TouristsCount { get; set; } | public int TouristsCount { get; set; } | ||
− | }</ | + | }</syntaxhighlight> |
− | ====ReservationResult==== | + | |} |
− | + | ||
+ | ====ReservationResult (Результат расчета стоимости и бронирования комплекса услуг)==== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="cpp"> | ||
+ | /// <summary> | ||
/// Класс, описывающий результат расчета стоимости и бронирования комплекса услуг | /// Класс, описывающий результат расчета стоимости и бронирования комплекса услуг | ||
/// </summary> | /// </summary> | ||
Строка 168: | Строка 503: | ||
/// </summary> | /// </summary> | ||
public string ErrorMessage { get; set; } | public string ErrorMessage { get; set; } | ||
− | }</ | + | } |
− | ===Сервис формирования списка услуг ( | + | </syntaxhighlight> |
− | ====Метод получения | + | |} |
+ | |||
+ | ====ReservationInfoParams (Параметры путевки)==== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="cpp"> | ||
+ | /// <summary> | ||
+ | /// Класс, описывающий параметры путевки | ||
+ | /// </summary> | ||
+ | public class ReservationInfoParams | ||
+ | { | ||
+ | /// <summary> | ||
+ | /// код путевки | ||
+ | /// </summary> | ||
+ | public string Code { get; set; } | ||
+ | |||
+ | /// <summary> | ||
+ | /// значение скидки | ||
+ | /// </summary> | ||
+ | public double Discount { get; set; } | ||
+ | |||
+ | /// <summary> | ||
+ | /// стоимость путевки | ||
+ | /// </summary> | ||
+ | public double Price { get; set; } | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | |||
+ | ====ReservationInfo (Описание путевки, включая все услуги и туристов)==== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="cpp"> | ||
+ | /// <summary> | ||
+ | /// Класс, описывающий путевку, включая все услуги путевки и туристов | ||
+ | /// </summary> | ||
+ | public class ReservationInfo | ||
+ | { | ||
+ | /// <summary> | ||
+ | /// Название города поездки | ||
+ | /// </summary> | ||
+ | public string CityName { get; set; } | ||
+ | /// <summary> | ||
+ | /// Код путевки | ||
+ | /// </summary> | ||
+ | public string Code { get; set; } | ||
+ | /// <summary> | ||
+ | /// Название страны поездки | ||
+ | /// </summary> | ||
+ | public string CountryName { get; set; } | ||
+ | /// <summary> | ||
+ | /// Скидка по путевке | ||
+ | /// </summary> | ||
+ | public double Discount { get; set; } | ||
+ | /// <summary> | ||
+ | /// Сумма скидки | ||
+ | /// </summary> | ||
+ | public double DiscountSum { get; set; } | ||
+ | /// <summary> | ||
+ | /// Обобщенный статус путевки | ||
+ | /// </summary> | ||
+ | public int? DogovorGlobalStatus { get; set; } | ||
+ | /// <summary> | ||
+ | /// Статус путевки | ||
+ | /// </summary> | ||
+ | public int DogovorStatus { get; set; } | ||
+ | /// <summary> | ||
+ | /// Кол-во дней поездки | ||
+ | /// </summary> | ||
+ | public int Ndays { get; set; } | ||
+ | /// <summary> | ||
+ | /// Количество туристов в путевке | ||
+ | /// </summary> | ||
+ | public int Nmen { get; set; } | ||
+ | /// <summary> | ||
+ | /// Цена без учета скидки | ||
+ | /// </summary> | ||
+ | public double Price { get; set; } | ||
+ | /// <summary> | ||
+ | /// Код валюты путевки | ||
+ | /// </summary> | ||
+ | public string RateCode { get; set; } | ||
+ | /// <summary> | ||
+ | /// Список всеу услуг в путевке | ||
+ | /// </summary> | ||
+ | public List<Service> ReservationServices { get; set; } | ||
+ | /// <summary> | ||
+ | /// Список всех туристов в путевке | ||
+ | /// </summary> | ||
+ | public List<Tourist> ReservationTourists { get; set; } | ||
+ | /// <summary> | ||
+ | /// Дата начала поездки | ||
+ | /// </summary> | ||
+ | public DateTime TurDate { get; set; } | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | |||
+ | ===Сервис формирования списка услуг («ServiceProvider.asmx»)=== | ||
+ | |||
+ | ====Метод получения основных и неосновных размещений (GetAvailableAccommodations)==== | ||
=====Сигнатура вызова===== | =====Сигнатура вызова===== | ||
− | + | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | |
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="cpp"> | ||
+ | /// <summary> | ||
+ | /// Возвращает доступные для бронирования размещения | ||
+ | /// </summary> | ||
+ | /// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param> | ||
+ | /// <param name="priceKey">Ключ обсчитанной цены (ключ прайса)</param> | ||
+ | /// <param name="isCheckExtraPlaceQuota:">Проверять ли места на еще одно такое же размещение</param> | ||
+ | /// <returns>Список пар [основное размещение; коллекция неосновных]</returns> | ||
+ | [WebMethod] | ||
+ | public List<SerializableKeyValuePair<MainDependentAccommodation, List<MainDependentAccommodation>>> | ||
+ | GetAvailableAccommodations(String token, Int32 priceKey, Boolean isCheckExtraPlaceQuota) | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | |||
+ | ====Метод получения информации по ключу цены (GetCalculatedPriceInfo)==== | ||
+ | =====Сигнатура вызова===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="cpp"> | ||
+ | /// <summary> | ||
/// Получение информации о цене | /// Получение информации о цене | ||
/// </summary> | /// </summary> | ||
+ | /// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param> | ||
/// <param name="priceKey">Ключ цены</param> | /// <param name="priceKey">Ключ цены</param> | ||
/// <param name="includeTourDescriptionText">Возвращать ли описание тура</param> | /// <param name="includeTourDescriptionText">Возвращать ли описание тура</param> | ||
Строка 180: | Строка 650: | ||
/// <returns></returns> | /// <returns></returns> | ||
[WebMethod] | [WebMethod] | ||
− | public CalculatedPriceInfo GetCalculatedPriceInfo(int priceKey, bool includeTourDescriptionText, bool includeBookingConditionsText)</ | + | public CalculatedPriceInfo GetCalculatedPriceInfo(String token, int priceKey, bool includeTourDescriptionText, bool includeBookingConditionsText) |
− | ====Метод получения рассчитанных услуг==== | + | </syntaxhighlight> |
+ | |} | ||
+ | <br /> | ||
+ | ====Метод получения рассчитанных услуг (GetCalculatedServices)==== | ||
=====Сигнатура вызова===== | =====Сигнатура вызова===== | ||
− | + | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | |
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="cpp"> | ||
+ | /// <summary> | ||
/// Возвращает список рассчитанных услуг по ключу цены | /// Возвращает список рассчитанных услуг по ключу цены | ||
/// </summary> | /// </summary> | ||
+ | /// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param> | ||
/// <param name="priceKey">Ключ обсчитанной цены</param> | /// <param name="priceKey">Ключ обсчитанной цены</param> | ||
/// <returns></returns> | /// <returns></returns> | ||
[WebMethod] | [WebMethod] | ||
− | public List<Service> GetCalculatedServices(int priceKey)</ | + | public List<Service> GetCalculatedServices(String token, int priceKey) |
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | |||
+ | ====Метод получения информации о дополнительных услугах (GetExtraServiceInfo)==== | ||
+ | =====Сигнатура вызова===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
− | ====Метод получения | + | | <syntaxhighlight lang="cpp"> |
+ | /// <summary> | ||
+ | /// Получение информации о дополнительных услугах | ||
+ | /// </summary> | ||
+ | /// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param> | ||
+ | /// <param name="priceKey">Ключ цены</param> | ||
+ | /// <returns></returns> | ||
+ | [WebMethod] | ||
+ | public ExtraServiceInfo GetExtraServiceInfo(String token, int priceKey) | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | ====Метод получения дополнительных услуг (GetNotCalculatedServices)==== | ||
=====Сигнатура вызова===== | =====Сигнатура вызова===== | ||
− | + | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | |
− | /// Возвращает список | + | |
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="cpp"> | ||
+ | /// <summary> | ||
+ | /// Возвращает список дополнительных услуг по ключу цены. Дополнительные услуги не могут быть отелем или перелётом. | ||
/// </summary> | /// </summary> | ||
+ | /// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param> | ||
/// <param name="priceKey">Ключ обсчитанной цены</param> | /// <param name="priceKey">Ключ обсчитанной цены</param> | ||
/// <returns></returns> | /// <returns></returns> | ||
[WebMethod] | [WebMethod] | ||
− | public List<Service> GetNotCalculatedServices(int priceKey)</ | + | public List<Service> GetNotCalculatedServices(String token, int priceKey) |
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
− | ====Метод получения вариантов услуги==== | + | ====Метод получения вариантов услуги (GetServiceVariants)==== |
=====Сигнатура вызова===== | =====Сигнатура вызова===== | ||
− | + | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | |
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="cpp"> | ||
+ | /// <summary> | ||
/// Получение вариантов услуги | /// Получение вариантов услуги | ||
/// </summary> | /// </summary> | ||
+ | /// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param> | ||
/// <param name="service">Базовая услуга</param> | /// <param name="service">Базовая услуга</param> | ||
/// <param name="dtDate">Дата заезда</param> | /// <param name="dtDate">Дата заезда</param> | ||
Строка 220: | Строка 739: | ||
/// <returns>Список услуг</returns> | /// <returns>Список услуг</returns> | ||
[WebMethod] | [WebMethod] | ||
− | public List<Service> GetServiceVariants(Megatec.Travel.Entities.Service service | + | public List<Service> GetServiceVariants(String token, Megatec.Travel.Entities.Service service |
, DateTime tourDate | , DateTime tourDate | ||
, int tourDuration | , int tourDuration | ||
Строка 231: | Строка 750: | ||
, int userKey | , int userKey | ||
, bool includeOriginal | , bool includeOriginal | ||
− | , string excludeCharterClasses)</ | + | , string excludeCharterClasses) |
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | |||
===Сервис бронирования (ReservationService.asmx)=== | ===Сервис бронирования (ReservationService.asmx)=== | ||
− | ====Метод расчета стоимости услуг==== | + | ====Метод расчета стоимости услуг (CalculateReservation)==== |
=====Сигнатура вызова===== | =====Сигнатура вызова===== | ||
− | + | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | |
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="cpp"> | ||
+ | /// <summary> | ||
/// Метод расчета стоимости услуг | /// Метод расчета стоимости услуг | ||
/// </summary> | /// </summary> | ||
+ | /// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param> | ||
/// <param name="services">Список услуг, по которым рассчитывается стоимость</param> | /// <param name="services">Список услуг, по которым рассчитывается стоимость</param> | ||
/// <param name="parameters">Параметры расчета</param> | /// <param name="parameters">Параметры расчета</param> | ||
/// <returns>Результат расчета стоимости</returns> | /// <returns>Результат расчета стоимости</returns> | ||
− | public | + | public ReservationResult CalculateReservation(String token, List<Service> services, ReservationParams parameters) |
− | ====Метод бронирования услуг==== | + | </syntaxhighlight> |
+ | |} | ||
+ | <br /> | ||
+ | ====Метод бронирования услуг (CreateReservation)==== | ||
=====Сигнатура вызова===== | =====Сигнатура вызова===== | ||
− | + | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | |
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="cpp"> | ||
+ | /// <summary> | ||
/// Метод бронирования | /// Метод бронирования | ||
/// </summary> | /// </summary> | ||
+ | /// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param> | ||
/// <param name="services">Список бронируемых услуг</param> | /// <param name="services">Список бронируемых услуг</param> | ||
/// <param name="tourists">Список туристов по путевке</param> | /// <param name="tourists">Список туристов по путевке</param> | ||
Строка 252: | Строка 792: | ||
/// <returns></returns> | /// <returns></returns> | ||
[WebMethod] | [WebMethod] | ||
− | public Megatec.Travel. | + | public ReservationResult CreateReservation(String token, List<Service> services, List<Tourist> tourists, ReservationParams parameters) |
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | ====Метод получения данных по путевке (GetDogovorInfo)==== | ||
+ | =====Сигнатура метода===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="cpp"> | ||
+ | /// <summary> | ||
+ | /// Метод получения полной информации по путевке | ||
+ | /// </summary> | ||
+ | /// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param> | ||
+ | /// <param name="reservationCode">Код путевки</param> | ||
+ | /// <returns>Полная информация по услугам и туристам в путевке</returns> | ||
+ | public Megatec.Travel.DataObjects.ReservationInfo GetDogovorInfo(String token, String reservationCode) | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | ====Метод получения информации по путевке (GetReservationInfo)==== | ||
+ | =====Сигнатура метода===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="cpp"> | ||
+ | /// <summary> | ||
+ | /// Метод получения HTML-информации по путевке | ||
+ | /// </summary> | ||
+ | /// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param> | ||
+ | /// <param name="reservationCode">Код путевки</param> | ||
+ | /// <param name="partnerKey">Идентификатор покупателя</param> | ||
+ | /// <param name="param">Параметры бронирования</param> | ||
+ | /// <returns>HTML-информация по путевке</returns> | ||
+ | public String GetReservationInfo(String token, String reservationCode, Int32 partnerKey, Megatec.Travel.DataObjects.ReservationInfoParams param) | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | |||
+ | ====Метод для сохранения номера путевки (SetReservationCode)==== | ||
+ | =====Сигнатура метода===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="cpp"> | ||
+ | /// <summary> | ||
+ | /// Сохраняет номер путевки субагента в БД агента | ||
+ | /// (в историю путевки должен записать номер путевки субагента) | ||
+ | /// </summary> | ||
+ | /// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param> | ||
+ | /// <param name="reservationCode">Номер путевки в БД агента</param> | ||
+ | /// <param name="partnerCode">Номер путевки в БД субагента</param> | ||
+ | public void SetReservationCode(String token, String reservationCode, String partnerCode) | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | |||
+ | ==Работа в системе== | ||
+ | ===Работа с сервисом «ServiceProvider.asmx» (Формирование списка услуг)=== | ||
+ | ====Метод получения основных и неосновных размещений (GetAvailableAccommodations )==== | ||
+ | =====Пример SOAP-запроса к сервису===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | ||
+ | <soap:Body> | ||
+ | <GetAvailableAccommodations xmlns="http://megatec.ru/"> | ||
+ | <token>?</token> | ||
+ | <priceKey>33345</priceKey> | ||
+ | <isCheckExtraPlaceQuota>true</isCheckExtraPlaceQuota> | ||
+ | </GetAvailableAccommodations> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | =====Пример SOAP-ответа сервиса===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | ||
+ | <soap:Body> | ||
+ | <GetAvailableAccommodationsResponse xmlns="http://megatec.ru/"> | ||
+ | <GetAvailableAccommodationsResult> | ||
+ | <SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation> | ||
+ | <Key> | ||
+ | <PriceKey>33349</PriceKey> | ||
+ | <AccommodationName>DBL 1-1 STD</AccommodationName> | ||
+ | <Places>2</Places> | ||
+ | <Price>812</Price> | ||
+ | <Currency>$</Currency> | ||
+ | <QuotaStatus>No</QuotaStatus> | ||
+ | </Key> | ||
+ | <Value> | ||
+ | <MainDependentAccommodation xsi:nil="true" /> | ||
+ | <MainDependentAccommodation xsi:nil="true" /> | ||
+ | </Value> | ||
+ | </SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation> | ||
+ | <SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation> | ||
+ | <Key> | ||
+ | <PriceKey>33337</PriceKey> | ||
+ | <AccommodationName>DBL 2-0 Sea View</AccommodationName> | ||
+ | <Places>2</Places> | ||
+ | <Price>938</Price> | ||
+ | <Currency>$</Currency> | ||
+ | <QuotaStatus>No</QuotaStatus> | ||
+ | </Key> | ||
+ | <Value> | ||
+ | <MainDependentAccommodation xsi:nil="true" /> | ||
+ | <MainDependentAccommodation xsi:nil="true" /> | ||
+ | </Value> | ||
+ | </SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation> | ||
+ | <SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation> | ||
+ | <Key> | ||
+ | <PriceKey>33345</PriceKey> | ||
+ | <AccommodationName>DBL 1-1 Sea View</AccommodationName> | ||
+ | <Places>2</Places> | ||
+ | <Price>740</Price> | ||
+ | <Currency>$</Currency> | ||
+ | <QuotaStatus>No</QuotaStatus> | ||
+ | </Key> | ||
+ | <Value> | ||
+ | <MainDependentAccommodation xsi:nil="true" /> | ||
+ | <MainDependentAccommodation xsi:nil="true" /> | ||
+ | </Value> | ||
+ | </SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation> | ||
+ | <SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation> | ||
+ | <Key> | ||
+ | <PriceKey>33353</PriceKey> | ||
+ | <AccommodationName>DBL 0-2 Sea View</AccommodationName> | ||
+ | <Places>1</Places> | ||
+ | <Price>650</Price> | ||
+ | <Currency>$</Currency> | ||
+ | <QuotaStatus>No</QuotaStatus> | ||
+ | </Key> | ||
+ | <Value> | ||
+ | <MainDependentAccommodation xsi:nil="true" /> | ||
+ | <MainDependentAccommodation xsi:nil="true" /> | ||
+ | </Value> | ||
+ | </SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation> | ||
+ | <SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation> | ||
+ | <Key> | ||
+ | <PriceKey>33341</PriceKey> | ||
+ | <AccommodationName>DBL 2-0 GV</AccommodationName> | ||
+ | <Places>2</Places> | ||
+ | <Price>1370</Price> | ||
+ | <Currency>$</Currency> | ||
+ | <QuotaStatus>Request</QuotaStatus> | ||
+ | </Key> | ||
+ | <Value> | ||
+ | <MainDependentAccommodation xsi:nil="true" /> | ||
+ | <MainDependentAccommodation xsi:nil="true" /> | ||
+ | </Value> | ||
+ | </SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation> | ||
+ | </GetAvailableAccommodationsResult> | ||
+ | </GetAvailableAccommodationsResponse> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope></syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | |||
+ | ====Метод получения информации по ключу цены (GetCalculatedPriceInfo )==== | ||
+ | =====Пример SOAP-запроса к сервису===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | ||
+ | <soap:Body> | ||
+ | <GetCalculatedPriceInfo xmlns="http://megatec.ru/"> | ||
+ | <token>?</token> | ||
+ | <priceKey>5038425</priceKey> | ||
+ | <includeTourDescriptionText>true</includeTourDescriptionText> | ||
+ | <includeBookingConditionsText>true</includeBookingConditionsText> | ||
+ | </GetCalculatedPriceInfo> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | |||
+ | =====Пример SOAP-ответа сервиса===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | ||
+ | <soap:Body> | ||
+ | <GetCalculatedPriceInfoResponse xmlns="http://megatec.ru/"> | ||
+ | <GetCalculatedPriceInfoResult> | ||
+ | <PriceTour> | ||
+ | <ID>667</ID> | ||
+ | <Name>Test Tour</Name> | ||
+ | <Description /> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | <Name>Австрия</Name> | ||
+ | </Country> | ||
+ | <Tour> | ||
+ | <ID>542</ID> | ||
+ | <Name>Test Tour</Name> | ||
+ | <Description /> | ||
+ | <BookingConditions /> | ||
+ | </Tour> | ||
+ | <Attribute>0</Attribute> | ||
+ | <IncludedServices> Авиаперелет, Трансфер, Проживание(питание: Полупансион), Виза, Страховка, Доп. услуги</IncludedServices> | ||
+ | </PriceTour> | ||
+ | <TourDate>2010-07-02T00:00:00</TourDate> | ||
+ | <TotalDays>11</TotalDays> | ||
+ | <Nights>10</Nights> | ||
+ | </GetCalculatedPriceInfoResult> | ||
+ | </GetCalculatedPriceInfoResponse> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | |||
+ | ====Метод получения рассчитанных услуг (GetCalculatedServices)==== | ||
+ | =====Пример SOAP-запроса к сервису===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | ||
+ | <soap:Body> | ||
+ | <GetCalculatedServices xmlns="http://megatec.ru/"> | ||
+ | <token>?</token> | ||
+ | <priceKey>5038425</priceKey> | ||
+ | </GetCalculatedServices> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | |||
+ | =====Пример SOAP-ответа сервиса===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | ||
+ | <soap:Body> | ||
+ | <GetCalculatedServicesResponse xmlns="http://megatec.ru/"> | ||
+ | <GetCalculatedServicesResult> | ||
+ | <Service xsi:type="HotelService"> | ||
+ | <ID>-159</ID> | ||
+ | <Name>Отель/Отель 5*+ (Арльберг), Single Standart Взрослый, Полупансион, ,</Name> | ||
+ | <ExternalID>0</ExternalID> | ||
+ | <StartDate>0001-01-01T00:00:00</StartDate> | ||
+ | <EndDate>0001-01-01T00:00:00</EndDate> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>10</Duration> | ||
+ | <Attribute>390</Attribute> | ||
+ | <RateBrutto /> | ||
+ | <Brutto>0</Brutto> | ||
+ | <RateNetto /> | ||
+ | <Netto>0</Netto> | ||
+ | <NMen>1</NMen> | ||
+ | <Partner> | ||
+ | <ID>10760</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <PartnersGroupID>0</PartnersGroupID> | ||
+ | <FullName /> | ||
+ | <BossName /> | ||
+ | <Fax /> | ||
+ | <Address /> | ||
+ | <Zip /> | ||
+ | <Email /> | ||
+ | <Phones /> | ||
+ | </Partner> | ||
+ | <Quota>NotChecked</Quota> | ||
+ | <PacketID>250</PacketID> | ||
+ | <City> | ||
+ | <ID>275</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | </City> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <IsIncoming>false</IsIncoming> | ||
+ | </Country> | ||
+ | <Tourists /> | ||
+ | <DetailNetto /> | ||
+ | <DetailBrutto /> | ||
+ | <Notes /> | ||
+ | <ServiceClass> | ||
+ | <ID>3</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <ServiceClasses>None</ServiceClasses> | ||
+ | </ServiceClass> | ||
+ | <Hotel> | ||
+ | <ID>3254</ID> | ||
+ | <Name>Отель 5*+</Name> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <City> | ||
+ | <ID>3254</ID> | ||
+ | <Name>Арльберг</Name> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | </City> | ||
+ | </Hotel> | ||
+ | <Room> | ||
+ | <ID>1112</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <RoomType> | ||
+ | <ID>1</ID> | ||
+ | <Name>Single</Name> | ||
+ | <NameLat /> | ||
+ | <Code>SGL</Code> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <PrintOrder>0</PrintOrder> | ||
+ | <Places> | ||
+ | <Main>1</Main> | ||
+ | <Extra>1</Extra> | ||
+ | </Places> | ||
+ | </RoomType> | ||
+ | <RoomCategory> | ||
+ | <ID>20</ID> | ||
+ | <Name>Standart</Name> | ||
+ | <NameLat /> | ||
+ | <Code>STD</Code> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <PrintOrder>0</PrintOrder> | ||
+ | </RoomCategory> | ||
+ | <RoomAccomodation> | ||
+ | <ID>320</ID> | ||
+ | <Name>Взрослый</Name> | ||
+ | <NameLat /> | ||
+ | <Code>Взр.</Code> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <Places> | ||
+ | <Main>0</Main> | ||
+ | <Extra>0</Extra> | ||
+ | </Places> | ||
+ | <IsMain>true</IsMain> | ||
+ | <AgeRange AgeFrom="0" AgeTo="0" /> | ||
+ | <AgeRange2 AgeFrom="0" AgeTo="0" /> | ||
+ | <PerRoom>false</PerRoom> | ||
+ | </RoomAccomodation> | ||
+ | </Room> | ||
+ | <Pansion> | ||
+ | <ID>2</ID> | ||
+ | <Name>Полупансион</Name> | ||
+ | <NameLat /> | ||
+ | <Code>HB</Code> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | </Pansion> | ||
+ | </Service> | ||
+ | </GetCalculatedServicesResult> | ||
+ | </GetCalculatedServicesResponse> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | ====Meтод получения получения информации о дополнительных услугах (GetExtraServiceInfo)==== | ||
+ | =====Пример SOAP-запроса к сервису===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="xml"> | ||
+ | |||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | ||
+ | <soap:Body> | ||
+ | <GetExtraServiceInfo xmlns="http://megatec.ru/"> | ||
+ | <token>?</token> | ||
+ | <priceKey>27084</priceKey> | ||
+ | </GetExtraServiceInfo> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | |||
+ | =====Пример SOAP-ответа сервиса===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | ||
+ | <soap:Body> | ||
+ | <GetExtraServiceInfoResponse xmlns="http://megatec.ru/"> | ||
+ | <GetExtraServiceInfoResult> | ||
+ | <ExtraServiceInfo> | ||
+ | <ID>76</ID> | ||
+ | <Name>Лондонский Тауэр</Name> | ||
+ | <ServiceClass> | ||
+ | <ID>4</ID> | ||
+ | <Name/> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <ServiceClasses>None</ServiceClasses> | ||
+ | </ServiceClass> | ||
+ | <Attribute>0</Attribute> | ||
+ | <CountryKey>222</CountryKey> | ||
+ | <CityKey>25</CityKey> | ||
+ | <IsRequired>true</IsRequired> | ||
+ | <Direction>0</Direction> | ||
+ | <ServiceVariants> | ||
+ | </ExtraServiceInfo> | ||
+ | <ExtraServiceInfo> | ||
+ | <ID>3231</ID> | ||
+ | <Name>test</Name> | ||
+ | <ServiceClass> | ||
+ | <ID>8</ID> | ||
+ | <Name/> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <ServiceClasses>None</ServiceClasses> | ||
+ | </ServiceClass> | ||
+ | <Attribute>0</Attribute> | ||
+ | <CountryKey>222</CountryKey> | ||
+ | <CityKey>25</CityKey> | ||
+ | <IsRequired>false</IsRequired> | ||
+ | <Direction>0</Direction> | ||
+ | <ServiceVariants> | ||
+ | <ExtraServiceVariant xsi:type="ExtraAddHotelService"> | ||
+ | <AvailableDate>2015-06-01T00:00:00</AvailableDate> | ||
+ | <Day>1</Day> | ||
+ | <PartnerKey>10760</PartnerKey> | ||
+ | <PacketKey>249</PacketKey> | ||
+ | <Cost>0</Cost> | ||
+ | <IsCostForPerson>true</IsCostForPerson> | ||
+ | <NMen>1</NMen> | ||
+ | <Description1> | ||
+ | <ID>0</ID> | ||
+ | <Name/> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | </Description1> | ||
+ | <Description2> | ||
+ | <ID>3</ID> | ||
+ | <Name>test,1/</Name> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | </Description2> | ||
+ | <IsPackage>false</IsPackage> | ||
+ | <HasDuration>false</HasDuration> | ||
+ | </ExtraServiceVariant> | ||
+ | <ExtraServiceVariant xsi:type="ExtraAddHotelService"> | ||
+ | <AvailableDate>2015-06-02T00:00:00</AvailableDate> | ||
+ | <Day>2</Day> | ||
+ | <PartnerKey>10760</PartnerKey> | ||
+ | <PacketKey>249</PacketKey> | ||
+ | <Cost>0</Cost> | ||
+ | <IsCostForPerson>true</IsCostForPerson> | ||
+ | <NMen>1</NMen> | ||
+ | <Description1> | ||
+ | <ID>0</ID> | ||
+ | <Name/> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | </Description1> | ||
+ | <Description2> | ||
+ | <ID>3</ID> | ||
+ | <Name>test,1/</Name> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | </Description2> | ||
+ | <IsPackage>false</IsPackage> | ||
+ | <HasDuration>false</HasDuration> | ||
+ | </ExtraServiceVariant> | ||
+ | </ServiceVariants> | ||
+ | </ExtraServiceInfo> | ||
+ | </GetExtraServiceInfoResult> | ||
+ | </GetExtraServiceInfoResponse> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | |||
+ | ====Метод получения нерассчитанных услуг (GetNotCalculatedServices)==== | ||
+ | =====Пример SOAP-запроса к сервису===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | ||
+ | <soap:Body> | ||
+ | <GetNotCalculatedServices xmlns="http://megatec.ru/"> | ||
+ | <token>?</token> | ||
+ | <priceKey>5038425</priceKey> | ||
+ | </GetNotCalculatedServices> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | |||
+ | =====Пример SOAP-ответа сервиса===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | ||
+ | <soap:Body> | ||
+ | <GetNotCalculatedServicesResponse xmlns="http://megatec.ru/"> | ||
+ | <GetNotCalculatedServicesResult> | ||
+ | <Service xsi:type="ExcursionService"> | ||
+ | <ID>-190</ID> | ||
+ | <Name>Экскурсия::Арльберг/Кладбища Австрии, /Крысиная упряжка /</Name> | ||
+ | <ExternalID>0</ExternalID> | ||
+ | <StartDate>0001-01-01T00:00:00</StartDate> | ||
+ | <EndDate>0001-01-01T00:00:00</EndDate> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>0</Duration> | ||
+ | <Attribute>1</Attribute> | ||
+ | <RateBrutto /> | ||
+ | <Brutto>0</Brutto> | ||
+ | <RateNetto /> | ||
+ | <Netto>0</Netto> | ||
+ | <NMen>0</NMen> | ||
+ | <Partner> | ||
+ | <ID>10760</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <PartnersGroupID>0</PartnersGroupID> | ||
+ | <FullName /> | ||
+ | <BossName /> | ||
+ | <Fax /> | ||
+ | <Address /> | ||
+ | <Zip /> | ||
+ | <Email /> | ||
+ | <Phones /> | ||
+ | </Partner> | ||
+ | <Quota>NotChecked</Quota> | ||
+ | <PacketID>250</PacketID> | ||
+ | <City> | ||
+ | <ID>275</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | </City> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <IsIncoming>false</IsIncoming> | ||
+ | </Country> | ||
+ | <Tourists /> | ||
+ | <DetailNetto /> | ||
+ | <DetailBrutto /> | ||
+ | <Notes /> | ||
+ | <ServiceClass> | ||
+ | <ID>4</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <ServiceClasses>None</ServiceClasses> | ||
+ | </ServiceClass> | ||
+ | <Excursion> | ||
+ | <ID>292</ID> | ||
+ | <Name>Кладбища Австрии</Name> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <PlaceFrom /> | ||
+ | <PlaceTo /> | ||
+ | <TimeBeg>0001-01-01T00:00:00</TimeBeg> | ||
+ | <TimeEnd>0001-01-01T00:00:00</TimeEnd> | ||
+ | </Excursion> | ||
+ | <Transport> | ||
+ | <ID>28</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | </Transport> | ||
+ | </Service> | ||
+ | </GetNotCalculatedServicesResult> | ||
+ | </GetNotCalculatedServicesResponse> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | ====Метод получения вариантов услуги (GetServiceVariants)==== | ||
+ | =====Пример SOAP-запроса к сервису===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | ||
+ | <soap:Body> | ||
+ | <GetServiceVariants xmlns="http://megatec.ru/"> | ||
+ | <token>?</token> | ||
+ | <service xsi:type="FlightService"> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>0</Duration> | ||
+ | <Attribute>7</Attribute> | ||
+ | <RateBrutto>$</RateBrutto> | ||
+ | <NMen>1</NMen> | ||
+ | <Partner> | ||
+ | <ID>10762</ID> | ||
+ | </Partner> | ||
+ | <PacketID>248</PacketID> | ||
+ | <City> | ||
+ | <ID>275</ID> | ||
+ | </City> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | </Country> | ||
+ | <ServiceClass> | ||
+ | <ID>1</ID> | ||
+ | </ServiceClass> | ||
+ | <Tariff> | ||
+ | <ID>89</ID> | ||
+ | </Tariff> | ||
+ | <Flight> | ||
+ | <ID>523</ID> | ||
+ | </Flight> | ||
+ | </service> | ||
+ | <tourDate>2010-07-02T00:00:00</tourDate> | ||
+ | <tourDuration>11</tourDuration> | ||
+ | <allowHidden>false</allowHidden> | ||
+ | <allowHotelCodeChange>false</allowHotelCodeChange> | ||
+ | <checkFlightPacket>true</checkFlightPacket> | ||
+ | <checkQuotes>true</checkQuotes> | ||
+ | <nMen>1</nMen> | ||
+ | <byRoom>false</byRoom> | ||
+ | <userKey>1</userKey> | ||
+ | <includeOriginal>true</includeOriginal> | ||
+ | <excludeCharterClasses /> | ||
+ | </GetServiceVariants> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | |||
+ | =====Пример SOAP-ответа сервиса===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | ||
+ | <soap:Body> | ||
+ | <GetServiceVariantsResponse xmlns="http://megatec.ru/"> | ||
+ | <GetServiceVariantsResult> | ||
+ | <Service xsi:type="FlightService"> | ||
+ | <ID>-209</ID> | ||
+ | <Name>А_П::Москва/Арльберг/P74211, DME-AL, 12:12-15:15/Y Экономический класс/</Name> | ||
+ | <ExternalID>0</ExternalID> | ||
+ | <StartDate>0001-01-01T00:00:00</StartDate> | ||
+ | <EndDate>0001-01-01T00:00:00</EndDate> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>0</Duration> | ||
+ | <Attribute>7</Attribute> | ||
+ | <RateBrutto>$</RateBrutto> | ||
+ | <Brutto>0</Brutto> | ||
+ | <RateNetto /> | ||
+ | <Netto>0</Netto> | ||
+ | <NMen>1</NMen> | ||
+ | <Partner> | ||
+ | <ID>10762</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <PartnersGroupID>0</PartnersGroupID> | ||
+ | <FullName /> | ||
+ | <BossName /> | ||
+ | <Fax /> | ||
+ | <Address /> | ||
+ | <Zip /> | ||
+ | <Email /> | ||
+ | <Phones /> | ||
+ | </Partner> | ||
+ | <Quota>NotChecked</Quota> | ||
+ | <PacketID>248</PacketID> | ||
+ | <City> | ||
+ | <ID>275</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | </City> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <IsIncoming>false</IsIncoming> | ||
+ | </Country> | ||
+ | <Tourists /> | ||
+ | <DetailNetto /> | ||
+ | <DetailBrutto /> | ||
+ | <Notes /> | ||
+ | <ServiceClass> | ||
+ | <ID>1</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <ServiceClasses>None</ServiceClasses> | ||
+ | </ServiceClass> | ||
+ | <Tariff> | ||
+ | <ID>89</ID> | ||
+ | <Name>Экономический класс</Name> | ||
+ | <NameLat>Coach economy</NameLat> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <ServiceClassID>0</ServiceClassID> | ||
+ | <Comment /> | ||
+ | <CreateDate>0001-01-01T00:00:00</CreateDate> | ||
+ | </Tariff> | ||
+ | <Flight> | ||
+ | <ID>525</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <CityFrom> | ||
+ | <ID>1</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | </CityFrom> | ||
+ | <CityTo> | ||
+ | <ID>275</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | </CityTo> | ||
+ | <AirportFrom> | ||
+ | <ID>-212</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code>DME</Code> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | </AirportFrom> | ||
+ | <AirportTo> | ||
+ | <ID>-213</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code>AL</Code> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | </AirportTo> | ||
+ | <Airline> | ||
+ | <ID>-211</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code>P7</Code> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | </Airline> | ||
+ | <Number>4211</Number> | ||
+ | <TimeFrom>1899-01-01T12:12:00</TimeFrom> | ||
+ | <TimeTo>1899-01-01T15:15:00</TimeTo> | ||
+ | <DateFrom>0001-01-01T00:00:00</DateFrom> | ||
+ | <DateTo>0001-01-01T00:00:00</DateTo> | ||
+ | <IsArrival>false</IsArrival> | ||
+ | <Available>No</Available> | ||
+ | </Flight> | ||
+ | </Service> | ||
+ | <Service xsi:type="FlightService"> | ||
+ | <ID>-245</ID> | ||
+ | <Name>А_П::Москва/Арльберг/SU1875, SVO1-AL, 20:20-23:30/Y Экономический класс/</Name> | ||
+ | <ExternalID>0</ExternalID> | ||
+ | <StartDate>0001-01-01T00:00:00</StartDate> | ||
+ | <EndDate>0001-01-01T00:00:00</EndDate> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>0</Duration> | ||
+ | <Attribute>7</Attribute> | ||
+ | <RateBrutto /> | ||
+ | <Brutto>0</Brutto> | ||
+ | <RateNetto /> | ||
+ | <Netto>0</Netto> | ||
+ | <NMen>1</NMen> | ||
+ | <Partner> | ||
+ | <ID>10762</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <PartnersGroupID>0</PartnersGroupID> | ||
+ | <FullName /> | ||
+ | <BossName /> | ||
+ | <Fax /> | ||
+ | <Address /> | ||
+ | <Zip /> | ||
+ | <Email /> | ||
+ | <Phones /> | ||
+ | </Partner> | ||
+ | <Quota>NotChecked</Quota> | ||
+ | <PacketID>248</PacketID> | ||
+ | <City> | ||
+ | <ID>275</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | </City> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <IsIncoming>false</IsIncoming> | ||
+ | </Country> | ||
+ | <Tourists /> | ||
+ | <DetailNetto /> | ||
+ | <DetailBrutto /> | ||
+ | <Notes /> | ||
+ | <ServiceClass> | ||
+ | <ID>1</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <ServiceClasses>None</ServiceClasses> | ||
+ | </ServiceClass> | ||
+ | <Tariff> | ||
+ | <ID>89</ID> | ||
+ | <Name>Экономический класс</Name> | ||
+ | <NameLat>Coach economy</NameLat> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <ServiceClassID>0</ServiceClassID> | ||
+ | <Comment /> | ||
+ | <CreateDate>0001-01-01T00:00:00</CreateDate> | ||
+ | </Tariff> | ||
+ | <Flight> | ||
+ | <ID>523</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | <CityFrom> | ||
+ | <ID>1</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | </CityFrom> | ||
+ | <CityTo> | ||
+ | <ID>275</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code /> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | </CityTo> | ||
+ | <AirportFrom> | ||
+ | <ID>-248</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code>SVO1</Code> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | </AirportFrom> | ||
+ | <AirportTo> | ||
+ | <ID>-249</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code>AL</Code> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | </AirportTo> | ||
+ | <Airline> | ||
+ | <ID>-247</ID> | ||
+ | <Name /> | ||
+ | <NameLat /> | ||
+ | <Code>SU</Code> | ||
+ | <CodeLat /> | ||
+ | <Unicode /> | ||
+ | <Description /> | ||
+ | </Airline> | ||
+ | <Number>1875</Number> | ||
+ | <TimeFrom>1899-01-01T20:20:00</TimeFrom> | ||
+ | <TimeTo>1899-01-01T23:30:00</TimeTo> | ||
+ | <DateFrom>0001-01-01T00:00:00</DateFrom> | ||
+ | <DateTo>0001-01-01T00:00:00</DateTo> | ||
+ | <IsArrival>false</IsArrival> | ||
+ | <Available>No</Available> | ||
+ | </Flight> | ||
+ | </Service> | ||
+ | </GetServiceVariantsResult> | ||
+ | </GetServiceVariantsResponse> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | |||
+ | ===Работа с сервисом «ReservationService.asmx» (Бронирование)=== | ||
+ | ====Метод расчета стоимости услуг (CalculateReservation)==== | ||
+ | =====Пример SOAP-запроса к сервису===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | ||
+ | <soap:Body> | ||
+ | <CalculateReservation xmlns="http://megatec.ru/"> | ||
+ | <token>?</token> | ||
+ | <services> | ||
+ | <Service xsi:type="TransferService"> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>0</Duration> | ||
+ | <Attribute>19975</Attribute> | ||
+ | <NMen>1</NMen> | ||
+ | <Partner> | ||
+ | <ID>10760</ID> | ||
+ | </Partner> | ||
+ | <PacketID>250</PacketID> | ||
+ | <City> | ||
+ | <ID>275</ID> | ||
+ | </City> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | </Country> | ||
+ | <ServiceClass> | ||
+ | <ID>2</ID> | ||
+ | </ServiceClass> | ||
+ | <Transfer> | ||
+ | <ID>372</ID> | ||
+ | </Transfer> | ||
+ | <Transport> | ||
+ | <ID>3</ID> | ||
+ | </Transport> | ||
+ | </Service> | ||
+ | <Service xsi:type="VisaService"> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>0</Duration> | ||
+ | <Attribute>131</Attribute> | ||
+ | <Partner> | ||
+ | <ID>10760</ID> | ||
+ | </Partner> | ||
+ | <PacketID>250</PacketID> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | </Country> | ||
+ | <ServiceClass> | ||
+ | <ID>5</ID> | ||
+ | </ServiceClass> | ||
+ | <Visa> | ||
+ | <ID>157</ID> | ||
+ | </Visa> | ||
+ | </Service> | ||
+ | <Service xsi:type="InsuranceService"> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>11</Duration> | ||
+ | <Attribute>151</Attribute> | ||
+ | <NMen>1</NMen> | ||
+ | <Partner> | ||
+ | <ID>10763</ID> | ||
+ | </Partner> | ||
+ | <PacketID>250</PacketID> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | </Country> | ||
+ | <ServiceClass> | ||
+ | <ID>6</ID> | ||
+ | </ServiceClass> | ||
+ | <AddDescription1> | ||
+ | <ID>6</ID> | ||
+ | </AddDescription1> | ||
+ | <AddDescription2> | ||
+ | <ID>0</ID> | ||
+ | </AddDescription2> | ||
+ | <Insurance> | ||
+ | <ID>174</ID> | ||
+ | </Insurance> | ||
+ | </Service> | ||
+ | <Service xsi:type="AdditionalService"> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>0</Duration> | ||
+ | <Attribute>3</Attribute> | ||
+ | <NMen>1</NMen> | ||
+ | <Partner> | ||
+ | <ID>10760</ID> | ||
+ | </Partner> | ||
+ | <Quota>NotChecked</Quota> | ||
+ | <PacketID>250</PacketID> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | </Country> | ||
+ | <ServiceClass> | ||
+ | <ID>1032</ID> | ||
+ | </ServiceClass> | ||
+ | <Description> | ||
+ | <ID>183</ID> | ||
+ | </Description> | ||
+ | <Description1> | ||
+ | <ID>0</ID> | ||
+ | </Description1> | ||
+ | <Description2> | ||
+ | <ID>0</ID> | ||
+ | </Description2> | ||
+ | </Service> | ||
+ | <Service xsi:type="HotelService"> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>10</Duration> | ||
+ | <Attribute>390</Attribute> | ||
+ | <NMen>1</NMen> | ||
+ | <Partner> | ||
+ | <ID>10760</ID> | ||
+ | </Partner> | ||
+ | <Quota>NotChecked</Quota> | ||
+ | <PacketID>250</PacketID> | ||
+ | <City> | ||
+ | <ID>275</ID> | ||
+ | </City> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | </Country> | ||
+ | <ServiceClass> | ||
+ | <ID>3</ID> | ||
+ | </ServiceClass> | ||
+ | <Hotel> | ||
+ | <ID>3254</ID> | ||
+ | </Hotel> | ||
+ | <Room> | ||
+ | <ID>1112</ID> | ||
+ | <RoomType> | ||
+ | <ID>1</ID> | ||
+ | </RoomType> | ||
+ | <RoomCategory> | ||
+ | <ID>20</ID> | ||
+ | </RoomCategory> | ||
+ | <RoomAccomodation> | ||
+ | <ID>320</ID> | ||
+ | </RoomAccomodation> | ||
+ | </Room> | ||
+ | <Pansion> | ||
+ | <ID>2</ID> | ||
+ | </Pansion> | ||
+ | </Service> | ||
+ | <Service xsi:type="TransferService"> | ||
+ | <StartDay>8</StartDay> | ||
+ | <Duration>0</Duration> | ||
+ | <Attribute>19975</Attribute> | ||
+ | <NMen>1</NMen> | ||
+ | <Partner> | ||
+ | <ID>10760</ID> | ||
+ | </Partner> | ||
+ | <PacketID>250</PacketID> | ||
+ | <City> | ||
+ | <ID>275</ID> | ||
+ | </City> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | </Country> | ||
+ | <ServiceClass> | ||
+ | <ID>2</ID> | ||
+ | </ServiceClass> | ||
+ | <Transfer> | ||
+ | <ID>373</ID> | ||
+ | </Transfer> | ||
+ | <Transport> | ||
+ | <ID>3</ID> | ||
+ | </Transport> | ||
+ | </Service> | ||
+ | <Service xsi:type="FlightService"> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>0</Duration> | ||
+ | <NMen>2</NMen> | ||
+ | <Partner> | ||
+ | <ID>27990</ID> | ||
+ | </Partner> | ||
+ | <PacketID>19443</PacketID> | ||
+ | <ServiceClass> | ||
+ | <ID>1</ID> | ||
+ | </ServiceClass> | ||
+ | <Tariff> | ||
+ | <ID>226</ID> | ||
+ | </Tariff> | ||
+ | <Flight> | ||
+ | <ID>17234</ID> | ||
+ | <CityFrom> | ||
+ | <ID>30</ID> | ||
+ | </CityFrom> | ||
+ | <CityTo> | ||
+ | <ID>65</ID> | ||
+ | </CityTo> | ||
+ | </Flight> | ||
+ | </Service> | ||
+ | <Service xsi:type="FlightService"> | ||
+ | <StartDay>8</StartDay> | ||
+ | <Duration>0</Duration> | ||
+ | <Attribute>0</Attribute> | ||
+ | <NMen>2</NMen> | ||
+ | <Partner> | ||
+ | <ID>27990</ID> | ||
+ | </Partner> | ||
+ | <PacketID>18920</PacketID> | ||
+ | <ServiceClass> | ||
+ | <ID>1</ID> | ||
+ | </ServiceClass> | ||
+ | <Tariff> | ||
+ | <ID>226</ID> | ||
+ | </Tariff> | ||
+ | <Flight> | ||
+ | <ID>17235</ID> | ||
+ | <CityFrom> | ||
+ | <ID>65</ID> | ||
+ | </CityFrom> | ||
+ | <CityTo> | ||
+ | <ID>30</ID> | ||
+ | </CityTo> | ||
+ | </Flight> | ||
+ | </Service> | ||
+ | </services> | ||
+ | <parameters> | ||
+ | <AdvertiseID>-1</AdvertiseID> | ||
+ | <CauseDiscountID>-1</CauseDiscountID> | ||
+ | <CountryID>90</CountryID> | ||
+ | <DupUserID>-1</DupUserID> | ||
+ | <OperatorName /> | ||
+ | <OwnerID>-1</OwnerID> | ||
+ | <PartnerID>10764</PartnerID> | ||
+ | <RateCode /> | ||
+ | <ReserveDuration>-1</ReserveDuration> | ||
+ | <TourDate>2010-07-02T00:00:00</TourDate> | ||
+ | <TourID>542</TourID> | ||
+ | <TouristsCount>1</TouristsCount> | ||
+ | </parameters> | ||
+ | </CalculateReservation> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | |||
+ | =====Пример SOAP-ответа сервиса===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | ||
+ | <soap:Body> | ||
+ | <CalculateReservationResponse xmlns="http://megatec.ru/"> | ||
+ | <CalculateReservationResult> | ||
+ | <Brutto>1646</Brutto> | ||
+ | <DiscountPercent>10</DiscountPercent> | ||
+ | <DiscountSumm>172</DiscountSumm> | ||
+ | <Rate>$</Rate> | ||
+ | <ReservationCode /> | ||
+ | <ErrorMessage /> | ||
+ | </CalculateReservationResult> | ||
+ | </CalculateReservationResponse> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | ====Метод бронирования услуг (CreateReservation)==== | ||
+ | =====Пример SOAP-запроса к сервису===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | ||
+ | <soap:Body> | ||
+ | <CreateReservation xmlns="http://megatec.ru/"> | ||
+ | <token>?</token> | ||
+ | <services> | ||
+ | <Service xsi:type="TransferService"> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>0</Duration> | ||
+ | <Attribute>19975</Attribute> | ||
+ | <NMen>1</NMen> | ||
+ | <Partner> | ||
+ | <ID>10760</ID> | ||
+ | </Partner> | ||
+ | <PacketID>250</PacketID> | ||
+ | <City> | ||
+ | <ID>275</ID> | ||
+ | </City> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | </Country> | ||
+ | <Tourists> | ||
+ | <Tourist> | ||
+ | <ID>0</ID> | ||
+ | </Tourist> | ||
+ | </Tourists> | ||
+ | <ServiceClass> | ||
+ | <ID>2</ID> | ||
+ | </ServiceClass> | ||
+ | <Transfer> | ||
+ | <ID>372</ID> | ||
+ | </Transfer> | ||
+ | <Transport> | ||
+ | <ID>3</ID> | ||
+ | </Transport> | ||
+ | </Service> | ||
+ | <Service xsi:type="VisaService"> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>0</Duration> | ||
+ | <Attribute>131</Attribute> | ||
+ | <Partner> | ||
+ | <ID>10760</ID> | ||
+ | </Partner> | ||
+ | <PacketID>250</PacketID> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | </Country> | ||
+ | <Tourists> | ||
+ | <Tourist> | ||
+ | <ID>0</ID> | ||
+ | </Tourist> | ||
+ | </Tourists> | ||
+ | <ServiceClass> | ||
+ | <ID>5</ID> | ||
+ | </ServiceClass> | ||
+ | <Visa> | ||
+ | <ID>157</ID> | ||
+ | </Visa> | ||
+ | </Service> | ||
+ | <Service xsi:type="ExcursionService"> | ||
+ | <StartDay>2</StartDay> | ||
+ | <Duration>1</Duration> | ||
+ | <Attribute>0</Attribute> | ||
+ | <Partner> | ||
+ | <ID>10771</ID> | ||
+ | </Partner> | ||
+ | <PacketID>682</PacketID> | ||
+ | <City> | ||
+ | <ID>35</ID> | ||
+ | </City> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | </Country> | ||
+ | <Tourists> | ||
+ | <Tourist> | ||
+ | <ID>0</ID> | ||
+ | </Tourist> | ||
+ | </Tourists> | ||
+ | <ServiceClass> | ||
+ | <ID>4</ID> | ||
+ | </ServiceClass> | ||
+ | <Excursion> | ||
+ | <ID>52</ID> | ||
+ | </Excursion> | ||
+ | <Transport> | ||
+ | <ID>3</ID> | ||
+ | </Transport> | ||
+ | </Service> | ||
+ | <Service xsi:type="InsuranceService"> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>11</Duration> | ||
+ | <Attribute>151</Attribute> | ||
+ | <NMen>1</NMen> | ||
+ | <Partner> | ||
+ | <ID>10763</ID> | ||
+ | </Partner> | ||
+ | <PacketID>250</PacketID> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | </Country> | ||
+ | <Tourists> | ||
+ | <Tourist> | ||
+ | <ID>0</ID> | ||
+ | </Tourist> | ||
+ | </Tourists> | ||
+ | <ServiceClass> | ||
+ | <ID>6</ID> | ||
+ | </ServiceClass> | ||
+ | <AddDescription1> | ||
+ | <ID>6</ID> | ||
+ | </AddDescription1> | ||
+ | <AddDescription2> | ||
+ | <ID>0</ID> | ||
+ | </AddDescription2> | ||
+ | <Insurance> | ||
+ | <ID>174</ID> | ||
+ | </Insurance> | ||
+ | </Service> | ||
+ | <Service xsi:type="AdditionalService"> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>0</Duration> | ||
+ | <Attribute>3</Attribute> | ||
+ | <NMen>1</NMen> | ||
+ | <Partner> | ||
+ | <ID>10760</ID> | ||
+ | </Partner> | ||
+ | <Quota>NotChecked</Quota> | ||
+ | <PacketID>250</PacketID> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | </Country> | ||
+ | <Tourists> | ||
+ | <Tourist> | ||
+ | <ID>0</ID> | ||
+ | </Tourist> | ||
+ | </Tourists> | ||
+ | <ServiceClass> | ||
+ | <ID>1032</ID> | ||
+ | </ServiceClass> | ||
+ | <Description> | ||
+ | <ID>183</ID> | ||
+ | </Description> | ||
+ | <Description1> | ||
+ | <ID>0</ID> | ||
+ | </Description1> | ||
+ | <Description2> | ||
+ | <ID>0</ID> | ||
+ | </Description2> | ||
+ | </Service> | ||
+ | <Service xsi:type="HotelService"> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>10</Duration> | ||
+ | <Attribute>390</Attribute> | ||
+ | <NMen>1</NMen> | ||
+ | <Partner> | ||
+ | <ID>10760</ID> | ||
+ | </Partner> | ||
+ | <Quota>NotChecked</Quota> | ||
+ | <PacketID>250</PacketID> | ||
+ | <City> | ||
+ | <ID>275</ID> | ||
+ | </City> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | </Country> | ||
+ | <Tourists> | ||
+ | <Tourist> | ||
+ | <ID>0</ID> | ||
+ | </Tourist> | ||
+ | </Tourists> | ||
+ | <ServiceClass> | ||
+ | <ID>3</ID> | ||
+ | </ServiceClass> | ||
+ | <Hotel> | ||
+ | <ID>3254</ID> | ||
+ | </Hotel> | ||
+ | <Room> | ||
+ | <ID>1112</ID> | ||
+ | <RoomType> | ||
+ | <ID>1</ID> | ||
+ | </RoomType> | ||
+ | <RoomCategory> | ||
+ | <ID>20</ID> | ||
+ | </RoomCategory> | ||
+ | <RoomAccomodation> | ||
+ | <ID>320</ID> | ||
+ | </RoomAccomodation> | ||
+ | </Room> | ||
+ | <Pansion> | ||
+ | <ID>2</ID> | ||
+ | </Pansion> | ||
+ | <Notes>some service comment</Notes> | ||
+ | <Brutto>2</Brutto> | ||
+ | <RateBrutto>$</RateBrutto> | ||
+ | <Netto>3</Netto> | ||
+ | <Discount>4</Discount> | ||
+ | </Service> | ||
+ | <Service xsi:type="TransferService"> | ||
+ | <StartDay>8</StartDay> | ||
+ | <Duration>0</Duration> | ||
+ | <Attribute>19975</Attribute> | ||
+ | <NMen>1</NMen> | ||
+ | <Partner> | ||
+ | <ID>10760</ID> | ||
+ | </Partner> | ||
+ | <PacketID>250</PacketID> | ||
+ | <City> | ||
+ | <ID>275</ID> | ||
+ | </City> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | </Country> | ||
+ | <Tourists> | ||
+ | <Tourist> | ||
+ | <ID>0</ID> | ||
+ | </Tourist> | ||
+ | </Tourists> | ||
+ | <ServiceClass> | ||
+ | <ID>2</ID> | ||
+ | </ServiceClass> | ||
+ | <Transfer> | ||
+ | <ID>373</ID> | ||
+ | </Transfer> | ||
+ | <Transport> | ||
+ | <ID>3</ID> | ||
+ | </Transport> | ||
+ | </Service> | ||
+ | <Service xsi:type="FlightService"> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>0</Duration> | ||
+ | <NMen>2</NMen> | ||
+ | <Partner> | ||
+ | <ID>27990</ID> | ||
+ | </Partner> | ||
+ | <PacketID>19443</PacketID> | ||
+ | <Tourists> | ||
+ | <Tourist> | ||
+ | <ID>0</ID> | ||
+ | </Tourist> | ||
+ | </Tourists> | ||
+ | <ServiceClass> | ||
+ | <ID>1</ID> | ||
+ | </ServiceClass> | ||
+ | <Tariff> | ||
+ | <ID>226</ID> | ||
+ | </Tariff> | ||
+ | <Flight> | ||
+ | <ID>17234</ID> | ||
+ | <CityFrom> | ||
+ | <ID>30</ID> | ||
+ | </CityFrom> | ||
+ | <CityTo> | ||
+ | <ID>65</ID> | ||
+ | </CityTo> | ||
+ | </Flight> | ||
+ | </Service> | ||
+ | <Service xsi:type="FlightService"> | ||
+ | <StartDay>8</StartDay> | ||
+ | <Duration>0</Duration> | ||
+ | <Attribute>0</Attribute> | ||
+ | <NMen>2</NMen> | ||
+ | <Partner> | ||
+ | <ID>27990</ID> | ||
+ | </Partner> | ||
+ | <PacketID>18920</PacketID> | ||
+ | <Tourists> | ||
+ | <Tourist> | ||
+ | <ID>0</ID> | ||
+ | </Tourist> | ||
+ | </Tourists> | ||
+ | <ServiceClass> | ||
+ | <ID>1</ID> | ||
+ | </ServiceClass> | ||
+ | <Tariff> | ||
+ | <ID>226</ID> | ||
+ | </Tariff> | ||
+ | <Flight> | ||
+ | <ID>17235</ID> | ||
+ | <CityFrom> | ||
+ | <ID>65</ID> | ||
+ | </CityFrom> | ||
+ | <CityTo> | ||
+ | <ID>30</ID> | ||
+ | </CityTo> | ||
+ | </Flight> | ||
+ | </Service> | ||
+ | </services> | ||
+ | <tourists> | ||
+ | <Tourist Sex="Male" BirthDate="1980-02-01T00:00:00" AgeType="Adult" Citizen="" IsMain="true" ExternalID="0"> | ||
+ | <ID>0</ID> | ||
+ | <Name> | ||
+ | <FirstName /> | ||
+ | <SecondName /> | ||
+ | <LastName /> | ||
+ | </Name> | ||
+ | <NameLat> | ||
+ | <FirstName>SEMEN</FirstName> | ||
+ | <SecondName /> | ||
+ | <LastName>IVANOV</LastName> | ||
+ | </NameLat> | ||
+ | </Tourist> | ||
+ | </tourists> | ||
+ | <parameters> | ||
+ | <AdvertiseID>-1</AdvertiseID> | ||
+ | <CauseDiscountID>-1</CauseDiscountID> | ||
+ | <ExternalReservationId>ext res code</ExternalReservationId> | ||
+ | <CountryID>90</CountryID> | ||
+ | <DupUserID>-1</DupUserID> | ||
+ | <OperatorName /> | ||
+ | <OwnerID>-1</OwnerID> | ||
+ | <PartnerID>10764</PartnerID> | ||
+ | <RateCode /> | ||
+ | <ReserveDuration>-1</ReserveDuration> | ||
+ | <TourDate>2010-07-02T00:00:00</TourDate> | ||
+ | <TourID>542</TourID> | ||
+ | <TouristsCount>1</TouristsCount> | ||
+ | </parameters> </CreateReservation> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | |||
+ | =====Пример SOAP-ответа сервиса===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | ||
+ | <soap:Body> | ||
+ | <CreateReservationResponse xmlns="http://megatec.ru/"> | ||
+ | <CreateReservationResult> | ||
+ | <Brutto>1646</Brutto> | ||
+ | <DiscountPercent>10</DiscountPercent> | ||
+ | <DiscountSumm>172</DiscountSumm> | ||
+ | <Rate>$</Rate> | ||
+ | <ReservationCode>AT 0702007</ReservationCode> | ||
+ | <ErrorMessage /> | ||
+ | </CreateReservationResult> | ||
+ | </CreateReservationResponse> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | ====Метод получения данных по путевке (GetDogovorInfo)==== | ||
+ | =====Пример SOAP-запроса к сервису===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://megatec.ru/"> | ||
+ | <soap:Header/> | ||
+ | <soap:Body> | ||
+ | <GetDogovorInfo xmlns="http://megatec.ru/"> | ||
+ | <token>?</token> | ||
+ | <reservationCode>EN40228001</reservationCode> | ||
+ | </GetDogovorInfo> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | =====Пример SOAP-ответа сервиса===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | ||
+ | <soap:Body> | ||
+ | <GetDogovorInfoResponse xmlns="http://megatec.ru/"> | ||
+ | <GetDogovorInfoResult> | ||
+ | <Code>LON8052402</Code> | ||
+ | <TurDate>2018-05-24T00:00:00</TurDate> | ||
+ | <Price>4537</Price> | ||
+ | <Discount>10</Discount> | ||
+ | <DiscountSum>30</DiscountSum> | ||
+ | <DogovorStatus>3</DogovorStatus> | ||
+ | <Nmen>6</Nmen> | ||
+ | <Ndays>6</Ndays> | ||
+ | <CountryName>Англия</CountryName> | ||
+ | <CityName>Лондон</CityName> | ||
+ | <RateCode>USD</RateCode> | ||
+ | <ReservationServices> | ||
+ | <Service xsi:type="HotelService" Brutto="472.5" Netto="450"> | ||
+ | <ID>-150</ID> | ||
+ | <Name> | ||
+ | HOTEL::Лондон/Тестовый отель-1*,5 ночей/DBL(Standart),2A/FB Пансион/ | ||
+ | </Name> | ||
+ | <ExternalID>0</ExternalID> | ||
+ | <StartDate>2018-05-24T00:00:00</StartDate> | ||
+ | <EndDate>2018-05-28T00:00:00</EndDate> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>5</Duration> | ||
+ | <Attribute>670</Attribute> | ||
+ | <RateBrutto/> | ||
+ | <Brutto>472.5</Brutto> | ||
+ | <DetailBrutto/> | ||
+ | <RateNetto/> | ||
+ | <Netto>450</Netto> | ||
+ | <DetailNetto/> | ||
+ | <Discount xsi:nil="true"/> | ||
+ | <NMen>3</NMen> | ||
+ | <Partner> | ||
+ | <ID>10766</ID> | ||
+ | <Name>Консульство</Name> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <PartnersGroupID>0</PartnersGroupID> | ||
+ | <FullName/> | ||
+ | <BossName/> | ||
+ | <Fax/> | ||
+ | <Address/> | ||
+ | <Zip/> | ||
+ | <Email/> | ||
+ | <Phones/> | ||
+ | </Partner> | ||
+ | <Status> | ||
+ | <ID>1</ID> | ||
+ | <Name>Заказ на бронирование</Name> | ||
+ | <NameLat>order for booking</NameLat> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | </Status> | ||
+ | <Quota>NotChecked</Quota> | ||
+ | <PacketID>211</PacketID> | ||
+ | <City> | ||
+ | <ID>25</ID> | ||
+ | <Name/> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | </City> | ||
+ | <Country> | ||
+ | <ID>222</ID> | ||
+ | <Name/> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <IsIncoming>false</IsIncoming> | ||
+ | </Country> | ||
+ | <Tourists> | ||
+ | <Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="true" ExternalID="0"> | ||
+ | <ID>1</ID> | ||
+ | <Name> | ||
+ | <FirstName>AAA</FirstName> | ||
+ | <LastName>AAA</LastName> | ||
+ | </Name> | ||
+ | <NameLat> | ||
+ | <FirstName>AAA</FirstName> | ||
+ | <LastName>AAA</LastName> | ||
+ | </NameLat> | ||
+ | <LocalPassport IssuedBy="" Series="" Number=""/> | ||
+ | <ForeignPassport IssuedBy="" Series="" Number=""/> | ||
+ | </Tourist> | ||
+ | <Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="false" ExternalID="0"> | ||
+ | <ID>2</ID> | ||
+ | <Name> | ||
+ | <FirstName>BBB</FirstName> | ||
+ | <LastName>BBB</LastName> | ||
+ | </Name> | ||
+ | <NameLat> | ||
+ | <FirstName>BBB</FirstName> | ||
+ | <LastName>BBB</LastName> | ||
+ | </NameLat> | ||
+ | <LocalPassport IssuedBy="" Series="" Number=""/> | ||
+ | <ForeignPassport IssuedBy="" Series="" Number=""/> | ||
+ | </Tourist> | ||
+ | <Tourist Sex="Female" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="false" ExternalID="0"> | ||
+ | <ID>3</ID> | ||
+ | <Name> | ||
+ | <FirstName>CCC</FirstName> | ||
+ | <LastName>CCC</LastName> | ||
+ | </Name> | ||
+ | <NameLat> | ||
+ | <FirstName>CCC</FirstName> | ||
+ | <LastName>CCC</LastName> | ||
+ | </NameLat> | ||
+ | <LocalPassport IssuedBy="" Series="" Number=""/> | ||
+ | <ForeignPassport IssuedBy="" Series="" Number=""/> | ||
+ | </Tourist> | ||
+ | </Tourists> | ||
+ | <Notes/> | ||
+ | <PartnerContractId>0</PartnerContractId> | ||
+ | <LinkingStatus>0</LinkingStatus> | ||
+ | <LinkingServiceKey>0</LinkingServiceKey> | ||
+ | <IsAllNetCostOffers>false</IsAllNetCostOffers> | ||
+ | <IsAllGrossCostOffers>false</IsAllGrossCostOffers> | ||
+ | <ServiceClass> | ||
+ | <ID>3</ID> | ||
+ | <Name>Отель/Круиз</Name> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <ServiceClasses>None</ServiceClasses> | ||
+ | </ServiceClass> | ||
+ | <IsGroup>false</IsGroup> | ||
+ | <Hotel> | ||
+ | <ID>3231</ID> | ||
+ | <Name>Тестовый отель 1*</Name> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <City> | ||
+ | <ID>3231</ID> | ||
+ | <Name>Лондон</Name> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | </City> | ||
+ | </Hotel> | ||
+ | <Room> | ||
+ | <ID>1117</ID> | ||
+ | <Name/> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <RoomType> | ||
+ | <ID>2</ID> | ||
+ | <Name>DBL</Name> | ||
+ | <NameLat/> | ||
+ | <Code>DBL</Code> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <Places> | ||
+ | <Main>2</Main> | ||
+ | <Extra>3</Extra> | ||
+ | </Places> | ||
+ | </RoomType> | ||
+ | <RoomCategory> | ||
+ | <ID>20</ID> | ||
+ | <Name>Standart</Name> | ||
+ | <NameLat/> | ||
+ | <Code>STD</Code> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <PrintOrder>0</PrintOrder> | ||
+ | </RoomCategory> | ||
+ | <RoomAccomodation> | ||
+ | <ID>325</ID> | ||
+ | <Name>2A</Name> | ||
+ | <NameLat/> | ||
+ | <Code>2A</Code> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <Places> | ||
+ | <Main>2</Main> | ||
+ | <Extra>1</Extra> | ||
+ | </Places> | ||
+ | <IsMain>true</IsMain> | ||
+ | <AgeRange AgeFrom="0" AgeTo="0"/> | ||
+ | <AgeRange2 AgeFrom="0" AgeTo="0"/> | ||
+ | <PerRoom>true</PerRoom> | ||
+ | </RoomAccomodation> | ||
+ | </Room> | ||
+ | <Pansion> | ||
+ | <ID>1</ID> | ||
+ | <Name>Пансион</Name> | ||
+ | <NameLat/> | ||
+ | <Code>FB</Code> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | </Pansion> | ||
+ | </Service> | ||
+ | <Service xsi:type="ExcursionService" Brutto="5.25" Netto="5"> | ||
+ | <ID>-162</ID> | ||
+ | <Name> | ||
+ | Экскурсия::Лондон/Британский музей, 3 часа/автобус,20 чел./ | ||
+ | </Name> | ||
+ | <ExternalID>0</ExternalID> | ||
+ | <StartDate>2018-05-24T00:00:00</StartDate> | ||
+ | <EndDate>2018-05-24T00:00:00</EndDate> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>0</Duration> | ||
+ | <Attribute>0</Attribute> | ||
+ | <RateBrutto/> | ||
+ | <Brutto>5.25</Brutto> | ||
+ | <DetailBrutto/> | ||
+ | <RateNetto/> | ||
+ | <Netto>5</Netto> | ||
+ | <DetailNetto/> | ||
+ | <Discount xsi:nil="true"/> | ||
+ | <NMen>1</NMen> | ||
+ | <Partner> | ||
+ | <ID>10760</ID> | ||
+ | <Name>партнер</Name> | ||
+ | <NameLat>partner</NameLat> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <PartnersGroupID>0</PartnersGroupID> | ||
+ | <FullName/> | ||
+ | <BossName/> | ||
+ | <Fax/> | ||
+ | <Address/> | ||
+ | <Zip/> | ||
+ | <Email/> | ||
+ | <Phones/> | ||
+ | </Partner> | ||
+ | <Status> | ||
+ | <ID>0</ID> | ||
+ | <Name>Ok</Name> | ||
+ | <NameLat>Ok</NameLat> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | </Status> | ||
+ | <Quota>NotChecked</Quota> | ||
+ | <PacketID>252</PacketID> | ||
+ | <City> | ||
+ | <ID>25</ID> | ||
+ | <Name/> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | </City> | ||
+ | <Country> | ||
+ | <ID>222</ID> | ||
+ | <Name/> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <IsIncoming>false</IsIncoming> | ||
+ | </Country> | ||
+ | <Tourists> | ||
+ | <Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="true" ExternalID="0"> | ||
+ | <ID>1</ID> | ||
+ | <Name> | ||
+ | <FirstName>AAA</FirstName> | ||
+ | <LastName>AAA</LastName> | ||
+ | </Name> | ||
+ | <NameLat> | ||
+ | <FirstName>AAA</FirstName> | ||
+ | <LastName>AAA</LastName> | ||
+ | </NameLat> | ||
+ | <LocalPassport IssuedBy="" Series="" Number=""/> | ||
+ | <ForeignPassport IssuedBy="" Series="" Number=""/> | ||
+ | </Tourist> | ||
+ | </Tourists> | ||
+ | <Notes/> | ||
+ | <PartnerContractId>0</PartnerContractId> | ||
+ | <LinkingStatus>0</LinkingStatus> | ||
+ | <LinkingServiceKey>0</LinkingServiceKey> | ||
+ | <IsAllNetCostOffers>false</IsAllNetCostOffers> | ||
+ | <IsAllGrossCostOffers>false</IsAllGrossCostOffers> | ||
+ | <ServiceClass> | ||
+ | <ID>4</ID> | ||
+ | <Name>Экскурсия</Name> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <ServiceClasses>None</ServiceClasses> | ||
+ | </ServiceClass> | ||
+ | <IsGroup>false</IsGroup> | ||
+ | <Excursion> | ||
+ | <ID>41</ID> | ||
+ | <Name>Британский музей</Name> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <PlaceFrom/> | ||
+ | <PlaceTo/> | ||
+ | <TimeBeg>0001-01-01T00:00:00</TimeBeg> | ||
+ | <TimeEnd>0001-01-01T00:00:00</TimeEnd> | ||
+ | </Excursion> | ||
+ | <Transport> | ||
+ | <ID>3</ID> | ||
+ | <Name/> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | </Transport> | ||
+ | </Service> | ||
+ | </ReservationServices> | ||
+ | <ReservationTourists> | ||
+ | <Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="true" ExternalID="0"> | ||
+ | <ID>1</ID> | ||
+ | <Name> | ||
+ | <FirstName>AAA</FirstName> | ||
+ | <LastName>AAA</LastName> | ||
+ | </Name> | ||
+ | <NameLat> | ||
+ | <FirstName>AAA</FirstName> | ||
+ | <LastName>AAA</LastName> | ||
+ | </NameLat> | ||
+ | <LocalPassport IssuedBy="" Series="" Number=""/> | ||
+ | <ForeignPassport IssuedBy="" Series="" Number=""/> | ||
+ | </Tourist> | ||
+ | <Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="false" ExternalID="0"> | ||
+ | <ID>2</ID> | ||
+ | <Name> | ||
+ | <FirstName>BBB</FirstName> | ||
+ | <LastName>BBB</LastName> | ||
+ | </Name> | ||
+ | <NameLat> | ||
+ | <FirstName>BBB</FirstName> | ||
+ | <LastName>BBB</LastName> | ||
+ | </NameLat> | ||
+ | <LocalPassport IssuedBy="" Series="" Number=""/> | ||
+ | <ForeignPassport IssuedBy="" Series="" Number=""/> | ||
+ | </Tourist> | ||
+ | <Tourist Sex="Female" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="false" ExternalID="0"> | ||
+ | <ID>3</ID> | ||
+ | <Name> | ||
+ | <FirstName>CCC</FirstName> | ||
+ | <LastName>CCC</LastName> | ||
+ | </Name> | ||
+ | <NameLat> | ||
+ | <FirstName>CCC</FirstName> | ||
+ | <LastName>CCC</LastName> | ||
+ | </NameLat> | ||
+ | <LocalPassport IssuedBy="" Series="" Number=""/> | ||
+ | <ForeignPassport IssuedBy="" Series="" Number=""/> | ||
+ | </Tourist> | ||
+ | </ReservationTourists> | ||
+ | <DogovorGlobalStatus>3</DogovorGlobalStatus> | ||
+ | </ReservationInfo> | ||
+ | </GetDogovorInfoResult> | ||
+ | </GetDogovorInfoResponse> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | |||
+ | ====Метод получения информации по путевке (GetReservationInfo)==== | ||
+ | =====Пример SOAP-запроса к сервису===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://megatec.ru/"> | ||
+ | <soap:Header/> | ||
+ | <soap:Body> | ||
+ | <GetReservationInfo xmlns="http://megatec.ru/"> | ||
+ | <token>?</token> | ||
+ | <reservationCode>EN40228001</reservationCode> | ||
+ | <partnerKey>0</partnerKey> | ||
+ | <param> | ||
+ | <Code>EN40228001</Code> | ||
+ | <Price>225</Price> | ||
+ | <Discount>0</Discount> | ||
+ | </param> | ||
+ | </GetReservationInfo> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | =====Пример SOAP-ответа сервиса===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | ||
+ | <soap:Body> | ||
+ | <GetReservationInfoResponse xmlns="http://megatec.ru/"> | ||
+ | <GetReservationInfoResult><![CDATA[<table border="2"> | ||
+ | <tr><td colspan="2"> | ||
+ | Новая заявка | ||
+ | на организацию экскурсионного туристического / | ||
+ | санаторно-курортного обслуживания к путевке EN40228001 | ||
+ | (Англия, Лондон, Индивидуально)</td></tr> | ||
+ | <tr><td colspan="2"></td></tr> | ||
+ | <tr><td colspan="2"></td></tr> | ||
+ | <tr><td colspan="2">Даты заезда: с 28.02.2014 по 03.03.2014, кол-во дней 4</td></tr> | ||
+ | <tr><td colspan="2"></td></tr> | ||
+ | <tr><td> Наименование: </td><td>Отель в Лондоне 1* (Лондон)</td></tr> | ||
+ | |||
+ | <tr><td> Категория номера: </td><td>Single Standart Взрослый</td></tr> | ||
+ | <tr><td> Размещение (кол-во мест в номере):</td><td> 1</td></tr> | ||
+ | <tr><td> Список заезжающих:</td><td> Лондон Джек /М; </td></tr> | ||
+ | <tr><td> Питание:</td><td> Пансион</td></tr> | ||
+ | <tr><td colspan="2"></td></tr> | ||
+ | |||
+ | <tr><td>Полный список заезжающих: </td><td>Лондон Джек /М ;</td></tr> | ||
+ | <tr><td>Экскурсионная программа:</td><td> </td></tr> | ||
+ | <tr><td>Дополнительные услуги:</td><td> </td></tr> | ||
+ | <tr><td colspan="2"></td></tr> | ||
+ | <tr><td>Итого к оплате: </td><td>225 $ (Двести двадцать пять $ 00 )</td></tr> | ||
+ | <tr><td>Сумма заказа: </td><td>225 $</td></tr> | ||
+ | <tr><td>Номер путевке в базе данных субагента: </td><td>EN40228001</td></tr> | ||
+ | <tr><td>Дата продажи: </td><td>24.02.2014</td></tr> | ||
+ | </table>]]></GetReservationInfoResult> | ||
+ | </GetReservationInfoResponse> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | ====Метод для сохранения номера путевки (SetReservationCode)==== | ||
+ | =====Пример SOAP-запроса к сервису===== | ||
+ | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
+ | |- style="background-color:#F2F2F2" | ||
+ | |- style="vertical-align:text-top" | ||
+ | | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <soap:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://megatec.ru/"> | ||
+ | <soap:Header/> | ||
+ | <soap:Body> | ||
+ | <SetReservationCode xmlns="http://megatec.ru/"> | ||
+ | <token>?</token> | ||
+ | <reservationCode>EN40228001</reservationCode> | ||
+ | <partnerCode>40228001EN</partnerCode> | ||
+ | </SetReservationCode> | ||
+ | </soap:Body> | ||
+ | </soap:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | =====Пример SOAP-ответа сервиса===== | ||
+ | Метод ничего не возвращает. | ||
− | [[Category: | + | [[Category:Web-сервисы]] |
Текущая версия на 12:44, 24 мая 2018
Версия статьи от 24-05-2018.
Более ранние версии: |
Содержание
- 1 Введение
- 2 Установка
- 3 Настройка
- 4 Настройки в файле WEB.CONFIG
- 5 Подготовка данных
- 5.1 Описание формата данных
- 5.1.1 MainDependentAccommodation (Доступное основное или зависимое размещение)
- 5.1.2 CalculatedPriceInfo (Информация по расчитанной цене)
- 5.1.3 ReservationParams (Параметры бронирования)
- 5.1.4 ReservationResult (Результат расчета стоимости и бронирования комплекса услуг)
- 5.1.5 ReservationInfoParams (Параметры путевки)
- 5.1.6 ReservationInfo (Описание путевки, включая все услуги и туристов)
- 5.2 Сервис формирования списка услуг («ServiceProvider.asmx»)
- 5.2.1 Метод получения основных и неосновных размещений (GetAvailableAccommodations)
- 5.2.2 Метод получения информации по ключу цены (GetCalculatedPriceInfo)
- 5.2.3 Метод получения рассчитанных услуг (GetCalculatedServices)
- 5.2.4 Метод получения информации о дополнительных услугах (GetExtraServiceInfo)
- 5.2.5 Метод получения дополнительных услуг (GetNotCalculatedServices)
- 5.2.6 Метод получения вариантов услуги (GetServiceVariants)
- 5.3 Сервис бронирования (ReservationService.asmx)
- 5.1 Описание формата данных
- 6 Работа в системе
- 6.1 Работа с сервисом «ServiceProvider.asmx» (Формирование списка услуг)
- 6.1.1 Метод получения основных и неосновных размещений (GetAvailableAccommodations )
- 6.1.2 Метод получения информации по ключу цены (GetCalculatedPriceInfo )
- 6.1.3 Метод получения рассчитанных услуг (GetCalculatedServices)
- 6.1.4 Meтод получения получения информации о дополнительных услугах (GetExtraServiceInfo)
- 6.1.5 Метод получения нерассчитанных услуг (GetNotCalculatedServices)
- 6.1.6 Метод получения вариантов услуги (GetServiceVariants)
- 6.2 Работа с сервисом «ReservationService.asmx» (Бронирование)
- 6.1 Работа с сервисом «ServiceProvider.asmx» (Формирование списка услуг)
Введение
Данный модуль включает в себя два сервиса.
Сервис формирования списка услуг предназначен для получения следующей информации:
- Общие данные по ключу цены, такие как тур, продолжительности в днях и ночах, описание тура и условия бронирования;
- Список услуг, включенных в стоимость, по ключу цены;
- Список не рассчитанных услуг по ключу цены;
- Список вариантов какой-либо услуги.
Сервис бронирования предназначен для расчета стоимости совокупности услуг, с возможностью их последующего бронирования в базе данных.
Ссылка на тестовый сервис
С работой тестового сервиса формирования списка услуг и сервиса бронирования вы можете ознакомиться на нашем демо-сервере.
Установка
Создание виртуального каталога
По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot
. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
1 Зайти в Пуск (Start) → Настройки (Settings) → Панель управления (Control Panel) → Администрирование (Administrative Tools)
2 Диспетчер служб IIS
3 В открывшемся дереве каталогов выбрать Web Sites – Default Web Site. В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать Преобразовать в приложение
4 В открывшемся окне нужно нажать кнопку ОК
Подключение к базе данных ПК «Мастер-Тур»
В файле web.config
, расположенном в папке Reservation пропишите необходимые параметры подключения (красным цветом выделены значения, которые необходимо ввести).
Строка подключения к базе данных ПК «Мастер-Тур»:
<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК «Мастер-Тур»;Initial Catalog=название базы данных ПК «Мастер-Тур;User ID=логин пользователя ПК «Мастер-Тур»;Password=пароль пользователя ПК «Мастер-Тур»"/>
Настройка
После установки Сервис бронирования доступен по адресу:
http://ip-адрес сервера Мастер-Веб/Reservation/ServiceProvider.asmx
(сервис формирования списка услуг);http://ip-адрес сервера Мастер-Веб/Reservation/ReservationService.asmx
(сервис бронирования).
Для корректной работы сервиса Reservation на релизах ПК «Мастер-Web» 2009.2.15 и выше нужно включить настройку customErrors в элементе <system.web>: <system.web> <customErrors mode="On"/> … </system.web>
Настройки в файле WEB.CONFIG
Общие настройки
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Пользователь, который будет отображаться как Владелец путевки (если не указан ведущий менеджер по туру и партнеру). | Ключ пользователя - поле US_KEY из таблицы [UserList] .
|
<add key="webUserKey" value="458" />
|
2 | Определение приоритета проставления ведущего менеджера по путевке. |
|
<add key="managerPriority" value="partner" />
|
3 | Задание статуса заявки в ПК «Мастер-Тур», забронированной через систему бронирования ПК «Мастер-Web». |
Подробнее см. Механизм изменения статуса путевки. |
<add key="orderStatus" value="web" />
|
4 | Настройка, определяющая максимальный возможный возраст детей.
Работает только совместно с настройкой «checkTouristAgeEnable». |
Максимальный возраст ребенка. При отсутствии настройки максимальный возраст ребенка равен 14 лет. |
<add key="maxChildAge" value="16" />
|
5 | Определяет справочник, по которому будет проверяться количество основных мест при поиске в экране «Динамический лист предложений» и при бронировании в коризинах бронирования ПК «Мастер-Web». |
Если соответствующее поле там не заполнено, то из справочника «Типы номеров».
|
<add key="useAccomodationPlaces" value="false" />
|
6 | Определяет справочник, по которому будет проверяться количество дополнительных мест при поиске в экране «Динамический лист предложений» и при бронировании в коризинах бронирования ПК «Мастер-Web». |
Если соответствующее поле там не заполнено, то из справочника «Типы размещений».
|
<add key="useRoomsExtraPlaces" value="false" />
|
7 | Настройка, включающая режим учета процента при конвертации валют. | Коэффициент, на который умножается конвертируемая сумма. | <add key="courseMultiplier" value="1,02" />
|
8 | Настройка указывает на то, что в справочнике «Типы номеров» в колонке Число основных мест указано общее количество взрослых и детей. Дополнительно должно быть прописано и количество детей в соответствующей колонке.
При включенной настройке в случае, если сумма основных и дополнительных мест в справочнике «Типы размещений» превышает значение в колонке число основных мест, бронирование невозможно. |
|
<add key="combinedPlaces" value="true" />
|
9 | Настройка, включающая проверку прав текущего пользователя на получение доступа к путевке. |
|
<add key="IsAuthDubUser" value="true" />
|
Настройки бронирования инфантов
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Ключи тарифов на авиаперелет для размещения Младенец (Infant).
Настройка используется либо в дополнительном модуле «Бронирование индивидуального тура», либо для исключения тарифов при отображении списка рейсов в корзинах бронирования. |
Ключи тарифов - поле AS_CODE из таблицы [AirService] через запятую.
|
<add key="infantCharterClasses" value="132,110" />
|
2 | Взрослые тарифы (эконом) авиаперелетов, для которых будет подбираться тариф - YCH - Экономический класс (детский). | Ключи тарифа - поле AS_CODE из таблицы [AirService] через запятую.
|
<add key="YCH" value="81,87,89" />
|
3 | Взрослые тарифы (бизнес) авиаперелетов, для которых будет подбираться тариф - CCH - Бизнес класс (детский). | Ключи тарифа - поле AS_CODE из таблицы [AirService] через запятую.
|
<add key="CCH" value="67,68,74" />
|
Настройки добавления доплат к рейсам
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Включение отображения блока доплат к рейсу. | Ключ типа тура - поле TP_KEY из таблицы [TipTur] , к которому должны привязываться туры, содержащие доплаты к рейсам.
|
<add key="addFlightTourType" value="13" />
|
2 | Название доплаты за изменение рейса. | Текст - название доплаты за изменение рейса, которое будет отображаться в блоке доплат. | <add key="changeFlightPaymentName" value="Доплата за выбор рейса" />
|
3 | Настройка, скрывающая поле с доплатой за изменение рейса в блоке доплат. | false - поле с доплатой за изменение рейса скрыто;
true или отсутствие настройки - поле с доплатой за изменение рейса отображается. |
<add key="showFlightVariantDifference" value="true" />
|
Для того, что бы получить все связанные дополнительные услуги, необходимо добавить в файл web.config
настройку <add key="addFlightTourType" value="ххх" />
, где ххх - ключ типа тура, откуда берутся доплаты. Например, ключ типа у текущего тура - 17, а дополнительная услуга топливного сбора лежит в пакете с ключом типа тура 50. Значит, нам надо указать 50 вместо ххх. При получении списка услуг необходимо использовать метод GetCalculatedServices
сервиса ServiceProvider.asmx
. Услуга топливного сбора будет находиться в подразделе AdditionalPayments
раздела Service
структуры XML.
Настройки дополнительного модуля «Бронирование новогодних и рожденственских ужинов»
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Включение дополнительного модуля «Бронирование новогодних и рожденственских ужинов». | Ссылка на дополнительный модуль. | <add key="happyNewYearServiceManager" value="MasterWebStandard.Extra.HappyNewYearServices.HappyNewYearStandardManager, MasterWebStandard.Extra.HappyNewYearServices" />
|
2 | Тип тура для обязательных праздничных ужинов. | Ключ типа тура - поле TP_KEY из таблицы [TipTur] для обязательных ужинов.
|
<add key="requiredNewYearServicesTourTypes" value="12" />
|
3 | Тип тура для необязательных праздничных ужинов. | Ключ типа тура - поле TP_KEY из таблицы [TipTur] для необязательных ужинов.
|
<add key="optionalNewYearServicesTourTypes" value="12" />
|
Подготовка данных
С 1 января 2017 года вступили в силу положения Федерального закона от 02.03.2016 № 49-ФЗ «О внесении изменений в отдельные законодательные акты Российской Федерации в целях совершенствования законодательства, регулирующего туристскую деятельность» (далее – Федеральный закон № 49-ФЗ), в связи с чем вводится ограничение на осуществление бронирования партнёрами, не указавшими реестровый номер. Установить дату, начиная с которой данное ограничение начинает функционировать, можно в дополнительных настройках ПК «Мастер-Тур». Настройка работает, начиная с релиза 9222SP0.
Описание формата данных
MainDependentAccommodation (Доступное основное или зависимое размещение)
/// <summary>
/// Доступное основное или зависимое размещение
/// </summary>
public class MainDependentAccommodation
{
/// <summary>
/// Ключ прайса, к которому относится размещение
/// </summary>
public Int32 PriceKey { get; set; }
/// <summary>
/// Название размещения
/// </summary>
public String AccommodationName { get; set; }
/// <summary>
/// Количество человек
/// </summary>
public Int32 Places { get; set; }
/// <summary>
/// Цена
/// </summary>
public Decimal Price { get; set; }
/// <summary>
/// Валюта цены
/// </summary>
public String Currency { get; set; }
/// <summary>
/// Наличие мест
/// </summary>
public QuotaResultStatus QuotaStatus { get; set; }
}
|
CalculatedPriceInfo (Информация по расчитанной цене)
/// <summary>
/// Информация по рассчитанной цене
/// </summary>
public class CalculatedPriceInfo
{
/// <summary>
/// Прайс-лист
/// </summary>
public PriceTour PriceTour { get; set; }
/// <summary>
/// Дата тура
/// </summary>
public DateTime TourDate { get; set; }
/// <summary>
/// Количество дней по туру
/// </summary>
public int TotalDays { get; set; }
/// <summary>
/// Количество ночей по туру
/// </summary>
public int Nights { get; set; }
}
|
ReservationParams (Параметры бронирования)
/// <summary>
/// Параметры бронирования
/// </summary>
public class ReservationParams
{
/// <summary>
/// Идентификатор рекламного источника в БД
/// </summary>
public int AdvertiseID { get; set; }
/// <summary>
/// Идентификатор основания для скидки в БД
/// </summary>
public int CauseDiscountID { get; set; }
/// <summary>
/// Идентификатор страны тура
/// </summary>
public int CountryID { get; set; }
/// <summary>
/// Идентификатор пользователя, бронирующего тур
/// </summary>
public int DupUserID { get; set; }
/// <summary>
/// Имя оператора
/// </summary>
public string OperatorName { get; set; }
/// <summary>
/// Иденификатор ведущего менеджера по путевке
/// </summary>
public int OwnerID { get; set; }
/// <summary>
/// Идентификатор партнера, бронирующего тур
/// </summary>
public int PartnerID { get; set; }
/// <summary>
/// Валюта, в котрой производится бронирование
/// (если не задана, то вытягивается из тура)
/// </summary>
public string RateCode { get; set; }
/// <summary>
/// Бронируемая продолжительность
/// (если не задана, то высчитывается на основании услуг)
/// </summary>
public int ReserveDuration { get; set; }
/// <summary>
/// Дата тура
/// </summary>
public DateTime TourDate { get; set; }
/// <summary>
/// Идентификатор тура
/// </summary>
public int TourID { get; set; }
/// <summary>
/// Количество туристов по услугам
/// </summary>
public int TouristsCount { get; set; }
}
|
ReservationResult (Результат расчета стоимости и бронирования комплекса услуг)
/// <summary>
/// Класс, описывающий результат расчета стоимости и бронирования комплекса услуг
/// </summary>
public class ReservationResult
{
/// <summary>
/// Стоимость к оплате
/// </summary>
public double Brutto { get; set; }
/// <summary>
/// Процент скидки
/// </summary>
public double DiscountPercent { get; set; }
/// <summary>
/// Абсолютная величина скидки
/// </summary>
public double DiscountSumm { get; set; }
/// <summary>
/// Валюта
/// </summary>
public string Rate { get; set; }
/// <summary>
/// Код сформированной путевки
/// </summary>
public string ReservationCode { get; set; }
/// <summary>
/// Сообщение об ошибке
/// </summary>
public string ErrorMessage { get; set; }
}
|
ReservationInfoParams (Параметры путевки)
/// <summary>
/// Класс, описывающий параметры путевки
/// </summary>
public class ReservationInfoParams
{
/// <summary>
/// код путевки
/// </summary>
public string Code { get; set; }
/// <summary>
/// значение скидки
/// </summary>
public double Discount { get; set; }
/// <summary>
/// стоимость путевки
/// </summary>
public double Price { get; set; }
}
|
ReservationInfo (Описание путевки, включая все услуги и туристов)
/// <summary>
/// Класс, описывающий путевку, включая все услуги путевки и туристов
/// </summary>
public class ReservationInfo
{
/// <summary>
/// Название города поездки
/// </summary>
public string CityName { get; set; }
/// <summary>
/// Код путевки
/// </summary>
public string Code { get; set; }
/// <summary>
/// Название страны поездки
/// </summary>
public string CountryName { get; set; }
/// <summary>
/// Скидка по путевке
/// </summary>
public double Discount { get; set; }
/// <summary>
/// Сумма скидки
/// </summary>
public double DiscountSum { get; set; }
/// <summary>
/// Обобщенный статус путевки
/// </summary>
public int? DogovorGlobalStatus { get; set; }
/// <summary>
/// Статус путевки
/// </summary>
public int DogovorStatus { get; set; }
/// <summary>
/// Кол-во дней поездки
/// </summary>
public int Ndays { get; set; }
/// <summary>
/// Количество туристов в путевке
/// </summary>
public int Nmen { get; set; }
/// <summary>
/// Цена без учета скидки
/// </summary>
public double Price { get; set; }
/// <summary>
/// Код валюты путевки
/// </summary>
public string RateCode { get; set; }
/// <summary>
/// Список всеу услуг в путевке
/// </summary>
public List<Service> ReservationServices { get; set; }
/// <summary>
/// Список всех туристов в путевке
/// </summary>
public List<Tourist> ReservationTourists { get; set; }
/// <summary>
/// Дата начала поездки
/// </summary>
public DateTime TurDate { get; set; }
}
|
Сервис формирования списка услуг («ServiceProvider.asmx»)
Метод получения основных и неосновных размещений (GetAvailableAccommodations)
Сигнатура вызова
/// <summary>
/// Возвращает доступные для бронирования размещения
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="priceKey">Ключ обсчитанной цены (ключ прайса)</param>
/// <param name="isCheckExtraPlaceQuota:">Проверять ли места на еще одно такое же размещение</param>
/// <returns>Список пар [основное размещение; коллекция неосновных]</returns>
[WebMethod]
public List<SerializableKeyValuePair<MainDependentAccommodation, List<MainDependentAccommodation>>>
GetAvailableAccommodations(String token, Int32 priceKey, Boolean isCheckExtraPlaceQuota)
|
Метод получения информации по ключу цены (GetCalculatedPriceInfo)
Сигнатура вызова
/// <summary>
/// Получение информации о цене
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="priceKey">Ключ цены</param>
/// <param name="includeTourDescriptionText">Возвращать ли описание тура</param>
/// <param name="includeBookingConditionsText">Возвращать ли условия бронирования по туру</param>
/// <returns></returns>
[WebMethod]
public CalculatedPriceInfo GetCalculatedPriceInfo(String token, int priceKey, bool includeTourDescriptionText, bool includeBookingConditionsText)
|
Метод получения рассчитанных услуг (GetCalculatedServices)
Сигнатура вызова
/// <summary>
/// Возвращает список рассчитанных услуг по ключу цены
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="priceKey">Ключ обсчитанной цены</param>
/// <returns></returns>
[WebMethod]
public List<Service> GetCalculatedServices(String token, int priceKey)
|
Метод получения информации о дополнительных услугах (GetExtraServiceInfo)
Сигнатура вызова
/// <summary>
/// Получение информации о дополнительных услугах
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="priceKey">Ключ цены</param>
/// <returns></returns>
[WebMethod]
public ExtraServiceInfo GetExtraServiceInfo(String token, int priceKey)
|
Метод получения дополнительных услуг (GetNotCalculatedServices)
Сигнатура вызова
/// <summary>
/// Возвращает список дополнительных услуг по ключу цены. Дополнительные услуги не могут быть отелем или перелётом.
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="priceKey">Ключ обсчитанной цены</param>
/// <returns></returns>
[WebMethod]
public List<Service> GetNotCalculatedServices(String token, int priceKey)
|
Метод получения вариантов услуги (GetServiceVariants)
Сигнатура вызова
/// <summary>
/// Получение вариантов услуги
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="service">Базовая услуга</param>
/// <param name="dtDate">Дата заезда</param>
/// <param name="duration">Продолжительность тура</param>
/// <param name="allowHidden">Искать ли аналоги для скрытой услуги</param>
/// <param name="allowHotelCodeChange">Можно ли поменять отель</param>
/// <param name="CheckFlightPacket">Проверять ли пакет услуги</param>
/// <param name="checkQuotes">Нужно ли делать проверку квот и удалять варианты без мест</param>
/// <param name="nMen">Количество мест для проверки (если 0, то игнорируем byRoom и userKey</param>
/// <param name="byRoom">Что проверяем. Места или комнаты</param>
/// <param name="userKey">Агент</param>
/// <param name="includeOriginal">Включать в результат базовую услугу</param>
/// <param name="excludeCharterClasses">Исключить из подбора данные классы перелетов</param>
/// <returns>Список услуг</returns>
[WebMethod]
public List<Service> GetServiceVariants(String token, Megatec.Travel.Entities.Service service
, DateTime tourDate
, int tourDuration
, bool allowHidden
, bool allowHotelCodeChange
, bool checkFlightPacket
, bool checkQuotes
, short nMen
, bool byRoom
, int userKey
, bool includeOriginal
, string excludeCharterClasses)
|
Сервис бронирования (ReservationService.asmx)
Метод расчета стоимости услуг (CalculateReservation)
Сигнатура вызова
/// <summary>
/// Метод расчета стоимости услуг
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="services">Список услуг, по которым рассчитывается стоимость</param>
/// <param name="parameters">Параметры расчета</param>
/// <returns>Результат расчета стоимости</returns>
public ReservationResult CalculateReservation(String token, List<Service> services, ReservationParams parameters)
|
Метод бронирования услуг (CreateReservation)
Сигнатура вызова
/// <summary>
/// Метод бронирования
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="services">Список бронируемых услуг</param>
/// <param name="tourists">Список туристов по путевке</param>
/// <param name="parameters">Параметры бронирования</param>
/// <returns></returns>
[WebMethod]
public ReservationResult CreateReservation(String token, List<Service> services, List<Tourist> tourists, ReservationParams parameters)
|
Метод получения данных по путевке (GetDogovorInfo)
Сигнатура метода
/// <summary>
/// Метод получения полной информации по путевке
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="reservationCode">Код путевки</param>
/// <returns>Полная информация по услугам и туристам в путевке</returns>
public Megatec.Travel.DataObjects.ReservationInfo GetDogovorInfo(String token, String reservationCode)
|
Метод получения информации по путевке (GetReservationInfo)
Сигнатура метода
/// <summary>
/// Метод получения HTML-информации по путевке
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="reservationCode">Код путевки</param>
/// <param name="partnerKey">Идентификатор покупателя</param>
/// <param name="param">Параметры бронирования</param>
/// <returns>HTML-информация по путевке</returns>
public String GetReservationInfo(String token, String reservationCode, Int32 partnerKey, Megatec.Travel.DataObjects.ReservationInfoParams param)
|
Метод для сохранения номера путевки (SetReservationCode)
Сигнатура метода
/// <summary>
/// Сохраняет номер путевки субагента в БД агента
/// (в историю путевки должен записать номер путевки субагента)
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="reservationCode">Номер путевки в БД агента</param>
/// <param name="partnerCode">Номер путевки в БД субагента</param>
public void SetReservationCode(String token, String reservationCode, String partnerCode)
|
Работа в системе
Работа с сервисом «ServiceProvider.asmx» (Формирование списка услуг)
Метод получения основных и неосновных размещений (GetAvailableAccommodations )
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetAvailableAccommodations xmlns="http://megatec.ru/">
<token>?</token>
<priceKey>33345</priceKey>
<isCheckExtraPlaceQuota>true</isCheckExtraPlaceQuota>
</GetAvailableAccommodations>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetAvailableAccommodationsResponse xmlns="http://megatec.ru/">
<GetAvailableAccommodationsResult>
<SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
<Key>
<PriceKey>33349</PriceKey>
<AccommodationName>DBL 1-1 STD</AccommodationName>
<Places>2</Places>
<Price>812</Price>
<Currency>$</Currency>
<QuotaStatus>No</QuotaStatus>
</Key>
<Value>
<MainDependentAccommodation xsi:nil="true" />
<MainDependentAccommodation xsi:nil="true" />
</Value>
</SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
<SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
<Key>
<PriceKey>33337</PriceKey>
<AccommodationName>DBL 2-0 Sea View</AccommodationName>
<Places>2</Places>
<Price>938</Price>
<Currency>$</Currency>
<QuotaStatus>No</QuotaStatus>
</Key>
<Value>
<MainDependentAccommodation xsi:nil="true" />
<MainDependentAccommodation xsi:nil="true" />
</Value>
</SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
<SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
<Key>
<PriceKey>33345</PriceKey>
<AccommodationName>DBL 1-1 Sea View</AccommodationName>
<Places>2</Places>
<Price>740</Price>
<Currency>$</Currency>
<QuotaStatus>No</QuotaStatus>
</Key>
<Value>
<MainDependentAccommodation xsi:nil="true" />
<MainDependentAccommodation xsi:nil="true" />
</Value>
</SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
<SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
<Key>
<PriceKey>33353</PriceKey>
<AccommodationName>DBL 0-2 Sea View</AccommodationName>
<Places>1</Places>
<Price>650</Price>
<Currency>$</Currency>
<QuotaStatus>No</QuotaStatus>
</Key>
<Value>
<MainDependentAccommodation xsi:nil="true" />
<MainDependentAccommodation xsi:nil="true" />
</Value>
</SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
<SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
<Key>
<PriceKey>33341</PriceKey>
<AccommodationName>DBL 2-0 GV</AccommodationName>
<Places>2</Places>
<Price>1370</Price>
<Currency>$</Currency>
<QuotaStatus>Request</QuotaStatus>
</Key>
<Value>
<MainDependentAccommodation xsi:nil="true" />
<MainDependentAccommodation xsi:nil="true" />
</Value>
</SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
</GetAvailableAccommodationsResult>
</GetAvailableAccommodationsResponse>
</soap:Body>
</soap:Envelope>
|
Метод получения информации по ключу цены (GetCalculatedPriceInfo )
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetCalculatedPriceInfo xmlns="http://megatec.ru/">
<token>?</token>
<priceKey>5038425</priceKey>
<includeTourDescriptionText>true</includeTourDescriptionText>
<includeBookingConditionsText>true</includeBookingConditionsText>
</GetCalculatedPriceInfo>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetCalculatedPriceInfoResponse xmlns="http://megatec.ru/">
<GetCalculatedPriceInfoResult>
<PriceTour>
<ID>667</ID>
<Name>Test Tour</Name>
<Description />
<Country>
<ID>90</ID>
<Name>Австрия</Name>
</Country>
<Tour>
<ID>542</ID>
<Name>Test Tour</Name>
<Description />
<BookingConditions />
</Tour>
<Attribute>0</Attribute>
<IncludedServices> Авиаперелет, Трансфер, Проживание(питание: Полупансион), Виза, Страховка, Доп. услуги</IncludedServices>
</PriceTour>
<TourDate>2010-07-02T00:00:00</TourDate>
<TotalDays>11</TotalDays>
<Nights>10</Nights>
</GetCalculatedPriceInfoResult>
</GetCalculatedPriceInfoResponse>
</soap:Body>
</soap:Envelope>
|
Метод получения рассчитанных услуг (GetCalculatedServices)
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetCalculatedServices xmlns="http://megatec.ru/">
<token>?</token>
<priceKey>5038425</priceKey>
</GetCalculatedServices>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetCalculatedServicesResponse xmlns="http://megatec.ru/">
<GetCalculatedServicesResult>
<Service xsi:type="HotelService">
<ID>-159</ID>
<Name>Отель/Отель 5*+ (Арльберг), Single Standart Взрослый, Полупансион, ,</Name>
<ExternalID>0</ExternalID>
<StartDate>0001-01-01T00:00:00</StartDate>
<EndDate>0001-01-01T00:00:00</EndDate>
<StartDay>1</StartDay>
<Duration>10</Duration>
<Attribute>390</Attribute>
<RateBrutto />
<Brutto>0</Brutto>
<RateNetto />
<Netto>0</Netto>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<PartnersGroupID>0</PartnersGroupID>
<FullName />
<BossName />
<Fax />
<Address />
<Zip />
<Email />
<Phones />
</Partner>
<Quota>NotChecked</Quota>
<PacketID>250</PacketID>
<City>
<ID>275</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</City>
<Country>
<ID>90</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<IsIncoming>false</IsIncoming>
</Country>
<Tourists />
<DetailNetto />
<DetailBrutto />
<Notes />
<ServiceClass>
<ID>3</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<ServiceClasses>None</ServiceClasses>
</ServiceClass>
<Hotel>
<ID>3254</ID>
<Name>Отель 5*+</Name>
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<City>
<ID>3254</ID>
<Name>Арльберг</Name>
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</City>
</Hotel>
<Room>
<ID>1112</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<RoomType>
<ID>1</ID>
<Name>Single</Name>
<NameLat />
<Code>SGL</Code>
<CodeLat />
<Unicode />
<Description />
<PrintOrder>0</PrintOrder>
<Places>
<Main>1</Main>
<Extra>1</Extra>
</Places>
</RoomType>
<RoomCategory>
<ID>20</ID>
<Name>Standart</Name>
<NameLat />
<Code>STD</Code>
<CodeLat />
<Unicode />
<Description />
<PrintOrder>0</PrintOrder>
</RoomCategory>
<RoomAccomodation>
<ID>320</ID>
<Name>Взрослый</Name>
<NameLat />
<Code>Взр.</Code>
<CodeLat />
<Unicode />
<Description />
<Places>
<Main>0</Main>
<Extra>0</Extra>
</Places>
<IsMain>true</IsMain>
<AgeRange AgeFrom="0" AgeTo="0" />
<AgeRange2 AgeFrom="0" AgeTo="0" />
<PerRoom>false</PerRoom>
</RoomAccomodation>
</Room>
<Pansion>
<ID>2</ID>
<Name>Полупансион</Name>
<NameLat />
<Code>HB</Code>
<CodeLat />
<Unicode />
<Description />
</Pansion>
</Service>
</GetCalculatedServicesResult>
</GetCalculatedServicesResponse>
</soap:Body>
</soap:Envelope>
|
Meтод получения получения информации о дополнительных услугах (GetExtraServiceInfo)
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetExtraServiceInfo xmlns="http://megatec.ru/">
<token>?</token>
<priceKey>27084</priceKey>
</GetExtraServiceInfo>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetExtraServiceInfoResponse xmlns="http://megatec.ru/">
<GetExtraServiceInfoResult>
<ExtraServiceInfo>
<ID>76</ID>
<Name>Лондонский Тауэр</Name>
<ServiceClass>
<ID>4</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<ServiceClasses>None</ServiceClasses>
</ServiceClass>
<Attribute>0</Attribute>
<CountryKey>222</CountryKey>
<CityKey>25</CityKey>
<IsRequired>true</IsRequired>
<Direction>0</Direction>
<ServiceVariants>
</ExtraServiceInfo>
<ExtraServiceInfo>
<ID>3231</ID>
<Name>test</Name>
<ServiceClass>
<ID>8</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<ServiceClasses>None</ServiceClasses>
</ServiceClass>
<Attribute>0</Attribute>
<CountryKey>222</CountryKey>
<CityKey>25</CityKey>
<IsRequired>false</IsRequired>
<Direction>0</Direction>
<ServiceVariants>
<ExtraServiceVariant xsi:type="ExtraAddHotelService">
<AvailableDate>2015-06-01T00:00:00</AvailableDate>
<Day>1</Day>
<PartnerKey>10760</PartnerKey>
<PacketKey>249</PacketKey>
<Cost>0</Cost>
<IsCostForPerson>true</IsCostForPerson>
<NMen>1</NMen>
<Description1>
<ID>0</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</Description1>
<Description2>
<ID>3</ID>
<Name>test,1/</Name>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</Description2>
<IsPackage>false</IsPackage>
<HasDuration>false</HasDuration>
</ExtraServiceVariant>
<ExtraServiceVariant xsi:type="ExtraAddHotelService">
<AvailableDate>2015-06-02T00:00:00</AvailableDate>
<Day>2</Day>
<PartnerKey>10760</PartnerKey>
<PacketKey>249</PacketKey>
<Cost>0</Cost>
<IsCostForPerson>true</IsCostForPerson>
<NMen>1</NMen>
<Description1>
<ID>0</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</Description1>
<Description2>
<ID>3</ID>
<Name>test,1/</Name>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</Description2>
<IsPackage>false</IsPackage>
<HasDuration>false</HasDuration>
</ExtraServiceVariant>
</ServiceVariants>
</ExtraServiceInfo>
</GetExtraServiceInfoResult>
</GetExtraServiceInfoResponse>
</soap:Body>
</soap:Envelope>
|
Метод получения нерассчитанных услуг (GetNotCalculatedServices)
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetNotCalculatedServices xmlns="http://megatec.ru/">
<token>?</token>
<priceKey>5038425</priceKey>
</GetNotCalculatedServices>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetNotCalculatedServicesResponse xmlns="http://megatec.ru/">
<GetNotCalculatedServicesResult>
<Service xsi:type="ExcursionService">
<ID>-190</ID>
<Name>Экскурсия::Арльберг/Кладбища Австрии, /Крысиная упряжка /</Name>
<ExternalID>0</ExternalID>
<StartDate>0001-01-01T00:00:00</StartDate>
<EndDate>0001-01-01T00:00:00</EndDate>
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>1</Attribute>
<RateBrutto />
<Brutto>0</Brutto>
<RateNetto />
<Netto>0</Netto>
<NMen>0</NMen>
<Partner>
<ID>10760</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<PartnersGroupID>0</PartnersGroupID>
<FullName />
<BossName />
<Fax />
<Address />
<Zip />
<Email />
<Phones />
</Partner>
<Quota>NotChecked</Quota>
<PacketID>250</PacketID>
<City>
<ID>275</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</City>
<Country>
<ID>90</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<IsIncoming>false</IsIncoming>
</Country>
<Tourists />
<DetailNetto />
<DetailBrutto />
<Notes />
<ServiceClass>
<ID>4</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<ServiceClasses>None</ServiceClasses>
</ServiceClass>
<Excursion>
<ID>292</ID>
<Name>Кладбища Австрии</Name>
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<PlaceFrom />
<PlaceTo />
<TimeBeg>0001-01-01T00:00:00</TimeBeg>
<TimeEnd>0001-01-01T00:00:00</TimeEnd>
</Excursion>
<Transport>
<ID>28</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</Transport>
</Service>
</GetNotCalculatedServicesResult>
</GetNotCalculatedServicesResponse>
</soap:Body>
</soap:Envelope>
|
Метод получения вариантов услуги (GetServiceVariants)
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetServiceVariants xmlns="http://megatec.ru/">
<token>?</token>
<service xsi:type="FlightService">
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>7</Attribute>
<RateBrutto>$</RateBrutto>
<NMen>1</NMen>
<Partner>
<ID>10762</ID>
</Partner>
<PacketID>248</PacketID>
<City>
<ID>275</ID>
</City>
<Country>
<ID>90</ID>
</Country>
<ServiceClass>
<ID>1</ID>
</ServiceClass>
<Tariff>
<ID>89</ID>
</Tariff>
<Flight>
<ID>523</ID>
</Flight>
</service>
<tourDate>2010-07-02T00:00:00</tourDate>
<tourDuration>11</tourDuration>
<allowHidden>false</allowHidden>
<allowHotelCodeChange>false</allowHotelCodeChange>
<checkFlightPacket>true</checkFlightPacket>
<checkQuotes>true</checkQuotes>
<nMen>1</nMen>
<byRoom>false</byRoom>
<userKey>1</userKey>
<includeOriginal>true</includeOriginal>
<excludeCharterClasses />
</GetServiceVariants>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetServiceVariantsResponse xmlns="http://megatec.ru/">
<GetServiceVariantsResult>
<Service xsi:type="FlightService">
<ID>-209</ID>
<Name>А_П::Москва/Арльберг/P74211, DME-AL, 12:12-15:15/Y Экономический класс/</Name>
<ExternalID>0</ExternalID>
<StartDate>0001-01-01T00:00:00</StartDate>
<EndDate>0001-01-01T00:00:00</EndDate>
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>7</Attribute>
<RateBrutto>$</RateBrutto>
<Brutto>0</Brutto>
<RateNetto />
<Netto>0</Netto>
<NMen>1</NMen>
<Partner>
<ID>10762</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<PartnersGroupID>0</PartnersGroupID>
<FullName />
<BossName />
<Fax />
<Address />
<Zip />
<Email />
<Phones />
</Partner>
<Quota>NotChecked</Quota>
<PacketID>248</PacketID>
<City>
<ID>275</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</City>
<Country>
<ID>90</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<IsIncoming>false</IsIncoming>
</Country>
<Tourists />
<DetailNetto />
<DetailBrutto />
<Notes />
<ServiceClass>
<ID>1</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<ServiceClasses>None</ServiceClasses>
</ServiceClass>
<Tariff>
<ID>89</ID>
<Name>Экономический класс</Name>
<NameLat>Coach economy</NameLat>
<Code />
<CodeLat />
<Unicode />
<Description />
<ServiceClassID>0</ServiceClassID>
<Comment />
<CreateDate>0001-01-01T00:00:00</CreateDate>
</Tariff>
<Flight>
<ID>525</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<CityFrom>
<ID>1</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</CityFrom>
<CityTo>
<ID>275</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</CityTo>
<AirportFrom>
<ID>-212</ID>
<Name />
<NameLat />
<Code>DME</Code>
<CodeLat />
<Unicode />
<Description />
</AirportFrom>
<AirportTo>
<ID>-213</ID>
<Name />
<NameLat />
<Code>AL</Code>
<CodeLat />
<Unicode />
<Description />
</AirportTo>
<Airline>
<ID>-211</ID>
<Name />
<NameLat />
<Code>P7</Code>
<CodeLat />
<Unicode />
<Description />
</Airline>
<Number>4211</Number>
<TimeFrom>1899-01-01T12:12:00</TimeFrom>
<TimeTo>1899-01-01T15:15:00</TimeTo>
<DateFrom>0001-01-01T00:00:00</DateFrom>
<DateTo>0001-01-01T00:00:00</DateTo>
<IsArrival>false</IsArrival>
<Available>No</Available>
</Flight>
</Service>
<Service xsi:type="FlightService">
<ID>-245</ID>
<Name>А_П::Москва/Арльберг/SU1875, SVO1-AL, 20:20-23:30/Y Экономический класс/</Name>
<ExternalID>0</ExternalID>
<StartDate>0001-01-01T00:00:00</StartDate>
<EndDate>0001-01-01T00:00:00</EndDate>
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>7</Attribute>
<RateBrutto />
<Brutto>0</Brutto>
<RateNetto />
<Netto>0</Netto>
<NMen>1</NMen>
<Partner>
<ID>10762</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<PartnersGroupID>0</PartnersGroupID>
<FullName />
<BossName />
<Fax />
<Address />
<Zip />
<Email />
<Phones />
</Partner>
<Quota>NotChecked</Quota>
<PacketID>248</PacketID>
<City>
<ID>275</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</City>
<Country>
<ID>90</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<IsIncoming>false</IsIncoming>
</Country>
<Tourists />
<DetailNetto />
<DetailBrutto />
<Notes />
<ServiceClass>
<ID>1</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<ServiceClasses>None</ServiceClasses>
</ServiceClass>
<Tariff>
<ID>89</ID>
<Name>Экономический класс</Name>
<NameLat>Coach economy</NameLat>
<Code />
<CodeLat />
<Unicode />
<Description />
<ServiceClassID>0</ServiceClassID>
<Comment />
<CreateDate>0001-01-01T00:00:00</CreateDate>
</Tariff>
<Flight>
<ID>523</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<CityFrom>
<ID>1</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</CityFrom>
<CityTo>
<ID>275</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</CityTo>
<AirportFrom>
<ID>-248</ID>
<Name />
<NameLat />
<Code>SVO1</Code>
<CodeLat />
<Unicode />
<Description />
</AirportFrom>
<AirportTo>
<ID>-249</ID>
<Name />
<NameLat />
<Code>AL</Code>
<CodeLat />
<Unicode />
<Description />
</AirportTo>
<Airline>
<ID>-247</ID>
<Name />
<NameLat />
<Code>SU</Code>
<CodeLat />
<Unicode />
<Description />
</Airline>
<Number>1875</Number>
<TimeFrom>1899-01-01T20:20:00</TimeFrom>
<TimeTo>1899-01-01T23:30:00</TimeTo>
<DateFrom>0001-01-01T00:00:00</DateFrom>
<DateTo>0001-01-01T00:00:00</DateTo>
<IsArrival>false</IsArrival>
<Available>No</Available>
</Flight>
</Service>
</GetServiceVariantsResult>
</GetServiceVariantsResponse>
</soap:Body>
</soap:Envelope>
|
Работа с сервисом «ReservationService.asmx» (Бронирование)
Метод расчета стоимости услуг (CalculateReservation)
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CalculateReservation xmlns="http://megatec.ru/">
<token>?</token>
<services>
<Service xsi:type="TransferService">
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>19975</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
</Partner>
<PacketID>250</PacketID>
<City>
<ID>275</ID>
</City>
<Country>
<ID>90</ID>
</Country>
<ServiceClass>
<ID>2</ID>
</ServiceClass>
<Transfer>
<ID>372</ID>
</Transfer>
<Transport>
<ID>3</ID>
</Transport>
</Service>
<Service xsi:type="VisaService">
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>131</Attribute>
<Partner>
<ID>10760</ID>
</Partner>
<PacketID>250</PacketID>
<Country>
<ID>90</ID>
</Country>
<ServiceClass>
<ID>5</ID>
</ServiceClass>
<Visa>
<ID>157</ID>
</Visa>
</Service>
<Service xsi:type="InsuranceService">
<StartDay>1</StartDay>
<Duration>11</Duration>
<Attribute>151</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10763</ID>
</Partner>
<PacketID>250</PacketID>
<Country>
<ID>90</ID>
</Country>
<ServiceClass>
<ID>6</ID>
</ServiceClass>
<AddDescription1>
<ID>6</ID>
</AddDescription1>
<AddDescription2>
<ID>0</ID>
</AddDescription2>
<Insurance>
<ID>174</ID>
</Insurance>
</Service>
<Service xsi:type="AdditionalService">
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>3</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
</Partner>
<Quota>NotChecked</Quota>
<PacketID>250</PacketID>
<Country>
<ID>90</ID>
</Country>
<ServiceClass>
<ID>1032</ID>
</ServiceClass>
<Description>
<ID>183</ID>
</Description>
<Description1>
<ID>0</ID>
</Description1>
<Description2>
<ID>0</ID>
</Description2>
</Service>
<Service xsi:type="HotelService">
<StartDay>1</StartDay>
<Duration>10</Duration>
<Attribute>390</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
</Partner>
<Quota>NotChecked</Quota>
<PacketID>250</PacketID>
<City>
<ID>275</ID>
</City>
<Country>
<ID>90</ID>
</Country>
<ServiceClass>
<ID>3</ID>
</ServiceClass>
<Hotel>
<ID>3254</ID>
</Hotel>
<Room>
<ID>1112</ID>
<RoomType>
<ID>1</ID>
</RoomType>
<RoomCategory>
<ID>20</ID>
</RoomCategory>
<RoomAccomodation>
<ID>320</ID>
</RoomAccomodation>
</Room>
<Pansion>
<ID>2</ID>
</Pansion>
</Service>
<Service xsi:type="TransferService">
<StartDay>8</StartDay>
<Duration>0</Duration>
<Attribute>19975</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
</Partner>
<PacketID>250</PacketID>
<City>
<ID>275</ID>
</City>
<Country>
<ID>90</ID>
</Country>
<ServiceClass>
<ID>2</ID>
</ServiceClass>
<Transfer>
<ID>373</ID>
</Transfer>
<Transport>
<ID>3</ID>
</Transport>
</Service>
<Service xsi:type="FlightService">
<StartDay>1</StartDay>
<Duration>0</Duration>
<NMen>2</NMen>
<Partner>
<ID>27990</ID>
</Partner>
<PacketID>19443</PacketID>
<ServiceClass>
<ID>1</ID>
</ServiceClass>
<Tariff>
<ID>226</ID>
</Tariff>
<Flight>
<ID>17234</ID>
<CityFrom>
<ID>30</ID>
</CityFrom>
<CityTo>
<ID>65</ID>
</CityTo>
</Flight>
</Service>
<Service xsi:type="FlightService">
<StartDay>8</StartDay>
<Duration>0</Duration>
<Attribute>0</Attribute>
<NMen>2</NMen>
<Partner>
<ID>27990</ID>
</Partner>
<PacketID>18920</PacketID>
<ServiceClass>
<ID>1</ID>
</ServiceClass>
<Tariff>
<ID>226</ID>
</Tariff>
<Flight>
<ID>17235</ID>
<CityFrom>
<ID>65</ID>
</CityFrom>
<CityTo>
<ID>30</ID>
</CityTo>
</Flight>
</Service>
</services>
<parameters>
<AdvertiseID>-1</AdvertiseID>
<CauseDiscountID>-1</CauseDiscountID>
<CountryID>90</CountryID>
<DupUserID>-1</DupUserID>
<OperatorName />
<OwnerID>-1</OwnerID>
<PartnerID>10764</PartnerID>
<RateCode />
<ReserveDuration>-1</ReserveDuration>
<TourDate>2010-07-02T00:00:00</TourDate>
<TourID>542</TourID>
<TouristsCount>1</TouristsCount>
</parameters>
</CalculateReservation>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CalculateReservationResponse xmlns="http://megatec.ru/">
<CalculateReservationResult>
<Brutto>1646</Brutto>
<DiscountPercent>10</DiscountPercent>
<DiscountSumm>172</DiscountSumm>
<Rate>$</Rate>
<ReservationCode />
<ErrorMessage />
</CalculateReservationResult>
</CalculateReservationResponse>
</soap:Body>
</soap:Envelope>
|
Метод бронирования услуг (CreateReservation)
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateReservation xmlns="http://megatec.ru/">
<token>?</token>
<services>
<Service xsi:type="TransferService">
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>19975</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
</Partner>
<PacketID>250</PacketID>
<City>
<ID>275</ID>
</City>
<Country>
<ID>90</ID>
</Country>
<Tourists>
<Tourist>
<ID>0</ID>
</Tourist>
</Tourists>
<ServiceClass>
<ID>2</ID>
</ServiceClass>
<Transfer>
<ID>372</ID>
</Transfer>
<Transport>
<ID>3</ID>
</Transport>
</Service>
<Service xsi:type="VisaService">
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>131</Attribute>
<Partner>
<ID>10760</ID>
</Partner>
<PacketID>250</PacketID>
<Country>
<ID>90</ID>
</Country>
<Tourists>
<Tourist>
<ID>0</ID>
</Tourist>
</Tourists>
<ServiceClass>
<ID>5</ID>
</ServiceClass>
<Visa>
<ID>157</ID>
</Visa>
</Service>
<Service xsi:type="ExcursionService">
<StartDay>2</StartDay>
<Duration>1</Duration>
<Attribute>0</Attribute>
<Partner>
<ID>10771</ID>
</Partner>
<PacketID>682</PacketID>
<City>
<ID>35</ID>
</City>
<Country>
<ID>90</ID>
</Country>
<Tourists>
<Tourist>
<ID>0</ID>
</Tourist>
</Tourists>
<ServiceClass>
<ID>4</ID>
</ServiceClass>
<Excursion>
<ID>52</ID>
</Excursion>
<Transport>
<ID>3</ID>
</Transport>
</Service>
<Service xsi:type="InsuranceService">
<StartDay>1</StartDay>
<Duration>11</Duration>
<Attribute>151</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10763</ID>
</Partner>
<PacketID>250</PacketID>
<Country>
<ID>90</ID>
</Country>
<Tourists>
<Tourist>
<ID>0</ID>
</Tourist>
</Tourists>
<ServiceClass>
<ID>6</ID>
</ServiceClass>
<AddDescription1>
<ID>6</ID>
</AddDescription1>
<AddDescription2>
<ID>0</ID>
</AddDescription2>
<Insurance>
<ID>174</ID>
</Insurance>
</Service>
<Service xsi:type="AdditionalService">
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>3</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
</Partner>
<Quota>NotChecked</Quota>
<PacketID>250</PacketID>
<Country>
<ID>90</ID>
</Country>
<Tourists>
<Tourist>
<ID>0</ID>
</Tourist>
</Tourists>
<ServiceClass>
<ID>1032</ID>
</ServiceClass>
<Description>
<ID>183</ID>
</Description>
<Description1>
<ID>0</ID>
</Description1>
<Description2>
<ID>0</ID>
</Description2>
</Service>
<Service xsi:type="HotelService">
<StartDay>1</StartDay>
<Duration>10</Duration>
<Attribute>390</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
</Partner>
<Quota>NotChecked</Quota>
<PacketID>250</PacketID>
<City>
<ID>275</ID>
</City>
<Country>
<ID>90</ID>
</Country>
<Tourists>
<Tourist>
<ID>0</ID>
</Tourist>
</Tourists>
<ServiceClass>
<ID>3</ID>
</ServiceClass>
<Hotel>
<ID>3254</ID>
</Hotel>
<Room>
<ID>1112</ID>
<RoomType>
<ID>1</ID>
</RoomType>
<RoomCategory>
<ID>20</ID>
</RoomCategory>
<RoomAccomodation>
<ID>320</ID>
</RoomAccomodation>
</Room>
<Pansion>
<ID>2</ID>
</Pansion>
<Notes>some service comment</Notes>
<Brutto>2</Brutto>
<RateBrutto>$</RateBrutto>
<Netto>3</Netto>
<Discount>4</Discount>
</Service>
<Service xsi:type="TransferService">
<StartDay>8</StartDay>
<Duration>0</Duration>
<Attribute>19975</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
</Partner>
<PacketID>250</PacketID>
<City>
<ID>275</ID>
</City>
<Country>
<ID>90</ID>
</Country>
<Tourists>
<Tourist>
<ID>0</ID>
</Tourist>
</Tourists>
<ServiceClass>
<ID>2</ID>
</ServiceClass>
<Transfer>
<ID>373</ID>
</Transfer>
<Transport>
<ID>3</ID>
</Transport>
</Service>
<Service xsi:type="FlightService">
<StartDay>1</StartDay>
<Duration>0</Duration>
<NMen>2</NMen>
<Partner>
<ID>27990</ID>
</Partner>
<PacketID>19443</PacketID>
<Tourists>
<Tourist>
<ID>0</ID>
</Tourist>
</Tourists>
<ServiceClass>
<ID>1</ID>
</ServiceClass>
<Tariff>
<ID>226</ID>
</Tariff>
<Flight>
<ID>17234</ID>
<CityFrom>
<ID>30</ID>
</CityFrom>
<CityTo>
<ID>65</ID>
</CityTo>
</Flight>
</Service>
<Service xsi:type="FlightService">
<StartDay>8</StartDay>
<Duration>0</Duration>
<Attribute>0</Attribute>
<NMen>2</NMen>
<Partner>
<ID>27990</ID>
</Partner>
<PacketID>18920</PacketID>
<Tourists>
<Tourist>
<ID>0</ID>
</Tourist>
</Tourists>
<ServiceClass>
<ID>1</ID>
</ServiceClass>
<Tariff>
<ID>226</ID>
</Tariff>
<Flight>
<ID>17235</ID>
<CityFrom>
<ID>65</ID>
</CityFrom>
<CityTo>
<ID>30</ID>
</CityTo>
</Flight>
</Service>
</services>
<tourists>
<Tourist Sex="Male" BirthDate="1980-02-01T00:00:00" AgeType="Adult" Citizen="" IsMain="true" ExternalID="0">
<ID>0</ID>
<Name>
<FirstName />
<SecondName />
<LastName />
</Name>
<NameLat>
<FirstName>SEMEN</FirstName>
<SecondName />
<LastName>IVANOV</LastName>
</NameLat>
</Tourist>
</tourists>
<parameters>
<AdvertiseID>-1</AdvertiseID>
<CauseDiscountID>-1</CauseDiscountID>
<ExternalReservationId>ext res code</ExternalReservationId>
<CountryID>90</CountryID>
<DupUserID>-1</DupUserID>
<OperatorName />
<OwnerID>-1</OwnerID>
<PartnerID>10764</PartnerID>
<RateCode />
<ReserveDuration>-1</ReserveDuration>
<TourDate>2010-07-02T00:00:00</TourDate>
<TourID>542</TourID>
<TouristsCount>1</TouristsCount>
</parameters> </CreateReservation>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateReservationResponse xmlns="http://megatec.ru/">
<CreateReservationResult>
<Brutto>1646</Brutto>
<DiscountPercent>10</DiscountPercent>
<DiscountSumm>172</DiscountSumm>
<Rate>$</Rate>
<ReservationCode>AT 0702007</ReservationCode>
<ErrorMessage />
</CreateReservationResult>
</CreateReservationResponse>
</soap:Body>
</soap:Envelope>
|
Метод получения данных по путевке (GetDogovorInfo)
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://megatec.ru/">
<soap:Header/>
<soap:Body>
<GetDogovorInfo xmlns="http://megatec.ru/">
<token>?</token>
<reservationCode>EN40228001</reservationCode>
</GetDogovorInfo>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetDogovorInfoResponse xmlns="http://megatec.ru/">
<GetDogovorInfoResult>
<Code>LON8052402</Code>
<TurDate>2018-05-24T00:00:00</TurDate>
<Price>4537</Price>
<Discount>10</Discount>
<DiscountSum>30</DiscountSum>
<DogovorStatus>3</DogovorStatus>
<Nmen>6</Nmen>
<Ndays>6</Ndays>
<CountryName>Англия</CountryName>
<CityName>Лондон</CityName>
<RateCode>USD</RateCode>
<ReservationServices>
<Service xsi:type="HotelService" Brutto="472.5" Netto="450">
<ID>-150</ID>
<Name>
HOTEL::Лондон/Тестовый отель-1*,5 ночей/DBL(Standart),2A/FB Пансион/
</Name>
<ExternalID>0</ExternalID>
<StartDate>2018-05-24T00:00:00</StartDate>
<EndDate>2018-05-28T00:00:00</EndDate>
<StartDay>1</StartDay>
<Duration>5</Duration>
<Attribute>670</Attribute>
<RateBrutto/>
<Brutto>472.5</Brutto>
<DetailBrutto/>
<RateNetto/>
<Netto>450</Netto>
<DetailNetto/>
<Discount xsi:nil="true"/>
<NMen>3</NMen>
<Partner>
<ID>10766</ID>
<Name>Консульство</Name>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<PartnersGroupID>0</PartnersGroupID>
<FullName/>
<BossName/>
<Fax/>
<Address/>
<Zip/>
<Email/>
<Phones/>
</Partner>
<Status>
<ID>1</ID>
<Name>Заказ на бронирование</Name>
<NameLat>order for booking</NameLat>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</Status>
<Quota>NotChecked</Quota>
<PacketID>211</PacketID>
<City>
<ID>25</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</City>
<Country>
<ID>222</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<IsIncoming>false</IsIncoming>
</Country>
<Tourists>
<Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="true" ExternalID="0">
<ID>1</ID>
<Name>
<FirstName>AAA</FirstName>
<LastName>AAA</LastName>
</Name>
<NameLat>
<FirstName>AAA</FirstName>
<LastName>AAA</LastName>
</NameLat>
<LocalPassport IssuedBy="" Series="" Number=""/>
<ForeignPassport IssuedBy="" Series="" Number=""/>
</Tourist>
<Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="false" ExternalID="0">
<ID>2</ID>
<Name>
<FirstName>BBB</FirstName>
<LastName>BBB</LastName>
</Name>
<NameLat>
<FirstName>BBB</FirstName>
<LastName>BBB</LastName>
</NameLat>
<LocalPassport IssuedBy="" Series="" Number=""/>
<ForeignPassport IssuedBy="" Series="" Number=""/>
</Tourist>
<Tourist Sex="Female" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="false" ExternalID="0">
<ID>3</ID>
<Name>
<FirstName>CCC</FirstName>
<LastName>CCC</LastName>
</Name>
<NameLat>
<FirstName>CCC</FirstName>
<LastName>CCC</LastName>
</NameLat>
<LocalPassport IssuedBy="" Series="" Number=""/>
<ForeignPassport IssuedBy="" Series="" Number=""/>
</Tourist>
</Tourists>
<Notes/>
<PartnerContractId>0</PartnerContractId>
<LinkingStatus>0</LinkingStatus>
<LinkingServiceKey>0</LinkingServiceKey>
<IsAllNetCostOffers>false</IsAllNetCostOffers>
<IsAllGrossCostOffers>false</IsAllGrossCostOffers>
<ServiceClass>
<ID>3</ID>
<Name>Отель/Круиз</Name>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<ServiceClasses>None</ServiceClasses>
</ServiceClass>
<IsGroup>false</IsGroup>
<Hotel>
<ID>3231</ID>
<Name>Тестовый отель 1*</Name>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<City>
<ID>3231</ID>
<Name>Лондон</Name>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</City>
</Hotel>
<Room>
<ID>1117</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<RoomType>
<ID>2</ID>
<Name>DBL</Name>
<NameLat/>
<Code>DBL</Code>
<CodeLat/>
<Unicode/>
<Description/>
<Places>
<Main>2</Main>
<Extra>3</Extra>
</Places>
</RoomType>
<RoomCategory>
<ID>20</ID>
<Name>Standart</Name>
<NameLat/>
<Code>STD</Code>
<CodeLat/>
<Unicode/>
<Description/>
<PrintOrder>0</PrintOrder>
</RoomCategory>
<RoomAccomodation>
<ID>325</ID>
<Name>2A</Name>
<NameLat/>
<Code>2A</Code>
<CodeLat/>
<Unicode/>
<Description/>
<Places>
<Main>2</Main>
<Extra>1</Extra>
</Places>
<IsMain>true</IsMain>
<AgeRange AgeFrom="0" AgeTo="0"/>
<AgeRange2 AgeFrom="0" AgeTo="0"/>
<PerRoom>true</PerRoom>
</RoomAccomodation>
</Room>
<Pansion>
<ID>1</ID>
<Name>Пансион</Name>
<NameLat/>
<Code>FB</Code>
<CodeLat/>
<Unicode/>
<Description/>
</Pansion>
</Service>
<Service xsi:type="ExcursionService" Brutto="5.25" Netto="5">
<ID>-162</ID>
<Name>
Экскурсия::Лондон/Британский музей, 3 часа/автобус,20 чел./
</Name>
<ExternalID>0</ExternalID>
<StartDate>2018-05-24T00:00:00</StartDate>
<EndDate>2018-05-24T00:00:00</EndDate>
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>0</Attribute>
<RateBrutto/>
<Brutto>5.25</Brutto>
<DetailBrutto/>
<RateNetto/>
<Netto>5</Netto>
<DetailNetto/>
<Discount xsi:nil="true"/>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
<Name>партнер</Name>
<NameLat>partner</NameLat>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<PartnersGroupID>0</PartnersGroupID>
<FullName/>
<BossName/>
<Fax/>
<Address/>
<Zip/>
<Email/>
<Phones/>
</Partner>
<Status>
<ID>0</ID>
<Name>Ok</Name>
<NameLat>Ok</NameLat>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</Status>
<Quota>NotChecked</Quota>
<PacketID>252</PacketID>
<City>
<ID>25</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</City>
<Country>
<ID>222</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<IsIncoming>false</IsIncoming>
</Country>
<Tourists>
<Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="true" ExternalID="0">
<ID>1</ID>
<Name>
<FirstName>AAA</FirstName>
<LastName>AAA</LastName>
</Name>
<NameLat>
<FirstName>AAA</FirstName>
<LastName>AAA</LastName>
</NameLat>
<LocalPassport IssuedBy="" Series="" Number=""/>
<ForeignPassport IssuedBy="" Series="" Number=""/>
</Tourist>
</Tourists>
<Notes/>
<PartnerContractId>0</PartnerContractId>
<LinkingStatus>0</LinkingStatus>
<LinkingServiceKey>0</LinkingServiceKey>
<IsAllNetCostOffers>false</IsAllNetCostOffers>
<IsAllGrossCostOffers>false</IsAllGrossCostOffers>
<ServiceClass>
<ID>4</ID>
<Name>Экскурсия</Name>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<ServiceClasses>None</ServiceClasses>
</ServiceClass>
<IsGroup>false</IsGroup>
<Excursion>
<ID>41</ID>
<Name>Британский музей</Name>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<PlaceFrom/>
<PlaceTo/>
<TimeBeg>0001-01-01T00:00:00</TimeBeg>
<TimeEnd>0001-01-01T00:00:00</TimeEnd>
</Excursion>
<Transport>
<ID>3</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</Transport>
</Service>
</ReservationServices>
<ReservationTourists>
<Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="true" ExternalID="0">
<ID>1</ID>
<Name>
<FirstName>AAA</FirstName>
<LastName>AAA</LastName>
</Name>
<NameLat>
<FirstName>AAA</FirstName>
<LastName>AAA</LastName>
</NameLat>
<LocalPassport IssuedBy="" Series="" Number=""/>
<ForeignPassport IssuedBy="" Series="" Number=""/>
</Tourist>
<Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="false" ExternalID="0">
<ID>2</ID>
<Name>
<FirstName>BBB</FirstName>
<LastName>BBB</LastName>
</Name>
<NameLat>
<FirstName>BBB</FirstName>
<LastName>BBB</LastName>
</NameLat>
<LocalPassport IssuedBy="" Series="" Number=""/>
<ForeignPassport IssuedBy="" Series="" Number=""/>
</Tourist>
<Tourist Sex="Female" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="false" ExternalID="0">
<ID>3</ID>
<Name>
<FirstName>CCC</FirstName>
<LastName>CCC</LastName>
</Name>
<NameLat>
<FirstName>CCC</FirstName>
<LastName>CCC</LastName>
</NameLat>
<LocalPassport IssuedBy="" Series="" Number=""/>
<ForeignPassport IssuedBy="" Series="" Number=""/>
</Tourist>
</ReservationTourists>
<DogovorGlobalStatus>3</DogovorGlobalStatus>
</ReservationInfo>
</GetDogovorInfoResult>
</GetDogovorInfoResponse>
</soap:Body>
</soap:Envelope>
|
Метод получения информации по путевке (GetReservationInfo)
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://megatec.ru/">
<soap:Header/>
<soap:Body>
<GetReservationInfo xmlns="http://megatec.ru/">
<token>?</token>
<reservationCode>EN40228001</reservationCode>
<partnerKey>0</partnerKey>
<param>
<Code>EN40228001</Code>
<Price>225</Price>
<Discount>0</Discount>
</param>
</GetReservationInfo>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetReservationInfoResponse xmlns="http://megatec.ru/">
<GetReservationInfoResult><![CDATA[<table border="2">
<tr><td colspan="2">
Новая заявка
на организацию экскурсионного туристического /
санаторно-курортного обслуживания к путевке EN40228001
(Англия, Лондон, Индивидуально)</td></tr>
<tr><td colspan="2"></td></tr>
<tr><td colspan="2"></td></tr>
<tr><td colspan="2">Даты заезда: с 28.02.2014 по 03.03.2014, кол-во дней 4</td></tr>
<tr><td colspan="2"></td></tr>
<tr><td> Наименование: </td><td>Отель в Лондоне 1* (Лондон)</td></tr>
<tr><td> Категория номера: </td><td>Single Standart Взрослый</td></tr>
<tr><td> Размещение (кол-во мест в номере):</td><td> 1</td></tr>
<tr><td> Список заезжающих:</td><td> Лондон Джек /М; </td></tr>
<tr><td> Питание:</td><td> Пансион</td></tr>
<tr><td colspan="2"></td></tr>
<tr><td>Полный список заезжающих: </td><td>Лондон Джек /М ;</td></tr>
<tr><td>Экскурсионная программа:</td><td> </td></tr>
<tr><td>Дополнительные услуги:</td><td> </td></tr>
<tr><td colspan="2"></td></tr>
<tr><td>Итого к оплате: </td><td>225 $ (Двести двадцать пять $ 00 )</td></tr>
<tr><td>Сумма заказа: </td><td>225 $</td></tr>
<tr><td>Номер путевке в базе данных субагента: </td><td>EN40228001</td></tr>
<tr><td>Дата продажи: </td><td>24.02.2014</td></tr>
</table>]]></GetReservationInfoResult>
</GetReservationInfoResponse>
</soap:Body>
</soap:Envelope>
|
Метод для сохранения номера путевки (SetReservationCode)
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://megatec.ru/">
<soap:Header/>
<soap:Body>
<SetReservationCode xmlns="http://megatec.ru/">
<token>?</token>
<reservationCode>EN40228001</reservationCode>
<partnerCode>40228001EN</partnerCode>
</SetReservationCode>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
Метод ничего не возвращает.