Hybris Developer Training Part II - Commerce - Module 04 - Commerce Basics

7
6/3/2013 1 1 2 COMMERCE BASICS

description

,,,,

Transcript of Hybris Developer Training Part II - Commerce - Module 04 - Commerce Basics

  • 6/3/2013

    1

    1

    2

    COMMERCE BASICS

  • 6/3/2013

    2

    3Store and Site Structure in B2C Accelerator

    Store and Site Structure in B2C Accelerator

    Commerce Basics

    4BaseCommerce extension

    Basic Framework to share items and types across extensionsModule decoupling

    basecommerce commerceservices

    paymentfulfilmentprocess

    cms2

    cmscockpit

    ticketsystem cscockpit

    promotions customerreview

    solrfacetsearch

    Commerce Basics

  • 6/3/2013

    3

    5BaseStore item type

    BaseStore

    commerceservices

    Catalog

    BaseStore PointOfServiceBaseSite

    Currency

    Country

    Language

    BaseStore2PointOfServiceRelationStoresForCMSSite

    CatalogsForBaseStores

    * * 1

    *

    *

    *

    Commerce Basics

    6Cart and Order

    Cart: Persistent but volatile represents a potential orderOrder: Persistent, represents an actual order, placed by a customer

    Commerce Basics

  • 6/3/2013

    4

    7Cart lifetime

    Every active session has a distinct cartLazy initializedPersisted by default, to change it to be in memory only:

    default.session.cart.type=InMemoryCartCart 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)

    Commerce Basics

    8Order process

    Customer shopfrontend session CartService OrderService

    enters

    addsproducttocart

    logsin

    checkout

    clicksonorderbuttoncreatesOrder (cart)

    creates

    createsCartEntry

    calculate

    assignsuser

    Commerce Basics

  • 6/3/2013

    5

    9Stock

    Functionality to manage and query product stock level and product availability information

    Commerce Basics

    10Stocks - Data Model

    Available quantity of a product at a certain timeProduct stock levels are not updated live

    Actual stock level: reported by a warehouseLocal stock level: calculated for keeping track of sold product quantities

    WarehouseStockLevel* 1

    *1

    StockLevelHistoryEntry BaseStore

    **

    Commerce Basics

  • 6/3/2013

    6

    11StockService Use Cases

    Important use cases of StockServiceUpdating 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

    Commerce Basics

    12Maintaining Stock Levels Reserve and Release

    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);

    Commerce Basics

  • 6/3/2013

    7

    13