Расписание меню, happy hour и стоп-лист «86»
Три инструмента, которые управляют доступностью блюд во времени:
- Расписание — блюдо или кастомное меню доступно только в заданные дни и часы (например, завтраки до 12:00 в будни, барное меню после 22:00).
- Happy hour — в заданное окно времени у блюда другая (обычно сниженная) цена.
- Стоп-лист «86» — мгновенно убрать позицию из продажи, когда продукт закончился, и так же быстро вернуть.
Все три правила вычисляются в реальном времени в часовом поясе локации — гость и кассир всегда видят актуальную картину.
Что нужно для запуска#
- Часовой пояс локации. Все три правила считаются в поясе точки. Пояс не задан — берётся пояс страны точки, а без страны — страны вашего бренда (для cenaly.ru — Москва). Часы телефона гостя и кассы на окна не влияют: касса, QR-меню и сервер считают одинаково. Если точка в другом поясе, задайте его явно.
- Позиции, категории или кастомные меню, к которым правило применяется.
- Вторая цена — для happy hour.
- Доступ кассира к стоп-листу — «86» снимается прямо на рабочем месте смены, кнопкой «Стоп-лист».
Расписание доступности#
Как задать расписание блюду#
- Откройте Меню в админ-панели.
- Найдите нужное блюдо в списке — рядом с переключателем активности есть иконка часиков.
- Серые часики — расписание не задано (всегда доступно).
- Зелёные — сейчас в рамках расписания.
- Красные — сейчас за пределами расписания (блюдо скрыто/недоступно).
- Янтарные — расписания нет, но у блюда задано правило happy hour.
- Нажмите на часики — откроется редактор «Расписание и цены».
- Включите флажок «Ограничить доступность по расписанию».
- Задайте дни недели и временны́е окна (формат
ЧЧ:ММ–ЧЧ:ММ). Можно добавить несколько окон на один день (например, обед 12:00–15:00 и ужин 18:00–23:00). - Для периодов через полночь (барное меню 22:00–03:00) пометьте окно как «overnight» — система корректно учтёт переход через ноль.
- Нажмите «Сохранить» — изменения публикуются на клиентском меню.
Расписание категории, кастомного меню и подборки#
Расписание можно задать не отдельному блюду, а целой группе позиций:
- категории — например, «Завтраки» или «Бар»;
- кастомному меню — «Бизнес-ланч», «Воскресный бранч»;
- подборке товаров в магазине (retail) — например, «Ночные предложения».
Тогда все позиции этой группы автоматически становятся недоступны вне заданных часов.
Часики рядом с названием категории, кастомного меню или подборки работают так же, как часики блюда: один клик — открывается тот же редактор расписания и правил happy-hour.
Сезонное меню: даты «с–по»#
Зимнее меню, летняя веранда, новогодние позиции — у блюда, категории, своего меню или подборки можно задать даты действия. В первый день позиции появляются в продаже сами, после последнего дня сами уходят. Ничего не нужно включать вручную.
- Откройте часики у блюда, категории, своего меню или подборки.
- В разделе «Сезон (даты)» укажите «С» и/или «По». Обе даты включительно, пустое поле — без границы.
- При необходимости оставьте и недельное расписание: тогда действуют оба условия, например «завтраки с 01.12 по 28.02, с 08:00 до 11:00».
- Сохраните.
Даты считаются по календарю точки (её часовой пояс), как и окна расписания. Если заданы только даты без недельного окна, позиция продаётся весь день каждый день в эти даты. Ночное окно последнего дня сезона (например, 22:00–02:00) работает до утра. Вне сезона гость видит позицию серой, касса не даст её пробить, а сервер не примет заказ с ней.
Даты работают так же, как недельное окно: своё окно блюда главнее окна его категории и меню, а позиция из нескольких меню доступна, если её пускает хотя бы одно.
В приложениях кассы для Android, Windows и Ubuntu позиция вне сезона тоже серая, с подписью «Сейчас недоступно»: её нельзя добавить ни с плитки, ни сканером. Сезон включается сам в первую минуту нужного дня по календарю точки, перезапускать кассу не надо. Даты приложение получает вместе с меню точки после его обновления на сервере.
Новая цена с даты#
Повышение цен с 1 декабря можно запланировать заранее. До этой даты гости и касса видят текущую цену, а в нужный день новая включается сама.
- Откройте часики у блюда (раздел есть только у позиции).
- В разделе «Новая цена с даты» нажмите «+ Запланировать цену».
- Укажите «С даты», «Цену» и «Где»: «Все точки» или одну точку.
- Сохраните. В строке появится подпись «Вступит 01.12.2026», а на часиках блюда в списке меню — синяя точка; подсказка часиков показывает дату и цену.
Как выбирается цена:
- Запись «Все точки» с наступлением даты заменяет и базовую цену, и цены точек, заданные раньше. Это «новый прайс сети».
- Запись одной точки меняет цену только там. Если на одну дату есть запись сети и запись точки, в этой точке действует запись точки.
- Из нескольких наступивших записей действует запись с самой поздней датой.
- Дата наступает по календарю каждой точки: в Тбилиси новая цена включится на несколько часов раньше, чем в Москве.
Новую цену с первого дня применяют QR-меню, касса и серверная сверка оплаты. Переиздавать меню не нужно: будущие изменения уходят на витрину заранее.
Приложения кассы для Android, Windows и Ubuntu получают будущие цены вместе с меню точки. В нужный день новая цена встаёт на плитки сама, даже если касса не закрывалась с вечера: приложение сверяет дату точки раз в минуту или две. Своя цена склада (переопределение с причиной) по-прежнему сильнее цены с даты.
Наступившая запись сначала остаётся в списке с подписью «Действует с …» и задаёт цену. Через сутки после даты, когда она наступила во всех часовых поясах, запись при ближайшем сохранении карточки сама становится обычной ценой:
- запись «Все точки» становится базовой ценой; цены точек, которые она перекрыла, сбрасываются на базовую, а сама точка остаётся в списке точек позиции;
- запись одной точки становится ценой этой точки;
- запись пропадает из списка, а гость, касса и ценник видят ту же цену, что и до этого.
Сохранением считается любая правка карточки: ваша или автоматическая, например стоп-лист. Поменяли цену или цену точки вручную, когда запись уже наступила, — действует ваша цена, а наступившая запись снимается. В первые сутки после даты ручная правка ещё не действует: удалите запись или запланируйте новую с сегодняшней даты.
Happy hour (тайм-прайсинг)#
Happy hour — это правило, которое автоматически меняет цену блюда в определённое временно́е окно. Несколько правил можно совмещать; при одновременном действии нескольких побеждает наименьшая цена (лучшее предложение для гостя).
Настройка#
- Откройте редактор «Расписание и цены» для блюда, категории, своего меню или подборки (кнопка-часики).
- В разделе «Happy hour (тайм-прайсинг)» нажмите «+ Добавить правило».
- Задайте:
- Название (например, «Happy hour») — отображается как подпись к скидке.
- Когда действует — временно́е окно по дням недели (тот же редактор расписания).
- Тип скидки: «Скидка в %» или «Фиксированная цена».
- Сохраните. Можно добавить несколько правил (разные часы, разные скидки).
На клиентском меню в период действия happy-hour обычная цена показывается зачёркнутой, рядом — цена со скидкой. В POS цена в тайле обновляется автоматически.
Настроить для сети#
Правило хранится у позиции или группы в аккаунте, а не как отдельное расписание каждой кассы. Начните с того, какие позиции должны участвовать:
| Где открыть часики | На что действует правило | Уровень для сети |
|---|---|---|
| Блюдо | На эту позицию | Общее правило во всех точках, где она продаётся |
| Категория | На позиции категории | Общее правило аккаунта |
| Своё меню | На включённые в него позиции | Общее правило аккаунта |
| Подборка товаров | На товары подборки | Правило хранится у подборки аккаунта; если подборка ограничена точкой или набором точек, её охват ограничен ими. Без ограничения охват общий |
- Откройте часики у выбранной позиции или группы и задайте время и цену по шагам выше.
- Проверьте часовой пояс каждой участвующей точки: окно «17:00–19:00» считается по её местному времени.
- Откройте меню и кассу нужной точки, проверьте цену и добавьте пробную позицию. Если действует ещё одно правило блюда или группы, победит самая низкая цена, а не сумма процентов.
У одной общей позиции нет отдельного поля расписания для каждой точки. Базовая цена по точке и расписание — разные настройки; изменение цены точки не создаёт отдельного happy hour.
Как цена по расписанию сочетается с промокодом и ручной скидкой, показано в разделе «Как складываются скидки, купоны и цена по расписанию»: там же расчёты и отличие кассы от автоматических акций витрины.
Стоп-лист «86»#
Когда позиция закончилась, уберите её из продажи прямо на рабочем месте. Карточка останется в каталоге, а возвращать её можно вручную или по заданному сроку.
Убрать одну или несколько позиций#
- На кассе или KDS откройте «Стоп-лист». Вверху, в «Сейчас нет», видны уже остановленные позиции.
- Проверьте точку. В поле «Где» значение «Только здесь» означает стоп в этой точке; другие точки продолжают продавать.
- Найдите позицию по названию. Поиск учитывает её переводы. Нажмите «86» в строке либо отметьте несколько строк и нажмите общую кнопку «86 · …».
- Перед остановкой выберите срок в поле «На сколько»:
| Срок | Когда позиция вернётся |
|---|---|
| До отмены | После ручного возврата |
| До конца дня | В 23:59 текущего дня |
| До завтра | В 06:00 следующего дня |
| Своё время | В выбранный момент |
Ориентируйтесь на строку «Вернётся в продажу»: момент считается по часам точки, а не телефона или компьютера сотрудника.
Остановить продажи во всех точках#
Управляющий выбирает «Во всех точках» и подтверждает «Убрать везде». Это отдельное действие: остановка в одной кухне не должна закрывать продажи соседям. Кнопка «86» в редакторе «Меню» ставит общий стоп.
Вернуть позиции#
В «Сейчас нет» нажмите «Вернуть» у позиции или «Вернуть все» для списка. Общий стоп снимается явным действием «Вернуть везде» у управляющего.
Счётчик «осталось N порций»#
Когда блюда заведомо ограниченное количество — 12 порций пирога на день, — поставьте счётчик, и позиция сама уйдёт в стоп, когда порции кончатся.
- На кассе или KDS откройте «Стоп-лист» и найдите позицию.
- Нажмите «🔢 Порции» в её строке, введите число в поле «Осталось порций» и нажмите «Сохранить».
- Каждый принятый заказ этой точки списывает порции: и с кассы, и с QR-меню, витрины и киоска. Дозаказ в открытый счёт тоже списывает, удаление строки и отмена заказа порции возвращают.
- На нуле позиция попадает в «Сейчас нет» с подписью «закончилось по счётчику» и встаёт в стоп этой точки. На плитке кассы — «ЗАКОНЧИЛОСЬ», пока порции есть — остаток, например «ост. 5»; кассир получает уведомление.
- Испекли ещё — нажмите на чип «осталось 0», введите новое число: это новая партия, позиция вернётся в продажу. «Без счётчика» или «Вернуть» снимают ограничение совсем.
Если позиция уже лежала в корзине гостя#
При оформлении сервер снова проверяет доступность, в том числе стоп-лист. При отказе гость получает перечень недоступных позиций; система не вырезает их из суммы молча. Попросите гостя проверить корзину и оформить заказ заново.
Агрегаторы доставки#
Отправка стопа в Wolt, Glovo, Яндекс Еду и Deliveroo реализована, но проверена на тестовых имитациях; боевые подключения не подтверждены. Локальный стоп точки туда пока не передаётся, а истечение срока общего стопа не отправляет автоматический возврат. Проверяйте доступность непосредственно в кабинете площадки.
Как гость видит недоступные позиции#
На клиентском меню блюдо, недоступное прямо сейчас (вне расписания или на стопе):
- Отображается затемнённым (прозрачность снижена).
- Кнопка «добавить в корзину» недоступна.
- Под ценой появляется подсказка со временем: 🕒 09:00–12:00 — когда блюдо снова появится в продаже.
- Блюдо, снятое через «86», помечено красным бейджем STOP (в магазине — плашкой «Распродано»), а по тапу открывается пояснение с иконкой 🚫.
Гость видит весь ассортимент — понимает, что есть в заведении, но не может заказать позицию вне её временно́го окна.
Как POS реагирует на расписание и happy-hour#
- Плитки блюд, недоступных по расписанию или снятых через «86», приглушены: обычный официант в чек их не добавит. У сотрудника с правами администратора зала плитка остаётся нажимаемой — иначе он не смог бы снять стоп долгим нажатием.
- Если у блюда действует happy-hour, в тайле отображается сниженная цена (обычная — зачёркнута).
- Долгое нажатие по плитке ставит блюдо на стоп или снимает его — для сотрудников с правами администратора зала.
- POS вычисляет время в часовом поясе локации так же, как клиентское меню, — расхождений нет.
Сменить период меню вручную#
Завтрак закончился раньше, а обеденное меню по расписанию откроется только в 12:00? Переключите период сразу:
- На кассе откройте «⋯ Ещё» → «👔 Панель управляющего» (нужны права на раздел «Меню» или PIN такого сотрудника).
- Выберите «🕐 Сменить период меню».
- В списке — ближайшие периоды своих меню и категорий с расписанием, например «Обед — по расписанию с 12:00 (через 1 ч 30 мин)». Выберите нужный.
- Плитки кассы сразу покажут обеденные позиции. QR-меню, киоск и экраны меню получат то же после обновления страницы (витрина раздаётся через CDN — это занимает немного времени).
Переключение снимается само, когда период начнётся по расписанию. Вернуть расписание раньше — «Вернуть по расписанию» в том же окне. Цены happy hour идут по настоящим часам: смена периода меняет только то, что доступно к заказу. Сервер заказа проверяет окна блюд по тем же часам периода, поэтому гость может оформить обеденную позицию сразу.
Что происходит в записи
В приложениях кассы для Android, Windows и Ubuntu кнопка 🕒 стоит в шапке приёма заказа. Она видна, пока у позиций есть расписание или действует переключение. Список и «Вернуть по расписанию» те же, право то же: нет права у текущего сотрудника — касса попросит PIN того, у кого оно есть. Без сети переключить нельзя. Позиции вне своего окна на такой кассе серые, с подписью «Сейчас недоступно»: их нельзя добавить ни с плитки, ни сканером.
Ограничения#
- Стоп действует на позицию целиком, а не на отдельный вариант. В окне смены можно выбрать свою точку; общий стоп доступен управляющему. Мобильные и Windows-приложения админки пока учитывают только общий уровень.
- Автоматический стоп по складским остаткам может не появиться в списке «Сейчас нет»: проверяйте также остатки.
- Счётчик порций — веб-касса и KDS. Приложения кассы для Android, Windows и Ubuntu списывают порции на сервере, но остатка на плитке («ост. 5») пока не показывают и кнопки «🔢 Порции» в них нет. На cenaly.ru позиция уходит в стоп на витрине после того, как на кассе откроют рабочее место; заказ гостя сверх счётчика сервер отклоняет сразу.
- Автовозврат из стоп-листа до агрегаторов не доезжает. Срок истекает, позиция возвращается у вас, а площадку об этом никто не будит.
- Живых агрегаторов пока нет. Отправка «86» в Wolt, Glovo, Яндекс Еду и Deliveroo написана и проверена на моках; боевые подключения не сделаны.
- Happy hour снижает цену, только если правило даёт цену ниже базовой, в своё окно — «скидка только для зала» отдельной осью не задаётся.
- Витрина раздаётся через CDN. Изменение расписания доезжает до гостя не мгновенно.
- Сезоны и цены с даты учитывают веб-касса, приложения кассы для Android, Windows и Ubuntu, QR-меню, киоск, экраны меню и сервер. Приложение официанта для Windows сезоны не учитывает. Выгрузки в агрегаторы и прайс-фиды получают цену при следующем обновлении меню точки.
- Напечатанный ценник сам не меняется. Окно печати ценников и терминал сбора данных показывают цену, действующую сегодня по календарю точки. Ценник, напечатанный до даты, перепечатайте после неё. Залог или сбор к позиции в заказе гостя сервер тоже считает по цене на сегодня. Своя цена склада с причиной по-прежнему сильнее.
- Ручную смену периода другая касса точки увидит не сразу: приложение и веб-касса той же точки получают её при следующем чтении настроек или обновлении страницы. Приложение официанта период не переключает, приложение официанта для Windows расписание позиций не учитывает.
Устранение неполадок#
| Симптом | Причина | Что делать |
|---|---|---|
| Позиция всё ещё видна | Стоп запрещает покупку, но не обязательно скрывает карточку; возможна задержка кэша | Проверьте возможность заказа, нужную точку и уровень стопа; обновите страницу |
| Стоп или расписание заканчивается не вовремя | Неверный часовой пояс точки | Проверьте пояс и показанный момент возврата |
| Happy hour не применился на кассе | Позиция или текущее время не входят в правило | Проверьте окно времени и состав правила |
| Позиция вернулась сама | Истёк выбранный срок стопа | Если нужен ручной возврат, выбирайте «До отмены» |
| Позиция в «Сейчас нет» с подписью «закончилось по счётчику» | Порции счётчика кончились | Введите новое число порций или нажмите «Вернуть», чтобы снять счётчик |
| «Вернуть» не помогло | Остался общий стоп, локальный стоп другой точки или ограничение остатка | Проверьте нужный уровень и склад; общий стоп снимает управляющий |
| У агрегатора позиция продаётся | Локальный стоп не передаётся; живые подключения не подтверждены | Снимите позицию в кабинете площадки вручную |
Частые вопросы#
Можно ли задать разные расписания для одного блюда в разных локациях?#
Расписание задаётся на уровне блюда (глобально). Если у вас несколько локаций в разных часовых поясах, время вычисляется в часовом поясе каждой конкретной локации — одно правило «завтрак до 12:00» будет работать по местному времени в каждой точке.
Что будет, если гость попытается заказать блюдо не по расписанию?#
Кнопка добавления в корзину заблокирована. Блюдо остаётся видным, но недоступным для заказа — гость понимает, что позиция есть в меню, и видит, когда она откроется.
Happy-hour распространяется на варианты и добавки?#
Да. Скидка применяется к базовой цене блюда, а выбранные варианты и добавки рассчитываются поверх уже сниженной цены.
Нужно ли переиздавать меню после изменения расписания?#
Изменения расписания блюда публикуются автоматически при сохранении. Расписание кастомного меню также применяется при сохранении.
Можно ли поставить блюдо на стоп прямо из кассы?#
Да. Нажмите «Стоп-лист» на кассе: можно найти позицию, выбрать срок и остановить сразу несколько строк. Возвращаться в редактор меню не нужно.
Связанные разделы#
- QR-меню — настройка клиентского меню, кастомные меню и разделы
- Касса (POS) — приём заказов персоналом, реакция на расписание и happy-hour
- Кухня (KDS) — экран кухни, получает только доступные заказы
- Заказы — мониторинг и управление заказами
- Мультилокации — часовые пояса задаются отдельно для каждой локации