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:

ObjectProperty
Variantvariant.pre_checkout_modifier_groups
Extraextra.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.

On this page