
h3. Application Configuration
* *Shipping Gateways* \- Under Shipping Providers, a shipping gateway is the specific class that you select (Generic Gateway or Weight/Jurisdiction Gateway).
* *Shipping Jurisdictions* \- an option which allows you to define values for region-specific shipping rates; this is only used when you select the Weight/Jurisdiction Gateway (i.e. California)
* *Shipping Jurisdiction Groups* \- group of jurisdictions; this is required because this is a required field when configuring the Shipping Method parameters (i.e. Southwest region)
* *Shipping Method* \- A shipping method manages a set of information and rules that determines the shipping cost and displays it on the front-end public site while a customer checks out an item from his/her shopping basket. The shipping fee is added to the total price of the purchase. A shipping method is mapped to a shipping provider visible to a back-end administrator in Commerce Manager. This allows the public site to display friendly names such as "Ground Shipping" to the customer and this is mapped to a provider such as UPS. Therefore, when a customer picks "Ground Shipping," he/she will be using UPS.
* *Shipping Providers* \- A shipping provider is the class(es) that interacts directly with one or more actual shipping services such as USPS, UPS, or FedEX. It retrieves shipping price information from the shipping service(s) its associated with. One typical scenario would be to have a provider that represents a particular service (e.g. USPS). A provider can also represent a particular type of shipping situation. One example is that you could have a provider for overnight delivery. The provider could retrieve pricing for that service to determine the lowest price given the location of the customer. A provider could also represent other specific scenarios with one or more services such as price by weight or ground shipping.
h3. Business Foundation
* *Business Foundation Object (BF Object)* \- Similar to a meta class; allows end users to create custom objects with UI presentation, business objects, and a database layer without modify code.
* *Bridge* \- A "many to many" or N:N relationship between two business objects
* *Extension* \- this allows you to extend an existing meta class with extra properties. For example, you can have a download class and you can extend it with "imagedownload" which contains width and height as extra parameters.
* *Field Type* \- The type of data that the data field supports. There are multiple types included with ECF out of the box:
\\
** Boolean
** Currency
** DateTime
** Dictionary items
** File
** Guid
** Integer
** Referenced Field (read-only)
** String
* *1 to Many Relationship* \- 1 object can be associated or related with multiple object-related data. For example, one organization can be associated with multiple contracts.
* *Many to 1 Relationship* \- Multiple object-related data can be associated or related with a single object. For example, multiple contacts can be related to a single organization.
* *Many to Many Relationship* \- Multiple object-related data can be associated or related with multiple objects. For example, different SKUS can be associated with one or more Warehouses for tracking and storage.
h3. Catalog Management
* *Assets* \- downloadable contents such as documents, links, videos, and images that can be linked to specific products
* *Associations* \- one or more products can be related to or associated to another product so that these associated products can be displayed or advertised on the public site as a product accessory, or as an upselling/cross-selling item. Associations can be made from any of the individual products (Product Entries, SKUs, Bundles, Packages, and Dynamic Packages).
* *Catalog* \- a catalog is a top-level container for all catalog entries such as Categories, Products and SKUs
* *Category* \- a category is a grouping of purchasable products
* *Node* \- a node is the same thing as a category
* *Product* \- a product represents various forms of merchandise that you can display and purchase from the public site, including Products, Variations/SKUs, Bundles, Packages and Dynamic Packages
** *Product Entry* \- a product entry typically contains a product name, part number, description and images
** *Variation/SKU* \- a variation or SKU corresponds to a specific type of product with specific characteristics. For example, a product of Shirts will have an individual variation/SKU which includes size, color and sleeve length.
** *Bundle* \- a bundle is a collection of variations and SKUs allowing customers to purchase two or more items at once.
** *Package* \- a package is comparable to an individual SKU because the package item must be purchased as a whole (i.e. computer system)
** *Dynamic Package* \- a dynamic package is similar to the package definition above with the added ability to configure the package during checkout
* *Tax Category -* this separation of taxes by category allows you to charge a different rate of taxes depending on what is being purchased; for example, you can have one rate for "General Sales" items and another rate for "Luxury Sales" items
h3. Customer Management
* *Account* \- a user account that can be created under a Contact. Once an Account has been created, the Contact can be assigned Roles and access the Commerce Manager. A user account is automatically created for a user who registers from the front-end public website which allows a customer to login prior to checking out. They default to the "Everyone" and "Registered" roles and permissions.
* *Contacts* \- these are users that are created either when an external customer registers on the public site or when a Commerce Manager admin creates them directly from the Commerce Manager; typically, users that are internal to your organization are assigned to organizations or organization units and assigned varying ?permissions based on role. For example, a user with the "Cms Admins" role will have full access to only the Content Management system. By default, new users that are created by registering from the public site are given the "Registered" and "Everyone" roles.
* *Organizations* (or organization units) - groups or sub-groups of registered users and customers. An organizational unit is a "child" or subsidiary of a "parent" organization. Within ECF, you can assign an organization as a parent of another organization. For example, the parent company Mediachase, and the organizational units are Mediachase West and Mediachase East. Organization units include regional branches or departments or you could name them by business categories such as "Computer and Electronics" or "Clothing and Accessories." Organizations can be structured into a tree structure with sub-units with different levels of permissions assigned to each. So for example, you can set up your company as a parent level organization while your departments such as Sales & Marketing, IT/Development, and Operations as organization units. {color:#000000}With this scenario, you can allow users in each departments to have access to only relevant systems, screens and functionality within Commerce Manager.{color}
* *Roles* \- these control the level of access privileges of each user account in ECF. Users can be either granted or restricted access to an entire system or a particular menu item within a system based on the role assigned to them. Different roles may be added to user accounts (i.g., store operator or webmaster) so that they can access, edit, or process relevant information. By default, a customer who registered his/her account to make a purchase in the front-end site will have no roles assigned to them, hence giving him/her preventing access to both the editing feature of the front-end site as well as the back-end Commerce Manager.
h3. Marketing
* *Campaigns* \- a way to organize marketing activities. Campaigns must be associated with Promotions in order to provide customer discounts. Optionally, Campaigns can also be tied to Customer Segments for targeted marketing purposes.
** For example, you can create a seasonal campaign that will include different Promotions targeted for the Spring season.
* *Customer Segments* \- these determine the target audience for the Promotions. Customer Segments determine the target audience for the Promotions. Within a Campaign, all Promotions will be applied to whatever Customer Segments associated with the same Campaign. Members of the Customer Segments can be pre-defined in static groups or you can use the Expressions Engine to create dynamic groups whenever Promotions are run.
** For example, you can have a Customer Segment that targets all users from the Los Angeles area. You can create an Expression that will include all the customers whose home city is Los Angeles. Thus, when a user registers on the site he immediately becomes part of the target Customer Segment.
* *Expressions* \- these are customizable Conditions which allow users to extend different aspects of the Marketing system \-\- Promotions, Customer Segments and Policies all rely on Expressions. There is an Expressions Engine which is a core technology behind the Marketing system.
** For example, you want to set a Promotion for "40% off Item X." The Expression or Condition to enable this Promotion would include: Catalog ID for Item X and Reward of 40%.
* *Policies* \- rules that are always executed when Promotions are applied. This allows a Marketing manager to declare rules just once for the whole site.
** An example of a rule is as follows: Do not allow negative orders.
* *Promotions* \- a way to apply various discounts to the products, order totals or shipping. A Promotion is a marketing tool used to increase sales of certain products or product lines. Various incentives such as lowered pricing and other discounts can be employed as part of a Promotion.
** Promotions are always tied to Campaigns.
** Promotions can be classified into two types: 1) either you can create a Promotion that is visible prior to checkout or 2) you can configure the Promotion to be displayed during the checkout process.
** The most powerful aspect of the Marketing system is the Expression Engine which allows variable conditions to be applied when creating a Promotion. These conditions vary from the number of items, the percentage discount, shipping rates and many others.
h3. Order Management
* *[ecf51:Browsing and Creating Purchase Orders]*{*}Purchase Orders* \- the manual method of generating an order for a customer (rather than having the customer checkout and complete an order from the front-end website). It allows Commerce Manager users to generate orders directly from the Commerce Manager.
*- *Status* \- set to "NewOrder," "Submitted," "Processing," "Cancelled," "Rejected," "Shipped"
*- *Currency* \- select a Currency type from the drop-down menu
*- *Customer* \- select a Customer from the drop-down list of Contacts
*- *Billing Address* \- select a Billing Address from the drop-down menu
*- *Affiliate* \- select an Affiliate from the drop-down list. (Affiliates can be used when integrating with other systems and can only be edited in the database. Users do not have Commerce Manager access for managing Affiliates).
*- *Tracking Number* \- enter in a Tracking Number of the shipment
*- *Expiration Date* \- enter in a Expiration Date for the order if this order is tied to a [Recurring Payment Plan|ecf51:Creating a Recurring Payment Plan] for subscription-based transactions