Modifiers let buyers customize a line item at purchase time: size, toppings, add-ons, or free-text input like an engraving message. The model has three layers:
- A modifier group is a single buyer-facing prompt (a choose-from-a-list group or a text input) with selection rules like min/max selected and per-choice quantities.
- Each choice within a group is a modifier, with its own optional price adjustment and tax settings.
- A modifier set collects groups into an ordered bundle, with per-set overrides for display, defaults, pricing, and availability.
Modifier set assignments attach a set to a catalog target: a product, a specific variant, or a bundle. When a buyer selects choices during checkout or when modifiers are set on an order line item, they become line-item modifiers that adjust the line total and flow through to receipts and fulfillment based on each modifier's visibility flags.
