Настройка Киоска самообслуживания
Введение
Киоск самообслуживания, или r_keeper_SelfServiceTerminal_7 - это система, которая предоставляет возможность покупателю самому выбирать необходимые блюда и оплачивать заказ банковской картой. Другие используемые названия - киоск, терминал самообслуживания, касса самообслуживания.
Системные требования
Для корректной работы r_keeper_SelfServiceTerminal_7 необходимы следующие компоненты:
- ОС : Серверная MS Windows Server 2008 и выше или MS Windows Vista/7/8/8.1/10 Professional
- r_keeper_7 (версия 7.5.4.218 и выше)
Процессор (CPU) | Минимум (без проигрывания видео роликов) Тип процессора: Intel Atom Dual Core Скорость процессора: Минимум 1.6 GHz Рекомендовано 1.8 GHz или выше
Примечание: Рекомендуется использовать компьютер с дискретным видеоадаптером, если на терминале будут проигрываться рекламные ролики на базе Adobe Flash
|
---|---|
Видеоадаптер (VGA) | Видеоадаптер должен поддерживать Direct X версии 9.0c или выше. Минимальный объем видеопамяти (встроенной или выделяемой): 256Mb Минимальное разрешение: 1024х768 |
Оперативная память (ОЗУ) | Минимум 1Gb Рекомендовано 2Gb и больше |
Дисковое пространство | Минимум 20Gb свободного места на диске |
Локальная сеть | Ethernet (10/100/1000 BaseT) |
Интерфейсы | Для подключения ключа защиты Guardant нужен один свободный USB порт
Примечание: ключ защиты требуется для кассового сервера - если на компьютере киоска не планируется установка кассового сервера, наличие USB ключа не обязательно
|
Блок-схема r_keeper_SelfServiceTerminal_7
Дистрибутив
Данный продукт доступен на FTP компании UCS
Лицензирование
С версии SelfOrderService 1.0.1.6 r_keeper_SelfServiceTerminal_7 требует лицензирования. Для данного продукта предусмотрено два типа лицензии
- лицензия с поддержкой функции оплаты заказа
- лицензия без поддержки функции оплаты заказа
Лицензия будет прикреплена к виртуальному ключу, который генерирует кассовый сервер r_keeper_7, который должен быть пролицензирован как минимум на ноль станций.
Важно
Сгенерировать лицензию на 0 станций можно только при наличии мастер-лицензии.Механизм проверки лицензии:
- SelfOrderService,exe во время работы периодически запрашивает лицензию с сервера лицензирования l.ucs.ru
- при получении ответа с корректной лицензией для данного компьютера работа продолжается
- в случае получения ответа с некорректной (отсутствующей) лицензией на экран выдается соответствующая ошибка и кисок находится в таком состоянии до тех пор, пока не будет получена действительная лицензия
Для генерации кода запроса лицензии используется приложение LicReq.exe (запускается из рабочего каталога SelfOrderService.exe)
Для того, чтобы сгенерировать код запроса необходимо выполнить следующие шаги :
- запустить кассовый сервер r_keeper_7, с которым будет взаимодействовать киоск
- настроить в конфигурационном файле SelfOrderService.ini подключение к кассовому серверу. Достаточно заполнить параметр CashServer в секции [XMLIntf]
[XMLIntf]
;адрес xml-интерфейса кассового сервера
CashServer=127.0.0.1:8787
- запустить приложение LicReq.exe.
- При отсутствии связи с кассовым сервером приложение выдаст сообщение "Не определен код ресторана"
- при успешном подключении к кассовому серверу приложение выдаст запрос на ввод дилерского ID и пароля:
- для генерации запроса лицензии выбрать используемый ключ (физический или виртуальный) и нажать "Generate license request" и в поле "Request" появится сгенерированный запрос лицензии
- сохранить сгенерированный запрос и выполнить стандартную процедуру получения лицензии через сервер лицензирования l.ucs.ru
- если необходимо удалить виртуальный ключ, но основе которого генерируется запрос, то нажимаем кнопку "Delete key"
Настройка в r_keeper_7
XML интерфейс
Для взаимодействия киоска с кассовым сервером r_keeper_7 необходимо добавить и настроить XML интерфейс:
- в справочнике Сервис > Станции и Устройства выбираем нужный кассовый сервер или создаем новый
- в свойствах кассового сервера, во вкладке "Устройства" добавляем "XML interface for windows"
- в свойствах добавленного XML интерфейса, в разделе "Опции" прописать параметр "Port" - значение этого параметра будет использоваться при настройке сервера киоска
Далее привязывает добавленный интерфейс к логическому. Для этого переходим в справочник "Сервис" - "Интерфейсы" и создаем копию существующего XML интерфейса (интерфейс должен использовать ITcpXML.dll), открывает блок Файлы библиотек, выбираем наш кассовый сервер и добавляем ранее созданный xml интерфейс.
После этого необходимо перезагрузить кассовый сервер.
Начиная с версии 0.7.0 клиент r_keeper_SelfServiceTerminal_7 (RKeeperKiosk.exe) взаимодействует с кассовым сервером напрямую через http протокол. Для настройки протокола необходимо выполнить следующие действия:
- в справочнике "Сервис" - "Менеджерская станция" - "Привилегии на объекты" создать новое правило на объект "HTTP Access"
- в справочнике "Сервис" - "Станции и устройства" выбрать используемый для связки с киоском кассовый сервер
- в свойствах кассового сервера в разделе "HTTP ограничения" установить для всех параметров ранее созданную привилегию "HTTP Access"
- в свойствах кассового сервера в разделе "HTTP Server" настроить параметры http подключения
где :
- HTTP Bind Address - IP адрес сетевого интерфейса для привязки http протокола (если оставить пустым, будет "слушать" на всех доступных интерфейсах)
- Use Free Listen Port - снять опцию
- HTTP Data Port - порт привязки http протокола (прописывается также в \app\settings.xml)
В справочнике "Персонал" - "Работники" выбрать или создать работника, например HTTP_USER, для роли XML-Editing, для использования в настройках подключения киоска и задать пароль для него
В свойствах роли созданного или выбранного работника в разделе "Менеджерские ограничения" раскрыть параметр "Привилегии на объект" и выбрать ранее созданную привилегию "http_access"
В конфигурационном файле клиента киоска \App\settings.xml в секции <xmlinterface>...<xmlinterface> прописать параметры <user>...</user> и <password>...</password>:
<xmlinterface>
<host>127.0.0.1</host>
<port>5252</port>
<user>HTTPUSER</user>
<password>1</password>
Поддержка оборудования
Для поддержки аппаратного обеспечения киоска используется только кассовая часть R-Keeper v7 и/или стороннее ПО для поддержки авторизации банковских карт - ни один из модулей киоска не взаимодействует напрямую с переферийным оборудованием.
Перед настройкой оборудования необходимо добавить новую станцию для печати:
- в справочнике "Сервис" ⇒ "Станции и Устройства" выбрать ресторан и ранее созданный кассовый сервер
- добавить новую станцию с типом "Станция для Печати"
- в свойствах станции в разделе "Главное" запомнить значение параметра Идентификатор - значение этого параметра будет использоваться при настройке сервера киоска
Для настройки оборудования необходимо:
- в справочнике "Сервис" ⇒ "Станции и Устройства" выбрать созданную ранее станцию
- на закладке "Устройства" добавить интерфейс подключения фискального регистратора (как правило, COM-порт)
- добавить и настроить драйвер фискального регистратора (например, СПАРК)
- добавить и настроить драйвер авторизации банковских карт
Режим "Заказ без оплаты"
С версии SelfOrderService 1.0.1.12 и RKeeperKiosk 0.0.3.14 реализован новый режим работы - заказ без оплаты (Type = 3)
Требуется другая лицензия, см. раздел "Лицензирование".
Принцип работы схож с технологией конец очереди (заказ из очереди). В режиме заказа без оплаты киоск после сохранения заказа формирует файлы в специальном XML-формате для дальнейшей обработки кассовым сервером r_keeper_7.
Данный режим позволяет запускать киоск на любом компьютере, без использования специализированного оборудования (фискальный регистратор, пин-пад, считыватель карт и т.д.)
В случае использования режима "заказ без оплаты" на кассовый сервер необходимо добавить интерфейс "Mobile Fast Food Interface" для обработки заказов:
- в справочнике "Сервис" - "Станции и Устройства" выбрать требуемый сервер
- в свойствах кассового сервера в закладке "Устройства" добавить "Mobile Food Interface"
- в свойствах интерфейса в разделе "Опции" заполнить параметр DirName - путь к директории, где накапливаются сохраненные заказы с киоска
- настроить MCR алгоритм под маску номера заказа, для дальнейшего поднятия файла на кассе.
- в справочнике "Настройки" - "Печать" - "Назначение принтеров" добавить новое назначение принтера, например "Киоск самообслуживания"
- запомнить параметр "Идентификатор" для нового назначения принтера - потребуется для настройки параметра "PrinterPurposeIdent" в конфигурационном файле сервера киоска
- в свойствах кассовой станции, используемой для киоска, в закладке "Принтеры" добавить новый принтер с параметрами, соответствующими установленному в киоске
- в свойствах ресторана в разделе "Назначение принтеров" указать добавленный принтер для ранее созданного нового назначения принтера
- в конфигурационном файле SelfOrderService.ini сервера киоска прописать и настроить параметры Type, OrderQueueAddress, PrinterPurposeIdent, OrderNumAsCode
- при необходимости, заполнить в свойствах интерфейса параметр LogName (например, в случае отладки или сбора информации)
Режим работы 4 - Заказ без оплаты с технологией "Карта на входе"
Работает с лицензией "R-Keeper модуль Киоск самообслуживания без функции оплаты ПО"
Принцип работы такой же, как у типа "Заказ без оплаты", но с использованием технологии Карта на входе
При входе в заведение гость получает идентификационную карту с возможность делать несколько заказов на разных терминалах киоска самообслуживания (например, зайти в ресторан, в игровую зону, в кинотеатр). По окончании визита гость проходит к кассовой стойке и оплачивает все заказы одним платежом.
Для настройки этого режима необходимо отредактировать SelfOrderService.ini
[XMLIntf]
TwoStepsAuth = 0 - не использовать двухстадийную авторизацию
[Settings]
Type = 4 - тип работы киоска "Заказ без отплаты с технологией "Карта на входе"
Режим работы 5 - Оплата картой или через кассу
Работает с лицензией "R-Keeper модуль Киоск самообслуживания ПО" (с поддержкой функции оплаты заказа)
Настройки для данного типа работы соответствует настройкам режимов "Оплата и печать через станцию r_keeper и "заказ без оплаты"
Настройки в SelfOrderService.ini
Type = 5 - тип работы киоска "Оплата картой или через кассу"
При сохранении заказа на киоске и последующей его оплате на кассе рекомендована работа через 2 кассовых сервера - Киоск на 1 кассовом сервере, касса на втором кассовом сервере, иначе возможно задвоение заказа на ВДУ.
Настройки
- Для отображения заказов в xml формате в bin/win создается папка mobileff и в ini прописывается путь
OrderQueueAddress=\\PC-QA-10\mobileff (адрес для отправки заказов в режиме "заказ без оплаты" )
- Если для настроек используется SelfOrderService.ini
секция [VDU]
UseVDUSpecialUnitNum=1
Этот параметр нужен для того, чтобы заказ с киоска после оплаты на кассе не дублировался в VDU)
секция [Settings]
Type3NumLength=4
Длина номера заказа, который печатается в слипе. Номер заказа со слипа дальше используется на кассе для оплаты соответствующего заказа
- Если для настроек используется Settings.xml
<vdu>
UseVDUSpecialUnitNum>true</UseVDUSpecialUnitNum>
</vdu>
Для того, чтобы заказ с киоска после оплаты на кассе не дублировался в VDU
<cashPay>
<orderNumLength>4</orderNumLength>
</cashPay>
Длина номера заказа, который печатается в слипе. Номер заказа со слипа дальше используется на кассе для оплаты соответствующего заказа
- Если используются несколько касс, то чтобы не возникало пересечение номеров заказов при одновременном создании заказов на нескольких киосках, необходимы следующие настройки:
Чтобы номер заказа был четырехзначным:
настройки в SelfOrderService.ini:
[Settings]
Type3NumLength=3
OrderPrefix=1
настройки в Settings.xml:
<server>
<cashPay>
<orderNumLength>3</orderNumLength>
<orderPrefix>1</orderPrefix>
</cashPay>
</server>
Новая настройка здесь orderPrefix (в примере настроек выше это значение равно 1): целое неотрицательное значение в пределах от 0 до 9.
На киосках, которые работают с одним кассовым сервером, нужно в настройках указать разные префиксы. Тогда при оплате на кассе не должно быть проблемы с пересечением номеров от разных киосков.
Если к одному северу обращаются больше 10-и киосков, то проблема с пересечением проявится снова.
Подготовка меню
Еще одним обязательным условием запуска системы r_keeper_SelfServiceTerminal_7 является подготовка отображения меню на экране киоска. Пока вы не настроите дерево меню, система r_keeper_SelfServiceTerminal_7 у вас не запустится.
Переходим в справочник "Меню" - "Дерево меню" и создаем каталоги (страницы селектора) и подкаталоги, которые будут отображаться на экране киоска.
Далее эти селекторы наполняются подкаталогами (селекторами второго уровня), например, в селектор "Напитки" добавляются селекторы "Соки", "Воды", "Алкоголь" и т.д., а селекторы второго уровня, в свою очередь, заполняются блюдами из меню. В селекторы второго уровня можно добавить только блюда. Комплексные блюда и подкаталоги добавлять нельзя. П
После создания дерева, все каталоги(селекторы первого уровня) должны быть перемещены в каталог "Начальный выбор" - корень дерева.
Для того чтобы назначать картинки блюдам из дерева меню, необходимо в параметрах системы r_keeper_7 (Справочник "Настройки" - "Параметры" - "Путь к каталогу с картинками") указать путь к каталогу с картинками блюд.
Картинки для блюд задаются в пункте "Самообслуживание и интернет заказы" в свойствах блюда. Если такой пункт отсутствует, то необходимо включить параметр "Настройки" - "Параметры" - "Самообслуживание и интернет заказы"
Настройка киоска самообслуживания
Сервер
Взаимодействие киоска самообслуживания с кассовым сервером происходит посредством сервера киоска.
Основной исполняемый файл сервера киоска - SelfOrderService.exe, а его конфигурационный файл SelfOrderService.ini
Перед запуском сервера киоска необходимо отредактировать его конфигурационный файл. Значение параметров приведенных ниже, должны совпадать с данными в r_keeper_7:
StationIdent - идентификатор кассовой станции от которой будут создаваться заказы
TableIdent - идентификатор стола, на который будут создаваться заказы
WaiterIdent - идентификатор работника, кто будет создавать заказы
MaketIdent - идентификатор представления макета чека для печати
DelReceipMaketIdent - идентификатор представления для аннулирования чека
DefaultSelectorIdent - идентификатор селектора меню для киоска в дереве меню
Ordertype - список идентификаторов типов заказов, доступных для киоска
VoidIdent - идентификатор причины удаления блюд в чеке
Приложение
Клиент киоска представляет собой интерфейс взаимодействия с пользователем - выбор блюд, оплата заказа, менеджерские функции. Исполнительные файлы клиента киоска находятся в подкаталоге \Арр.
Основной исполняемый файл клиента киоска - RKeeperKiosk.exe (запускается автоматически при запуске сервера SelfOrderService.exe). Параметры киоска хранятся в 2-х конфигурационных файлах: configuration.xml и settings.xml
В файле configuration.xml - основные параметры, такие как функционал, оформление и т.д.
В файле settings.xml - сервисные и отладочные параметры
В файле versions.txt - содержит информацию о текущих версиях сборки: версия_сервера-версия_клиента-версия_используемого_файла_"*theme"
В конфигурационном файле settings.xml в разделе xml interface проверяем следующие параметры: (они подтягиваются автоматически из SelfOrderService.ini после первого запуска киоска)
host - адрес кассового сервера
port - http port кассового сервера (прописывается в свойствах кассового сервера в блоке HTTP Server)
user - В этой строке прописывается пользователь которого мы создавали для общения киоска с кассовым сервером через http протокол (http_user)
password - пароль пользователя
stationIdent - идентификатор кассовой станции
tableIdent - идентификатор стола
waiterIdent - идентификатор работника
maketIdent - идентификатор макета чека
delReceiptMaketIdent - идентификатор причины удаления чека
Менеджерские функции
Начиная с версии r_keeper_SelfServiceTerminal_7 1.0.1.13 в интерфейс киоска добавлен раздел для выполнения менеджерских функций
- печать Z отчета
- печать Х отчета
- закрытие общей смены
- закрытие кассовой смены
- удаление чеков
- просмотр информации о лицензии
- перезапуск киоска
Для входа в менеджерский раздел используется двухуровневая авторизация - кроме кода и пароля сотрудника дополнительно требуется ввести временный пароль, который автоматически генерируется и отправляется на установленный адрес электронной почты.
Для настройки данной функции необходимо зайти в приложение LicReq.exe (запуск от имени администратора) и авторизоваться под дилером.
Зайти во вкладку Email configuration и заполнить параметры подключения к SMTP серверу, указать адрес получателя и отправителя, обязательно установить параметр Use EHLO!!
Для проверки работоспособности можно воспользоваться операцией "Test settings" - на установленный адрес электронной почты будет отправлено тестовое письмо со следующий содержимым:
Важно
При каждом запуске киоска, происходит проверка хеша текущей смены (ShiftHash в SelfOrderService.ini) - если хеш отсутствует или не соответствует текущей дате, происходит перегенерация хеша и автоматическая отправка нового временного пароля на установленный адрес электронной почтыПримечание
При установке в конфигурационном файле киоска \App\configuration.xml параметра <resendShiftPassword>true</resendShiftPassword> в окне авторизации для входа в менеджерскую добавляется кнопка для повторной отправки пароля.Для входа в менеджерский раздел у роли сотрудника должны быть права на операции "Закрытие общей смены" и "Закрытие смены кассира"
Для входа в менеджерский раздел необходимо:
- в пользовательском интерфейсе киоска перейти в раздел "Информация"
- на светлой области экрана последовательно нажать сначала в левом верхнем углу (1), затем в правом нижнем (2) - интервал между нажатиями не должен превышать 2-3 секунды
- авторизоваться для входа в менеджерский раздел - ввести код сотрудника, пароль, и пароль смены (временный пароль, высылаемый на электронную почту)
- после успешной авторизации будут доступны менеджерские функции:
Изображения для элементов заказа
Киоск поддерживает отображение графических файлов для элементов меню, файлы должны находиться в подкаталоге \App\Assets\Dishes
Важно
Важно: киоск самообслуживания поддерживает формат JPEG, PNG, JPG. Формат BMP не поддерживается!Локализация
С версии сервера киоска SelfOrderService 1.0.1.71 реализована автоматическая загрузка актуальной локализации интерфейса системы с сервера localize.ucs.ru
Параметры настройки локализации см. в секции [LNG] конфигурационного файла SelfOrderService.ini
Запуск киоска самообслуживания
Важно
Учетная запись пользователя Windows, от имени которого происходит запуск киоска самообслуживания, должна иметь право на чтение\ запись\ удаление в ветку реестра HKLM\SOFTWARE\Wow6432Node\UCS\SelfService (x64) или HKLM\SOFWARE\UCS\SelfService (x86)Для запуска киоска необходимо:
- запустить кассовый сервер
- запустить станцию печати
- запустить сервер киоска SelfOrderService.exe (обязательно от имени администратора)
Для автоматического запуска ПО необходимо:
- установить кассовый сервер в качестве сервиса с автоматическим режимом запуска
- установить станцию печати в качестве сервиса с автоматическим режимом запуска
- поместить в автозагрузку Windows запуск сервера киоска SelfOrderService.exe - сервер автоматически будет запускать клиентскую часть и перезапускать ее в случае закрытия.
Для выхода из киоска достаточно закрыть сервер киоска SelfOrderService.exe (иконка в системном трее), который автоматически закроет RKeeperKiosk.exe
Обновление киоска самообслуживания
- Сохранить конфигурационные файлы SelfOrderService.ini, App\Settings.xml и App\configuration.xml
- файлы из новой сборки скопировать с заменой поверх текущих либо установить киоск в другой каталог и скопировать из текущей сборки каталоги \App\assets\dishes, \App\assets\info и \App\assets\video
- Сравнить новые и старые конфигурационные файлы, внести соответствующие изменения (перенести настройки из старых файлов либо дописать новые параметры в текущие конфигурационные файлы)
- При необходимости проверить файл локализации \App\assets\theme\default\localization.xml
- Перегенерировать лицензию через LicReq.exe
Блокировка киоска самообслуживания по событию
С версии RKeeperKiosk 0.8.4. в конфигурационный файл configuration.xml добавлены статусы событий, для которых можно установить или отключить блокировку киоска:
<deviceState>
<!-- Смена превысила 24 часа -->
<shift24Out lock="true"/>
<!-- Бумага скоро закончится -->
<paperLow lock="true"/>
<!-- В принтере закончилась бумага -->
<paperOut lock="true"/>
<!-- Ошибка принтера -->
<paperOther lock="true"/>
<!-- ЭКЛЗ близка к заполнению -->
<EKLZNearEnd lock="true"/>
<!-- Фискальная смена превысила 24 часа -->
<fisc24Out lock="true"/>
<!-- Фискальник недоступен -->
<fiscAvailableLock lock="true"/>
<!-- Есть неотправленные чеки -->
<OFDUnsendedDocsLock lock="true"/>
</deviceState>
Горячие клавиши
- [Ctrl + Shift + M] - сброс в начальное состояние, только в демо режиме
- [Ctrl + M] - сброс в менеджерскую, только в демо режиме
- [Ctrl + Shift + L] - генерация ошибки лицензии, только в демо режиме
- [Ctrl + L] - генерация валидной лицензии, только в демо режиме
- [Ctrl + G] - вызов сборщика мусора
- [Ctrl + O] - очистка заказа, только в демо режиме
- [Ctrl + P] - деактивация автообновления видимости селекторов, только в демо режиме
- [Ctrl + "-"] - деактивация селекторов (сначала нужно деактивировать автообновление видимости селекторов), только в демо режиме
- [Ctrl + "+"] - активация селекторов (сначала нужно деактивировать автообновление видимости селекторов), только в демо режиме
- [Ctrl + Shifr + "~"] - вызов кликер - панели, только в демо режиме
- [Ctrl + C] - скрывает/отображает курсор мыши, с версии r_keeper_SelfServiceTerminal_7 0.6.27
- [Ctrl + T] - включает\ отключает отображение окна поверх остальных окон, с версии r_keeper_SelfServiceTerminal_7 0.7.2
Запуск киоска в демо-режиме
r_keeper_SelfServiceTerminal_7 можно запустить в демо режиме (лицензия не требуется)
В этом режиме не требуется запуск кассового сервера, клиентская часть киоска (RKeeperKiosk.exe) не использует сервер киоска (SelfOrderService.exe) и работает с предустановленным набором текстовых данных (набор XML-файлов)
Важно: тестовый набор данных не поставляется в дистрибутиве. При наличие тестовых данных необходимо скопировать их в подкаталог клиента \App\TestData - без этого r_keeper_SelfServiceTerminal_7 не запустится в демо режиме. Изображения элементов меню для тестового набора данных копируются в стандартный каталог \App\assets\dishes
Для включения демо режима необходимо в конфигурационном файле settings.xml приложения RKeeperKiosk.exe установить параметр <demo>...</demo> в значении true
<app><!-- Демо режим --><!-- В демо режиме есть возможности записи состояний мыши (up, down и move). Вызов панели записи (shift + "~").
Также реализовано сохранение состояний в файл и проигрывание из файла. -->
<demo>true</demo>
</app><!-- Управление разрешением мониторов
Описание параметров конфигурационных файлов
Данный раздел будет заполняться по необходимости, так как все основные параметров описаны в самих ini и xml файлах
settings.xml
OrderNumLength - Длина номера заказа, который печатается в слипе. Номер заказа со слипа используется на кассе для оплаты соответствующего заказа
SelfOrderService.ini
Type30OrderNum - данный параметр показывает номер следующего заказа, вручную это значение не меняем, оно меняется автоматически
Пользовательский мануал
Пользовательский мануал по продукту r_keeper_SelfServiceTerminal_7 выложен на фтп сервере компании UCS