Business model information model

A business model, a representation of the business processes used throughout the site, provides a sample commerce solution which includes an organization structure, default user roles and access control policies, one or more starter stores, administration tools, and business processes that demonstrate best practices. A business model can be customized to support business requirements and scenarios. HCL Commerce provides sample business models that show some common commerce solutions. These business models are created by setting up an organization hierarchy structure, access control policies, stores, and contracts that help satisfy the necessary business requirements.

The UML diagram below shows the relationships between the different business objects that exist in HCL Commerce. This information can help you create business models. In general, organizations are the owner of the core business objects such as store, user and contract. Stores exist under an organization. Users play roles under an organization that grant them certain access rights to things owned by the organization. For example, a user playing a "Registered Customer" role in the organization that owns a store, gives the user shopping rights to the store. Contracts contain terms and conditions for an organization, or to group of users, that they need to comply with. The store can deploy different contracts for different buying organization or customer segments. Users can be entitled to different contracts while shopping in a store.

Diagram showing the Business model information model

The HCL Commerce organization structure provides a framework for the actors, or entities, in your business scenario. This framework is organized in a hierarchical structure, which mimics typical organizational hierarchies with entries for organizations and organizational units and users. The organizations and organizational units in the framework act as owners for the parts of your business. All parts of your business, including customers, administrators, stores, catalogs and distributors, must be owned by an organization or organizational unit.
A store is an abstract superclass that can represent either a store or a store group. A store entity has one owner (a member).
Contracts enable a customer organization to purchase products from a store at a specified price for a specified period of time under specific conditions. Contracts affect many parts of a customer's shopping experience such as what products a customer is able to purchase, the price they will pay for the products, how they are allowed to pay for an order, and the addresses to which an order can be shipped. HCL Commerce provides the ability to record and deploy contracts that have been negotiated.
In HCL Commerce, a user can be either an administrator, or a customer. Specifically, HCL Commerce supports a RegisterType attribute for a user. This attribute takes on one of three valid values: A (administrator), R (registered), or G (guest) and indicates the type of role that the user plays with HCL Commerce. Note that the attribute itself does not give the user any authority within HCL Commerce.
HCL Commerce defines a default set of roles that govern what a user is allowed to access in the system. In the access control system, policies are typically set up so that each role has access to a specified set of actions, such as executing commands and views or displaying data beans. Roles can be assigned to users and organizational entities.