Add products to cart
A store associate must be able to scan the products that the customer wants to purchase, or find the appropriate products in the catalog and add them to the cart. Alternatively, the store associate can perform a quick checkout.
Find products from the home page
- Keyword search or scan
- When the store associate performs a search by using keywords and clicking the
Search icon in the Find Products portlet on the
Home page, the
searchCatalogIndex
API is called with theItemGroupCode
attribute set toPROD
to fetch a list of products that match the keywords. When a product is selected from the list of matching products, thegetCompleteItemList
API is called to get details for the product. - Alternatively, if the store associate scans a product or enters a product ID and clicks the
Scan icon, the
getCompleteItemList
API is called to get the details for the scanned product. - Product details are displayed, but the store associate remains on the Find
Products screen of the wizard. The store associate can scan a product, or search for a
product, from the Find Products page. The
getCompleteItemList
API is called to retrieve the product details.
- When the store associate performs a search by using keywords and clicking the
Search icon in the Find Products portlet on the
Home page, the
- Product Details
- When the correct product is located and selected through a keyword search, or through a scan,
the product details are displayed. The
getCompleteItemList
API is called to retrieve product details. Details such as complete description, SKU, price, attributes such as size and color in case of variation products, and related products are displayed. For example, if the product is a T-shirt, variation attributes like size and color are displayed that the customer can choose from. Similarly, a TV can have a DVD player as a related product that a store associate can cross-sell to the customer. - The UOM is displayed for products considering the
Unit of Measure Display Rules
rule. - If the
Show Product Image in Web Store User Interface
rule is set, the product image is displayed. If not, only the short description of the product is displayed. -
Variation products: If the
getCompleteItemList
API returnsIsModelItem="Y"
for a specific product, then the product is a model product. The attributes and attribute values of the model product are displayed. The API also returns the list of allowed combinations for the model product. By default, the Add to Cart button is disabled. To enable the Add to Cart button, the store associate must select a variation of the product, such as a different size or color. The page is refreshed by calling thegetCompleteItemList
API with theItemAttributeGroupType
attribute set toDISTINCT_ATTRIBUTES
for the new variation of the product, and the Add to Cart button is enabled for available products. When the store associate clicks attributes, the attributes images or elements are disabled based on the allowed combination configured for the variation item. If selected combination is not allowed, then it is indicated appropriately on the UI and the store associate has to select other attributes. - Related products: The
getCompleteItemList
API retrieves the related products as well. All of the related products are listed together and are not displayed separately based on the association types. Each related product is added as a new orderline and no relationship is maintained between the parent and the related orderlines. To fetch the number of related products for each type of association, theMaximum number of associations to show in UI
rule is considered. The value that is configured for the rule is passed in theMaximumRecords
attribute as part of theItemAssociationTypeList
element.
- When the correct product is located and selected through a keyword search, or through a scan,
the product details are displayed. The
- Quick checkout
On the application home page, the store associate can scan the product in the Quick Checkout portlet. The
getCompleteItemList
API is called to get product details. When a product is added using the Quick Checkout portlet, thecreateOrder
API is called to create a new order with the delivery method set toCARRY
by default. For each product that is scanned after the first product, themodifyFulfillmentOptions
API is called to add the product to the cart.
View fulfillment options
getItemAvailabilityForStore
API is called to retrieve the availability for the
product. However, based on whether the store uses real-time or cached availability, the appropriate
logic is executed to display the fulfillment options.- If an inventory monitoring rule is set for a product, the application determines that inventory
is cached and
getItemAvailabilityForStore
API is called, which in turn calls thegetAvailabilityCache
API to retrieve the cached availability.Cached inventory can be set up to obtain availability information. In most situations, the inventory information that is displayed to the user is not updated in real-time. To improve UI performance, it is recommended to use cached inventory instead of real-time inventory.
- If an inventory monitoring rule is not set for the product, then the system determines that
real-time inventory is required and the
getItemAvailabilityForStore
API is called, which in turn calls thegetFulfillmentOptionsForLines
API to retrieve the real-time availability for products. - If cached inventory is not set up, the
Standard Search Fulfillment Type
rule is read and the value is passed to identify the sourcing rule, which determines the type of nodes such as stores or distribution centers and the sequence in which they must be considered, while retrieving availability for products. - The availability information returned by the
getItemAvaialbilityForStore
API is read. The API returns theHasAnyUnavailableQty
attribute. If this is set toY
, then the product is not available and if set toN
, then the product is available andProductAvailDate
attribute is read from the API output. TheShipNode
andShipNodeDescription
attributes are also read from the API output and displayed on the screen.
getItemAvailabilityForStore
API. The default delivery method for a product is
determined based on the following logic: - If
IsPickupAllowed
attribute isY
for a product and the product is available in current store, then the default delivery method is set to CARRY. - If the product is unavailable to carry, but it is available for shipping and
IsShipAllowed = Y
, then default delivery method is set to SHP. - If the product is unavailable to ship, but is available for pickup and
IsPickupAllowed = Y
, then default delivery method is set to PICK.
If a delivery method is not available for a product, then Not Available
message is
displayed, so the store associate cannot select that method as the delivery method.
Email Product details
resource permission and the
Share button has only the Email option, then the Share button is not seen on the screen.Adding products to a cart
- The store associate can search for a product in Find Products
portlet and add it to the cart from Find Products screen, if
inventory is available, by clicking Add to Cart. The
createOrder
API is called to create a new order, or themodifyFulfillmentOptions
API is called to add products to an existing order. - If the store associate does a quick checkout, the scanned product is automatically added to the cart, and the View Cart screen is displayed.
- To increase or decrease the quantity of a product in the cart, the store associate clicks the
+ or - button appropriately. The following logic is executed:
- The
getItemAvailabilityForStore
API is called to retrieve the availability for the product. - Once a product is added to cart, any change made to the product like an increase or decrease in
the quantity, change in store,price override, and so on, the product has to be added to the cart
again by clicking Add to Cart and the previously added product is not
updated. When the store associate clicks Add to Cart, the
modifyFulfillmentOptions
API is called to add the new product to the cart with the updated quantity. ThegetCompleteOrderDetails
API returns the total number of products in the order.
- The
Additionally, the application provides the following features:
Alternate store selection
- If the
IsPickupAllowed
attribute is"Y"
for a given product and the output of thegetAlternateStoreAvailability
API showsAvailable to Pickup
, then the store associate can choose to view the alternate stores. The alternate stores window has two tabs, Nearby Stores and Search Stores:- In the Nearby Stores tab, stores within a given radius are displayed. The radius can be adjusted by the store associate as required.
- In the Search Stores tab, the store associate enters the state, city, or postal code, and then selects the radius to refine the search for stores with the given parameters.
- In the alternate stores pop-up, the stores are listed based on two rules:
Distance radius to consider when searching for stores
Standard search fulfillment type
-
The maximum radius that can be set using the slider is based on the value set for the rule -
Maximum distance radius to consider when searching for stores
. - The
Distance UOM To Consider When Searching For Stores
rule is used to get the UOM for the distance or the radius considered to fetch alternate stores.
- The
getSurroundingNodeList
API is called to retrieve a set of stores. The output of the API is passed to thegetAlternateStoreAvailability
API to get the availability information for the product at each store. - If the store associate searches for nearby stores, the address of the current store is
passed as the
ShipToAddress
attribute in thegetSurroundingNodeList
API. - After the store associate selects the store for pickup, the information is updated on the Find Products screen.
- For more information about configuring store fulfillment rules, refer to the Implementation section in this topic.
Price override
When a store associate selects the edit icon next to the unit price of a product from the Find Products page or the View Cart page, the PRICE OVERRIDE window is displayed.
In the PRICE OVERRIDE window, the store associate enters the new price for
the product and a reason for the price override. To fetch the override reasons, the
getCommonCodeList
API is called with the CodeType
attribute set to
YCD_PRICEOVERRIDE
. When the store associate clicks Apply,
the modifyFulfillmentOptions
API is called to override the list price of the
product. The original price and the new price of the product are displayed.
To override the price of a product, the store associate must have resource permission to the Override Price action. If the store associate does not have the resource permission, the Override Price icon is not displayed.
Gift Options
The Gift Options available
message is displayed for all items. If an item does not have
gift options, the application needs to be customized to display Gift Options not
available
.
Mini Cart
The store associate can see a preview of the cart by clicking the cart icon. The
getCompleteOrderLineList
API is called to get the list of products in the cart.
Next to each product is an X icon, which a store associate can click to
delete the product.
If the store associate clicks the X icon, the
modifyFulfillmentOptions
API is called with the Action
attribute
set to REMOVE
to delete the product. After a product is deleted, the mini cart is
refreshed.
Evaluation of carry order line availability
Sterling Store Engagement and Store Inventory
Management support the pickup, ship, and carry line fulfillment
options. The getItemAvailabilityForStore
API checks the availability of the
products in stores. The availability of products with carry order lines is computed differently by
the getItemAvailabilityForStore
API depending on whether Sterling Store Engagement is
integrated with IBM® Sterling Global Inventory Visibility or IBM Sterling Intelligent Promising Inventory
Visibility.
When integrated with IBM Sterling Global Inventory Visibility
Carry lines are treated as pickup for the store in which the user is currently logged in. The
delivery method is passed as PICK
when the availability of a product is
checked.
When integrated with IBM Sterling Intelligent Promising Inventory Visibility integration
Sterling Intelligent Promising Inventory
Visibility only supports pick and ship delivery methods for checking
availability. Hence, checking the availability of carry lines in Sterling Intelligent Promising Inventory
Visibility
fails. To avoid checking the availability of the carry lines with Sterling Intelligent Promising Inventory
Visibility,
you must set the yfs.isf.ycd.suppressCarryAvailabilityCheckToIV
property to
Y
.