--- sidebar_label: 'Single product with configuration' sidebar_position: 7 --- # Single product with configuration A Single product with configuration lets the customer add extras, remove default ingredients, or change a component (such as bread type). Each type of configuration is modelled as a separate Container: - **Add container** — optional multi-select (`min: 0, max: unbounded`); extras carry a price - **Remove container** — optional multi-select with `isNegated: true`; removals are free - **Change container** — mandatory single-select (`min: 1, max: 1`) with a default selection ``` Burger — id: 11, type: product Add — id: 12, type: container, min: 0, max: unbounded Bacon — id: 15, type: product Tomato — id: 16, type: product Cheese — id: 17, type: product Onion — id: 18, type: product Remove — id: 13, type: container, min: 0, max: unbounded, isNegated: true Tomato — id: 16, type: product Cheese — id: 17, type: product Ketchup — id: 3, type: product Onion — id: 18, type: product Select Bread — id: 14, type: container, min: 1, max: 1 Rye Bread — id: 19, type: product, isSelectedByDefault: true Sesame Bread — id: 20, type: product Gluten Free Bread — id: 21, type: product ``` **Example products:** Burgers, hot dogs, sandwiches