0% found this document useful (0 votes)
7 views

b2b Commerce Data Model - Copy (2)

The document outlines the data model for CloudCraze, detailing various Salesforce objects related to user accounts, products, pricing, carts, orders, and more. It emphasizes the structure and naming conventions of these objects, as well as the ability to extend them with subscriber fields. Additionally, it explains the relationships between different data types and their roles in managing user interactions and transactions within the CloudCraze platform.

Uploaded by

someuserz
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

b2b Commerce Data Model - Copy (2)

The document outlines the data model for CloudCraze, detailing various Salesforce objects related to user accounts, products, pricing, carts, orders, and more. It emphasizes the structure and naming conventions of these objects, as well as the ability to extend them with subscriber fields. Additionally, it explains the relationships between different data types and their roles in managing user interactions and transactions within the CloudCraze platform.

Uploaded by

someuserz
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

1. Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2
1.1 User and Account Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Product Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Pricing and Entitlements Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Cart Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Orders Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.6 User Presentation Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.7 Invoices Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.8 Subscriptions Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.9 Payments Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.10 Configuration Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Data Model
The foundation of CloudCraze is built on a number of custom and standard Salesforce objects. These objects are roughly broken out into a
number of key sections:

User and Account data


Product data
Pricing and Entitlements
Carts
Orders
User Presentation
Invoices
Payments
Subscriptions
Attributes

Object and Field Naming

Because CloudCraze is a managed package, the package namespace is prefixed on all object names. For example, the CloudCraze Order
object is ccrz__E_Order__c. The same is true for all fields within CloudCraze. This is a Salesforce standard for all managed package objects
and fields and is used to avoid name collisions with subscriber objects or other managed packages.

Object Extension

CloudCraze objects can be extended by:

Adding new subscriber fields—New subscriber fields can be added to any CloudCraze OOTB object. Avoid duplicating the non-
namespaced field name. For example, the CloudCraze ccrz__E_Order__c object defines the field ccrz__Comments__c. If you add
a new subscriber field, name it something other than Comments__c. New subscriber fields can be part of a change set.
Altering the OOTB picklist values—Due to Salesforce restrictions, these changes cannot be part of a change set, but must instead be
manually performed across environments.

Salesforce Standard Object Usage

CloudCraze has a very limited footprint within an org. This limited footprint is by design and is meant to allow CloudCraze to operate without
interfering with other Salesforce functions.

For example, Salesforce defines a standard Product object while CloudCraze defines the CC Product object that exists in parallel. This parallel
object structure allows CloudCraze to be installed within an org that utilizes the Salesforce Product without requiring any impact analysis to be
performed. If an organization uses the standard Salesforce Product, it can be easily synchronized with the CloudCraze CC Product, if desired.

Caution:
Any CloudCraze Object or Field for which documentation is not provided should be considered as internal to CloudCraze.

User and Account Data


CloudCraze is a native Salesforce application and leverages key Salesforce objects. Probably the Object Details
most fundamental of these is the Salesforce Account, Contact, and User objects. The Salesforce
User object represents a login, i.e. a user authentication. The Contact object is required by
User
Salesforce for community User objects. The Salesforce Account is required for the Salesforce
Contact object. Account
Contact
The primary link between Salesforce and CloudCraze is the Account object via the CC Account
ccrz__E_AccountGroup__c
Group object. Each Salesforce Account with which authenticated Users have been associated must
link to a CC Account Group. ccrz__E_ContactAddr__c
ccrz__E_AccountAddressBo
ok__c
ccrz__E_StorefrontAssociati
on__c
ccrz__E_AccountSettings__c
User-Contact-Account-CC Account Group

Product Data
The CloudCraze product objects represent the goods to be sold on the site. Constructing proper Object Details
product data is fundamental to the presenting the proper information to the end customer.
ccrz__E_Attribute__c
ccrz__E_Category__c
ccrz__E_CategoryI18N__c
ccrz__E_CategoryMedia__c
ccrz__E_CategorySpec__c
ccrz__E_CompositeProduct
__c
ccrz__E_Product__c
ccrz__E_ProductCategory__c
ccrz__E_ProductGuide__c
ccrz__E_ProductInventoryIte
m__c
ccrz__E_ProductItemI18N__c
ccrz__E_ProductMedia__c
ccrz__E_ProductSpec__c
ccrz__E_ProductSpecIndex_
_c
ccrz__E_RelatedProduct__c
ccrz__E_RelatedProductGro
up__c
ccrz__E_SiteIndex__c
ccrz__E_Spec__c
ccrz__E_SubProdTerm__c
ccrz__E_SubProdTermI18N
__c
ccrz__E_ProductIndex__c

Product and other related entities

Pricing and Entitlements Data


All discussions of CloudCraze pricing must start with an understanding of entitlement. Entitlement Object Details
within CloudCraze is defined by the user's ability to see a product through a set of
relationships. These relationships, called the entitlement flow, provide a traceable path from the
ccrz__E_AccountGroupPrice
currently logged in user to a product.
List__c
ccrz__E_PriceGroup__c
ccrz__E_PriceGroupAccount
__c
ccrz__E_PriceGroupItem__c
ccrz__E_PriceGroupPricelist
__c
ccrz__E_PriceList__c
ccrz__E_PriceListItem__c
ccrz__E_Seller__c
ccrz__E_SellerI18N__c
ccrz__E_Coupon__c

Entitlement Flow

If the set of relationships from the currently logged in User can be traced to a given CC Product then
the user can see the CC Product.
Cart Data
Carts with CloudCraze represent a draft order. Carts can be created, changed, or deleted at will until Object Details
the Cart is "placed" and an Order is created from that Cart.
ccrz__E_Cart__c
ccrz__E_CartItem__c
ccrz__E_CartItemGroup__c
ccrz__E_ShippingRate__c
ccrz__E_TaxRate__c
ccrz__E_Term__c

CC Cart Relationships

Orders Data
Orders represent a placed Cart. Object Details

ccrz__E_Order__c
ccrz__E_OrderItem__c
ccrz__E_OrderItemGroup__c
ccrz__E_OrderShipment__c
ccrz__E_OrderShipmentItem
__c
ccrz__E_OrderTerm__c

User Presentation Data


CloudCraze utilizes a number of Salesforce custom objects to manage the display of the user Object Details
interface.
ccrz__E_FeaturedProduct__c
ccrz__E_FeaturedProductI1
8N__c
ccrz__E_Menu__c
ccrz__E_MenuI18N__c
ccrz__E_MenuItem__c
ccrz__E_MenuItemI18N__c
ccrz__E_PageLabel__c
ccrz__E_PageLabeli18n__c
ccrz__E_PageSection__c
ccrz__E_ProductTab__c
ccrz__E_Promo__c
ccrz__E_PromoI18n__c
ccrz__E_PromotionAccount
GroupFilter__c
ccrz__E_Subscriber_Page_
_c

CloudCraze display objects

Invoices Data
Invoices represent funds owed from or to a customer. Object Details

ccrz__E_Invoice__c
ccrz__E_InvoiceItem__c

Invoice and related objects

Subscriptions Data
Subscriptions contain recurring order and/order installment data. Object Details

ccrz__E_Subscription__c
Subscription Object model

Payments Data
Payments are used to store payment information from a customer. The payments can be walleted or Object Details
stored payments or may be transactional payments.
ccrz__E_StoredPayment__c
ccrz__E_TransactionPayme
nt__c

Stored and Transactional Payment Objects

Configuration Data
CloudCraze uses a custom object structure for storing and managing storefront- and page-specific configuration data, such as enabling Effective
Account functionality.

The following objects store this data:


The CC Configuration Module object defines general functional grouping for the configuration data.
The CC Configuration Meta object defines the specific name (within a module) for a configuration and determines if the data is safe to be
propagated to the client side for use in the Javascript or Handlebar templates that make up the user interface.
The CC Configuration object stores the actual values for the configuration data and defines the specific (or global) storefront and specific
page (or All pages) for which the configuration applies.

Configuration Module-Meta-Value

You might also like