Перейти к основному контенту

Интеграция iiko и Абонемент / Shelter

Описание интеграции iiko и Абонемент / Shelter.

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

image-1628232502640.png

Для работы Connecter - установите сервер блокировок Абонемента (службу) и запустите.
В connecter.ini указываете хост и порт сервера блокировок именно Абонемента (1111 - это дефолтный порт лок-сервера Шелтера), у Абонемента, как правило, он другой (1116 или 1119) - проверьте, чтобы порт был открыт (Брандмауэр).

Также в connecter.ini в секции [lock.server] укажите
Project = 2
Module = 12
version=2.3

На ключе защиты Shelter ОБЯЗАТЕЛЬНО должен быть проект 2 модуль 12.

 

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

iiko при оплате на специальным платежом обращается к Connecter, который обращается к ShelterConnect.dll, которая работает с базой данных Абонемент/Shelter.

Используемые версии ПО:

  • Версия ПО Абонемент: 1.134
  • Версия Connecter: 1.64
  • Версия iiko: 5.5 

Лицензирование.

Команды для закрытия из iiko защищены ключом, необходимо иметь проект 2 модуль 12 в используемом ключе защиты. До момента доработки плагина от iiko - нужен проект 1 модуль 2.

Необходимые файлы в папке с Connecter.exe.

  • SCRK6530.dll
  • ShelterConnect.dll
  • ShelterConnect.ini

Используются те же файлы, что и при интеграции с RKeeper 7, приложены к статье (ShelterRK7.rar) и есть с сборке FullVersion Абонемент.

Настройки iiko.

Выполняются специалистами, устанавливающими iiko (https://ru.iiko.help/articles/#!special-iiko/ucsshelter)

Плагин от iiko: http://rapid.iiko.ru/plugins/Smart%20UCSShelter/V5/ (Resto.Front.Api.UCSShelterPlugin-1.0.5.2-2021.04.12.zip) 

Настройки Connecter.

  1. Выполнить стандартные настройки Connecter.
  2. Connecter Должен быть настроен на БД, в которую будет осуществляться закрытие.
  3. В секции [Charset] необходимо установить параметр UseUrlEncode=0.

Настроить секцию [HotelInterface]

[HotelInter face]

HotelInterFaceDllname=D:\connecter\SCRK6530.dll

enabled=1

FolioMask=0

Настройки ShelterConnect.

[Database]

dbname=%Путь до БД Абонемент/Shelter%

DBuser = UCS

DBpassword = oQKH8n0BFUE=

 

[ExternalClient]

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

  IdentPhysType = 200  - Тип устройства: 2-магнитные карты, 200-замок,ключ

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

  ToOEM = 1

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

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

  ShowBalance = 1

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

ShowPermissibleSumAsBalance = 1

 

[log]

  FileName   = ShelterConnect.log

  Level      =  40   

  DebugLevel =  40

 

[GarbageCollector]

  Enabled  = 0

  LifeTime = 120

 

[SCRK6]

  UseDetails = 0

  AlcoholicOperation =999;

  Messages =SCRK6.eng.msg

  UseScreenHeader0 =0

  UseScreenHeader1 =0

  UseScreenSequelCode =0

  ShowBalance = 1

  ShowBalanceFirst = 1

  ShowBalanceEverywhere = 1

  UseSuperDetails = 1

  RoomInfoMode = 3

 

[PARAMS]

  NoAutoDiscount = 1

  Section =0

  UseSection =1

 

[TranslateOperation]

; ЧТО_ПРИХОДИТ_ИЗ_iiko=КОД_УСЛУГИ_В_АБОНЕМЕНТЕ

     1=301

 

[TranslatePayment]

  1111 = 70996,НАЛ

 

Реализованный функционал:

Кейс

Результат

Закрытие по номеру ФОЛИО

После ввода номера фолио в iiko отображается гость, администратор визуально идентифицирует его по фотографии и подтверждает. Заказ закрывается, на фолио гостя начисляется услуга. При просмотре внешнего чека можно увидеть подробную информацию о заказе.

Закрытие на номер по номеру карты гостя

После ввода номера карты гсотя/считывания карты гостя в iiko отображается гость, администратор визуально идентифицирует его по фотографии и подтверждает. Заказ закрывается, на фолио гостя начисляется услуга. При просмотре внешнего чека можно увидеть подробную информацию о заказе.

Закрытие по номеру карты поселения

После ввода номера карты поселения/считывания карты поселения в iiko отображается гость, администратор визуально идентифицирует его по фотографии и подтверждает. Заказ закрывается, на фолио гостя начисляется услуга. При просмотре внешнего чека можно увидеть подробную информацию о заказе.

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

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

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

После ввода номера в iiko отбражается соответствующая ошибка.

Закрытие на номер комнаты с несколькими проживающими

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

Закрытие с разными TRANSACTION_ID

В iiko есть возможность настроить передачу различных TRANSACTION_ID для начисления разных услуг на фолио, например "Бар" и "Кухня". Как настроить необходимо уточнять у специалистов iiko.

Отмена чека

При отмене чека создается соответствующая корректирующая транзакция на целевом фолио.

Закрытие на фолио с недостатком баланса

При попытке закрыть заказ iiko сообщает об ошибке

Закрытие со скидкой

При закрытии чека со скидкой можно увидеть соответствующую информацию (полную стоимость, сумму и название примененной скидки) при просмотре внешнего чека.

Недочеты, которые будут устранены в ближайшее время: при нехватке средств на фолио, ошибка не отображается в читабельном виде, вместо нее отображается "SCRK6/6.0.1: Ok".

Просмотр внешнего чека (Shelter).

Для просмотра внешнего чека используется rk6check.fr3 (включена в базовую поставку Shelter актуальных версий).
Для корректного отображения содержимого чека iiko необходимо:
1. В ..\Firebird\udf\ скопировать shrk6udf.dll и shrk6udf.ini (эти файлы можно найти в базовой поставке FullVersion актуальных версий)
2. В shrk6udf.ini настроить так: 

[heap]

oemtochar=1

[CheckXML]

decodeType=0

3. Перезапустить службы FireBird, выполнить закрытие на номер, проверить результат.