You are on page 1of 7

6/3/2013

COMMERCE BASICS

6/3/2013

Store and Site Structure in B2C Accelerator

Commerce Basics

Commerce Basics

Store and Site Structure in B2C Accelerator

BaseCommerce extension

Basic Framework to share items and types across


extensions
Module decoupling
fulfilmentprocess

payment

cmscockpit

cms2

basecommerce

commerceservices

promotions

customerreview

solrfacetsearch

ticketsystem

cscockpit

6/3/2013

BaseStore item type

Commerce Basics

BaseStore
Catalog
*
CatalogsForBaseStores

BaseStore2PointOfSe
rviceRelation

StoresForCMSSite

BaseSite

BaseStore
*

PointOfService
*

commerceservices

Currency

Country

Language

Cart and Order

Commerce Basics

Cart: Persistent but volatile represents a potential order


Order: Persistent, represents an actual order, placed
by a customer

6/3/2013

Cart lifetime

Commerce Basics

Every active session has a distinct cart


Lazy initialized
Persisted by default, to change it to be in memory only:
default.session.cart.type=InMemoryCart
Cart clean-up:
In platform (without accelerator):
Removed when the session times out or is explicitly
invalidated, to change it:
session.remove.cart.on.close=false
In accelerator:
the CartRemovalCronjob will remove carts older
than 2 weeks (configurable)

Order process

Commerce Basics

shop
frontend

Customer
enters

addsproducttocart

session

CartService

OrderService

creates

createsCartEntry
calculate

logsin

assignsuser

checkout

clicksonorderbutton

createsOrder (cart)

6/3/2013

Stock

Commerce Basics

Functionality to manage and query product stock level and product


availability information

Stocks - Data Model

Commerce Basics

10

Available quantity of a product at a certain time


Product stock levels are not updated live
Actual stock level: reported by a warehouse
Local stock level: calculated for keeping track of sold product
quantities

StockLevel

Warehouse
*

StockLevelHistoryEntry

BaseStore

6/3/2013

StockService Use Cases

Commerce Basics

11

Important use cases of StockService


Updating stock levels
Reserving and releasing of products
Returning the total stock level
Returning the stock level for a specific warehouse or many
warehouses
Returning information about product availability for a specific
warehouse or many warehouses
Changing the in stock status for products

Maintaining Stock Levels Reserve and Release

Commerce Basics

12

StockService tracks the number of reserved products since the


last update from a warehouse
Customer buys a product:
stockService.reserve(product,warehouse,quantity, comment)

Customer cancels a purchase:


stockService.release(product,warehouse,quantity, comment);

After warehouse inventory:


stockService.updateActualStockLevel(product,warehouse,amount,
comment);

6/3/2013

13