Modifiers
Display and manage product modifiers.
See also: Modifier and Modifier Group
Modifiers allow customers to customise a variant or extra by selecting from one or more options. Related modifiers are organised into modifier groups.
For example, a food festival might offer a Half-day Ticket variant with two modifier groups:
- Session — Morning or Afternoon
- Workshop — Choose one of three available workshops
Checkout flow
Creators can choose whether customers must complete modifier selections:
- Before checkout — during the booking flow.
- After checkout — once the booking has been completed.
When a modifier group is required before checkout, your theme should present it as part of the booking flow to ensure customers complete all required selections before purchasing.
Pre-checkout modifier groups are available on both variants and extras:
| Object | Property |
|---|---|
| Variant | variant.pre_checkout_modifier_groups |
| Extra | extra.pre_checkout_modifier_groups |
Modifier groups that are not included in these properties can be collected after checkout through the creator's post-purchase workflow.
The UI for collecting modifier selections is handled by the Selections template.
Selection rules
Each modifier group can define selection rules that determine how many options a customer may choose.
Your theme should respect these rules when rendering modifier inputs.
Examples include:
- A minimum number of required selections.
- A maximum number of allowed selections.
- Optional modifier groups.
- Groups that require exactly one selection.
Depending on the rules, a modifier group may be rendered as radio buttons, checkboxes, or another appropriate input control.
Stock
Modifiers can maintain their own stock independently of variants and extras.
When displaying modifier options, you should:
- Indicate when a modifier is out of stock.
- Prevent customers from selecting unavailable modifiers.
- Optionally display the remaining stock using the modifier's stock properties.
Stock should always be considered alongside the availability of the parent variant or extra.