LL Reports · Руководство пользователя#
Эта инструкция — для директоров и менеджеров ресторанов, которые открывают сервис из браузера или с телефона. Управленческая аналитика по сети ресторанов на базе R-Keeper 7: отчёты по продажам, финансам, гостям и лояльности.
Коротко о доступе
Адрес сервиса: https://reports.llgroup.ru (или ваш внутренний URL).
Логин и пароль выдаёт администратор сети. Сессия живёт долго — повторно
входить каждый день не нужно.
Подсказка прямо в интерфейсе
На каждой странице рядом с заголовком есть кнопка ? — клик раскрывает
короткую инструкцию по странице. Закрыть можно повторным кликом по ?,
крестиком или клавишей Esc. Развёрнутые описания и сценарии — в этом
руководстве.
Содержание#
- Начало работы
- Мобильная версия и установка на телефон
- Ежедневные отчёты RKeeper
- Финансы и наличка
- Меню и сотрудники
- Гости и лояльность
- Мониторинг и алерты
- Подписки и уведомления
- История изменений и журнал событий
- Дашборды
- Админ-страницы
- FAQ
- Глоссарий
- Куда писать по вопросам
1. Начало работы#
Как войти в систему, что есть на экране, как управлять периодом и фильтрами, где взять подсказку прямо в интерфейсе.
1.1 Вход в систему#
- Откройте в браузере адрес сервиса:
https://reports.llgroup.ru(или ваш внутренний URL — уточните у администратора сети). - Введите логин и пароль, выданные администратором.
- Нажмите «Войти». Сессия живёт долго — повторно входить каждый день не нужно.
Если выкидывает на форму входа
Это нормально — браузер потерял cookie. Просто войдите ещё раз. Если пароль не подходит, обратитесь к администратору, чтобы его сбросили.
1.2 Боковое меню и навигация#
Интерфейс состоит из трёх зон:
- Сайдбар слева — основное меню по разделам. На мобильном телефоне сайдбар скрыт; навигация — нижней панелью с иконками + кнопкой «Ещё» (открывает шторку с полным списком разделов).
- Шапка сверху — название текущей страницы, поиск (горячая клавиша
Ctrl+K), кнопка фильтров, переключатель темы, кнопка справки?и меню профиля. - Рабочая область — KPI-блоки, графики, таблицы. На каждой аналитической странице есть фильтр по ресторанам и периоду.
Виден только ваш доступ
Сайдбар показывает только те страницы и рестораны, к которым у вас открыты права. Если коллега что-то видит, а вы — нет, попросите администратора расширить доступ.
1.3 Светлая и тёмная тема#
В правом верхнем углу — переключатель «луна / солнце». В тёмной теме цифры
читаются лучше при долгой работе и меньше утомляют глаза. Тема запоминается за
пользователем — при следующем входе восстанавливается автоматически. В
настройках интерфейса (шестерёнка) можно также выбрать плотность таблиц
(compact / regular / spacious).
1.4 Период и фильтры#
На любой аналитической странице сверху — единый набор фильтров:
- Период — пресеты «Сегодня / Вчера / 7 / 30 / 90 дней / Месяц / Год» либо произвольный диапазон дат через календарь.
- Рестораны — мультивыбор. По умолчанию — все доступные. Чипы выбранных ресторанов остаются видны в шапке.
- Метрика / разрез — где применимо (выручка / чеки / средний чек; по дням / по часам / по официантам).
Фильтры запоминаются
Когда вы переключаетесь между страницами в рамках одной сессии, выбранные период и рестораны сохраняются. После перезахода — сбрасываются на дефолтные.
1.5 Иконка справки «?»#
На каждой странице рядом с заголовком есть кнопка ?. Клик раскрывает короткую
инструкцию по странице с объяснением KPI и фильтров. Закрыть — повторным кликом
по ?, крестиком или клавишей Esc. В этом руководстве — развёрнутая версия тех
же подсказок плюс сценарии использования и FAQ.
2. Мобильная версия и установка на телефон#
Сервис полностью адаптирован под смартфоны (от 375 px). Его можно установить как обычное приложение — иконка на главном экране, запуск без адресной строки.
2.1 Как работает на телефоне без установки#
Откройте https://reports.llgroup.ru в любом современном браузере (Safari,
Chrome, Firefox, Edge) — сайт автоматически переключится в мобильный режим. Что
меняется по сравнению с десктопом:
- Нижняя панель навигации — вместо левого сайдбара главные иконки внизу экрана (Выручка, Смены, Т-2, Отзывы). Кнопка «Ещё» справа открывает шторку с полным списком разделов по вашим правам.
- Фильтры как шторка — кнопка фильтров наверху открывает bottom-sheet снизу: период, рестораны и метрика в одной шторке. Закрывается свайпом вниз или кнопкой «Применить».
- Таблицы с фиксированной первой колонкой — длинные таблицы прокручиваются по горизонтали; первая колонка (ресторан / блюдо / дата) прилипает к левому краю — контекст не теряется при скролле.
- Модалки и графики — модальные окна превращаются в bottom-sheet и учитывают «бровь» iPhone (safe-area). Графики растягиваются по ширине экрана.
2.2 Установка на iPhone и iPad (PWA)#
После установки сервис открывается без адресной строки, занимает весь экран и работает как обычное приложение.
- Откройте
https://reports.llgroup.ruв Safari. Это важно: Chrome и другие браузеры на iOS не умеют создавать PWA — только Safari. - Тапните по кнопке «Поделиться» внизу экрана (квадрат со стрелкой вверх).
- Прокрутите меню вниз и выберите «На экран Домой» (Add to Home Screen).
- В подтверждении оставьте название «RK7» (можно поменять) и нажмите «Добавить».
- На главном экране появится иконка с фирменным логотипом. Тап по ней — приложение открывается в полноэкранном режиме.
Что вы получаете после установки
Отдельная иконка на главном экране, полноэкранный режим (без адресной строки и панели вкладок), отдельная история навигации, поддержка Web Push.
2.3 Установка на Android (PWA)#
- Откройте
https://reports.llgroup.ruв Chrome. - Нажмите меню (три точки в правом верхнем углу).
- Выберите «Установить приложение» или «Добавить на главный экран» (формулировка зависит от версии Chrome).
- Подтвердите название. Иконка появится на главном экране и в списке приложений.
Альтернатива — баннер «Установить»
Иногда Chrome сам предлагает баннер «Установить приложение» внизу страницы — после нескольких визитов на сайт. Если он появился, можно просто согласиться, не открывая меню.
2.4 Если что-то не работает#
| Проблема | Что проверить |
|---|---|
| На Android не показывается «Установить приложение» | Открыли ли сайт в Chrome (не в Firefox / Opera / Samsung Internet)? Иногда Chrome предлагает установку только после нескольких визитов — зайдите на сайт пару раз. |
| На iPhone в меню «Поделиться» нет пункта «На экран Домой» | Проверьте, что открыли в Safari, а не в Chrome для iOS. Убедитесь, что сайт открыт по https (адрес начинается с «https://»). |
| Хочу удалить установленное приложение | iPhone: долгий тап по иконке → «Удалить приложение». Android: долгий тап → «Удалить». |
3. Ежедневные отчёты RKeeper#
Базовые отчёты по продажам, которые тянутся напрямую из R-Keeper 7. Все они обновляются ночной синхронизацией в 05:00 МСК; для сегодняшнего дня данные обновляются в течение дня по мере закрытия смен.
Сводка дня (/daily-summary)#
Один экран, на котором собран дневной срез по всем подсистемам сразу: продажи, скидки, удаления, коррекции, лояльность, безналичка, наличка и зарплата.
- Любая дата — селектор в шапке. По умолчанию открывается «вчера»: данные RK7 за сегодняшний день обычно неполные до закрытия смен.
- Коррекции чеков — изменения чека уже после фискальной печати (важный анти-фрод сигнал): карточка-счётчик в шапке (число чеков коррекции) и секция с разбивкой по типам операций (смена валюты, добавление/удаление блюда, скидки/наценки, предоплаты) — кол-во и сумма. Детальный построчный разбор — на странице «Корректировки чеков».
- Два режима:
- Один ресторан — полная разбивка ЗП по сотрудникам, безнала по категориям (Продукты / Хозы / Алкоголь), наличной кассы по статьям.
- Все доступные — агрегат по всем ресторанам, рейтинг «Топ / Анти-топ» по выполнению плана.
- Зарплата в сводке — прогноз:
смены за день × дневная ставка. Точное начисление считается на странице «Зарплата» по итогу месяца.
Deep-link для пересылки
URL содержит ?page=daily_summary&date=YYYY-MM-DD — ссылку можно отправить
коллеге; он откроет тот же день.
Выручка (/report)#
Главный отчёт по продажам. KPI-блок вверху: суммарная выручка за период, количество чеков и средний чек, скидки и удаления (сумма и %), отклонение от baseline DoW, процент выполнения плана (если план задан на странице Т-2).
Под KPI — графики по дням, ресторанам и часам. Переключатель метрики: выручка / чеки / средний чек.
Зачем baseline DoW
Baseline DoW — среднее за тот же день недели за последние 8 недель. Он ловит сезонность дня недели и помогает отличить «провал» от «обычно так и бывает». Если сегодня вторник и выручка ниже baseline на 25% — это сигнал. Если средняя для вторников = −25% — норма.
Сравнение (/compare)#
Сравнивает два периода. По умолчанию — Like-for-Like (LFL): то же количество дней, но со сдвигом на 364 дня назад (тот же день недели прошлого года). Это индустриальный стандарт для оценки «лучше или хуже, чем в прошлом году».
Waterfall-график раскладывает изменение выручки на компоненты: чеки × средний чек × скидки. Видно, что именно изменилось.
Смены (/shifts)#
Детализация по сменам: время открытия и закрытия, выручка, чеки, средний чек, количество гостей, ответственный менеджер. Клик по смене раскрывает чеки этой смены — полезно для разбора конкретного дня («почему вчера в обед просели»).
Скидки и наценки (/discounts · /markup)#
Сводка по применённым скидкам и наценкам: тип, сумма, доля от выручки, по официантам, по ресторанам, по дням.
Сигнал для антифрод-проверки
Если у одного официанта скидок или удалений в 5 раз больше, чем у других — это повод посмотреть конкретные чеки и видео с камер.
Удаления (/voids)#
Список удалённых позиций и отменённых чеков: что удалили, кто, на какую сумму, причина (если ввели). Вместе со «Скидками» — основной инструмент для контроля кассиров и официантов.
Чеки (/checks_report)#
Полный список чеков с фильтрами по дате, ресторану, кассиру, сумме. Клик по чеку открывает модалку с составом: блюда, количество, цена, тип оплаты, скидки, чаевые, привязка к карте лояльности.
Корректировки чеков (/corrections)#
Перечень изменений чеков, сделанных после фискальной печати — когда уже пробитый чек переоткрыли и поправили. Это штатный отчёт R-Keeper «Корректировки чека» и ключевой анти-фрод сигнал: легальные изменения здесь редки, поэтому любая строка заслуживает внимания.
Отслеживаются семь типов операций: смена валюты, добавление и удаление блюда, добавление и снятие скидки/наценки, добавление и снятие (пред)оплаты. Карточки сверху показывают количество и сумму по каждому типу за период; таблица — каждую операцию с рестораном, заказом, номером чека, номером коррекции, объектом и суммой. Есть фильтр по типу операции и экспорт в Excel.
⚠ Опасные коррекции
Особо опасна смена валюты с фискальной на нефискальную (или
наоборот) после печати: фискальные — Рубли, Кредитная карта, QR-код, МИР,
Tapper, СБП; нефискальные — Оплата, Представительские, Банкет, Яндекс.Еда,
Деливери, агрегаторы. Такой перевод уводит выручку из-под фиска. Эти строки
подсвечены красным, вверху страницы — счётчик «⚠ Опасных коррекций» и
фильтр «Только опасные». Опасные коррекции также отдельно отмечаются в
«Сводке дня» и порождают критический инсайт на странице «Инсайты».
Классификация фискальности — автоматически по настройке валюты в RK7
(CURRENCIES.FISCREGUNFISCTYPE).
Важно про историю
Данные берутся из оперативной базы RK7, которая хранит только недавние смены. Поэтому история копится только вперёд — с момента, когда сбор корректировок был включён. Корректировки старше срока хранения оперативной базы восстановить невозможно.
Расхождения ЕГАИС (/egais-deficit)#
Отчёт о заказах, где алкоголь продан в чеке, но не списан в ЕГАИС. Данные забираются автоматически из сервиса DocsInBox (dxbx.ru) раз в сутки ночью по всем торговым точкам и сохраняются в системе.
Что на экране:
- Период — общий выбор дат сверху (как на «Выручке»). Точка — выпадающий список доступных вам торговых точек или «Все точки».
- Две карточки сводки: Всего заказов за период и Заказов с расхождениями (не списано в ЕГАИС).
- Таблица заказов: дата и время, торговая точка, количество блюд, объём расхождения (мл) и UUID заказа. Кнопка ▸ разворачивает строку и показывает вид позиции — конкретное блюдо и сопоставленную ему номенклатуру ЕГАИС.
- «—» в колонке объёма — позиция без сопоставленной номенклатуры ЕГАИС (объём расхождения неизвестен).
- Поиск — по UUID заказа или названию блюда.
Откуда история
История доступна с мая 2026 года; далее данные дозагружаются ночью за предыдущий день. Заказ, который позже списали в ЕГАИС, перестаёт показываться как расхождение — ночной синк держит свежий срез за последние дни.
Т-2 · план и факт (/t2)#
Главный управленческий финотчёт по плану и факту. Сверху вниз:
- Карточки KPI — план и факт месяца, средний чек, число чеков.
- Блок «Прогноз выручки» — по умолчанию свёрнут, открывается кликом по заголовку. Внутри — прогноз до конца месяца с учётом сезонности, тренда и календарных событий (банкеты, акции, праздники).
- Таблица план/факт по дням на всю ширину. Колонка «Дата» показывает
дату вместе с днём недели (например
01.06 Пн). Таблица сама подгоняется под ширину экрана: на узком ноутбуке шрифт и отступы ужимаются, чтобы всё влезло без прокрутки; если места совсем мало — появляется горизонтальная прокрутка.
Ввод плана: клик по ячейке «План» → введите значение → Enter. Сохранение в
БД мгновенное; план тут же попадает в KPI на других страницах (Выручка, Сводка
дня).
Если ошиблись — откат
Все правки плана пишутся в историю. Нужен откат — обратитесь к администратору, он восстановит прежнее значение (см. §9).
4. Финансы и наличка#
Управленческие отчёты, которые ведутся вручную в сервисе (а не тянутся из RK7). Все правки попадают в историю и могут быть откатаны.
Наличка (/cash)#
Отчёт по наличным расчётам: пришло за смену, выдано на карту сотруднику, остаток в кассе, инкассации. Колонки настраиваются под ресторан (через шапку «Виды»). Столбцы разделены тонкими линиями — так легче читать суммы по строкам.
Кассовый отчёт (/cashbook)#
Учёт операций кассы: остаток, поступления, выдачи, целевые направления.
- Кнопка «Добавить строку» создаёт запись за вчера (правят обычно уже прошедший день). Дату можно поменять кликом по ячейке.
- Вкладка «Целевые направления» — справочник статей для бухгалтерии.
- Каждая правка пишется в журнал изменений (§9) — можно откатить случайное удаление.
Безналичка (/beznal)#
Реестр безналичных платежей поставщикам и подрядчикам сети.
- Кнопка «+ Платёж» — выбрать поставщика из общего справочника, указать сумму, дату, назначение.
- Справочник поставщиков общий по сети — пополняется автоматически при создании первого платежа в его адрес. Не нужно дублировать поставщика для каждого ресторана.
- В таблице-матрице заголовки поставщиков и суммы выровнены по центру, столбцы разделены линиями — так удобнее сверять суммы по дням.
Escзакрывает модалку без сохранения.
Зарплата (/payroll)#
Расчёт ЗП и табель в одной форме. Сотрудники сгруппированы по 6 категориям: повара, официанты, кассиры, бармены, администраторы, прочее.
- Табель — отметки часов по дням; ЗП пересчитывается автоматически.
- На каждого сотрудника — ставка, надбавки, штрафы, премии (отдельные колонки).
- Изменения пишутся в историю — откат через администратора.
P&L (/pnl)#
Финансовый результат и маржа по периодам и ресторанам. Подтягивает выручку из RK7, расходы — из ручных управленческих форм (Безналичка, Зарплата, Кассовый отчёт). Маржа считается с учётом FoodCost из ABC и FTE из Зарплаты.
5. Меню и сотрудники#
ABC блюд (/abc)#
ABC-анализ позиций меню: A — топ-20% по выручке (около 80% оборота), B — средние, C — хвост. Помогает решать, что оставить в меню, что убрать, что продвигать.
Если включён RK7_DISH_SYNC_ENABLED=1, активируется раздел Menu Engineering
с квадрантом popularity × margin: Stars (звёзды), Plowhorses (рабочие лошадки),
Puzzles (загадки), Dogs (собаки) — классическая схема Касавана.
Cross-sell (/cross_sell)#
Какие позиции часто покупают вместе. Выявляет работающие связки «горячее + напиток», «основное + десерт». Используется для обучения комбо-предложений и скриптов официантам.
Требует деталей чеков
Раздел работает при включённой синхронизации деталей чеков по блюдам
(RK7_DISH_SYNC_ENABLED=1).
Сотрудники / HR (/hr)#
HR-аналитика по кассовым показателям: выручка на FTE, средний чек на сотрудника, вклад смены/официанта в общую выручку. Помогает выявить лучших и слабых сотрудников по «деньгам, которые они приносят». Не путать с табелем — он на странице «Зарплата».
6. Гости и лояльность#
Отзывы (/reviews)#
Внешние отзывы (Яндекс.Карты), собираются ночным парсингом.
- Сводка по рейтингу (1★/2★/3★/4★/5★) с динамикой.
- Карточки отзывов с фильтром по ресторану, рейтингу, наличию ответа.
- Кнопка «Открыть на Яндексе» — переход к оригиналу для ответа.
Sentiment отзывов (/sentiment)#
Тональный анализ отзывов на русском (словарный, без ML):
- 7 тем: еда, сервис, интерьер, цена, локация, чистота, дети.
- KPI: общая тональность, распределение по темам.
- Sentence-level: учитывает «не вкусно» как негатив, «но» меняет полярность.
- Лучшие и тревожные отзывы — для быстрого реагирования.
RFM-сегментация гостей (/rfm)#
Разбивает гостей на 11 сегментов по схеме Recency-Frequency-Monetary:
| Сегмент | Что значит |
|---|---|
| Champions | Часто, недавно, много тратят. Ваши VIP. |
| Loyal customers | Регулярные клиенты. |
| Potential loyalists | Недавно начали ходить чаще обычного. |
| Recent customers | Только что пришли первый раз. |
| Promising | Покупки небольшие, но регулярные. |
| Customers needing attention | Скоро уйдут, если не вернуть. |
| At risk | Раньше тратили много, но давно не были. |
| Can't lose them | Лояльные, но пропали — критично вернуть. |
| About to sleep | Снижается частота. |
| Hibernating | Ушли, но недавно. |
| Lost | Давно не возвращаются. |
Клик по сегменту → список гостей → CSV-выгрузка для рассылки или обзвона.
Аналитика лояльности (/loyalty_analytics)#
KPI карт лояльности, рост базы, ROI, проникновение лояльности (доля чеков с картой), эффект от участия в программе.
- Доля лояльности — какой процент общей выручки приносят гости с картами.
Типичное значение 5–30%; если показатель близок к 100%, проверьте привязку
org_name → ресторанв админке. - Uplift среднего чека — насколько лояльный гость тратит больше «обычного». Положительный uplift подтверждает, что программа работает.
- Penetration / RFM / Cohort retention — углублённые срезы базы клиентов.
7. Мониторинг и алерты#
Алерты (/alerts)#
Антифрод и контроль аномалий: правила вида «если на ресторане Х скидки превысили 18% за смену — уведомить».
Создать правило:
- Кнопка «+ Новое правило».
- Имя, серьёзность (
info / warn / critical). - Метрика (скидки %, удаления %, выручка vs baseline, средний чек, …).
- Условие (
>,<, отклонение от baseline) и порог. - Cooldown — сколько минут после срабатывания не дублировать.
- Whitelist — события календаря (банкеты, акции), которые игнорировать.
- Каналы доставки — список ID каналов (email/Telegram/Web Push) через запятую.
- Web Push — чекбокс «Доставлять Web Push всем подписанным пользователям» (для critical включается автоматически).
- Кнопка «Предпросмотр за 7 дней» — покажет, сколько раз правило сработало бы на исторических данных.
Лента инцидентов показывает все срабатывания: ресторан, дата, метрика, порог,
статус (open / ack / resolved / suppressed). Кнопки: Acknowledge (взяли в
работу) и Resolve (закрыли с комментарием).
Инсайты (/insights)#
Автоматический детектор аномалий по 7 паттернам: резкие просадки выручки, скачок скидок, нехарактерный для дня недели средний чек и т.д. В отличие от алертов, не настраивается — работает «из коробки».
Загрузка (/loadmap)#
Heatmap «день недели × неделя» по выручке, чекам или среднему чеку. Видно, что у вас стабильно тёмные понедельники и провисает середина недели.
8. Подписки и уведомления#
Раздел /subscriptions (в меню — «Подписки»). Четыре таба.
Таб «Каналы»#
Куда отправлять — email, Telegram, Web Push.
- Email — указать список адресов и SMTP-канал. Кнопка «Тест» отправляет проверочное письмо.
- Telegram — токен бота настраивается в
.env(один на всю систему), а в канале указываетсяchat_idгруппы или человека. Чтобы найти chat_id — добавьте бота в чат и напишите ему/start. - Web Push — генерируется автоматически из подписки в браузере (см. таб «Push на телефон»).
Таб «Рассылки»#
Дайджесты «Итоги дня» в указанное время по МСК.
- Расписание — час/минута, и weekday для еженедельных.
- Каналы — какие каналы получают (через запятую).
- Что включить: топ/анти-топ ресторанов; новые отзывы 1–2★; открытые алерты за день (топ-5 по серьёзности).
- Кнопка «Предпросмотр» собирает сообщение прямо сейчас, не отправляя. Кнопка «Отправить сейчас» — пробная отправка вне расписания.
Таб «Push на телефон»#
Включить уведомления на текущем устройстве. Работает в Chrome / Firefox / Edge / Safari 16.4+. На iPhone нужно сначала поставить сайт на главный экран (см. §2.2).
Баннер «Web Push недоступен: VAPID не настроен»
Это к администратору, не к вам — нужно настроить VAPID-ключи на сервере.
Таб «Очередь» (только для админа)#
Лента всех отправляемых уведомлений за последние 7 дней с фильтром по статусу. Полезно, чтобы убедиться, что письма реально уходят, или найти инцидент по error-сообщению. Авто-обновление каждые 15 с.
Новости сервиса#
В шапке справа есть иконка-рупор 📣 — это лента новостей от администраторов: анонсы нового функционала, важные объявления. Если есть непрочитанные новости, на иконке горит красный счётчик. Клик открывает панель — нажмите на заголовок, чтобы развернуть текст; новость отмечается прочитанной автоматически, счётчик гаснет.
Публиковать и редактировать новости могут только администраторы (кнопка «+ Новость» в панели). Текст пишется в Markdown: заголовки, жирный, списки, ссылки. Важную новость можно «закрепить» — она всегда вверху списка.
9. История изменений и журнал событий#
История версий отчётов (/report-history)#
Все правки управленческих отчётов пишутся в журнал и ничего не теряется. Под учётом: Т-2, Наличка, Кассовый отчёт, Безналичка, Зарплата (включая изменения окладов, должностей, графиков, приём и увольнение сотрудников) и Табель явки. Раздел и кнопки истории доступны только администратору.
Где смотреть:
- На странице каждого отчёта — кнопка «История» (Т-2, Наличка, Кассовый, Безналичка, Зарплата, Табель) открывает историю текущего ресторана и месяца.
- Раздел «История версий» — вкладка «По отчёту»: выбор отчёт + ресторан + месяц; вкладка «Все изменения»: общая лента последних правок.
Что можно сделать:
- Детали — показывает, что именно изменилось в версии (например, «оклад 120 000 → 135 000», добавленные/удалённые дни, поставки, отметки табеля).
- Восстановить — возвращает данные месяца к выбранной версии. Текущие данные заменяются; само восстановление тоже фиксируется в истории (откатываемо).
- Скачать — Excel (читаемая таблица: отчёт, ресторан, месяц, кто, когда, что изменилось) или JSON (полный дамп всех версий с данными — для архива или повторного восстановления).
Восстановление зарплаты — помесячно-локальное
Откат версии зарплаты/табеля меняет только выбранный месяц; другие месяцы не затрагиваются. Сотрудник определяется по ФИО (это его идентичность в системе) — переименованный сотрудник при откате будет восстановлен как новый.
Журнал событий (/activity-log)#
Глобальный журнал действий пользователей: вход, выход, создание правила алерта, отправка дайджеста, экспорт CSV и т.д. Доступно администраторам. Полезно для аудита и расследований («кто удалил план на ноябрь?»).
Для каждого события сохраняются:
- Время в МСК.
- Пользователь, страница, ресторан, тип действия.
- IP-адрес клиента и User-Agent (браузер, ОС, версия).
- Device ID — UUID из cookie
rk7_device, ставится один раз на 5 лет. - Browser fingerprint — короткий хэш от UA + платформа + язык + разрешение + таймзона + canvas. Привязывает событие к браузеру, даже если IP меняется.
- Гео — город и страна по офлайн-базе GeoLite2 (если установлена).
MAC-адрес через браузер недоступен
Это техническое ограничение протокола HTTP. Связки IP + fingerprint + device cookie достаточно, чтобы отличить компьютеры внутри корпоративной сети. Срок хранения журнала — 1 год.
Сессии (/sessions)#
Список активных и недавних подключений. Для каждой сессии — пользователь, начало, последняя активность, IP, гео, устройство и device_id.
- Кнопка Завершить — принудительный logout. После клика пользователь на любом
следующем запросе получит redirect на
/login. - Сессии без активности > 24 ч автоматически закрываются как
idle_timeout. - Используйте, если пользователь забыл выйти на чужом компьютере или подозревается утечка пароля.
Нагрузка (/load-stats)#
Статистика HTTP-нагрузки на систему за выбранный период (по умолчанию — последние 7 дней). Считаются все обращения к серверу — каждый запрос попадает в агрегат.
- Итоги сверху — всего запросов, число ошибок и их доля, среднее время ответа, сколько сессий активно и сколько пользователей онлайн прямо сейчас (активность за последние 5 минут).
- График «Нагрузка во времени» — объём запросов и ошибок по часам (для коротких периодов) или по дням. Видно пики нагрузки.
- Статус-коды — распределение ответов:
2xx(успех),3xx(редиректы),4xx(ошибки клиента),5xx(ошибки сервера). - Топ пользователей / IP / эндпоинтов — кто и что создаёт основную нагрузку, где больше всего ошибок и какие запросы самые медленные.
Технически: middleware считает каждый запрос в память без задержки, фоновая задача
раз в минуту сбрасывает агрегаты в таблицу http_request_stats. История хранится
тем же сроком, что и Журнал событий (ACTIVITY_LOG_RETENTION_DAYS, по умолчанию
365 дней). Страница доступна только администраторам.
10. Дашборды#
Мои дашборды (/dashboards)#
Личные виджеты-сводки: соберите свой экран из готовых блоков (выручка, алерты, отзывы, лояльность). Дашборды у каждого пользователя свои и не делятся между ролями. Сохраняются на сервере — доступны с любого устройства под вашим логином.
11. Админ-страницы#
Видны только пользователям с правами администратора.
Личный кабинет / Пользователи (/admin/users)#
Управление пользователями сети: создание, смена паролей, права доступа к ресторанам и страницам. Каждое изменение прав пишется в Журнал событий.
Парсинг отзывов (/admin/reviews)#
Управление парсером Яндекс.Карт: список ресторанов с привязанными URL, статус последнего сбора, ручной запуск.
- Парсер запускается ночью автоматически.
- Кнопка «Перезапустить» — собрать вручную для конкретного ресторана.
- Если URL не привязан, отзывы по ресторану не собираются.
Исключения категорий меню (/admin/dish-exclusions)#
Per-restaurant список категорий блюд (полный путь, например
Кухня / Десерты / Технические), исключаемых из расчётов выручки и маржи.
- Полезно для технических SKU, межсетевых перемещений, сервисных позиций.
- Влияет только на отчёты — данные RK7 не трогаются.
- Привязка строго по полному пути категории, а не по названию блюда.
История меню (/menu-history)#
Журнал изменений меню и цен RK7. Ночью (вместе с общим sync в 05:00 МСК) система
тянет актуальное меню из таблиц MENUITEMS / PRICES / CATEGLIST и сравнивает с
последним снимком. Отличия пишутся append-only — каждая версия блюда хранится
навсегда.
Что фиксируется: цена (важнее всего — без неё нельзя корректно сравнивать выручку периодов), появление и удаление блюд, переименование и смена категории, изменение статуса (активно / архив).
Вкладки:
- Блюда — текущие позиции; клик по строке раскрывает все версии (по всем типам цен, со «действует с / до»).
- Лента изменений — что менялось за период, с «было/стало» для цен. Фильтры: тип изменения, дата с, ресторан (БД).
- Логи sync (admin) — журнал запусков. Здесь же кнопка «Синхронизировать сейчас» — полный пересчёт вручную (нужно для проверки сразу после изменения цен в R-Keeper, без ожидания 05:00).
Связка с маржинальным сравнением
Чтобы корректно сравнивать периоды с учётом изменения цен и себестоимости — откройте страницу «Маржинальное сравнение» (ниже).
Маржинальное сравнение (/margin-compare)#
Страница отвечает на вопрос: «Выручка выросла на 10% — это от объёма продаж, от поднятия цен или от снижения себестоимости?» Обычное LFL-сравнение показывает только дельту суммы, не различая компоненты.
Что считаем:
- Факт — выручка, себестоимость и маржа за каждый из двух периодов (источник
—
rk7_dish_cache). - Атрибуция дельты маржи: объём
Σ(qty_B − qty_A)×цена_A, ценаΣ qty_B×(цена_B − цена_A), себестоимостьΣ qty_B×(cost_B − cost_A), микс (новые и снятые блюда). - Симуляция «при ценах A» —
Σ qty_B × цена_A: какая была бы выручка, если бы цены не менялись. Разница с реальной B — прирост от подъёма цен.
Как читать: выберите периоды (по умолчанию A = прошлый месяц, B = текущий) и рестораны; KPI-блок покажет A, B (с дельтой) и симуляцию; waterfall разложит Δ маржи на компоненты; таблица «Топ драйверов» — какие блюда дали наибольший вклад.
Ограничения
Требует RK7_DISH_SYNC_ENABLED=1 и backfill rk7_dish_cache за нужные даты.
Блюда без сопоставления dish_guid ↔ dish_code помечаются «без guid» и
попадают только в факт. Запуск POST /api/admin/rk7-dish-dictionary/sync
повышает точность.
12. FAQ#
Почему за вчера выручка пустая? Ночная синхронизация с R-Keeper запускается в 05:00 МСК. Если сейчас раньше — данные могут быть ещё в обработке. Можно нажать «Обновить» (иконка ↻ в шапке) для ручного запроса. Если позже 06:00 и всё ещё пусто — обратитесь к администратору.
Как скачать отчёт в Excel / CSV? В шапке кнопка «Экспорт» → выбрать формат. На мобайле кнопка скрыта — откройте страницу с десктопа.
Какой логин и пароль? Выдаёт администратор сети. Если забыли — попросите его сбросить.
Я вижу не все рестораны. Это нормально? Да, доступ настраивается администратором. Если вашему ресторану нужен доступ к данным соседнего — это надо запрашивать отдельно.
Зачем «baseline DoW» и почему он отличается от плана? План — это то, что вы хотите. Baseline — то, что обычно происходит (среднее за последние 8 одинаковых дней недели). Сравнение «факт vs baseline» ловит провалы быстрее плана, особенно если план «нарисован».
Как откатить случайную правку плана / зарплаты / кассы? Все правки управленческих отчётов пишутся в журнал. Сообщите администратору дату, страницу и что именно поменялось — он восстановит прежнее значение.
Push не приходит, хотя я нажал «Включить уведомления».
Проверьте, что в настройках сайта в браузере/телефоне уведомления разрешены.
Откройте «Подписки → Очередь» (или попросите админа) — посмотрите статус; если
dead, нужна проверка VAPID и доступности push-сервера.
Алерт сработал, но письмо не пришло.
В правиле могут быть не указаны каналы, или канал сломан. Админ → «Подписки →
Очередь», фильтр failed, поле error покажет причину.
Можно ли пользоваться сервисом на телефоне? Да, полностью адаптировано — см. §2. Рекомендуем установить как PWA: иконка на главном экране, полноэкранный режим.
13. Глоссарий#
| Термин | Расшифровка |
|---|---|
| AOV | Average Order Value, средний чек. |
| Baseline | Эталонное значение (среднее за окно), от которого отсчитывается отклонение. |
| Baseline DoW | Среднее за тот же день недели за последние 8 недель. |
| DoW | Day-of-Week, день недели. |
| FTE | Full-Time Equivalent, эквивалент полной ставки — мера численности персонала. |
| LFL | Like-for-Like, сравнение со сдвигом 364 дня (тот же день недели прошлого года). |
| RFM | Recency-Frequency-Monetary, сегментация гостей. |
| PWA | Progressive Web App — сайт, который можно установить как приложение. |
| Severity | Серьёзность инцидента: info, warn, critical. |
| Cooldown | Период «остывания» правила алерта: после срабатывания N минут не реагирует. |
| VAPID | Voluntary Application Server Identification — пара ключей для Web Push. |
| Waterfall | «Водопадный» график: как итог получен сложением положительных и отрицательных компонент. |
| dedupe_key | Уникальный ключ инцидента, чтобы не плодить дубли за одну смену/день. |
14. Куда писать по вопросам#
- Не работает кнопка, не открывается страница, ошибка на экране — администратор сети. Приложите скриншот и точный URL.
- Нет доступа к ресторану / странице — администратор. Укажите, к какому конкретно нужен доступ и зачем.
- Кажется, цифры неверные — администратор. Опишите страницу, период, ресторан и что именно смущает (по возможности — со скриншотом).
- Нужен откат правки плана / Т-2 / зарплаты — администратор. Укажите дату, страницу и прежнее значение.