Addons & modifiers
Addons and modifiers let customers customize a dish — extra toppings, sauce choices, cooking preferences, sides. You build an addon group once (with per-option prices and rules for how many choices are required or allowed) and attach it to any number of items, so “Pizza toppings” is maintained in one place even if it appears on thirty pizzas.
Variants vs addons — pick the right tool
Section titled “Variants vs addons — pick the right tool”The menu has two customization mechanisms, and choosing correctly keeps both your menu and your reports clean:
| Variants | Addons | |
|---|---|---|
| Customer picks | Exactly one | Zero, one, or many (per your rules) |
| Typical use | Size, portion, base | Toppings, extras, sides, preferences |
| Price effect | Sets the item price | Adds to (or doesn’t change) the price |
| Example | Small / Medium / Large | Extra cheese +$1, No onions |
Rule of thumb: if the dish cannot exist without the choice (a pizza must have a size), it’s a variant. If the choice is layered on top of the dish, it’s an addon. Variants are covered in Building your menu.
Addon groups
Section titled “Addon groups”An addon group is a named set of related options — “Toppings”, “Choose your sauce”, “Make it a meal”. For each group you decide:
- The options inside it — each with its own name and price (which can be zero: “No onions” costs nothing but matters to the kitchen).
- Required or optional — must the customer pick something from this group, or can they skip it?
- How many selections are allowed — a minimum and maximum, so “Choose your sauce” can demand exactly one while “Toppings” allows up to five.
Then attach the group to every item it applies to. Because the group is shared, fixing a topping price or adding a new sauce updates every attached item at once.
Worked examples
Section titled “Worked examples”| Group | Rule | Options |
|---|---|---|
| ”Choose your sauce” | Required, exactly 1 | Garlic aioli · BBQ · Hot honey |
| ”Toppings” | Optional, up to 5 | Extra cheese +$1 · Bacon +$1.50 · Jalapeños +$0.50 |
| ”Cooking preference” | Required, exactly 1 | Rare · Medium · Well done (all $0) |
| “Make it a meal” | Optional, up to 1 | Fries + drink +$4.50 |
The same four shapes — forced single choice, capped multi-select, free required preference, optional upsell — cover almost every menu. Start there before inventing exotic rules.
How customers experience it
Section titled “How customers experience it”When a customer taps an item, its addon groups appear in order — required groups must be completed before the item can be added to the cart, and the running price updates as options are picked. Keep groups short and clearly named: a wall of forty checkboxes converts worse than three tidy groups.
Two ordering rules worth following:
- Put required groups first — the customer resolves the must-answer questions while attention is highest.
- Put upsell groups (“Make it a meal”) last, once the customer is already committed to the item.
Selected addons travel with the order everywhere it goes:
- On the customer’s receipt, itemized with their prices.
- On the kitchen ticket (KOT) under the parent item — see Receipt & kitchen printing.
- In the partner app’s order details, so staff see exactly what was chosen.
Design tips that pay off
Section titled “Design tips that pay off”- Name groups as instructions. “Choose your sauce (pick 1)” outperforms “Sauces” — customers shouldn’t have to guess the rules.
- Order options by popularity. The first options get the most taps; put bestsellers and house defaults first.
- Use required groups to prevent kitchen ambiguity. If the kitchen always needs to know a cooking preference, make it required rather than relying on customers to volunteer it.
- Don’t duplicate items to fake addons. “Burger with cheese” as a separate item splits your sales reporting and doubles your maintenance — one item with a cheese addon is the right model.
- Mind the price anchoring. Lots of paid addons on a cheap item can make the final price feel like a surprise; bake commonly-expected extras into the base price instead.
Keeping addons healthy
Section titled “Keeping addons healthy”- When an ingredient runs out, the dish-level out-of-stock toggle handles whole items — see Availability & stock. For an addon-only outage (“no avocado today”), edit the group in the menu builder.
- Review addon groups when prices change: shared groups mean one edit, but only if you modeled them as shared in the first place.
- Translations: addon group and option names accept per-language translations just like items — see the multi-language section of Building your menu.
Finally, test like a customer: after any addon change, open the item in your own app, build the order, and check the price math and the kitchen ticket. Required-group mistakes are invisible from the dashboard and obvious from the cart.
Related: Building your menu · Availability & stock · Receipt & kitchen printing