Web-сервисы: Сервис бронирования — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
(Работа в системе)
(Общие настройки)
 
(не показано 38 промежуточных версий 6 участников)
Строка 1: Строка 1:
 
Версия статьи от {{REVISIONDAY}}-{{REVISIONMONTH}}-{{REVISIONYEAR}}.  
 
Версия статьи от {{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)|Сервис бронирования]].
  
 
Сервис '''формирования списка услуг''' предназначен для получения следующей информации:
 
Сервис '''формирования списка услуг''' предназначен для получения следующей информации:
Строка 13: Строка 23:
  
 
Сервис '''бронирования''' предназначен для '''расчета стоимости совокупности услуг''', с возможностью их '''последующего бронирования''' в базе данных.
 
Сервис '''бронирования''' предназначен для '''расчета стоимости совокупности услуг''', с возможностью их '''последующего бронирования''' в базе данных.
 +
 +
===Ссылка на тестовый сервис===
 +
С работой тестового [http://demo.megatec.ru/DS_Reservation/ServiceProvider.asmx сервиса формирования списка услуг] и [http://demo.megatec.ru/DS_Reservation/ReservationService.asmx сервиса бронирования] вы можете ознакомиться на нашем демо-сервере.
  
 
==Установка==
 
==Установка==
Строка 18: Строка 31:
 
По умолчанию корневым каталогом '''IIS''' является <code>C:/Inetpub/wwwroot</code>. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:<br />
 
По умолчанию корневым каталогом '''IIS''' является <code>C:/Inetpub/wwwroot</code>. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:<br />
 
1 Зайти в '''Пуск''' ('''Start''') &rarr; '''Настройки''' ('''Settings''') &rarr; '''Панель управления''' ('''Control Panel''') &rarr; '''Администрирование''' ('''Administrative Tools''')
 
1 Зайти в '''Пуск''' ('''Start''') &rarr; '''Настройки''' ('''Settings''') &rarr; '''Панель управления''' ('''Control Panel''') &rarr; '''Администрирование''' ('''Administrative Tools''')
 +
 
[[Файл: am_745.png|x500px|Панель управления]]<br />
 
[[Файл: am_745.png|x500px|Панель управления]]<br />
 
<br />
 
<br />
Строка 48: Строка 62:
 
  </system.web>
 
  </system.web>
  
==Подготовка данных==
+
==Настройки в файле WEB.CONFIG==
===Описание формата данных===
+
===Общие настройки===
====CalculatedPriceInfo (Информация по расчитанной цене)====
 
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
  
 
|- style="background-color:#F2F2F2"
 
|- style="background-color:#F2F2F2"
 +
 +
! width="2%" | №
 +
! width="28%" | Описание
 +
! width="35%" | Значение
 +
! width="35%" | Настройка
 +
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| <syntaxhighlight lang="cpp">
+
| 1
/// <summary>
+
| '''Пользователь''', который будет отображаться как '''Владелец путевки''' (если ''не указан ведущий менеджер'' по туру и партнеру).
/// Информация по рассчитанной цене
+
| '''Ключ пользователя''' - поле '''US_KEY''' из таблицы <code>'''[UserList]'''</code>.
/// </summary>
+
| <syntaxhighlight lang="xml" enclose="div">
public class CalculatedPriceInfo
+
<add key="webUserKey" value="458" />
{
+
</syntaxhighlight>
    /// <summary>
 
    /// Прайс-лист
 
    /// </summary>
 
    public PriceTour PriceTour { get; set; }
 
  
    /// <summary>
+
|- style="vertical-align:text-top"
    /// Дата тура
 
    /// </summary>
 
    public DateTime TourDate { get; set; }
 
  
    /// <summary>
+
| 2
    /// Количество дней по туру
+
| Определение '''приоритета''' проставления '''ведущего менеджера''' по путевке.
    /// </summary>
+
|
    public int TotalDays { get; set; }
+
* '''partner''' — ведущий менеджер '''по партнеру''';
 +
* '''filial''' — ведущий менеджер '''по филиалу''' (при включенной [[Мастер-Web:Установка и настройка#Настройки в файле WEB.CONFIG основного приложения|настройке «useFilialChoice»]]);
 +
* '''tour''' или '''пустое значение''' или '''отсутствие настройки''' — ведущий менеджер '''по туру'''.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="managerPriority" value="partner" />
 +
</syntaxhighlight>
  
    /// <summary>
+
|- style="vertical-align:text-top"
    /// Количество ночей по туру
+
 
    /// </summary>
+
| 3
    public int Nights { get; set; }
+
| Задание '''статуса заявки''' в ПК «Мастер-Тур», забронированной через '''систему бронирования''' ПК «Мастер-Web».
}
+
|
 +
* '''web''' — статус '''Web-турагент''';
 +
* '''wait''' — статус '''Wait-лист''';
 +
* '''отсутствие параметра''' или '''пустое значение''' — '''стандартный''' статус в ПК «Мастер-Тур».
 +
Подробнее см. [[Мастер-Тур:Работа с путевкой#Механизм изменения статуса путевки|Механизм изменения статуса путевки]].
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="orderStatus" value="web" />
 
</syntaxhighlight>
 
</syntaxhighlight>
|}
 
  
====ReservationParams (Параметры бронирования)====
+
|- style="vertical-align:text-top"
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
+
 
 +
| 4
 +
| Настройка, определяющая '''максимальный возможный возраст детей'''.
 +
Работает '''только совместно''' с [[Мастер-Web:Установка и настройка#Настройки в файле WEB.CONFIG основного приложения|настройкой «checkTouristAgeEnable»]].
 +
|
 +
'''Максимальный возраст''' ребенка.
 +
При '''отсутствии''' настройки '''максимальный возраст''' ребенка равен '''14 лет'''.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="maxChildAge" value="16" />
 +
</syntaxhighlight>
  
|- style="background-color:#F2F2F2"
 
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| <syntaxhighlight lang="cpp">
+
| 5
/// <summary>
+
| Определяет справочник, по которому будет проверяться '''количество основных мест''' при поиске в [[Мастер-Web:Руководство пользователя. Работа в системе online бронирования#Экран «Динамический лист предложений»|экране «Динамический лист предложений»]] и при бронировании в [[Мастер-Web:Руководство пользователя. Работа в системе online бронирования#Экран «Стандартная корзина» («Basket.aspx»)|коризинах бронирования ПК «Мастер-Web»]].
/// Параметры бронирования
+
|
/// </summary>
+
* '''true''' — количество дополнительных мест берется из [[Мастер-Тур:Справочники#Типы размещения|справочника «Типы размещений»]].
public class ReservationParams
+
Если соответствующее поле там '''не заполнено''', то из [[Мастер-Тур:Справочники#Типы номеров|справочника «Типы номеров»]].
{
+
* '''false''' или '''отсутствие настройки''' — количество дополнительных мест берется из [[Мастер-Тур:Справочники#Типы номеров|справочника «Типы номеров»]].
    /// <summary>
+
| <syntaxhighlight lang="xml" enclose="div">
    /// Идентификатор рекламного источника в БД
+
<add key="useAccomodationPlaces" value="false" />
    /// </summary>
+
</syntaxhighlight>
    public int AdvertiseID { get; set; }
 
  
    /// <summary>
+
|- style="vertical-align:text-top"
    /// Идентификатор основания для скидки в БД
+
 
    /// </summary>
+
| 6
    public int CauseDiscountID { get; set; }
+
| Определяет справочник, по которому будет проверяться '''количество дополнительных мест''' при поиске в [[Мастер-Web:Руководство пользователя. Работа в системе online бронирования#Экран «Динамический лист предложений»|экране «Динамический лист предложений»]] и при бронировании в [[Мастер-Web:Руководство пользователя. Работа в системе online бронирования#Экран «Стандартная корзина» («Basket.aspx»)|коризинах бронирования ПК «Мастер-Web»]].
 +
|
 +
* '''true''' — количество дополнительных мест берется из [[Мастер-Тур:Справочники#Типы номеров|справочника «Типы номеров»]].
 +
Если соответствующее поле там '''не заполнено''', то из [[Мастер-Тур:Справочники#Типы размещения|справочника «Типы размещений»]].
 +
* '''false''' или '''отсутствие настройки''' — количество дополнительных мест берется из [[Мастер-Тур:Справочники#Типы размещения|справочника «Типы размещений»]].
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="useRoomsExtraPlaces" value="false" />
 +
</syntaxhighlight>
  
    /// <summary>
 
    /// Идентификатор страны тура
 
    /// </summary>
 
    public int CountryID { get; set; }
 
  
    /// <summary>
+
|- style="vertical-align:text-top"
    /// Идентификатор пользователя, бронирующего тур
 
    /// </summary>
 
    public int DupUserID { get; set; }
 
  
    /// <summary>
+
| 7
    /// Имя оператора
+
| Настройка, включающая '''режим учета процента при конвертации''' валют.
    /// </summary>
+
| '''Коэффициент''', на который умножается конвертируемая сумма.
    public string OperatorName { get; set; }
+
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="courseMultiplier" value="1,02" />
 +
</syntaxhighlight>
  
    /// <summary>
+
|- style="vertical-align:text-top"
    /// Иденификатор ведущего менеджера по путевке
 
    /// </summary>
 
    public int OwnerID { get; set; }
 
  
    /// <summary>
+
| 8
    /// Идентификатор партнера, бронирующего тур
+
| Настройка указывает на то, что в [[Мастер-Тур:Справочники#Типы номеров|справочнике «Типы номеров»]] в колонке '''Число основных мест''' указано '''общее количество взрослых и детей'''. Дополнительно должно быть прописано и количество детей в соответствующей колонке.
    /// </summary>
+
При включенной настройке в случае, если сумма основных и дополнительных мест в [[Мастер-Тур:Справочники#Типы размещения|справочнике «Типы размещений»]] превышает значение в колонке число основных мест, бронирование невозможно.
    public int PartnerID { get; set; }
+
|
 +
* '''true''' — в колонке число основных мест указано общее количество взрослых и детей (сумма основных и дополнительных мест в размещении не должна превышать значение в колонке число основных мест в номерах);
 +
* '''false''' или '''отсутствие настройки''' — количество взрослых и детей не суммируется (проверка не производится).
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="combinedPlaces" value="true" />
 +
</syntaxhighlight>
  
    /// <summary>
+
|- style="vertical-align:text-top"
    /// Валюта, в котрой производится бронирование
 
    /// (если не задана, то вытягивается из тура)
 
    /// </summary>
 
    public string RateCode { get; set; }
 
  
    /// <summary>
+
| 9
    /// Бронируемая продолжительность
+
| Настройка, включающая проверку прав текущего пользователя на получение доступа к путевке.
    /// (если не задана, то высчитывается на основании услуг)
+
|
    /// </summary>
+
* '''true''' — включена проверка;
    public int ReserveDuration { get; set; }
+
* '''false''' или '''отсутствие настройки''' — проверка отключена.
 
+
| <syntaxhighlight lang="xml" enclose="div">
    /// <summary>
+
<add key="IsAuthDubUser" value="true" />
    /// Дата тура
+
</syntaxhighlight>
    /// </summary>
 
    public DateTime TourDate { get; set; }
 
 
 
    /// <summary>
 
    /// Идентификатор тура
 
    /// </summary>
 
    public int TourID { get; set; }
 
  
    /// <summary>
 
    /// Количество туристов по услугам
 
    /// </summary>
 
    public int TouristsCount { get; set; }
 
}</syntaxhighlight>
 
 
|}
 
|}
  
====ReservationResult (Результат расчета стоимости и бронирования комплекса услуг)====
+
===Настройки бронирования инфантов===
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
  
 
|- style="background-color:#F2F2F2"
 
|- style="background-color:#F2F2F2"
 +
 +
! width="2%" | №
 +
! width="28%" | Описание
 +
! width="35%" | Значение
 +
! width="35%" | Настройка
 +
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| <syntaxhighlight lang="cpp">
+
| 1
/// <summary>
+
| Ключи '''тарифов на авиаперелет''' для размещения '''Младенец''' ('''Infant''').
/// Класс, описывающий результат расчета стоимости и бронирования комплекса услуг
+
Настройка используется либо в [[Мастер-Web:Дополнительный модуль Бронирование индивидуального тура|дополнительном модуле «Бронирование индивидуального тура»]], либо для '''исключения тарифов''' при отображении списка рейсов в корзинах бронирования.
/// </summary>
+
| '''Ключи тарифов''' - поле '''AS_CODE''' из таблицы <code>'''[AirService]'''</code> через запятую.
public class ReservationResult
+
| <syntaxhighlight lang="xml" enclose="div">
{
+
<add key="infantCharterClasses" value="132,110" />
    /// <summary>
+
</syntaxhighlight>
    /// Стоимость к оплате
+
 
    /// </summary>
+
|- style="vertical-align:text-top"
    public double Brutto { get; set; }
+
 
 +
| 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"
  
    /// <summary>
+
| 3
    /// Процент скидки
+
| '''Взрослые тарифы''' ('''бизнес''') авиаперелетов, для которых будет подбираться тариф - '''CCH''' - '''Бизнес класс''' ('''детский''').
    /// </summary>
+
| '''Ключи тарифа''' - поле '''AS_CODE''' из таблицы <code>'''[AirService]'''</code> через запятую.
    public double DiscountPercent { get; set; }
+
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="CCH" value="67,68,74" />
 +
</syntaxhighlight>
  
    /// <summary>
+
|}
    /// Абсолютная величина скидки
 
    /// </summary>
 
    public double DiscountSumm { get; set; }
 
  
    /// <summary>
 
    /// Валюта
 
    /// </summary>
 
    public string Rate { get; set; }
 
  
    /// <summary>
+
===Настройки добавления доплат к рейсам===
    /// Код сформированной путевки
+
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
    /// </summary>
 
    public string ReservationCode { get; set; }
 
  
    /// <summary>
+
|- style="background-color:#F2F2F2"
    /// Сообщение об ошибке
+
 
    /// </summary>
+
! width="2%" | №
    public string ErrorMessage { get; set; }
+
! 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>
 
</syntaxhighlight>
 +
 
|}
 
|}
  
====ReservationInfoParams (Параметры путевки)====
+
 
 +
Для того, что бы получить все связанные дополнительные услуги, необходимо добавить в файл <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"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
  
 
|- style="background-color:#F2F2F2"
 
|- style="background-color:#F2F2F2"
 +
 +
! width="2%" | №
 +
! width="28%" | Описание
 +
! width="35%" | Значение
 +
! width="35%" | Настройка
 +
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| <syntaxhighlight lang="cpp">
+
| 1
/// <summary>
+
| '''Включение''' дополнительного модуля «Бронирование новогодних и рожденственских ужинов».
/// Класс, описывающий параметры путевки
+
| '''Ссылка на дополнительный модуль'''.
/// </summary>
+
| <syntaxhighlight lang="xml" enclose="div">
public class ReservationInfoParams
+
<add key="happyNewYearServiceManager" value="MasterWebStandard.Extra.HappyNewYearServices.HappyNewYearStandardManager, MasterWebStandard.Extra.HappyNewYearServices" />
{
+
</syntaxhighlight>
/// <summary>
+
 
/// код путевки
+
|- style="vertical-align:text-top"
/// </summary>
+
 
    public string Code { get; set; }
+
| 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'''.
 +
 
 +
===Описание формата данных===
 +
====MainDependentAccommodation (Доступное основное или зависимое размещение)====
 +
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
  
/// <summary>
+
|- style="background-color:#F2F2F2"
/// значение скидки
+
|- style="vertical-align:text-top"
/// </summary>
 
    public double Discount { get; set; }
 
  
 +
| <syntaxhighlight lang="cpp">
 
/// <summary>
 
/// <summary>
/// стоимость путевки
+
    /// Доступное основное или зависимое размещение
/// </summary>
+
    /// </summary>
     public double Price { get; set; }
+
     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>
 
</syntaxhighlight>
 
|}
 
|}
  
====ReservationInfo (Описание путевки, включая все услуги и туристов)====
+
====CalculatedPriceInfo (Информация по расчитанной цене)====
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
  
Строка 244: Строка 359:
 
| <syntaxhighlight lang="cpp">
 
| <syntaxhighlight lang="cpp">
 
/// <summary>
 
/// <summary>
/// Класс, описывающий путевку, включая все услуги путевки и туристов
+
/// Информация по рассчитанной цене
 
/// </summary>
 
/// </summary>
public class ReservationInfo
+
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; }
 +
}
 +
</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>
 
    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>
 
/// </summary>
    public double DiscountSum { get; set; }
+
public class ReservationParams
/// <summary>
+
{
/// Обобщенный статус путевки
+
    /// <summary>
/// </summary>
+
    /// Идентификатор рекламного источника в БД
     public int? DogovorGlobalStatus { get; set; }
+
    /// </summary>
/// <summary>
+
     public int AdvertiseID { get; set; }
/// Статус путевки
+
 
/// </summary>
+
     /// <summary>
     public int DogovorStatus { get; set; }
+
     /// Идентификатор основания для скидки в БД
/// <summary>
+
    /// </summary>
/// Кол-во дней поездки
+
     public int CauseDiscountID { get; set; }
/// </summary>
+
 
     public int Ndays { get; set; }
+
    /// <summary>
/// <summary>
+
     /// Идентификатор страны тура
/// Количество туристов в путевке
+
    /// </summary>
/// </summary>
+
     public int CountryID { get; set; }
     public int Nmen { get; set; }
+
 
/// <summary>
+
    /// <summary>
/// Цена без учета скидки
+
     /// Идентификатор пользователя, бронирующего тур
/// </summary>
+
     /// </summary>
     public double Price { get; set; }
+
     public int DupUserID { 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»)===
+
    /// <summary>
 +
    /// Имя оператора
 +
    /// </summary>
 +
    public string OperatorName { get; set; }
  
====Метод получения информации по ключу цены (GetCalculatedPriceInfo)====
+
    /// <summary>
=====Сигнатура вызова=====
+
    /// Иденификатор ведущего менеджера по путевке
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
+
    /// </summary>
 +
    public int OwnerID { get; set; }
  
|- style="background-color:#F2F2F2"
+
    /// <summary>
|- style="vertical-align:text-top"
+
    /// Идентификатор партнера, бронирующего тур
 +
    /// </summary>
 +
    public int PartnerID { get; set; }
  
| <syntaxhighlight lang="cpp">
+
    /// <summary>
/// <summary>
+
    /// Валюта, в котрой производится бронирование
/// Получение информации о цене
+
    /// (если не задана, то вытягивается из тура)
/// </summary>
+
    /// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
+
    public string RateCode { get; set; }
/// <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)
 
</syntaxhighlight>
 
|}
 
<br />
 
====Метод получения рассчитанных услуг (GetCalculatedServices)====
 
=====Сигнатура вызова=====
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 
  
|- style="background-color:#F2F2F2"
+
    /// <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; }
 +
}</syntaxhighlight>
 +
|}
 +
 
 +
====ReservationResult (Результат расчета стоимости и бронирования комплекса услуг)====
 +
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 +
 
 +
|- style="background-color:#F2F2F2"
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
 
| <syntaxhighlight lang="cpp">
 
| <syntaxhighlight lang="cpp">
 
/// <summary>
 
/// <summary>
/// Возвращает список рассчитанных услуг по ключу цены
+
/// Класс, описывающий результат расчета стоимости и бронирования комплекса услуг
 
/// </summary>
 
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
+
public class ReservationResult
/// <param name="priceKey">Ключ обсчитанной цены</param>
+
{
/// <returns></returns>
+
    /// <summary>
[WebMethod]
+
    /// Стоимость к оплате
public List<Service> GetCalculatedServices(String token, int priceKey)
+
    /// </summary>
</syntaxhighlight>
+
    public double Brutto { get; set; }
|}
+
 
<br />
+
    /// <summary>
====Метод получения нерасчитанных услуг (GetNotCalculatedServices)==== 
+
    /// Процент скидки
=====Сигнатура вызова=====
+
    /// </summary>
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
+
    public double DiscountPercent { get; set; }
  
|- style="background-color:#F2F2F2"
+
    /// <summary>
|- style="vertical-align:text-top"
+
    /// Абсолютная величина скидки
 +
    /// </summary>
 +
    public double DiscountSumm { get; set; }
  
| <syntaxhighlight lang="cpp">
+
    /// <summary>
/// <summary>
+
    /// Валюта
/// Возвращает список нерассчитанных услуг по ключу цены
+
    /// </summary>
/// </summary>
+
    public string Rate { get; set; }
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
+
 
/// <param name="priceKey">Ключ обсчитанной цены</param>
+
    /// <summary>
/// <returns></returns>
+
    /// Код сформированной путевки
[WebMethod]
+
    /// </summary>
public List<Service> GetNotCalculatedServices(String token, int priceKey)
+
    public string ReservationCode { get; set; }
 +
 
 +
    /// <summary>
 +
    /// Сообщение об ошибке
 +
    /// </summary>
 +
    public string ErrorMessage { get; set; }
 +
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
<br />
+
 
====Метод получения вариантов услуги (GetServiceVariants)====
+
====ReservationInfoParams (Параметры путевки)====
=====Сигнатура вызова=====
 
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
  
Строка 378: Строка 515:
 
| <syntaxhighlight lang="cpp">
 
| <syntaxhighlight lang="cpp">
 
/// <summary>
 
/// <summary>
/// Получение вариантов услуги
+
/// Класс, описывающий параметры путевки
 
/// </summary>
 
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
+
public class ReservationInfoParams
/// <param name="service">Базовая услуга</param>
+
{
/// <param name="dtDate">Дата заезда</param>
+
/// <summary>
/// <param name="duration">Продолжительность тура</param>
+
/// код путевки
/// <param name="allowHidden">Искать ли аналоги для скрытой услуги</param>
+
/// </summary>
/// <param name="allowHotelCodeChange">Можно ли поменять отель</param>
+
    public string Code { get; set; }
/// <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)
 
</syntaxhighlight>
 
|}
 
<br />
 
  
===Сервис бронирования (ReservationService.asmx)===
+
/// <summary>
====Метод расчета стоимости услуг (CalculateReservation)====
+
/// значение скидки
=====Сигнатура вызова=====
+
/// </summary>
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
+
    public double Discount { get; set; }
 
 
|- style="background-color:#F2F2F2"
 
|- style="vertical-align:text-top"
 
  
| <syntaxhighlight lang="cpp">
 
 
/// <summary>
 
/// <summary>
/// Метод расчета стоимости услуг
+
/// стоимость путевки
 
/// </summary>
 
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
+
    public double Price { get; set; }
/// <param name="services">Список услуг, по которым рассчитывается стоимость</param>
+
}
/// <param name="parameters">Параметры расчета</param>
 
/// <returns>Результат расчета стоимости</returns>
 
public Megatec.Travel.Entities.ReservationResult CalculateReservation(List<Megatec.Travel.Entities.Service> services, ReservationParams parameters)
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
<br />
+
 
====Метод бронирования услуг (CreateReservation)====
+
====ReservationInfo (Описание путевки, включая все услуги и туристов)====
=====Сигнатура вызова=====
 
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
  
Строка 440: Строка 545:
 
| <syntaxhighlight lang="cpp">
 
| <syntaxhighlight lang="cpp">
 
/// <summary>
 
/// <summary>
/// Метод бронирования
+
/// Класс, описывающий путевку, включая все услуги путевки и туристов
 
/// </summary>
 
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
+
public class ReservationInfo
/// <param name="services">Список бронируемых услуг</param>
+
{
/// <param name="tourists">Список туристов по путевке</param>
+
/// <summary>
/// <param name="parameters">Параметры бронирования</param>
+
/// Название города поездки
/// <returns></returns>
+
/// </summary>
[WebMethod]
+
    public string CityName { get; set; }
public Megatec.Travel.Entities.ReservationResult CreateReservation(List<Megatec.Travel.Entities.Service> services, List<Tourist> tourists, ReservationParams parameters)
+
/// <summary>
</syntaxhighlight>
+
/// Код путевки
|}
+
/// </summary>
<br />
+
    public string Code { get; set; }
====Метод получения данных по путевке (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>
/// Метод получения полной информации по путевке
+
/// Название страны поездки
 
/// </summary>
 
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
+
    public string CountryName { get; set; }
/// <param name="reservationCode">Код путевки</param>
+
/// <summary>
/// <returns>Полная информация по услугам и туристам в путевке</returns>
+
/// Скидка по путевке
public Megatec.Travel.DataObjects.ReservationInfo GetDogovorInfo(String token, String reservationCode)
+
/// </summary>
</syntaxhighlight>
+
    public double Discount { get; set; }
|}
+
/// <summary>
<br />
+
/// Сумма скидки
====Метод получения информации по путевке (GetReservationInfo)====
+
/// </summary>
=====Сигнатура метода=====
+
    public double DiscountSum { get; set; }
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
+
/// <summary>
 
+
/// Обобщенный статус путевки
|- style="background-color:#F2F2F2"
+
/// </summary>
|- style="vertical-align:text-top"
+
    public int? DogovorGlobalStatus { get; set; }
 
 
| <syntaxhighlight lang="cpp">
 
 
/// <summary>
 
/// <summary>
/// Метод получения HTML-информации по путевке
+
/// Статус путевки
 
/// </summary>
 
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
+
    public int DogovorStatus { get; set; }
/// <param name="reservationCode">Код путевки</param>
+
/// <summary>
/// <param name="partnerKey">Идентификатор покупателя</param>
+
/// Кол-во дней поездки
/// <param name="param">Параметры бронирования</param>
+
/// </summary>
/// <returns>HTML-информация по путевке</returns>
+
    public int Ndays { get; set; }
public String GetReservationInfo(String token, String reservationCode, Int32 partnerKey, Megatec.Travel.DataObjects.ReservationInfoParams param)
+
/// <summary>
 
+
/// Количество туристов в путевке
</syntaxhighlight>
+
/// </summary>
|}
+
    public int Nmen { get; set; }
<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>
/// Сохраняет номер путевки субагента в БД агента
+
/// Цена без учета скидки
/// (в историю путевки должен записать номер путевки субагента)
 
 
/// </summary>
 
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
+
    public double Price { get; set; }
/// <param name="reservationCode">Номер путевки в БД агента</param>
+
/// <summary>
/// <param name="partnerCode">Номер путевки в БД субагента</param>
+
/// Код валюты путевки
public void SetReservationCode(String token, String reservationCode, String partnerCode)
+
/// </summary>
</syntaxhighlight>
+
    public string RateCode { get; set; }
|}
+
/// <summary>
<br />
+
/// Список всеу услуг в путевке
 
+
/// </summary>
==Работа в системе==
+
    public List<Service> ReservationServices { get; set; }
===Работа с сервисом «ServiceProvider.asmx» (Формирование списка услуг)===
+
/// <summary>
====Метод получения информации по ключу цены (GetCalculatedPriceInfo )====
+
/// Список всех туристов в путевке
=====Пример SOAP-запроса к сервису=====
+
/// </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"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
  
Строка 521: Строка 618:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| <syntaxhighlight lang="xml">
+
| <syntaxhighlight lang="cpp">
<?xml version="1.0" encoding="utf-8"?>
+
/// <summary>
<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>
+
/// </summary>
    <GetCalculatedPriceInfo xmlns="http://megatec.ru/">
+
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
      <priceKey>5038425</priceKey>
+
/// <param name="priceKey">Ключ обсчитанной цены (ключ прайса)</param>
      <includeTourDescriptionText>true</includeTourDescriptionText>
+
/// <param name="isCheckExtraPlaceQuota:">Проверять ли места на еще одно такое же размещение</param>
      <includeBookingConditionsText>true</includeBookingConditionsText>
+
/// <returns>Список пар [основное размещение; коллекция неосновных]</returns>
    </GetCalculatedPriceInfo>
+
[WebMethod]
  </soap:Body>
+
public List<SerializableKeyValuePair<MainDependentAccommodation, List<MainDependentAccommodation>>>  
</soap:Envelope>
+
GetAvailableAccommodations(String token, Int32 priceKey, Boolean isCheckExtraPlaceQuota)
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
 
<br />
 
<br />
=====Пример SOAP-ответа сервиса=====
+
 
 +
====Метод получения информации по ключу цены (GetCalculatedPriceInfo)====
 +
=====Сигнатура вызова=====
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
  
Строка 541: Строка 640:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| <syntaxhighlight lang="xml">
+
| <syntaxhighlight lang="cpp">
<?xml version="1.0" encoding="utf-8"?>
+
/// <summary>
<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>
+
/// </summary>
    <GetCalculatedPriceInfoResponse xmlns="http://megatec.ru/">
+
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
      <GetCalculatedPriceInfoResult>
+
/// <param name="priceKey">Ключ цены</param>
        <PriceTour>
+
/// <param name="includeTourDescriptionText">Возвращать ли описание тура</param>
          <ID>667</ID>
+
/// <param name="includeBookingConditionsText">Возвращать ли условия бронирования по туру</param>
          <Name>Test Tour</Name>
+
/// <returns></returns>
          <Description />
+
[WebMethod]
          <Country>
+
public CalculatedPriceInfo GetCalculatedPriceInfo(String token, int priceKey, bool includeTourDescriptionText, bool includeBookingConditionsText)
            <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>
 
</syntaxhighlight>
 
|}
 
|}
 
<br />
 
<br />
 
 
====Метод получения рассчитанных услуг (GetCalculatedServices)====
 
====Метод получения рассчитанных услуг (GetCalculatedServices)====
=====Пример SOAP-запроса к сервису=====
+
=====Сигнатура вызова=====
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
  
Строка 582: Строка 661:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| <syntaxhighlight lang="xml">
+
| <syntaxhighlight lang="cpp">
<?xml version="1.0" encoding="utf-8"?>
+
/// <summary>
<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>
+
/// </summary>
    <GetCalculatedServices xmlns="http://megatec.ru/">
+
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
      <priceKey>5038425</priceKey>
+
/// <param name="priceKey">Ключ обсчитанной цены</param>
    </GetCalculatedServices>
+
/// <returns></returns>
  </soap:Body>
+
[WebMethod]
</soap:Envelope>
+
public List<Service> GetCalculatedServices(String token, int priceKey)
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
 
<br />
 
<br />
=====Пример SOAP-ответа сервиса=====
+
 
 +
====Метод получения информации о дополнительных услугах (GetExtraServiceInfo)====
 +
=====Сигнатура вызова=====
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
  
Строка 600: Строка 681:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| <syntaxhighlight lang="xml">
+
| <syntaxhighlight lang="cpp">
<?xml version="1.0" encoding="utf-8"?>
+
/// <summary>
<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>
+
/// </summary>
    <GetCalculatedServicesResponse xmlns="http://megatec.ru/">
+
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
      <GetCalculatedServicesResult>
+
/// <param name="priceKey">Ключ цены</param>
        <Service xsi:type="HotelService">
+
/// <returns></returns>
          <ID>-159</ID>
+
[WebMethod]
          <Name>Отель/Отель 5*+ (Арльберг), Single Standart Взрослый, Полупансион, ,</Name>
+
public ExtraServiceInfo GetExtraServiceInfo(String token, int priceKey)
          <ExternalID>0</ExternalID>
+
</syntaxhighlight>
          <StartDate>0001-01-01T00:00:00</StartDate>
+
|}
          <EndDate>0001-01-01T00:00:00</EndDate>
+
<br />
          <StartDay>1</StartDay>
+
====Метод получения дополнительных услуг (GetNotCalculatedServices)==== 
          <Duration>10</Duration>
+
=====Сигнатура вызова=====
          <Attribute>390</Attribute>
+
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
          <RateBrutto />
+
 
          <Brutto>0</Brutto>
+
|- style="background-color:#F2F2F2"
          <RateNetto />
+
|- style="vertical-align:text-top"
          <Netto>0</Netto>
+
 
          <NMen>1</NMen>
+
| <syntaxhighlight lang="cpp">
          <Partner>
+
/// <summary>
            <ID>10760</ID>
+
/// Возвращает список дополнительных услуг по ключу цены. Дополнительные услуги не могут быть отелем или перелётом.
            <Name />
+
/// </summary>
            <NameLat />
+
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
            <Code />
+
/// <param name="priceKey">Ключ обсчитанной цены</param>
            <CodeLat />
+
/// <returns></returns>
            <Unicode />
+
[WebMethod]
            <Description />
+
public List<Service> GetNotCalculatedServices(String token, int priceKey)
            <PartnersGroupID>0</PartnersGroupID>
+
</syntaxhighlight>
            <FullName />
+
|}
            <BossName />
+
<br />
            <Fax />
+
 
            <Address />
+
====Метод получения вариантов услуги (GetServiceVariants)====
            <Zip />
+
=====Сигнатура вызова=====
            <Email />
+
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
            <Phones />
+
 
          </Partner>
+
|- style="background-color:#F2F2F2"
          <Quota>NotChecked</Quota>
+
|- style="vertical-align:text-top"
          <PacketID>250</PacketID>
+
 
          <City>
+
| <syntaxhighlight lang="cpp">
            <ID>275</ID>
+
/// <summary>
            <Name />
+
/// Получение вариантов услуги
            <NameLat />
+
/// </summary>
            <Code />
+
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
            <CodeLat />
+
/// <param name="service">Базовая услуга</param>
            <Unicode />
+
/// <param name="dtDate">Дата заезда</param>
            <Description />
+
/// <param name="duration">Продолжительность тура</param>
          </City>
+
/// <param name="allowHidden">Искать ли аналоги для скрытой услуги</param>
          <Country>
+
/// <param name="allowHotelCodeChange">Можно ли поменять отель</param>
            <ID>90</ID>
+
/// <param name="CheckFlightPacket">Проверять ли пакет услуги</param>
            <Name />
+
/// <param name="checkQuotes">Нужно ли делать проверку квот и удалять варианты без мест</param>
            <NameLat />
+
/// <param name="nMen">Количество мест для проверки (если 0, то игнорируем byRoom и userKey</param>
            <Code />
+
/// <param name="byRoom">Что проверяем. Места или комнаты</param>
            <CodeLat />
+
/// <param name="userKey">Агент</param>
            <Unicode />
+
/// <param name="includeOriginal">Включать в результат базовую услугу</param>
            <Description />
+
/// <param name="excludeCharterClasses">Исключить из подбора данные классы перелетов</param>
            <IsIncoming>false</IsIncoming>
+
/// <returns>Список услуг</returns>
          </Country>
+
[WebMethod]
          <Tourists />
+
public List<Service> GetServiceVariants(String token, Megatec.Travel.Entities.Service service
          <DetailNetto />
+
    , DateTime tourDate
          <DetailBrutto />
+
    , int tourDuration
          <Notes />
+
    , bool allowHidden
          <ServiceClass>
+
    , bool allowHotelCodeChange
            <ID>3</ID>
+
    , bool checkFlightPacket
            <Name />
+
    , bool checkQuotes
            <NameLat />
+
    , short nMen
            <Code />
+
    , bool byRoom
            <CodeLat />
+
    , int userKey
            <Unicode />
+
    , bool includeOriginal
            <Description />
+
    , string excludeCharterClasses)
            <ServiceClasses>None</ServiceClasses>
+
</syntaxhighlight>
          </ServiceClass>
+
|}
          <Hotel>
+
<br />
            <ID>3254</ID>
+
 
            <Name>Отель 5*+</Name>
+
===Сервис бронирования (ReservationService.asmx)===
            <NameLat />
+
====Метод расчета стоимости услуг (CalculateReservation)====
            <Code />
+
=====Сигнатура вызова=====
            <CodeLat />
+
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
            <Unicode />
+
 
            <Description />
+
|- style="background-color:#F2F2F2"
            <City>
+
|- style="vertical-align:text-top"
              <ID>3254</ID>
+
 
              <Name>Арльберг</Name>
+
| <syntaxhighlight lang="cpp">
              <NameLat />
+
/// <summary>
              <Code />
+
/// Метод расчета стоимости услуг
              <CodeLat />
+
/// </summary>
              <Unicode />
+
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
              <Description />
+
/// <param name="services">Список услуг, по которым рассчитывается стоимость</param>
            </City>
+
/// <param name="parameters">Параметры расчета</param>
          </Hotel>
+
/// <returns>Результат расчета стоимости</returns>
          <Room>
+
public ReservationResult CalculateReservation(String token, List<Service> services, ReservationParams parameters)
            <ID>1112</ID>
+
</syntaxhighlight>
            <Name />
+
|}
            <NameLat />
+
<br />
            <Code />
+
====Метод бронирования услуг (CreateReservation)====
            <CodeLat />
+
=====Сигнатура вызова=====
            <Unicode />
+
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
            <Description />
+
 
            <RoomType>
+
|- style="background-color:#F2F2F2"
              <ID>1</ID>
+
|- style="vertical-align:text-top"
              <Name>Single</Name>
+
 
              <NameLat />
+
| <syntaxhighlight lang="cpp">
              <Code>SGL</Code>
+
/// <summary>
              <CodeLat />
+
/// Метод бронирования
              <Unicode />
+
/// </summary>
              <Description />
+
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
              <PrintOrder>0</PrintOrder>
+
/// <param name="services">Список бронируемых услуг</param>
              <Places>
+
/// <param name="tourists">Список туристов по путевке</param>
                <Main>1</Main>
+
/// <param name="parameters">Параметры бронирования</param>
                <Extra>1</Extra>
+
/// <returns></returns>
              </Places>
+
[WebMethod]
            </RoomType>
+
public ReservationResult CreateReservation(String token, List<Service> services, List<Tourist> tourists, ReservationParams parameters)
            <RoomCategory>
+
</syntaxhighlight>
              <ID>20</ID>
+
|}
              <Name>Standart</Name>
+
<br />
              <NameLat />
+
====Метод получения данных по путевке (GetDogovorInfo)====
              <Code>STD</Code>
+
=====Сигнатура метода=====
              <CodeLat />
+
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
              <Unicode />
+
 
              <Description />
+
|- style="background-color:#F2F2F2"
              <PrintOrder>0</PrintOrder>
+
|- style="vertical-align:text-top"
            </RoomCategory>
+
 
            <RoomAccomodation>
+
| <syntaxhighlight lang="cpp">
              <ID>320</ID>
+
/// <summary>
              <Name>Взрослый</Name>
+
/// Метод получения полной информации по путевке
              <NameLat />
+
/// </summary>
              <Code>Взр.</Code>
+
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
              <CodeLat />
+
/// <param name="reservationCode">Код путевки</param>
              <Unicode />
+
/// <returns>Полная информация по услугам и туристам в путевке</returns>
              <Description />
+
public Megatec.Travel.DataObjects.ReservationInfo GetDogovorInfo(String token, String reservationCode)
              <Places>
+
</syntaxhighlight>
                <Main>0</Main>
+
|}
                <Extra>0</Extra>
+
<br />
              </Places>
+
====Метод получения информации по путевке (GetReservationInfo)====
              <IsMain>true</IsMain>
+
=====Сигнатура метода=====
              <AgeRange AgeFrom="0" AgeTo="0" />
+
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
              <AgeRange2 AgeFrom="0" AgeTo="0" />
+
 
              <PerRoom>false</PerRoom>
+
|- style="background-color:#F2F2F2"
            </RoomAccomodation>
+
|- style="vertical-align:text-top"
          </Room>
+
 
          <Pansion>
+
| <syntaxhighlight lang="cpp">
            <ID>2</ID>
+
/// <summary>
            <Name>Полупансион</Name>
+
/// Метод получения HTML-информации по путевке
            <NameLat />
+
/// </summary>
            <Code>HB</Code>
+
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
            <CodeLat />
+
/// <param name="reservationCode">Код путевки</param>
            <Unicode />
+
/// <param name="partnerKey">Идентификатор покупателя</param>
            <Description />
+
/// <param name="param">Параметры бронирования</param>
          </Pansion>
+
/// <returns>HTML-информация по путевке</returns>
        </Service>
+
public String GetReservationInfo(String token, String reservationCode, Int32 partnerKey, Megatec.Travel.DataObjects.ReservationInfoParams param)
      </GetCalculatedServicesResult>
+
 
    </GetCalculatedServicesResponse>
+
</syntaxhighlight>
  </soap:Body>
+
|}
</soap:Envelope>
+
<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>
 
</syntaxhighlight>
 
|}
 
|}
 
<br />
 
<br />
====Метод получения нерассчитанных услуг (GetNotCalculatedServices)====
+
 
 +
==Работа в системе==
 +
===Работа с сервисом «ServiceProvider.asmx» (Формирование списка услуг)===
 +
====Метод получения основных и неосновных размещений (GetAvailableAccommodations )====
 
=====Пример SOAP-запроса к сервису=====
 
=====Пример SOAP-запроса к сервису=====
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
Строка 766: Строка 867:
 
| <syntaxhighlight lang="xml">
 
| <syntaxhighlight lang="xml">
 
<?xml version="1.0" encoding="utf-8"?>
 
<?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: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>
 
   <soap:Body>
     <GetNotCalculatedServices xmlns="http://megatec.ru/">
+
     <GetAvailableAccommodations xmlns="http://megatec.ru/">
       <priceKey>5038425</priceKey>
+
      <token>?</token>
     </GetNotCalculatedServices>
+
       <priceKey>33345</priceKey>
 +
      <isCheckExtraPlaceQuota>true</isCheckExtraPlaceQuota>
 +
     </GetAvailableAccommodations>
 
   </soap:Body>
 
   </soap:Body>
</soap:Envelope>
+
</soap:Envelope>
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
Строка 784: Строка 887:
 
| <syntaxhighlight lang="xml">
 
| <syntaxhighlight lang="xml">
 
<?xml version="1.0" encoding="utf-8"?>
 
<?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: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>
 
   <soap:Body>
     <GetNotCalculatedServicesResponse xmlns="http://megatec.ru/">
+
     <GetAvailableAccommodationsResponse xmlns="http://megatec.ru/">
       <GetNotCalculatedServicesResult>
+
       <GetAvailableAccommodationsResult>
         <Service xsi:type="ExcursionService">
+
         <SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
           <ID>-190</ID>
+
           <Key>
          <Name>Экскурсия::Арльберг/Кладбища Австрии, /Крысиная упряжка /</Name>
+
            <PriceKey>33349</PriceKey>
           <ExternalID>0</ExternalID>
+
            <AccommodationName>DBL 1-1 STD</AccommodationName>
           <StartDate>0001-01-01T00:00:00</StartDate>
+
            <Places>2</Places>
           <EndDate>0001-01-01T00:00:00</EndDate>
+
            <Price>812</Price>
           <StartDay>1</StartDay>
+
            <Currency>$</Currency>
          <Duration>0</Duration>
+
            <QuotaStatus>No</QuotaStatus>
          <Attribute>1</Attribute>
+
           </Key>
          <RateBrutto />
+
           <Value>
          <Brutto>0</Brutto>
+
            <MainDependentAccommodation xsi:nil="true" />
           <RateNetto />
+
            <MainDependentAccommodation xsi:nil="true" />
           <Netto>0</Netto>
+
           </Value>
           <NMen>0</NMen>
+
        </SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
           <Partner>
+
        <SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
             <ID>10760</ID>
+
           <Key>
             <Name />
+
            <PriceKey>33337</PriceKey>
             <NameLat />
+
            <AccommodationName>DBL 2-0 Sea View</AccommodationName>
             <Code />
+
            <Places>2</Places>
             <CodeLat />
+
            <Price>938</Price>
             <Unicode />
+
            <Currency>$</Currency>
             <Description />
+
            <QuotaStatus>No</QuotaStatus>
             <PartnersGroupID>0</PartnersGroupID>
+
           </Key>
            <FullName />
+
           <Value>
             <BossName />
+
            <MainDependentAccommodation xsi:nil="true" />
             <Fax />
+
            <MainDependentAccommodation xsi:nil="true" />
             <Address />
+
           </Value>
             <Zip />
+
        </SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
             <Email />
+
        <SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
             <Phones />
+
           <Key>
           </Partner>
+
             <PriceKey>33345</PriceKey>
           <Quota>NotChecked</Quota>
+
             <AccommodationName>DBL 1-1 Sea View</AccommodationName>
           <PacketID>250</PacketID>
+
             <Places>2</Places>
           <City>
+
             <Price>740</Price>
             <ID>275</ID>
+
             <Currency>$</Currency>
             <Name />
+
             <QuotaStatus>No</QuotaStatus>
             <NameLat />
+
          </Key>
             <Code />
+
          <Value>
             <CodeLat />
+
             <MainDependentAccommodation xsi:nil="true" />
             <Unicode />
+
             <MainDependentAccommodation xsi:nil="true" />
             <Description />
+
          </Value>
           </City>
+
        </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>
 
           <Country>
 
             <ID>90</ID>
 
             <ID>90</ID>
             <Name />
+
             <Name>Австрия</Name>
            <NameLat />
 
            <Code />
 
            <CodeLat />
 
            <Unicode />
 
            <Description />
 
            <IsIncoming>false</IsIncoming>
 
 
           </Country>
 
           </Country>
           <Tourists />
+
           <Tour>
          <DetailNetto />
+
             <ID>542</ID>
          <DetailBrutto />
+
             <Name>Test Tour</Name>
          <Notes />
 
          <ServiceClass>
 
             <ID>4</ID>
 
             <Name />
 
            <NameLat />
 
            <Code />
 
            <CodeLat />
 
            <Unicode />
 
 
             <Description />
 
             <Description />
             <ServiceClasses>None</ServiceClasses>
+
             <BookingConditions />
           </ServiceClass>
+
           </Tour>
           <Excursion>
+
           <Attribute>0</Attribute>
            <ID>292</ID>
+
          <IncludedServices> Авиаперелет, Трансфер, Проживание(питание: Полупансион), Виза, Страховка, Доп. услуги</IncludedServices>
            <Name>Кладбища Австрии</Name>
+
        </PriceTour>
            <NameLat />
+
        <TourDate>2010-07-02T00:00:00</TourDate>
            <Code />
+
        <TotalDays>11</TotalDays>
            <CodeLat />
+
        <Nights>10</Nights>
            <Unicode />
+
       </GetCalculatedPriceInfoResult>
            <Description />
+
     </GetCalculatedPriceInfoResponse>
            <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:Body>
</soap:Envelope>
+
</soap:Envelope>
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
 
<br />
 
<br />
====Метод получения вариантов услуги (GetServiceVariants)====
+
 
 +
====Метод получения рассчитанных услуг (GetCalculatedServices)====
 
=====Пример SOAP-запроса к сервису=====
 
=====Пример 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"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
  
Строка 895: Строка 1062:
 
  <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: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>
 
   <soap:Body>
     <GetServiceVariants xmlns="http://megatec.ru/">
+
     <GetCalculatedServicesResponse xmlns="http://megatec.ru/">
       <service xsi:type="FlightService">
+
       <GetCalculatedServicesResult>
        <StartDay>1</StartDay>
+
        <Service xsi:type="HotelService">
        <Duration>0</Duration>
+
          <ID>-159</ID>
        <Attribute>7</Attribute>
+
          <Name>Отель/Отель 5*+ (Арльберг), Single Standart Взрослый, Полупансион, ,</Name>
        <NMen>1</NMen>
+
          <ExternalID>0</ExternalID>
        <Partner>
+
          <StartDate>0001-01-01T00:00:00</StartDate>
           <ID>10762</ID>
+
           <EndDate>0001-01-01T00:00:00</EndDate>
        </Partner>
+
          <StartDay>1</StartDay>
        <PacketID>248</PacketID>
+
          <Duration>10</Duration>
        <City>
+
           <Attribute>390</Attribute>
           <ID>275</ID>
+
          <RateBrutto />
        </City>
+
           <Brutto>0</Brutto>
        <Country>
+
          <RateNetto />
           <ID>90</ID>
+
          <Netto>0</Netto>
        </Country>
+
           <NMen>1</NMen>
        <ServiceClass>
+
          <Partner>
           <ID>1</ID>
+
            <ID>10760</ID>
        </ServiceClass>
+
            <Name />
        <Tariff>
+
            <NameLat />
          <ID>89</ID>
+
            <Code />
        </Tariff>
+
            <CodeLat />
        <Flight>
+
            <Unicode />
          <ID>523</ID>
+
            <Description />
        </Flight>
+
            <PartnersGroupID>0</PartnersGroupID>
      </service>
+
            <FullName />
      <tourDate>2010-07-02T00:00:00</tourDate>
+
            <BossName />
      <tourDuration>11</tourDuration>
+
            <Fax />
      <allowHidden>false</allowHidden>
+
            <Address />
      <allowHotelCodeChange>false</allowHotelCodeChange>
+
            <Zip />
      <checkFlightPacket>true</checkFlightPacket>
+
            <Email />
      <checkQuotes>true</checkQuotes>
+
            <Phones />
      <nMen>1</nMen>
+
          </Partner>
      <byRoom>false</byRoom>
+
          <Quota>NotChecked</Quota>
      <userKey>1</userKey>
+
          <PacketID>250</PacketID>
      <includeOriginal>true</includeOriginal>
+
          <City>
      <excludeCharterClasses />
+
            <ID>275</ID>
    </GetServiceVariants>
+
            <Name />
  </soap:Body>
+
            <NameLat />
</soap:Envelope>
+
            <Code />
</syntaxhighlight>
+
            <CodeLat />
|}
+
            <Unicode />
<br />
+
            <Description />
=====Пример SOAP-ответа сервиса=====
+
          </City>
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
+
          <Country>
 
+
            <ID>90</ID>
|- style="background-color:#F2F2F2"
+
            <Name />
|- style="vertical-align:text-top"
+
            <NameLat />
 
+
            <Code />
| <syntaxhighlight lang="xml">
+
            <CodeLat />
<?xml version="1.0" encoding="utf-8"?>
+
            <Unicode />
<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">
+
            <Description />
  <soap:Body>
+
            <IsIncoming>false</IsIncoming>
    <GetServiceVariantsResponse xmlns="http://megatec.ru/">
+
           </Country>
      <GetServiceVariantsResult>
+
           <Tourists />
        <Service xsi:type="FlightService">
+
           <DetailNetto />
          <ID>-209</ID>
+
           <DetailBrutto />
          <Name>А_П::Москва/Арльберг/P74211, DME-AL, 12:12-15:15/Y Экономический класс/</Name>
+
           <Notes />
          <ExternalID>0</ExternalID>
+
           <ServiceClass>
          <StartDate>0001-01-01T00:00:00</StartDate>
+
             <ID>3</ID>
          <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 />
 
             <Name />
 
             <NameLat />
 
             <NameLat />
Строка 972: Строка 1128:
 
             <Unicode />
 
             <Unicode />
 
             <Description />
 
             <Description />
             <PartnersGroupID>0</PartnersGroupID>
+
             <ServiceClasses>None</ServiceClasses>
            <FullName />
+
           </ServiceClass>
            <BossName />
+
           <Hotel>
            <Fax />
+
             <ID>3254</ID>
            <Address />
+
             <Name>Отель 5*+</Name>
            <Zip />
 
            <Email />
 
            <Phones />
 
          </Partner>
 
           <Quota>NotChecked</Quota>
 
           <PacketID>248</PacketID>
 
          <City>
 
             <ID>275</ID>
 
             <Name />
 
 
             <NameLat />
 
             <NameLat />
 
             <Code />
 
             <Code />
Строка 991: Строка 1138:
 
             <Unicode />
 
             <Unicode />
 
             <Description />
 
             <Description />
           </City>
+
            <City>
           <Country>
+
              <ID>3254</ID>
             <ID>90</ID>
+
              <Name>Арльберг</Name>
 +
              <NameLat />
 +
              <Code />
 +
              <CodeLat />
 +
              <Unicode />
 +
              <Description />
 +
            </City>
 +
           </Hotel>
 +
           <Room>
 +
             <ID>1112</ID>
 
             <Name />
 
             <Name />
 
             <NameLat />
 
             <NameLat />
Строка 1000: Строка 1156:
 
             <Unicode />
 
             <Unicode />
 
             <Description />
 
             <Description />
             <IsIncoming>false</IsIncoming>
+
             <RoomType>
          </Country>
+
              <ID>1</ID>
          <Tourists />
+
              <Name>Single</Name>
          <DetailNetto />
+
              <NameLat />
          <DetailBrutto />
+
              <Code>SGL</Code>
          <Notes />
+
              <CodeLat />
          <ServiceClass>
+
              <Unicode />
            <ID>1</ID>
+
              <Description />
            <Name />
+
              <PrintOrder>0</PrintOrder>
            <NameLat />
+
              <Places>
            <Code />
+
                <Main>1</Main>
            <CodeLat />
+
                <Extra>1</Extra>
            <Unicode />
+
              </Places>
            <Description />
+
             </RoomType>
            <ServiceClasses>None</ServiceClasses>
+
             <RoomCategory>
          </ServiceClass>
+
               <ID>20</ID>
          <Tariff>
+
               <Name>Standart</Name>
            <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 />
 
               <NameLat />
               <Code />
+
               <Code>STD</Code>
 
               <CodeLat />
 
               <CodeLat />
 
               <Unicode />
 
               <Unicode />
 
               <Description />
 
               <Description />
             </CityFrom>
+
              <PrintOrder>0</PrintOrder>
             <CityTo>
+
             </RoomCategory>
               <ID>275</ID>
+
             <RoomAccomodation>
               <Name />
+
               <ID>320</ID>
 +
               <Name>Взрослый</Name>
 
               <NameLat />
 
               <NameLat />
               <Code />
+
               <Code>Взр.</Code>
 
               <CodeLat />
 
               <CodeLat />
 
               <Unicode />
 
               <Unicode />
 
               <Description />
 
               <Description />
            </CityTo>
+
               <Places>
            <AirportFrom>
+
                <Main>0</Main>
               <ID>-212</ID>
+
                <Extra>0</Extra>
              <Name />
+
               </Places>
              <NameLat />
+
               <IsMain>true</IsMain>
              <Code>DME</Code>
+
               <AgeRange AgeFrom="0" AgeTo="0" />
              <CodeLat />
+
               <AgeRange2 AgeFrom="0" AgeTo="0" />
              <Unicode />
+
               <PerRoom>false</PerRoom>
               <Description />
+
            </RoomAccomodation>
            </AirportFrom>
+
          </Room>
            <AirportTo>
+
          <Pansion>
               <ID>-213</ID>
+
             <ID>2</ID>
               <Name />
+
            <Name>Полупансион</Name>
               <NameLat />
+
             <NameLat />
               <Code>AL</Code>
+
             <Code>HB</Code>
              <CodeLat />
+
             <CodeLat />
              <Unicode />
+
             <Unicode />
              <Description />
+
             <Description />
             </AirportTo>
+
           </Pansion>
            <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>
        <Service xsi:type="FlightService">
+
      </GetCalculatedServicesResult>
          <ID>-245</ID>
+
    </GetCalculatedServicesResponse>
          <Name>А_П::Москва/Арльберг/SU1875, SVO1-AL, 20:20-23:30/Y Экономический класс/</Name>
+
  </soap:Body>
          <ExternalID>0</ExternalID>
+
</soap:Envelope>
          <StartDate>0001-01-01T00:00:00</StartDate>
+
</syntaxhighlight>
          <EndDate>0001-01-01T00:00:00</EndDate>
+
|}
          <StartDay>1</StartDay>
+
<br />
          <Duration>0</Duration>
+
====Meтод получения получения информации о дополнительных услугах (GetExtraServiceInfo)====
          <Attribute>7</Attribute>
+
=====Пример SOAP-запроса к сервису=====
          <RateBrutto />
+
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
          <Brutto>0</Brutto>
+
 
          <RateNetto />
+
|- style="background-color:#F2F2F2"
          <Netto>0</Netto>
+
|- style="vertical-align:text-top"
          <NMen>1</NMen>
+
 
          <Partner>
+
| <syntaxhighlight lang="xml">
            <ID>10762</ID>
+
 
            <Name />
+
<?xml version="1.0" encoding="utf-8"?>
            <NameLat />
+
<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/">
            <Code />
+
  <soap:Body>
            <CodeLat />
+
    <GetExtraServiceInfo xmlns="http://megatec.ru/">
            <Unicode />
+
      <token>?</token>
            <Description />
+
      <priceKey>27084</priceKey>
            <PartnersGroupID>0</PartnersGroupID>
+
    </GetExtraServiceInfo>
            <FullName />
+
  </soap:Body>
            <BossName />
+
</soap:Envelope>
            <Fax />
+
</syntaxhighlight>
            <Address />
+
|}
            <Zip />
+
<br />
            <Email />
+
 
            <Phones />
+
=====Пример SOAP-ответа сервиса=====
          </Partner>
+
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
          <Quota>NotChecked</Quota>
+
 
          <PacketID>248</PacketID>
+
|- style="background-color:#F2F2F2"
          <City>
+
|- style="vertical-align:text-top"
            <ID>275</ID>
+
 
            <Name />
+
| <syntaxhighlight lang="xml">
            <NameLat />
+
<?xml version="1.0" encoding="utf-8"?>
            <Code />
+
<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/">
            <CodeLat />
+
  <soap:Body>
            <Unicode />
+
    <GetExtraServiceInfoResponse xmlns="http://megatec.ru/">
            <Description />
+
      <GetExtraServiceInfoResult>
          </City>
+
        <ExtraServiceInfo>
          <Country>
+
           <ID>76</ID>
            <ID>90</ID>
+
           <Name>Лондонский Тауэр</Name>
            <Name />
 
            <NameLat />
 
            <Code />
 
            <CodeLat />
 
            <Unicode />
 
            <Description />
 
            <IsIncoming>false</IsIncoming>
 
          </Country>
 
           <Tourists />
 
          <DetailNetto />
 
           <DetailBrutto />
 
          <Notes />
 
 
           <ServiceClass>
 
           <ServiceClass>
             <ID>1</ID>
+
             <ID>4</ID>
             <Name />
+
             <Name/>
             <NameLat />
+
             <NameLat/>
             <Code />
+
             <Code/>
             <CodeLat />
+
             <CodeLat/>
             <Unicode />
+
             <Unicode/>
             <Description />
+
             <Description/>
             <ServiceClasses>None</ServiceClasses>
+
             <ServiceClasses>None</ServiceClasses>
           </ServiceClass>
+
           </ServiceClass>
          <Tariff>
+
        <Attribute>0</Attribute>
            <ID>89</ID>
+
        <CountryKey>222</CountryKey>
            <Name>Экономический класс</Name>
+
        <CityKey>25</CityKey>
            <NameLat>Coach economy</NameLat>
+
        <IsRequired>true</IsRequired>
            <Code />
+
        <Direction>0</Direction>
            <CodeLat />
+
        <ServiceVariants>
            <Unicode />
+
      </ExtraServiceInfo>   
            <Description />
+
      <ExtraServiceInfo>
            <ServiceClassID>0</ServiceClassID>
+
        <ID>3231</ID>
            <Comment />
+
        <Name>test</Name>
            <CreateDate>0001-01-01T00:00:00</CreateDate>
+
        <ServiceClass>
          </Tariff>
+
          <ID>8</ID>
           <Flight>
+
          <Name/>
             <ID>523</ID>
+
          <NameLat/>
             <Name />
+
          <Code/>
             <NameLat />
+
          <CodeLat/>
             <Code />
+
          <Unicode/>
             <CodeLat />
+
          <Description/>
             <Unicode />
+
          <ServiceClasses>None</ServiceClasses>
             <Description />
+
        </ServiceClass>
             <CityFrom>
+
        <Attribute>0</Attribute>
               <ID>1</ID>
+
        <CountryKey>222</CountryKey>
               <Name />
+
        <CityKey>25</CityKey>
               <NameLat />
+
        <IsRequired>false</IsRequired>
               <Code />
+
        <Direction>0</Direction>
               <CodeLat />
+
        <ServiceVariants>
               <Unicode />
+
           <ExtraServiceVariant xsi:type="ExtraAddHotelService">
               <Description />
+
             <AvailableDate>2015-06-01T00:00:00</AvailableDate>
             </CityFrom>
+
             <Day>1</Day>
             <CityTo>
+
             <PartnerKey>10760</PartnerKey>
               <ID>275</ID>
+
             <PacketKey>249</PacketKey>
               <Name />
+
             <Cost>0</Cost>
               <NameLat />
+
             <IsCostForPerson>true</IsCostForPerson>
               <Code />
+
             <NMen>1</NMen>
               <CodeLat />
+
             <Description1>
               <Unicode />
+
               <ID>0</ID>
               <Description />
+
               <Name/>
             </CityTo>
+
               <NameLat/>
            <AirportFrom>
+
               <Code/>
              <ID>-248</ID>
+
               <CodeLat/>
              <Name />
+
               <Unicode/>
              <NameLat />
+
               <Description/>
              <Code>SVO1</Code>
+
             </Description1>
              <CodeLat />
+
             <Description2>
              <Unicode />
+
               <ID>3</ID>
              <Description />
+
               <Name>test,1/</Name>
            </AirportFrom>
+
               <NameLat/>
            <AirportTo>
+
               <Code/>
              <ID>-249</ID>
+
               <CodeLat/>
              <Name />
+
               <Unicode/>
              <NameLat />
+
               <Description/>
              <Code>AL</Code>
+
             </Description2>
              <CodeLat />
+
          <IsPackage>false</IsPackage>
              <Unicode />
+
          <HasDuration>false</HasDuration>
              <Description />
+
        </ExtraServiceVariant>
            </AirportTo>
+
        <ExtraServiceVariant xsi:type="ExtraAddHotelService">
            <Airline>
+
        <AvailableDate>2015-06-02T00:00:00</AvailableDate>
              <ID>-247</ID>
+
        <Day>2</Day>
              <Name />
+
        <PartnerKey>10760</PartnerKey>
              <NameLat />
+
        <PacketKey>249</PacketKey>
              <Code>SU</Code>
+
        <Cost>0</Cost>
              <CodeLat />
+
        <IsCostForPerson>true</IsCostForPerson>
              <Unicode />
+
        <NMen>1</NMen>
              <Description />
+
        <Description1>
             </Airline>
+
        <ID>0</ID>
             <Number>1875</Number>
+
        <Name/>
            <TimeFrom>1899-01-01T20:20:00</TimeFrom>
+
        <NameLat/>
            <TimeTo>1899-01-01T23:30:00</TimeTo>
+
        <Code/>
            <DateFrom>0001-01-01T00:00:00</DateFrom>
+
        <CodeLat/>
            <DateTo>0001-01-01T00:00:00</DateTo>
+
        <Unicode/>
            <IsArrival>false</IsArrival>
+
        <Description/>
            <Available>No</Available>
+
        </Description1>
          </Flight>
+
        <Description2>
        </Service>
+
          <ID>3</ID>
       </GetServiceVariantsResult>
+
          <Name>test,1/</Name>
     </GetServiceVariantsResponse>
+
          <NameLat/>
   </soap:Body>
+
          <Code/>
  </soap:Envelope>
+
          <CodeLat/>
</syntaxhighlight>
+
          <Unicode/>
|}
+
          <Description/>
<br />
+
          </Description2>
 
+
             <IsPackage>false</IsPackage>
===Работа с сервисом «ReservationService.asmx» (Бронирование)===
+
             <HasDuration>false</HasDuration>
====Метод расчета стоимости услуг (CalculateReservation)====
+
          </ExtraServiceVariant>
=====Пример SOAP-запроса к сервису=====
+
          </ServiceVariants>
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
+
        </ExtraServiceInfo>
 
+
      </GetExtraServiceInfoResult>
|- style="background-color:#F2F2F2"
+
    </GetExtraServiceInfoResponse>
|- style="vertical-align:text-top"
+
  </soap:Body>
 
+
</soap:Envelope>
| <syntaxhighlight lang="xml">
+
</syntaxhighlight>
<?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">
+
<br />
   <soap:Body>
+
 
     <CalculateReservation xmlns="http://megatec.ru/">
+
====Метод получения нерассчитанных услуг (GetNotCalculatedServices)====
       <services>
+
=====Пример SOAP-запроса к сервису=====
         <Service xsi:type="TransferService">
+
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
           <StartDay>1</StartDay>
+
 
           <Duration>0</Duration>
+
|- style="background-color:#F2F2F2"
           <Attribute>19975</Attribute>
+
|- style="vertical-align:text-top"
           <NMen>1</NMen>
+
 
           <Partner>
+
| <syntaxhighlight lang="xml">
             <ID>10760</ID>
+
<?xml version="1.0" encoding="utf-8"?>
           </Partner>
+
<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">
           <PacketID>250</PacketID>
+
  <soap:Body>
           <City>
+
    <GetNotCalculatedServices xmlns="http://megatec.ru/">
             <ID>275</ID>
+
      <token>?</token>
           </City>
+
       <priceKey>5038425</priceKey>
           <Country>
+
     </GetNotCalculatedServices>
             <ID>90</ID>
+
   </soap:Body>
           </Country>
+
  </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>
 
           <ServiceClass>
             <ID>2</ID>
+
             <ID>4</ID>
 +
            <Name />
 +
            <NameLat />
 +
            <Code />
 +
            <CodeLat />
 +
            <Unicode />
 +
            <Description />
 +
            <ServiceClasses>None</ServiceClasses>
 
           </ServiceClass>
 
           </ServiceClass>
           <Transfer>
+
           <Excursion>
             <ID>372</ID>
+
             <ID>292</ID>
           </Transfer>
+
            <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>
 
           <Transport>
             <ID>3</ID>
+
             <ID>28</ID>
          </Transport>
+
            <Name />
        </Service>
+
            <NameLat />
        <Service xsi:type="VisaService">
+
             <Code />
          <StartDay>1</StartDay>
+
             <CodeLat />
          <Duration>0</Duration>
+
             <Unicode />
          <Attribute>131</Attribute>
+
             <Description />
          <Partner>
+
           </Transport>
             <ID>10760</ID>
 
          </Partner>
 
          <PacketID>250</PacketID>
 
          <Country>
 
             <ID>90</ID>
 
          </Country>
 
          <ServiceClass>
 
             <ID>5</ID>
 
          </ServiceClass>
 
          <Visa>
 
             <ID>157</ID>
 
           </Visa>
 
 
         </Service>
 
         </Service>
        <Service xsi:type="InsuranceService">
+
      </GetNotCalculatedServicesResult>
          <StartDay>1</StartDay>
+
    </GetNotCalculatedServicesResponse>
          <Duration>11</Duration>
+
  </soap:Body>
          <Attribute>151</Attribute>
+
</soap:Envelope>
          <NMen>1</NMen>
+
</syntaxhighlight>
          <Partner>
+
|}
            <ID>10763</ID>
+
<br />
          </Partner>
+
====Метод получения вариантов услуги (GetServiceVariants)====
          <PacketID>250</PacketID>
+
=====Пример SOAP-запроса к сервису=====
          <Country>
+
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
            <ID>90</ID>
+
 
          </Country>
+
|- style="background-color:#F2F2F2"
          <ServiceClass>
+
|- style="vertical-align:text-top"
            <ID>6</ID>
+
 
          </ServiceClass>
+
| <syntaxhighlight lang="xml">
          <AddDescription1>
+
<?xml version="1.0" encoding="utf-8"?>
            <ID>6</ID>
+
<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">
          </AddDescription1>
+
  <soap:Body>
          <AddDescription2>
+
    <GetServiceVariants xmlns="http://megatec.ru/">
            <ID>0</ID>
+
      <token>?</token>
          </AddDescription2>
+
      <service xsi:type="FlightService">
          <Insurance>
+
        <StartDay>1</StartDay>
            <ID>174</ID>
+
        <Duration>0</Duration>
          </Insurance>
+
        <Attribute>7</Attribute>
        </Service>
+
        <RateBrutto>$</RateBrutto>
        <Service xsi:type="AdditionalService">
+
        <NMen>1</NMen>
          <StartDay>1</StartDay>
+
        <Partner>
          <Duration>0</Duration>
+
          <ID>10762</ID>
          <Attribute>3</Attribute>
+
        </Partner>
          <NMen>1</NMen>
+
        <PacketID>248</PacketID>
          <Partner>
+
        <City>
            <ID>10760</ID>
+
          <ID>275</ID>
          </Partner>
+
        </City>
          <Quota>NotChecked</Quota>
+
        <Country>
          <PacketID>250</PacketID>
+
          <ID>90</ID>
          <Country>
+
        </Country>
            <ID>90</ID>
+
        <ServiceClass>
          </Country>
+
          <ID>1</ID>
          <ServiceClass>
+
        </ServiceClass>
            <ID>1032</ID>
+
        <Tariff>
          </ServiceClass>
+
          <ID>89</ID>
          <Description>
+
        </Tariff>
            <ID>183</ID>
+
        <Flight>
          </Description>
+
          <ID>523</ID>
          <Description1>
+
        </Flight>
            <ID>0</ID>
+
      </service>
           </Description1>
+
      <tourDate>2010-07-02T00:00:00</tourDate>
           <Description2>
+
      <tourDuration>11</tourDuration>
            <ID>0</ID>
+
      <allowHidden>false</allowHidden>
           </Description2>
+
      <allowHotelCodeChange>false</allowHotelCodeChange>
        </Service>
+
      <checkFlightPacket>true</checkFlightPacket>
        <Service xsi:type="HotelService">
+
      <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>
 
           <StartDay>1</StartDay>
           <Duration>10</Duration>
+
           <Duration>0</Duration>
           <Attribute>390</Attribute>
+
           <Attribute>7</Attribute>
 +
          <RateBrutto>$</RateBrutto>
 +
          <Brutto>0</Brutto>
 +
          <RateNetto />
 +
          <Netto>0</Netto>
 
           <NMen>1</NMen>
 
           <NMen>1</NMen>
 
           <Partner>
 
           <Partner>
             <ID>10760</ID>
+
             <ID>10762</ID>
 +
            <Name />
 +
            <NameLat />
 +
            <Code />
 +
            <CodeLat />
 +
            <Unicode />
 +
            <Description />
 +
            <PartnersGroupID>0</PartnersGroupID>
 +
            <FullName />
 +
            <BossName />
 +
            <Fax />
 +
            <Address />
 +
            <Zip />
 +
            <Email />
 +
            <Phones />
 
           </Partner>
 
           </Partner>
 
           <Quota>NotChecked</Quota>
 
           <Quota>NotChecked</Quota>
           <PacketID>250</PacketID>
+
           <PacketID>248</PacketID>
 
           <City>
 
           <City>
 
             <ID>275</ID>
 
             <ID>275</ID>
 +
            <Name />
 +
            <NameLat />
 +
            <Code />
 +
            <CodeLat />
 +
            <Unicode />
 +
            <Description />
 
           </City>
 
           </City>
 
           <Country>
 
           <Country>
 
             <ID>90</ID>
 
             <ID>90</ID>
 +
            <Name />
 +
            <NameLat />
 +
            <Code />
 +
            <CodeLat />
 +
            <Unicode />
 +
            <Description />
 +
            <IsIncoming>false</IsIncoming>
 
           </Country>
 
           </Country>
 +
          <Tourists />
 +
          <DetailNetto />
 +
          <DetailBrutto />
 +
          <Notes />
 
           <ServiceClass>
 
           <ServiceClass>
             <ID>3</ID>
+
             <ID>1</ID>
 +
            <Name />
 +
            <NameLat />
 +
            <Code />
 +
            <CodeLat />
 +
            <Unicode />
 +
            <Description />
 +
            <ServiceClasses>None</ServiceClasses>
 
           </ServiceClass>
 
           </ServiceClass>
           <Hotel>
+
           <Tariff>
             <ID>3254</ID>
+
             <ID>89</ID>
           </Hotel>
+
            <Name>Экономический класс</Name>
           <Room>
+
            <NameLat>Coach economy</NameLat>
             <ID>1112</ID>
+
            <Code />
             <RoomType>
+
            <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>
 
               <ID>1</ID>
            </RoomType>
+
              <Name />
            <RoomCategory>
+
              <NameLat />
               <ID>20</ID>
+
              <Code />
             </RoomCategory>
+
              <CodeLat />
             <RoomAccomodation>
+
               <Unicode />
               <ID>320</ID>
+
              <Description />
            </RoomAccomodation>
+
             </CityFrom>
          </Room>
+
             <CityTo>
          <Pansion>
+
               <ID>275</ID>
            <ID>2</ID>
+
              <Name />
          </Pansion>
+
              <NameLat />
        </Service>
+
              <Code />
        <Service xsi:type="TransferService">
+
              <CodeLat />
          <StartDay>8</StartDay>
+
              <Unicode />
          <Duration>0</Duration>
+
              <Description />
          <Attribute>19975</Attribute>
+
            </CityTo>
          <NMen>1</NMen>
+
            <AirportFrom>
          <Partner>
+
              <ID>-212</ID>
             <ID>10760</ID>
+
              <Name />
          </Partner>
+
              <NameLat />
          <PacketID>250</PacketID>
+
              <Code>DME</Code>
          <City>
+
              <CodeLat />
             <ID>275</ID>
+
              <Unicode />
          </City>
+
              <Description />
          <Country>
+
            </AirportFrom>
            <ID>90</ID>
+
             <AirportTo>
          </Country>
+
              <ID>-213</ID>
          <ServiceClass>
+
              <Name />
             <ID>2</ID>
+
              <NameLat />
          </ServiceClass>
+
              <Code>AL</Code>
          <Transfer>
+
              <CodeLat />
             <ID>373</ID>
+
              <Unicode />
          </Transfer>
+
              <Description />
          <Transport>
+
            </AirportTo>
             <ID>3</ID>
+
             <Airline>
           </Transport>
+
              <ID>-211</ID>
         </Service>
+
              <Name />
         <Service xsi:type="FlightService">
+
              <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>
 
           <StartDay>1</StartDay>
 
           <Duration>0</Duration>
 
           <Duration>0</Duration>
           <NMen>2</NMen>
+
          <Attribute>7</Attribute>
 +
          <RateBrutto />
 +
          <Brutto>0</Brutto>
 +
          <RateNetto />
 +
          <Netto>0</Netto>
 +
           <NMen>1</NMen>
 
           <Partner>
 
           <Partner>
             <ID>27990</ID>
+
             <ID>10762</ID>
          </Partner>
+
            <Name />
          <PacketID>19443</PacketID>
+
            <NameLat />
          <ServiceClass>
+
            <Code />
             <ID>1</ID>
+
            <CodeLat />
          </ServiceClass>
+
            <Unicode />
           <Tariff>
+
            <Description />
            <ID>226</ID>
+
            <PartnersGroupID>0</PartnersGroupID>
           </Tariff>
+
            <FullName />
           <Flight>
+
            <BossName />
             <ID>17234</ID>
+
            <Fax />
             <CityFrom>
+
            <Address />
              <ID>30</ID>
+
             <Zip />
             </CityFrom>
+
            <Email />
             <CityTo>
+
            <Phones />
              <ID>65</ID>
+
           </Partner>
             </CityTo>
+
          <Quota>NotChecked</Quota>
          </Flight>
+
           <PacketID>248</PacketID>
        </Service>
+
           <City>
        <Service xsi:type="FlightService">
+
             <ID>275</ID>
          <StartDay>8</StartDay>
+
             <Name />
          <Duration>0</Duration>
+
            <NameLat />
           <Attribute>0</Attribute>
+
            <Code />
           <NMen>2</NMen>
+
            <CodeLat />
           <Partner>
+
             <Unicode />
             <ID>27990</ID>
+
             <Description />
          </Partner>
+
          </City>
          <PacketID>18920</PacketID>
+
          <Country>
          <ServiceClass>
+
            <ID>90</ID>
             <ID>1</ID>
+
             <Name />
           </ServiceClass>
+
            <NameLat />
           <Tariff>
+
            <Code />
             <ID>226</ID>
+
            <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>
 
           </Tariff>
 
           <Flight>
 
           <Flight>
             <ID>17235</ID>
+
             <ID>523</ID>
             <CityFrom>
+
            <Name />
               <ID>65</ID>
+
            <NameLat />
 +
            <Code />
 +
            <CodeLat />
 +
            <Unicode />
 +
            <Description />
 +
             <CityFrom>
 +
               <ID>1</ID>
 +
              <Name />
 +
              <NameLat />
 +
              <Code />
 +
              <CodeLat />
 +
              <Unicode />
 +
              <Description />
 
             </CityFrom>
 
             </CityFrom>
 
             <CityTo>
 
             <CityTo>
               <ID>30</ID>
+
               <ID>275</ID>
 +
              <Name />
 +
              <NameLat />
 +
              <Code />
 +
              <CodeLat />
 +
              <Unicode />
 +
              <Description />
 
             </CityTo>
 
             </CityTo>
          </Flight>
+
            <AirportFrom>
        </Service>
+
              <ID>-248</ID>
      </services>
+
              <Name />
      <parameters>
+
              <NameLat />
        <AdvertiseID>-1</AdvertiseID>
+
              <Code>SVO1</Code>
        <CauseDiscountID>-1</CauseDiscountID>
+
              <CodeLat />
        <CountryID>90</CountryID>
+
              <Unicode />
        <DupUserID>-1</DupUserID>
+
              <Description />
        <OperatorName />
+
            </AirportFrom>
        <OwnerID>-1</OwnerID>
+
            <AirportTo>
        <PartnerID>10764</PartnerID>
+
              <ID>-249</ID>
        <RateCode />
+
              <Name />
        <ReserveDuration>-1</ReserveDuration>
+
              <NameLat />
        <TourDate>2010-07-02T00:00:00</TourDate>
+
              <Code>AL</Code>
        <TourID>542</TourID>
+
              <CodeLat />
        <TouristsCount>1</TouristsCount>
+
              <Unicode />
       </parameters>
+
              <Description />
     </CalculateReservation>
+
            </AirportTo>
   </soap:Body>
+
            <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>
 
  </soap:Envelope>
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
 
<br />
 
<br />
=====Пример SOAP-ответа сервиса=====
+
 
 +
===Работа с сервисом «ReservationService.asmx» (Бронирование)===
 +
====Метод расчета стоимости услуг (CalculateReservation)====
 +
=====Пример SOAP-запроса к сервису=====
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
  
Строка 1489: Строка 1854:
 
  <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: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>
 
   <soap:Body>
     <CalculateReservationResponse xmlns="http://megatec.ru/">
+
     <CalculateReservation xmlns="http://megatec.ru/">
       <CalculateReservationResult>
+
       <token>?</token>
        <Brutto>1646</Brutto>
+
       <services>
        <DiscountPercent>10</DiscountPercent>
+
         <Service xsi:type="TransferService">
        <DiscountSumm>172</DiscountSumm>
+
           <StartDay>1</StartDay>
        <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>
 
    <CalculateReservation xmlns="http://megatec.ru/">
 
       <services>
 
         <Service xsi:type="TransferService">
 
           <StartDay>1</StartDay>
 
 
           <Duration>0</Duration>
 
           <Duration>0</Duration>
 
           <Attribute>19975</Attribute>
 
           <Attribute>19975</Attribute>
Строка 1532: Строка 1872:
 
             <ID>90</ID>
 
             <ID>90</ID>
 
           </Country>
 
           </Country>
          <Tourists>
 
            <Tourist>
 
              <ID>0</ID>
 
            </Tourist>
 
          </Tourists>
 
 
           <ServiceClass>
 
           <ServiceClass>
 
             <ID>2</ID>
 
             <ID>2</ID>
Строка 1558: Строка 1893:
 
             <ID>90</ID>
 
             <ID>90</ID>
 
           </Country>
 
           </Country>
          <Tourists>
 
            <Tourist>
 
              <ID>0</ID>
 
            </Tourist>
 
          </Tourists>
 
 
           <ServiceClass>
 
           <ServiceClass>
 
             <ID>5</ID>
 
             <ID>5</ID>
Строка 1582: Строка 1912:
 
             <ID>90</ID>
 
             <ID>90</ID>
 
           </Country>
 
           </Country>
          <Tourists>
 
            <Tourist>
 
              <ID>0</ID>
 
            </Tourist>
 
          </Tourists>
 
 
           <ServiceClass>
 
           <ServiceClass>
 
             <ID>6</ID>
 
             <ID>6</ID>
Строка 1613: Строка 1938:
 
             <ID>90</ID>
 
             <ID>90</ID>
 
           </Country>
 
           </Country>
          <Tourists>
 
            <Tourist>
 
              <ID>0</ID>
 
            </Tourist>
 
          </Tourists>
 
 
           <ServiceClass>
 
           <ServiceClass>
 
             <ID>1032</ID>
 
             <ID>1032</ID>
Строка 1647: Строка 1967:
 
             <ID>90</ID>
 
             <ID>90</ID>
 
           </Country>
 
           </Country>
          <Tourists>
 
            <Tourist>
 
              <ID>0</ID>
 
            </Tourist>
 
          </Tourists>
 
 
           <ServiceClass>
 
           <ServiceClass>
 
             <ID>3</ID>
 
             <ID>3</ID>
Строка 1689: Строка 2004:
 
             <ID>90</ID>
 
             <ID>90</ID>
 
           </Country>
 
           </Country>
          <Tourists>
 
            <Tourist>
 
              <ID>0</ID>
 
            </Tourist>
 
          </Tourists>
 
 
           <ServiceClass>
 
           <ServiceClass>
 
             <ID>2</ID>
 
             <ID>2</ID>
Строка 1712: Строка 2022:
 
           </Partner>
 
           </Partner>
 
           <PacketID>19443</PacketID>
 
           <PacketID>19443</PacketID>
          <Tourists>
 
            <Tourist>
 
              <ID>0</ID>
 
            </Tourist>
 
          </Tourists>
 
 
           <ServiceClass>
 
           <ServiceClass>
 
             <ID>1</ID>
 
             <ID>1</ID>
Строка 1742: Строка 2047:
 
           </Partner>
 
           </Partner>
 
           <PacketID>18920</PacketID>
 
           <PacketID>18920</PacketID>
          <Tourists>
+
           <ServiceClass>
            <Tourist>
 
              <ID>0</ID>
 
            </Tourist>
 
          </Tourists>
 
           <ServiceClass>
 
 
             <ID>1</ID>
 
             <ID>1</ID>
 
           </ServiceClass>
 
           </ServiceClass>
Строка 1764: Строка 2064:
 
         </Service>
 
         </Service>
 
       </services>
 
       </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>
 
          <LocalPassport IssuedBy="" Series="" Number="" IssueDate="0001-01-01T00:00:00" EndDate="0001-01-01T00:00:00" />
 
          <ForeignPassport IssuedBy="" Series="1234" Number="234567" IssueDate="0001-01-01T00:00:00" EndDate="2020-06-05T00:00:00" />
 
        </Tourist>
 
      </tourists>
 
 
       <parameters>
 
       <parameters>
 
         <AdvertiseID>-1</AdvertiseID>
 
         <AdvertiseID>-1</AdvertiseID>
Строка 1794: Строка 2077:
 
         <TourID>542</TourID>
 
         <TourID>542</TourID>
 
         <TouristsCount>1</TouristsCount>
 
         <TouristsCount>1</TouristsCount>
       </parameters>   </CalculateReservation>
+
       </parameters>
 +
    </CalculateReservation>
 
   </soap:Body>
 
   </soap:Body>
 
  </soap:Envelope>
 
  </soap:Envelope>
Строка 1800: Строка 2084:
 
|}
 
|}
 
<br />
 
<br />
 +
 
=====Пример SOAP-ответа сервиса=====
 
=====Пример SOAP-ответа сервиса=====
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
Строка 1810: Строка 2095:
 
  <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: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>
 
   <soap:Body>
     <CreateReservationResponse xmlns="http://megatec.ru/">
+
     <CalculateReservationResponse xmlns="http://megatec.ru/">
       <CreateReservationResult>
+
       <CalculateReservationResult>
 
         <Brutto>1646</Brutto>
 
         <Brutto>1646</Brutto>
 
         <DiscountPercent>10</DiscountPercent>
 
         <DiscountPercent>10</DiscountPercent>
 
         <DiscountSumm>172</DiscountSumm>
 
         <DiscountSumm>172</DiscountSumm>
 
         <Rate>$</Rate>
 
         <Rate>$</Rate>
         <ReservationCode>AT 0702007</ReservationCode>
+
         <ReservationCode />
 
         <ErrorMessage />
 
         <ErrorMessage />
       </CreateReservationResult>
+
       </CalculateReservationResult>
     </CreateReservationResponse>
+
     </CalculateReservationResponse>
 
   </soap:Body>
 
   </soap:Body>
 
  </soap:Envelope>
 
  </soap:Envelope>
Строка 1825: Строка 2110:
 
|}
 
|}
 
<br />
 
<br />
====Метод получения данных по путевке (GetDogovorInfo)====
+
====Метод бронирования услуг (CreateReservation)====
 
=====Пример SOAP-запроса к сервису=====
 
=====Пример SOAP-запроса к сервису=====
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
Строка 1831: Строка 2116:
 
|- style="background-color:#F2F2F2"
 
|- style="background-color:#F2F2F2"
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
 
+
 
| <syntaxhighlight lang="xml">
+
| <syntaxhighlight lang="xml">
<?xml version="1.0" encoding="utf-8"?>
+
<?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://megatec.ru/">
+
<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:Header/>
+
  <soap:Body>
   <soap:Body>
+
    <CreateReservation xmlns="http://megatec.ru/">
       <GetDogovorInfo xmlns="http://megatec.ru/">
+
      <token>?</token>
         <token>?</token>
+
      <services>
         <reservationCode>EN40228001</reservationCode>
+
        <Service xsi:type="TransferService">
       </GetDogovorInfo>
+
          <StartDay>1</StartDay>
   </soap:Body>
+
          <Duration>0</Duration>
  </soap:Envelope>
+
          <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>
 
</syntaxhighlight>
 
|}
 
|}
 
<br />
 
<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>EN40228001</Code>
 
            <TurDate>2014-02-28T00:00:00</TurDate>
 
            <Price>225</Price>
 
            <Discount>0</Discount>
 
            <DiscountSum>0</DiscountSum>
 
            <DogovorStatus>3</DogovorStatus>
 
            <Nmen>1</Nmen>
 
            <Ndays>4</Ndays>
 
            <CountryName>Англия</CountryName>
 
            <CityName>Лондон</CityName>
 
            <RateCode>USD</RateCode>
 
            <ReservationServices>
 
              <Service>
 
                  <ID>-1</ID>
 
                  <Name>HOTEL::Лондон/Отель в Лондоне-1*,3 ночи/Single(Standart),Взрослый/FB Пансион/</Name>
 
                  <ExternalID>0</ExternalID>
 
                  <StartDate>2014-02-28T00:00:00</StartDate>
 
                  <EndDate>2014-03-02T00:00:00</EndDate>
 
                  <StartDay>1</StartDay>
 
                  <Duration>3</Duration>
 
                  <Attribute>0</Attribute>
 
                  <RateBrutto/>
 
                  <Brutto>225</Brutto>
 
                  <RateNetto/>
 
                  <Netto>225</Netto>
 
                  <NMen>1</NMen>
 
                  <Status>
 
                    <ID>1</ID>
 
                    <Name>Заказ на бронирование</Name>
 
                    <NameLat>order for booking</NameLat>
 
                    <Code/>
 
                    <CodeLat/>
 
                    <Unicode/>
 
                    <Description/>
 
                  </Status>
 
                  <Quota>NotChecked</Quota>
 
                  <PacketID>0</PacketID>
 
                  <Tourists/>
 
                  <DetailNetto/>
 
                  <DetailBrutto/>
 
                  <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>
 
              </Service>
 
            </ReservationServices>
 
            <ReservationTourists>
 
              <Tourist Sex="Male" BirthDate="0001-01-01T00:00:00" AgeType="Adult" Citizen="" IsMain="true" ExternalID="0">
 
                  <ID>-2</ID>
 
                  <Name>
 
                    <FirstName>Джек</FirstName>
 
                    <LastName>Лондон</LastName>
 
                  </Name>
 
                  <NameLat>
 
                    <FirstName>Dzhek</FirstName>
 
                    <LastName>London</LastName>
 
                  </NameLat>
 
                  <LocalPassport IssuedBy="" Series="" Number="" IssueDate="2014-03-06T00:00:00+04:00" EndDate="2014-03-06T00:00:00+04:00"/>
 
                  <ForeignPassport IssuedBy="" Series="" Number="" IssueDate="2014-03-06T00:00:00+04:00" EndDate="0001-01-01T00:00:00"/>
 
              </Tourist>
 
            </ReservationTourists>
 
            <DogovorGlobalStatus>3</DogovorGlobalStatus>
 
        </GetDogovorInfoResult>
 
      </GetDogovorInfoResponse>
 
  </soap:Body>
 
</soap:Envelope>
 
  
</syntaxhighlight>
 
|}
 
<br />
 
 
====Метод получения информации по путевке (GetReservationInfo)====
 
====Метод получения информации по путевке (GetReservationInfo)====
 
=====Пример SOAP-запроса к сервису=====
 
=====Пример SOAP-запроса к сервису=====
Строка 2041: Строка 2985:
 
Метод ничего не возвращает.
 
Метод ничего не возвращает.
  
[[Category:Мастер-Web_Дополнительные_модули]]
+
[[Category:Web-сервисы]]

Текущая версия на 12:44, 24 мая 2018

Версия статьи от 24-05-2018.

Более ранние версии:
До версии ПК «Мастер-Web» 2009.2.20.20 включительно


Содержание

Введение

Данный модуль включает в себя два сервиса.

Сервис формирования списка услуг предназначен для получения следующей информации:

  • Общие данные по ключу цены, такие как тур, продолжительности в днях и ночах, описание тура и условия бронирования;
  • Список услуг, включенных в стоимость, по ключу цены;
  • Список не рассчитанных услуг по ключу цены;
  • Список вариантов какой-либо услуги.

Сервис бронирования предназначен для расчета стоимости совокупности услуг, с возможностью их последующего бронирования в базе данных.

Ссылка на тестовый сервис

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

Установка

Создание виртуального каталога

По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
1 Зайти в Пуск (Start) → Настройки (Settings) → Панель управления (Control Panel) → Администрирование (Administrative Tools)

Панель управления

2 Диспетчер служб IIS
Администрирование - Диспетчер служб 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 Определение приоритета проставления ведущего менеджера по путевке.
  • partner — ведущий менеджер по партнеру;
  • filial — ведущий менеджер по филиалу (при включенной настройке «useFilialChoice»);
  • tour или пустое значение или отсутствие настройки — ведущий менеджер по туру.
<add key="managerPriority" value="partner" />
3 Задание статуса заявки в ПК «Мастер-Тур», забронированной через систему бронирования ПК «Мастер-Web».
  • web — статус Web-турагент;
  • wait — статус Wait-лист;
  • отсутствие параметра или пустое значениестандартный статус в ПК «Мастер-Тур».

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

<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 Настройка указывает на то, что в справочнике «Типы номеров» в колонке Число основных мест указано общее количество взрослых и детей. Дополнительно должно быть прописано и количество детей в соответствующей колонке.

При включенной настройке в случае, если сумма основных и дополнительных мест в справочнике «Типы размещений» превышает значение в колонке число основных мест, бронирование невозможно.

  • true — в колонке число основных мест указано общее количество взрослых и детей (сумма основных и дополнительных мест в размещении не должна превышать значение в колонке число основных мест в номерах);
  • false или отсутствие настройки — количество взрослых и детей не суммируется (проверка не производится).
<add key="combinedPlaces" value="true" />
9 Настройка, включающая проверку прав текущего пользователя на получение доступа к путевке.
  • true — включена проверка;
  • false или отсутствие настройки — проверка отключена.
<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-ответа сервиса

Метод ничего не возвращает.