7Siebel eSales Shopping Cart

Siebel eSales Shopping Cart

This chapter describes the Shopping Cart and introduces the Shopping Service business service. It contains the following sections:

About eSales Shopping Cart

The Shopping Cart stores items selected by customers. When a Siebel eSales customer selects an item for the first time during a session by clicking Add to Cart, a quote record is created. The CurrentQuoteId user profile attribute is set to the ID of this quote.

A customer can have only one Shopping Cart in a session. If the customer changes the Shopping Cart to another quote, for example in the Edit Quote workflow, CurrentQuoteId is set to the ID of the new quote record.

Quote Types in Siebel eSales

Several quote types support anonymous users and persistent Shopping Carts. The quote types used in Siebel eSales are as follows:

  • Anonymous Quote. This type allows anonymous users to add items to the Shopping Cart. When an anonymous user logs in or registers, the quote type of the current quote is checked and converted to Persistent Cart. This preserves the Shopping Cart after login.

    You can use workflows to delete Anonymous Quote records if they last for more than a specified period of time, such as 48 hours. This would apply if the anonymous user chose not to log in.

  • Persistent Cart. This is the persistent Shopping Cart. Each user can have only one quote record of type Persistent Cart.

    The persistent Shopping Cart works as follows:

    • When a user logs in, the run-time event WebLogin triggers the action set eSales Web Login Action Set, which invokes the Shopping Service method SetShoppingCart.

    • SetShoppingCart finds the quote with type Persistent Cart associated with that user and sets CurrentQuoteId to the ID of this quote.

  • Quotation. When a user clicks Confirm Order on the Order Summary page, the quote type changes from Persistent Cart to Quotation and the status changes to Order Placed.

Shopping Service Business Service

The Shopping Cart is implemented through the Shopping Service business service. The Shopping Service business service is based on the class CSSShoppingService, a subclass of CSService. The user interface invokes some of its methods, while others are invoked by workflows, or by applications such as Siebel eEvents Management.

This section contains the following topics:

    Customizing the Shopping Service

    The Shopping Service business service is written in C++ and cannot be modified. If you want to change any of the methods in the Shopping Service, you need to write a new business service in Siebel eScript. However, these methods are modular and they can be used in new workflows that are designed when the application is customized.

    The following sections provide more information on the Shopping Service and other processes used in Siebel Business Applications to support the Shopping Cart.

    For more information on writing scripts, see Siebel Tools Online Help.

      Shopping Service Business Service Methods

      The Shopping Service has many business service methods. Those used by the Shopping Cart in Siebel eSales are described in the following table.

      Method Description Used In Workflow

      AddItem Method

      Adds an item to the Shopping Cart or Favorites.

      CreateOrder Method

      Converts a quote to an order. Also confirms training class and event registrations.

      eSales - Authorize Order Process

      DiscardCart Method

      Deletes the current Shopping Cart and sets CurrentQuoteId to empty, but only when the Quote Type equals Persistent Cart.

      eSales - Edit Quote Process

      eSales - Reorder Process

      Get ShoppingCartStatus Method

      Gets the status of the current Shopping Cart, which can be one of the following:

      • Empty. CurrentQuoteId is empty or Quote Type equals Persistent Cart.

      • Not Empty.

      • No Save.

      Also returns information such as Quote Item and Item Count.

      eSales - Edit Quote Process

      eSales - Modify Order Process

      eSales - Reorder Process

      OrderQuote Method

      Creates an order based on the quote.

      eSales - Checkout Process

      eSales - Order Quote Process

      Reorder Method

      Creates a quote based on an existing order.

      RepriceQuote Method

      Reprices quotes, for example when a customer orders a saved quote that has expired.

      SaveCartAsQuote Method

      Saves the current Shopping Cart as a quote:

      • Finds the quote record whose Id equals CurrentQuoteId.

      • Saves it as a quote, that is, sets the quote status to Quotation.

      • Sets CurrentQuoteId to empty (empties the Shopping Cart).

      eSales - Edit Quote Process

      eSales - Reorder Process

      eSales - Save Cart Process

      SaveCartAsTemplate Method

      Saves the current Shopping Cart as a template, but keeps the Shopping Cart.

      Ordering from a template copies the template items to the Shopping Cart.

      eSales - Save Cart Process

      SelectPrimary Method

      Uses the contact Primary ID field to copy the primary personal address, primary personal account address, and primary payment profile from the pick field to the current quote (Shopping Cart).

      SetApplicationName Method

      Sets the ApplicationName dynamic user profile attribute. Triggered by the application’s WebLogin event.

      Used in run-time events to support the different Shopping Cart behavior between Siebel eSales and other Siebel Business Applications.

      SetPendingRequest Method

      Allows workflows to continue after anonymous users are sent to the Login view to register.

      eSales - Checkout Process

      eSales - Save Cart Process

      SetShoppingCart Method

      Supports the persistent Shopping Cart and allows anonymous users to add items to the Shopping Cart. Triggered by the application’s WebSessionStart event.

      When a session begins, the method does the following:

      • If the user is anonymous, does nothing.

      • If CurrentQuoteId is not empty (that is, the user already has a Shopping Cart), checks if the Shopping Cart quote type is Anonymous Quote.

      If there is an Anonymous Quote, converts it to Persistent Cart and sets Contact Id to the login Id of the user.

      • If CurrentQuoteId is empty, tries to find an existing quote of type Persistent Cart (user’s Shopping Cart from the previous session) and set CurrentQuoteId to that quote ID.

      If there is no such quote, the user did not leave a Shopping Cart (for example, saved it as a quote or checked out).

        Run-Time Events in Siebel eSales

        Tracking run-time events allows Siebel Business Applications to respond in real time to user actions. Business managers can configure the actions in response to any event.

        When a run-time event occurs that is associated with one or more action sets, the personalization engine performs the specified actions. These actions modify content and user profile attributes, with the potential of triggering personalization rules.

        Run-time events and action sets are created and managed in the Run-time Events Administration screen. You do not need to reconfigure or recompile business objects, because the interaction occurs between Siebel Personalization and the user interface.

        Siebel eSales uses three action sets to configure Shopping Cart behavior:

        • eSales WebSessionStart Action Set. This is triggered by the WebSessionStart run-time event. This action set contains one action:

          SetApplicationName. This action sets the ApplicationName dynamic user profile attribute, which supports the different behavior of the Shopping Cart among the various Siebel Business Applications.

          The following applications use this action set:

          • Siebel Call Center

          • Siebel Partner Relationship Management

          • Siebel eCustomer

          • Siebel eEvents Management

          • Siebel eSales

          • Siebel Self Service

          • Siebel Marketing

        • eSales WebLogin Action Set. This is triggered by the run-time event WebLogin. It contains the following actions:

          SetPriceList. This action sets the price list for the session when a user logs in. It invokes the Pricing Manager business service method SetPriceList, which sets the price list according to the following:

          • If the user belongs to an account, the price list associated with that account is used.

          • If the user does not belong to an account or belongs to an account that is not associated with a price list, the price list whose row ID is in the PRICER_MASTER_PRICE_LIST_ID list of values is used. For more information, see Setting Up Price Lists for Siebel eSales.

        • SetShoppingCart. This action determines, when a user logs in, whether that user has a Shopping Cart from a previous session or from browsing as an anonymous user. It invokes the Shopping Service business service method SetShoppingCart, which checks the user profile attribute CurrentQuoteId for the following:

          • If CurrentQuoteId is null, SetShoppingCart finds the quote record of type Persistent Cart, if any, and sets CurrentQuoteId to this record’s ID.

          • If CurrentQuoteId is not null, and the user has a quote record of type Anonymous Quote, SetShoppingCart calls the ConvertAnonymousQuote method to change the quote type to Persistent Cart.

            Three applications use the eSales WebLogin Action Set:

            • Siebel Partner Relationship Management

            • Siebel eCustomer

            • Siebel eSales

        • Workflow_Checkout. This is conditionally triggered by the run-time event WebLogin. It is triggered only if an anonymous user tries to check out and is redirected for login. After login, the event is triggered to complete the checkout process. It contains the following actions:

          • Workflow. This action calls the SS Start Checkout Process workflow (see SS Start Checkout Process) to complete the checkout process.

            Four applications use the Workflow_Checkout Action Set:

          • Siebel Consumer Marketing

          • Siebel Consumer Sales

          • Siebel Consumer Web

          • Siebel CX Partner Portal

        For more information on run-time events, see Siebel Personalization Administration Guide.

        Object Manager Support for Shopping Cart

        Siebel Business Applications use object manager parameters to support different Shopping Cart requirements. The default values of object manager parameters are defined in Siebel Tools but these can be overridden by individual applications. The method of overriding the parameter values is different for the Siebel Web client and Siebel mobile client.

        This section contains the following topics:

          Viewing Default Object Manager Parameters

          You can view the default object manager parameters in Siebel Tools.

          To view the default object manager parameters

          1. In Siebel Tools, if the Server Component Type object is not shown in the Object Explorer:

            1. Select View > Options.

            2. In the Development Tools Options dialog box, click the Object Explorer tab.

            3. Select the Server Component Type object move it to the next pane.

          2. In the Object Explorer, select Server Component Type.

          3. Query for InfraShoppingService.

          4. In the Object Explorer, expand Server Component Type and select Server Component Parameter.

            The default server component parameters are displayed.

            Modifying Object Manager Parameters in the Web Client

            You can see or change the definitions of overrides in the Web client.

            To see or change the definitions of overrides

            1. In your Siebel employee application, navigate to Administration - Server Configuration > Servers.

            2. Make sure the Components tab is selected.

            3. Select the appropriate component.

              For example, if you want to see the eSales component, select eSales Object Manager.

            4. Click the Component Parameters view tab.

            5. Examine the component parameters that are listed in Siebel Tools.

            Siebel Sales and Siebel Call Center use the default parameters. Siebel eSales and Siebel Partner Relationship Management parameter override values are shown in the following table. In all cases, Condition is =.

            Parameter eSales Override Value PRM Override Value

            ProductDetailView

            Product Detail - Features View (eSales)

            FALSE

            ShoppingCartView

            SS Quote Shopping Cart View

            SS Quote Shopping Cart View

            AnonymousQuote

            TRUE

            TRUE

            PersistentShoppingCart

            TRUE

            TRUE

              Modifying Object Manager Parameters in the Mobile Web Client

              For users of the Siebel Mobile Web Client, the application configuration files, as shown in the following table, are used to change object manager parameters.

              Application Configuration File

              Siebel eSales

              esales.cfg

              Siebel Partner Relationship Management

              scw.cfg

              Siebel Call Center

              uagent.cfg

              Siebel Sales

              siebel.cfg