Expand Shopping Options with In-Store Pickup

Shop by store and provide in-store pickup for online orders in your composable storefront app by using PWA Kit 3.11 and later from the Retail React app template. Adding an option for shoppers to pick up their orders from a store boosts the store’s sales and provides more flexibility to shoppers.

In-store pickup depends on the Shop the Store feature, which enables refining search results for a specific store. Shoppers can refine search results and category-browse through the In Stock checkbox on the Product Listing Page (PLP). For more information, see Shop the Store in Salesforce Help.

  1. Ensure you have the necessary custom attributes. See In-Store Pickup Attribute Reference.
  2. In your cloned pwa-kit GitHub repository, enable store locator in config/default.js by setting the storeLocatorEnabled value to true if you haven't already.
  1. Enable in-store pickup.
    • In Business Manager, click App Launcher, and then select Merchant Tools > Ordering > Shipping Methods.
    • Under Store Pick Up, click Store Pickup Enabled.

Only existing customers can access some of the links on this page. Visit Salesforce Commerce Cloud GitHub Repositories and Access for information about how to get access to the Commerce Cloud repositories.

Set up these custom attributes for the in-store pickup feature.

  • Type: boolean
  • Custom attribute definition in system-objecttype-extensions.xml: storePickupEnabled
  • Description: The storePickupEnabled attribute determines whether the shipping method appears as an in-store shipping method.
  • Type: string
  • Custom attribute definition in system-objecttype-extensions.xml: fromStoreId
  • Description: The fromStoreId attribute is used to store an ID reference to a given Store object on a shipment level.

System attributes are part of your B2C Commerce instance. They don't require any setup.

  • Type: string
  • Description: Use this field to store an ID reference to a store’s associated inventory list (or external inventory ID when using an API). This field is the inventory list used to determine product availability. Upon adding it to cart, it will also be associated with the ProductLineItem via the productInventoryListID field. Note that this system field is different than the custom attribute with the same name but different capitalization: inventoryListId.