While everybody likes pizza, not all of us would like the same pizza. Here customization caters the need for different sizes & flavors for the same item, a large pepperoni with spicy bell peppers or a medium pepperoni with extra cheese. The ability to customize an item makes it possible for the existence of both the above pizzas.
Types of Customizations:
Most item modifications can be handled through variants or add-ons. Let us take an example to understand what variants or add-ons mean.
While choosing a particular pizza, a customer will have to choose between various pizza sizes such as regular, medium & large, without choosing one, one cannot proceed with ordering. In this instance, the different sizes are considered as variants.
After choosing a size the customer then has a choice of additional toppings (ex. extra cheese, pepperoni, paneer, etc.) which he/she may or may not want. Here, the customer is not required to select any additional toppings to proceed with the order i.e. it is up to the customer if he/she wants the additional toppings or not. These are called add-ons.
Options & Option Groups
The above customizations are handled on our dashboard using options and option groups. In the above example "Pizza Size" will be an option group under which there are three options:- Regular, Medium & Large.
To summarize, options are the various choices that are available to the customer during customization (ex. extra cheese, extra paneer, etc.) whereas an option group is a collection of options (ex .Toppings) under which the various options would exist.
Nesting an Option Group
In certain cases, the price of the different options will be dependent on the previous choice made by the customer. For such scenarios, we would be making the use of nested options.
In the case of a pizza, extra toppings for a medium pizza would cost more than it would for a personal pizza. In this example, we would be having two separate option groups (one for the medium pizza and one for the personal) each having options at different prices.
For example, extra cheese for the medium pizza could be priced at Rs. 70 whereas it could be priced at Rs. 50 for a personal pizza.
To sum up, nested options and option groups are basically customizations which come into effect only when the previous variant is chosen.