Lorixen.
EN

Mutually Exclusive Accessories in a Configurator: Record the Conflicts You Know, Not the Compatibility You Assume

A common shortcut in a configurator is to list accessories, mark a few as clashing, and treat every other pairing as fine. That quietly turns missing information into a promise. This article proposes a workflow that keeps three states apart: known exclusive, known compatible, and not yet confirmed. All examples are hypothetical sample inputs, not observed client results.

The artefact: a pairing register

Create one table with a row per accessory pair or per exclusion group. Columns:

  • Accessory A and Accessory B (or a group name).
  • Relationship: exclusive, compatible, or unconfirmed.
  • Reason shown to the customer, in plain words.
  • Who confirmed it and when, as a note for your own team.

Sample inputs for an imaginary desk lamp kit: a clamp base, a weighted base, a small shade, a wide shade, and a cable clip.

  • Clamp base and weighted base: exclusive, because the lamp has one base position.
  • Small shade and wide shade: exclusive, because the lamp has one shade position.
  • Cable clip with either base: compatible, confirmed by your team.
  • Wide shade with clamp base: unconfirmed.

Exclusion groups versus pairs

When several accessories compete for one position, use a group called Base position or Shade position. The group says that at most one member can be chosen. This is cleaner than many pair rows. Use pairs only for conflicts that do not come from a shared position. Whether you use groups, pairs or both is your choice; the requirement is only that each exclusion is written down somewhere visible to editors.

Decision branches in the interface

When the customer selects an accessory:

  1. If it belongs to an exclusion group already holding a selection, offer a replace action. Name both items: Replace the clamp base with the weighted base?
  2. If it is exclusive with an item outside a group, show the stored reason and let the customer choose which to keep.
  3. If every pair with current selections is compatible, add it silently.
  4. If any pair is unconfirmed, add it only if your team decides unconfirmed pairs may be requested, and label the result as needing confirmation before it is accepted.

Branch 4 is an optional policy. A stricter shop may block unconfirmed pairs; a flexible one may allow them with a note. Pick one and record it.

Stop conditions

Stop and do not auto-resolve when:

  • Replacing an item would remove something the customer chose deliberately and the removal has not been shown to them.
  • Two exclusions form a chain where replacing one triggers another replacement. Show the full result before applying it.
  • The register has no row for a pair and your policy forbids unconfirmed pairs.

Editing the register

When adding a new accessory, the editor should see a list of every existing accessory with a default of unconfirmed. Nothing becomes compatible by omission. A short review step before publishing should list how many pairs remain unconfirmed, so the team sees the gap rather than discovering it through customer questions.

Practical acceptance test

Using the lamp sample, run these checks in a staging copy:

  1. Select the clamp base, then the weighted base. Expect a replace prompt naming both, and after confirming, only the weighted base remains.
  2. Select the cable clip with each base. Expect no warning.
  3. Select the wide shade with the clamp base. Expect the behaviour your chosen policy describes, either a block or a needs-confirmation label, never silent acceptance.
  4. Add a new sample accessory, a reflector. Expect every pairing to appear as unconfirmed until someone edits it.
  5. Open the summary shown before submission. Expect it to list chosen items and flag any unconfirmed pair.
  6. Decline a replace prompt. Expect the original selection to stay unchanged.

If all six pass, the configurator distinguishes what you know from what you merely have not ruled out.

Conclusion

A register with three relationship states costs a little editing time and prevents the false comfort of everything else is fine. Keep the reasons customer-readable, keep the policy for unconfirmed pairs explicit, and verify with a small staging test before publishing.

Sources

    WhatsAppLet’s talk