The rules engine
Rules encode your sales logic: “this leg only exists for the wide body”, “leather bodies can’t take linen cushions”. They are authored as forms — no code — and the published configurator obeys them exactly.
The rule model
Section titled “The rule model”Every rule reads the same way:
When this part… (driver) …is set to (driver variation) — then this part… (target) …may show only these (allowed variations; others are disabled).
It’s an allow-list: you tick what remains valid, everything unticked is blocked while the driver sits on that value. Two edge cases are intentional:
- All allowed — the rule has no effect yet; untick the variations you want to block.
- Nothing allowed — hard-locks the target part while the driver is on this value.
Several conditions
Section titled “Several conditions”A rule can wait for more than one part. Click Add condition and pick another part and variation; the rule applies only while every condition holds:
When Width is set to 180 and Fabric is set to Velvet — then Feet may show only Metal.
- With 180 and linen, or 160 and velvet, every foot stays available.
- Whichever part completes the set triggers the rule; the feet then switch to an allowed variation like after any other rule.
- For “either one is enough”, write two separate rules on the same target — each applies on its own.
- The target, and the modules of a targeted slot, cannot be conditions of their own rule.
Beyond “is”
Section titled “Beyond “is””Every condition has an operator. Besides is, a condition can read:
- is not — any variation except the one you pick.
- is one of — tick several variations of the part.
- >, ≥, <, ≤ — compare a number. Give the variations a Number for rules in the variation panel (a width in cm, a seat count); the comparison then follows that number, and a variation you add later is covered without touching the rule:
When Width ≥ 160 — then Feet may show only Metal.
A variation without a number never meets a comparison, and the comparison operators are offered only for parts that carry numbers.
Switching a part for the shopper
Section titled “Switching a part for the shopper”An allow-list with one ticked variation already forces that variation. When several remain valid but one is the better start, choose it under When this rule starts to apply, switch to. The switch happens once — on the pick that makes the conditions true — and the shopper can still choose any other allowed variation afterwards. It does not run when the product opens or when a shared link is loaded, so a saved configuration is never rewritten.
Rules on module slots
Section titled “Rules on module slots”A rule can target a module slot — a visibility group where one member is shown at a time — instead of a part. Pick the slot under Then this module slot… and tick the modules that stay valid:
When Body is set to Walnut — then the slot Top shelf may show only Open shelf.
- A blocked module’s chip is greyed out or hidden, exactly like a blocked variation.
- If the blocked module is the one on screen, the slot switches to an allowed module (its default first), and the parts inside the new module start driving their own rules.
- A slot always shows one module, so a slot rule that allows nothing makes its driver variation unselectable; the Setup Check flags it before you publish.
What blocked looks like
Section titled “What blocked looks like”You choose how blocked variations appear — a default for the product, with an override per rule:
- Greyed out and unselectable (still visible) — good when shoppers should see that an option exists but is incompatible.
- Hidden from the picker — a part whose options are all blocked disappears entirely.
Invalid states never survive
Section titled “Invalid states never survive”Rules are enforced at every entry point, not just on clicks:
- If a selection change makes another part invalid, the engine auto-corrects that part to its default variation, or the first allowed one, preferring options your store reports in stock — shoppers can’t wander into a dead end.
- The shopper’s own choice is never overridden. An option whose rules contradict each other is shown as blocked instead of being accepted and then reverted.
- An optional part stays empty until the shopper picks one; a rule only narrows what they can pick.
- A part hidden by a visibility group does not drive rules until it is shown.
- A share URL, a product switch and a visibility change are enforced the same way a click is, so old links and carried-over selections never render broken products.
Rules vs. links vs. visibility
Section titled “Rules vs. links vs. visibility”| You want | Use |
|---|---|
| Parts that change together (one choice, many parts) | Link groups |
| Alternative arrangements, one visible at a time | Visibility groups |
| Combinations that are invalid or conditional — across parts or module slots | Rules |
Rules interact with links: a rule that blocks a variation a link tries to set wins, and a part corrected by a rule carries the parts it drives through a link. The Setup Check flags contradictions — including an option that can never be selected — before you publish.
