๐Ÿ“ Bolt Help / Dashboard / Checkout Settings / In-Store Pickup
In-Store Pickup
This feature enables your shoppers to select an in-store pickup option during checkout.

In-Store Pickup enables merchants with brick-and-mortar stores to offer an alternative to shipping for their shoppers. Shoppers can choose from a list of stores nearest them instead of having to pay (and wait) for delivery.

in store pickup

Enablement

Adobe Commerce (M2)

  1. Follow the official Adobe Commerce (M2) In-Store Delivery setup guide.
  2. Deploy the Bolt plugin with the In-store Pickup feature on your site.
  3. Select products eligible for In-store Pickup using one of the following methods:

In-Store Pickup Only Enablement

  1. Log in to the Adobe Commerce (M2) dashboard.
  2. Navigate to Stores > Configuration > Sales > Payment Methods > Bolt Pay > Third Party Modules Support.
  3. Add the attribute name Hard Goodsto the field Exclude item groups from product page checkout.
  4. Save.

Any products marked as Hard Goods are now eligible for ship to store.

Category Enablement

  1. Log in to the Adobe Commerce (M2) dashboard.
  2. Navigate to Catalog > Categories.
  3. Choose a category.
  4. Find Bolt Pay Options.
  5. Set the value of Shipment Type to Pick in Store.
  6. Save.

Any products in the updated category are now eligible for ship to store.

Product-Level Enablement

  1. Log in to the Adobe Commerce (M2) dashboard.
  2. Navigate to Catalog > Categories.
  3. Choose a category.
  4. Find Bolt Pay Options.
  5. Select a product.
  6. Set the value of Shipment Type to Pick in Store.
  7. Save.

Direct API

In-Store Pickup requires responding to Bolt’s POST request for an order’s shipping details from your Merchant Callback API. In addition to listing delivery options, the response can also contain pickup options.ย 

  1. Ensure you have set up theย Split Shipping and Tax endpoints for your Merchant Callback API.
  2. Update your order.shipping (/order_create) response to include the object pickup_options with an array of stores available, based on the shopper’s address.ย 

NOTE

Stores that are within 50 miles of the shopper are presented as pickup options. If no store is within 50 miles, the In-Store Pickup option is not displayed.

Request Example

The following request is sent to your order.shipping (/order_create) Merchant Callback API endpoint from Bolt when a user selects the In-Store Pickup option. This request contains an order_token, shipping_address, cart and request_source.

{
  "event": "order.shipping",
  "data": {
    "order_token": "a2b3dDc4cA5e6fg78Bg9hj0kl",
    "shipping_address": {
      "street_address1": "42 Wallaby Way",
      "street_address2": "42 Wallaby Way",
      "street_address3": "42 Wallaby Way",
      "street_address4": "42 Wallaby Way",
      "locality": "Wayne County",
      "region": "Quebec",
      "postal_code": "11209",
      "country_code": "US",
      "country": "Canada",
      "name": "Charlotte Charles",
      "first_name": "Charlotte",
      "last_name": "Charles",
      "company": "ACME Corp.",
      "phone": "867-5309",
      "email": "my.email@gmail.com"
    },
    "cart": {
      "total_amount": 9900,
      "items": [
        {
          "reference": "1123",
          "name": "Blue Hat",
          "options": null,
          "total_amount": 9900,
          "unit_price": 500,
          "tax_amount": 230,
          "quantity": 3,
          "uom": null,
          "upc": null,
          "sku": "SKU-11021",
          "isbn": "12-345-678-90123",
          "brand": "Bolt Swagstore",
          "manufacturer": "Bolt Factory",
          "category": "hats",
          "tags": [
            "red"
          ],
          "properties": {
            "property1": "metallic",
            "property2": "rust-resistant"
          },
          "color": "Red",
          "size": "XXL",
          "weight": 22,
          "weight_unit": "kg",
          "image_url": "https://boltswagstore.com/inventory/hats/red-hat.png",
          "details_url": "https://boltswagstore.com/inventory/hats/red-hat.png",
          "taxable": true,
          "tax_code": "tax-12345",
          "type": "physical",
          "item_group": "Ships Immediately",
          "has_dynamic_price": true
        }
      ],
      "tax_amount": 230,
      "billing_address_id": "address-1",
      "billing_address": {
        "street_address1": "42 Wallaby Way",
        "street_address2": "42 Wallaby Way",
        "street_address3": "42 Wallaby Way",
        "street_address4": "42 Wallaby Way",
        "locality": "Wayne County",
        "region": "Quebec",
        "postal_code": "11209",
        "country_code": "US",
        "country": "Canada",
        "name": "Charlotte Charles",
        "first_name": "Charlotte",
        "last_name": "Charles",
        "company": "ACME Corp.",
        "phone": "867-5309",
        "email": "my.email@gmail.com"
      }
    },
    "request_source": "checkout"
  }
}

Response Example

The following response returns only one in-store pickup option that is 2 miles away.

{
  "event": "order.shipping",
  "status": "success",
  "data": {
    "shipping_options": [
      {
        "service": "Option 1",
        "description": "The <span id=\"1\">most</span> popular choice",
        "cost": 770,
        "tax_amount": 230,
        "reference": "1123",
        "signature": "a1B2s3dC4f5g5D6hj6E7k8F9l0",
        "estimated_delivery_date": "08-30-2022",
        "tax_code": "tax-12345",
        "discount_by_membership": false,
        "default": true,
        "description_tooltips": [
          {
            "target": 1,
            "html_content": "Timeline may vary depending on <b>location</b>."
          }
        ]
      }
    ],
    "pickup_options": [
      {
        "reference": "1123",
        "signature": "a1B2s3dC4f5g5D6hj6E7k8F9l0",
        "cost": 770,
        "tax_amount": 230,
        "store_name": "Bolt Swag Store #47",
        "pickup_window_open": 1578904185,
        "pickup_window_close": 1578904185,
        "address": {
          "street_address1": "42 Wallaby Way",
          "street_address2": "42 Wallaby Way",
          "street_address3": "42 Wallaby Way",
          "street_address4": "42 Wallaby Way",
          "locality": "Wayne County",
          "region": "Quebec",
          "postal_code": "11209",
          "country_code": "US",
          "country": "Canada"
        },
        "distance": 2,
        "distance_unit": "miles"
      }
    ]
  }
}

Filter by Section
Filter by Topic