Trusted Guest

Технология защиты от злоупотреблений при работе с лояльностью через iikoWaiter позволяет надежно идентифицировать гостя и избегать подделку QR-кодов путем их копирования.

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

Принцип работы:

  1. Отсканировать зашифрованный код в приложении.

  2. Trusted Guest расшифровывает Data. Проверяет срок действия кода.

  3. В случае успешной проверки срока дейстия использует идентификатор гостя из Data для чекина.

Формат Data:

JSON

{
"qrExpires": int (UTC time),
"cardNumber": string (guest card number or phone)
}

Требования к формату кода: {Зашифрованный JSON}:{Идентификатор гостя для логирования (номер карты, имя и т.п.)}.

Динамические QR-коды поддерживаются, например, в гостевых приложениях DeliveryMobile.

Совместимость


Совместим со всеми вариантами лояльности: Card, External

Развертывание

Актуальная версия опубликована здесь.

Для установки необходимо скопировать файл TrustedGuest.dll в папку %AppData%\Roaming\iiko\CashServer\EntitiesStorage\Plugins\WaiterServer\

Если плагин iikoWaiter на старте видит по вышеуказанному пути TrustedGuest.dll, то он его грузит, автоматически включает режим перекодировки и логирует операции.  

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

Конфигурирование

Настраивается серез собственный файл конфига TrustedGuestConfig.xml в папке %AppData%\Roaming\iiko\CashServer\PluginConfigs\WaiterServer
В файле разместить ключ декодирования. Ключи шифрования и декодирования значения должны совпадать.

Обновление

Технология автообновления плагинов не обновляет библиотеку расширения, поэтому доступно только ручное обновление.

Поддержка

Логирование работы библиотеки расширения реализовано в логе WaiterServer.

Логируем в логе WaiterServer операции: вход, выход, внутренние эксепшены.