--- title: Catalog object types slug: n8of5561 canonical_url: https://docs.coveo.com/en/n8of5561/ collection: coveo-for-commerce source_format: adoc --- # Catalog object types A [catalog entity](https://docs.coveo.com/en/3143/) can contain three different types of [catalog object](https://docs.coveo.com/en/ncig0154/): _product_, _[variant](https://docs.coveo.com/en/mc7f0326/)_, and _[availability](https://docs.coveo.com/en/mc7e9096/)_. Each [item](https://docs.coveo.com/en/pa8f6515/) you add to a [Catalog source](https://docs.coveo.com/en/n8of0593/) must be categorized as of one of these three catalog objects. ![Products](https://docs.coveo.com/en/assets/images/coveo-for-commerce/images/products-variants.png) ## Product The _product_ object represents individual searchable products in your inventory. **Example** You have a product named "Coveo Soccer Shoes - Red." This product would be classified as a _product_ and would include product details such as its price, brand, and description. To learn how to configure your product data for indexing, see [Catalog product data](https://docs.coveo.com/en/m53g7119/). ## Variant In a [catalog entity](https://docs.coveo.com/en/3143/) featuring product [variants](https://docs.coveo.com/en/mc7f0326/), customers are presented with a range of displayable [products](https://docs.coveo.com/en/m53g7119/). However, when making a purchase, they can select a specific variation of that product. A variant can be seen as the _sellable_ version of a product. **Example** An online shoe store offers a product called `Coveo Soccer Shoes - Red`. These shoes are available in various sizes (6, 7, 8). Search results or PLPs showcase the `Coveo Soccer Shoes - Red` shoes, displaying the overall design and features, but if a user decides to make a purchase, they would need to specify the exact size they want, such as size US 7, making the `US-7` variant a _sellable_ version of the `Coveo Soccer Shoes - Red` product. Therefore, each size of the `Coveo Soccer Shoes - Red` product is considered a sellable _variant_ of that product. Note that you might have situations where you'll want to leverage product grouping to group items of the _product_ catalog object together to handle product variations. This would often be the case for _displayable_ variations of a product (for example, a product available in different colors). For more information about the difference between the _variant_ catalog object and product grouping, see [Catalog variant data and product groupings](https://docs.coveo.com/en/m53g0506/). This article also explains how to configure your variant data for indexing. ## Availability If your product offering differs depending on store availability, price lists, or anything that controls which user has access to certain products or variants, you can use the _availability_ object. For example, you would likely classify an item under _availability_ for each of your stores (for example, New-York, Chicago, Boston, etc) if you have many local stores which all have different inventories. To learn how to configure availability data for indexing, see [Catalog availability data](https://docs.coveo.com/en/m53g0124/). ## What's next? Once you've configured your _product_, _variant_, and _availability_ data and structured it in a JSON file, you can proceed to [push your catalog data to your source](https://docs.coveo.com/en/p48b0322/).