A product catalogue is a means of collecting products and presenting them to users. They utilize a hierarchical level structure, referred to as the table of contents, to organize the products within them.
Product catalogues have the following attributes:
- Code – Every product catalogue must have a unique code to distinguish it from other product catalogues. These codes are rarely (if ever) presented to users of the catalogue. Internally, a project uses a combination of the catalogue code and the catalogue version to distinguish catalogues.
- Name – Product catalogues may be named. This name is what will be presented to the user when catalogues are shown. Note that if the project the catalogue belongs to has multiple languages enabled, a description may be set for every language enabled.
- Description – Catalogues may have a brief description. This is displayed to users when the catalogue is viewed in detail. Note that if the project the catalogue belongs to has multiple languages enabled, a description may be set for every language enabled.
- Version – Catalogues are required to have a version. But the use and meaning of the version are largely dependent on the designer of the catalogue. Internally, a project uses a combination of the catalogue code and the catalogue version to distinguish catalogues.
- Leadtime Program – Catalogues may have a leadtime program assigned to them. If a leadtime program is assigned, it will act as a restriction upon products that are included in the catalogue. No product may exist in the catalogue with a leadtime longer than that of the catalogue. For more information on leadtime programs, see the section covering them.
- Effective Date – Catalogues may specify a date for which the catalogue will become active.
- Expiration Date – Catalogues may specify a date for which they will no longer be active.
- Active Price Lists – Catalogues must specify what price lists should be used by products contained within it. It is valid for member products to have prices set for other price lists, but those prices will not be available when the products are referenced from this catalogue.
- Default Price List – Catalogues must specify which of the price lists will be used by default.
The table of contents is a branching tree of product levels and product references. Product levels are the means by which products are organized in a table of contents. A level may represent a product line, or a group of similar-sized products, or whatever else makes sense to the catalogue’s designer. A product level may contain other product levels, creating a hierarchy of levels, as well as product references. A product level has the following attributes:
- Description – This is how the product level will appear when presented to the user. If the project that the catalogue belongs to has multiple languages enabled, then descriptions may be set for every language that is enabled.
- Exchange Rate / Multiplier – This is a multiplier that is applied to all products referenced ‘beneath’ the product level. When determining the final price of a product, the product’s price is multiplied by this value. Note that multipliers are cumulative; if multiple product levels in a hierarchy have multipliers set, then they will each be applied to the products underneath them.
- Currency Rounding – This determines how the final price of a product is rounded. When determining how a product’s price should be rounded, all product levels that contain the product reference, as well as the rounding set by the price list in question, are considered. The rounding of the least value is always used.
- UI Level – This value is currently unused by CET. However, in the future, it will be used to determine how a product level appears when the catalogue is viewed.
Product references are used to include a product in a catalogue. They have the following attributes:
- Vendor Reference – This is only applicable if the project the catalogue belongs to has vendors enabled. Note that a single catalogue may include products from multiple vendors.
- Reference – A reference, made by means of a product’s code, to a product.
- Description – A product reference may set descriptions for the product it references. If descriptions are set, they will be displayed to the user instead of the product’s descriptions. Otherwise, the product’s descriptions are used. If the project the catalogue belongs to has multiple languages enabled, descriptions may be set for every language enabled.
- Enterprise Reference – The OFDA XML schema specifies that a catalogue must reference the enterprise that it pertains too. However, with CET’s implementation, catalogues are ‘owned’ by an enterprise, so a reference is not necessary.