M cenaly.ru
⚙️ Features

⏰ Scheduling & Happy Hour

Time-based dish availability, time pricing and the "86" stop-list

Documentation

Menu schedule, happy hour, and stop list '86'

Three tools that manage dish availability over time:

  1. Schedule — a dish or custom menu is available only on specified days and hours (for example, breakfasts until 12:00 on weekdays, bar menu after 22:00).
  2. Happy hour — during a specified time window, a dish has a different (usually reduced) price.
  3. Stop list '86' — instantly remove a menu item from sale when the product runs out, and bring it back just as quickly.

All three rules are calculated in real time in the location's time zone — the guest and cashier always see the up-to-date picture.


Availability Schedule#

How to Set a Schedule for a Dish#

  1. Open Menu in the admin panel.
  2. Find the desired dish in the list — next to the active toggle, there is a clock icon.
    • Gray clock — no schedule set (always available).
    • Green — currently within schedule.
    • Red — currently outside schedule (dish is hidden/unavailable).
    • Amber — no schedule, but a happy hour rule is set for the dish.
  3. Click the clock — the "Schedule and Pricing" editor will open.
  4. Enable the "Limit availability by schedule" checkbox.
  5. Set the days of the week and time windows (format HH:MM–HH:MM). You can add multiple windows for a single day (for example, lunch 12:00–15:00 and dinner 18:00–23:00).
  6. For periods crossing midnight (bar menu 22:00–03:00), mark the window as "overnight" — the system will correctly handle the midnight crossover.
  7. Click "Save" — changes are published to the customer menu.

A dish schedule takes priority over category and custom menu schedules. If a dish does not have its own schedule, it inherits the union of schedules from its category and all custom menus it belongs to.


Category, custom menu, and collection schedule#

You can set a schedule not just for a single dish, but for an entire group of menu items:

  • a category — for example, "Breakfast" or "Bar";
  • a custom menu — "Business Lunch", "Sunday Brunch";
  • a product collection in a store (retail) — for example, "Night Deals".

In this case, all items in this group automatically become unavailable outside the specified hours.

The clock icon next to the name of a category, custom menu, or collection works the same as the dish clock icon: one click opens the same schedule and happy hour rules editor.


Happy hour (time pricing)#

Happy hour is a rule that automatically changes the price of a dish during a specific time window. Multiple rules can be combined; if several rules are active at the same time, the lowest price wins (the best offer for the guest).

Setup#

  1. Open the "Schedule and Prices" editor for the dish or custom menu (clock button).
  2. In the "Happy hour (time pricing)" section, click "+ Add rule".
  3. Set:
    • Name (e.g., "Happy hour") — displayed as a label for the discount.
    • When active — time window by days of the week (the same schedule editor).
    • Discount type: "Percentage discount" or "Fixed price".
  4. Save. You can add multiple rules (different hours, different discounts).

On the customer menu during the happy hour period, the regular price is shown crossed out, with the discounted price next to it. In the POS, the price on the tile updates automatically.


"86" Stop List#

The "86" button is a quick way to remove a menu item from sale without deleting or archiving the dish. It is used when an ingredient is suddenly out of stock.

How to put a dish on the stop list#

Next to each dish in the Menu section, there is an "86" button:

  • If the dish is not on the stop list — the button is faint and outlined.
  • If the dish is on the stop list — the button is red and solid.

Click "86" — a menu will appear:

Option What it does
Stop now The dish is unavailable indefinitely until manually removed from the stop list
Until end of day Auto-restores at 23:59
Until tomorrow Auto-restores at 06:00 the next day

How to remove from the stop list#

Click the red "86" button — the stop status is removed immediately without confirmation.

Auto-restore works on the client in real time: as soon as the specified time arrives, the dish becomes available again without republishing.

"86" directly from the POS#

You do not have to return to the "Menu" section: on the POS, you can press and hold a dish tile (or right-click it) — the same window will open with three stop options, or "Remove from stop list" for an already 86'd dish. This permission is available to employees with dining area administrator privileges: a regular waiter cannot put a tile on the stop list.


How guests see unavailable items#

On the customer menu, a dish unavailable right now (out of schedule or on the stop list):

  • Appears dimmed (reduced opacity).
  • The "add to cart" button is disabled.
  • A time hint appears below the price: 🕒 09:00–12:00 — when the dish will be available for purchase again.
  • A dish removed via "86" is marked with a red STOP badge (in the store — with a "Sold Out" label), and tapping it opens an explanation with a 🚫 icon.

Guests see the full assortment — understanding what the venue offers, but cannot order an item outside its time window.


How the POS reacts to schedules and happy hour#

  • Tiles for dishes that are unavailable by schedule or marked as "86" are dimmed: a regular waiter cannot add them to a bill. For an employee with dining area manager permissions, the tile remains clickable — otherwise they would not be able to remove the stop status with a long press.
  • If a happy hour is active for a dish, the tile displays the reduced price (the regular price is crossed out).
  • Long pressing a tile places a dish on the stop list or removes it — for employees with dining area manager permissions.
  • The POS calculates time in the location's time zone just like the customer menu — there are no discrepancies.

What you need to get started#

  • The location's time zone. All three rules are evaluated in the venue's zone — if the zone is not set, the windows will not behave the way you expect.
  • Items, categories or custom menus the rule applies to.
  • A second price — for happy hour.
  • Cashier access to the 86 list — an item is taken off right at the shift workspace with the "86 list" button.

Limitations#

  • The 86 list applies to the whole item. You cannot take a dish off "at one location only" from the shift window — that scenario lives on a separate path and is not surfaced here.
  • Automatic return from the 86 list does not reach aggregators. The deadline passes, the item comes back for you, and nobody wakes the marketplace.
  • There are no live aggregators yet. Sending 86 to Wolt, Glovo, Yandex Eda and Deliveroo is written and verified on mocks; production connections have not been made.
  • A happy-hour price always beats the base price inside its window — "discount for dine-in only" is not a separate axis.
  • The storefront is served through a CDN. A schedule change does not reach the guest instantly.

Troubleshooting#

The dish has not disappeared from the storefront. Wait for the distribution to refresh and reload the page with the cache cleared; if that does not help, check that the rule is on that item and that location.

The schedule fires at the wrong time. The location's time zone is missing or wrong — the rules are evaluated in the venue's zone.

Happy hour did not apply at the POS. Check the time window and that the item is part of the rule: the POS reads the same availability as the storefront.

An item came back on sale by itself. That is the 86 list auto-restore working — if you do not want it back, set 86 without a deadline.

The dish is still on sale at the aggregator. There are no live marketplace connections — take the item down in the marketplace's own back office.

  • QR Menu — customer menu setup, custom menus and sections
  • POS — order taking by staff, response to schedules and happy-hour
  • Kitchen (KDS) — kitchen display, receives only available orders
  • Orders — monitoring and order management
  • Multi-location — time zones are set separately for each location

Frequently Asked Questions#

Can I set different schedules for the same dish across different locations?#

The schedule is set at the dish level (globally). If you have multiple locations in different time zones, the time is calculated in the time zone of each specific location — a single "breakfast until 12:00" rule will work according to local time at every branch.

What happens if a guest tries to order a dish outside of its schedule?#

The add to cart button is disabled. The dish remains visible but unavailable for ordering — the guest understands that the item is on the menu and sees when it becomes available.

Does happy hour apply to options and add-ons?#

Yes. The discount applies to the base price of the dish, and selected options and add-ons are calculated on top of the discounted price.

Do I need to republish the menu after changing a schedule?#

Dish schedule changes are published automatically upon saving. Custom menu schedules are also applied upon saving.

Can I put a dish on the stop list directly from the POS?#

Yes. In the Menu section, there is an "86" button next to each dish for this purpose, and on the POS, a long press (or right-click) on the dish tile opens the same "stop now / until end of day / until tomorrow" modal. On the POS, this action is only available to employees with dining area manager permissions.