Multi-dimensional products are described using multiple Categorys (dimensions) and multiple VariantValueCategorys (attributes).
VariantCategory represents one of the variant dimensions, such as a size, or color. Unlike the alternative default approach, you can have more than two levels of the dimensions.
In order to specify what dimensions are required for the product, the VariantCategory item is assigned to this product as a regular product supercategory. When one or multiple VariantCategory items assigned to the Base Product item it starts acting as a template indicating what dimensions are used for the variant products. These Variant Categories can be chained, i.e. organized into a hierarchical structure.
VariantValueCategorys represents all available values for VariantCategory.
In order to specify what value the product variant attribute has for the specific product, the appropriate VariantValueCategory item is added to the variant product’s supercategories list.
Hybris uses supercategory field for product variant modeling (in addition to the main purpose of this attribute, positioning the product in the product hierarchy).
hybris uses supercategory differently for base products and variant products. For the base products this field tells hybris about allowed variant types. For the variant product it is a way of handling variant attribute values. For both product types this field is also used for assigning a product to regular categories (navigation, brands etc).