Hard vs. Soft Ingredient Rules: What’s the Difference for Order Blocking?
If you're using Order-Taking, Diet Management, and Recipe Management together, you can take advantage of smart ingredient-based restrictions that help personalize and safeguard each consumer’s meal selection.
Here’s how it works — and what each restriction type means.
🚫 Hard Restrictions
These are strict blocks. If a recipe contains a hard-restricted ingredient, it will be automatically blocked from being ordered.
Hard restrictions are triggered when:
- An ingredient is banned for a specific diet
- A consumer has the ingredient listed in their "Restrictions" column
Example: A patient on a low-potassium diet won't be able to order recipes with bananas if "banana" is flagged as a restricted ingredient.
⚠️ Warnings
Warnings act as soft alerts based on diet rules—but they don’t block anything.
If a recipe contains an ingredient that’s flagged (but not banned) for a diet, the consumer will see a warning icon. They can still order the item.
Example: A vegetarian diet might flag eggs with a warning, but not block them outright.
🌱 Soft Restrictions (Aversions)
Soft restrictions reflect individual aversions or dislikes, entered on a per-consumer basis in the "Aversions" column.
- Recipes with matching ingredients are marked with a warning icon
- The consumer can still order the item, but it’s clearly flagged
To speed things up, use the comment shortcut feature, which will pre-fill the comment with the following text:
without /name of aversion/
This auto-selects the dish and adds the ingredient as a kitchen comment and on the order ticket—perfect for garnishes or minor ingredients.
Example: Selecting Bolognese Pasta with the comment without basil
→ Basil is flagged and automatically added as a prep note.
✅ Match Must Be Exact
To ensure restrictions apply correctly:
- The ingredient name must exactly match the one used in your recipes
We recommend using consistent ingredient naming across all recipes and restriction settings to avoid mismatches.
Example: "Tomato" ≠ "Cherry Tomato"