Understand buy online pick up in store

You can configure in-store pick up for the following scenarios.

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 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.

For information about more complex integrations, for example, externally-configured SKUs and asset-based orders, see Using Oracle CPQ Cloud Features with Oracle Commerce.

Configure in-store pick up to work with other Commerce Cloud features

This section describes points to keep in mind when you configure in-store pick up to work with your Commerce instance and integrations.

  • 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, 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 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. 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.
  • Commerce can provide inventory status for configurable SKUs only once the configurable SKUs are in the shopping cart. See Using Oracle CPQ Cloud Features with Oracle 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 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 payShippingInSecondaryCurrency property 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. 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"
    }
  ],