# Products

A product is an item offered for sale.  Eshopbox app lets you configure following type of products:

* *Base*: A Single product.
* *Virtual Combo*: Two or more products that are stored as individual units but packed at the time of order processing.
* *Kit*: Two or more products that are physically packed together and kept in stock as one unit.

## The `Product` Object

{% tabs %}
{% tab title="Attributes" %}

| Attributes         | Type                                                                                                        | Description                                                                                                       |
| ------------------ | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| `esin`             | `string`                                                                                                    | Unique code created against a single sku, source: eshopbox                                                        |
| `parentEsin`       | `string`                                                                                                    | Unique code created for grouping multiple variants, source: eshopbox                                              |
| `sku`              | `string`                                                                                                    | A `SKU` is a unique code that identifies characteristics of each product, source: client                          |
| `additionalNames`  | [`object`](https://app.gitbook.com/@eshopbox-1/s/developer-doc/product/products#the-additionalnames-object) | Additional names of the product(`EAN`,`UPC`, `GTIN`, Others)                                                      |
| `type`             | [`string`](/eshopbox-developers/product/products.md#enum-type)                                              | Type of the product(Base, Kit, Virtual Combo) `Enum: Base, Virtual_combo, Kit`                                    |
| `availableOn`      | `array[string]`                                                                                             | List of sales channel on which this product is available.                                                         |
| `vertical`         | `string`                                                                                                    | Product category code                                                                                             |
| `verticalName`     | `string`                                                                                                    | Product category                                                                                                  |
| `brand`            | `string`                                                                                                    | Product brand name                                                                                                |
| `descritption`     | `string`                                                                                                    | Product description                                                                                               |
| `mrp`              | `number`                                                                                                    | Maximum retail price of product                                                                                   |
| `unitPrice`        | `number`                                                                                                    | Unit price of product                                                                                             |
| `dimesnsionLength` | `number`                                                                                                    | A characteristic of a product in terms of its length                                                              |
| `dimensionWidth`   | `number`                                                                                                    | A characteristic of a product in terms of its width                                                               |
| `dimensionHeight`  | `number`                                                                                                    | A characteristic of a product in terms of its height                                                              |
| `dimensionUnit`    | [`string`](/eshopbox-developers/product/products.md#enum-dimensionunit)                                     | Dimension unit `Enum: cm, m, mm, in`                                                                              |
| `weight`           | `number`                                                                                                    | Weight of a product without any packaging                                                                         |
| `weightUnit`       | [`string`](/eshopbox-developers/product/products.md#enum-weightunit)                                        | The Weight unit of the product `Enum: g, lb, kg, ml`                                                              |
| `components`       | [`object`](/eshopbox-developers/product/products.md#the-components-object)                                  | Unit of virtual combo and kit.It is null for base product                                                         |
| `tax`              | `string`                                                                                                    | Product tax                                                                                                       |
| `hsnCode`          | `string`                                                                                                    | It is used for the classification of goods in systematic and logical manner                                       |
| `taxCode`          | [`string`](/eshopbox-developers/product/products.md#enum-taxcode)                                           | Product tax code                                                                                                  |
| `groupCode`        | `string`                                                                                                    | It used for grouping of multiple `SKU`                                                                            |
| `imageUrl`         | `string`                                                                                                    | Product image : only https publicly accessible url                                                                |
| `specification`    | `array[string]`                                                                                             | <p>Nature(Specification) of product</p><p>like : Fragile, Dangerous, Liquid, A battery or contains one, Media</p> |
| `properties`       | [`object`](/eshopbox-developers/product/products.md#the-properties-object)                                  | Client defined attributes of product                                                                              |
| `status`           | [`string`](/eshopbox-developers/product/products.md#enum-status)                                            | Product status. `Enum:draft, active`                                                                              |
| `createdAt`        | `string`                                                                                                    | The time, at which the product is created.                                                                        |
| `updatedAt`        | `string`                                                                                                    | The time, at which the product is created.                                                                        |
| {% endtab %}       |                                                                                                             |                                                                                                                   |

{% tab title="Sample Object - Base Product" %}

```
{
    "type": "BASE",
    "sku": "73682939-172882-32",
    "groupCode": "73682939-172882",
    "vertical": "APL",
    "brand": "Kapas Kraft",
    "description": "Rust Regular Fit Bundi",
    "specification": [
        "Fragile",
        "Dangerous",
        "Liquid"
    ],
    "additionalNames": {
        "ean": "89027189271829",
        "upc": "87162143127",
        "gtin": "8276174829301",
        "others": [
            "57182_Brown_32"
        ]
    },
    "imageUrl": "https://cdn.filestackcontent.com/hdYluVCqSADCASjjjcuaeC",
    "mrp": 1499.0,
    "unitPrice": 799.0,
    "hsnCode": "6101112",
    "weight": 167.0,
    "dimensionLength": 5.0,
    "dimensionWidth": 5.0,
    "dimensionHeight": 5.0,
    "dimensionUnit": "cm",
    "status": "ACTIVE",
    "createdAt": "2020-03-06T10:33:42.000Z",
    "updatedAt": "2020-03-06T10:40:43.275Z",
    "esin": "STDXE3FMCZA",
    "parentEsin": "STDXE3FMCZA",
    "properties": [
        {
            "label": "season",
            "internalName": "season",
            "value": [
                "winter"
            ]
        },
        {
            "label": "fabric",
            "internalName": "fabric",
            "value": [
                "cotton",
                "silk"
            ]
        }
    ],
    "tax": [
        "5.0",
        "12.0"
    ],
    "taxCode": "ESBGST1",
    "weightUnit": "g",
    "verticalName": "Apparels",
    "availableOn" : [
        "CH1234"
    ]
}
```

{% endtab %}

{% tab title="Sample Object - Virtual combo" %}

```
{
    "type": "VIRTUAL_COMBO",
    "sku": "73682939-172882-32",
    "groupCode": "73682939-172882",
    "description": "Rust Regular Fit Bundi",
    "specification": [
        "Fragile",
        "Dangerous",
        "Liquid"
    ],
    "additionalNames": {
        "ean": "89027189271829",
        "upc": "87162143127",
        "gtin": "8276174829301",
        "others": [
            "57182_Brown_32"
        ]
    },
    "components": [
        {
            "sku": "73682939-1728878-30",
            "qty": 3
        }
    ],
    "mrp": 1499.0,
    "unitPrice": 799.0,
    "hsnCode": "6101112",
    "status": "ACTIVE",
    "createdAt": "2020-03-06T10:33:42.000Z",
    "updatedAt": "2020-03-06T10:40:43.275Z",
    "esin": "STDXE3FMCZA",
    "parentEsin": "STDXE3FMCZA",
    "properties": [
        {
            "label": "season",
            "internalName": "season",
            "value": [
                "winter"
            ]
        },
        {
            "label": "fabric",
            "internalName": "fabric",
            "value": [
                "cotton",
                "silk"
            ]
        }
    ],
    "tax": [
        "5.0",
        "12.0"
    ],
    "taxCode": "ESBGST1",
    "availableOn" : [
        "CH1234"
    ]
}
```

{% endtab %}
{% endtabs %}

### The `properties` object

| Attribute                   | Type     | Descriptions                                   |
| --------------------------- | -------- | ---------------------------------------------- |
| `properties[].label`        | `string` | The visible name for the property/custom-field |
| `properties[].internalName` | `string` | The unique name for the property/custom-field  |
| `properties[].value`        | `string` | The value for this property/custom-field       |

### The  additionalNames object

| Attributes                 | Type            | Descriptions                                                             |
| -------------------------- | --------------- | ------------------------------------------------------------------------ |
| `additionalNames[].ean`    | `string`        | `EAN` is used to identify a specific retail product type                 |
| `additionalNames[].upc`    | `string`        | `upc` identifies both the product and the vendor that sells the product. |
| `additionalNames[].gtin`   | `string`        | `GTIN` is an internationally recognized system for identifying products. |
| `additionalNames[].others` | `array[string]` | Any Name                                                                 |

### The components Object

| Attributes          | Type     | Descriptions                                                  |
| ------------------- | -------- | ------------------------------------------------------------- |
| `components[].sku`  | `string` | Virtual Combo and Kit component's SKU                         |
| `componensts[].qty` | `Number` | No. of units of a particular product in Virtual Combo and Kit |

### Enum: type&#x20;

| Options         | Descriptions                                                                                             |
| --------------- | -------------------------------------------------------------------------------------------------------- |
| `BASE`          | Defined as a single product                                                                              |
| `VIRTUAL_COMBO` | Group of two or more products, picked and packed at the time of shipment                                 |
| `KIT`           | Group of two or more products, physically packed together and kept as one unit at the fulfillment center |

### Enum: status

| Attributes | Descriptions                      |
| ---------- | --------------------------------- |
| `draft`    | Product is saved in draft status  |
| `active`   | Product is saved in active status |

### Enum: dimensionUnit

| Attributes | Descriptions |
| ---------- | ------------ |
| `cm`       | Centimeter   |
| `m`        | Meter        |
| `mm`       | Millimeter   |
| `in`       | Inch         |

### Enum: weightUnit

| Options | Descriptions |
| ------- | ------------ |
| `g`     | Gram         |
| `lb`    | Pounds       |
| `kg`    | Kilogram     |
| `ml`    | milliliter   |

### Enum: taxCode

| Options  | Descriptions               |
| -------- | -------------------------- |
| ESBGST1  | 5% if mrp < 1500, else 12% |
| ESBGST2  | 5% if mrp < 1000, else 18% |
| ESBGST3  | 0%                         |
| ESBGST4  | 0%                         |
| ESBGST5  | 18%                        |
| ESBGST7  | 5%                         |
| ESBGST9  | 12%                        |
| ESBGST10 | 3%                         |


---

# 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://eshop.gitbook.io/eshopbox-developers/product/products.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.
