Megatec Integration Service:Настройка автоматического обмена

Материал из Megatec
Перейти к: навигация, поиск

Версия статьи от 11-11-2014.

Введение

Дополнительный модуль «Master-Tour Integration» предусматривает автоматическую загрузку справочников, цен, квот, наличия мест и т.д. С последующим автоимпортом всего выше перечисленного в ПК «Мастер-Тур». Для реализации этого служат программы:

  • Автоматическая загрузка справочников, цен, квот, наличия мест в промежуточную базу - Megatec.MasterTour.AdapterPluginsServices.HotelPriceDataLoader.exe.
  • Автоматический импорт цен - Megatec.MasterTour.AdapterPluginsServices.AutoImport.HotelPrice.exe.
  • Автоматический импорт квот, наличия мест - Megatec.MasterTour.AdapterPluginsServices.AutoImport.HotelQuota.exe.
  • Автоматическое бронирование - Megatec.MasterTour.AdapterPluginsServices.AutoImport.AgreementsReservation.exe.

Для запуска любой программы необходимо указать файл адаптера, с которыми она будет работать. Просто запустив приложение, будет выведен на экран список предложенных адаптеров, каждый из которых выполняет свою функцию. Также будет отображен синтаксис параметра с аргументом для последующего запуска сразу программы с определенным адаптером прописанным вами:

  • adapter:”Название_файла_выбранного_адаптера”

Настройка конфигурационного файла

Список обозначений
ServerMT – Название сервера на котором находиться база данных ПК «Мастер-Тур».
DatebaseMT – Название базы данных ПК «Мастер-Тур».
idDB – Логин пользователя для базы данных.
PasswordDB – Пароль пользователя для базы данных.

Для файла: Megatec.MasterTour.AdapterPlugins.AdapterCommon.dll.config

Необходимо прописать подключение к базе данных ПК «Мастер-Тур».

Раздел Настройка
<connectionStrings>
</connectionStrings>

<add name="Mastertour" connectionString="Data Source=ServerMT; Initial Catalog=DatebaseMT; User Id=idDB;Password=PasswordDB;Trusted_Connection=no;Application Name=Master" />



Схема совмещения параметров

TERMA

Вспомогательные параметры
"direction:" - Названия направлений через ';'. Например: "direction:Египет;Кипр" Если параметр не указан, то загрузка производится по всем направлениям
Методы "dict" - Загрузить справочные данные Совместим
"update_dict" - Загрузить последние обновления по справочным данным Совместим
"prices" - Загрузить цены по всем SPO Совместим
"quotas_days" - Загрузить наличие мест по всем отелям. По умолчанию период равен

31 дню начиная с текущего "quotas_days:31"

Совместим

VERSA

Вспомогательные параметры
"direction:" - Названия направлений через ';'. Например: "direction:Египет;Кипр" Если параметр не указан, то загрузка производится по всем направлениям
Методы "dict" - Загрузить справочные данные Совместим
"accomodations" - Загрузить справочник размещений Совместим
"categories" - Загрузить справочник категорий номеров Совместим
"cities" - Загрузить справочник городов Совместим
"countries" - Загрузить справочник стран Совместим
"currencies" - Загрузить справочник валют Совместим
"hotels" - Загрузить справочник отелей Совместим
"meals" - Загрузить справочник питаний Совместим
"resorts" - Загрузить справочник регионов Совместим
"rooms" - Загрузить справочник типов комнат Совместим
"prices_quotas" - Загрузить цены и квоты Совместим

ProTour

Вспомогательные параметры
"direction:" - Названия направлений через ';'. Например: "direction:Египет;Кипр" Если параметр не указан, то загрузка производится по всем направлениям "partner:" - Коды партнеров через ';'. Например: "partner:EastPartner;SouthPartn

er" Если параметр не указан, то загрузка производится по всем партнерам

"hotel:" - Коды отелей через ';'. Например: "hotel:EastHotel;SouthHotel" Если параметр не указан, то загрузка производится по всем отелям "quotas_start_id" - 'Код квоты с' для параметра 'Загрузить квоты и стопы за день'. По умолчанию "quotas_start_id:0" "quotas_end_id" - 'Код квоты по' для параметра 'Загрузить квоты и стопы за день'. По умолчанию "quotas_end_id:999999" "timezone" - Поправка часовых поясов для метода загрузки квот в интервале времени (quotasfordayV2). По умолчанию используется текущее время. Чтобы задать разниц

у во времени на час вперед "timezone:Совместим1"

Методы "dict" - Загрузить справочные данные Совместим Не совместим Не совместим Не совместим Не совместим Не совместим
"base_prices_period" - Загрузить базовые цены. По умолчанию период равен 12 меся

цам начиная с текущего дня "base_prices_period:12"

Совместим Совместим Совместим Не совместим Не совместим Не совместим
"new_prices_period" - Загрузить цены за период(новый метод GetPricesPeriod). По

умолчанию период равен 12 месяцам начиная с текущего дня "new_prices_period:12"

Совместим Совместим Совместим Не совместим Не совместим Не совместим
"delete_prices_period" - Загрузить удаленные цены. По умолчанию период равен 31 дню, начиная с текущего дня "delete_prices_period:31" Совместим Совместим Не совместим Не совместим Не совместим Не совместим
"update_prices_period" - Загрузить обновления цен. По умолчанию период равен 1 дню, начиная с текущего "update_prices_period:1" Совместим Совместим Совместим Не совместим Не совместим Не совместим
"base_quotas_period" - Загрузить квоты и стопы. По умолчанию период равен 31 дню

, начиная с текущего "base_quotas_period:31"

Совместим Совместим Совместим Не совместим Не совместим Не совместим
"quotasforday" - Загрузить квоты и стопы за один день. Например за вчерашний ден

ь: "quotasforday:-1". По умолчанию сегодняшняя дата

Совместим Совместим Не совместим Не совместим Совместим Совместим
"quotasfordayV2" - Загрузить квоты за текущий день в интервале времени (в минутах). Например за последние 30 минут: "quotasfordayV2:-30" Совместим Совместим Совместим Не совместим Не совместим Совместим

Sejour

Вспомогательные параметры
"direction:" - Названия направлений через ';'. Например: "direction:Египет;Кипр" Если параметр не указан, то загрузка производится по всем направлениям " priceNights:" - Количество ночей. Указывается при загрузке цен. Если параметр н

е указан, то загрузка цен будет производиться с параметром "priceNights:180"

" priceAdult:" - Количество взрослых. Указывается при загрузке цен. Если параметр не указан, то загрузка цен будет произведена для всех взрослых " priceChild" - Количество детей. Указывается при загрузке цен. Если параметр не указан, то загрузка цен будет произведена для всех детей
Методы "dict" - Загрузить все справочные данные Совместим Не совместим Не совместим Не совместим
"hotels" - Загрузить справочник отелей и городов. Совместим Не совместим Не совместим Не совместим
"rates" - Загрузить справочник валют. Совместим Не совместим Не совместим Не совместим
"roomtypes" - Загрузить справочник типов номеров. Совместим Не совместим Не совместим Не совместим
"rooms" - Загрузить справочник категорий номеров и размещений. Совместим Не совместим Не совместим Не совместим
"pansions" - Загрузить справочник питаний. Совместим Не совместим Не совместим Не совместим
"transfers" - Загрузить справочник транспортов (трансферов). Совместим Не совместим Не совместим Не совместим
"spos" - Загрузить справочник Spo. Совместим Не совместим Не совместим Не совместим
"prices" - Загрузить цены. Цены загружаются от текущего дня Совместим Совместим Совместим Совместим
"changedPrices" - Загрузить измененные цены. Цены загружаются от текущего дня Совместим Совместим Совместим Совместим

Eurotours

Вспомогательные параметры
"direction:" - Названия направлений через ';'. Например: "direction:Египет;Кипр" Если параметр не указан, то загрузка производится по всем направлениям "arrivalDate:" - Дата c (иcпользуется для загрузки справочников отелей, питаний

и валют). Например: "arrivalDate:01.01.2014". По умолчанию используется сегодняш ний день

"duration:" - Продолжительность (иcпользуется для загрузки справочников отелей,

питаний и валют). Например: "duration:7". По умолчанию используется значение 7

"location:" - Код города (LocationCode) через ';' или ',' (иcпользуется для загр

узки справочников отелей, питаний и валют). Например: "location:Innsbruck". По у молчанию данные загружаются по всем городам

"priceDate:" - Дата c (иcпользуется для загрузки цен). Например: "priceDate:01.0

1.2014". По умолчанию используется сегодняшний день

"serviceType:" - Комната или апартаменты (иcпользуется для загрузки цен). По умо

лчанию используется значение ZIMMER(=room). Если цена не за комнату, то использу йте "serviceType:APPART".

"hotel:" - Код отеля (ObjectCode) через ';' или ',' (иcпользуется для загрузки ц

ен). Например: "hotel:CONGRESS INNS". По умолчанию отель:CONGRESS INNS

Методы "dict" - Загрузить все справочные данные Совместим Не совместим Не совместим Не совместим Не совместим Не совместим Не совместим
"cities" - Загрузить справочник городов. Совместим Не совместим Не совместим Не совместим Не совместим Не совместим Не совместим
"countries" - Загрузить справочник стран. Совместим Не совместим Не совместим Не совместим Не совместим Не совместим Не совместим
"hotelCategories" - Загрузить справочник звездностей отелей. Совместим Не совместим Не совместим Не совместим Не совместим Не совместим Не совместим
"languages" - Загрузить справочник языков. Совместим Не совместим Не совместим Не совместим Не совместим Не совместим Не совместим
"rooms" - Загрузить справочник номеров. Совместим Не совместим Не совместим Не совместим Не совместим Не совместим Не совместим
"searchObjects" - Загрузить справочников отелей, питаний и валют. Совместим Совместим Совместим Совместим Не совместим Не совместим Не совместим
"prices" - Загрузить цены. Совместим Не совместим Не совместим Не совместим Совместим Совместим Совместим
"quotas" - Загрузить наличия мест. Совместим Не совместим Не совместим Не совместим Не совместим Не совместим Не совместим


Практически все автоимпорты имеют только один параметр, это название адаптера для которого запускать данную функцию, то есть адаптер цен Terma или Protour и т.д. Автозагрузчики имеют всегда несколько параметров, главный из них это адаптер, а последующие параметры, это индивидуальные параметры именно данного адаптера.

Пример

Автоимпорт цен на примере адаптера TEST:

  • adapter:”Megatec.MasterTour.AdapterPlugins.Import.TEST.HotelPrice.dll”

Автоматическая загрузка справочников на примере TEST:

  • adapter:”Megatec.MasterTour.AdapterPlugins.Import.TEST.HotelPrice.dll" "dict" "partner:TEST RUSSIA" "direction:Egipet"

С помощью планировщика заданий Windows можно запланировать запуск данных программ в определенное время с определенными условиями. На системе Windows 7 для вызова планировщика откройте меню Пуск -> Все программы -> Стандартные -> Служебные -> Планировщик заданий. Прежде чем приступать к настройке в обязательном порядке ознакомьтесь со справкой по работе с планировщиком windows.

Создание задачи

В окне «Планировщик заданий» в пункте меню «Действие» выбрать подпункт «Создать задачу». В окне «Создание задачи» введите название новой задачи и ее описание. Если нужно запускать программу с повышенными правами администратора, то активируйте функцию «Выполнить с наивысшими правами».
планировщик заданий Windows


Переключитесь на вкладку «Триггеры», нажмите кнопку «Создать» и назначьте дату, время и частоту выполнения задачи. Чтобы установить дату, когда выполнение задачи по расписанию будет прекращено, активируйте функцию «Срок действия» и укажите дату и время.
планировщик заданий Windows


Перейдите на вкладку «Действия» и нажмите кнопку «Создать». В раскрывающемся списке «Действие» выберите «Запуск программы» и с помощью кнопки «Обзор» укажите местоположение исполняемого файла, который находиться в папке с ПК «Мастер-Тур».

В поле «рабочая папка» обязательно указать путь местоположения ПК «Мастер-Тур».
планировщик заданий Windows


В поле «добавить аргументы» необходимо указать необходимые параметры с аргументами через пробел на основе примера синтаксиса в разделе Список примеров, не учитывая физический путь.


Перейдите на вкладку «Условия» и укажите условия выполнения задачи.
планировщик заданий Windows


Также можно задать дополнительные параметры выполнения задачи на вкладке «Параметры».
планировщик заданий Windows


После завершения всех этих действий, нажмите «OK», чтобы создать задачу.

Корректировка задачи

Чтобы изменить созданное задание, откройте «Планировщик заданий», выделите задачу в списке, в правом меню «Действия» выберите «Свойства», отредактируйте нужные параметры и нажмите «OK». Чтобы удалить запланированное задание, откройте «Планировщик заданий», выделите задачу в списке, в правом меню «Действия» выберите «Удалить» и подтвердите свои намерения.

Автоматический режим плагина импорта цен за новогодние ужины ProTour

Введение

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

Установка модуля

В ПК «Мастер-Тур» версии 2009.2.20 и выше автозагрузчик устанавливается копированием следующих файлов в папку с «Мастер-Тур» и прописыванием в конфигурационный файл адрес сервиса - ImportService из файла Master32.exe.config:
Megatec.MasterTour.AdapterServices.AutoImport.ProTour.GalaDinners.exe
Megatec.MasterTour.AdapterServices.AutoImport.ProTour.GalaDinners.exe.config

Настройка конфигурационного файла

Прежде чем запускать автоматическую загрузку надо настроить раздел appSettings файла:
Megatec.MasterTour.AdapterServices.AutoImport.ProTour.GalaDinners.exe.config

Список обозначений
  • Логин – Логин для направления
  • Пароль –Пароль для направления.
  • Ссылка – Ссылка на веб сервис из которого будет производиться загрузка
  • Partner – Код партнера из внешнего сервиса.
  • PartnerMT – Код партнера из «Мастер-Тур».
  • CodeSpecialPacket – Код пакета для обязательных ужинов из «Мастер-Тур».
  • CodeNotSpecialPacket – Код пакета для необязательных ужинов из «Мастер-Тур».
  • ServerMT – Название сервера, на котором находиться база данных ПК «Мастер-Тур».
  • DatebaseMT – Название базы данных ПК «Мастер-Тур».
  • idDB – Логин пользователя для базы данных.
  • PasswordDB – Пароль пользователя для базы данных.


<appSettings>
    <add key="Login" value="Логин"/>
    <add key="Password" value="Пароль"/>
    <add key="Url" value="Ссылка"/>
    <add key="PartnerCode" value="Partner"/>
    <add key="PartnerKey" value="PartnerMT"/>
    <add key="SpecialPacketKey" value="CodeSpecialPacket"/>
    <add key="NotSpecialPacketKey" value="CodeNotSpecialPacket"/>
    <add key="connectionString" value="Data Source=ServerMT; Initial Catalog=DatebaseMT; User Id= idDB; Password=PasswordDB;Application Name=Anton" />
</appSettings>