Menu management

Categories, items, modifiers, imagery, and service metadata.

The menu is shared by the storefront, POS, service floor, and KDS. There is one set of menu records for all of them.

Screens

  • /dashboard/platform/menu is the Menu Architect and the menu entry in the sidebar. It shows categories and items in one view and opens create and edit drawers for categories, items, and modifiers.
  • /dashboard/platform/menu-categories, /dashboard/platform/menu-items, and /dashboard/platform/menu-modifiers are list screens. They are not in the sidebar.
  • The generic Keystone list screens under /dashboard/[listKey] also work for every menu list.

What a menu item holds

A MenuItem can include:

  • price in cents
  • a rich-text description
  • images (MenuItemImage); the first image is the thumbnail
  • available, featured, and popular flags
  • prep time and calories
  • kitchen station: grill, fryer, salad, dessert, bar, or expo (default grill)
  • allergens: gluten, dairy, eggs, nuts, shellfish, soy, fish
  • dietary flags: vegan, vegetarian, gluten free, dairy free, keto
  • meal periods: breakfast, lunch, dinner, all day
  • a category and its modifiers

MenuCategory has a name, icon, description, meal periods, and sort order. PrepStation can link a menu item to a kitchen station with a preparation time.

Modifiers

Each MenuItemModifier belongs to one menu item and has:

  • a group: size, temperature, addons, removals, sides, dressings, cheese, toppings, sauces, patty, ice, dipping
  • a group label shown to guests, such as "Patty Size"
  • required flag and min and max selections
  • default selected flag
  • price adjustment in cents (can be negative)
  • calories

The server checks modifier rules every time an item is added to a cart or order. Selected modifiers cannot make the item price negative.

How to build the menu

Create categories

Add MenuCategory records. Sort order controls the storefront section order.

Add items

Create MenuItem records with price, image, availability, station, and guest-facing details.

Attach modifiers

Add MenuItemModifier records for sizes, add-ons, sides, sauces, removals, and similar choices.

Set service windows

If items should only sell at certain times, set meal periods on items or categories, and set the meal period windows in store settings.

Availability rules

When an item is added to a cart or order, the server refuses it if:

  • the item is marked unavailable;
  • the restaurant is closed, or within the ordering cutoff before closing;
  • the item or its category has meal periods and the current time is outside them.

Meal period windows are set in store settings as venue-local open and close times.

Limits

  • Modifiers belong to one item. There are no shared modifier groups across items.
  • Kitchen stations on menu items are a fixed list. Station names on the KDS are matched to these values.
  • There are no menu versions, scheduled price changes, or per-channel prices.

Order items keep snapshots of name, price, modifiers, and station. Editing the menu does not change past orders.

On this page