Understand Buy Online Pick Up in Store
You can configure in-store pick up for the following scenarios.
![]()
This section applies to Open Storefront Framework
(OSF).
In either scenario, you must create pick-up locations and inventory. See Manage inventory for in-store pick up for more information.
- A shopper picks a store location and the items are in stock at the store. This is the default scenario supported by Retail Digital Commerce and the one described in this documentation.
- A shopper picks a store location and the goods are not in stock, but are shipped from an online inventory location, such as a warehouse, to the shopper’s selected store location.
Configure In-store Pick up to Work with other Retail Digital Commerce Cloud Features
This section describes points to keep in mind when you configure in-store pick up to work with your Retail Digital Commerce instance and integrations.
- Retail Digital Commerce orders include a new properties that support in-store pick-up. These properties appear wherever order information is incorporated, for example, REST API endpoints and webhook bodies. See Understand in-store pick up shipping groups to learn about these properties.
- If a shopper’s order qualifies for a free gift with purchase and the shopper selects in-store pick up, Retail Digital Commerce adds the gift to the cart but moves it to the in-store shipping group only if it is in stock at the pick-up location. See Create a gift with purchase promotion for more information about how Retail Digital Commerce a
- If you want shoppers to be able to pick up items that include add-on products, the add-ons must also be in stock at the pick-up location. Retail Digital Commerce checks add-on products for inventory to make sure they are available for pick up. If a shopper selects an add-on product that is not available for pick up, the main item is also not available for pick up, even if it is in inventory at the pick-up location.
- Retail Digital Commerce can provide inventory status for configurable SKUs only once the configurable SKUs are in the shopping cart. See Using Oracle Cloud Features with Oracle Retail Digital Commerce for details about configurable SKUs and asset-based orders.
- In-store pick up is available for account-based shoppers without any specific configuration for accounts. For orders that require approval, once the order has been approved, the shopper cannot change in-store pick up to a different shipping method. For more information about account-based shoppers, see Configure Business Accounts.
- If your Retail Digital Commerce store lets shoppers pay for purchases
with loyalty points, your store should be configured to
display currencies other than loyalty points and the site’s
payShippingInSecondaryCurrencyproperty should be set to TRUE. Otherwise, when shoppers choose to pay in store (or with any other payment type except points), the order state is set to INCOMPLETE and the order never progresses to fulfillment. To learn more about paying with loyalty points, see Work with Loyalty Programs.
Understand In-store Pick up Shipping Groups
This section describes the shipping group
that contains items a shopper will pick up in a store, inStorePickupShippingGroup. Retail Digital Commerce automatically
creates this shipping group when a shopper selects in-store pick up
for an item they add to the cart. To allow a shopper to select
in-store pick up along with other shipping methods, you must
update the Shipping Options tab in the Checkout Layout. See Configure layouts and widgets for in-store pick up for more information.
The following excerpt from a sample request includes an in-store pick up shipping group.
"shippingGroups": [
{
"lastName": "Smith",
"shippingMethod": "inStorePickupShippingGroup",
"description": "sg60415",
"submittedDate": null,
"firstName": "John",
"priceInfo": {
"secondaryCurrencyTaxAmount": 0,
"discounted": false,
"shippingTax": 0,
"secondaryCurrencyShippingAmount": 0,
"amount": 0,
"rawShipping": 0,
"amountIsFinal": false,
"currencyCode": "USD"
},
"phoneNumber": "987654321",
"shipOnDate": null,
"actualShipDate": null,
"trackingInfo": [],
"locationId": "Boston138",
"specialInstructions": {},
"middleName": null,
"commerceItemRelationships": [
{
"availablePickupDate": "2018-07-23T12:12:58.000Z",
"commerceItemId": "ci5000413",
"inventoryLocationId": "Boston138",
"amount": 0,
"quantity": 1,
"relationshipType": "SHIPPINGQUANTITY",
"returnedQuantity": 0,
"preferredPickupDate": "2018-07-23T12:12:58.000Z",
"range": {
"lowBound": 0,
"highBound": 0,
"size": 1
},
"commerceItemExternalId": null,
"state": "INITIAL",
"id": "r60390"
}
],
"state": "INITIAL",
"id": "sg60415",
"stateDetail": null,
"email": "testTest",
"handlingInstructions": [],
"shippingGroupClassType": "inStorePickupShippingGroup"
}
],