Техническая документация Shelter

 

Channel Manager (GDS)

Настройка интерфейса связи с Wubook

 

 

 

 

 

 

 

 

ShelterWubookServer

 

 

ВНИМАНИЕ!!! Примерно с 01.09.19 произошли изменения протокола со стороны WuBook. Максимальное количество методов отправленных в Wubook может быть 464 за 60 мин. Поэтому если столькнулись с ошибкой "More than 464 (547+) calls in the last 3600 seconds for property...." в shelter.ini, откуда стартуют службы, добавляете в секцию Wubook:

 

[Wubook]

Action_Days=50

_MaxCalls=450
update_rooms_values_MaxCalls=200
update_rooms_values_TimeWindow=3600
update_rooms_values_TimeSleep=18
update_plan_periods_MaxCalls=200
update_plan_periods_TimeWindow=3600
update_plan_periods_TimeSleep=18
fetch_new_bookings_MaxCalls=200
fetch_new_bookings_TimeWindow=3600
fetch_new_bookings_TimeSleep=18

 

 

 

ВНИМАНИЕ!!! С 15.05.2018 произошли изменения протокола со стороны WuBook.

Необходимо изменить Service URL в "Сервисы и оборудования"

с https://wubook.net/xrws на https://wired.wubook.net/xrws/ 

 

ВНИМАНИЕ!!! С 04.06.2018 произошли изменения протокола со стороны WuBook.

Необходимо изменить SSL Method в "Сервисы и оборудования" на sslvTLSv1_2, скопировать в папку, откуда стартует служба ShelterWubookServer 2 библиотеки из этой задачи  http://tracker.ucs.ru/issues/142326 и перезапустить службы.
ВНИМАНИЕ!!! В версии 2.12.126.2650 Реализована поддержка работы с Channel Manager для 2х отелей с разными договорами в одной базе данных. Для настройки данной схемы работы, необходимо в договорной работе выбрать соответствующую гостиницу для каждого договора :

 

ВНИМАНИЕ!!! На актуальных версиях Shelter наблюдается проблема с ростом занимаемой памяти shelter.exe для службы ShelterOnlineServer. В логах можно увидеть ошибку "AccessViolation". Служба продолжает работу, однако запросы и команды от ShelterTravellineServer/ShelterWuBookServer не принимает и не обрабатывает. Необходимо воспользоваться автоматическим перезапуском служб с помощью *.bat - файла. Пример *.bat-файл для перезапуска ShelterOnlineServer :
 

@Echo Off
Set ServiceName=ShelterOnlineServer
Net stop %ServiceName%>nul
Ping -n 4 127.0.0.1>nul
rem Если служба не была запущена, или уже убита к тому времени - запускаем её
Net start %ServiceName%
exit

Пример *.bat-файл для перезапуска ShelterWuBookServer :
 

@Echo Off
Set ServiceName=ShelterWuBookServer
Net stop %ServiceName%>nul
Ping -n 4 127.0.0.1>nul
rem Если служба не была запущена, или уже убита к тому времени - запускаем её
Net start %ServiceName%
exit

Необходимо добавить эти 2 *.bat файла в планировщик заданий и создать задание для поочередного перезапуска служб 1/2/3 раза в сутки :
1. ShelterOnlineServer
2. ShelterTravellineServer/ShelterWuBookServer

ВНИМАНИЕ!!! Время заезда и выезда в WuBook и Shelter должны совпадать!

ВАЖНО!!! В категориях, заведенных в WuBook, поле "Имя" - обязательно необходимо заполнять!

 

Описание настройки модуля ShelterWuBookServer

 

                                Служба ShelterWuBookServer является посредником между системой бронирования Channel Manager WuBook и программным продуктом Shelter 2. 

                                Передача данных между WuBook и службой ShelterWuBookServer осуществляется в реальном времени в формате XML.

                                Изображение структурной схемы работы (рис. 1):

 

 

                                Отправка данных осуществляется методом POST на адрес: https://wubook.net:443/xrws

                                Положительный результат: Result: 200 HTTP/1.1 200 OK

 

 

                                Необходимо заключить договор с Wubook. Специалисты Wubook должны прислать параметры входа в личный кабинет, а именно:

 

                                Логин от личного кабинета;

                                Пароль от личного кабинета;

                                Код отеля (lcode);

 

                                Код отеля можно увидеть самостоятельно, через ЛК Wubook.

                                Необходимо зайти в личный кабинет Wubook, перейти во вкладку

                                «Модуль бронирования» - далее «Установка на сайт» :

 

Настройками тарифов/категорий номеров и пр. в лк Wubook сотрудники компании UCS не занимаются.

                                В связке используется модуль Shelter Online. При наличии Firewall, он должен быть настроен таким образом, чтобы отправлялись и

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

                                модуль связи с ChannelManager (Wubook/Travelline).

 

                                Настройки интеграции необходимо производить через «Сервисы и оборудование»(Настройки - Сервисы и оборудование)  - рис.1 :

(рис.1)

 

                             

  Для настройки интеграции необходимо выполнить следующие действия :

1. Установить cлужбу Online Server; (мануал по корректной настройке можете посмотреть ТУТ)

  • Создать ярлык для shelter.exe, в свойствах ярлыка, в поле «Объект» добавить следующий ключ:

                   -online_server -install

                                2. Установить службу для интеграции с Wubook (UCS Shelter WuBook Server) :

                                     а) Создать директорию в корне Shelter (../WuBook/) и скопировать необходимые файлы :

                                         shelter.exe

                                         shelter.dll

                                         gds32.dll

                                         bass.dll

                                         borlndmm.dll

                                         libeay32.dll

                                         ssleay32.dll

                                         shelter.ini

                                     б) Создать ярлык для shelter.exe , в свойствах ярылка, в поле «Объект»добавить следующий ключ :

                                         -wubook_server -install

                                     в) Далее необходимо запустить ярлык от имени администратора. Должно появиться сообщение о успешной установке службы.

                                3. Зайти в Shelter - Настройки - «Сервисы и оборудование» (рис. 1)

                                    И добавить модуль Wubook согласно (рис. 2)

 

                                                                                                                                  (рис. 2)

                                                                                                                                       (рис. 3)

 

                                Настройки, изображенные на рис. 3, без необходимости не менять, параметр «Имя компьютера» заполнится автоматически

                                в соответствии с именем ПК.

                                4. Зайти в настройки модуля и настроить по аналогии с рис. 4.

 

 

(рис. 4)

(табл. 1)

 

Новая реализация с версии 2.12.127.2750!!!

 

Доп. услуги включены в стоимость

 

 

Данная настройка необходима исключительно, если в Wubook выгружается тариф у которого есть пакеты услуг, которые НЕ включены в тариф:

   1. Чек-бокс активен - цена по тарифу выгружается с учетом доп. услуг и при сохранении брони доп. услуги входят в стоимость по брони.

  2. Чек-бокс не активен - цена по тарифу так же выгружается с учетом доп. услуг, но при сохранении брони доп. услуги начисляются дополнительно сверху стоимости по брони.

 

 

 

 

5. После завершения настроек в табл. 1 необходимо нажать кнопку «Сохранить».

6. Зайти в «Настройки» - «Справочники» - «Гостиницы» - «Гостиницы» и ввести Код гостиницы в поле «Код в системе WuBook» (рис. 5)

 

 

(рис. 5)

 

Внимание!!! Если в личном кабинете WuBook уже заведены категории номеров и тарифы, то их необходимо сопоставить с

категориями и тарифами в Shelter :

 

7. В личном кабинете WuBook открыть вкладку «Тарифы» - «Категории», скопировать код категории (SNGL):

 

 

(рис. 6)

 

 Добавить этот код в Shelter : Открыть «Справочники» - «Ресурсы» - «Типы ресурсов», выбрать соответствующую категорию, во вкладке «WuBook»,

                                в поле «Идентификатор» добавить скопированный ранее код : 

 

(рис. 7)

 

Внимание!!! WuBook с дополнительными местами не работает, необходимо учитывать это при настройке интеграции.

 

8. Для сопоставления тарифов необходимо, в личном кабинете WuBook, перейти во вкладку «Тарифы» - «Тарифы»,

                                нажать на «Информация» для необходимого тарифа :

 

(рис. 8)

Внимание!!! Тип, для созданного ранее тарифа в WuBook, должен быть «С периодами»

 

 

 В открывшемся окне необходимо скопировать цифровой ID тарифа из адресной строки (в данном случае 87321) :

 

(рис. 9)

Добавить этот ID тарифа в Shelter : Открыть «Справочники» - «Тарифы» - «Типы тарифов», выбрать соответствующий тариф,

                                во вкладке «Внешние системы», в поле «Использовать тариф для системы WuBook.net» прописать ранее скопированный код :

 

(рис. 10)

 

                               

8. Перейти в модуль договорная работа : 

                                «Бронирование» - «Договоры» - «Добавить юридическое лицо» - Указать краткое и полное наименование организации (WuBook),

                                а так же указать WuBook/Travelline/ResOnline (рис. 11) во вкладке «Интернет бронирование» - «Внешние системы» :

(рис. 11)

 

                                9. Перейти во вкладку «Договоры» (договор ST должен создаться автоматически, если он не создался — необходимо создать его вручную)

                                Заполнить обязательные поля (Организация-собственник, Тип и пр.) Установить чек-боксы «Используется по умолчанию при бронировании»

                                и «Используется по умолчанию для Нота Бена» :

(рис. 12)

 

                                10. Перейти во вкладку «Тарифы» и поставить чек-боксы «Активен» и «Использовать онлайн» для соответствующего тарифа,

                                а так же поставить чек-бокс «Не объединять с гостиничным тарифом» (это необходимо для того, чтобы стоимость по тарифу,

                                если она отличается от стоимости в Shelter, могла корректно сохраниться для определенной категории).

(рис. 13)

                                11. Для сохранение оплаченных броней, необходимо добавить тип оплаты в «Справочники» - «Услуги» - «Оплаты».

                                Установить чек-бокс «Использовать для WuBook/Travelline» (рис. 14) и настроить оставшиеся обязательные поля по аналогии :

(рис. 14)

 

                                12. Перейти в настройки системы : «Внешние системы»- «Схема работы» - выбрать необходимую схему работы (рис. 12) :

(рис. 15)

 

 

13. Текущая настройка необходима для версий Shelter 2.12.127.2750 и выше!!! 

Исправлен механизм сохранения платежей для WubookServer. 

Необходимо, в настройках киоска настроить «Возможные типы оплат» - устанавливаем чек-бокс на ранее заведенной оплате для Wubook:

 

 

(рис. 16)

 

 

Так же нужно настроить поле  «Список доступных пользователей» - устанавливаем чек-бокс на пользователе *WUBOOK*:

 

(рис. 17)

 

 

 

Разделение по каналам продаж

 

Для каждого канала продаж необходимо создать организацию, переходим «Бронирование» - «Договоры» - «Добавить юридическое лицо».  (рис. 18)

 

(рис. 18)

 

Указываем краткое и полное наименование организации (Booking.com), ниже во вкладке «Интернет бронирование» «Внешние системы» указываем

канал продаж «Booking.com». (рис. 19)

 

(рис. 19)

 

Далее во вкладке «Договоры» настраиваем по аналогии с основной организацией Wubook. 

 

Для каждого канала продаж, который использует ваша GDS система необходимо заводить организацию и настраивать по аналогии

из выше приведенного примера.

 

 

Работа с квотами

 

Для корректной настройки квот необходимо воспользоваться инструкцией Квоты.doc

 

                                Выбрать схему работы с квотами :

 

(рис. 20)

 

 

Статус брони (Новая реализация)

 

ВНИМАНИЕ!!! Данный функционал доступен только с версии 2.12.125.2480 или новее

 

 

Теперь в настройках Wubook можно установить необходимый статус для приходящих броней. Заходим в Shelter – «Настройки» – «Сервисы и оборудование» 

и открыть настройки Wubook. В них можно увидеть поле «Статус брони» в котором нужно указать необходимый статус для приходящих броней (рис. 21).

 

(Рис. 21)

 

Описание статуса броней:

  • ​Гарантированная, если подтверждена - у оплаченных броней статус «Гарантированная», а у не оплаченных «Лист ожидания».
  • Всегда лист ожидания - у оплаченных и не оплаченных броней всегда статус «Лист ожидания».
  • Всегда гарантированная - оплаченные и не оплаченные брони имеют статус «Гарантированная».

 

 

 

 

 

Важно!!! Не забывайте удалять файл onlineserver.xml при обновлении Shelter. После запуска службы ShelterOnline он создастся заново,

актуальной версии.Если клиент использует только Wubook, а интернет-бронирование нет (это разные модули в ключе защиты,

несмотря на то что тут ShelterOnline тоже используется!), необходимо в файле onlineserver.xml все значения autostart="1" заменить на autostart ="0"

и в shelter.ini в секции [onlineserver] выставить gds=BOOKING. Отследить необходимость данного действия можно по логу онлайн сервера.

В нем будет ошибка Device licence error. Если в ключе точно прописан проект 3, модуль 10, а проект 3, модуль 5 отсутствует - действуйте как указано выше.

 

 

 

Две гостиницы в одной базе данных

 

Для настройки интеграции двух гостиниц в одной базе данных необходимо сделать следующее:

  • Установить службы OnlineServer и WubookServer в разные папки для каждой гостинцы свои. Например:

           1. Гостиница Новая - OnlineServerNovaya и WubookServerNovaya

           2. Гостиница Старая - OnlineServerStaraya и WubookServerStaraya 

 

Более подробно как создавать службы с нестадартным наименованием можно посмотреть тут

 

 

  • В Shelter.ini, откуда запускаются службы необходимо настроить работу OnlineServer на разных портах. Для этого:

​1. В Shelter.ini находим секцию [OnlineServer], там есть параметр «tcpport»

2. Для OnlineServerNovaya указываем «tcpport = 7779», для OnlineServerStaraya указываем «tcpport = 7778»

(Можно другие порты. Главное, чтобы их не занимали другие программы)

 

  • В сервисах и оборудовании необходимо будет добавить два драйвера «Wubook», для каждой гостиницы свой.
  • Так же главное исправить поле «Имя службы» на соответствующее вашим созданным службам:

 

 

 

Выглядеть будет так:

 

 

  • Ранее мы для каждой службы OnlineServer указывали свой порт, на котором она будет работать. Помимо настроек в Shelter.ini нам нужно еще указать порт, который будет прослушивать определенная служба TravellineServer. Для этого:

​1. Так как ранее для OnlineServerNovaya в Shelter.ini мы указали порт «7779», то в Shelter в настройках драйвера Travelline указываем «Порт ShelterOnlineServer - 7779»

 

2. Тоже самое делаем для OnlineServerStaraya, но уже указываем порт «7778», который мы указали в Shelter.ini для этой службы

 

 

Сохранение переброни в лист ожидания (Новая реализация)

 

Реализация доступна в версии 2.12.131.3200

 

В параметрах ChannelManager добавлена настройка "Сохранять переброни в лист ожидания", по умолчанию настройка выключена.

  • Чек-бокс активен - брони сохраняются вниз шахматки в лист ожидания, даже если свободных номеров нету.
  • Чек-бокс не активен - если свободных номеров нету, брони не сохраняются

 

 

 

 

 

Скидки (новая реализация)

Реализация доступна в версии 2.12.132.3200

 

Реализовано корректное сохранение брони из WuBook, в которой есть скидка.

 

Необходимо сопоставить ID скидки WuBook и скидку в Shelter (поле "Идентификатор в системе WuBook").

 

ВНИМАНИЕ : реализована поддержка только процентной скидки WuBook, в Shelter скидка должна быть настроена на все услуги,

процент скидки WuBook и Shelter должен совпадать!

 

 

 

Работа с Lite версией

 

Модуль Travelline поддерживает работу с Shelter Lite, настраивается аналогично. Исключением по настройке интеграции является только заведение

организации Travelline.

1.  Чтобы завести/отредактировать организации нужно создать любую бронь на шахматке (Рис. 22):

 

(Рис. 22)

 

 

2. В открывшейся карточке, в секции «Организации» нажать на <...> (Рис. 23):

 

 

(Рис. 23)

 

 

3. Откроется окно со списком заведенных организаций, в котором можно их добавлять/изменять. Необходимо нажать «Добавить» (Рис. 24):

 

 

(Рис. 24)

 

 

4. Открывается окно в котором необходимо заполнить тип клиента, краткое и полное наименование, тип организации и канал продаж.

Заполняем как на примере (Рис. 25):

 

(Рис. 25)

 

 

 

Краткое, полное наименование и тип организации можете указать по вашему усмотрению. 

 

После выше описанных действий организация Travelline успешно настроена.

 

                           

 

 

                                Если клиент жалуется что на какую-либо дату выгружается неправильная цена, или вообще не выгружается

                                Первое правило в данном случае - зайти в формирование тарифов, и в калькуляторе тарифов убедиться, что на заявленную дату в рамках тарифа, 

                                используемого для интернет бронирования формируется верная цена. Если в калькуляторе цена не верна, значит это ошибка настройки тарифа,

                                а не выгрузки в TL. Если цены выгружаются до какой-то даты, а дальше нет, то возможно в модуле настроек стоит дата обновлять до этого числа.

 

 

 

                                Внимание!!! Если в личном кабинете WuBook уже заведены категории номеров и тарифы,

                         то их необходимо сопоставить с категориями и тарифами в Shelter :

                                1. В личном кабинете WuBook открыть вкладку «Тарифы» - «Категории», скопировать код категории (SNGL):

(рис. 26)

 

 

                                Добавить этот код в Shelter : Открыть «Справочники» - «Ресурсы» - «Типы ресурсов», выбрать соответствующую категорию, во вкладке «WuBook»,

                                в поле «Идентификатор» добавить скопированный ранее код : 

(рис. 27)

Внимание!!! WuBook с дополнительными местами не работает, необходимо учитывать это при настройке интеграции.

 

                                2. Для сопоставления тарифов необходимо, в личном кабинете WuBook, перейти во вкладку «Тарифы» - «Тарифы»,

                                нажать на «Информация» для необходимого тарифа :

(рис. 28)

Внимание!!! Тип, для созданного ранее тарифа в WuBook, должен быть «С периодами»

                                В открывшемся окне необходимо скопировать цифровой ID тарифа из адресной строки (в данном случае 87321) :

 

(рис. 29)

                                Добавить этот ID тарифа в Shelter : Открыть «Справочники» - «Тарифы» - «Типы тарифов», выбрать соответствующий тариф,

                                во вкладке «Внешние системы», в поле «Использовать тариф для системы WuBook.net» прописать ранее скопированный код :

(рис. 30)

 

                                Установить чек-боксы «Использовать тариф для Интернет- бронирования», «Использовать тариф для системы WuBook.net»

                                и «Использовать по умолчанию».

 

 

 

Внесение изменений при работающей интеграции

 

В случае, если выгрузка в Wubook у вас уже работает и вы вносите изменения в Shelter по тарифу, количеству мест и тд, то после внесения изменений

выгрузку необходимо перезапускать (перезапуск служб OnlineServer и WubookServer).

 

 

 

 

Анализ ошибок настройки

                                Если служба работает неверно, то следует в первую очередь проверить что настройки верны:

                                   1. Выбрана схема работы с квотами (не для лайт версии)

                                   2. Добавлена организация для WuBook, в ее настройках указан канал WuBook.

                                       В полной версии имеется договор по-умолчанию (в лайт версии не актуально).

                                   3. В настройках верно указан lcode (код гостиницы). В карточке гостиницы в shelter так же во вкладке "внешние системы" указан этот lcode.

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

                                       использовать для wubook, верно указан id тарифа, минимум для одного тарифа выбрано «использовать по умолчанию».

                                   5. Используется последняя версия модуля

                                   6. Файл onlineserver.xml актуальной версии

                                   7. Если в ключе нет проекта 3, модуль 5 - в onlineserver.xml все autostart="1" заменены на autostart="0" Причина 90% ошибок - неверные настройки.

                                       Не поленитесь перепроверить их!

 

Анализ логов

 

                                Порядок обмена:

                                Запрашиваются настройки через OnlineServer - пример:

 

                                TWuBookCM.Init Result = 1

                                Вызывается метод «acquire_token» (аутентификация) :

 

                                В ответе (успешно) получаем token:

 

                                Далее вызывается метод «fetch_rooms» (возвращает список категорий номеров, если они уже были заведены в WuBook) :

                                Ответ (успешно):

                                В данном случае в личном кабинете WuBook категории не заведены.

 

                                Проверка валидности токена «is_token_valid» :

 

                                Ответ (успешно) :

 

                                Значение 2 — количество раз, сколько раз был использован token (кратно 2-м). Один и тот же токен не может быть использован более 60 раз.

                                Выгрузка категорий номер происходит при помощи вызова метода : «new_room» :

 

                                Ответ (успешно) :

 

                                259268 - ID категории в личном кабинете WuBook

                                Далее идет проверка валидности токена («is_token_valid»)

                                Следующий метод «new_virtual_room» - создание виртуальной категории :

 

                                APP-1 — название созданной виртуальной категории Ответ аналогичный, как и при вызове «new_room»,

                                за исключением ID виртуальной категориии. Снова проверка валидности токена («is_token_valid»)

                                Далее выгружаются оставшиеся категории номеров и создаются виртуальные категории в личном кабинете WuBook

                                После выгрузки всех категорий номеров вызывается «release_token», чтобы “освободить” токен :

 

 

                                Ответ (успешно) :

 

                                Далее вновь вызывается «acquire_token», после успешного ответа и получения нового токена :

                                

                                Вызываем «get_plans» (получение «шахматки» из личного кабинета WuBook) :

 

                                Ответ (успешно) :

 

                                В данном случае в личном кабинете WuBook не были заведены категории/тарифы, поэтому ничего не вернулось.

                                Далее снова проверка валидности токена : «is_token_valid»

                                Следующий метод «update_rooms_values» - выгрузка категорий и доступности : 

                

 

                                После выгрузки доступности и стоимости вызывается «release_token» (освобождаем токен), а затем снова «acquire_token»

                                Метод «fetch_new_bookings» отвечает за проверку недоставленных броней из WuBook в Shelter

                                Ответ :

                                Возвращается «0» - недоставленных броней нет.

                                В случае, если есть недоставленные брони, от WuBook приходит xml, в которой содержится необходимая информация,

                                после чего происходит парсинг xml и её сохранение.
 

 

Для получения броней из WuBook за прошлый период, необходимо использовать функцию fetch_bookings
Для вызова этой фунцкии, необходимо в shelter.ini добавить секцию и параметры : 

[bookings]
datefrom=
dateto=
OnCreated=1

datefrom - Дата начала периода 

dateto - Дата окончания периода
Формат даты зависит от региональных настроек Windows

OnCreated - 1 - Возвращает брони с фильтром по дате бронирования
OnCreated - 0 - Возвращает брони с фильтром по дате заезда.
 



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

Описание API WuBook : http://tdocs.wubook.net/index.html

 

 

 

Как разобраться в логах Travelline?

 

 

 

Формирование логов для службы TravellineServer подчинается тем же правилам, что описаны и в мануале http://support.ucs.ru/ru/node/9533

То есть, на каждый запрос TRY, должен быть ответ DONE.
На примере интеграции с Travelline разберем типовые запросы/ответы.
Происходит запрос к базе данных на предмет получения настроек подключения к сервису Travelline через "Сервисы и оборудования" :

6088  49408/26788 KB       17.01.2019 18:21:26.843 TRY:    1.12.SQL_Get_Tab_Enabled.CreateReadQuery
-----------------------------------------------------------
select * from Plugins where enabled = 1 

В ответ приходит строка такого формата :
6088  49488/26788 KB       17.01.2019 18:21:26.869 DONE:   1.12.810140.FreeQuery [62 ms, 7 records, 17.69 KB]
6088  49500/26788 KB       17.01.2019 18:21:26.869         Plugin Code=TTravelLineCM; IsDisabled=0; ComputerName=A-SAZONOV/A-SAZONOV; ServiceName=ShelterTravelLineServer/ShelterTravelLineServer; UserName=/СИСТЕМА
Далее возвращается xml с настройками из Shelter : 

TTravelLineCM.Init ParamStr = <?xml version="1.0"?>
<xml> 
<ID value="7" fieldtype="3"/> id записи из таблицы PLUGINS
<DriverName value="TTravelLineCM" fieldtype="1"/> наименование плагина
<ShelterHost fieldtype="24" value="127.0.0.1"/> IP адрес ПК, где запущен ShelterOnlineServer
<ShelterPort fieldtype="24" value="7779"/> порт, на котором работает ShelterOnlineServer 
<MaxResultToLogSize fieldtype="24" value="1024"/> максимальный размер запроса/ответа, который будет отображаться в лог-файле
<ErrorEmail fieldtype="24" value=""/> почта для отправки уведомлений об ошибках при сохранении броней (параметры подключения настраиваются через shelter.ini, секция [Exception Log])
<SuccessEmail fieldtype="24" value=""/> почта для отправки уведомлений об успешном сохранении броней (параметры подключения настраиваются через shelter.ini, секция [Exception Log])
<ConnectTimeout fieldtype="24" value="10000"/> Таймаут соединения с сервером Travelline. Указывается в миллисекундах (1 с = 1000 мс)
<ReadTimeout fieldtype="24" value="10000"/> Таймаут чтения отвта от сервера Travelline. Указывается в миллисекундах (1 с = 1000 мс)
<DateType fieldtype="24" value="4"/> тип периода обновления цен (один год)
<DateTo fieldtype="6" value="42735"/> дата, до которой будет выгружаться доступность и стоимость (если настроен параметр фиксированная дата из пункта выше, в противном случае тип периода от текущей даты)
<LangCode fieldtype="24" value="RU"/> Код локализации ответа
<UpdateRoomKindsInterval fieldtype="24" value="3600"/> Значение интервала выгрузки типов номеров в секундах
<UpdateAvailAndRatesInterval fieldtype="24" value="300"/> Значение интервал выгрузки тарифов и броней в секундах
<UpdateBookingsInterval fieldtype="24" value="300"/> Значение интервал запроса броней в секундах
<ForceUpdate fieldtype="24" value="0"/> принудительное обновление цен (Запустит выгрузки немедленно, независимо от времени последней выгрузки (даже если не прошло время равное соответствующему интервалу выгрузки с момента последней выгрузки)
<RoomAllocate fieldtype="24" value="0"/> автоматическое распределение броней по номерам
<URL fieldtype="24" value="https://www.qatl.ru/Api/TLConnect.svc"/> Service URL (в данном случае указан тестовый сервис для UCS)
<WSDLLocation fieldtype="24" value="https://www.qatl.ru/Api/TLConnect.svc?singleWsdl"/> WSDLLocation (в данном случае указан тестовый сервис для UCS)
<Account fieldtype="24" value="***"/> логин для подключения к сервису Travelline (не логин для входа в личный кабинет Travelline)
<Password fieldtype="24" value="***"/> пароль для подклчюения к сервису Travelline (не пароль для входа в личный кабинет Travelline)
<HotelCode fieldtype="24" value="2540"/> код гостиницы (в данном случае указан тестовый сервис для UCS)
<Proxy fieldtype="24" value=""/> Адрес proxy сервера. Коннект через промежуточный proxy сервер
<UpdateAvailAndRatesLastUpdate fieldtype="24" value="43638=43273.7445036574"/> дата последнего обновления цен и доступности
<UpdateBookingsLastUpdate fieldtype="24" value="43273.745203287"/> дата последнего запроса броней
<UpdateChannelsLastUpdate fieldtype="24" value="43035.7475101273"/>  
</xml>
Далее выполняются необходимые запросы :
getversion, HotelsList, getdebtors, default_values и пр.

ВНИМАНИЕ!!! В ответе на запросы ошибок быть не должно.
1. Получение информации по обекту - идентификация (метод HotelAvailRQ )

После выполнения внутренних запросов между службами TravellineServer, OnlineServer и БД Shelter, формируется и отправляется запрос по HTTP-протоколу (Список кодов состояния HTTP) к сервису Travelline, вызывается метод HotelAvailRQ (получение информации по объекту)  :

6088  51404/28624 KB       17.01.2019 18:21:30.577 TRY:    HotelAvailRQ - название метода
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <SOAP-ENV:Header>
    <NS1:Security xmlns:NS1="https://www.travelline.ru/Api/TLConnect" Username="***" Password="***"/> адрес сервиса Travelline, логин и пароль для подключения к сервису
  </SOAP-ENV:Header>
  <SOAP-ENV:Body>
    <OTA_HotelAvailRQ xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2019-01-17T18:21:30.550+03:00" Version="1.11"> версия протокола 1.11
      <AvailRequestSegments>
        <AvailRequestSegment>
          <HotelSearchCriteria>
            <Criterion>
              <HotelRef HotelCode="2540"/> код отеля
            </Criterion>
          </HotelSearchCriteria>
        </AvailRequestSegment>
      </AvailRequestSegments>
    </OTA_HotelAvailRQ>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Ответ :
6088  52176/28792 KB       17.01.2019 18:21:32.208 DONE:   HotelAvailRQ - название метода
<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <OTA_HotelAvailRS Version="1.11" xmlns="http://www.opentravel.org/OTA/2003/05">
      <RoomStays>
        <RoomStay>
          <RoomTypes>
            <RoomType RoomType="116015" RoomTypeCode="116015"> код API категории номера
              <RoomDescription Name="Standard"> название категории номера
                <Text/>
              </RoomDescription>
              <Occupancy MinOccupancy="1" MaxOccupancy="2"/> количество мест
              <Amenities>
                <Amenity RoomAmenity="91" Quantity="2">Rollaway bed</Amenity>
              </Amenities>
            </RoomType>
          </RoomTypes>
          <RatePlans>
            <RatePlan RatePlanCode="13614" InvBlockCode="2384"> код API тарифа
              <RatePlanDescription Name="Проживание без завтрака"> название тарифа
                <Text>Гор</Text>
              </RatePlanDescription>
            </RatePlan>
          </RatePlans>
        </RoomStay>
      </RoomStays>
      <Profiles>
        <ProfileInfo>
          <Profile ProfileType="12">
            <CompanyInfo/>
          </Profile>
        </ProfileInfo>
      </Profiles>
      <Services>
        <Service ServicePricingType="Per person per night" Type="Common" ID="213890">
          <ServiceDetails>
            <Comments>
              <Comment Name="ServiceName">
                <Text>Кровать</Text>
              </Comment>
              <Comment Name="ServiceDescription">
                <Text>Кровать</Text>
              </Comment>
            </Comments>
          </ServiceDetails>
        </Service>
        <Service ServicePricingType="Per person per night" Type="Meal" ID="383085">
          <ServiceDetails>
            <Comments>
              <Comment Name="ServiceName">
                <Text/>
              </Comment>
              <Comment Name="ServiceDescription">
                <Text/>
              </Comment>
            </Comments>
          </ServiceDetails>
        </Service>
      </Services>
      <Success/>
    </OTA_HotelAvailRS>
  </s:Body>
</s:Envelope>

В ответ возвращаются категории номеров - <RoomTypes> (код API категории RoomType="116015") и тарифы <RatePlans> (код API тарифа RatePlanCode="13614")
ВНИМАНИЕ!!! Если в ответ на описанный выше метод, сервис Travelline вернул ошибку : <Errors><Error Language="EN" Type="4" Code="450" Tag="">Unable to process</Error></Errors>
То она обозначает, что неверно введен логин/пароль для подключения к сервису Travelline. Пароль для входа в личный кабинет и пароль для подключения к сервису Travelline - это разные пароли!
Если в Travelline заведена категория номера, но в Shelter не указан код API для этой категории, в логе можно будет увидеть ошибку :

6088  52196/28732 KB       17.01.2019 18:21:32.213 TRY:    TTravelLineThread.CheckRoomKinds
6088  52196/28732 KB       17.01.2019 18:21:32.213 ERROR:  TravelLine RoomKind (id=116015; code=116015; name=Standard) is not found in Shelter
Если не указан договор по умолчанию, в логе будет фигурировать следующая ошибка : 
ERROR:  Default Contract not found
Этой ошибке предшествует запрос :

<?xml encoding="utf-8" version="1.0"?>
<getdebtorcontracts langcode="RU" gds="TRAVELLINE" version="12" debtor="54" hotel="0"/>

Что бы понять, для какой организации не указан договор, можно воспользоваться следующим методом :
1. Запустить Shelter
2. Перейти в модуль "Договорная работа" и найти организацию с уникальным номером организации (не путать в фильтре с уникальным номером) -
 debtor="54":


 

Решение : завести договор, перезапустить службы поочердено (ShelterOnlineServer, потом ShelterTravellineServer)
Для Shelter Light заводить договор не надо.
Если не указан код отеля, в логе будет фигурировать следующая ошибка : 
ERROR:  Hotel Code is not listed in reference
Решение : указать код отеля в Shelter (в справочники-гостиницы и в "Сервисы и оборудования")
Для корректной выгрузки, помимо сопоставления API категорий номеров и API тарифов в Shelter и Travelline, необходимо убедиться, что для категорий, участвующих в выгрузке, настроен тариф. В противном случае, в логе можно наблюдать такую ошибку:
ERROR:  UpdateAvailAndRates: [GetVacancyList Error]
Решение : проверить настройки тарифов
2. Выгрузка доступности (метод HotelAvailNotifRQ)
После успешной идентификации и проверки сопоставления кодов API, вызывается метод HotelAvailNotifRQ :

4152  53876/29780 KB       17.01.2019 19:46:55.238 TRY:    HotelAvailNotifRQ - название метода
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <SOAP-ENV:Header>
    <NS1:Security xmlns:NS1="https://www.travelline.ru/Api/TLConnect" Username="***" Password="***"/>
  </SOAP-ENV:Header>
  <SOAP-ENV:Body>
    <OTA_HotelAvailNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2019-01-17T19:46:55.236+03:00" Version="1.11">
      <AvailStatusMessages HotelCode="2540"> - код гостиницы
        <AvailStatusMessage BookingLimit="6"> - передаем доступность АСУ в Travelline
          <StatusApplicationControl Start="2019-12-03" End="2019-12-22" InvTypeCode="116015"/> дата начала/окончания периода выгрузки доступности (код категории API 116015)
        </AvailStatusMessage>
      </AvailStatusMessages>
    </OTA_HotelAvailNotifRQ>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

ВНИМАНИЕ! Выгрузка доступности происходит периодами. 
Ответ :

<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <OTA_HotelAvailNotifRS Version="1.11" xmlns="http://www.opentravel.org/OTA/2003/05">
      <Success/>
    </OTA_HotelAvailNotifRS>
  </s:Body>
</s:Envelope>

Так же, стоит обратить внимание на корректность сопоставления кодов API для тарифов.
3. Выгрузка стоимости (метод HotelRateAmountNotifRQ)
Далее выгружается стоимость по тарифу : 

8216  54464/30088 KB       26.02.2019 13:19:44.061 TRY:    HotelRateAmountNotifRQ - название метода
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <SOAP-ENV:Header>
    <NS1:Security xmlns:NS1="https://www.travelline.ru/Api/TLConnect" Username="***" Password="***"/>
  </SOAP-ENV:Header>
  <SOAP-ENV:Body>
    <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2019-02-26T13:19:43.472+03:00" Version="1.11">
      <RateAmountMessages HotelCode="2540">
        <RateAmountMessage>
          <StatusApplicationControl RatePlanCode="214804" InvTypeCode="116015"/> "214804" - код API тарифа, "116015" - API код категории номера
          <Rates>
            <Rate Start="2019-02-26" End="2019-02-28"> - период выгрузки стоимости
              <BaseByGuestAmts>
                <BaseByGuestAmt AmountAfterTax="5999" NumberOfGuests="1"/> - цена за одноместное размещение
                <BaseByGuestAmt AmountAfterTax="5999" NumberOfGuests="2"/> - цена за двухместное размещение
              </BaseByGuestAmts>
            </Rate>
          </Rates>
        </RateAmountMessage>
        <RateAmountMessage>
          <StatusApplicationControl RatePlanCode="214804" InvTypeCode="116015"/> "214804" - код API тарифа, "116015" - API код категории номера
          <Rates>
            <Rate Start="2019-03-01" End="2019-03-02"> - период выгрузки стоимости
              <BaseByGuestAmts>
                <BaseByGuestAmt AmountAfterTax="7999" NumberOfGuests="1"/> - цена за одноместное размещение
                <BaseByGuestAmt AmountAfterTax="7999" NumberOfGuests="2"/> - цена за двухместное размещение
              </BaseByGuestAmts>
            </Rate>
          </Rates>
        </RateAmountMessage>
      </RateAmountMessages>
    </OTA_HotelRateAmountNotifRQ>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

ВНИМАНИЕ! Выгрузка стоимости происходит периодами. 
Если клиент говорит, что выгружается неверная цена, первое, что необходимо сделать, это проверить стоимость в Shelter через калькулятор. В моём случае стоимость такая : 

И на другие даты, соответственно :

Ответ :

8216  54456/30152 KB       26.02.2019 13:19:44.415 DONE:   HotelRateAmountNotifRQ - название метода
<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <OTA_HotelRateAmountNotifRS Version="1.11" xmlns="http://www.opentravel.org/OTA/2003/05">
      <Success/>
    </OTA_HotelRateAmountNotifRS>
  </s:Body>
</s:Envelope>

Так же, можно столкнуться с таким ответом :

<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <OTA_HotelRateAmountNotifRS Version="1.11" xmlns="http://www.opentravel.org/OTA/2003/05">
      <Warnings>
        <Warning Language="EN" Type="3" Code="150" Tag="/OTA_HotelRateAmountNotifRQ/RateAmountMessages/RateAmountMessage[1]">Price integration is disabled.</Warning>
      </Warnings>
      <Success/>
    </OTA_HotelRateAmountNotifRS>
  </s:Body>
</s:Envelope>

Данная ошибка возвращается от Travelline. Она может означать, что для данного тарифа отключена возможность выгрузки цен. По какой причине - лучше уточнять у специалистов Travelline.

3. Запрос недоставленных броней (метод HotelReadReservationRQ)

8216  44856/38908 KB       26.02.2019 14:12:19.911 TRY:    HotelReadReservationRQ - название метода
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <SOAP-ENV:Header>
    <NS1:Security xmlns:NS1="https://www.travelline.ru/Api/TLConnect" Username="***" Password="***"/>
  </SOAP-ENV:Header>
  <SOAP-ENV:Body>
    <OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2019-02-26T14:16:19.909+03:00" Version="1.11">
      <ReadRequests>
        <HotelReadRequest HotelCode="2540">
          <SelectionCriteria SelectionType="Undelivered"/>
        </HotelReadRequest>
      </ReadRequests>
    </OTA_ReadRQ>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Ответ :

8216  44936/38908 KB       26.02.2019 14:12:56.857 DONE:   HotelReadReservationRQ - название метода
<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <OTA_ResRetrieveRS Version="1.11" xmlns="http://www.opentravel.org/OTA/2003/05">
      <Success/>
    </OTA_ResRetrieveRS>
  </s:Body>
</s:Envelope>

Означает, что на момент вызова метода, Travelline недоставленные брони не вернул.
В случае, если Travelline возвращает новые брони, ответ будет таким : 

216  45020/38972 KB       26.02.2019 14:16:21.305 DONE:   HotelReadReservationRQ - название метода
<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <OTA_ResRetrieveRS Version="1.11" xmlns="http://www.opentravel.org/OTA/2003/05">
      <ReservationsList>
        <HotelReservation CreateDateTime="2019-02-26T14:15:48.187" LastModifyDateTime="2019-02-26T14:15:52.843" ResStatus="Confirmed"> - статус брони
          <POS>
            <Source>
              <RequestorID Type="22" ID="TRAVELLINE"/> 
              <BookingChannel Type="7"> - Означает, что бронь пришла от Travelline. Если бронь из канала бронирования, то будет фигурировать поле CODE с кратким кодом канала и названием канала
                <TPA_Extensions>
                  <BookingWebSource Code="" Url="http://b.tlintegration.com/2540/"/>
                </TPA_Extensions>
              </BookingChannel>
            </Source>
          </POS>
          <UniqueID Type="14" ID="20190304-2540-4911576"/> - Номер брони из Travelline. Если бронь из канала бронирования, то у нее будет свой номер с параметром ID_Context="External"
          <RoomStays>
            <RoomStay IndexNumber="0">
              <RoomTypes>
                <RoomType RoomTypeCode="116015" InvBlockCode="2384" Quantity="1"/> "116015" код категории номера
              </RoomTypes>
              <RatePlans>
                <RatePlan RatePlanID="214804"/> "214804" код API тарифа
              </RatePlans>
              <RoomRates>
                <RoomRate EffectiveDate="2019-03-04" ExpireDate="2019-03-04" RatePlanCode="214804">
                  <Total AmountAfterTax="5999.0000" CurrencyCode="RUB"/>
                </RoomRate>
              </RoomRates>
              <GuestCounts>
                <GuestCount AgeQualifyingCode="AdultBed" Count="1" ResGuestRPH="1"/> 1 взрослый гость на основном месте
              </GuestCounts>
              <TimeSpan Start="2019-03-04T14:00:00" Duration="1" End="2019-03-05T12:00:00"/> Дата заезда/выезда
              <Guarantee GuaranteeCode="PayOnArrival"/> - оплата при заезде
              <CancelPenalties CancelPolicyIndicator="true">
                <CancelPenalty>
                  <Deadline AbsoluteDeadline="2019-03-03T14:00:00Z"/>
                  <PenaltyDescription>
                    <Text>При отмене менее чем за 24 часа до времени заезда (14:00)  дополнительная плата не взимается</Text>
                  </PenaltyDescription>
                </CancelPenalty>
              </CancelPenalties>
              <Total AmountAfterTax="5999.0000" CurrencyCode="RUB" DecimalPlaces="0"/> стоимость брони
              <BasicPropertyInfo HotelCode="2540"/>
            </RoomStay>
          </RoomStays>
          <ResGuests>
            <ResGuest ResGuestRPH="1">
              <Profiles>
                <ProfileInfo>
                  <Profile>
                    <Customer>
                      <PersonName>
                        <GivenName>Алексей</GivenName> - имя гостя
                        <MiddleName/>
                        <Surname>Сазонов</Surname> - фамилия гостя
                      </PersonName>
                      <CitizenCountryName Code="RUS"/>
                    </Customer>
                  </Profile>
                </ProfileInfo>
              </Profiles>
            </ResGuest>
          </ResGuests>
          <ResGlobalInfo>
            <TimeSpan Start="2019-03-04T14:00:00" Duration="1" End="2019-03-05T12:00:00"/>
            <Comments>
              <Comment>
                <Text>Комментарий гостя: ДОПОЛНИТЕЛЬНЫЙ КОММЕНТАРИЙ - ТЕСТОВАЯ БРОНЬ</Text> - дополнительная информация от гостя
              </Comment>
            </Comments>
            <Guarantee GuaranteeCode="PayOnArrival">
              <GuaranteesAccepted>
                <GuaranteeAccepted GuaranteeID="AT_ARRIVAL"/>
              </GuaranteesAccepted>
            </Guarantee>
            <Total AmountAfterTax="5999.0000" CurrencyCode="RUB"/>
            <Profiles>
              <ProfileInfo>
                <Profile>
                  <Customer>
                    <PersonName>
                      <GivenName>Алексей</GivenName>
                      <MiddleName/>
                      <Surname>Сазонов</Surname>
                    </PersonName>
                    <Telephone PhoneNumber="+74959214198"/> - телефон гостя
                    <Email>a.sazonov@ucs.ru</Email> - почта гостя
                    <CitizenCountryName Code="RUS"/>
                  </Customer>
                </Profile>
              </ProfileInfo>
            </Profiles>
          </ResGlobalInfo>
          <TPA_Extensions>
            <Shelter agent="1215133281" debtor="1215133281" contract="" paymentMethod="910"/>
          </TPA_Extensions>
        </HotelReservation>
      </ReservationsList>
      <Success/>
    </OTA_ResRetrieveRS>
  </s:Body>
</s:Envelope>

Существует несколько статусов брони :

Unconfirmed – бронь не подтверждена 
Confirmed – бронь подтверждена
Cancelled – бронь отменена 
Released – номер освобожден заранее
Pending – ожидается оплата 

Перед сохранением брони в Shelter, происходит обмен данными между TravellineServer, OnlineServer и базой данных Shelter на предмет проверки настроек и корректности сопоставления тарифов, категорий номеров и пр.
После успешного сохранения брони в Shelter, формируется уникальный внутренний номер брони, к примеру :

<reservation id="16934" code="20190304-2540-4911576" extno="8534"/>

Далее формируется xml с ответом об успешном сохранении брони :
4. Отправка уведомления о плучении брони (метод NotifReportRQ)

8216  45152/38944 KB       26.02.2019 14:16:33.456 TRY:    NotifReportRQ - название метода
<?xml version="1.0"?> 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <SOAP-ENV:Header>
    <NS1:Security xmlns:NS1="https://www.travelline.ru/Api/TLConnect" Username="***" Password="***"/>
  </SOAP-ENV:Header>
  <SOAP-ENV:Body>
    <OTA_NotifReportRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.11">
      <Success/>
      <NotifDetails HotelCode="2540">
        <HotelNotifReport>
          <HotelReservations>
            <HotelReservation LastModifyDateTime="2019-02-26T14:15:52.843" ResStatus="Reserved"> - подтверждение сохранения брони
              <UniqueID Type="14" ID="20190304-2540-4911576"/> - номер брони от Travelline
              <ResGlobalInfo>
                <HotelReservationIDs>
                  <HotelReservationID ResID_Type="14" ResID_Value="16934"/> - уникальный внутренний номер
                </HotelReservationIDs>
              </ResGlobalInfo>
            </HotelReservation>
          </HotelReservations>
        </HotelNotifReport>
      </NotifDetails>
    </OTA_NotifReportRQ>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Ответ :

<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <OTA_NotifReportRS Version="1.11" xmlns="http://www.opentravel.org/OTA/2003/05">
      <Success/>
    </OTA_NotifReportRS>
  </s:Body>
</s:Envelope>

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

Настройка интерфейса связи с Travelline

 

 

 

 

 

 

 

 

1. Настройка интерфейса связи с Travelline

 

Инструкция соответстует версии 2.12.132.3280. Рекомендовано производить настройку на ней или более новой версией

 

 

 

1.1 Разделение договоров Channel Manager для двух 2-х отелей с разными договорами в одной базе данных

Поддержано в версии 2.12.126.2650

 

 

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

 

   

 

1.2 Рост памяти службы OnlineServer с дальнейшим зависанием(остановкой)

 

В Shelter может наблюдаться проблема с ростом занимаемой памяти shelter.exe для службы ShelterOnlineServer. В логах можно увидеть ошибку:

 

  • Message:   Access violation at address 02888652 in module 'shelter.exe'. Read of address 0000001D

 

 

Или бесконечную проверку лицензии:

 

 

  • TRY:    TLicence.SendCommandStr[ISCHANGE_ALL &SubscribeID=573&RID=216&TIME=20191127180518]

 

 

Служба продолжает работу, однако запросы и команды от ShelterTravellineServer/ShelterWubookServer не принимает и не обрабатывает.

 

 

Необходимо воспользоваться автоматическим перезапуском служб с помощью *.bat - файла. Пример *.bat-файл для перезапуска ShelterOnlineServer :
 

@Echo Off
Set ServiceName=ShelterOnlineServer
Net stop %ServiceName%>nul
Ping -n 4 127.0.0.1>nul
rem Если служба не была запущена, или уже убита к тому времени - запускаем её
Net start %ServiceName%
exit

Пример *.bat-файл для перезапуска ShelterTravellineServer :
 

@Echo Off
Set ServiceName=ShelterTravellineServer
Net stop %ServiceName%>nul
Ping -n 4 127.0.0.1>nul
rem Если служба не была запущена, или уже убита к тому времени - запускаем её
Net start %ServiceName%
exit

Необходимо добавить эти 2 *.bat файла в планировщик заданий и создать задание для поочередного перезапуска служб 1/2/3 раза в сутки :
1. ShelterOnlineServer
2. ShelterTravellineServer/ShelterWuBookServer

 

 

ВНИМАНИЕ!!! 

В целях мониторинга работоспособности связки рекомендуем: сообщить в тех поддержку компании TravelLine e-mail ответственного за интеграцию сотрудника или общую почту тех. поддержки дилера. В случае потери связи TravelLine отправит письмо об этом. При восстановлении связи так же придет письмо.

 

 

ВНИМАНИЕ!!! Время заезда и выезда в Travelline и Shelter должны совпадать!

 

 

1.3 Описание настройки модуля Channel Manager Travelline

 

Служба ShelterTravelLineServer является посредником между системой глобального бронирования Channel Manager Travelline и программным

продуктом Shelter 2.

Передача данных между Travelline и службой ShelterTravelLineServer осуществляется в реальном времени, в формате XML.

Изображение структурной схемы работы (рис. 1):

 

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

  • Код отеля;
  • Параметры для подключения к сервису TLConnect (логин/пароль);
  • Параметры входа в личный кабинет (не путать с подключением к TLConnect);
  • Коды API (коды тарифов, коды категорий номеров);

Данные коды API вы можете просмотреть самостоятельно, в личном кабинете Travelline (рис. 2).

 

ВНИМАНИЕ!!!

Настройками тарифов/категорий номеров и пр. в лк Travelline сотрудники компании UCS не занимаются.

 

 

В связке используется модуль Shelter Online. При наличии Firewall, он должен быть настроен таким образом, чтобы отправлялись и получались

запросы на порт 7779 (или другой, если такая настройка будет произведена намеренно).

В ключ защиты должен быть прописан модуль связи с ChannelManager (Wubook/Travelline)

 

Настройки интеграции необходимо производить через «Сервисы и обрудование» (Настройки - Сервисы и оборудование) рис. 3:

 

Для настройки интеграции необходимо выполнить следующие действия :

   1. Установить cлужбу Online Server; (мануал по корректной настройке можете посмотреть ТУТ)

  • Создать ярлык для shelter.exe, в свойствах ярлыка, в поле «Объект» добавить следующий ключ:

                   -online_server -install

   2. Установить службу для интеграции с Travelline (UCS Shelter Travelline Server) :

          а) Создать директорию в корне Shelter (../Travelline/) и скопировать необходимые файлы :

                   shelter.exe

                   shelter.dll

                   gds32.dll

                   bass.dll

                   borlndmm.dll

                   libeay32.dll

                   ssleay32.dll

                   shelter.ini

          б) Создать ярлык для shelter.exe, в свойствах ярлыка, в поле «Объект» добавить следующий ключ :

                   -travelline_server -install

          в) Далее необходимо запустить ярлык от имени администратора. Должно появиться сообщение о успешной установке службы.

 

  3. Зайти в Shelter – «Настройки»- «Сервисы и оборудование» (рис. 4) И добавить модуль Travelline согласно (рис. 5)

 

Настройки, изображенные на рис. 5, без необходимости не менять, параметр «Имя компьютера» заполнится автоматически, в соответствии с именем ПК.

 

  4. Зайти в настройки модуля и настроить по аналогии с рис. 6

(Рис. 6)

 

 

 

Новая реализация с версии 2.12.127.2750!!!

 

1.4 Описание настройки "Доп. услуги включены в стоимость"

Поддержано в версии 2.12.127.2750

 

 

Данная настройка необходима исключительно, если в Travelline выгружается тариф у которого есть пакеты услуг, которые НЕ включены в тариф:

   1. Чек-бокс активен - цена по тарифу выгружается с учетом доп. услуг и при сохранении брони доп. услуги входят в стоимость по брони.

  2. Чек-бокс не активен - цена по тарифу так же выгружается с учетом доп. услуг, но при сохранении брони доп. услуги начисляются дополнительно сверху стоимости по брони.

 

 

Настройки отправки E-Mail беруться из Shelter.ini секция [Exception Log]

[exception log]
activate=0
new email address=shelterbug@ucs.ru
weburl=http://tracker.ucs.ru
smtp host=smtp.yandex.ru
smtp port=25
smtp userid=example@ucs.ru
smtp password=ZmU4bXNwZWE=
smtp from=example@ucs@ucs.ru
smtp connecttimeout=10
smtp authtype=0
smtp helo=HELO
smtp usessl=1
smtp=

Таймаут соединения с сервером Travelline. Указывается в миллисекундах (1 с = 1000 мс)

Таймаут чтения отвта от сервера Travelline. Указывается в миллисекундах (1 с = 1000 мс)

  5После завершения настроек в табл. 1 необходимо нажать кнопку «Сохранить»

  6. Зайти в «Настройки» - «Справочники» - «Гостиницы» - «Гостиницы» и ввести Код гостиницы в поле «Код в системе Travelline» (рис. 7)

 

  7. Перейти во вкладку «Ресурсы» - «Типы ресурсов» и внести соответствующие коды API в поле «Travelline» - Идентификаторы (рис. 8).

 

ВНИМАНИЕ (!!!) Количество основых и дополнительных мест в Shelter и Travelline должны совпадать

 

 

 

  8. Перейти во вкладку «Тарифы» - «Типы тарифов» и выбрать созданный тариф для выгрузки в Travelline. Перейти во вкладку «Внешние системы»

и в поле «Использовать тариф для системы Travelline» прописать код API из личного кабинета Travelline и поставить чек-бокс

«Использовать тариф для системы Travelline» (рис. 9)

 

(Рис. 9)

 

Внимание (!!!) Соблюдайте уникальность тарифа в пределах категории номера.

 

  9. Перейти в настройки системы : «Внешние системы»- «Схема работы» - выбрать необходимую схему работы (рис. 10).

(Рис. 10)

 

 

  10. Перейти в модуль договорная работа : «Бронирование» - «Договоры» - «Добавить юридическое лицо» - Указать краткое и полное

наименование организации (Travelline) - рис.11, а так же указать WuBook/Travelline/ResOnline во вкладке «Интернет бронирование» - «Внешние системы» (Рис. 12)

 

 

    11. Перейти во вкладку «Договоры» и добавить договор, если он отсутствует. Открыть договор заполнить по подобию:

 

 

 

Обязательно не забудьте установить чек-бокс «Используется по умолчанию при бронировании»

   

   12. Далее нажимаете правой кнопкой мыши по договору и выбираете «Тарифы». В открывшемся окне устанавливаем чек-боксы «Активен» и «Использовать онлайн»

у тарифов, которые используются для выгрузки в Travelline.

 

 

 

 

  13. Для сохранение оплаченных броней, необходимо добавить тип оплаты в «Справочники» - «Услуги» - «Оплаты».

Установить чек-бокс «Использовать для WuBook/Travelline» (рис. 14) и настроить оставшиеся обязательные поля по аналогии.

(Рис. 14)

 

 

Важно!!! Не забывайте удалять файл onlineserver.xml при обновлении Shelter. После запуска службы ShelterOnline он создастся заново,

актуальной версии.Если клиент использует только TravelLine, а интернет-бронирование нет (это разные модули в ключе защиты,

несмотря на то что тут ShelterOnline тоже используется!), необходимо в файле onlineserver.xml все значения autostart="1" заменить на autostart ="0"

и в shelter.ini в секции [onlineserver] выставить gds=BOOKING. Отследить необходимость данного действия можно по логу онлайн сервера.

В нем будет ошибка Device licence error. Если в ключе точно прописан проект 3, модуль 10, а проект 3, модуль 5 отсутствует - действуйте как указано выше.

 

 

 

  14. Текущая настройка необходима для версий Shelter 2.12.127.2750 и выше!!! (Бывают исключения для версий старее) 

Исправлен механизм сохранения платежей для TravellineServer.

Необходимо, в настройках киоска настроить «Возможные типы оплат» - устанавливаем чек-бокс на ранее заведенной оплате для Travelline:

 

(Рис. 15)

 

Так же нужно настроить поле  «Список доступных пользователей» - устанавливаем чек-бокс на пользователе *TRAVELLINE*:

 

 

(Рис. 16)

 

 

 

1.5 Разделение по каналам продаж

 

Для каждого канала продаж необходимо создать организацию, переходим «Бронирование» - «Договоры» - «Добавить юридическое лицо».  (рис. 15)

 

(рис. 15)

 

 

Указываем краткое и полное наименование организации (Booking.com), ниже во вкладке «Интернет бронирование» «Внешние системы» указываем

канал продаж «Booking.com». (рис. 16)

 

(рис. 16)

 

 

Далее во вкладке «Договоры» настраиваем по аналогии с основной организацией Travelline. 

Для каждого канала продаж, который использует ваша GDS система необходимо заводить организацию и настраивать по аналогии

из выше приведенного примера.

 

 

 

1.6 Работа с квотами

 

Для корректной настройки квот необходимо воспользоваться инструкцией Квоты.doc

Выбрать схему работы с квотами :

(Рис. 17)

 

 

1.7 Выгрузка доп. мест

 

Для выгрузки дополнительных мест в Travelline необходимо произвести следующую настройку:

 

1. Заходим в «Справочники» «Справочники» - «Категория размещения» (Рис. 18)

(Рис. 18)

 

2. Если у вас уже заведены цены для доп. мест, то данная категория размещения уже должна быть заведена (если ее нету, то добавляем ее).

Выбираем доп. место и нажимаем кнопку «Изменить», в открывшемся окне необходимо поставить чек-бокс  «Использовать для Travelline». (Рис. 19)

(Рис. 19)

 

Если все остальные настройки корректны, то после произведенной настройки доп. места начнут выгружаться в Travelline.

 

 

1.8 Выгрузка возрастных категорий на доп. место

 

Для выгрузки возрастных категорий необходимо создать в ЛК Travelline возрастные категории.

По вопросу создания категорий необходимо обратиться в Travelline. Далее в Shelter необходимо создать возрастные категории.

«Справочники» - «Справочники» - «Возраст гостя»

(Рис. 20)

 

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

 

ВНИМАНИЕ!!!  Чек-бокс для взрослого "Использовать для Travelline" ставить не нужно!!

В Travelline настройка идет следующим образом: «Ребенок от 7 до 12 лет», далее «Ребенок от 12 до 13 лет», «Ребенок от 13 до 14 лет», «Ребенок от 14 до 15 лет».

 

В Shelter необходимо указать код для Travelline в таком порядке:

    1. «Ребенок от 7 до 12 лет» - 0

    2. «Ребенок от 12 до 13 лет» - 1

    3. «Ребенок от 13 до 14 лет» - 2

    4. «Ребенок от 14 до 15 лет» - 3

 

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

Так же необходимо донастроить тариф (завести операции тариф-пакета для детей)

 

 

 

 

1.9 Выгрузка возрастных категорий с нулевой ценой

 

 

ВНИМАНИЕ!!!

Для работы данного функционала помимо настроек в Shelter необходимо обратиться к специалистам Travelline,

чтобы сняли запрет со своей стороны на выгрузку нулевых цен в личный кабинет Travelline.

 

 

Если у вас стоит запрет, то в логе будет ошибка:

 

 

<Warnings>
        <Warning Language="EN" Type="3" Code="320" Tag="/OTA_HotelRateAmountNotifRQ/RateAmountMessages/RateAmountMessage[1]/Rates/Rate[1]/AdditionalGuestAmounts/AdditionalGuestAmount[1]">
Child extra bed (0-3) price not allowed. Price:0,00.</Warning>
</Warnings>

 

 

В Shelter выполняются следующие настройки:

 

Заходим в «Справочники» «Тарифы» «Формирование тарифов», выбираем нужную категорию и тариф. 

По нужной возрастной категории поставить стоимость, например 1 рубль, и сделать период бессрочный с ценой 0 рублей.

 

 

 

Далее переходите в «Справочники» «Справочники» «Возраст гостя».

У нужной категории устанавливаете чек-бокс «Не учитывать при расчете тарифа»:

 

 

После вышеописанных рекомендаций нулевая цена будет выгружаться в Travelline

 

 

 

1.10 Статус брони (Новая реализация)

 

ВНИМАНИЕ!!! Данный функционал доступен только с версии 2.12.125.2480 или новее

 

Теперь в настройках Travelline можно установить необходимый статус для приходящих броней. Заходим в Shelter – «Настройки» – «Сервисы и оборудование» 

и открыть настройки Travelline. В них можно увидеть поле «Статус брони» в котором нужно указать необходимый статус для приходящих броней (рис. 21).

 

(Рис. 21)

 

Описание статуса броней:

  • Гарантированная, если подтверждена - статус брони всегда «Гарантированная», причина в том, что бронь в ЛК Travelline автоматически подтверждается.
  • Всегда лист ожидания - оплаченная бронь статус «Гарантированная», а у не оплаченной «Лист ожидания».
  • Всегда гарантированная - оплаченные и не оплаченные брони имеют статус «Гарантированная».

 

 

 

1.11 Две гостиницы в одной базе данных

 

Для настройки интеграции двух гостиниц в одной базе данных необходимо сделать следующее:

  • Установить службы OnlineServer и TravellineServer в разные папки для каждой гостинцы свои. Например:

1. Гостиница Новая - OnlineServerNovaya и TravellineServerNovaya

2. Гостиница Старая - OnlineServerStaraya и TravellineServerStaraya 

 

Более подробно как создавать службы с нестадартным наименованием можно посмотреть тут

 

  • В Shelter.ini, откуда запускаются службы необходимо настроить работу OnlineServer на разных портах. Для этого:

​1. В Shelter.ini находим секцию [OnlineServer], там есть параметр «tcpport»

2. Для OnlineServerNovaya указываем «tcpport = 7779», для OnlineServerStaraya указываем «tcpport = 7778» 

                    (Можно другие порты. Главное, чтобы их не занимали другие программы)

 

  • В сервисах и оборудовании необходимо будет добавить два драйвера «Travelline», для каждой гостиницы свой.
  • Так же главное исправить поле «Имя службы» на соответствующее вашим созданным службам:

 

 

Выглядеть будет так:

 

 

  • Ранее мы для каждой службы OnlineServer указали свой порт, на котором она будет работать. Помимо настроек в Shelter.ini нам нужно еще указать порт, который будет прослушивать определенная служба TravellineServer. Для этого:

1. Так как ранее для OnlineServerNovaya в Shelter.ini мы указали порт «7779», то в Shelter в настройках драйвера Travelline указываем «Порт ShelterOnlineServer - 7779»

 

2. Тоже самое делаем для OnlineServerStaraya, но уже указываем порт «7778», который  мы указали в Shelter.ini для этой службы

 

 

  • Если вдруг, у вас категории или тарифы используются одни и те же на обе гостиницы, тогда просите Travelline сделать коды API для обоих личных кабинетов одинаковыми.

 

 

 

1.12 Сохранение переброни в лист ожидания (Новая реализация)

 

Реализация доступна в версии 2.12.131.3200

 

В параметрах ChannelManager добавлена настройка "Сохранять переброни в лист ожидания", по умолчанию настройка выключена.

  • Чек-бокс активен - брони сохраняются вниз шахматки в лист ожидания, даже если свободных номеров нету.
  • Чек-бокс не активен - если свободных номеров нету, брони не сохраняются

 

 

 

1.13 Сoхранение броней по номеру канала продаж / Travelline

 

Реализация доступна в версии 2.12.131.3200

 

 

В параметрах ChannelManager добавлена настройка "Сохранять брони с дополнительным номером" :

  • Чек-бокс активен - бронь сохраняется с номером из канала продаж (пример: 1583451055) 
  • Чек-бокс не активен - бронь сохраняется с номером из Travelline (пример: 20180813-8438-29593222)

 

 

 

 

2. Работа с Lite версией

 

Модуль Travelline поддерживает работу с Shelter Lite, настраивается аналогично. Исключением по настройке интеграции является только заведение организации Travelline.

1.  Чтобы завести/отредактировать организации нужно создать любую бронь на шахматке (Рис. 22):

 

(Рис. 22)

 

 

2. В открывшейся карточке, в секции «Организации» нажать на <...> (Рис. 23):

 

 

(Рис. 23)

 

 

3. Откроется окно со списком заведенных организаций, в котором можно их добавлять/изменять. Необходимо нажать «Добавить» (Рис. 24):

 

 

(Рис. 24)

 

 

4. Открывается окно в котором необходимо заполнить тип клиента, краткое и полное наименование, тип организации и канал продаж.

Заполняем как на примере (Рис. 25):

 

(Рис. 25)

 

Краткое, полное наименование и тип организации можете указать по вашему усмотрению. 

 

После выше описанных действий организация Travelline успешно настроена.

 

 

 

Если клиент жалуется что на какую-либо дату выгружается неправильная цена, или вообще не выгружается

 

Первое правило в данном случае - зайти в формирование тарифов, и в калькуляторе тарифов убедиться, что на заявленную дату в рамках тарифа,

используемого для интернет бронирования формируется верная цена. Если в калькуляторе цена не верна, значит это ошибка настройки тарифа, а не выгрузки в TL.

Если цены выгружаются до какой-то даты, а дальше нет, то возможно в модуле настроек стоит дата обновлять до этого числа.

 

 

 

3. Внесение изменений при работающей интеграции

 

В случае, если выгрузка в Travelline у вас уже работает и вы вносите изменения в Shelter по тарифу, количеству мест и тд, то после внесения изменений выгрузку необходимо перезапускать (перезапуск служб OnlineServer и TravellineServer).

 

 

 3.1 Анализ ошибок настройки

 

Если служба работает неверно, то следует в первую очередь проверить что настройки верны:

  1. Выбрана схема работы

  2. Добавлена организация для TL, в ее настройках указан канал TL. Имеется договор по-умолчанию.

  3. В настройках верно указан код гостиницы. В карточке гостиницы в shelter так же во вкладке "Сервисы и оборудование" указан этот код

  4. Выбран тариф, который будет использоваться для TL. В его настройках стоит флаг использовать для TL, верно указан id тарифа.

  5. Используется последняя версия модуля

  6. Файл onlineserver.xml актуальной версии

  7. Если в ключе нет проекта 3, модуль 5 - в onlineserver.xml все autostart="1" заменены на autostart="0" Причина 90% ошибок - неверные настройки.

      Не поленитесь перепроверить их!

 

 

3.2 Анализ логов

 

Порядок обмена:

Запрашиваются настройки через OnlineServer — пример:

 

 

TTravelLineCM.Init Result = 1

Вызывается метод «HotelAvailRQ» (TRY: HotelAvailRQ), отправляем по HTTP-протоколу сформированный xml-запрос :

 

Если доставка успешна — получем ответ (DONE: HotelAvailRQ), который возвращает Типы номеров (<RoomTypes>) и Типы тарифов (<RatePlans>)

 

Происходит сопоставление типов категорий номеров и типов тарифов в Travelline и Shelter (по API — кодам, количеству основных/дополнительных мест)

Далее вызывается метод HotelAvailNotifRQ (TRY: HotelAvailNotifRQ) - выгружается доступность номерного фонда

 

Ответ :

 

После этого вызывается HotelRateAmountNotifRQ (TRY: HotelRateAmountNotifRQ) – выгрузка стоимости по тарифу

 

Ответ :

 

Проверка недоставленных броней происходит при помощи метода HotelReadReservationRQ (TRY: HotelReadReservationRQ)

 

В ответ (DONE: HotelReadReservationRQ) приходит xml с информацией по брони (канал бронирования, номер брони, дата заезда/выезда и пр.)

Происходит парсинг xml средставми службы Travelline и сохранение брони.

 

Выгрузку доступных мест (основных и доп.) можно увидеть в логе, по ключевому слову :  <rs_quant>

 

Где каждая нода <rs_qant> содержит категорию размещения.

<f1> - категория размещения (номер/осн.место/доп.место), содержит категорию гостя (<f2>)

 

Принудительная выгрузка из Shelter в TravelLine.

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

 

1. Остановить службу UCS Shelter TravelLine Server;
2. Остановить службу UCS Shelter Online Server;
3. Запустить службу UCS Shelter Online Server;
4. Запустить службу UCS Shelter TravelLine Server;

 

Shelter + RKeeper

Закрытие из RKeeper в Shelter2 через FarCards

 

 

Описание интерфейса связи RK7 и Shelter2 через FarCards.

 

Структурная схема.

 

 

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

RKeeper при оплате на специальную валюту обращается к FarCards, который вызывает подключенную к нему sdmHTTPFarCard.dll.

Последняя dll обращается к ключу защиты и если лицензия найдена (проект 2 модуль 11),

отправляется XML запрос на TCP/IPi сервер - программу HTTPRKtoSH.exe. Этот сервер обращается к ShelterConnect.dll,

которая работает с базой данных Shelter.

  • Используемые версии ПО
  • ​Версия станции и кассового сервера 7.5.7.65
  • Версия FarCards 6.04
  • Важно!!! pds_netk.dll из версии RK7 7.5.3.x
  • ​Shelter версия 2.12.120.2365
  • HTTPRKtoSH от 16.06.2017
  • ShelterConnect.dll от 17.02.2017
  • sdmHTTPFarCard.dll от 10.03.2017

Дистрибутив находится на FTP

 

Настройки RKeeper7.

 

    1. Зайти в меню Сервис - Кассовые станции и устройства. Добавить устройство: PDS Interface#1. (Рис.1)

 

(Рис. 1)

 

  • Параметр PDS Server Name = rkfcsh – имя сервера FarCard, через который будет обеспечиваться связь с системой Shelter.
  • ВНИМАНИЕ! LookupCardByMailAddr = YES, Mail Addr Type Kind = 2
  • Если параметр «Pass All Receipts XML data» установить «YES Always (fail if impossible)», то при закрытии на любую валюту этот заказ будет передаваться в Shelter. Для этого должны быть сделаны соответствующие настройки в ShelterConnect.ini, и в настройках программы.  Не рекомендуемая схема работы.

    2. Зайти в меню Сервис - Интерфейсы. Добавить новый интерфейс. Назовем его INTF Shelter FC (Рис.2)

(Рис. 2)

 

В данном интерфейсе указываем ранее заведенный PDS interface. Код интерфейса необходимо прописать в фале HTTPRKtoSH.ini, в секции :

[SERVER]

RKInterfaceID=6

 

    3. Перейти в меню «Сервис» - «Обработка сигналов устройств» - «MCR алгоритмы» и добавить MCR-алгоритм.

Указываем область «Интерфейс», а так же объект - заведенный ранее интерфейс из п.2. Если указать область «Валюта»,

то при оплате появится ошибка 232: "Не получается напечатать чек: Персональное ограничение для "" = 0.00."

 

(Рис. 3)

 

    4. Далее, необходимо завести валюту, в разделе «Платежные карты» - «На номер FC» - Рис. 4

 

(Рис. 4)

 

 

Важно обратить внимание на заполнение полей :
  • Без сдачи - флаг установлен;
  • Доп. Инфо с клавиатуры - флаг установлен;
  • Автозаполнение - Вся сумма + подтверждение; Формат доп. Инфо - символ R и решетки (########). Символ R является ключевым, для определения номера комнаты
  • Не учитывать в потратах ПДС - флаг должен быть снят;

​Аналогично необходимо настроить закрытие на фолио (создать валюту).

 

Настройки FarCards :

 

FarCards необходимо установить на ПК, к которому физически подключен ключ защиты (для Shelter), а так же убедиться,

что в ключе присутствует соответствующий модуль :

Проект 2, модуль 11 - Интерфейс РК-Шелтер

 

Доработка по отмене проверки лицензии со стороны httpFarCards ведется в задаче : http://tracker.ucs.ru/issues/116728

 

Более подробную информацию по установка FarCards можно найти тут : http://support.ucs.ru/ru/node/6673#header-10

 

(Рис. 5)

 

Пример настройки FARCARDS.INI :

 

[FarServer]

Type = 1

DLL = sdmHTTPFarCard.dll

Gate = 3

log = 30

XMLCP=1251

[LinkDLL] 

1 = RTCP

2 = RNBOpen

3 = pds_netk

[RTcp] 

$Client1 = Премьера

$Server1 = 127.0.0.1

$Port = 2277

[RNBOpen] 

APServer = CS_SERV

[pds_netk] 

NetServerName=rkfcsh2

ininame=netk.ini

DebugMessages=1

[Card System 5] 

Address=127.0.0.1

Port=9191

Log_Level = 10

Log_Count = 5

Qualifier = 2

Images_Path = E:\CS_501\images\

 

netk.ini :

 

[netkern]

TESTMESSAGES=0

protocols=tcpsoc.dll

[TCPSOC]

port=2234

 

HTTPFarCard.ini :

 

[PARAMS]

ClientCode = HOTEL

UserCode = UCS

UserPwd = 12345

LangCode = RU

[SERVER]

Host = 127.0.0.1

Port =2277

[LOG]

FileName=HTTPFarCards_AB.log

Level = 100

DebugLevel = 100

 

FarCards обращается к sdmHTTPFarCard.dll, которая должна находиться в папке с FarCards. sdmHTTPFarCard.dll защищена

ключом защиты UCS Shelter. Этот ключ должен физически находиться на машине, где запущен FarCards. В случае связи с ПО Абонемент

или гостиничной системой Shelter, можно воспользоваться одним ключом, если FarCards запущен на одном сервере с Shelter или Абонемент.

Настройки осуществляются в файле HTTPFarCard.ini. Ниже приведен его пример.

 

HTTPRKtoSH.ini:

 

[SERVER]

Port = 2277

RKInterfaceID=6

AllCheckToHotel = 1

IdentPhysType = 2

Autostart = 1

Autohide =0

[LOG]

FileName = C:\UCS\HTTPtoAB\LOG\HTTPRKtoSH.log

 

Level = 100

DebugLevel =100

 

ByMonthes = 1

ByDays = 1

ByHours = 1

 

HTTPRKtoSH.exe является сервером, который слушает TCP/IP и обрабатывает XML запрос от sdmHTTPFarCard.dll. HTTPRKtoSH.exe

по умолчанию всегда вызывает функции ShelterConnect.dll, которая должна находить в одной директории с ним.

Основные настройки осуществляются в файле HTTPRKtoSH.ini

 

ShelterConnect.ini:

 

 

 [Database]

  DBname    =   127.0.0.1/3080:D:\Base\Garbage_Shelter\IBDATA\SHELTER.FDB - имя базы Shelter-а, с указанием полного пути

и имени компьютера, на котором установлен Shelter.

  DBUser   =  ucs - имя пользователя для подключения к базе Shelter-а
  DBPassword = oQKH8n0BFUE= - пароль для подключения к базе Shelter-а
 
[ExternalClient]
  ClientID = 1 - код shelterconnect'a, если используются несколько ShelterConnect.DLL
  IdentPhysType = 2 - Тип устройства. Данный параметр не анализиурется в shelterconnect, а анализируется в HTTPRKtoSH
  ConvertOperationNeed = 1 -  0- не использовать секцию [TranslateOperation], 1- использовать секцию
  ToOEM = 0 (0 - нет конвертирования, 1- конвертирование текстов в/из OEM/Windows (ошибки, комментарии, тексты ... )).

Должен быть 0. При переходе с Rkeeper 6, поменять на 0!

  NeverRestrictTransaction = 0 (0- проверять баланс фолио перед совершением транзакции, 1- не проверять баланс перед совершением транзакции).
  FolioMask = 1 - Фиксированное значение.
  ShowBalance = 1 (1 — при запросе разрешенной суммы оплаты добавлять к имени клиента текущий баланс, 0 - не добавлять).
  ShowBalanceFirst = 1 -  показывать баланс перед именем клиента.
  RoomInfoMode = 3 
  TransSection =0
  ConvertExtIDtoNumber = 1/0 - использование внешенего номера, описание ниже.
 
[log]
  FileName  = ShelterConnect.log
  Level   =  100
  DebugLevel =  100
 
[GarbageCollector]
  Enabled  = 0
  LifeTime = 120
 
[SCRK6]
  AlcoholicOperation =999;
  Messages =SCRK6.eng.msg
 
  UseScreenHeader0 =1
  UseScreenHeader1 =1
  UseScreenSequelCode =1
 
  ShowBalance = 1
  ShowBalanceFirst = 1
  ShowBalanceEverywhere = 1
 
  UseDetails = 1
  UseSuperDetails = 1
 
[TranslateOperation]
     1 = 301
     2 = 301
     3 = 301
     4 = 301
     5 = 301
     6 = 301
     7 = 301
     8 = 301
     9 = 301
     10 = 301
     11 = 301
     16 = 301
     17 = 301
   999 = 301
 
[TranslatePayment]
  1 = 1005,910
  1000632 = 1005,901
  8 = 1005,901
  3 = 1005,901
 
        Для того, чтобы при закрытии на номер, услуга закрывалась на 0-ю, 1-ю, 2-ю и другие секции в shelter, необходимо добавить в shelterconnect.ini секцию [PARAMS]:
[PARAMS]
NoAutoDiscount = 0
Section = 2  - Номер секции, на которую будет происходить закрытие на номер.
UseSection = 1
 
Описание параметра ConvertExtIDtoNumber
    Данный параметр необходимо включать, если в одной базе данных shelter более 2-х гостниц и существует одинаковые номера, а также номера, включающие символы, например, номер 7 и 7в.
      После включения данного параметра в shelterconnect.ini, необходимо в "Номерной фонд" в справочниках  shelter проставить параметр "Внешний номер", после чего на кассе RK, необходимо вводить проставленный номер параметра "Внешний номер".
 
 
 

Разделение услуг БАРА и РЕСТОРАНА

 
 
        Для разделения услуг БАРА и РЕСТОРАНА необходимо использовать две станции RK, одна используется  в баре, а вторая используется в ресторане.
             В Shelter необходимо завести услуги  «Ресторан» с кодом 301 и «Бар» с кодом 302 (Рис. 6).
 
Рис. 6.
 

      Далее необходимо сопоставить код услуг shelter c группами станции RK в shelterconnect.ini FARCARDS (Рис 7).

Рис. 7.
 
                                                      Коды группы станции можно посмотреть в «Станции и Устройства» в менеджерской части RK (Рис. 8, Рис. 9).
 
Рис 8.
 
Рис 9.
 

                                                      После закрытия на номер с каждой из станции на фолио гостя будут отображаться две услуги «Бар» и «Ресторан» (Рис. 10).

Рис 10.

 

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

 

                        Для корректного отображения услуг необходимо использовать следующие версии приложения и библиотеки: 

                                           - ShelterConnect.dll v_1.8.0.3;

                                           - HttpRKtoSh v_1.4.

                В RK необходимо настроить и завести категории заказа, которые будут выбираться при создании заказа. В нашем случае заведены следующие категории заказа: Бар, Основной и Ресторан.

Рис 11.

                Для закрытия на номер по категории заказа необходимо в shelterconnect.ini добавить параметр ConvertOperationType =0

[ExternalClient]

ConvertOperationType =0 //Если 0, то закрытие на номер происходит по группе станции. Если 1, то по категории заказа

                При значении параметра ConvertOperationType =1 в секции [TranslateOperation] сопоставляем код категории заказа из поля «Код» (Рис 11) с заведенной услугой в shelter

[TranslateOperation]

     1 = 305

     2 = 302

     3 = 307

     4 = 303

     5 = 301

 

                Заведенные услуги в shelter

                Для проверки корректности работы при создании заказа, необходимо выбирать категорию заказа (Рис 12).

Рис 12.

            После заполнения всех полей и закрытия на номер, на фолио гостя отобразится услуга Бар или Ресторана в зависимости от выбранной категории заказа.

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

 

                Разделение услуг БАРА и РЕСТОРАНА

                (Выделение алкоголя. Схема из задачи #173858).

                Для реализации данной схемы неообходимо два экземпляра FARCARDS, которые можно запустить на одном рабочем месте, указав разные порты.

                    Настройка shelterconnect.ini представлена на рисунке 13.

Рис.13

                Настройка PDS Interface настраивается аналогичным образом, как и при закрытии на номер, за исключением параметра «Pass All Receipts XML data». Настроки  представлены на рисунке 14.

Рис. 14

                Сами интерфейсы настраиваются точно также, как и при закрытии на номер

Рис. 15

            Для разделения блюд по разным категориям на БАР и РЕСТОРАН, настроили две классификации блюд в "Отдел ФР" по мануалу https://support.ucs.ru/ru/node/7224 , которые представлены на рисунке 16.

Рис. 16

 

                Далее необходимо завести две валюты и  для каждой выбрать классификацию, которые были созданы раннее (Рисунок 17)

Рис. 17

                Для реализации данного механизма потребуется либо ФР, либо принтеры печати. В нашем случае был использован один принтер печати SEWOO, настройки представлены ниже на рисунке 18.

Рис. 18

                Если не настроить "Назначение принтеров", то при закрытии на номер будет ощибка

 

                Для проверки корректности работы, создается стол или быстрый чек, добавляем блюда из БАРА и РЕСТОРАНА (Рисунок 19)

Рис. 19

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

Рис 20.

                После поочередного закрытия на номер каждой валютой выйдет два чека и на фолио гостя отобразятся две услуги БАР и РЕСТОРАН (Рисунок 21)

Рис 21.

 

                 Закрытие числовой номер или название комнаты в Shelter

               Через FarCards возможно закрывать на символьные номера, например, 3M, Fito и т.д. (Рисунок 22).

Рисунок 22

              Для этого необходимо для валюты "Закрытие на номер" в поле "Формат доп. инфо" ввести маску Raaaa 

Рисунок 23

              После чего, в поле ввода необходимо вводит необходимый номер комнаты, например, Fito.

Рисунок 24

              После ввода номера/названия комнаты появится стандартное окно с информацией о госте и балансе.

 

 

Выгрузка меню в DBF формат из RK.Подключение меню к Shelter

 

 

 

Выгрузка меню в DBF формат из R-Keeper 6.

 

Находим файл Rkeeper.ini, обычно он находится в папке C:\RK6. В этом файле ищем секцию [Transport], смотрим значение параметра StockPath =

В этой папке будет сформированы файлы, в том числе и файл menu.dbf. Именно этот файл используется в Shelter в менеджере мероприятий.

Запустить программу Transp32.exe, выбрать меню файл, экспорт в склад.

 

 

Подключение данного меню к Менеджеру мероприятий (ММ) в Shelter1

 

1. Сохраняем файл menu.dbf, например, в папке запуска программы Shelter.

2. Заходим на панель управления компьютера, находим там папку «Администрирование» и заходим в нее (Win32), если win64 то заходим в sysWow64 и запускаем odbc.

3. В этой папке находим «Источники данных (ОDBС)» и заходим в эту папку.

4. Переходим на закладку «Системный DSN», нажимаем на кнопку «Добавить».

5. В списке драйверов выбираем dBASE files (Microsoft Access d BASE Driver(.dbf)) выделяем его и нажимаем кнопку  «Готово».

6. Появляется окно «Установка драйвера ODBC для dBASE». В поле  «имя источника данных» прописываем  название (Например:  rkmenu)

7. Снимаем галочку «использовать текущий каталог» и выбираем каталог из списка (Выбираем тот каталог, где мы в п.1 сохранили файл menu.dbf) .

При правильном выборе каталога, в левом поле окна «выбор каталога» появится нужный нам файл menu.dbf. Нажимаем на «OK».

8. Заходим в SHETER\EXE\ и открываем events.ini. В параметре Data Source должно быть прописано то название, которое мы прописали в п.7. 

9. Запускаем программу, после создания варианта меню на закладке ресторан появится список блюд.

 

 

Выгрузка меню в DBF формат из R-Keeper 7.

 

Для выгрузки меню из R-Keeper7 необходимо скачать архив  rk7dbf_11055 с FTP

Настраиваем rk7_dbf.ini в соответствии со статьей http://support.ucs.ru/ru/node/7952. После выгрузки меню (Menu.dbf), необходимо его подключить

к менеджеру мероприятий.  

 

 

Подключение данного меню к Менеджеру мероприятий (ММ) в Shelter2.

 

1. Сохраняем файл menu.dbf, например, в папке запуска программы Shelter.

2. Заходим на панель управления компьютера, находим там папку «Администрирование» и заходим в нее (Win32), если win64 то заходим в sysWow64 и запускаем odbc.

3. В этой папке находим «Источники данных (ОDBС)» и заходим в эту папку.

4. Переходим на закладку «Системный DSN», нажимаем на кнопку «Добавить».

5. В списке драйверов выбираем dBASE files (Microsoft Access d BASE Driver(.dbf)) выделяем его и нажимаем кнопку  «Готово».

6. Появляется окно «Установка драйвера ODBC для dBASE». В поле  «имя источника данных» прописываем  название (Например:  rkmenu)

7. Снимаем галочку «использовать текущий каталог» и выбираем каталог из списка (Выбираем тот каталог, где мы в п.1 сохранили файл menu.dbf) .

При правильном выборе каталога, в левом поле окна «выбор каталога» появится нужный нам файл menu.dbf (Рис. 1). Нажимаем на «OK».

 

 

Рис. 1 – Основные настройки

 

 

8. Заходим в SHETER. Переходим в «НАСТРОКИ СИСТЕМЫ – ВНЕШНИЕ СИСТЕМЫ – R-Keeper» и в параметре «База данных» прописываем название,

которое мы прописали в п.7 (Рис. 2).

 

 

Рис. 2 - Настройки системы в Shelter

 

 

 

9. После переходим в «Менеджер мероприятий», создаем мероприятие и для создания варианта меню на закладке ресторан появится список блюд (Рис. 3).

 

 

Рис. 3 - Менеджер мероприятий с загруженным меню

 

 

ВНИМАНИЕ!!! Выгруженное меню используется для отчета "Коммерческое предложение", в котором будет отображатся все позиции с указанием цен.

 

 

 

 

 

 

 

 

 

RK7 + Shelter2 Закрытие на номер, Закрытие завтраков

 

 

 

Закрытие на номер

 

Файлы для закрытия на номер можно скачать тут

 

 

Для настройки связки RK7 + Shelter2 для закрытия заказа на баланс фолио в Shelter потребуется произвести следующие настройки:

 

1.      Станция Менеджера, добавляем на «Кассовый сервер» интерфейс «Shelter interface». (Рис. 1)

 

(Рис. 1)

 

 

2.      Настраиваем «Деньги» → «Валюты» → «Карты Отелей» → «Карта Отеля» (Рис. 2)

 

Необходимо проверить:

  •   Статус - «Активен»
  •   Не в сдаче - «V»
  •   Без сдачи - «V»
  •   Автозаполнение - «Вся сумма + подтверждение»
  •   MCR алгоритм - «9 Карта отеля»
  •   Интерфейс - «Интерфейс к Shelter»

(Рис. 2)

 

3.      Настраиваем кнопку «Оплата Картой» (Рис. 3)

   «Настройки» → «Параметры» → «Параметры рабочей станции» → «Редактирование заказа» → «Расчет\оплата заказа» → «Оплата платежной картой»

   

    В свойствах ставим:

  •     Значение - «Спрашивать»

(Рис. 3)

 

4.     Настройка «MCR алгоритма» (Рис. 4)

    «Сервис» →«Обработка сигналов устройств» →«MCR алгоритмы» →«Карта отеля»

 

    Ставим:

  • Клавиатура - «V»
  • Магнитная карта - «V»

 

 

(Рис. 4)

 

 

5. Копируем библиотеку ShelterConnect в каталог RK7\bin\win (Рис. 5)

    Файлы, которые следует перенести:

  • SCRK6530.dll
  • SCRK6.eng.msg
  • ShelterConnect.dll
  • ShelterConnect.ini
  • delphimm.dll
  • gds32.dll
  • IBUser.dll

(Рис. 5)

 

 

6.      Настраиваем ShelterConnect.ini :

 

[Database]

DBName = 172.22.10.41/3080:D:\Base\Garbage_Shelter\a.gusev\severnaya\SHELTER1.fdb - имя базы Shelter-а, с указанием полного пути

и имени компьютера, на котором установлен Shelter.

Dbuser = UCS - имя пользователя для подключения к базе Shelter-а

DBpassword = oQKH8n0BFUE= - пароль для подключения к базе Shelter-а

 

[ExternalClient]

ClientID=1 - код shelterconnect'a, если используются несколько ShelterConnect.DLL

IdentPhysType = 200 - Тип устройства

ConvertOperationNeed = 1 -  0- не использовать секцию [TranslateOperation], 1- использовать секцию

ToOEM = 0 - (0 - нет конвертирования, 1- конвертирование текстов в/из OEM/Windows (ошибки, комментарии, тексты ... )).

Должен быть 0. При переходе с Rkeeper 6, поменять на 0!

NeverRestrictTransaction = 0 (0- проверять баланс фолио перед совершением транзакции, 1- не проверять баланс перед совершением транзакции).

FolioMask = $04 - Фиксированное значение. Устанавливается UCS. Не трогать!

ShowBalance = 1  (1 — при запросе разрешенной суммы оплаты добавлять к имени клиента текущий баланс, 0 - не добавлять).

ShowBalanceFirst = 1 -  показывать баланс перед именем клиента.

ShowBalanceEverywhere = 1 - добавлять баланс к имени клиента при всех запросах (запрос разрешенной суммы и запрос информации о комнате).

UseScreenHeader0 =1

UseScreenHeader1 =1

UseScreenSequelCode =1

; BalanceBySection = 2

; BalanceBySectionKind= 0

ShowPermissibleSumAsBalance = 1

ConvertExtIDtoNumber = 1/0 - использование внешенего номера, описание ниже.

RoomInfoMode = 3

 

[GarbageCollector]

Enabled  = 0

LifeTime = 120

 

[SCRK6]

UseDetails = 0

AlcoholicOperation = 999

Messages = SCRK6.eng.msg

UseScreenHeader0 = 1

UseScreenHeader1 = 1

UseScreenSequelCode = 1

UseSuperDetails = 1

 

[PARAMS]

NoAutoDiscount = 0

Section =2 - указаывается секция, на которую будет начислена услуга

UseSection =1 - использование секций для закрытия заказа на определенную секцию

 

[TranslateOperation]

0 = 301

1 = 301

24 = 301

 

[TranslatePayment]

10001 = 501,903

 

 

Необходимые настройки shelterconnect.ini для контроля баланса секции фолио в Shelter

 

[ExternalClient]

.

ShowBalance = 1

ShowBalanceFirst = 1

ShowBalanceEverywhere = 1

BalanceBySection = 2 (где 2 номер секции фолио)

BalanceBySectionKind=0

….
 

[PARAMS]

….

Section =2 (где 2 номер секции куда будет произведена транзакция из R-keeper)

UseSection =1

….

 

Описание параметра ConvertExtIDtoNumber

 

      Данный параметр необходимо включать, если в одной базе данных shelter более 2-х гостниц и существует одинаковые номера, а также номера, включающие символы, например, номер 7 и 7в.

       После включения данного параметра в shelterconnect.ini, необходимо в "Номерной фонд" в справочниках  shelter проставить параметр "Внешний номер", после чего на кассе RK, необходимо вводить проставленный номер параметра "Внешний номер".

 

 

7. Перезапускам кассовый сервер.

8. Проверяем работу закрытия на номер

 

 

Выбираем «Карты отелей» (Рис. 6)

 

(Рис. 6)

 

 

 

Необходимо ввести номер комнаты, в которой проживает гость. (Рис. 7)

 

(Рис. 7)

 

После ввода номера должен отобразиться гость, который проживает в данном номере. (Рис. 8)

 

(Рис. 8)

 

Далее нажимаем оплата картой и подтверждаем оплату. (Рис. 9)

 

(Рис. 9)

 

Оплата должна упасть на фолио гостя (Рис. 10)

 

(Рис. 10)

 

 

 

 

Закрытие завтраков через RKeeper7 в Shelter2

 

 

1. Механизм работы

Гостя размещают в гостинице по тарифу с завтраком. Придя в ресторан на завтрак, кассир через быстрый чек, выбирает комплексное блюдо,

например «Завтрак». 

Кол-во таких блюд в заказе должно соответствовать кол-ву пришедших в данный момент людей. Нажимает на кнопку «Расчет заказа» и выбирает 

тип оплаты «Закрытие на номер». Вводит номер комнаты гостя. Или прикладывает карту-идентификатор к считывателю. На экране отображается ФИО гостя. Кассир нажимает кнопку «Оплата картой». 

На экране отображаются все положенные услуги питания на этот номер. Рис 1.

 

 

(Рис. 1)

 

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

Заказ оплачивается через закрытие на номер. При этом заказ с нулевой ценой на фолио не попадет. А у требуемых услуг питания появится отметка

о отгрузки данный услуг.

 

2. Настройки Shelter

В Shelter2 заведены тарифы таким образом, что услуги питания выделены отдельно. Завтрак включен в тариф и начисляется отдельной услугой

по кол-ву проживающих в номере людей. В настройках программы нужно включить опцию «Создавать схему питания для внешних систем».

 

«Настройки системы» «Прочие»«Создавать схему питания для внешних систем». (Рис. 2)

 

(Рис. 2)

 

В карточке поселения появится кнопка «Расписание питания». Информация в RK передается согласно данным из этой карточки.

Если в ней нет данных, то в RK7 не будет видно, что этому гостю положены услуги питания. В настройках Shelter2 нужно завести расписание питания.

В нем указать те же самые услуги питания, которые включены в тариф (данном случае завтрак 33010).

 

3. Настройка RK7

Заводится блюдо, например Завтрак. Стоимость данного блюда равняется стоимости соответствующей ему услуги питания в Shelter2. 

В менеджерской части RK7 завести скидки. Скидка должна делаться только на те блюда, которые отгружаются в завтрак (обед, ужин).

Если на завтрак разрешено отпускать только одно комплексное блюдо, то скидка работает только на него. Важно, чтобы скидка делалась многократно.

А код скидки (33010) соответствовал коду услуги Завтрак, заведенной в Шелтер. Количество скидок соответствует кол-ву услуг питания входящих

в тарифы (детский завтрак, обед, ланч..). Настройка скидок отображена рис. 3 и рис. 4.  

Настройка обеда, ужина и тд. производится идентично

 

(Рис. 3)

(Рис. 4)

 

 

Установка Shelter 2

 

 

Установка программного обеспечения Shelter 2 (ver. 2.12.120.2365 и выше)

 

Для установки программно-аппаратного комплекса Shelter 2 (ver. 2.12.120.2365 и выше) необходимо скачать с FTP установочный файл необходимой версии.

 

После получения установочного файла (setup_shelter_2.12.120.2365.exe и выше) его необходимо:

  1. Запустить файл от имени администратора;

  2. Выбрать необходимый языковой пакет;

  3. Указать каталог для установки Shelter:

 

  4. В следующем окне (Выбор компонентов), из выпадающего списка, выбрать «Установка серверной части», переместиться в конец списка

и отметить чек-боксами необходимые пункты меню. По умолчанию, основные пункты уже отмечены. Единственно, что необходимо изменить,

это выбрать «SuperServer - один процесс на все соединения» :

 

А так же выбрать разрядность «Драйвер Guardant 5.50» :

 

  5. В выпадающем списке выбрать «Установка клиентской части» и выбрать необходимые пункты меню для установки.

  6. После выбора всех необходимых компонентов нажать «Далее».

  7. В следующем окне предлагается выбрать папку в меню «Пуск». Можно оставить по умолчанию Shelter.

  8. В окне выбора дополнительных задач выбрать чек-бокс «Создать значок на рабочем столе».

  9. В окне «Настройка» :

Firebird: название службы

Shelter2 (можно не изменять)

Firebird: номер порта

3080 (как правило 3050 - для Firebird 1.5, а 3080 - для Firebird 2.5, так же можно указать любой свободный порт)

Сервер блокировок: IP-адрес

127.0.0.1 (IP-адрес машины, где будет установлен сервер блокировок)

Сервер блокировок: Порт

1114 (можно указать любой свободный порт)

Путь к базе данных Firebird 2.5:

Прописать путь до БД, с указанием IP-адреса и номера порта Firebird

Путь до локального сервера обновлений:

Указать путь до папки, в которую будут скачиваться файлы для обновления (на данном этапе установки не обязательно заполнять это поле)

  10. В следующем окне отображается список всех выбранных компонентов для установки, нажать «Далее».

  11. В процессе установки Shelter появится всплывающее окно с выбором языка для установки «Firebird ODBC Driver»

Выбрать соответствующий язык, нажать «Далее» - Принять лицензионное соглашение - «Далее» - при необходимости,

указать директорию для установки «Firebird ODBC Driver» - «Далее» - в следующем окне, в выпадающем списке, выбрать необходимый пункт меню 

(как правило, «Полная установка»), затем нажать «Далее», выбрать папку в меню «Пуск» (можно не изменять) - «Далее» -

«Установить» - выполняется процесс установки - «Далее» - снять чек-бокс с «Просмотреть Readme.txt» - «Завершить».

  12. Появится информационное окно, сообщающее о начале подготовки базы данных. Подготовка базы данных означает восстановление из резервной

копии (restore). Если, по какой-то причине, не удалось восстановить БД в момент установки Shelter, то это можно сделать после, воспользовавшись restore.bat 

  12.1. Если подготовка БД не произошла, то необходимо перейти в каталог с установленным Shelter, в папку IBDATA, найти и открыть файл restore.bat.

Проверить корректность путей до shelter.fbk и gbak.exe, после чего запустить restore.bat

База данных должна отресториться корректно и называться SHELTER.FDB

  13. В обязательном порядке настроить и проверить резервное копирование базы данных по расписанию. В противном случае, при поломке БД,

вы не сможете восстановить работоспособность объекта, путем выполнения базы данных при помощи restore.bat.

 

Рекомендации по резервному копированию :

  Резервное копирование выполняется при помощи backup.bat и планировщик заданий; Копирование необходимо выполнять, как можно чаще,

несколько раз в день; Файлы с резервными копиями БД рекомендуется держать не на системном диске, при этом параллельно копировать на сетевой диск;

ВНИМАНИЕ (!!!) Файлы, содержащие в названии «breaked» не являются корректными. Breaked может свидетельствовать о поломке БД.
ВНИМАНИЕ (!!!) Все действия, выполняемые с базой данных Shelter (backup/restore), должны производиться только от пользователя UCS в FireBird (не путать с пользователем ucs в Shelter)

  14. Переместить shelter.ini из директории :

C:\Users\%USER_NAME%\AppData\Roaming\UCS\Shelter в директорию с установленным shelter и добавить в shelter.ini следующие секции :

  [INI]

  Path=%EXE_PATH%\shelter.ini

 

  [Log]

  Path=%EXE_PATH%\Logs\

  name=

  level=100

  debuglevel=100

  fileage=0

  maxlogsize=20

 

Секция [INI] нужна для того, чтобы файл с настройками «читался» из директории, где находится shelter.exe.

Так же необходимо добавить секцию :

  [server]

  tcpport=1114

  tcphost=

 

Параметр tcpport отвечает за порт, на котором будет запущен LockServer.

Параметр tcphost не изменять.

  15. В директории Shelter создать ярлык для shelter.exe, в свойствах ярлыка, в поле «Объект» добавить следующий ключ :

        -lock_server -install

Данный ярлык необходимо запустить от имени администратора, должно появиться сообщение об успешной установке службы UCS LockServer 

(сервер блокировок) :

 

Необходимо перейти в «Службы» и запустить (если не запущено) UCS Shelter Lock Server

Проверьте наличие необходимых модулей в ключе защиты.

  16. Запустите shelter.exe

При запуске может появиться следующее окно :

 

Означает, что нет подключения к серверу блокировок. Необходимо нажать «Ок», появится следующее окно :

 

Нажимаем «Да»

В появившемся окне указать IP-адрес ПК, где запущен сервер блокировок, а так же указать порт и нажать «Проверить соединение»

Если всё указали верно, то появится следующее сообщение:

 

Нажать «Ок» - «Далее»

  17. Аналогичная проблема может возникнуть при подключении к базе данных :

 

Нажать «Да». В открывшемся окне проверить параметры подключения к БД :

 

После ввода правильных параметров подключения к БД необходимо нажать «Проверить соединение»

Если подключение к БД прошло корректно, появится соответствующее сообщение об успешном установлении соединения :

 

Нажимаем «Ок»

  18. Для установки Shelter 2 на клиентских ПК необходимо создать папку, к примеру Shelter2 и скопировать в нее следующие папки :

Dosc

FRF

IBExpert

Languages

LIB

И файлы :

shelter.exe

shelter.dll

gds32.dll

bass.dll

borlndmm.dll

libeay32.dll

ssleay32.dll

shelter.ini

shelter2.chm

Далее необходимо добавить путь до содержимого папки LIB в переменные среды :

Нажать ПКМ на «Этот компьютер» - «Свойства» - «Переменные среды» - в поле «Системные переменные» необходимо найти переменную «Path» :

 

Дважды нажать на эту переменную, в открывшемся окне нажать «Создать» :

 

В созданном поле скопировать путь до содержимого папки LIB и нажать «ОК»

После этого можно запускать Shelter

 

Так же, стоит обратить внимание на права доступа в Windows. Желательно назначить максимальные права для папки Shelter

и на сервере  и на рабочих местах.

 

 

 

Перевод даты в базе данных

ВНИМАНИЕ!!! Скрипт можно выполнять только на пустой базе, в которой нету на шахмате поселений и броней

 

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

 

update DEFAULT_VALUES set strvalue = floor(d2dbl('now')) where name = 'WORKSHIFT_DATE';

update POS set shift = 1;
update POSSHIFTS set pos = 1, begindate = d2dbl('now');
update FOLIO set creationdate = d2dbl('now'), creationshift = floor(d2dbl('now'));
update WORKSHIFTS set id = d2dbl('now'), begindate = d2dbl('now') where id = (select max(id) from WORKSHIFTS);
update HOTELS set workshift = floor(d2dbl('now'));
commit;
 
 
 

Настройка автоматического резервного копирования.

Настройка автоматического резервного копирования.

Необходимость настройки автоматического резервного копирования продиктована множеством причин и является обязательным элементом работы с БД. При установке ПО, необходимо заключить с клиентом соглашение  о резервном копировании БД, которое оставляет дальнейшую ответственность за резервное копирование на заказчике.

Чтобы настроить автоматический backup БД, необходимо создать Простую Задачу в Планировщике Задач Windows (Task Scheduler).

Триггер: ежедневно.

Повторять каждый день или чаще/реже - по договорённости с заказчиком. Обычно бэкап делается в ночное время (никто не работает с базой, в ней сохранены все изменения за день).

Действие: запустить программу.

Указываем путь до bat-файла backup.bat, который находится в директории \Shelter\IBDATA\ 

После сохранения, зайдите в свойста задачи.

Поставьте галочки "Выполнить с наивысшими правами", "Выполнять действия для всех пользователей"

Попробуйте выполнить эту задачу из планировщика. Резервная копия должна создаться без ошибок. Если этого всё-таки не происходит, перепроверьте ещё раз все пути, особенное внимание обратите на относительные пути (если имеются) - можно заменить их на абсолютные.

Рекомендуемой опцией резервного копирования является настройка копирования на внешний диск / диск удаленной машины / облачное хранилище данных (например Yandex Disk). Для этого необходимо установить Яндекс (или Google) Диск на локальную машину, настроить папку синхронизации и установить копирование архива бэкапа базы в эту папку, таким образом она будет синхронизироваться с облачным хранилищем, значительно уменьшая вероятность потери данных, необходимых для восстановления БД.

Общие требования к компьютерному обеспечению для ПО Абонемент(Shelter).

Общие требования к компьютерному обеспечению для ПО Абонемент(Shelter).

Сервер

Рекомендуется выделенный сервер. Мощность сервера и кол-во ОЗУ должны выбираться исходя из количества одновременных подключений к серверу. Чем больше рабочих мест в заведении, тем выше необходима мощность сервера. Приведем пример серверного оборудования для среднего объекта с одновременно работающими в программе 10 клиентскими приложениями.

Процессор: Intel® Xeon® Processor E3-1220 v6, оперативная память: 16 Гб. Особое внимание на скорость работы и надёжность дисковой подсистемы. Рекомендуется установка работы дисков в режиме RAID 10 (RAID 0+1), с необходимым количеством свободного места минимум 500 Гб (лучше - больше). Для работы программы свободного места на жестком диске требуется не менее 10 Гб (при установке базы данных на данной машине). Средний объем БД программы составляет до 3 Гб. Размер пустой БД при установке ~ 30 Мб.

Так же рекомендуется уделить внимание надёжности и быстродействию сетевого интерфейса на сервере (и общей инфраструктуры сети в целом).

Для стабильной работы на сервере (или рабочем месте, если используется один и тот же компьютер) должна быть установлена операционная система Windows не ниже седьмой версии.

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

Программа использует сервер баз данных FireBird 2.5. Рекомендуется устанавливать в варианте SuperServer или Classic. По умолчанию FireBird настраивается на TCP\IP порт 3080. Можно установить и настроить на работу FireBird и на другом незанятом порту.  Для обеспечения безопасности на сервере и клиентских рабочих местах, можно запускать любой сетевой экран, «пробросив» все необходимые для работы порты вручную.

Рекомендуется использовать бесперебойные блоки питания (UPS). Для машины, на которой установлена БД программы, наличие UPS обязательно.

Рабочее место

Минимальные требования к рабочему месту среднего фитнес клуба (гостиницы до 100 номеров):

Центральный процессор Intel Core i3 2.4 GHz или AMD эквивалент.

Оперативная память - минимум 4 Gb.

Если данное рабочее место используется как касса быстрой продажи, то рекомендуется установить компьютер с Touch-экраном. Например, вот такой моноблок HP 24-g038ur All-in-One < X0Z57EA#ACB >  (i3 6100U / 8 / 1TbSSHD / DVD-RW / WiFi / BT / Win10 / 23.8") – данная конфигурация является примером и может варьироваться от нужд и средств заказчика.

Сама СУБД FireBird в особых технических изысках не нуждается. Но, как правило, на рабочем месте установлены другое ПО (офисный пакет, браузер, почтовые программы, и т.д.), соответственно, данный компьютер должен иметь необходимое количество оперативной памяти и размер жесткого диска.

Видеокарта и монитор с поддержкой разрешения  минимум 1366х768 (рекомендовано 1920х1080).

Клавиатура, мышь.

В минимальной конфигурации устанавливается 1 рабочее место. Данный компьютер также используется в качестве сервера, т.е. на нем хранится база данных программы (крайне не рекомендуемая конфигурация).

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

·         На сервере (где установлена БД программы) устанавливается USBi ключ – ключ защиты.

·         Программа подразумевает подготовку различной документации (регистрационные карты гостей, печать отчетности, счетов…), соответственно необходимо предусмотреть возможность подключения принтера формата A4. Обычно современные лазерные принтеры подключаются по интерфейсу USB. Возможно использование сетевого принтера.

·         Программа может работать с различной фотоаппаратурой, которая используется для внесения графического изображения клиента в БД. Если предполагается использование не интегрированного устройства, то необходимо предусмотреть наличие аппаратного интерфейса для его подключения.

·         Идентификация гостей может осуществляться с помощью различных информационных идентификаторов (магнитная карта, бесконтактная карта, iButtons…) как правило, данные считыватели подключаются по протоколу RS232i, соответственно данный компьютер должен быть оборудован COM портом. Некоторые считыватели подключаются информационным каналом в RS232, а питание получают через PS\2i.

·         Подключение фискальных регистраторов. Большинство ФР подключаются к компьютеру по протоколу RS232. При одновременном использовании считывателя и ФР необходимо наличие как минимум 2 СОМ портов. Возможно использование PCI плат расширения.

·         В программе информацию о клиентах (анкетные данные) чаще всего вносятся вручную с использованием клавиатуры. Если подключается внешняя клавиатура к ноутбуку не имеющего PS\2 интерфейс, то клавиатура должна быть USB, а на компьютере должен быть свободный USB порт. Если оператору не удобно использовать Touch Pad ноутбука, то возможно подключить мышь, так же через USB.

·         Программа работает в полноэкранном режиме при разрешении не ниже 1280х1024. Как правило, монитор установленный на стойки администратора спрятан от глаз клиента и соответственно находится на некотором расстоянии от глаз администратора, соответственно для удобства работы диагональ монитора должна быть не менее 19 дюймов.

 

Необходимое количество COM и USB для подключения дополнительных устройств.

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

Управление лицензиями. Работа с ключом защиты Shelter

Работа с ключом защиты Shelter и Абонемент происходит одинаково и используются одни и те же утилиты. Информацию можно посмотреть тут 

Замковые системы

Настройка интеграции с замковой системой iLocks/YGS

 

 

Настройка интеграции с замковой системой  iLocks/YGS

 

Для настройки данной интеграции требуется Shelter 2 версии 2.12.122.2390 или новее.

Сотрудники технической поддержки Shelter настройкой замковой системы не занимаются.

Для настройки интеграции необходимо скачать sdmiLocks.dll и архив Demo.rar с FTP

Необходимо распаковать содержимое архива в каталог с  ПО замковой системы, после чего запустить Demo.exe. В появившемся окне необходимо нажать кнопку Read.  В этот момент на энкодере должна находиться специальная AuthCard карта. Эта карта выдается сотрудниками замковой системы.

Должен появиться Авторизационный код, который необходимо будет скопировать в текстовый документ, этот код понадобится в дальнейшем.
Далее необходимо скопировать ВСЕ библиотеки из ПО замковой системы, ILockSoft.ini и скаченный ранее sdmiLocks.dll в каталог с shelter.exe
В shelter.ini необходимо добавить следующие данные :

 

[BOOT]

BOOT_1 = C:\Shelter\sdmiLocks.dll

 

[HARDWARE]

LockCard = ILOCKS

 

[hardware.ILOCKS]
DLLName = C:\Shelter\LockSDK.dll
SerialNumber = 86FF8E3201000000
;DoCheckOut - Если 1, то перед изготовлением ключа, предыдущая информация на ключе стирается. Функция CancelCard. 0 — не стирается.
DoCheckOut = 1
;DefBuilding - корпус по умолчанию — Не изменять
DefBuilding = 1
;DefFloor - эта по умолчанию — Не изменять 
DefFloor = 1
;DefOpenAllTime = 1- выпуск карт в гостиничном режиме, 0 - выпуск карт в режиме "Офис" (для закрытия замка необходимо прикладывать карту повторно)
DefOpenAllTime =1
;
MASK - маска для преобразования из 16-ной в 10-ную систему 
MASK = $FFFFFFFF
;Port=5 - номер COM-порта энкодера 
Port=5
;DoorType=5 - тип двери
DoorType=5
LOG.LEVEL = 100
LOG.DEBUGLEVEL =100
 
[ILOCKS.ERRORS]
-1000 = Не найдена DLL
-1    = No card found
-2    = No card reader found
-3    = Invalid card
-4    = Card type error
-5    = Read/write error
-6    = COM port is not opened
-7    = Finish reading data card
-8    = Invalid parameter
-9    = Invalid operation
-10   = other error
-11   = COM port is occupied
-12   = Communication error
-13   = Recover Authorization code from reader successfully!
 
 
В DLLName указать путь до библиотеки LockSDK.dll
 
В SerialNumber необходимо ввести значение из Demo.exe
 
Далее необходимо зайти в Shelter - Настройки - Справочники - Ресурсы - Номерной фонд:

 

 

 

  • Для выбранного номера установить чек-бокс "Номер (ресурс) оборудован эл.замком"
  • Указать "Номер устройства" в соответствии с нумерацией в замковой системе
 
 
 
 
 
 

Настройка интеграции с замковой системой Bonwin 2 (энкодер BWE773)

Настройка интеграции с замковой системой  Bonwin 2

Для настройки данной интеграции требуется Shelter 2 версии 2.12.122.2390 или новее.

Сотрудники технической поддержки Shelter настройкой замковой системы не занимаются.
ВНИМАНИЕ!!! При работе в Shelter, ПО BonWin должно быть закрыто.

Версия замковой системы : 


Модель энкодера : 
(в диспетчере устройств энкодер определяется как "Устройство HID")

Содержимое папки замковой системы :

Для интеграции необходимо скачать sdmBonwin2.dll и скопировать в папку с shelter.exe, а так же скопировать все библиотеки и bwapireg.lic из дистрибутива замковой системы в папку Shelter 2.
В shelter.ini необходимо добавить : 

 

 

[BOOT]

BOOT_1=sdmBonwin2.dll

[HARDWARE]

LockCard=Bonwin2

[HARDWARE.Bonwin2]

HOTELCIPHER=11611951

DOCHECKOUT=1

DEFBUILDING=1

DEFFLOOR=1

LOG.NAME=BONWIN.LOG

LOG.LEVEL=100

LOG.DEBUGLEVEL=100

 

 

В параметр HOTELCIPHER добавить код отеля. Для получения кода отеля необходимо войти в BWHLM8.01.exe :
Логин : BonWin
Пароль : Tasman
И перейти по следующим вкладкам :

Запускаем Shelter, переходим в "Настройки" - "Справочники" - "Ресурсы" - "Номерной фонд" и перейти в карточку номера :

В поле "Номер устройства" необходимо указать ID (код) номера из ПО замковой системы.
Так же необходимо обратить внимание на сопоставление кодов этажей в ПО замковой системы и в Shelter. 
Код этажа в Bonwin = номер этажа в Shelter. Особенность протокола BonWin - он работает только с числами в диапазоне 0-99
С общими/внутренними дверьми, согласно протоколу, работа не реализована.

 

 

Настройка интеграции с замковой системой Vingcard через Visionline

 

 

Интеграция Shelter и VingCard через ПО Visionline 

 



Для настройки данной интеграции требуется Shelter 2 версии 2.12.122.2390 или новее.

Сотрудники технической поддержки Shelter настройкой замковой системы не занимаются.

Для настройки интеграции необходимо зайти в Shelter - "Сервисы и оборудование" :

2. Выбрать драйвер VingCard :
 
3. Перейти в "Настройки" :

4. В поле "Хост" указать IP-адрес ПК, на котором запущен интерфейс Visionline, в поле "Порт" указать порт, на котором работает Visionline, в поле адрес PMS указать числовое значение из настроек замковой системы :

Настройки в Shelter :

4. После выполнения предыдущих пунктов нажать "Сохранить".

5.Далее перейти в "Настройки" - "Справочники" - "Номерной Фонд" и выбрать номер для настройки

Необходимо установить чек-бокс "Номер (ресурс) оборудован эл.замком" :

6. Для работы с дополнительными дверьми необходимо в поле "Дополнительные номера" указать номер двери (либо через запятую несколько дверей) из ПО замковой системы :
 

7. Результат выпуска ключ-карты из Shelter :

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

 

Настройка идентификации гостя в RK (Считыватель Z-2)

Карты данной замковой системы можно использовать для идентификации гостя в RK7 и закрытия на номер по выпущенной карте из shelter.

Данный механизм тестировался для карт Mifare и следующего выдаваемого трека в Putty:
 
Mifare [9A603D32] 061,24730 1K (0004,08)
 
При изготовлении ключ-карты из shelter будет прикреплен следующий идентификатор
 
В логе shelter возвращается следующий трэк 9A603D32FFFFFFFF:
 
VisionlineClient.ReadLn: CCA;EA15;RC0;SR9A603D32FFFFFFFF; 
 
Для настройки декодирования данного трека в RK необходимо  использовать следующий MCR алгоритм:
 
function MCR1000767(DeviceSignal: Integer; DeviceIdent: Integer; var Parameter: String): Boolean;
                                var RestCode: integer;
                                i, j, S: integer;
                                res1, t1, t2: int64;
                                hex, res: string;
                          begin
                                Result := false;
                                if pos('Mifare[',Parameter)>0 then
                                     begin
                                          i := pos('[',Parameter);
                                          j := pos(']',Parameter);
                                          hex := 'FFFFFFFF';
                                          Parameter := copy(Parameter,i+5, j-i-5);
                                          if length(Parameter) > 0 then begin
                                          Result := true;
                                          res:= Parameter + hex;
                                          res:= int64tostr(strtoint64('$'+res));
                                          Parameter:=res;
                                     end;
                          end;
                          end;
 
После чего можно закрывать на номер по изготовленным картам замковой системы.
 
Настройка идентификации гостя в shelter (Считыватель Z-2)
 
Для идентификации и поиска гостя в shelter необходимо настроить TcpCardreader и декодирование, версия decodecards.dll - 1.29.0.3.
 
В decodecards.ini :
                                                              [frf]
                                                              fsUnit=fsdecodecard.upas
 
                                                              [general]
                                                              usemask=1
 
                                                              [mask]
                                                              card_mif= ifare*
                                                            
                                                              [cards.Card_mif]
                                                              excludedprefix=ifare[
                                                              CardDecodeType = FastScript
                                                              code=2
 
Далее необходимо настроить скрипт декодирования, который настраивается в fsdecodecard.upas
 
                                                              function fsUnitVersion:integer;
                                                              begin
                                                              result := 1;
                                                              end;
                                                              function DecodeCard(Track:string; var Code:integer):string;
                                                              var hex, res1 : string;
                                                              begin
                                                              Code:=2; 
                                                              hex := 'FFFFFFFF';
                                                              res1:=('$'+copy(Track,5,4))+ hex;
                                                              result:=inttostr(strtoint64(res1)); 
                                                              end;
                                                              begin
                                                              end.
 
После перезапуска TcpCardReader и при считывания карты из shelter будет произведен поиск гостя по идентификатору и выведен данный гость.
 
 
 
 
 

Настройка интеграции с замковой системой MF S70

 

 

 

Настройка интеграции с замковой системой  MF S70

 

Для настройки данной интеграции требуется Shelter 2 версии 2.12.122.2390 или новее.

 

Для интеграции вам необходимы NewICdll.dll и set.ini . Данные файл необходимо скопировать в папку с shelter.exe

Скачать их можно тут

В файле set.ini, в параметре "Com=" указать номер Com-порта, к которому подключен энкодер.

Сотрудники технической поддержки Shelter настройкой замковой системы не занимаются.
 

1. Для настройки интеграции необходимо зайти в Shelter - "Сервисы и оборудование" (рис.1) :

                                                                    

(рис.1)
 

2. Выбрать драйвер MF S70 (рис.2) :

(рис.2)

3. После чего необходимо нажать "Сохранить" (рис.3)

(рис.3)

4. Далее перейти в "Настройки" - "Справочники" - "Номерной Фонд" и выбрать номер для настройки (рис.4)
Необходимо установить чек-бокс "Номер (ресурс) оборудован эл.замком" и в поле "Номер устройства" указать значение параметра "Room ID" из управояющего ПО замковой системы
(MF_System.exe) - (рис.5)

 

(рис.4)

 

(рис.5)

 

ВНИМАНИЕ! У данной замковой системы есть особенность : после выпуска ключ-карты из ПО замковой системы, карта сможет открыть дверь в номер спустя какое-то время (на тестовом стенде открытие происхоидло спустя 1-2 минуты после выпуска ключ-карты). 
Так как приложение (Shelter/
MF_System.exe) с энкодером работает через COM-порт, то одновременно запустить 2 программы не получится.

Настройка интеграции с замковой системой BE-TECH

 

 

 

 

 

 

 

 

Настройка интеграции с замковой системой  BE-TECH

 

Для настройки данной интеграции требуется Shelter 2 версии 2.12.122.2390 или новее.
 

Сотрудники технической поддержки Shelter настройкой замковой системы не занимаются.

 

Версия замковой системы :

Содержимое папки с замковой системой :

Модель энкодера : 

Модель замка :

Для настройки интеграции необходимо скачать sdmBeTech.dll с ftp и скопировать в папку с Shelter 2, а так же скопировать все библиотеки из дистрибутива замковой системы в папку Shelter 2.
В shelter.ini необходимо добавить :

 

[BOOT]
BOOT_1=sdmBeTech.dll

[HARDWARE]
LockCard=BE-TECH

[HARDWARE.BE-TECH]
AuthCode=    - 
В параметре прописать код отеля (system_code), который вы можете получить у установщиков Be-Tech (*6ти значный код)
DoCheckOut=1
DefBuilding=1
DefFloor=1
UseTimeDelta=0
TimeKind=0
TimeValue=3

LOG.NAME=BE-TECH.LOG
LOG.LEVEL=100
LOG.DEBUGLEVEL=100

UseTimeKind=0 (0/1 - не использовать/использовать настройку для изменения времени заезда, при записи на карту)
TimeKind=0 (0/1 часы/минуты)
TimeValue=3 (значение)

Пример 1 : 

UseTimeDelta=1

TimeKind=0

TimeValue=3

Время начала действия карты на 3 часа раньше времени в системе при записи ключ-карты.
Пример 2 : 

UseTimeDelta=1

TimeKind=1

TimeValue=15

Время начала действия карты на 15 минут раньше времени в системе при записи ключ-карты.
Пример 3 : 

UseTimeDelta=0

TimeKind=0

TimeValue=3

Время начала действий карты = время в системе при записи ключ-карты.

 

В параметре AuthCode прописать код отеля(system_code), который вы можете получить у установщиков Be-Tech (*6ти значный код)

На тестовом стенде UCS, с данной версией ПО замковой системы, параметр AuthCode оставляли пустым.

 
Запускаем Shelter, переходим в "Настройки" - "Справочники" - "Ресурсы" - "Номерной фонд" и перейти в карточку номера :

Необходимо поставить чек-бокс "Номер (ресурс) оборудовани эл.замком", в поле номер устройства указать значение параметра Guest SN из ПО замковой системы, с увеличением на 1.

По аналогии необходимо настроить и для других номеров.

Для работы с дополнительными замками (внутренние двери и общие) необходимо в поле "Дополнительные номера", через запятую указать общие/внутренние группы дверей.
Для примера указал 4,3 в "Дополнительные номера" - результат считывания карты :

Коды возможных ошибок : 

255: Failure
1: Open serial com port error
2: No card error
3: Card type error
4: Read card error
5: Hotel password error
6: Write card error
 

 

 

 

 

Настройка интеграции с замковой системой SALTO

 

 

 

Настройка интеграции с замковой системой  SALTO

 

Сотрудники технической поддержки Shelter настройкой замковой системы не занимаются

 

 

Данная инструкция написана для замковых систем SALTO с версией программного обеспечения HAMS 100 v6.6.0.33 (Рис 1.) и Ethernet энкодером (Рис 2.).

Версия Ethernet v 01.02, версия Reader v02.43.

 

(Рис. 1)

 

(Рис. 2)

 

 

Заведение номерного фонда в программном обеспечении SALTO и ее настройка осуществляется системным администратором гостиницы

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

 

Список доступных энкодеров и их настройки можно посмотреть в «Список периферии» на вкладке «Периферия» (Рис 3).

 

(Рис. 3)

 

 

Интеграция данной замковой системы осуществляется через PMS интерфейс, который включается в «Основные опции» на вкладке «Инструменты» (Рис. 4)

 

(Рис. 4)

 

 

 

В «Параметры связи» необходимо ввести IP адрес и номер порта компьютера, на котором будет запускаться ПО замковой системы

с включенным PMS интерфейсом.

 

Интеграция данной замковой системы с Shelter производилась на следующей версионности:

  • версия библиотеки SdmTesa.dll 1.50.0.124 (библиотеку можно скачать тут)
  • версия shelter 2.12.123.2420

 

После скачивания файлов с ftp, библиотеку SdmTesa.dll необходимо расположить в директории с shelter.exe.

 

Далее переходим в настройки Shelter, добавляем модуль для замковой системы (TESA HT28_TCP) и выставляем необходимые параметры (Рис 5).

 

(Рис. 5)

 

 

После чего, данные параметры продублируются в shelter.ini:

 

[HARDWARE.HT28-TCP]

;HOSTIP адрес, на котором запущена замковая система с включенным PMS интерфейсом

HOST=172.22.5.115

 

;PORT – порт подключения к PMS интерфейсу

PORT=5010

 

;DEVICEADDR – 1 если используется USB или RS232 энкодер, 2 если используется Ethernet энкодер.

DEVICEADDR=2

 

;USEPMSTRACK – использовать PMS трек для связки с RK и закрытия на номер. Если 0, то на вторую дорожку идентификатор записываться не будет.

Если 1, то будет.

USEPMSTRACK=1

 

;USEPMSTRACK – длина PMS трека

PMSTRACKMAXLEN=40

 

;DOCHECKOUT - Если 1, то перед изготовлением ключа, предыдущая информация на ключе стирается. Функция CancelCard. 0 — не стирается.

DOCHECKOUT=0

 

;DORESET, NEEDENQACK , ACTION - данные настройки в классической (базовой) реализации связи не менять!

DORESET=1

NEEDENQACK=1

ACTION=E

 

;DEFADDROOM2=101, DEFADDROOM3=102, DEFADDROOM4=103 - при данных настройках все ключи изготовленные из shelter будут

дополнительно открывать двери 101,102 и 103. Данные параметры можно оставить пустыми.

DEFADDROOM2=

DEFADDROOM3=

DEFADDROOM4=

IsLockMakeMultiKeys=0
; Файлы с логами будут создаваться в папке TESALogs, она создаедтся автоматически в каталоге с Shelter.

 

[BOOT]

BOOT_2=sdmTESA.dll

 

[HARDWARE]

LockCard=HT28-TCP

 

 

 

Далее заходим в shelter и для номерного фонда, в котором будут использоваться двери с электронами замками,

включаем опцию «Номер (ресурс) оборудован эл. замком». 

Для замковой системы SALTO в поле «Номер устройства» необходимо выставить значение 0. (Рис 6).

 

(Рис. 6)

 

Для выпуска карты и проверки корректности настроек переходим на шахматку и в проживающем госте нажимаем на модуль замковой системы (Рис 7),

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

 

(Рис. 7)

 

 

 

После изготовления ключей (основного/дополнительного) в shelter, корректность записи можно проверить в программном обеспечении замковой

системы, считав его на вкладке «Ключи» (Рис 8).

 

(Рис. 8)

 

 

 

Анализ основных ошибок

 

1. Несоответствие даты/времени выезда/заезда. Возвращается ошибка Bad checkout date and/or time или ErrorMessage= -1. (Рис. 9)

 

(Рис. 9)

 

В логе замковой системы:

4 06.04.2018 12:32:26> TESA card writting failured, error=1, OS error=0; ParamStr=&CMD=ISEXTRAROOMS

 

 

2. Нет связи с PMS интерфейсом (не настроен PMS интерфейс) или не запущено программное обеспечение замковой системы.

Возвращается ошибка ErrorMessage= -10. (Рис. 10)

 

(Рис. 10)

 

В логе замковой системы:

E2 06.04.2018 12:58:52> Transmit() (Exception): Can't connect socket; WSAError=10061

w3 06.04.2018 12:58:52> DoCommand failured. Result=-10, Win32 error code=0

4 06.04.2018 12:58:52> TESA card writting failured, error=-10, OS error=0;

 

 

3. Нет связи с энкодером или неверно указан параметр DEVICEADDR. Возвращается ошибка ErrorMessage= -3. (Рис. 11)

 

(Рис. 11)

 

В логе замковой системы:

5 06.04.2018 13:06:38> DoCommand finished with Answer=NF, Full answer=NFі1і, Result=-3

4 06.04.2018 13:06:38> TESA card writting failured, error=-3, OS error=0;

 

 

Важно!!! Замечена следующая симптоматика в работе энкодера:

При установленом в shelter.ini параметре «USEPMSTRACK = 0» при записи ключа энкодер пытается записать карту 2 раза (в итоге пищит два раза):

   1. Записывает на дорожку замковой системы.

   2. Пытается записать идентификатор на вторую дорожку для закрытия на номер, но т.к. параметр отключен, записать не дает, однако энкодер все равно пищит.

 

 

 

 

 

Настройка интеграции с замковой системой ADEL (A90)

 

 

 

 

Настройка интеграции с замковой системой ADEL (A90)

Сотрудники технической поддержки Shelter настройкой замковой системы не занимаются.

Для настройки интеграции необходимо скачать инсталлятор PMS v7.3 замковой системы с FTP (На случай, если специалисты замковой системы его не предоставили)

Cкачиваем сборку для интеграции Shelter с ADEL так же с FTP

 

 

 

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

 

ВНИМАНИЕ!!! Номера созданные в ПО замковой системы должны совпадать с нумерацией номерного фонда в Shelter

 

 

Важно! Для функционирования интерфейса ADEL необходимо активировать его лицензионный код. Для этого запустите программу ADEL A90.

Щелкните меню «System» и выберите «Multi-function card». (Рис. 1)

 

(Рис. 1)

 

 

В открывшемся окне щелкните вкладку «License» и введите лицензионный код интерфейса в поле «Interface License Code». (Рис. 2)

 

(Рис. 2)

 

 

 

Установка серверной и клиентской части

 

 

1. На сервер ADEL необходимо установить интерфейс взаимодействия PMS v7.3 скачанный нами раннее, запустив файл setup.exe (Рис. 3)

 

(Рис. 3)

 

 

2. У вас откроет окно инсталлятора в котором нужно выполнить следующие шаги:

  • Create Datasource (Рис. 4)

 

(Рис. 4)

 

  • Устанавливаем подключение к базе данных (Рис. 5)

 

(Рис. 5)

 

  • Build Database (В базу добавляются данные необходимые для работы интерфейса) (Рис. 6)

 

(Рис. 6)

 

 

  • Install ADEL Lock Interface Server V7.3 (Инсталляция PMS интерфейса) (Рис. 7)

 

(Рис. 7)

 

 

3. Переходим на компьютер, где установлен энкодер и скачиваем на него установщик PMS v7.3, чтобы установить клиентскую часть PMS.

  • Запускаем файл setup.exe для установки клиентского PMS интерфейса.
  • Выбираем - Install ADEL Lock Interface CLIENT V7.3 (Рис. 8)

 

(Рис. 8)

 

 

4. Далее возвращаемся на наш сервер и запускаем установленный PMS сервер. Вы увидите нечто похожее (Рис. 9)

 

(Рис. 9)

 

Внимание!!! Если в интерфейсах отображаются знаки вопросов (??) вместо слов, необходимо переименовать файлы C:\Program Files (x86)\ADEL\LockInterface\Client V7.3\CLIENT.CHS и C:\Program Files (x86)\ADEL\LockInterface\Server V7.3\NPMS.ENU в CLIENT.RUS и NPMS.RUS соответственно. 

 

5. Переходим во вкладку «System(S)» → «System Parameter», по умолчанию должны быть следующие настройки (Рис. 10):

 

(Рис. 10)

 

 

6. Далее нажимаем на кнопку «Network». (Рис. 11)

 

 

(Рис. 11)

 

 

7. У нас открываются настройки подключения энкодеров. (Рис. 12)

 

(Рис. 12)

 

8. Для добавления необходимо указать «Encoder Port»(Com-port на котором работает энкодер) и «Host Name»(Имя компьютера, на котором подключен энкодер).

 

9. Далее необходимо настроить взаимодействие «Shelter» с интерфейсом замковой системы. Для этого необходимо выполнить следующие действия.

 

10. Копируем в корень папки с Shelter следующие файлы:

  • ADELCARDISSUER.dll
  • ADELCARDISSUER.ini
  • ADELCARDISSUER.udl
  • COMLIB32.DLL
  • KDT43_32.DLL
  • sdmADEL.dll

 

11. После настроить ADELCARDISSUER.udl, нажимаем «Проверить соединение», если все данные введены верно,

получаем «Проверка соединения выполнена» (Рис. 13)

 

(Рис. 13)

 

 

12. В shelter.ini необходимо добавляем следующие данные:

 

[HARDWARE.ADEL-TCP]
TCPHOST=192.168.1.50   -    IP-адрес компьютера, где расположен PMS сервер
TCPPORT=1024                 -   Порт на котором работает PMS сервер
ANSWERTIMEOUT=10000
DEVICEADDR=02
PMSADDR=0
USEPMSTRACK=0
USEPMSTRACKASNAME=0
AIUSEADELIDENT=0
AIADELROOMLENGTH=3
TIMEWHENISSURECARD=1
ADOPROVIDER=SQLOLEDB.1
ADOCONNECTIONSTRING=Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password=appleseed;Initial Catalog=Adel9200;Data Source=SERVER-PC\SQLEXPRESS;Connect Timeout=5
LOG.NAME=ADEL-TCP.log
LOG.LEVEL=100
LOG.DEBUGLEVEL=100
 
[HARDWARE]
LockCard=ADEL-TCP
 
[BOOT]
BOOT_1=sdmADEL.dll

 

13. Возвращаемся на комьютер, где установлен PMS сервер, открываем интерфейс и нажимаем кнопку «Rooms». (Рис. 14)

 

(Рис. 14)

 

 

14. У нас выпадет список номерного фонда. (Рис. 15)

  • Левая колонка - нумерация заведенная в замковой система.
  • Правая колонка - нумерация номерного фонда в Shelter.

 

(Рис. 15)

 

15. Теперь необходимо правую колонку привести к верному значению, которая будет соответствовать нумерации номерного фонда в Shelter.

В моем случае нумерация в Shelter трех-значная (201, 202, 203 и тд...). По этой причине мне нужно убрать лишние 3 цифры из правой колонки,

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

Сверху над списком номеров мне нужно выставить значение «3» и нажать кнопку «Apply», правая колонка примет трех-значную нумерацию. (Рис. 16)

 

(Рис. 16)

 

16. Далее необходимо зайти в Shelter  «Настройки»  «Справочники»  «Ресурсы»  «Номерной фонд»

Для выбранного номера установить чек-бокс «Номер (ресурс) оборудован эл.замком» (Рис. 17)

 

(Рис. 17)

 

17. Запускаем PMS клиент на рабочем месте с энкодером.

18. Выпускаем ключ в Shelter, после успешной записи мы увидим всплывающее уведомление от PMS клиента, что запись прошла успешно. (Рис. 18)

 

(Рис. 18)

 

19. Так же информация записанная на карту после записи ключа отображается в PMS клиенте и в PMS сервере. (Рис. 19, 20)

 

(Рис. 19)

(Рис. 20)

 

 

 

 

 

Настройка интеграции с замковой системой BioQin PWV

Настройка интеграции с замковой системой BioQin PWV

 

Сотрудники технической поддержки Shelter настройкой замковой системы не занимаются.

 

Версия Shelter - 2.12.129.3000

Версия BioQin - v11-170829 (Natural)

 

 

Модель энкодера:

 

 

1. Скачать файлы для интеграции можно тут

2. Все файлы из архива необходимо скопировать в корень папки Shelter.

3. Далее в Shelter.ini добавляем параметры:

 

[BOOT]

BOOT_1=sdmBioqin.dll
 
[HARDWARE]
 
LockCard=BIOQIN
 
 
[HARDWARE.BIOQIN]
DefCardType=11 
DefBuilding=1
DefFloor=-1
DoCheckOut=
DeltaExpireDate=0
CardToLog=1
HotelKey=131089 - код отеля гостиницы из замковой системы. 
Log.Name=BIOQIN.LOG
Log.Level=30
Log.DebugLevel=30
ComPort=COM6 - порт, на котором работает энкодер
 
 
Код отеля можно узнать, выпустив карту из ПО BioQin и прочитав карту через тестовую утилиту, которая находится в скачанной ранее сборке (Project1_ForM1_Sector1.exe)
 
 
 
4. Далее необходимо зайти в Shelter, перейти в «Настройки» - «Справочники» - «Номерной Фонд» и выбрать номер для настройки:
 
 
 
 
  • Устанавливаем чек-бокс «Номер (ресурс) оборудован эл. замком»
  • ID корпуса в Shelter у номера должен совпадать с «Building ID» в ПО BioQin
  • Номер этажа в Shelter у номера должен совпадать с «Floor No.» в ПО BioQin
  • Номер устройства в Shelter = «Room ID» в ПО BioQin
 
 
 
 
 
 

 

Описание ошибок

 

 

ErrorMessage = -1  —  не видит карту или энкодер

 

В логе замковой системы:

 0 18.04.2019 17:19:22> TBioqin.CheckIn END: -1 Error: 
 0 18.04.2019 17:19:22> TBioqin.IssueCard END: -1
 0 18.04.2019 17:19:22> TARTBioqin.Write END Result: -1

 

 

 

Настройка интеграции с замковой системой Bonwin Online

 

 

Настройка интеграции с замковой системой  Bonwin Online

Для настройки данной интеграции требуется Shelter 2 версии 2.12.134.3450 или новее.

Сотрудники технической поддержки Shelter настройкой замковой системы не занимаются.

 

Версия замковой системы : 

 

 

Модель энкодера : 

(в диспетчере устройств энкодер определяется как "Устройство HID")

 

Содержимое папки замковой системы :

 

Для интеграции необходимо скачать sdmBonwinOnline.dll и bwusbapi.dll по ссылке и скопировать в папку с shelter.exe,

а так же скопировать все библиотеки и bwapireg.lic из дистрибутива замковой системы в папку Shelter 2.

 

 

В shelter.ini необходимо добавить : 

 
[BOOT]
BOOT_1 = sdmBonwinOnline.dll 
 
[HARDWARE]
LockCard = BONWIN_ONLINE
 
[HARDWARE.BONWIN_ONLINE]
HotelCipher = 000000 - код отеля
DoCheckOut =1
; LockType:
; 0 - BW803
; 1 - BW8038
; 2 - BW823
; 3 - BW8238
; 4 - BW883/828/808
; 5 - BW8838/8288/8088
; 6 - BW880(ODA/CPU)
; 7 - BW805/BW825/BW885
LockType=4
; номер сектора
CardArea=15
Account=010101
; для всех, кроме LockType = 2 и LockType = 3:
; 0 - Key Card A
; 1 - Key Card B
; 2 - Staff Card
; 3 - VIP Card
; для LockType = 2 и LockType = 3:
; 0 - Key Card
; 1 - VIP Card
CardType=0
Mask =
DefBuilding = -1
DefFloor = -1
LOG.LEVEL = 100
LOG.DEBUGLEVEL = 100
 
 
 
 
 
Запускаем Shelter, переходим в «Настройки» - «Справочники» - «Ресурсы» - «Номерной фонд» и перейти в карточку номера :
 
 
 
В поле «Номер устройства» необходимо указать Dev Code номера из ПО замковой системы.
Так же необходимо обратить внимание на сопоставление кодов этажей в ПО замковой системы и в Shelter. 
Код этажа в Bonwin = номер этажа в Shelter. Особенность протокола BonWin - он работает только с числами в диапазоне 0-99
С общими/внутренними дверьми, согласно протоколу, работа не реализована.
 
 
 

Чтобы посмотреть Dev Code заходим в ПО замковой системы и переходим в «System setup» - «Room management»

 

 

Открываем вкладку «Room info»

 

 

 

 

 

Настройка интеграции с замковой системой HUNE

 

Настройка интеграции с замковой системой HUNE (SMARTLOCK)

 

       Все необходимый файлы можно скачать  с FTP

      

 

Интерфейс программы представлен на рисунке 1.

Рис 1.

      

ВНИМАНИЕ!!! Настройкой ПО HUNE инженеры технической поддержки Shelter не занимаются.

      

 

Настройку ПО замковой системы можно посмотреть в мануале Introduction of software v20.0.PDF, который находится в сборке на FTP или обратиться к представителям замковой системы.

       Содержимое каталога distr скопировать в директорию с shelter.exe

       В shelter.ini добавить:

                  [HARDWARE.SL6000RF]

                  COMPORT=5

                  CARDNO=1

                  NBLOCK=4

                  ENCRYPT=1

                  CardPass=82A094FFFFFF

                  USEPMSTRACK=0

                  SYSTEMCODE=417BB219

                  HOTELCODE=B185A030

                  DEFBUILDING=1

                  LOG.NAME=SL6000RFChina.log

                  LOG.LEVEL=100

                  LOG.DEBUGLEVEL=100

 

                  [BOOT]

                  BOOT_2=sdmSL6000RFChina.dll

 

                  [HARDWARE]

                  LockCard=SL6000RF

 

       Обязательно заполнить параметры  CardPass, SystemCode и HotelCode. Эти параметры нужно запрашивать у специалистов по замковой системе. Они уникальны для каждого объекта. ВАЖНО!!! Если параметры CardPass, SystemCode и HotelCode отсутствуют и представители замковой системы не могут предоставить данную информацию, то интеграция с данной замковой системы будет НЕВОЗМОЖНА.

       Библиотека HUNERF.dll предоставляется разработчиками замковой системы. Именно через нее в результате изготавливается замковый ключ. В комплекте поставки предоставляются несколько вариантов HUNERF.dll (Развнодности HUNERF.dll представлены в папке distr). Необходимо проверять каждую библиотеку.

       Программы Project1.exe и Project2.exe  предоставлены разработчиками замковой системы и предназначены для тестирования HUNERF.dll без Shelter.

       Если ключ изготовлен через Shelter, а потом его считывают через ПО замковой системы, то там будет показано, как будто ключ будет работать до конца 2099 года. Но на практике (на реальном замке) ключ будет работать корректно. Данный вопрос обсуждался на  трекере 0017152.

       Возможно, что ключ-карта успешно изготавливается  из Shelter, но после записи ключ-карта не открывает замок, это связано с некорректной записью номера комнаты. Нумерация комнат в замковой системе HUNE осуществляется в рамках этажа. Например, в карточке номера в Shelter стоит номер - 37, а по факту это значит седьмой номер на третьем этаже. Чтобы номер записывался  корректно на ключ-карту из Shelter, необходимо поставить галочку "Номер оборудован электронным замком" и в поле "Номер устройства" указать номер комнаты в рамках этажа, для номера 37, например, номер устройства будет 7.

       Данный функционал проверялся на версии Shelter 2.12.124.2450 и HUNE Intelligant Card Lock System 19.60-20-2

 

 

 

Настройка интеграции с замковой системой Hafele (Dialock-HMS-XML_1_3)

Настройка интеграции с замковой системой Hefele (Dialock-HMS-XML_1_3)

Сотрудники технической поддержки Shelter настройкой замковой системы не занимаются.

 

Необходимо скачать архив с ftp, распаковать sdmDiaLock.dll в папку с shelter.exe
Настройки в shelter.ini :

 

[boot]
  BOOT_1 = %exepath%\sdmDiaLock.dll 

[hardware]
  LockCard = DIALOCK_TCP

[hardware.DIALOCK_TCP]
  ;Host и Port для записи уточнить у представителей замковой системы
  Host = 127.0.0.1
  Port =10815
  ;HostIn и PortIn для чтения уточнить у представителей замковой системы
  HostIn = 127.0.0.1
  PortIn = 10815
  ;CodingStation уточнить у представителей замковой системы (обычно это имя ПК)
  CodingStation = S1
  Org = SHELTER
  Log.Name = DiaLock.log
  Log.DebugLevel=100
  Log.Level=100
 

Далее, необходимо запустить Shelter и перейти в "Настройки" - "Справочники" - "Номерной Фонд" и выбрать номер для настройки

Необходимо установить чек-бокс "Номер (ресурс) оборудован эл.замком" :


 

 

Настройка интеграции с замковой системой INHOVA

 

 

 

Настройка интеграции с замковой системой  INHOVA (PMS Server ver. 6.01)

 

Актуальную сборку можно скачать тут

 

 

Сотрудники технической поддержки Shelter настройкой замковой системы не занимаются.

 

 

 

Для настройки связи гостиничной системы Shelter 2 с замковой системой INHOVA необходимо:

 

1. Настроить локальный РС (InhovaData.exe Настройки Локальный РС) (Рис. 1)

 

(Рис. 1)

 

Так же в закладке «Операторы» необходимо создать оператора с именем «UCS» и дать ему все права.

Обязательно! Необходимо для успешной авторизации при обращении к замковой системе.

 

2. Настроить PMS интерфейс. Обратите внимание, чтобы были установлены чек-боксы (Рис. 2):

 

(Рис. 2)

 

 

3. Запустить приложение «PMSServer.exe» и после запуска остановить его нажав на кнопку «Stop Comms» (Рис. 3):

 

(Рис. 3)

 

 

4. Далее открыть закладку Server Setup и настроить параметры PMS сервера (Рис. 4).

 

 

(Рис. 4)

 

 

5. Копируем в папку с Shelter файл sdmTesa.dll

6. Далее в Shelter.ini прописываем следующие настройки:

 

[HARDWARE.INHOVA-TCP]
HOST=127.0.0.1
PORT=7780
DEVICEADDR=1
OPERATORNAME=UCS
USEPMSTRACK=1
PMSTRACKMAXLEN=40
DOCHECKOUT=1
DORESET=0
NEEDENQACK=1
ACTION=EF
LOG.NAME=InHovaTCP.log
LOG.LEVEL=100
LOG.DEBUGLEVEL=100
IsLockMakeMultiKeys=0

[BOOT]
BOOT_1=sdmTESA.dll

[HARDWARE]
LockCard=INHOVA-TCP

 

7. Далее заходим в shelter и для номерного фонда, в котором будут использоваться двери с электронными замками, 

включаем опцию «Номер (ресурс) оборудован эл. замком» и в поле «Номер устройства» указываем имя номера из номерного фонда в замковом ПО. (Рис. 5)

 

 

 

(Рис. 5)

 

 

8. ID для поля «Номер устройства» мы берем из номерного фонда в замковом ПО (Имя комнаты - Name). (Рис. 6)

 

(Рис. 6)

 

 

9. Для выпуска карты и проверки корректности настроек переходим на шахматку и в проживающем госте нажимаем на модуль замковой системы (Рис. 6),

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

 

(Рис. 6)

 

 

После изготовления ключей (основного/дополнительного) в Shelter, корректность записи можно проверить считав ключ в программном обеспечении замковой системы.

 

 

Настройка интеграции с замковой системой Iron Logic

 

 

 

 

 

Настройка интеграции с замковой системой Iron Logic

Для настройки данной интеграции требуется Shelter 2 версии 2.12.122.2390 или новее.

Сотрудники технической поддержки Shelter настройкой замковой системы не занимаются.

Shelter 2 с данной замковой системой работает через PMS-интерфейс (IronSDK.exe) версия sdkhotel_v_5_1


ВНИМАНИЕ!!!
IronSDK.exe должен быть постоянно запущен. 

Скачать актуальную библиотеку и настройки можно тут

В shelter.ini :
 

[HARDWARE.IRONLOGIC-TCP]
;
HOST - IP адрес ПК, где запущен IronSDK.exe (из настроек PMS-интерфейса)
HOST=127.0.0.1
;PORT - порт, на котором работает IronSDK.exe  (из настроек PMS-интерфейса) 
PORT=9999
;
DEVICEADDR - номер станции (из настроек PMS-интерфейса)
DEVICEADDR=1
;OPERATORNAME - Не изменять
OPERATORNAME=
;USEPMSTRACK - Использовать ли PMS-трек
USEPMSTRACK=1
;PMSMaskDDDD - Не изменять
PMSMaskDDDD = ABCD
;PMSTRACKMAXLEN - Не изменять
PMSTRACKMAXLEN=40
;DoCheckOut - Если 1, то перед изготовлением ключа, предыдущая информация на ключе стирается. Функция CancelCard. 0 — не стирается.
DoCheckOut=1
;DoReset - Не изменять
DoReset = 1
;NEEDENQACK - Не изменять
NEEDENQACK=1
;ACTION - Не изменять
ACTION=RP
;ISLOCKMAKEMULTIKEYS Не изменять
ISLOCKMAKEMULTIKEYS=0
; Файлы с логами будут создаваться в папке TESALogs, она создаедтся автоматически в каталоге с Shelter.

[IRONLOGIC-TCP.ERRORS]
   0 = OK
  -2 = Нет ответа от устройства
  -3 = Неожиданный ответ на команду
 -10 = Коммуникационная ошибка(порт закрыт; IP-адрес или порт не тот)
-100 = Неизвестная ошибка
 

[BOOT]

BOOT_3=sdmTESA.dll

 
[HARDWARE]
LockCard=IRONLOGIC-TCP
Для прикрепления "читаемого" идентификатора, необходимо в shelter.ini изменить значение параметра posprefix на 0 :

[defaults.over]
posprefix=0
pospostfix=
posguestidentsize=

Настройки (примерные) PMS-интерфейса : 

 

Далее заходим в shelter и для номерного фонда, в котором будут использоваться двери с электронами замками,
включаем опцию «Номер (ресурс) оборудован эл. замком»
В поле "Дополнительные номера" указать через запятую номера общих дверей от 1-го до 8-ми.
Особенность данной замковой системы в том, что она не поддерживает более 8 общих дверей для одного номера 

 

Выпуск ключ-карты : 

Результат считывания из ПО замковой системы : 


 

ВАЖНО!!! Параметр "Версия" автоматически переобновляется в замке после каждого прикладывания карты (новой)
Если из ПО замковой системы выпустить ключ-карту, после приложить эту карту к замку, то параметр "Версия" увеличится на единицу.
Пример : 
Изначально параметр "Версия" = 1
Выпускаем ключ-карту из Shelter, прикладываем к замку, версия изменяется на единицу
И так каждый последующий раз.
Но если выпустить ключ-карту из ПО замковой системы, приложить к замку, после чего выпустить ключ-карту из Shelter и приложить ее к замку - дверь в номер не откроется, так как разница версии в замке и в выпущенной ключ-картой не должна превышать 1.

ВАЖНО!!! При выпуске дополнительной ключ-карты (если для этого номера доп.карта была выпущена уже ранее), можем получить ошибку -3 :

В логе событий PMS-интерфейса фигурирует следующая ошибка :
"Приняли команду: CG ; Обрабатываем... Эта карта уже есть в списке копий
"

В логе от sdmTesa.dll видим следующую ошибку : 

14:15:51| DONE      | TTesa.DoCommand Result: -3
14:15:51| DONE      | TIronLogicInhovaTCP.CheckIn: Answer=E9; AnswerStr=іE9іі; (PMSTrackNo=00004732; PMSTrackNo=F0127C)
14:15:51| DONE      | TTesa.Write CMD: WRITE Result: -3 OS Error: Операция успешно завершена ParamStr: &CheckinDate=20180123&CheckinTime=2359&CheckoutDate=20180717&CheckoutTime=0800&Keys=1&GuestID=16673&JOINER=1&BUILDID=1&LOCKADDROOMS=1,3,2,6,5,8,7,4&ROOM=101&ROOMNUMBER=101&LOCKID=0&LOCKPASSID=&BUILDCODE=ГОСТИНИЦА&FLOOR=1&GUESTNAME=Суханов Иван Дмитриевич&FOLIOID=12156&CLAIMID=9801&DIARYID=0&PMSTRACK=000004732&ERROR=E9
 
 
В описании протокола ошибка E9 :

Замечание: SDK хранит информацию о всех экземплярах карт, для которых сделаны копии. Если попытаться сделать копию той карты, которая уже была добавлена в список актуальных копий карт для указанной двери, то повторного перезаписывания карты сделано не будет, а SDK выдаст в пакете ответа ошибку с кодом "E9". 

Так же, можем получить ошибку -10 :

В логе от sdmTesa.dll :
 
TTesa.Transmit.XOpenLink Error: Can't connect socket; WSAError=10061
 
Необходимо проверить доступность и работоспособность PMS-интерфейса
 

 

Настройка интеграции с замковой системой OZLocks

 

 

 

Настройка интеграции с замковой системой  OzLocks
Для настройки данной интеграции требуется Shelter 2 версии 2.12.129.300 или новее.
Сотрудники технической поддержки Shelter настройкой замковой системы не занимаются.
Версия замковой системы :


Модель энкодера : 


Для настройки интеграции необходимо скачать sdmOzLocks.dll с ftp и скопировать в папку с Shelter 2, а так же скопировать все библиотеки из дистрибутива замковой системы в папку Shelter 2.

В shelter.ini необходимо добавить :

 

[BOOT]
BOOT_1=sdmOZLocks.dll
 
[HARDWARE]
LockCard=OZLOCKS
 
[hardware.OZLOCKS]
DefBuilding=1
DefFloor=1
DoCheckOut=0
DeltaExpireDate=0
Log.Name=OZLOCKS.LOG
Log.Level=30
Log.DebugLevel=30
;значение HotelKey для каждой гостиницы индивидуально, берётся значение Hotel_Global_ID из таблицы hotels MSSQL базы замковой системы, подробности можно уточнить у представителей замковой системы
HotelKey=
OpenLocked - открывать защёлку 1-да/0-нет
OpenLocked=1
Запускаем Shelter, переходим в "Настройки" - "Справочники" - "Ресурсы" - "Номерной фонд" и перейти в карточку номера :


Необходимо поставить чек-бокс "Номер (ресурс) оборудовани эл.замком", в поле "Номер устройства", а так же указать номер двери из ПО замковой системы.
ВНИМАНИЕ!!! Номера зданий и этажей в Shelter и в OzLocks должны совпадать!

Для идентификации гостя через систему R_Keeper при помощи считывателя Z-2 USB можно использовать следующий MCR-алгоритм :
 

function MCR1000672(DeviceSignal: Integer; DeviceIdent: Integer; var Parameter: String): Boolean;
var RestCode: integer;
    i, j, S: integer;
    res1, t1, t2: int64;
    hex, resulttext: string;
begin
  Result := false;
  if pos('Mifare[',Parameter)>0 then
  begin
    i := pos('[',Parameter);
    j := pos(']',Parameter);
    Parameter := copy(Parameter,i+1, j-i-1);
    if length(Parameter) > 0 then begin
      Result := true;
      res1:=strtoint64('$'+Parameter);
      Parameter:= Int64ToStr(Res1 and $FFFFFFFF );        
    end;
  end;    

 

end;

Настройка интеграции с замковой системой Orbita

 

Настройка интеграции с замковой системой Orbita.
Версия Shelter - 2.12.124.2450
Версия Orbita -  
LockingSystem4.9
Версия Windows - Windows 10

Модель энкодера : 

Скачать дистрибутив можно тут

Так же, необходимо скопировать CLock.dll и dcrf32.dll в папку с sdmOrbita.dll

Эти библиотеки можно запросить у представителей замковой системы, либо скачать тут

Сотрудники технической поддержки Shelter настройкой замковой системы не занимаются.

Для дальнейшей настройки, в shelter.ini необходимо добавить : 

[BOOT]
BOOT_1=sdmOrbita.dll
 
[HARDWARE]
LockCard=ORBITA
 
[hardware.ORBITA]
AuthCode=124536
DefCardType=11
DefBuilding=1
DefFloor=-1
DoCheckOut=0
DeltaExpireDate=0
Log.Name=ORBITA.LOG
Log.Level=30
Log.DebugLevel=30
ConvertExtIDtoNumber=1
 
[ORBITA.ERRORS]
-1=Orbita Lock. Interface error
-2=Orbita Lock. Connect encoder failed
-3=Orbita Lock. Register encoder failed
-4=Orbita Lock. Buzzer mute
-5=Orbita Lock. Not supported card type
-6=Orbita Lock. Wrong card password
-7=Orbita Lock. Wrong supplier password
-8=Orbita Lock. Wrong card type
-9=Orbita Lock. Wrong authorization code
19000=Orbita Lock. Exception on connect
19001=Orbita Lock. Exception on read
19002=Orbita Lock. Exception on disconnect
19=Orbita Lock. Exception on connect
19 =Orbita Lock. Exception on connect

Для того, чтобы получить значение параметра AuthCode, необходимо в ПО LockSystem (ORBITA) перейти во вкладку "Функции карты" и нажать кнопку "Пароль" :

Значение в поле "Пароль Отеля" необходимо скопировать в AuthCode.
Далее необходимо зайти в Shelter и 
перейти в "Настройки" - "Справочники" - "Номерной Фонд" и выбрать номер для настройки
Необходимо установить чек-бокс "Номер (ресурс) оборудован эл.замком" :


Если же в Shelter номера комнат двухзначные, а в ПО LockSystem - трехзначные, то в поле "Номер устройства" необходимо прописать номер комнаты из ПО замковой системы.
В таком случае на карту будет записываться номер комнаты из поля "Номер устройства".

ВНИМАНИЕ! Для корректной работы при выпуске ключ-карты из Shelter, ПО LockSystem должно быть закрыто.

Версия Shelter - 2.12.127.2750
Версия Orbita -  
LockingSystem 5.3.6
Версия Windows - Windows 10

Модель энкодера указана вначале статьи.
Скачать дистрибутив можно тут

Настройки для данной версии ПО замковой системы остались прежними, за исключение того, что добавилась возможность записи общих дверей на карту. Общие двери указываются в карточке номера (поле "Дополнительные номера"), через запятую, от 1-го до 8-ми.

 

Настройка идентификации гостя в RK (Считыватель Z-2)

Карты данной замковой системы можно использовать для идентификации гостя в RK7 и закрытия на номер по выпущенной карте из shelter.

Данный механизм тестировался для карт Mifare и следующего выдаваемого трека в Putty:
 
Mifare [9A603D32] 061,24730 1K (0004,08)
 
При изготовлении ключ-карты из shelter будет прикреплен следующий идентификатор
Для настройки декодирования данного трека в RK необходимо  использовать следующий MCR алгоритм:
 
                                function MCR118(DeviceSignal: Integer; DeviceIdent: Integer; var Parameter: String): Boolean;
                                      var RestCode: integer;
                                      i, j, S: integer;
                                      res1, t1, t2: int64;
                                      hex, resulttext: string;
                                begin
                                      Result := false;
                                      if pos('Mifare[',Parameter)>0 then
                                           begin
                                               i := pos('[',Parameter);
                                               j := pos(']',Parameter);
                                               Parameter := copy(Parameter,i+1, j-i-1);
                                               if length(Parameter) > 0 then
                                                      begin
                                               Result := true;
                                               res1:=strtoint64('$'+Parameter);
                                               Parameter:= Int64ToStr(Res1 and $FFFFFFFF );        
                                                      end;
                                           end;    
                                end;
     
 После чего можно закрывать на номер по изготовленным картам замковой системы.
 
Настройка идентификации гостя в shelter (Считыватель Z-2)
 
Для идентификации и поиска гостя в shelter необходимо настроить TcpCardreader и декодирование солгасно мануалу http://support.ucs.ru/ru/node/9093
 
После перезапуска TcpCardReader и при считывания карты из shelter будет произведен поиск гостя по идентификатору и выведен данный гость.

Настройка интеграции с замковой системой Xeeder

 

Настройка интеграции с замковой системой  Xeeder (V5.865-ILockSoft(Автономки), TechCrePower)

Для настройки данной интеграции требуется Shelter 2 версии 2.12.122.2390 или новее.

Версия ПО замковой системы : 

С версией 5.8.0.0 итеграция будет работать, если взять все библиотеки из дистрибутива версии 5.8.6.4
 

Необходимо скопировать все библиотеки и ILockSoft.ini из каталога с замковой системой в каталог с Shelter.exe

Сотрудники технической поддержки Shelter настройкой замковой системы не занимаются.
 

1. Для настройки интеграции необходимо зайти в Shelter - "Сервисы и оборудование" (рис.1) :

(рис.1)

2. Выбрать драйвер Xeeder (рис.2) :

(рис.2)
3. Далее перейти во вкладку "Настройка" (рис.3) :

(рис.3)

В параметре Код отеля указать значение параметра Sn из файла ILockSoft.ini

Остальные настройки можно оставить как на скриншоте. После чего нажать "Сохранить"

4. Далее нажать "Сохранить" (рис.4)

(рис.4)

5. Далее перейти в "Настройки" - "Справочники" - "Номерной Фонд" и выбрать номер для настройки (рис.5). Необходимо установить чек-бокс "Номер (ресурс) оборудован эл.замком" :

(рис.5)

Фискальные регистраторы

Подключение ФР СПАРК-115Ф через Универсальный драйвер

 

 

 

Интеграция ФР СПАРК-115Ф с Shelter 2 

Для данного вида подключения требуется Shelter 2 версии 2.12.123.2420 или новее.

Интеграция реализована при помощи FRClient2.exe и sxrServerProxy.exe, через универсальный драйвер fpSpark54.dll из дистрибутива ПО Абонемент.
Информация по настройке данных утилит :

Подключение 1 ФР на несколько рабочих мест через УДФР
 

Универсальный драйвер ФР (УДФР) в Абонемент

Работа Абонемент с налоговыми ставками и кассовыми секциями с различными ФР 

Со стороны Shelter необходимо выполнить следующую настройку :
Из дистрибутива Абонемента скопировать библиотеку sdmTcpRpcFiscReg.dll (..\FullVersionVer131\HW\POS\Uxml-rpc\Uxml-rpc\UCS
) в каталог с Shelter.exe
Запустить Shelter и перейти в список доступных модулей, выбрать и добавить XML-RPC(TCP) fiscal register :


 

Адрес 127.0.0.1 Указать IP-адрес ПК, где запущена sxrServerProxy.exe
Порт  7788 Указать порт ПК, где запущена sxrServerProxy.exe
ClientName Client_1 Указать уникальное имя клиента
ProxyFRClient UCS_FR Указать значение ClientName из sxrfrClient.ini

 

 Необходимо соблюдать последовательность запуска утилит для подключения данного ФР : 
1. SparkSrv.exe (утилита от производителя ФР)

2. srxServerProxy.exe

3. srxFRClient2.exe

4. Shelter.exe

Специфика работы данного ФР :

Всегда должна быть запущена утилита SparkSrv.exe

В закрытой смене ФР не дает распечатать Х-отчет

ФР не позволяет сделать возврат при закрытой смене, или если не хватает наличности в кассе. Так же это касается и возврата электронных денег.

При налоговой ставке 18%, ФР начисляет НДС, а не вычетает, аналогично с 10% НДС.
 

 

 

 

Интеграция ФР СПАРК-115Ф с Shelter 2 через Универсальный драйвер ФР 

 

 

 

Для интеграции ФР Спарк 115Ф (ФЗ54) с Shelter 2 потребуется добавить в каталог с Shelter.exe следующие файлы: fpSpark54.dll, fpSpark54.cfg.xml, SparkSrv.exe, config.ini, Winspark.exe. Скачать файлы можно по ссылке.

 

1. Необходимо открыть config.ini и настроить следующие параметры:

[Server]
Port = 7200 
Serial = COM9 - установить нужный ком-порт.
BaudRate = 57600 - выставить необходимую скорость, если она отличается от указанной.
Timeout = 5000
SharePort = 1
 
 
2. После нужно запустить утилиту SparkSrv.exe
 
 
3. Запускаем Shelter и переходим в Настройки → Сервисы и Оборудование
   Добавляем фискальный регистратор по аналогии:

 

 

 

После успешного добавления ФР в Shelter в утилите SparkSrv.exe вы увидите сообщение:

 

 

Подключение ФР Атол через Универсальный драйвер

 

 

 

 

 

 

 

 

 

 

 

Интеграция ФР Атол с Shelter 2

 

Для данного вида подключения требуется Shelter 2 версии 2.12.121.2375 или новее.

 

Для интеграции вам необходимы fpAtol54.dll и fpAtol54.cfg. Скачать их можно тут

 

 

Настройка фискального регистратора

 

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

    ВНИМАНИЕ! Фискальный регистратор в протоколе 3.0 в Shelter работать не будет. Вам нужно перевести его в протокол 2.4

  • Открываем тест драйвера фискального регистратора и заходим в «Свойства». (Рис. 1)
  • Выбираем Вашу модель ФР и порт на котором установлен фискальный регистратор, после нажимаете «Проверка связи». Если связь установлена переходим в «Параметры ККТ».

(Рис. 1)

 

  • Далее раскрываем вкладку «Устройства» и в строке Протокол работы проверяем в каком протоколе находится наш ФР. Если протокол оказывается 3.0, то меняем на 2.4 и нажимаем «ОК». (Рис. 2), после чего необходимо перезагрузить ФР.

(Рис. 2)

 

Настройка Shelter 2

 

1. Необходимо файлы fpAtol54.dll и fpAtol54.cfg положить в папку с Shelter 2. Скачать можно тут

2. Далее открываем Shelter 2 и переходим в «Настройки» → «Сервисы и оборудование» и нажимаем кнопку «Добавить». (Рис. 3)

 

(Рис. 3)

 

3. Откроется окно в котором сначала нам нужно выбрать «Драйвер» (Рис. 4)

 

(Рис. 4)

 

4. В открывшемся окне выбираем «Фискальный Регистратор»  «Универсальный драйвер» и нажимаем «Выбрать» (Рис. 5)

 

(Рис. 5)

 

5. После нам необходимо открыть «Настройка» (Рис. 6)

 

 

(Рис. 6)

 

 

6. Сначала нужно указать путь к библиотеке fpAtol54.dll. Для этого нажимаем кнопку в поле «Путь к библиотеке» и указываем нашу библиотеку,

    которая расположена в папке с Shelter 2. (Рис. 7)

 

(Рис. 7)

 

7. Теперь необходимо настроить фискальный регистратор. Нужно настроить следующие поля (Рис. 8) :

  • Операция возврата - «Deletion» (Return - расход, Deletion - приход)
  • Информация о кассире - «ФИО» (Можно оставить "Логин", если хотите, чтобы в чеке указывался логин под которым зашли в Shelter).
  • Уровень логирования - «5» (Данный параметр увеличивает логирование и передает больше информации в логах, что позволяет быстрее найти причину ошибок в фискальнике, в случае возникновения проблем).
  • Название порта - «COM*» (указываем ту цифру порта, на котором у вас работает фискальный регистратор).

(Рис. 8)

 

8. Следующим шагом нужно будет выбрать киоск, который будет использоваться с настраиваемым фискальным регистратором (Рис. 9)

 

(Рис. 9)

 

После вышеуказанных настроек фискальный регистратор должен работать корректно. Один из способов проверить работу попробовать сделать Х-Отчет.

 

 

Фискальные налоги

 

Для того, чтобы настроить фискальные налоги в Shelter 2 необходимо сделать следующее:

   1. Для начала заведем фискальные налоги в самом Shelter 2. Заходим в «Настройки»  «Справочники»  «Налоги»  «Фиск. налоги». (Рис. 10)

 

(Рис. 10)

 

 

   2. Чтобы завести фискальные налоги в Shelter 2 нужно узнать сопоставление кодов фискальных налогов, которые заведены в самом

       фискальном регистраторе. Для этого мы запускаем «Тест Драйвер ККМ». Переходим в «Настройка свойств».  В открывшемся окне нам следует

       указать COM-порт на котором установлен фискальный регистратор и его модель, после нажимаем «Параметры оборудования». (Рис. 11)

 

(Рис. 11)

 

     3. Открываем вкладку «Налоги». (Рис. 12)

 

(Рис. 12)

 

         Тут мы увидим два столбца, где левый столбец код налога, правый столбец ставка налога. 

 

   В моем случае это:

  • Код 1 - 18%
  • Код 2 - 10%
  • Код 3 - 18/118
  • Код 4 - 10/110
  • Код 5 - 0%

     4. Например, нам необходимо использовать несколько фискальных налогов в Shelter 2, которые будут отображаться в чеке, возьмем - 18% и 0%

         В Shelter добавляем фискальный налог через кнопку «Добавить». (Рис. 13)

 

(Рис. 13)

 

 

     5. Откроется окно настройки фискального налога, добавим налог 18%, для этого нам нужно заполнить следующие поля: (Рис. 14)

  • Код (можно указать любое значение, которое еще не используется в Shelter)
  • Наименование (влияет на то, как будет отображаться налог в Shelter)
  • Код налога в фискальном регистраторе (необходимо указать код налога из тест драйвера фиск. регистратора (Рис. 12) в моем случае это код -1)
  • Ставка (тут указываем сколько процентов налог)
  • Включение в стоимость - с версии 2.12.126.2700 («Включен в стоимость» - НДС входит в стоимость услуги, «Не включен в стоимость» - НДС начисляется поверх стоимости услуги)

(Рис. 14)

 

     Аналогично заводим налог для 0%, только теперь «код налога в фиск. регистраторе» будет 5. (Рис. 15)

 

(Рис. 15)

 

     6. Теперь заведенные фискальные налоги необходимо прикрепить к услугам,  на которых нам нужно использовать данные налоги.

         Для этого нам следует зайти в «Настройки»  «Справочники»  «Услуги и оплаты»  «Услуги». Находим нужную нам услугу 

         выбираем ее и нажимаем «Изменить». (Рис. 16)

 

(Рис. 16)

 

 

     7. Откроется окно настройки услуги в котором нам необходимо раскрыть вкладку «Налоги», выбрать «Фиск. налоги» и указать нужный нам 

         фискальный налог из заведенных нами ранее, после нажимаем «Сохранить». (Рис. 17)

 

(Рис. 17)

 

 

     8. Можно увидеть отображение фискального налога на услуге (Рис. 18)

 

(Рис. 18)

 

 

После произведенных настроек, если провести оплату по услуге, в которой вы указали фискальный налог, НДС будет отображен в чеке.

 

 

НДС при авансовой оплате

 

 

Если вам требуется отображать НДС при авансовой оплате, то нужно сделать следующее:

 

 1. Перейти в «Настройки» → «Сервисы и оборудование» и открыть настройки фискального регистратора. (Рис. 19)

 

(Рис. 19)

 

 

 2. В поле «Код налога авансовой операции» указываем код налога из таблицы в тест драйвере (Рис. 12),

     который вы хотите отображать в авансовой оплате и нажимаем «Сохранить». (Рис. 20)

 

(Рис. 20)

 

 

     После произведенных настроек при авансовой оплате в чеке будет отображен НДС, код которого вы указали при настройке.

 

Фискальные налоги (Новая реализация)

 

Для новой реализации фискальных налогов необходим Shelter версии 2.12.125.2480 или новее.

 

Ранее фискальные налоги заводились так, что код налога прописывался в «Справочники»  «Налоги»  «Фиск. налоги», но при такой реализации к базе 

должны быть подключены одинаковые фискальники, чтобы налоговая таблица в ФР была одинаковая у всех. Потому что привязка фискального налога

была реализована ко всем подключеным ФР.

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

непосредственно в самих настройках ФР в «Сервисы и оборудование», такой функционал позволяет подключать к Shelter разные ФР у которых

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

 

Выглядит это следующим образом:

1. Добавляем фискальные налоги в «Справочники»  «Налоги»  «Фиск. налоги» (Рис. 21):

 

(Рис. 21)

 

Можно увидеть, что теперь отсутствует поле «Код налога в фиск. регистраторе» о чем говорилось ранее.

 

2. После того как мы добавили нужное нам количество налогов переходим в «Настройки»  «Сервисы и оборудование» и открываем ранее 

заведенный нами фискальный регистратор.

Мы можем увидеть, что фискальные налоги ранее заведенные в справочниках перенеслись в фискальный регистратор (Рис. 22):

 

(Рис. 22)

 

Теперь осталось проставить в колонке «Код налога в фиск. регистраторе» нужные нам коды налогов, которые соответствуют данному фискальному регистратору.

Если у нас подключены разные фискальные регистраторы, то во втором проставляем уже свои коды налогов, которые буду соответствовать своей

налоговой таблице.

При такой реализации, если закрепить за услугой налоговую ставку и оплачивать ее с разных ФР у которых отличаются таблицы налогов конфликтов

больше возникать не будет.

 

 

Внимание! При обновлении программы на версию 2.12.125.2480 или новее все фискальные налоги(по пути: «Справочники» → «Налоги» → «Фиск. налоги»)

добавляются во все фискальные регистраторы с теми кодами налогов («Код налога в фиск. регистраторе»), которые у них были.

 

 

Настройка системы налогообложения (СНО)

 

ВНИМАНИЕ!!! Данный функционал доступен только с версии 2.12.125.2480 или новее

 

 

Ранее система налогообложения(СНО) указывалась только в настройках фискального регистратора в «Сервисы и оборудование» и указанный СНО

присваивался ко всем услугам в Shelter.

С версии 2.12.125.2480 реализован функционал, который позволяет присваивать к каждой услуге свой СНО. В итоге мы можем пробивать услуги с

разными системами налогообложения на одном фискальном регистраторе. Это работает следующим образом:

1. Заходим в «Справочники» → «Услуги и оплаты» → «Услуги» и открываем нужную нам услугу. Нас интересует вкладка «Налоги», раскрываем ее и видим

поле «Тип налогообложения»(Рис. 23):

 

(Рис. 23)

 

 

2. Щелкаем по стрелочке справа от этого поля и получаем выпадающий список, выбираем нужную нам СНО (Рис. 24):

 

(Рис. 24)

 

Таким образом мы можем указать для каждой услуги разный СНО.

 

Внимание! На текущий момент реализована оплата услуг с одинаковым СНО за раз. Например, есть две услуги: "Халат" (УСН(доход)) и "Тапочки"(ЕНВД).

Сделать одновременно оплату по этим двум услугам не получится, мы получим окно с информацией о том, что это невозможно (Рис. 25):

 

(Рис. 25)

 

Подведем итог, на текущий момент возможно закреплять за каждой услугой свой СНО, что в свою очередь позволяет на одном фискальном

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

 

!ВНИМАНИЕ! Реализация по оплате услуг с разным СНО в разрезе одной оплаты будет реализовано позже в будущих версиях.

 

 

 

 

 

Сопоставление типа оплаты

ВНИМАНИЕ!!! Данный функционал доступен только с версии 2.12.126.2700 или новее

 

В сервисах и оборудовании в настройках фискального регистратора есть теперь таблица кодов типа оплаты фискального регистратора (Рис. 26):

 

(Рис. 26)

 

Щелкаем правой кнопкой мыши в обозначенном на скриншоте поле и нажимаем «Добавить», откроется окно для заведения типа оплаты (Рис. 27):

 

(Рис. 27)

 

В данном окне находится всего два поля для настройки: 

  • Категория - выбирается категория оплаты (наличная, кредитная, безналичная)
  • Код типа оплаты в фискальном регистраторе - указывается номер типа оплаты из фискального регистратора, который соответствует выбранной вами выше категории.

 

(Рис. 28)

 

 

Данный код берётся из настроек фискального регистратора (типы оплат), можно найти через тест драйвера (Рис. 29) :

 

(Рис. 29)

 



 

Сопоставление кодов типов оплат необходимо для корректной работы двух и более ФР, если последовательность кодов типов оплат у этих ФР отличаются.

 

 

 

Визуализация ошибок

 

Для визуализации ошибок ФР Атол необходимо скачать файл msg_rus.ini, который находится на FTP. После скачивания данного файла размещаете его

в любое удобное место (например в корень папки Shelter2). Далее запускаем Shelter и переходим в «Настройки» → «Сервисы и оборудование» 

и открываем настройки ФР. В настройках в поле «Файл сообщений» нужно указать путь до файла msg_rus.ini (Рис. 23) и так же в поле «Секция» написать - ATOL

ВНИМАНИЕ!!! Если указать путь до msg_rus.ini, но не указать название «ATOL» в поле «Секция», визуализация работать не будет!

 

 

(Рис. 29)

 

 

 

Подключение ФР Штрих-М через Универсальный драйвер

 

 

 

 

Интеграция ФР Штрих-М с Shelter 2

 

Для данного вида подключения требуется Shelter 2 версии 2.12.121.2375 или новее.

 

Для интеграции вам необходимы fpShtr54.dll и fpShtr54.cfg. Скачать их можно тут

 

 

 

Настройка Shelter 2

 

1. Необходимо файлы  fpShtr54.dll и fpShtr54.cfg положить в папку с Shelter 2.

2. Далее открываем Shelter 2 и переходим в «Настройки» «Сервисы и оборудование» и нажимаем кнопку «Добавить». (Рис. 1)

 

(Рис. 1)

 

 

3. Откроется окно в котором сначала нам нужно выбрать «Драйвер» (Рис. 2)

 

(Рис. 2)

 

 

4. В открывшемся окне выбираем «Фискальный Регистратор» - «Универсальный драйвер» и нажимаем «Выбрать» (Рис. 3)

 

(Рис. 3)

 

 

5. После нам необходимо открыть «Настройка» (Рис. 4)

 

(Рис. 4)

 

 

                                6. Сначала нужно указать путь к библиотеке fpShtr54.dll. Для этого нажимаем кнопку в поле «Путь к библиотеке» и указываем нашу библиотеку,

    которая расположена в папке с Shelter 2. (Рис. 5)

 

(Рис. 5)

 

7. Теперь необходимо настроить фискальный регистратор. Нужно настроить следующие поля (Рис. 6) :

  • Операция возврата - «Deletion».
  • Информация о кассире - «ФИО» (Можно оставить "Логин", если хотите, чтобы в чеке указывался логин под которым зашли в Shelter).
  • Уровень логирования - «5» (Данный параметр увеличивает логирование и передает больше информации в логах, что позволяет быстрее найти причину ошибок в фискальнике, в случае возникновения проблем).
  • Протокол взаимодействия - «0»
  • Физический уровень - «0» или «1» ( 0 - искать ФР по COM-порту, 1 - искать ФР по IP адресу и порту)
  • Название COM-порта - «*» (указываем ту цифру порта, на котором у вас работает фискальный регистратор).
  • Пароль оператора - «30»

 

(Рис. 6)

 

 

 

8. Следующим шагом нужно будет выбрать киоск, который будет использоваться с настраиваемым фискальным регистратором (Рис. 7)

 

(Рис. 7)

 

 

После вышеуказанных настроек фискальный регистратор должен работать корректно. Один из способов проверить работу попробовать сделать Х-Отчет.

 

 

Фискальные налоги

 

Для того, чтобы настроить фискальные налоги в Shelter 2 необходимо сделать следующее:

   1. Для начала заведем фискальные налоги в самом Shelter 2. Заходим в «Настройки» «Справочники» «Налоги» «Фиск. налоги». (Рис. 8)

 

(Рис. 8)

 

 

   2. Чтобы завести фискальные налоги в Shelter 2 нужно узнать сопоставление кодов фискальных налогов, которые заведены в самом

       фискальном регистраторе. Для этого мы запускаем «Тест Драйвера ФР». Переходим в «Настройка свойств».  (Рис. 9)

 

(Рис. 9)

 

 

   3. В открывшемся окне нам следует указать COM-порт на котором установлен фискальный регистратор, после нажимаете «Проверка связи». 

       Если связь установлена переходим в «Таблицы». (Рис. 10)

 

(Рис. 10)

 

   4. Далее открываем таблицу «Налоговые ставки». (Рис. 11)

 

(Рис. 11)

 

 

   5. Тут мы видим три столбца, но нужно ореинтироваться на два первых - «Ряд» и «Величина налога».

       В столбе «Ряд» указан код налога с помощью которого мы будем сопостовлять налог с Shelter.

       В столбе «Величина налога» указан процент НДС, заполняется следующим образом: значения в данной таблице нужно умножить на 100

  • НДС 18% - 18*100
  • НДС 10% - 10*100 

   6. Например, нам необходимо использовать несколько фискальных налогов в Shelter 2, которые будут отображаться в чеке, возьмем - 18% и 10%

         В Shelter добавляем фискальный налог через кнопку «Добавить». (Рис. 12)

 

(Рис. 12)

 

 

 5. Откроется окно настройки фискального налога, добавим налог 18%, для этого нам нужно заполнить следующие поля: (Рис. 13)

  • Код (можно указать любое значение, которое еще не используется в Shelter)
  • Наименование (влияет на то, как будет отображаться налог в Shelter)
  • Код налога в фискальном регистраторе (необходимо указать код налога из тест драйвера фиск. регистратора (Рис. 11) в моем случае это код -1)
  • Ставка (тут указываем сколько процентов налог)

(Рис. 13)

 

     Аналогично заводим налог для 10%, только теперь «код налога в фиск. регистраторе» будет 2. (Рис. 14)

 

(Рис. 14)

 

 6. Теперь заведенные фискальные налоги необходимо прикрепить к услугам,  на которых нам нужно использовать данные налоги.

         Для этого нам следует зайти в «Настройки» «