Using Modifiers
Build reusable option groups (sizes, toppings, spice levels) and link them to the dishes they apply to.
Dashboard and mobile app
A modifier group is one question attached to a dish: the thing a waiter would ask after taking the order. What size? Which toppings? How spicy? Each group holds a set of choices, and each choice can add to the price.
Groups are reusable. You build “Choose Your Size” once and link it to every pizza, rather than rebuilding it per dish. That’s the part that saves the most time, and it shapes how you should organise them.
Two types of group
Every group is one or the other, and the choice isn’t cosmetic:
- Required (Single Select): the customer must pick exactly one. Sizes, cooking temperature, choice of side.
- Optional (Multi Select): they can pick none, some, or all, within a Min and Max you set on the dashboard. Extra toppings, add-ons. Leave Max blank for unlimited.
Either way, a group holds at most 50 choices.
Where modifiers live
In the dashboard
Groups have their own page, separate from the menu itself. Each one appears as a card showing its type, its choices, and any price changes.
On the mobile app
Open the Lekro app, tap Menu in the bottom bar, and tap Modifiers. It’s the first chip in the row that runs under the search box.
Groups get their own screen here too. Each row leads with the Customer Title, the question a customer actually reads, with a REQUIRED badge beside it where that applies. Under it sit the first three option names, and a + count for any beyond them. The option count sits at the foot of the row, and optional groups add their limits there: Pick 0–3.
The top bar holds two controls: a toggle that swaps the list for a two-column grid, and + to build a group.
The order isn’t yours to set. Required groups sort to the top, then everything else alphabetically. It’s a useful default, since the required ones are the questions a customer can’t skip.
Building a group
In the dashboard
Click New Modifier Group. One editor handles the settings and all the choices together.
The two name fields catch people out, because they do different jobs:
- Internal Name (Admin Only): how you find the group in your own list. Customers never see it. “Pizza Sizes” is the right kind of name here.
- Display Title (Public): the question printed on your menu. “Choose Your Size” is the right kind of name here.
Then add choices with Add Choice. Each one takes:
- Choice Name: what the customer reads.
- Price: what this choice adds to the dish’s base price, not the total. A $10 pizza with a “Large” choice at $4 costs the customer $14. Enter
0for free choices. - Default: pre-selects it.
- Sold Out: hides the choice from customers without deleting it. The equivalent of running out of jalapeños.
Click Create Group.
Note: For an Optional group, Min can’t be higher than the number of choices you’ve added. If you set Min to 3 and only add two choices, the editor blocks the save. Add the choices first, then set the limits.
On the mobile app
Tap + in the top bar of the Modifiers screen. New Modifier opens as a full screen rather than a sheet, in three blocks.
GROUP INFO holds the two names, and they do different jobs:
- Internal Name is yours alone, for finding the group in your own list. The placeholder shows the kind of name that works: e.g. Pizza Sizes.
- Customer Title is the question printed on the menu: e.g. Select Size.
Leave Customer Title empty and the group still saves, quietly using the internal name in its place. That’s a fallback, not a feature. “Pizza Sizes” is not a question.
SELECTION RULES is one switch, Required Selection, with Customer must pick exactly one written under it. Turn it off and the group becomes optional, and customers can then take as many choices as they like.
OPTIONS opens with a single empty row. Each row takes a name and a price, and the price sits behind your currency and a + because it adds to the dish rather than replacing its price. Add Option adds a row and the trash icon removes one, except for the last one standing. Rows you leave blank are dropped on save rather than saved empty.
Save Changes is pinned to the bottom of the screen and stays there while you scroll.
Four things the dashboard has that the app doesn’t: Min and Max on an optional group, and Default and Sold Out on an individual choice. None of the four appear in the app’s editor.
None of them break, either. Save an optional group from your phone and its Min and Max come through untouched, and every choice keeps its Default and Sold Out marks. The app simply can’t be the place you change them.
Translating a group
In the dashboard
If your menu runs in more than one language, the group editor has a language tab at the top. What’s editable there is narrower than you’d expect:
- Only the names translate: the display title and each choice name.
- Prices and structure stay on the default tab. You can’t give a choice a different price in Arabic, and you can’t add or remove choices from a translation tab. The structure is shared across every language.
There’s also nothing to translate until the default language is filled in, so write the group out fully first, then switch tabs.
On the mobile app
Language tabs run across the top of the group editor. The first reads Default with your menu’s default language in brackets, and + at the end of the row adds a language you haven’t set up yet. Once you hit your plan’s language limit that button becomes a padlock, and tapping it explains the limit rather than opening a picker you couldn’t save from.
Move to any other tab and the screen narrows to exactly what translates. Internal Name disappears, because it was never for customers. SELECTION RULES disappears, because a group can’t be required in one language and optional in another. Prices stay in place but stop responding to a tap: readable, not editable. There’s no Add Option and no trash icon. What’s left is the Customer Title and the option names, which is the whole of what a customer reads.
Two buttons appear on a translation tab, and nowhere else:
- Auto Translate fills the title and every option name from the default language in one pass.
- Clear empties this language again and leaves the others alone.
Fill the default tab first. Auto Translate works from it, and with nothing there it tells you so instead of guessing.
A language you haven’t written yet is dimmed in the tab row, so a glance across the top tells you what’s still missing.
Linking a group to dishes
Creating a group attaches it to nothing. Groups exist independently until you link them, and linking always happens on the dish.
In the dashboard
Open a dish in the Menu Editor, scroll to Customization & Modifiers, and click Link Modifier Group.
Save the item, and those options appear whenever a customer opens the dish. A pizza might carry both “Choose Your Size” and “Add Toppings”.
On the mobile app
Open the Menu tab, tap the dish, and look for Modifiers & Add-ons in the Edit Item sheet. It’s one of the collapsed rows, and it reports its own state underneath: No groups linked, or 2 groups linked. You can read that without opening it.
Tap the row to expand it. Every group you’ve built is listed with a checkbox and a summary line, Required • 3 options, so you can tell the sizes from the toppings without remembering which was which. Tap a group to link it and tap it again to unlink. A search box sits above the list for when the list outgrows the screen.
Then Save Changes at the bottom of the sheet. Nothing is linked until the dish itself is saved.
Editing and deleting
In the dashboard
The toolbar has search and a list/grid toggle; each card has edit and delete buttons.
Warning: A group that’s linked to menu items can’t be deleted. The card shows an In Use badge and lists which dishes depend on it. Unlink it from those dishes first.
On the mobile app
Tap any group on the Modifiers screen to open it. It’s the same editor you built it in, now titled Edit Modifier.
Delete lives at the bottom of that editor, under the options, as Delete Modifier Group. There’s no delete button on the list itself and no swipe, so deleting always means opening the group first and reading it on the way past.
Confirming takes two taps: Delete Group, then This will remove it from all items. Are you sure?, then Delete.
A group that dishes depend on is protected here exactly as it is on the dashboard, and the refusal comes from the server rather than the screen. The app tells you how many dishes are using the group, but not which ones. When that count is more than a couple, the dashboard’s In Use badge names them and saves you hunting.
That protection is deliberate: it’s what stops a shared group vanishing from thirty dishes because it looked unused on one screen. Editing a group, on the other hand, updates it everywhere immediately, so changing a price in “Add Toppings” changes it for every dish linked to it.
What’s next
With categories, items, and modifiers built, your menu is complete. If you serve more than one language, note that bulk translation covers categories and dishes but not modifier groups: those you translate in the group editor, tab by tab. Translating your menu explains both routes.