# Product Types

Products are the core elements of any e-commerce platform, representing items offered for sale. In Omnitron, product types are categorized to simplify inventory management, sales configurations, and customer experiences. Products can be sold as individual items, grouped together, or customized through various configurations. This structure helps meet diverse business needs while ensuring flexibility and scalability.

Omnitron supports the following product types:

* **Simple Product**: Individual product with a single SKU.
* **Meta Product**: A virtual grouping of related products.
* **Grouped Product**: Predefined groups of simple products sold together.
* **Bundle Product**: Customizable product combinations.
* **Miscellaneous Product**: Non-standalone items used in bundles or as supplementary items.
* **Offer Product:** Sellers’ salable products for marketplaces.

Each product type is represented with the enumeration:

<table><thead><tr><th width="217.1484375">Key</th><th width="143.06640625">Value</th></tr></thead><tbody><tr><td><code>simple</code></td><td>0</td></tr><tr><td><code>product_meta</code></td><td>1</td></tr><tr><td><code>bundle</code></td><td>2</td></tr><tr><td><code>grouped</code></td><td>3</td></tr><tr><td><code>miscellaneous</code></td><td>4</td></tr><tr><td><code>offer</code></td><td>5</td></tr></tbody></table>

## <mark style="color:red;">1. Simple Product​</mark> <a href="#id-1-simple-product" id="id-1-simple-product"></a>

A **Simple Product** is a basic unit in the catalog, representing a single item with its unique SKU. It is ideal for products that do not require additional configurations or customizations. Key features are:

* **Unique SKU**: Each simple product is assigned a unique SKU for identification and inventory tracking.
* **Variation Support**: Simple products often include an attribute set (e.g., size, color) that allows them to be sold as variations of the same base product.
* **Relationship with Meta Product**: A meta product is automatically generated as the parent entity for simple products sharing the same base code, provided that the attribute set configuration includes an attribute with `is_variant` set to `true`. This ensures that related product variations are grouped under the same meta product.

#### **Example Scenario​**

* **Product Name**: T-shirt A
* **Attributes**:
  * Size: XL
  * Color: Blue
* **SKU:** `SK01`
* **Base Code:** `BC01` (Same with Meta Product)

### <mark style="color:red;">Create a Simple Product​</mark> <a href="#create-a-simple-product" id="create-a-simple-product"></a>

Navigate to the **Product Pool** page in Omnitron.

Click the **+New Product** button located in the top-right corner of the page.

Select **Add Simple Product** as the product type.

<figure><img src="/files/9taJVPpHPEydr7mUBB3T" alt=""><figcaption></figcaption></figure>

Enter the following required fields for the product:

* **Product Name**: The name of the simple product.
* **Base Code**: A shared identifier used for grouping related product variations.
* **SKU**: The unique stock-keeping unit for the product.
* **Product Type:** Select the Simple.
* **Attribute Set:** Select the attribute set that best matches the product.
  * This selection determines the attributes available for the product.
  * All attributes linked to the selected set will be displayed further down the page for additional input.
* **Listing Code**: A field that stores the value of the `is_variant_listable` attribute for variant products, indicating whether the variant can be listed independently.
* **Status**: Specify whether the product is active or inactive.

Click the **SAVE** button.

<figure><img src="/files/XUyRCl0BgiN8mSZReNyt" alt=""><figcaption></figcaption></figure>

## <mark style="color:red;">2. Meta Product​</mark> <a href="#id-2-meta-product" id="id-2-meta-product"></a>

A **Meta Product** is a **virtual entity** that groups simple products with a common base code. It serves as the parent product and is not sold directly to customers. Key features are:

* **Relationship with Simple Products**: Meta products connect and organize multiple simple products under a single entity for easier management.
* **Automatic Creation**: A meta product is automatically generated when a simple product is created, provided that the attribute set configuration includes an attribute with `is_variant` set to `true`. This ensures that related product variations are grouped under the same meta product.
* **Base Code Management**: The base code of a meta product is the same as its child simple products.

#### **Example Scenario​**

* **Scenario**: A store sells t-shirts in various sizes and colors.
* **Meta Product**: T-shirt (SKU:`BC01` Base Code: `BC01`)
  * Simple Product 1: T-shirt A (Size: XL, Color: Blue, SKU: `SK01` Base Code: `BC01`)
  * Simple Product 2: T-shirt B (Size: L, Color: Blue, SKU: `SK02` Base Code: `BC01`)
  * Simple Product 3: T-shirt C (Size: XL, Color: Green, SKU: `SK03` Base Code: `BC01`)

<figure><img src="/files/SHhuTQWCCtW2kvFCSBDE" alt=""><figcaption><p>Figure 1: Relationship between Meta Product and Simple Product</p></figcaption></figure>

### <mark style="color:red;">Create a Meta Product​</mark> <a href="#create-a-meta-product" id="create-a-meta-product"></a>

Navigate to the **Product Pool** page in Omnitron.

Click the **+New Product** button located in the top-right corner of the page.

Select **Add Meta Product** as the product type.

<figure><img src="/files/ba6qq9jXNwMFaA4XGOuL" alt=""><figcaption></figcaption></figure>

Enter the following required fields for the product:

* **Product Name**: The name of the meta product.
* **Base Code**: A shared identifier used for grouping related product variations.
* **SKU**: The unique stock-keeping unit for the product.
* **Product Type:** Select the Meta.
* **Attribute Set:** Select the attribute set that best matches the product.
  * This selection determines the attributes available for the product.
  * All attributes linked to the selected set will be displayed further down the page for additional input.
* **Listing Code**: A field that stores the value of the `is_variant_listable` attribute for variant products, indicating whether the variant can be listed independently.
* **Status**: Specify whether the product is active or inactive.

Click the **SAVE** button.

#### **Managing Product Variants​**

Once the meta product is saved, the **Same Model Simple Products** table at the bottom of the page will automatically display potential child products that share the same base code.

<figure><img src="/files/RfvaiUyA3KNP9WhUujv1" alt=""><figcaption></figcaption></figure>

**Converting Potential Child Products into Variants:**

To designate potential child products as official child variants:

1. Select the checkboxes for the relevant products in the **Same Model Simple Products** table.
2. From the **Select Action** dropdown, choose **Convert to Variant**.
3. Click **Apply**.

<figure><img src="/files/3vgJwsrYqWjChp0FoHQ9" alt=""><figcaption></figcaption></figure>

The selected products will move to the **Product Variants** table, establishing them as child variants of the meta product.

<figure><img src="/files/nLzBKOLYK4wgyNtGy94e" alt=""><figcaption></figcaption></figure>

**Converting Variants Back to Simple Products:**

If needed, you can revert product variants back to potential child products:

1. Select the checkboxes for the relevant products in the **Product Variants** table.
2. From the **Select Action** dropdown, choose **Convert to Simple Product**.
3. Click **Apply**.

<figure><img src="/files/s66lJCVQNQcjLfnnBb5t" alt=""><figcaption></figcaption></figure>

The selected products will return to the **Same Model Simple Products** table, disconnecting them from the meta product.

<figure><img src="/files/L1EgIVER3ylPp6wZrpIb" alt=""><figcaption></figcaption></figure>

**Updating Connected Products:**

To apply changes made to a meta product’s attributes or local fields to its connected child products:

1. Select the checkboxes for the relevant products in the **Product Variants** table.
2. From the **Select Action** dropdown, choose **Update Connected Product**.
3. Click **Apply**.

<figure><img src="/files/3iQlXEnIqkX85DtxZaD4" alt=""><figcaption></figcaption></figure>

This ensures that any modifications to the meta product are reflected in its associated variant products.

For this functionality to work properly, two Omnitron Dynamic Settings must be configured:

1. `PRODUCT_UPDATABLE_CHILD_LOCAL_FIELDS` This setting determines which child product fields can be updated when changes are made to the meta product. It allows specific local fields (e.g., name, listing\_code) to be synchronized across connected meta products. By defining the fields that are updatable, you can control which data points are inherited from the meta product.
2. `PRODUCT_UPDATABLE_CHILD_ATTRIBUTES` This setting specifies which child product attributes can be updated. Attributes such as color, size, or material can be synchronized across child products when modifications are applied to the meta product.

## <mark style="color:red;">3. Grouped Product​</mark> <a href="#id-3-grouped-product" id="id-3-grouped-product"></a>

A **Grouped Product** consists of multiple simple products that are presented together but can be added to the basket individually in any desired quantity, allowing customers to form a group of simple products based on their preferences. This type is often used for promotions, upselling, or creating convenient shopping options for customers. Key features are:

* **Combination of Simple Products**: Groups several simple products under one package.
* **Flexible Offers**: Often used for creating customized groups such as gift sets, or pre-configured groups that suit a variety of customer needs.
* **Customizable Quantities**: Customers can select and add any desired quantity of each simple product to their basket, tailoring their purchase to their specific requirements.

#### **Example Scenario​**

* **Scenario**: A suit package.
  * Jacket (SKU: `JKT01`)
  * Pants (SKU: `PNT02`)
  * Shirt (SKU: `SRT03`)
  * Tie (SKU: `TIE04`)
* **Grouped Product**: Suit Package (SKU: `SP01`)

<figure><img src="/files/W0nMJhhnhD5neGl1WNw6" alt="" width="563"><figcaption><p>Figure 2: Relationship between Grouped Product and Simple Products</p></figcaption></figure>

### <mark style="color:red;">Create a Grouped Product​</mark> <a href="#create-a-grouped-product" id="create-a-grouped-product"></a>

Navigate to the **Product Pool** page in Omnitron.

Click the **+New Product** button located in the top-right corner of the page.

Select **Add Grouped Product** as the product type.

<figure><img src="/files/xoXoz52V3qOrvEZJyLr2" alt=""><figcaption></figcaption></figure>

Enter the following required fields for the product:

* **Product Name**: The name of the grouped product.
* **Base Code**: A shared identifier used for grouping related product variations.
* **SKU**: The unique stock-keeping unit for the product.
* **Product Type:** Select the Grouped.
* **Attribute Set:** Select the attribute set that best matches the product.
  * This selection determines the attributes available for the product.
  * All attributes linked to the selected set will be displayed further down the page for additional input.
* **Listing Code**: A field that stores the value of the `is_variant_listable` attribute for variant products, indicating whether the variant can be listed independently.
* **Status**: Specify whether the product is active or inactive.

Click the **SAVE** button.

<figure><img src="/files/7IcexHRynZLkGIFkX9yS" alt=""><figcaption></figcaption></figure>

At the bottom of the page, navigate to the **Choose Products to Group** area and select the simple products you wish to group.

From the **Actions** dropdown, select **Group Selected Products**.

Click the **Apply** button to assign the selected products to the **Grouped Products** section.

<figure><img src="/files/2ZWgntzWEZuMQj7jYpsf" alt=""><figcaption></figcaption></figure>

The added products are displayed in the "Grouped Products" section.

The sorting order of these grouped products can be adjusted using the **Sorting** parameter. This parameter determines the sequence in which the products are shown in the shop.

A value of 0 is considered the highest priority, meaning that products with a sorting value of 0 will be displayed first, followed by other products based on their sorting values.

<figure><img src="/files/r2dhLo2mvSM9uf8BmlRO" alt=""><figcaption></figcaption></figure>

Additionally, the **Quantity** parameter specifies the default quantity of a simple product that will be shown before the product is added to the basket as part of a grouped product. On the shop page, this quantity can be adjusted by the user, allowing them to increase or decrease it according to their preference.

For example, if a simple product has its quantity set to 1, this value will be displayed as the default quantity before the product is added to the basket.

<figure><img src="/files/PJnNq1W5FxS8XocmThTK" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
After setting the **Sorting** and **Quantity** parameters, the changes must be saved by clicking the **SAVE** button for them to take effect.
{% endhint %}

## <mark style="color:red;">4. Bundle Product​</mark> <a href="#id-4-bundle-product" id="id-4-bundle-product"></a>

A **Bundle Product** allows customers to create a personalized product by selecting from multiple options or components. This product type is designed to enhance user experience and provide flexibility in product offerings. Key features are:

* **Customization**: Customers can choose from various options (e.g., design, features, accessories).
* **Bundle Chapters**: Bundles are structured into chapters, each containing multiple items or options.
* **Unlimited Items**: There is no limit to the number of items in a bundle chapter.

#### **Structure​**

* **Main Product**: Bundle Product
* **Components**: Miscellaneous Products (It will be detailed in the next section with example scenarios.)
* **Optional Default Item**: A default miscellaneous product can be preselected.

### <mark style="color:red;">Create a Bundle Product​</mark> <a href="#create-a-bundle-product" id="create-a-bundle-product"></a>

Navigate to the **Product Pool** page in Omnitron.

Click the **+New Product** button located in the top-right corner of the page.

Select **Add Bundle Product** as the product type.

<figure><img src="/files/vojnV8iOrUyzQ1VDVoTA" alt=""><figcaption></figcaption></figure>

Enter the following required fields for the product:

* **Product Name**: The name of the bundle product.
* **Base Code**: A shared identifier used for grouping related product variations.
* **SKU**: The unique stock-keeping unit for the product.
* **Product Type:** Select the Bundle.
* **Attribute Set:** Select the attribute set that best matches the product.
  * This selection determines the attributes available for the product.
  * All attributes linked to the selected set will be displayed further down the page for additional input.
* **Listing Code**: A field that stores the value of the `is_variant_listable` attribute for variant products, indicating whether the variant can be listed independently.
* **Status**: Specify whether the product is active or inactive.

<figure><img src="/files/EKFdc1ZtRH9UZJQtvmTo" alt=""><figcaption></figcaption></figure>

## <mark style="color:red;">4.1. Miscellaneous Product​</mark> <a href="#id-41-miscellaneous-product" id="id-41-miscellaneous-product"></a>

A **Miscellaneous Product** is a secondary product type not intended for standalone sales. It is primarily used as a component in bundles or as an accessory to other products.

* **Not Standalone**: Cannot be sold individually.
* **Supplementary Role**: Supports bundle products or serves as an add-on.
* **Flexible Use**: Often used for items like packaging, accessories, or non-primary products.

#### **Example Scenario​**

Selling a customizable gaming PC.

* Bundle Product Name: Gaming PC
* Bundle Product SKU: GP01
* Bundle Product Base Code: GP01
* **Bundle Chapters** (Product Customization Steps):
  * Chapter 1: Processor
    * Miscellaneous Product 1: Intel (SKU: P01, Base Code:P01)
    * Miscellaneous Product 2: AMD (SKU: P02, Base Code:P02)
  * Chapter 2: Graphics Card
    * Miscellaneous Product 1: NVIDIA
    * Miscellaneous Product 2: AMD
  * Chapter 3: RAM
    * Miscellaneous Product 1: 8GB
    * Miscellaneous Product 2: 16GB
    * Miscellaneous Product 3: 32GB

<figure><img src="/files/ScekQ3bl5fgxyJrO4rym" alt="" width="563"><figcaption><p>Figure 3: Relationship between Bundle Products and Miscellaneous Products</p></figcaption></figure>

{% hint style="warning" %}

* The order of bundle chapters must be defined when more than one is used.
* Default selections can improve user convenience.
  {% endhint %}

### <mark style="color:red;">Create a Miscellaneous Product​</mark> <a href="#create-a-miscellaneous-product" id="create-a-miscellaneous-product"></a>

Navigate to the **Product Pool** page in Omnitron.

Click the **+New Product** button located in the top-right corner of the page.

Select **Add Miscellaneous Product** as the product type.

<figure><img src="/files/lHfnqMfE0TuZfkXNaI5U" alt=""><figcaption></figcaption></figure>

Enter the following required fields for the product:

* **Product Name**: The name of the miscellaneous product.
* **Base Code**: A shared identifier used for grouping related product variations.
* **SKU**: The unique stock-keeping unit for the product.
* **Product Type:** Select the Miscellaneous.
* **Attribute Set:** Select the attribute set that best matches the product.
  * This selection determines the attributes available for the product.
  * All attributes linked to the selected set will be displayed further down the page for additional input.
* **Listing Code**: A field that stores the value of the `is_variant_listable` attribute for variant products, indicating whether the variant can be listed independently.
* **Status**: Specify whether the product is active or inactive.

Click the **SAVE** button.

<figure><img src="/files/818oHXToTFTxE1F4Wq1k" alt=""><figcaption></figcaption></figure>

After ensuring that miscellaneous products have been **created for each bundle product chapter (step)**, return to the bundle product detail page you created in the previous section.

From the product customization steps section on this page, you need to **create a chapter (step) for each bundle chapter**.

<figure><img src="/files/vzQwJdkPuZrtHGUSGVCF" alt=""><figcaption></figcaption></figure>

Enter the following required fields for the chapter:

* **Name**: The display name of the chapter (step), which will be visible in the Bundle Product configuration and helps identify the specific chapter (step).
* **Slug**: An identifier for the chapter (step), typically generated based on the name. It must be unique.
* **Is Form Field Required**: Indicates whether the fields associated with this chapter (step) are mandatory. If set to "Yes", users must fill in the corresponding form fields during customization.
* **Is Form Required:** Specifies whether the chapter (step) itself requires a form for customization. If set to "true", a form must be provided and configured for this chapter (step).
* **Attribute Set:** Defines the group of attributes associated with the chapter (step). These attributes dictate the available options and settings for customizing the bundle chapter (step).

Click the **SAVE** button.

<figure><img src="/files/D9mWF4Bx5HWTDUB3KovZ" alt=""><figcaption></figcaption></figure>

At the bottom of the created chapter (step), there is a **Product Pool** section. This section is where the previously created miscellaneous products will be assigned as components of the chapter (step). To assign products to the chapter (step), click the **+New Product** button.

<figure><img src="/files/kpbr0QSS4lqnCAy21Nuj" alt=""><figcaption></figcaption></figure>

Select the miscellaneous products you want to assign to the chapter (step), and then click the **+ Add Selected Products to Chapter** button to assign the products to the chapter (step).

{% hint style="warning" %}
Miscellaneous products that have identical attribute set values, as defined within the relevant bundle chapter (step), are presented in the **List of Products Available**.
{% endhint %}

<figure><img src="/files/4zL1UPQIa0hSjzTNhxAZ" alt=""><figcaption></figcaption></figure>

The products you assigned will appear in the chapter’s product pool. You can add or remove miscellaneous products at any time.

<figure><img src="/files/QiLeC7RJGmDxOki8ueFh" alt=""><figcaption></figcaption></figure>

To select a default one from among the miscellaneous products, click on the circle on the default column. The circle color changes to green, indicating that the default product is selected.

This means that the miscellaneous product is pre-selected for the user as soon as they begin customization. This default selection simplifies the customization process by eliminating the need for the user to manually choose the customization option.

<figure><img src="/files/CXZ5o0LvlhANnxoW45rC" alt=""><figcaption></figcaption></figure>

It is possible to sort steps added within each other. By holding down the double-headed arrow at the beginning of each step and moving the mouse up or down, the desired order is achieved, allowing for a new arrangement.

<figure><img src="/files/8h2Z5d7SJWXcLJZvlBBC" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
Ensure that the same processes are followed and completed for each chapter, maintaining consistency across all sections.
{% endhint %}

## <mark style="color:red;">5. Offer Product​</mark> <a href="#id-5-offer-product" id="id-5-offer-product"></a>

An Offer Product is a specialized product type tailored for use within marketplaces, designed to represent salable products provided by multiple sellers. When an offer exists under a Simple Product, the item added to the basket becomes an Offer Product. It ensures consistency across the marketplace catalog while allowing sellers to customize key attributes to meet their business needs. By leveraging the Akinon Seller Center application, brands operating as marketplaces can efficiently manage seller-provided items.

Key features are:

* **Marketplace Focus**: Offer Products are exclusively used in marketplaces and managed via the Akinon Seller Center.
* **Derived from Simple Products**: Offer Products share the same base code as their corresponding Simple Products, ensuring consistency across the catalog.
* **Seller-Specific Attributes**: The `is_offer` parameter is a flag stored on specific attributes of a product. When `is_offer` is set to `true` for an attribute, it allows seller-specific configurations for that attribute. However, when `is_offer` is `false`, the attribute remains tied to the **Simple Product** and cannot be customized for individual sellers.
* **Use Cases:** Offer Products are ideal for scenarios where:
  * A single product is offered by multiple sellers with different configurations or conditions.
  * Bulk purchase or wholesale options are provided with seller-defined minimum order quantities.
  * Marketplace operators need granular control over seller-specific inventory, pricing, and sales rules.

#### **Example Scenario​**

Two sellers offer a bulk purchase option for a simple product. The table below showcases how Offer Products work when two sellers offer variations of the same simple product (T-shirt C):

<table><thead><tr><th width="415.9765625"></th><th width="177.55078125">Seller X</th><th>Seller Y</th></tr></thead><tbody><tr><td><strong>Product Name</strong></td><td>T-shirt C</td><td>T-shirt C</td></tr><tr><td><strong>Size</strong></td><td>XL</td><td>XL</td></tr><tr><td><strong>Color</strong></td><td>Green</td><td>Green</td></tr><tr><td><strong>SKU</strong></td><td>SLX (Unique)</td><td>SLY (Unique)</td></tr><tr><td><strong>Base Code</strong></td><td>BC01 (Same as Simple Product)</td><td>BC01 (Same as Simple Product)</td></tr><tr><td><strong>Attribute: Minimum Quantity</strong> [<code>is_offer: true</code> flag must be set for it to be customizable at the seller level, allowing different values for each seller (e.g., Seller X: 5 units, Seller Y: 75 units)].</td><td>5</td><td>75</td></tr></tbody></table>

<figure><img src="/files/sZWG774UiwIDOJACKbMP" alt=""><figcaption><p>Figure 4: Relationship between Meta Product, Simple Product, and Offer Product</p></figcaption></figure>

**Breakdown of Scenario:**

1. **Shared Base Code**:
   * Both sellers use **BC01** as the Base Code, ensuring that their Offer Products (T-shirt C in Green, Size XL) inherit the core specifications of the original Simple Product.
2. **Unique Seller Identifiers (SKU)**:
   * Seller X assigns the SKU **SLX**, while Seller Y uses **SLY**. This allows the system to distinguish between their offerings.
3. **Custom Minimum Quantities**:
   * Seller X configures a **minimum sale quantity of 5 units**, targeting small bulk buyers.
   * Seller Y sets a higher **minimum sale quantity of 75** **units** to attract larger bulk purchasers.

**Relationships Between Product Types:**

* Offer Products derive their structure from Simple Products but are managed independently to address the needs of marketplaces. Simple Products serve as the parent for Offer Products.
* Meta Products remain the parent entities, organizing both Simple Products and their derived Offer Products.

### <mark style="color:red;">Create an Offer Product​</mark> <a href="#create-an-offer-product" id="create-an-offer-product"></a>

For detailed steps on creating and managing Offer Products in the Seller Center application, refer to the [Seller Center Offer Actions Documentation](/tutorials/seller-center/seller/products/how-to-use-offer-actions-in-seller-center.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.akinon.com/technical-guides/omnitron/product-types.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
