Catalog assets information model diagram description

This diagram shows the relationship between the following objects:

Catalog

The Catalog object representing the top of a catalog tree is associated to StoreEntity objects to show its relationship with stores.

StoreEntity

StoreEntity objects represent the store that the Catalog, CatalogGroup, and CatalogEntry objects are associated with.

CatalogGroup

CatalogGroup objects represent the categories in a catalog tree. The catalog groups can be at the top level of the tree or they can be nested as subCatalogGroups. Each Catalog contains root CatalogGroups, which contain subCatalogGroups.

CatalogEntry

CatalogEntry objects are contained by CatalogGroups. Each CatalogGroup can contain catalog entries. These CatalogEntry objects can be an Item, Product, Package, DynamicKit, or Bundle object.

Item

An Item object is a type of CatalogEntry object that represents the smallest orderable unit. Items are also called SKUs. Items are defined by AttributeValues.

Product

A Product object is a type of CatalogEntry object that represents an abstract unit of sale. Products need to be resolved into items prior to adding them to a shopping cart.

DynamicKit

A DynamicKit is a type of CatalogEntry object that represents a configurable product.

Bundle

A Bundle is a type of CatalogEntry object that serves as a container for other catalog entries. Bundles are created for merchandising purposes.

Package

A Package is a type of CatalogEntry object that serves as a container for other catalog entries. Packages are created for merchandising purposes. The constituents of a package must be sold as a unit and cannot be modified.

Attribute

Attribute objects describe catalog entries. Products typically have one or more defining attributes that describe them.

AttributeValue

AttributeValue objects provide the values for an attribute. Items are defined by a set of attribute values.

PackageAttribute

PackageAttribute objects describe Package catalog entries. Packages typically have one or more defining package attributes that describe them.

PackageAttributeValue

PackageAttributeValue objects provide the values for a package attribute. Fully resolved packages are defined by a set of package attribute values.