Skip to content

Variable Hierarchy

Recipe variables can be implemented as variable sets at different levels. The system overwrites a variable's value when that same variable is defined in two or more levels.

Variables are overwritten based on the following hierarchy.

Variable set hierarchy

  • Order-level variable set: order overrides are defined when submitting an order. Order-level variable values take precedence over values in kitchen, variation, and base recipe variable sets.
    • Kitchen-level variable set: defined in Kitchen Overrides. Kitchen-level variable values take precedence over values in variation and base recipe variable sets.
      • Variation-level variable set: defined in variations.json. Variation-level variable values take precedence over values in the base recipe variable set.
        • Base recipe variable set: defined in variables.json.

Generated runtime variables override the variable definitions described above.

System variables are read-only and cannot be overridden.

Note

Note on overriding dictionary variables: If you want to override a single key's value within a dictionary variable you must redefine the entire dictionary as an override. You cannot override a single key.

View the variable hierarchy

You can view the variable hierarchy for any variation:

Open a kitchen > select a recipe > click a variation name > select the Variables tab.

Visual example in Automation

(Screenshot of the Variables tab)

Example with schedules

The following example includes variable override behavior when schedules are introduced.

Example

A scheduled order is running. A variable that is overridden in the initial run of this scheduled order remains in place for all future order runs. If a variable in the recipe for this variation is changed and saved, the new variable value will appear in all future orders of the same scheduled order.

Declare Runtime Variables

System Variables Reference

Schedules