Concepts of the Catalog System

The Catalog System lets you create, manage, import, and export online catalogs by using the Catalog API. This section describes the concepts of the Catalog System. You should understand the concepts in this topic before you set up your catalogs.

Before you can use the Catalog API, you must understand Commerce Server Core Systems development tasks and concepts. To learn more about these tasks and concepts, see Developing with Commerce Server Core Systems.

You should also read and understand the topics in Getting Started. This section describes the features of Commerce Server Core Systems and the skills required to work with it.

Catalog Concepts

A catalog is a group of categories and products that you organize and present to your customers on a Web site. Catalogs provide customers access to descriptions of your products and services that you want them to buy.

The Catalog Schema

Your catalog is based on definitions that you create. The catalog schema contains three types of definitions: property definitions, category definitions, and product definitions. When you create a catalog, you must first create these definitions.

You first create the property definitions. A property describes a characteristic of a product or category, such as Name, Title, Color, and so on. A property can be used by multiple product definitions and category definitions and can be shared across catalogs. For example, if you have a catalog of clothing, you might create property definitions for Description, Display Name, Color, Size, and Image File Name. When you create a property, the property is added to the Commerce Server Core Systems database schema.

After you create the properties, you create the category and product definitions. A category definition describes the categories in your catalog. The definition is a collection of properties that specifies the information that is stored for the category. When you create a category definition, you add the property definitions to it. For example, your category definition might contain the properties Name, Description, and Image File Name.

A product definition describes the products in your catalog. The definition is a collection of properties that specifies the information that is stored for the product. When you create a product definition, you add the property definitions to it. For example, your product definition might contain the properties Display Name, Description, Color, and Size.

After you create product and category definitions, you can add new properties or edit existing ones. Typically, you create all definitions before you deploy your Web site.

For more information about how to create definitions, see Managing Catalog Definitions and Schema by Using the Catalog API.

Products, Variants, and Relationships

After you create product and category definitions, you can create products and add them to your catalog. Products are the sellable items in your catalog. When you create a product, you base it on a product definition.

You may have products that differ by only one or two properties. For example, suppose you have a clothing catalog with a category for shirts. A group of shirts may have the same description (soccer shirts) and manufacturer (Adventure Works), but have different sizes and colors. These products are product variants. In this example, you would create a product definition that has Normal properties "Description" and "Manufacturer" and Variant properties "Color" and "Size". A product that has variants is called a product family.

You can create relationships between products and categories in one or more catalogs. You can relate a product or a category in one catalog to a product or category in the same catalog or in a different catalog. For example, in a "Books" catalog, you can relate a book in a "Fiction" category to another by the same author in the "Biography" category. You can then display the related products to a customer.

For more information about how to create and use these catalog items, see Managing Products and Categories by Using the Catalog API.

Importing and Exporting Catalog Data

You can share information with business partners by importing and exporting catalog data. You might want to import a catalog if, for example, it was created on another computer system and you want to import it to your system. You might want to export a catalog if you are selling products wholesale and you want to export your catalogs to retailers. Catalog data is imported and exported as XML files. For more information about how to import catalog data see Importing Catalog Data by Using the Catalog API. For information about how to export catalog data see Exporting Catalog Data by Using the Catalog API.

Catalog Sets

You can determine which catalog a user sees on your site by creating catalog sets. A catalog set consists of one or more catalogs that you make available to different users or organizations. You can create and display different lists of catalogs for different users, based on each user's profile. For more information about how to create and use catalog sets see Managing Catalog Sets by Using the Catalog API.

Base Catalogs and Virtual Catalogs

Base catalogs contain categories, products, and product variants. Typically, you would have only one or two base catalogs, although you can create many. For more information about how to create and use base catalogs, see Managing Base Catalogs by Using the Catalog API.

After you create a base catalog, you can build virtual catalogs that reference the product data in your base catalogs. Virtual catalogs let you override the list price, display name, and rank properties of the base catalog. You can also override all custom properties.

Virtual catalogs let you aggregate content from one or more base catalogs. You can also build a virtual catalog by using another virtual catalog. Products in a virtual catalog are represented only one time in the database, regardless of how many virtual catalogs they appear in.

The primary uses for virtual catalogs are as follows:

  • To aggregate multiple catalogs so that they appear as one catalog to users.

  • To price products in multiple currencies.

  • To provide special pricing, or subsets of products, for specified groups of users.

Virtual catalogs have inclusion and exclusion rules that define how you include or exclude items from base catalogs or another virtual catalog. You can include or exclude a complete catalog, a category and all its descendants, or individual products and variants. When you define an inclusion rule on an item, all descendants of that item are included in the virtual catalog.

In a virtual catalog you can define pricing rules that apply to a category, product, or product variant. That is, you can specify whether the price for the category or product is the same or different as the price in the base catalog. You use the pricing rules to set a specific price, add an additional amount to the current price, add a percentage to the current price, or subtract a discount.

For more information about the concepts of virtual catalogs and how to create and use them, see Managing Virtual Catalogs by Using the Catalog API.

Inventory Concepts

The Catalog System allows for the real-time management of inventory for items in your catalogs. This section describes the inventory concepts of the Catalog System. You should understand the concepts in this topic before you setup your inventory catalogs.

An inventory catalog contains products and product variants from your product catalogs. The product catalog can be either a base catalog or a virtual catalog. When a product catalog is contained in an inventory catalog, it is said to be mapped to the inventory catalog. If a virtual catalog is not mapped to an inventory catalog, it takes the mapping of the base catalog. For example, if you create an inventory catalog from a base catalog and then create a virtual catalog from the base catalog, the virtual catalog and the base catalog are both mapped to the inventory catalog.

An inventory catalog can contain products from multiple product catalogs. But a product catalog can be mapped to only one inventory catalog.

The Catalog System supports import and export of inventory data. This allows you to extract data to an XML file or data stream and import data from an XML file or data stream. For more information about how to import inventory data, see Importing Inventory Data. For more information about how to export inventory data, see Exporting Inventory Data.

SKU Concepts

Before you use the Catalog System you should understand the terms and concepts that the following table lists. For information about how the Catalog System computes the condition of SKUs, see Determining a SKU Condition.

Term

Definition

Backorder

The ability to order a SKU that is currently sold out, but will be available in the future. If a product or variant is considered on back-order by the Catalog System it may not be shown, or be shown as back-ordered and unavailable, or back-ordered but still available to order. Also, an expected availability date may be displayed.

Dd451271.alert_note(en-us,CS.95).gifNote:
A SKU may be back-orderable but may not be on back-order if the OnHand Quantity is more than the Effective Stockout Threshold.

Backorderable

A SKU that can be back-ordered; that is an order can be placed even if the OnHand Quantity is less than the Effective Stockout Threshold. Back-ordering occurs for items that are already selling and have gone out of stock.

BackorderAvailabilityDate

The earliest date when the back-ordered SKU will be available for shipping.

Backordered

A value of the InventoryCondition enumeration. The SKU is back-ordered. If a product or variant is back-ordered it may not be shown, or be shown as back-ordered and unavailable or back-ordered but still available to order.

BackorderedQuantity

The number of units that have been back-ordered.

BackorderLimit

The value below the Effective Stockout Threshold beyond which it is not prudent to take back-orders. Back-ordering cannot occur beyond this value. This is to restrict overselling and prevent failure to fulfill an order.

If an item is pre-orderable and also back-orderable, the Preorder Limit is used first and then the Backorder Limit is used.

Effective Stockout Threshold

This is the value of Stockout Threshold if Floor Is Stockout Threshold is true.

Stockout Threshold may apply based on the resource setting for the parameter Floor Is Stockout Threshold.

ExcessOnHandQuantity

The value above which the inventory is in excess.

Floor Is Stockout Threshold

A site level setting that overrides the Stockout Threshold value of each product. If true, the Effective Stockout Threshold for each product is the Stockout Threshold. If false, the Effective Stockout Threshold for all the products is overridden to be 0.

The default is true.

InStock

A value of the InventoryCondition enumeration. The SKU is in stock to meet the request. If the product or variant is considered In Stock by the Catalog System, it is always displayed, and may also show a quantity remaining.

LastModified

Date that the SKU was last changed. This property is maintained by the system.

LastRestocked

Date when the inventory was last restocked. This property is maintained by the user.

OnHand Quantity

Quantity

The quantity of product in inventory that is available to be sold per SKU.

OutOfStock

A value of the InventoryCondition enumeration. When a SKU can no longer be sold because of quantity conditions, being disabled, or if it is missing (depending on the site configuration).

If the product or variant is considered out of stock by the Catalog System, it may not be shown, or it might be shown as being out of stock. In this case, the Catalog System could display a list of suggested alternatives by using the Related Products feature of the product catalog.

Preorder

The ability to order a SKU that is currently not available for delivery. If a product or variant is considered pre-orderable by the Catalog System, it is always displayed and can be purchased on the site. You do this because there is a certain quantity that will become available at a later date. Also, expected availability date may be displayed.

Dd451271.alert_note(en-us,CS.95).gifNote:
A SKU may be pre-orderable but may not at that time be on preorder if the OnHand Quantity is more than the Effective Stockout Threshold.

Preordered

A value of the InventoryCondition enumeration. The SKU is pre-ordered. If a product is pre-ordered, it is always displayed and can be purchased on the site.

Preorderable

The SKU can be pre-ordered; that is an order can be placed even if the OnHand Quantity is less than the Effective Stockout Threshold. Pre-ordering occurs for items that have never been in stock.

PreorderAvailabilityDate

The earliest date when the pre-ordered SKU will be available for shipping.

PreorderedQuantity

Cumulative quantity preordered to this point for the SKU. Tracking this is important for comparisons with the Preorder Limit. This is a computed value.

If Preorder Limit and OnHand Quantity are less than zero, the Preordered Quantity is the smaller of these two.

PreorderLimit

The value below the Effective Stockout Threshold beyond which it is not prudent to take pre-orders. Pre-ordering cannot occur beyond this value. This is to restrict overselling and prevent failure to fulfill an order.

Regular SKU

A SKU that is neither back-orderable or pre-orderable is called a regular SKU. This is a computed attribute of the SKU.

ReorderPoint

Reorder Point (ROP) Quantity.

If the OnHand Quantity falls below the Reorder Point, it indicates the inventory should be replenished from the vendor.

SKU (data)

Inventory data for a single directly sellable product or a variant.

Stock Handling

A site level setting that overrides the Backorderable and Preorderable properties of each SKU. If this value is 0, there is no special handling and no back ordering for the SKU. If this value is 1, use the Backorderable and Preorderable properties to determine back-order/pre-order handling for the SKU.

The default is 0.

StockOutThreshold

A value that the SKU quantity must be above or equal to for the SKU item to be considered in stock. For example, the value can be one or zero. Usually the value is low. This value is frequently kept at one so that the item appears to be in stock, because if the inventory is zero, some systems will not show the item itself, therefore losing potential back-order sales.

TargetQuantity

The amount of inventory you want to keep based on buying patterns.

Site Resource Properties

The following table describes the properties of the inventory site resource.

Property

Resource Name

Definition

Display Backordered Items

f_display_bo_skus

Specifies the filtering criteria for SKUs that are back-ordered.

Display Out of Stock Items

f_display_oos_skus

Specifies the filtering criteria for SKUs that are out of stock.

Display Preordered Items

f_display_preordered_skus

Specifies the filtering criteria for SKUs that are pre-ordered.

Ignore Missing SKUs

f_ignore_missing_skus

Indicates whether missing inventory SKUs should be treated as in stock or out of stock.

Record Inventory Deltas

f_record_inventorydeltas

Controls recording of the quantity decrements when buyers purchase items on the site or return items.

Stock Handling

i_stock_handling

Specifies the way in which the stock is handled in the site.

Use stockout threshold for floor

f_floor_is_stockout_threshold

The threshold value to be used across the site.

See Also

Other Resources

Developing with the Core Catalog System