Skip to main content
A product is a sellable item on the menu: a burger, a combo, a drink, a side. It carries price, description, modifier groups (choices the customer must or can make), and availability per store.

What commercial teams should know

Products are the level where merchandising meets operations. Marketing promotes specific items; the kitchen must receive exactly what was configured.

Modifier groups and modifiers

Customization on a product is organized in modifier groups. Each group asks the customer a question; each answer inside the group is a modifier. A group is the frame (“what drink do you want?”). Modifiers are the options the customer picks.

Modifiers can be their own products

In many menus, each modifier is not just a label — it points to a real product in your catalog. The combo does not embed a fake “Coke” string; it offers the same Coca-Cola product you sell standalone, with its own SKU, price delta, and kitchen mapping.
That pattern matters commercially and operationally:
  • Combos and bundles — Base item + customer picks drink, side, or dessert from real catalog items.
  • Upsell — “Add bacon” or “Make it large” as optional groups with priced modifiers.
  • Kitchen accuracy — The ticket names the actual product the line cooks or pours, not an informal note.
  • Inventory and 86 — If still water is out of stock in the POS, that modifier disappears from the group across channels.
Groups can be required (customer must choose a drink) or optional (add extra cheese). Rules like “pick exactly one” vs “pick up to three toppings” live on the group, not on each modifier. Fire spark syncs products, modifier groups, and modifiers from your operation. The same structure can appear in different composed menus by channel, store, fulfillment, or schedule — without duplicate masters in the POS.

Pricing and bundles

Each product carries a pricing object per channel, store, and fulfillment context: Bundled items model combos: each entry references a real catalog product with an included_quantity and a refund_price if the customer starts a dispute about the bundle.

Categories

Where products appear in the menu

Menus

Full catalog synced to channels

Orders

Products and modifier choices in a purchase