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.
Disclaimer: In-store pickup is generally available. The store inventory filter (that is, "Shop the Store"), which corresponds to the "In Stock" checkbox on the Product Listing Page (PLP), is in beta as defined by the customer's main services agreement. The store inventory filter is provided as-is. If you aren't part of the pilot/beta program, the store inventory filter doesn't work properly.
- Set up a store locator. See Boost In-Store Sales with Store Locator.
- Build your site with:
- The Retail React app template
- Retail React App version 7.0 or later
- Commerce SDK React version 3.4.0 or later
- Ensure you have the necessary custom attributes. See In-Store Pickup Attribute Reference.
- In your cloned pwa-kit GitHub repository, enable store locator in app/constants.js if you haven't already. Set the
STORE_LOCATOR_IS_ENABLED
constant totrue
. - Enable in-store pickup.
- In Business Manager, click Merchant Tools > Ordering > Shipping Methods.
- Under Store Pick Up, click Store Pickup Enabled.
- Set up at least one store with an inventory list. See Create Stores in B2C Commerce and Inventory Management in Salesforce Help.
- Enable Shop The Store for storefront search in Merchant Tools > Search > Search Preferences.
- Ensure your inventory index is built in Merchant Tools > Search > Search Indexes.
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
.