---
title: "BOPIS Order injection"
slug: "bopis-order-injection"
updated: 2025-08-07T18:14:55Z
published: 2025-08-07T18:14:55Z
canonical: "docs.newstore.com/bopis-order-injection"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.newstore.com/llms.txt
> Use this file to discover all available pages before exploring further.

# BOPIS Order injection

> [!WARNING]
> **Prerequisites**
> 
> Complete [Module 1 - Foundational Setup](/v1/docs/module-1-foundational-setup), [Web Order Injection](/v1/docs/web-order-injection) and [BOPIS - Pick up options](/v1/docs/bopis-pick-up-options-and-additional-configuration) and additional configuration
> 
> Inventory for the test product(s) is loaded for the stores.

The process of creating a Buy Online Pick Up In-Store (BOPIS) Order involves two distinct steps:

Step 1: Create Pick Options - Using the customer's cart contents and the Location where the customer intends to pick up the order, eCom-NewStore integration should generate pick options.

> [!NOTE]
> Important
> 
> - Pass the cart information, including the items, Latitude, and Longitude, to the [Generate in-store pickup options](https://docs.newstore.net/api/integration/store-fulfillment/in_store_pickup_api/#operation/GetIn-StorePickupOptions) to generate the pickup options.
> - Normally, the customers will enter their zip code/city+zip code to locate, so the integration should have the additional logic to convert the zip code to latitude and longitude.

The `show_stores_without_atp` flag in the request determines whether to display all stores or only those with Available-to-Promise (ATP) inventory.

Note that:

- If `show_stores_without_atp` is set to true, all stores will be displayed, regardless of their ATP status.
- If `show_stores_without_atp` is set to false, only stores with ATP inventory will be displayed.

Additionally, it is possible to inject an order even if ATP is not available. However, please be aware that:

- Any order lines without ATP will be placed on hold.
- Only order lines with sufficient ATP inventory will be routed to the Store for Picking and Packing.

Step 2: Inject BOPIS Order with the generated pick options from the previous step

> [!NOTE]
> Important
> 
> - The create order API is documented here - [Create order](https://docs.newstore.net/api/integration/order-management/order_injection_api/#operation/CreateOrder)
> - The shipping offer token should be passed in shipping_offer_token the payload.

Upon successful order injection, the order will be routed to the designated Store location, contingent upon the Remorse period. However, if the required inventory is unavailable for either a portion or the entire order, the order will be placed on hold, pending further action.

Once the order is successfully sent to the store, the Associate will receive a notification regarding the Fulfillment request in the Associate App (AA). The Associate will then utilize the Associate App to fulfill the order, ensuring that the customer's request is completed efficiently and effectively.

Refer to [Using the app to fulfill orders](/v1/docs/using-newstore-associate-app-to-fulfill-orders) for the tutorial on how the associate needs to do the store fulfillment and customer handover.

*(Also Sales order, Sale, Purchase)*

A promise to deliver or sell goods or services. In NewStore, an order can be created via NewStore Associate App or imported from other systems. See Order placement , Shopping cart , and Importing orders.

A place from where the item can be fulfilled by the retailer or collected by the customer. Typically a Distribution center or a Retail store. See Managing locations in NewStore.

The activity of picking an item at a storage location.

Activity of placing items into a shipping container.

*(Also Grace period, Cooling-off period)*

The configurable period of time following the placement of an order, when the customer may choose to cancel the order. This is also called a remorse period or cooling-off period. In NewStore, the grace period can be configured for the business as a whole or in the Service level set in the fulfillment configuration.

A request sent to the Fulfillment location. This request is generated in the following cases:

- `DC` fulfillment
- store fulfillment
- in-store purchase

See Integrating a fulfillment provider.
