Buy Online, Pick up in Store involves the following users:
As a developer, there are many ways in which you interact with these users to build Buy Online, Pick Up in Store.
You can store back-office components, such as location and inventories, on partner solutions. These partner solutions then serve as the source of truth for your data.
You can expose back-office components on the storefront. This would enable partners to create Buy Online, Pick up in Store experiences. For example, partners can create store locator widgets for the shopper.
The following diagram illustrates how all the different parts relate with each other.

The above diagram contains two colored symbols:
For more on the tools you can use to do build Buy Online, Pick up in Store experiences, see Shopper experience and Merchant experience.
Shoppers are the end-customers who make a purchase on the retailer, or merchant, site.
The following diagram shows the API endpoints that support a Buy Online, Pick up in Store solution for shoppers.

To build custom experiences for shoppers, use the following tools:
You can use the GraphQL Storefront API to query locations and inventory exposed to the storefront.
For more information, see Get Locations and Get Inventory.
If you want to customize a storefront theme, use Stencil Handlebars.
You can use the Storefront Checkout API to manage checkout operations on Stencil-powered storefronts.
You can use the Storefront Pickup Options API to allow shoppers to search for available pickup options near provided coordinates. Shoppers can retrieve pickup options for items based on shopper location and the availability of items at specific locations.
Merchants are retailers who have BigCommerce stores and want to sell online.
The following diagram shows the API endpoints that support a Buy Online, Pick up in Store solution for merchants.

The following APIs are primarily intended for mid-market and Enterprise merchants who have in-house IT teams or work with agency partners to connect BigCommerce to external partner systems (e.g. ERP, OMS, IMS).
The Inventory API exposes location-aware, item-level inventory data. You can create BigCommerce apps and custom API-driven solutions that do the following:
For more information, see Inventory Overview.
When your store starts using the new Inventory API, you may experience breaking changes.
The Catalog API only supports basic inventory concepts (inventory_level, inventory_warning_level, inventory_tracking).
When you start using the Inventory API, inventory management not be handled through the Catalog API, but instead through the Inventory API.
You can create new locations for your inventory using the Locations API For more information, see Locations Overview.
You can use the Pickup Methods API to create pickup methods for your shoppers. The API lets you make the methods available at certain locations. These methods determine the options that are available to shoppers if they pick up their orders, i.e. fulfill their order with a pickup method.
You can use the Pickup Options V3 API to retrieve pickup options for items. The retrieved options are based on the shopper’s location and the availability of items at locations. The Pickup Options V3 API returns only options from locations in which all requested items are available.
“Pickup in store” is a new fulfillment method that supports Buy Online, Pick up in Store. You can use the Pickup API to manage pickups, including the items to be collected and the method of pickup.
You can use the Checkout V3 API to manage checkouts from server to server.
To support Buy Online, Pick up in Store, the Orders V2 API uses consignments, or collections of line items and a fulfillment method. You can create orders that have a pickup, shipping, or digital fulfillment method for consignments. An order can have only one type of fulfillment method. Also, you can create only one pickup consignment per order.
The updates to the existing Orders V2 API were additive changes to ensure backward compatibility.
Buy Online, Pick up in Store currently focuses on pick up in store capability that uses APIs. You currently cannot quote shipping rates from multiple shipping origins with partners.
Buy Online, Pick up in Store currently supports pick up on a single storefront channel. Currently, you cannot have different warehouse locations and inventory service different storefront channels.
Buy Online, Pick up in Store does not support in-stock transfers. Use a partner system (e.g. OMS / ERP), which is the source of truth for inventory and order management, to handle in-stock transfers.