Partners’ Webinar 10/25/2012 Karol Jarkovsky Solution Architect E-commerce Scenarios.

Slides:



Advertisements
Similar presentations
Modified Virtual Tour. Supply Management Online Main Menu The Main Menu provides a suite of offerings designed to meet the needs of our customers.
Advertisements

RP Designs Semi-Custom e-Commerce Package. Overview RP Designs semi- custom e-commerce package is a complete website solution. Visitors can browse a catalog.
Built-in Kentico CMS UI Controls
Creating Hyperion Planning Applications with EPMA
Test Case Management and Results Tracking System October 2008 D E L I V E R I N G Q U A L I T Y (Short Version)
July 2010 D2.1 Upgrading strategy Javier Soto Catalog Release 3. Communities.
©2008 TTW Where “Lean” principles are considered common sense and are implemented with a passion! Product Training Commissions.
GENERAL REGISTRATION INSTRUCTIONS February 5-7, 2015.
6 th Annual Focus Users’ Conference 6 th Annual Focus Users’ Conference Accounts Receivable Presented by: Robert Myers Presented by: Robert Myers.
VBA Modules, Functions, Variables, and Constants
8 Copyright © 2004, Oracle. All rights reserved. Creating LOVs and Editors.
1 of 6 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Create & Manage Promotions Do you want customers to purchase more frequently, buy in greater volume, or be attracted to new or different offerings? Create.
Setting Up the INVENTORY & SERVICES Module Slideshow 8 A.
Developing Custom Payment Gateway
NITAAC Customer Support Phone: Website: NITAAC.nih.gov Customer Guide for using the electronic Government.
PROG Mobile Java Application Development PROG Mobile Java Application Development Event Handling Creating Menus.
DAY 16: ACCESS CHAPTER 2 Tazin Afrin October 10,
8 Copyright © 2004, Oracle. All rights reserved. Creating LOVs and Editors.
©2008 TTW Where “Lean” principles are considered common sense and are implemented with a passion! Product Training Cash and Cash Management.
K# And Kentico EMS – Part 2 Karol Jarkovsky Consulting Services Manager Kentico Software
eOrders inventory ordering software! Introduction Use easy functions, letting you order products that you need automatically. Use easy functions, letting.
© The McGraw-Hill Companies, 2006 Chapter 4 Implementing methods.
PayPal™ Options Basic description for utilizing PayPal™ for payment options for your chapter The following PayPal™ information was graciously provided.
COMP3121 E-Commerce Technologies Richard Henson University of Worcester November 2011.
By BuilderMT BMT Cloud Models and Options Manager by BuilderMT Using Cloud MoM to build and manage a Builder’s Model & Option database BuilderMT Cloud.
How to Sell Manufacturing Foundation Presenter. Agenda What is Microsoft Navision Manufacturing Foundation? Naming Positioning Why We Enhanced Our Manufacturing.
Drupal Commerce Better than Uber Andrew Root: druroot.
E-commerce customization 12/19/2011Petr Vozak, Technical Leader.
1. To start the process, Warehouse Stationery (WSL) will invite you to use The Warehouse Group Supplier Electronic Portal and will send you the link to.
Working with option button, check box, and list box controls Visual Basic for Applications 13.
Session 08 Module 14: Generics and Iterator Module 15: Anonymous & partial class & Nullable type.
Chapter 9 Building the Shopping cart Objective Creating Shopping cart using session Variable. Creating a shopping cart using a database table. Use the.
Partners’ Webinar 01/31/2013 Karol Jarkovsky Solution Architect Upgrading Kentico.
Microsoft ® Office Excel 2003 Training Using XML in Excel SynAppSys Educational Services presents:
©2008 TTW Where “Lean” principles are considered common sense and are implemented with a passion! Product Training RMA.
Order the featured book of the day Estimated effort: 2.
Premium 2011 Setting Up the INVENTORY & SERVICES Module.
Table of Contents TopicSlide Administrator Login 2 Administrator Navigations 3 Managing AlternativeDr.com Blogs 4 Managing Dr. Lloyd May Blogs 5 Managing.
1 Chapter 4: Creating Simple Queries 4.1 Introduction to the Query Task 4.2 Selecting Columns and Filtering Rows 4.3 Creating New Columns with an Expression.
CSCI 6962: Server-side Design and Programming JSF DataTables and Shopping Carts.
SECURITY TREND SECURITY PLEASE MUTE YOUR PHONES. Presenter: Steve Bloesing, CPA EXPERIENCE 16 Years with Infor (formerly NxTrend.
April 18 th Evolve eCommerce/Registration Release.
IdentiTrip Key Features & Benefits All data imported from MIS system Quick MIS upload annually for new intake and class changes No manual input of pupil.
CSC 240 (Blum)1 Introduction to Access CSC 240 (Blum)2 Click on the Access desktop icon or go to Start/All Programs/Microsoft Office/Microsoft Office.
 Empowers to your customer  Product Rating and its Management in Ecommerce Framework  Product Reviews and Management: Collecting customer opinion about.
Leading firms through the next generation of change™
 How we should structure our checkout and order process?  Checkout and Order Process of our framework  Stages of Checkout and Order Process.
CSCI 6962: Server-side Design and Programming Shopping Carts and Databases.
Integrated ISO ILL for staff users Borrowing requests – part one Yoel Kortick 2007.
Single Linked Lists Objectives In this lesson, you will learn to: *Define single linked list *Identify the following types of linked lists: Single linked.
Purchase Order Creation Manually or automatically With or without reference to other documents Data Documents: Purchase requisition, Purchase order, RFQ,
Increase Sales With Your Very Own Ecommerce Furniture Website Call us
Customizing Share Document Previews Will Abson Senior Integrations Engineer and Share Extras Project Lead
E commerce Online Shopping Website at Rs. 7920/-.
E-commerce customization Petr Vozak, Technical Leader.
Sales Tax Chapter 4. PAGE REF #CHAPTER 4: Sales Tax SLIDE # 2 2 Objectives Activate and Set Sales Tax Preferences Use Sales Tax Items on Sales Forms Set.
Use Case Diagrams A Detailed Description. Use Case Diagrams Use case diagrams describe relationships between users and use cases A use case is a (usually.
Creating LOVs and Editors
Sourcing Event Tool Kit Multiline Sourcing, Market Baskets and Bundles
Intracompany Stock Transfer Scenario Overview
Checkout and Electronic Payment Processing
Intracompany Stock Transfer Scenario Overview
Harness the Power of Promotional Packages in MX
MODULE 7 Microsoft Access 2010
First Time Punch-Out Registration
Intracompany Stock Transfer Scenario Overview
Creating Activities.
eSeries Entities By Julie Ladner
Presentation transcript:

Partners’ Webinar 10/25/2012 Karol Jarkovsky Solution Architect E-commerce Scenarios

Agenda 1.Customization Model Overview 2.Bundling Product with Custom Data 3.Customization Scenarios DEMO: Flexible shipping, DEMO: Multiple pricing level per SKU DEMO:Shared membership

Customization Model Full details available as blog and video on DevNet, and in the Developer’s Guide,blogvideoDeveloper’s Guide InfoProvider.cs public static ProviderObject public static () protected virtual Internal() UserInfoProvider.cs public static ProviderObject public static GetUserInfo(int userId) protected virtual GetUserInfoInternal (int userId)

Database COM_ShoppingCartSKU [Table] CartItemCustomData [Column] CME Group Sample value 1 Custom Data Bundling: CustomData API protected override ShoppingCartItemInfo AddShoppingCartItemInternal(ShoppingCartInfo cart, ShoppingCartItemParameters itemParams) { // Add item to the shopping cart ShoppingCartItemInfo item = base.AddShoppingCartItemInternal(cart, itemParams); if (item != null) { // Accepts simple data values item.CartItemCustomData["MyCustomValue1"] = "Sample value 1"; item.CartItemCustomData["MyCustomValue2"] = 25.55; // int myVal = (int)item.CartItemCustomData["MyCustomValue2"]; // Hashtable myValues = item.CartItemCustomData.ConvertToHashtable(); } return item; } COM_OrderItem [Table] OrderItemCustomData [Column] CME Group Sample value 1 COM_ShoppingCart [Table] ShoppingCartCustomData [Column] CME Group Sample value 1 COM_Order [Table] OrderCustomData [Column] CME Group Sample value 1

Custom Data Bundling: RelatedData API // Registering for event fired when lazy-loaded RelatedData property is accessed SKUInfo.TYPEINFOSKU.OnLoadRelatedData += new TypeInfo.ObjectLoadRelatedDataEventHandler(TYPEINFOSKU_OnLoadRelatedData); protected object TYPEINFOSKU_OnLoadRelatedData(BaseInfo infoObj) { CustomDataContainer result = null; SKUInfo prod = (infoObj as SKUInfo); if (prod != null) { result = new CustomDataContainer() { MarketPriceSourceName = "CME Group", MarketPriceValue = }; } return result; } protected override ShoppingCartItemInfo AddShoppingCartItemInternal(ShoppingCartInfo cart, ShoppingCartItemParameters itemParams) { // Add item to the shopping cart ShoppingCartItemInfo item = base.AddShoppingCartItemInternal(cart, itemParams); if (item != null) { // Accepts simple data values item.CartItemCustomData["MyCustomValue3"] = item.SKU.GetValue("MarketPriceSourceName"); item.CartItemCustomData["MyCustomValue4"] = item.SKU.GetValue("MarketPriceValue"); } return item; } /// /// Summary description for CustomDataContainer /// public class CustomDataContainer : IDataContainer { // Implementation of IDataContainer members }

Scenarios DEMO: Flexible shipping Scenario Instead of flat shipping fee specified for shipping option you want to apply different shipping costs per product (e.g. based on dimensions), Total shipping costs should be discounted or completely waved if certain numbers of products are added to the cart

DEMO: Flexible shipping API CMS.Ecommerce.ShippingOptionInfoProvider ApplyShippingFreeLimit[Internal](double shipping, double totalPrice, double siteStoreFreeLimit) o Evaluates store free-shipping limit against total price and return shipping costs, CalculateShipping[Internal](ShoppingCartInfo cartObj) o Evaluates total shipping costs for whole cart (all items), o To implement custom shipping cost calculation you need to override this method, CalculateShippingTax[Internal](ShoppingCartInfo cartObj) o Evaluates taxes for total shipping costs, IsShippingNeeded[Internal](ShoppingCartInfo cart) o Indicates whether the shipping is necessary for given shopping cart, o Returns TRUE if any of the products in the cart requires shipping (has Needs shipping setting enabled), o Bundled items are not included within evaluation.

Scenarios DEMO: Multiple pricing level per SKU Scenario Instead of single (flat) price you want to display price customized for current visitor, Each product will have two price variants – variant A representing full price and variant B representing special offer price for new customers, New visitor is unknown customer, Also, if visitor is exiting customer you want to add 10% discount on any product they already purchased (in last 30 days)

DEMO: Multiple pricing level per SKU

API CMS.Ecommerce.SKUInfoProvider CalculateSKUDiscount[Internal](SKUInfo sku, ShoppingCartInfo cart, IItemDiscount discount, double priceAfterDiscount) o Calculates discount for given SKU reflecting given discount information, o Performs actual calculation using price with any previous discounts applied, GetSKUDiscounts[Internal](SKUInfo sku, ShoppingCartInfo cart, bool forCart) o Returns list of discounts that are then applied to the base price in order they are included in the list, o Method that is performing calculation is CalculateSKUDiscount[Internal]() above, GetSKUPrice[Internal](SKUInfo sku, ShoppingCartInfo cart) GetSKUPrice[Internal](SKUInfo sku, ShoppingCartInfo cart, string column) GetSKUPrice[Internal](SKUInfo sku, ShoppingCartInfo cart, bool discounts, bool taxes, bool forCart, string column) o Returns price for given product, o Customizations should be done by overwriting highlighted (bold) override as both methods left are internally calling this method,

Scenarios DEMO: Shared membership Scenario You want to assign purchased membership for all users coming from the same company/organization, In other words instead of single-user membership product you want to allow buying shared membership

DEMO: Shared membership API CMS.Ecommerce.OrderInfoProvider Create MacroResolver[Internal](ShoppingCartInfo cartObj) CMS.Ecommerce.ShoppingCartInfoProvider.GetShoppingCartResolver[Internal](ShoppingCartInfo cart, bool specialMacros) oCreate MacroResolver[Internal]() is called only from OrderInfoProvider.Send Notification[Internal]() o If you want to add resolver data available across whole E-commerce module (not just templates) you need to customize CMS.Ecommerce.ShoppingCartInfoProvider.GetShoppingCartResolver[Internal](), oCreate MacroResolver[Internal]() is calling this method internally to get base resolver, ProcessOrderIsPaidChangeInternal(OrderInfo oi) o Raised when order is paid status changes (automatically or manually from the UI), o Handles alternative product types (e-product, membership) and sends out notifications, o Modify if you want to send additional notifications or so, however e-product processing is customized through separate methods (below), ProcessMembership[Internal](OrderInfo oi, OrderItemInfo oii, SKUInfo skui, UserInfo ui, DateTime now) ProcessEProduct[Internal](OrderInfo oi, OrderItemInfo oii, SKUInfo skui, DateTime now) o Called from ProcessOrderIsPaidChange[Internal]() based on product type,

General THANK YOU!