Products

Estimated reading: 3 minutes 4 views

Introduction

Products are the main entity for the Catalog and Order Management, as they specify how an asset, order or agreement is created and customized.

A product can represent a Physical Product, a Service, a component for a physical product or service, or any other thing thant could be sold and/or configured.

Product Definition

The product definition is considered as all the different properties, relationships and attributes related to a product. All of them together makes up the product definition. Without them, the Product would only be a record with a Name and some other fields.

You can change the product definition at anytime you want, being able to edit the current version or even creating a new version (see next point).

The Product Definition is defined from the following properties/aspects: Entity Description Example/s
Product It groups all the configuration functionalities listed below and the core/basic product properties. A Product named ‘Water Supply’ with code ‘WAT’
[ Eligibility Rules ]({{< relref “eligibilityRules” >}}) It defines when this product is available for selection or not. Only show the product for Customers with Type = VIP
[ Compatibility Rules ]({{< relref “compatibilityRules” >}}) It determines if a product can coexist with any other in the same Order/Order Item/Account Flood Insurance requires Water Supply service
[ Product Version ]({{< relref “productVersions” >}})  The different definition snapshots for a product. Version 1 can have one Attribute and be inactive, and Version 2 can have two Attributes and be active.
[ Product Version / Attributes ]({{< relref “productVersions/attributes” >}}) The different property / fields that would be available for setup when configuring a Product. A Height attribute of type Number. A Comments attribute of type text. A Brand attribute of type Picklist.
[ Product Version / Relationships ]({{< relref “productVersions/relationships” >}}) They define which child components or product a Product can have, or at least give the user the option to show them. You have different ways and properties to setup a relationship. It’s the most important part of Complex/Compound products  A Relationship name Discounts that will give the option to select 1 and only 1 Discount from a list of them.
[ Product Version / Validation Rules ]({{< relref “productVersions/validationRules” >}}) With validation Rules you can specify criterias that a configuration must met in order to consider it valid, otherwise you could show an Error to the user. You can also use rules to Hide or Show attributes, or to make them Editable or Read Only. If Civil Status attribute is ‘married’ then Husband/Wife name attribute should be set.
[ Product Version / Configurator Sections ]({{< relref “productVersions/configuratorSections” >}}) They are used to organize the different relationships in the Product Configuration User Interface. In a Configuration Section you can show one or more relationships. A ‘Required Components’ section that would include different mandatory relationships.
[ Product Version / Agreement Mapping ]({{< relref “productVersions/agreementMapping” >}}) They define how an Agreement generated from that Product should be. If ‘Urgent Service’ is selected then add the ’24/7 Agreement Term’ to the Agreement.

Data Model

The Attribute is a standalone object which holds the deffinition for the corresponding product property.

On the other hand, when you assign an attribute to a Product it creates a relationship between the specified Product and Attributes (Product_Attribute_Assignment__c).

ADD DIAGRAM

Leave a Comment

       
Euphoria, forever till the end of times

Euphoria

Share this Doc

Products

Or copy link

CONTENTS