1. Общая информация о системе SmartControl
SmartControl — это программный комплекс для мониторинга касс и получения отчетов для ресторанов, автоматизированных с помощью iiko. Основная задача системы – контроль и мониторинг, получение оперативных данных с касс ресторана в режиме реального времени.
SmartControl доступен в двух форматах:
- Мобильное приложение (iOS, Android);
- Telegram-бот (https://t.me/smart_control_bot).
Благодаря SmartControl вы можете отслеживать текущие показатели вашего ресторана: загрузку залов, столов, получать информацию о банкетах, резервах и доставках. Система показывает не только выручку по закрытым заказам, но и предоставляет возможность оценить планируемую выручку по открытым заказам.
В проекте SmartControl есть три части:
- Плагин, устанавливающийся на кассу iiko;
- Мобильное приложение SmartControl (для платформ Android и iOS);
- SmartControl Telegram-бот (https://t.me/smart_control_bot).
2. SmartControl Плагин для iiko
2.1. Лицензирование
- Для заказа лицензии SmartControl необходимо обращаться в техподдержку iiko (обслуживающую организацию);
- Стоимость лицензии – 720 руб./мес. на один сервер RMS, включает подключение до 10 касс одного ресторана;
- Количество подключающихся приложений и ботов не ограничено;
- Оплата лицензии не гарантирует её автоматическое появление на кассе, необходимо проверять наличие лицензии непосредственно на кассе;
- Лицензия в системе iiko называется "SmartControl";
- Новым клиентам iiko лицензия может предоставляться на определенный период в рамках "велком"-пакета (обычно 4 месяца);
- Время появления лицензии после оплаты зависит от обработки платежа в системе iiko;
- Если лицензия не была оплачена в срок, может потребоваться дополнительное вмешательство техподдержки iiko;
- При истечении срока лицензии SmartControl перестает получать новые данные с кассы;
- Лицензии выдаются только на уровне отдельных ресторанов (RMS), не существует отдельной лицензии для центрального офиса (Chain);
- Лицензия обычно не заканчивается посередине месяца, если данные перестали обновляться в середине месяца, вероятно, причина в другом;
- Установку и настройку выполняет партнер iiko.
2.2. Установка плагина
- Начиная с iiko версии 7.6, плагин устанавливается автоматически при наличии лицензии при закрытой кассовой смене;
- Для принудительной установки плагина:
- Зайдите на кассе в меню "Дополнения";
- Нажмите кнопку "Проверить и обновить плагины".
- Если плагин установлен, но заблокирован Windows:
- Найдите файл плагина;
- В свойствах файла нажмите кнопку "Разблокировать";
- Перезапустите iikoFront.
- На сайте SmartResto.ru также доступны ссылки на плагины для ручной установки;
- После появления лицензии на кассе необходимо перезапустить iikoFront.
Для ручной установки:
- Выключите iikoFront и скопируйте плагин "SmartControl.dll" в каталог плагинов iiko Front "C:\Program Files\ iiko\iikoRMS\ Front.Net\Plugins\ SmartControl\SmartControl.dll";
- Плагин необходимо устанавливать только на главную кассу. Установка плагина на вспомогательные кассы или официантские терминалы необходима только в случае, если на них открывают кассовые смены.
2.3. Проверка работы плагина
- Проверьте лог плагина: "%AppData%\iiko\CashServer\Logs\plugin-SmartControl.V*.log". Если лог отсутствует, значит плагин не запускается;
- Проверьте общий лог: "cash-server.log";
- Основные причины незапуска плагина:
- Отсутствие лицензии SmartControl;
- Плагин заблокирован Windows (требуется разблокировка в свойствах файла);
- Неправильное расположение файлов плагина в структуре папок;
- Дублирование плагина в разных местах файловой системы;
- Не установлена галка "Главная касса" в настройках iikoOffice;
- Отсутствие библиотеки System.Reactive.dll (для iiko версии 7.1.x).
Обратите внимание: при запуске iiko Front не должно быть ошибок, информирующих об отсутствии лицензии SmartControl. Если вы увидели информационное сообщение об отсутствии лицензии SmartControl, обратитесь к официальному представителю iiko в вашем регионе.
2.4. Описание файла конфигурации SmartControlConfig.xml
Файл SmartControlConfig.xml является конфигурационным файлом для плагина SmartControl, устанавливаемого на кассах iiko. Он содержит различные параметры, позволяющие настроить работу плагина в соответствии с потребностями ресторана.
2.4.1. Расположение файла
Файл находится по пути: %AppData%\iiko\CashServer\PluginConfigs\SmartControl.V*\SmartControlConfig.xml, где * - версия плагина.
2.4.2. Основные параметры
2.4.2.1. Общие настройки
<ID></ID>
- Идентификатор плагина. Можно задать в формате GUID, если необходимо заменить стандартный идентификатор.<PluginDisabled>false</PluginDisabled>
- Параметр для запрета запуска плагина. Если установлено значение true, плагин не будет запущен.<DebugMode>false</DebugMode>
- Включение режима дополнительного логирования для отладки плагина. При значении true активируется расширенное логирование.
2.4.2.2. Настройки событий и уведомлений
<VipSum>10000</VipSum>
- Сумма заказа, начиная с которой формируется событие "Сумма заказа достигла ХХХ". По умолчанию 10000.<OrdersCount>10</OrdersCount>
- Количество заказов для события "В течение ХХ мин. открыто ХХ заказов".<OrdersTimeOut>10</OrdersTimeOut>
- Период времени в минутах для события "В течение ХХ мин. открыто ХХ заказов".<CloseTimeOut>10</CloseTimeOut>
- Период времени в минутах для события "Время от пречека до закрытия заказа XX мин".
2.4.2.3. Настройки оплаты
<ExcludedPayments>
- Блок для указания типов платежей, которые применяются как скидка (например, бонусы) и должны быть исключены из расчета выручки.<Payment>Bonus</Payment>
- Пример исключаемого типа оплаты "Bonus".<Payment>Gift</Payment>
- Пример исключаемого типа оплаты "Gift".
2.4.2.4. Настройки отображения данных
<OldOrdersPeriod>10</OldOrdersPeriod>
- Период в днях, за который запрашиваются заказы предыдущих кассовых смен. Также влияет на отображение будущих доставок и банкетов.<WorkOnlyOnOpenShift>true</WorkOnlyOnOpenShift>
- Если установлено значение true, данные выгружаются только при открытой кассовой смене. Это полезно для сохранения информации при очистке данных в кассе после закрытия смены.<UseTableNames>true</UseTableNames>
- При значении true используются названия столов вместо номеров.
2.4.2.5. Настройки идентификации
<UseGroupId>true</UseGroupId>
- При значении true используется идентификатор группы, при false - идентификатор терминала. Важно при работе с клонированными базами данных.
2.4.2.6. Настройки официантской станции
<SubTerminal>false</SubTerminal>
- При значении true терминал считается ведомым (субкасса), плагин используется только для передачи событий.
2.4.2.7. Сетевые настройки
<CloudServer></CloudServer>
- Альтернативный адрес сервера. Используется при недоступности основного адреса сервиса SmartControl.
2.4.2.8. Настройки виртуального принтера
<VirtualPrinter Enable="false">
- Блок настроек для передачи данных из лога виртуального принтера.<PrinterId></PrinterId>
- ID принтеров, с которых будут передаваться данные. Если указаны ID принтеров, данные будут передаваться только с этих принтеров.
2.4.2.9. Примечания
- Изменения в конфигурационном файле применяются без перезапуска кассы.
- Для большинства параметров существуют значения по умолчанию, которые подходят для типичных сценариев использования.
Данная конфигурация позволяет гибко настроить функциональность плагина SmartControl в соответствии с особенностями работы конкретного ресторана.
2.5. Настройка плагина
2.5.1. Настройка автоматического отключения плагина
- При отсутствии подключений клиентов плагин отключается через 7 дней после первого запуска;
- Для отключения этой функции измените в конфигурационном файле:
- Путь: "%AppData%\iiko\CashServer\PluginConfigs\SmartControl.V*\SmartControlConfig.xml";
- Параметр: "
<PluginDisabled>true</PluginDisabled>
" на "<PluginDisabled>false</PluginDisabled>
".
2.5.2. Настройка отображения старых/будущих заказов
- По умолчанию ограничение на отображение заказов старше 10 дней;
- Это влияет также на отображение будущих доставок и банкетов (если они запланированы более чем на 10 дней вперед);
- Для изменения этого параметра:
- Путь: "%AppData%\iiko\CashServer\PluginConfigs\SmartControl.V*\SmartControlConfig.xml";
- Параметр: "
<OldOrdersPeriod>10</OldOrdersPeriod>
" измените на нужное количество дней.
- Если заказы не обновляются после закрытия старой смены и открытия новой, также стоит проверить этот параметр;
- Заказы, открытые более 10 дней назад, могут не отображаться в приложении, даже если они все еще открыты в iikoFront;
- Этот параметр помогает избавиться от "подвисших" заказов в базе entities. При некорректном закрытии кассовой смены или сбоях в работе iikoFront может возникнуть ситуация, когда в базе данных entities остаются закрытые заказы предыдущих кассовых смен и выручка из них попадает в отчеты открытой смены;
- Решение: установите параметр OldOrdersPeriod = 1 или 2 (зависит от возраста "зависших" заказов);
- Важно: изменение параметра OldOrdersPeriod влияет на отображение всех заказов, включая легитимные незакрытые заказы, переходящие из других смен.
2.5.3. Настройка работы со сменами
- По умолчанию плагин не передает данные при закрытой кассовой смене. После закрытия кассовой смены плагин останавливает передачу данных, чтобы зафиксировать итоги смены до открытия новой. Иначе SmartControl будет отображать "нули", так как на кассе удаляются все заказы. Выручка за предыдущий день обнуляется только после открытия новой кассовой смены;
- Для изменения этого поведения:
- Путь: "%AppData%\iiko\CashServer\PluginConfigs\SmartControl.V*\SmartControlConfig.xml";
- Параметр: "
<WorkOnlyOnOpenShift>true</WorkOnlyOnOpenShift>
" измените на "<WorkOnlyOnOpenShift>false</WorkOnlyOnOpenShift>
".
- Если не включен параметр WorkOnlyOnOpenShift, после закрытия кассовой смены все заказы на кассе удаляются, и приложение показывает "нули". В этом случае может возникнуть противоположная ситуация: если касса выключается сразу после закрытия смены, плагин не успевает обнулить данные, и они "замораживаются". Рекомендуется оставлять кассу включенной на 2-10 минут после закрытия смены, чтобы плагин успел передать обнуленные данные;
- После открытия новой кассовой смены данные начнут передаваться автоматически;
- Если кассовая смена никогда не открывалась, приложение может не подключать такие кассы, так как при подключении ресторана приложение получает большой список различных терминалов ресторана и сохраняет привязку только к тем, плагины на которых работают и передают данные для сервиса SmartControl;
- SmartControl перестает передавать данные, если была закрыта хотя бы одна смена из нескольких, и не все они открыты заново;
- При наличии нескольких касс, закрытие одной кассовой смены может привести к прекращению обновления данных со всех касс. В случае, если в заведении несколько пересекающихся кассовых смен, открывающихся и закрывающихся в разное время, рекомендуется установить параметр WorkOnlyOnOpenShift в значение false.
2.5.4. Настройка исключения типов оплат из выручки
- Для исключения типов оплат, которые не должны учитываться в выручке (например, "Бонусы", "Комплимент"):
- Путь: "%AppData%\iiko\CashServer\PluginConfigs\SmartControl.V*\ SmartControlConfig.xml";
- В блоке "
<ExcludedPayments>
" добавьте строки для каждого типа оплаты: <ExcludedPayments> <Payment>Бонусы</Payment> <Payment>Комплимент</Payment></ExcludedPayments>
- Система может автоматически определять некоторые типы оплат без выручки, если они созданы платежным плагином;
- Из API iikoFront невозможно автоматически определить, что оплата является бонусной;
- Изменения в конфигурационном файле применяются без перезапуска кассы;
- Такая настройка помогает избежать расхождений между итоговыми суммами отчетах iiko и в SmartControl, вызванных бонусными оплатами.
2.5.5. Настройка порога для события "сумма заказа достигла X"
- Для настройки порогового значения суммы заказа:
- Путь: "%AppData%\iiko\CashServer\PluginConfigs\SmartControl.V*\SmartControlConfig.xml";
- Параметр: "
<VipSum>10000</VipSum>
" (измените значение 10 000 на нужное).
- Это значение определяет, при какой сумме будет генерироваться уведомление о достижении пороговой суммы заказа;
- По умолчанию установлен порог 10 000 для события "сумма заказа достигла X".
2.5.6. Настройка расширенного логирования
- Для диагностики проблем с производительностью можно включить расширенное логирование:
- Путь: "%AppData%\iiko\CashServer\PluginConfigs\SmartControl.V*\SmartControlConfig.xml";
- Параметр: "
<DebugMode>false</DebugMode>
" измените на "<DebugMode>true</DebugMode>
".
- После включения расширенного логирования необходимо дождаться воспроизведения проблемы и отправить лог на анализ.
2.5.7. Настройка для нескольких касс внутри одного ресторана
- Один ресторан (RMS) может иметь несколько групп, каждая со своими кассами;
- В одну лицензию SmartControl входит до 10 подключений плагинов, устанавливаемых на главных кассах;
- Если касс больше 10, требуется дополнительная лицензия на каждые 10 касс;
- Плагин SmartControl не обязательно должен быть установлен на всех кассах;
- На главной кассе плагин устанавливается обязательно;
- На ведомых кассах плагин нужен только если к ним подключен отдельный фискальный регистратор (для получения событий открытия/закрытия кассовой смены);
- Для ведомых касс требуется изменить параметр SubTerminal в конфигурационном файле;
- Важно: сначала необходимо установить плагины на кассы, а только потом подключать ресторан в приложении SmartControl или Telegram боте;
- Если не все кассы отображаются в приложении, возможно плагины на некоторых кассах не активированы.
2.5.8. Настройка при работе с клонированными базами
- Такое может произойти, если клиенту база данных создается не с нуля, а копируется как шаблонная от другого клиента или поставляется от iiko с предзаполненными тех. картами (тариф iikoCloud Free).
- При работе с клонированными базами данных могут возникать проблемы с идентификаторами, так как SmartControl в качестве идентификатора по умолчанию использует идентификатор группы. У разных ресторанов с клонированными базами идентификаторы групп могут совпадать;
- Симптомы: может происходить неожиданное появление "чужого" ресторана в приложении, данные ресторанов могут по очереди заменять друг друга;
- Решение: использовать в качестве идентификатора идентификатор терминала:
- Путь: "%AppData%\ iiko\ CashServer\ PluginConfigs\ SmartControl.V*\ SmartControlConfig.xml";
- Параметр: "
<UseGroupId>true</UseGroupId>
" измените на "<UseGroupId>false</UseGroupId>
".
- После изменения параметра перезапустите кассу;
2.5.9. Настройка передачи данных с виртуальных принтеров
- SmartControl может передавать данные из лога виртуального принтера (virtual-printer.log);
- Эта функция может использоваться для получения сервисных чеков в чат Telegram без печати их на бумаге;
- Настройка в конфигурационном файле:
<VirtualPrinter Enable="true"> <PrinterId>ID_принтера</PrinterId> <PrinterId></PrinterId></VirtualPrinter>
- Для фильтрации по ID принтера нужно указать конкретный ID в элементе "
<PrinterId>
"; - ID принтера указывается без скобок;
- В конфигурационном файле предусмотрено несколько полей для ID принтера, что позволяет указать несколько принтеров;
- Порядок полей неважен, можно оставить одно поле или удалить их вообще;
- Для отображения уведомлений в Telegram-боте необходимо включить соответствующий фильтр уведомлений: ➕ → ⚙ Настройки и помощь → ✅ Фильтр уведомлений о событиях;
- Ограничения: нет возможности настроить передачу чеков с разных принтеров разным пользователям.
2.6. Настройка сетевого доступа
- Плагин подключается к серверу по адресу http://rp1.smartresto.pro/Service1.svc;
- Альтернативный адрес: http://rp2.smartresto.pro/Service1.svc;
- Используется протокол HTTP на стандартном порту 80;
- Для проверки связи с сервером можно:
- Проверить доступность адреса http://rp1.smartresto.pro/Service1.svc в браузере на кассе;
- Выполнить проверку пинга по адресу сервера (ping rp1.smartresto.pro);
- Проверить доступность с другого устройства в той же сети и вне сети (через сотовую связь).
- Для сервера ресторана без статического IP и внешнего доступа (лицензии LifeTime):
- SmartControl будет работать, так как плагин на кассе отправляет данные на сервер SmartControl;
- Мобильное приложение необходимо подключать в локальной сети;
- Для Telegram-бота требуется дополнительная настройка через поддержку SmartResto.
2.7. Диагностика сетевых проблем
- Если ping не проходит – проблема на уровне сети (может быть проблема в настройках брандмауэра или антивируса, настройках роутера, и, в редких случаях, ограничения со стороны провайдера);
- Если ping проходит, но сервис недоступен – вероятно блокировка порта брандмауэром или на уровне протоколов;
- Типичные ошибки в логе при сетевых проблемах:
- "System.TimeoutException: Тайм-аут канала запроса во время ожидания ответа";
- "ERROR [ 6] - [TypeValue][310] Прослушивание на http://rp1.smartresto.pro/Service1.svc не выполняла ни одна конечная точка...".
- Возможные причины проблем с доступом:
- Настройки брандмауэра или антивируса;
- Настройки роутера.
- Блокировка на уровне провайдера;
- Для тестирования можно попробовать подключить кассу через мобильный интернет (модем или смартфон);
- Решения:
- Настройте брандмауэр на разрешение подключения;
- Отключите или настройте VPN;
- Обратитесь к сетевому администратору.
3. Мобильное приложение SmartControl
3.1. Технические требования
- Смартфон на базе Android (начиная с версии 4.1) или iOS (начиная с версии 9.0);
- Приложение SmartControl, которое можно загрузить из:
- На кассе iiko должен быть установлен плагин SmartControl.
3.2. Установка и подключение
- Установите приложение SmartControl из магазина приложений;
- Запустите SmartControl;
- Нажмите на 3 горизонтальные линии в левом верхнем углу;
- Перейдите в параметры и добавьте ресторан с помощью кнопки "+";
- Введите:
- Адрес подключения к серверу iiko (можно найти в окне входа в iikoOfficehj);
- Протокол подключения и порт;
- Логин и пароль пользователя iiko.
- Логин должен принадлежать одной из ролей: ADM, MN0 или SmartControl;
- Нажмите "Добавить ресторан";
- Кассы вашего ресторана появятся в списке;
- Возможно добавление неограниченного количества ресторанов;
- Возможно добавление не только по адресу сервера RMS, но и по адресу сервера Chain. В этом случае будут добавлены все кассы ресторанов, входящих в Chain, на которых установлены плагины SmartControl.
Внимание: подключать ресторан возможно только после запуска плагина на кассе. Иначе кассы не будут добавлены в SmartControl.
3.3. Основные разделы приложения
3.3.1. ПОКАЗАТЕЛИ
В этом разделе отображаются общие данные обо всех ресторанах сети (или об одном заведении): ожидаемая выручка на текущий день, количество открытых заказов, количество закрытых заказов, количество сотрудников на смене, число опасных операций, количество резервов и заказов на доставку. Все отображаемые показатели интерактивны: чтобы получить более подробные данные, нажмите на нужную область экрана и вы перейдете в соответствующий раздел приложения.
3.3.2. МОНИТОРИНГ
Содержит информацию о количестве и общей сумме открытых и закрытых заказов, банкетов, доставок. Выводится количество свободных и занятых столов, процент загрузки залов.
3.3.3. ВЫРУЧКА
Содержит информацию о выручке по открытым и закрытым заказам, сумме выручки с разделением по типам оплат. Данные выводятся по всему ресторану и с разбивкой по кассам.
3.3.4. ОФИЦИАНТЫ
Содержит информацию о количестве и суммах открытых и закрытых заказов, количестве обслуживаемых гостей и опасных операций.
3.3.5. СОБЫТИЯ
Содержит список событий, произошедших в ресторане: открытия, закрытия, переносы, удаления заказов, удаления блюд, открытия смен, добавления скидок, опасные операции и многие другие. Опасные операции — события, требующие повышенного внимания. Такие события подсвечиваются красным.
События группируются по сотрудникам и типам. Для просмотра всех событий ресторана, событий, связанных с определенным сотрудником, или событий по типу, выберите соответствующую позицию в списке.
3.3.6. ЗАКАЗЫ
Содержит список заказов, банкетов, резервов и доставок с информацией о дате и времени изменения заказа, ответственных сотрудниках, гостях, сумме и месте заказа. В зависимости от статуса заказа панель с номером окрашивается в соответствующий цвет (аналогично цветовой индикации заказов в кассовом приложении iiko), статус заказа отображается текстом.
Для просмотра подробной информации о заказе и его содержимом, нажмите на соответствующую позицию в списке.
Для фильтрации списка заказов по типу и статусу, а также выбора сортировки блюд нажмите на кнопку с иконкой воронки в правом нижнем углу. Для сброса настроек нажмите Сбросить. В окне фильтра возможно отфильтровать заказы по типу: простые заказы, банкеты, доставки, самовывоз. По статусу заказа. А также отсортировать список по номеру заказа или по времени создания в прямом или обратном направлении.
3.3.7. СТОП-ЛИСТ
Содержит список блюд из меню ресторана, включенных в стоп-лист. В списке отображается наименование блюда, справа указано оставшееся количество порций. Нулевое количество подсвечивается желтым, отрицательное — красным.
3.3.8. РЕЙТИНГ БЛЮД
Содержит список блюд из закрытых заказов, отсортированных по кассам и сумме выручке. В списке отображается наименование блюда, справа указано проданное количество, цена блюда и сумма выручки.
3.4. Навигация в приложении
- Для перехода между разделами можно смахивать экран влево или вправо;
- Для быстрого перехода можно использовать нижнюю панель с иконками;
- Полный перечень разделов доступен через правое боковое меню – кнопка [ ⋮ ] в правом верхнем углу;
- В каждом разделе отображается время последнего получения данных с кассы. Если текст времени оранжевый, это означает, что последняя передача данных была более 10 минут назад и данные могут быть неактуальными;
- При первом запуске отображается информация по первому ресторану из списка;
- Для выбора ресторана нужно перейти в левое боковое меню – кнопка [ ☰ ] в левом верхнем углу и нажать на нужный ресторан.
3.5. Настройка прокси-сервера
- В случае, если со смартфона недоступен основной адрес сервиса SmartControl http://ra1.smartresto.pro/Service1.svc, есть возможность добавить альтернативный адрес Proxy-сервера;
- Для этого:
- Нажмите на поле «ID» в верхнем правом углу в окне со списком касс в «Параметрах»;
- В открывшемся окне введите адрес Proxy-сервера;
- Нажмите кнопку [OK].
- В поле адреса указывается только доменное имя или IP-адрес хоста без протокола (http/https);
- Для отмены ввода нажмите [Отмена];
- Для удаления адреса Proxy-сервера, удалите его в окне ввода и нажмите [OK].
Внимание: добавляйте адрес Proxy сервера, только если вы понимаете, что это такое и он настроен на трансляцию передачи данных с сервера SmartControl.
3.6. Управление кассами и ресторанами
- SmartControl позволяет добавлять несколько ресторанов (серверов RMS) в одно приложение;
- Возможно добавление не только по адресу сервера RMS, но и по адресу сервера Chain. В этом случае будут добавлены все кассы ресторанов, входящих в Chain, на которых установлены плагины SmartControl;
- Для удаления кассы из списка в параметрах SmartControl в строке с наименованием кассы нажмите кнопку [❌]. Таким образом возможно настроить подключение не всех касс ресторана, а только необходимых для просмотра;
- Пользователи с ролью ADM (отмечены как ADMIN в приложении или 🅰 в боте) могут видеть и отключать других подключенных сотрудников. В этом случае в списке касс в параметрах ниже отображаются сотрудники, подключенные к кассам. Для отключения сотрудников от мониторинга нажмите на крестик в строке с именем сотрудника;
- На iPhone для удаления кассы или подключения сотрудника необходимо сделать свайп вправо на строке с наименованием кассы или именем удаляемого сотрудника;
- При изменении структуры ресторана (например, при добавлении новых касс), необходимо заново добавить ресторан, так как SmartControl не хранит учетные данные для подключения.
3.7. Особенности отображения данных
- В правом верхнем углу отображается время последней передачи данных с кассы;
- Если текст времени оранжевый, это означает, что последняя передача данных была более 10 минут назад, данные могут быть неактуальными;
- Символ ⚖ (весы) показывает процент занятых столов относительно общего количества столов;
- В разделе Заказы, информация о количестве заказов отображается в формате "X/Y", где X – количество открытых заказов, Y – количество закрытых;
- Расчет "ожидаемой выручки": Ожидаемая выручка = Сумма закрытых заказов + Сумма открытых заказов;
- Информация передается плагином примерно раз в 2 минуты на сервер SmartControl;
- Цветовая гамма соответствует цветам статусов заказов, используемым в SmartControl (аналогично цветам в iikoFront):
- Зеленый: "Приготовлено";
- Белый: "Закрытый";
- Красный: "Пречек";
- Синий: "Новый".
4. SmartControl Telegram-бот
4.1. Подключение и настройка
- Установите приложение Telegram из магазина приложений;
- В поисковой строке Telegram наберите SmartControl bot или @smart_control_bot/ Ссылка на бота из внешних систем https://t.me/smart_control_bot;
- Нажмите на название бота в результатах поиска. В окне чата с ботом нажмите START;
- Выберите язык общения с ботом и отображения данных;
- Выберите вид отображения данных — Текстовый вид или Иконки. Текстовый формат старый, содержит меньше информации и не поддерживается, оставлен как есть. Предпочтительней использовать вид с Иконками, он более информативный, компактный и проще для восприятия после изучения значения иконок. Для запроса описания обозначений иконок отправьте команду /legend или нажмите: ➕ → ⚙ Настройки и помощь → ℹ Описание обозначений иконок;
- Для добавления нового ресторана отправьте команду /add или нажмите: ➕ → ⚙ Настройки и помощь → 🏰 Добавить новый ресторан;
- Введите адрес и порт сервера iiko в формате: адрес:порт;
- Введите логин и пароль пользователя iiko;
- Ваш ресторан будет подключен к Telegram-боту.
Важные моменты при подключении:
- При вводе адреса сервера необходимо использовать формат: "адрес:порт" (например, "aaa-bbbbb-cccc.domen.com:8080");
- Указывайте только доменное имя и порт без "https://" и "/resto";
- При подключении к облачному серверу: формат адреса "aaa-bbbbb-cccc.iiko.it", порт 443;
- Логин должен принадлежать одной из ролей: ADM, MN0 или SmartControl;
- Команда /start сбрасывает существующее подключение к ресторану – не используйте её без необходимости.
4.2. Основные разделы и команды бота
- 📊 - сводная информация о ресторане (выручка, загрузка, количество заказов, сотрудники, опасные операции, прогноз выручки);
- 💶 - выручка по ресторанам, кассам, залам (загруженность, занятость столов, выручка с разбивкой);
- 👤 - выручка по официантам (отчет об эффективности работы сотрудников);
- 📋 - список заказов текущей смены (заказы в зале, банкеты, доставка, самовывоз, статусы, суммы);
- ➕ - вывод дополнительных отчетов;
- ⏹ - столы с открытыми заказами;
- 🔴 - опасные операции;
- 🔟 - рейтинг из 10 блюд по выручке;
- 🚫 - стоп-лист, остаток блюд.
4.3. Настройки и помощь
Для перехода в этот раздел воспользуйтесь кнопкой ➕ и затем Настройки и помощь или выберите команду /param и затем Настройки и помощь. Бот отправит сообщение с кнопками. В шапке сообщения также будет отображаться ID чата, который может иногда потребоваться для диагностики техподдержке SmartResto.
Доступные действия:
- ❌ Сброс настроек подключения - сбрасывает настройки без подтверждения;
- ❔ Помощь в подключении - вызывает встроенную справку по подключению;
- 🏰 Добавить новый ресторан - позволяет добавить еще один ресторан;
- 🛑 Удалить подключенные кассы - позволяет удалить выбранные кассы;
- ⛔ Отключить сотрудников - позволяет отключить выбранных сотрудников от мониторинга;
- ♨ Сменить тип отображения - переключение между текстовым и графическим отображением;
- ✅ Фильтр уведомлений о событиях - позволяет выбрать типы уведомлений для получения;
- ♻ Обновить состояние кнопок - обновляет кнопки в интерфейсе бота.
4.4. Дополнительные команды бота
- /param - вызывает окно настроек и дополнительной информации;
- /renew - обновляет состояние кнопок меню бота;
- /amounts - стоп-лист, остаток блюд;
- /help - вызов встроенной справки;
- /filter - настройка фильтра уведомлений;
- /change - смена типа отображения данных (иконки или текст);
- /add - добавление нового ресторана;
- /edit - удаление подключенных касс;
- /legend - описание обозначений иконок;
- заказNNN - показать заказ № NNN
- /start - сброс настроек.
4.5. Отчеты и уведомления
- Бот может отправлять уведомления об опасных операциях;
- Для просмотра содержимого заказа можно выбрать заказ из списка заказов или использовать команду "заказ" с номером заказа (например, "заказ123");
- Любой отчет может быть запрошен вручную кнопками или текстовой командой пользователя;
- Бот отправляет все отчеты при закрытии смены, которые сохраняются в истории чата;
- Отсутствует возможность настройки автоматической отправки отчетов по расписанию (по таймеру);
- Отчет "Топ 10 блюд" показывает только 10 самых популярных позиций;
- По умолчанию время ожидания закрытия стола после пречека: 10 минут;
4.6. Особенности работы в группах
- При работе в групповых чатах Telegram, бот реагирует на сообщения только если:
- Сообщение отправлено в ответ на сообщение бота;
- Перед командой добавлен слэш (/);
- Бот назначен администратором группы.
- В стандартной конфигурации любой участник группы может вызывать команды бота;
- При преобразовании обычной группы в супергруппу меняется идентификатор группы. В этом случае необходимо заново подключить ресторан, так как привязка идентификаторов касс осуществляется к идентификатору чата Telegram;
- Можно создать группу с ботом и несколькими пользователями для совместного просмотра отчетов;
- Можно создавать отдельные группы в Telegram для каждого ресторана.
- Группы можно переименовывать и устанавливать картинку в качестве аватара (логотипа) для удобства использования в Telegram;
- Можно создавать группы с ограничением прав для сотрудников, где они не смогут запрашивать данные самостоятельно. Например, можно настроить фильтром только некоторые типы событий, которые будут получать пользователи группы;
4.7. Фильтрация уведомлений
- Настройка фильтра событий: ➕ → ⚙ Настройки и помощь → ✅ Фильтр уведомлений о событиях;
- Настройки фильтра влияют только на конкретный чат с ботом, а не на все кассы ресторанов или рестораны в сети;
- Уведомления о скидках показывают сумму скидки на момент события (может отличаться от итоговой скидки заказа);
- Уведомления для кухни: можно настроить плагин для чтения лога виртуального принтера и отправки сервисных чеков в виде уведомлений в чат;
- При добавлении нового ресторана настройки фильтров иногда могут сбиваться на значения по умолчанию. После добавления нового ресторана рекомендуется проверить настройки фильтров.
5. Управление доступом
- Для управления доступом сотрудников требуется пользователь с ролью ADM;
- Пользователи с ролью ADM (отмечены как ADMIN в приложении или 🅰 в боте) могут видеть и отключать других подключенных сотрудников;
- После подключения администратором, в параметрах можно увидеть и отключить других подключенных сотрудников;
- Для просмотра списка подключенных пользователей в Telegram-боте используются кнопки: ➕ → ⚙ Настройки и помощь → ⛔ Отключить сотрудников;
- Управление подключенными пользователями возможно только через приложение или бот SmartControl, но не через iikoOffice;
- Изменение логина/пароля в iiko не влияет на существующие подключения к SmartControl, так как в SmartControl не хранятся учетные данные пользователей, а только привязку идентификаторов приложения или бота к идентификаторам касс.
- В случае, если необходимо отключить сотрудника от SmartControl, это необходимо делать только через приложение SmartControl или бота SmartControl;
- При длительном неиспользовании (более 2 недель) данные пользователей удаляются из системы и требуется повторное подключение;
- Для доступа к SmartControl пользователь должен:
- Иметь право B_PER (Доступ к разделу "Сотрудники");
- Принадлежать к одной из ролей: ADM, MN0, SmartControl.
- В случае, если нет возможности дать сотруднику роль ADM или MN0, можно создать специальную роль SmartControl (сокращенное наименование также должно быть SmartControl). Роли достаточно будет присвоить только одно право B_PER (Доступ к разделу "Сотрудники");
- К одному логину в iiko может быть подключено несколько пользователей SmartControl;
- Для ограничения доступа к определенным данным рекомендуется использовать группы в Telegram с ограничением в правах;
6. Устранение распространенных проблем
6.1. Данные не обновляются
- Восклицательный знак (‼) рядом с датой и временем в отчетах означает, что последняя передача данных была более 10 минут назад, данные могут быть неактуальными;
- Причины:
- Отсутствие или окончание лицензии;
- Неработающий или остановленный плагин;
- Закрытая кассовая смена при активном параметре "WorkOnlyOnOpenShift";
- Сетевые ограничения, блокирующие доступ к серверу http://rp1.smartresto.pro/Service1.svc.
- Проверка: определите, возможно ли подключение по адресу http://rp1.smartresto.pro/Service1.svc в браузере на кассе, другом устройстве в той же сети, на смартфоне через сотовую связь;
- Если данные в приложении перестали обновляться и отображается старая дата, наиболее вероятная причина – истечение срока действия лицензии, особенно в начале месяца.
6.2. Ошибка "Не найдены кассы, передающие данные"
- Причины:
- Нет действующей лицензии SmartControl. Оплата лицензии не гарантирует её автоматическое появление на кассе, необходимо проверять наличие лицензии непосредственно на кассе, например в логе cash-server.log;
- Плагин на кассе не работает или работает с ошибками;
- Закрытая кассовая смена (если настроена работа только с открытой сменой);
- В настройках iiko не указана главная касса;
- Плагин отключен (параметр PluginDisabled).
- Решение:
- Проверьте наличие лицензии;
- Проверьте работу плагина на кассе;
- Откройте кассовую смену;
- Обновите плагин кнопкой "Проверить и обновить плагины" в меню "Дополнения";
- Установите галку "Главная касса" в настройках iikoOffice;
- Измените параметр PluginDisabled на false в конфигурационном файле.
6.3. Отображаются старые или "подвисшие" заказы
- Признаки: отображаются старые заказы, которых нет в списке заказов в iikoFront;
- Причина: в результате сбоев заказы "подвисли" в базе entities;
- Решения:
- Основное решение: очистка базы от старых заказов через техподдержку iiko или специальной утилитой;
- Временное решение: уменьшите период фильтрации заказов в конфиге плагина (параметр OldOrdersPeriod);
6.4. Не отображаются будущие доставки или банкеты
- Причина: параметр OldOrdersPeriod также влияет на отображение будущих заказов;
- Решение: увеличьте значение параметра OldOrdersPeriod, чтобы оно покрывало время до планируемой даты доставки/банкета.
6.5. Бот не реагирует на команды в группе
- Решения:
- Пишите ответом на сообщение бота;
- Добавляйте слэш (/) перед командами;
- Сделайте бота администратором группы.
6.6. Ошибка "Exception: Удаленный сервер возвратил ошибку: (403) Запрещено"
- Причина: недостаточно лицензий REST API;
- Решение: Проверьте наличие и освободите лицензии REST API на сервере.
6.7. Проблемы с лицензией
- Признаки проблем с лицензией в логах:
- Изменение параметра "[28009601, MaxConnections]=0" (где 28009601 - идентификатор модуля SmartControl);
- Сообщения о попытке освобождения соединений: "Try release connections";
- В логе кассы отсутствуют записи о лицензии или значение в "MaxConnections" для SmartControl равно 0.
- Решение:
- Добавьте лицензию SmartControl или обратитесь в техподдержку iiko для освобождения "зависших" лицензий.
6.8. Другие распространенные проблемы
- Проблемы с настройками прокси:
- Проверьте поле "Proxy" в параметрах приложения - возможно там указан адрес ресторана;
- Удалите некорректное значение из поля "Proxy".
- Медленная загрузка данных в приложении:
- Убедитесь в стабильности интернет-соединения;
- При повторных ошибках SmartControl автоматически увеличивает таймаут подключения.
- Множественные подключения и проблемы с идентификацией:
- При переустановке приложения каждый раз выдается новый идентификатор;
- Пользователь с ролью ADM может удалить неиспользуемые идентификаторы в параметрах SmartControl.
- Ошибка загрузки библиотеки System.Reactive (для iiko версий 7.1.x):
- Скопируйте библиотеку System.Reactive.dll в папку iikoFront: "C:\Program Files\iiko\iikoRMS\Front.Net".
- Отображение старой кассовой группы, которой уже нет на сервере iiko:
- Удалите лишнюю кассовую группу через меню параметров в приложении;
- Обратитесь в техподдержку SmartControl для удаления старых данных. Старые данные автоматически удаляются через 14 дней с момента последней передачи с кассы.
- Проблемы после обновления iiko:
- Обновите плагин SmartControl до версии, совместимой с новой версией iiko.
7. Функциональные ограничения и особенности
- SmartControl предназначен только для мониторинга текущего состояния кассы;
- В системе отсутствуют отчеты за выбранный период из базы данных сервера ресторана;
- Нет возможности просмотра данных за предыдущие смены/дни/периоды;
- Нет функциональности для расчета аналитических показателей (например, среднего чека);
- Нет возможности просмотра почасовой нагрузки или других исторических данных;
- При работе с сетью ресторанов нет возможности получить агрегированную информацию по всем ресторанам одновременно;
- Для исторической аналитики рекомендуются другие продукты:
- SmartReport;
- iikoDashboard.
- SmartControl работает только с кассой (iikoFront) и не подключается к серверу ресторана для получения аналитических данных;
- Отсутствует возможность получения отчетов по транзакциям из OLAP-отчетов iiko;
- Нет доступа к данным по проводкам и счетам, доступным через API или веб-интерфейс iiko;
- При закрытии кассовой смены все заказы на кассе удаляются;
- При использовании Telegram-бота все отчеты при закрытии смены сохраняются в истории чата;
- В приложении SmartControl нет возможности самостоятельно изменять цвета статусов заказов;
- События удаления надбавки могут генерироваться при удалении всех блюд из заказа с автоматической надбавкой;
- Событие "отмена пречека" может формироваться при смене типа оплаты в уже сформированном заказе;
- SmartControl только отображает стоп-лист с кассы iiko, но не редактирует его;
- SmartControl суммирует все предоплаты по всем банкетам;
- SmartControl не разделяет предоплаты по отдельным банкетам или по датам.
8. Зоны ответственности и контакты
8.1. Зоны ответственности
- Команда SmartResto: техническая поддержка и консультации партнеров iiko, третья линия поддержки;
- Техподдержка iiko (партнеры iiko): техническая поддержка и консультации клиентов, заказ и управление лицензиями, установка плагина, диагностика работы плагина, решение проблем с базой данных iikoFront;
- Иерархия технической поддержки для решения проблем с SmartControl:
- Первая линия поддержки: техподдержка iiko - организация, обслуживающая у клиента iiko, партнер iiko;
- Вторая линия поддержки: iiko;
- Третья линия поддержки: разработчики SmartControl (SmartResto).
- Для проблем с обновлением данных в приложении SmartControl или SmartControl Telegram bot клиентам необходимо сначала обратиться в обслуживающую организацию (первая линия поддержки);
- Команда SmartResto оказывает консультации только по своим продуктам (SmartControl, SmartOrder);
- По вопросам настройки iiko необходимо обращаться в техподдержку iiko.
8.2. Контакты
- Сайт: https://smartresto.ru/;
- Страница приложения SmartControl: https://smartresto.ru/control;
- Страница SmartControl Telegram bot: https://smartresto.ru/bot;
- Страница базы знаний SmartControl: https://smartresto.ru/control/wiki;
- Бот в Telegram: https://t.me/smart_control_bot;
- Email: info@smartresto.ru;
- Телефон техподдержки: +7 (908) 271-38-79;
- Канал iiko в Telegram: https://t.me/iiko_russia.