---
title: "Configuring in-store pickup shipping options"
slug: "configuring-in-store-pickup-shipping-options"
tags: ["Associate App", "shipping", "config", "in-store pickup", "customer", "platform", "routing", "tutorial", "api", "omnichannel manager "]
updated: 2024-11-12T13:15:48Z
published: 2024-11-12T13:15:48Z
canonical: "docs.newstore.com/configuring-in-store-pickup-shipping-options"
---

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

# Configuring in-store pickup shipping options

You can configure shipping options that will be presented as part of `in-store pickup` in NewStore Associate App, when a customer decides to buy online and decides to pick up the order in-store.

## Generating and viewing in-store pickup shipping options

To generate and view the in-store pickup shipping options for products within a certain geographic location in your business:

1. Use the [Generate in-store pickup options](https://docs.newstore.net/api/integration/store-fulfillment/in_store_pickup_api#operation/GetIn-StorePickupOptions) method.
2. In `location` > `geo`, specify the reference geo-location, based on which NewStore searches for available stores where in-store pickup is available. This can be the location of the customer.
3. In `bag`, specify the product ID and the number of products that are needed by the customer.
4. In `options`, specify the search radius in kilometers, and also specify if you want to see stores that do not have `ATP` for the products in the response payload.

The response payload contains the stores that have the products and the in-store pickup shipping options available at those stores.

## Configuring in-store pickup shipping options globally

To create a new configuration for `in-store pickup` shipping options, for all stores in your business:

1. Use the [Create in-store pickup config](https://docs.newstore.net/api/integration/store-fulfillment/in_store_pickup_api#operation/CreatePickupConfig) method.
2. In the `global` property:
  - In `display_name`, specify the name of the shipping option that will be displayed in NewStore Associate App. For example, `In store pickup`.
  - In `grace_period`, specify the `grace period` for the shipping option.
  - In `default_search_radius`, specify the radius in kilometers that NewStore will search in for stores that support this in-store pickup shipping option.
3. In `stores`, for each store (defined by the `store_id`):
  - In `delivery_time`, specify the estimated delivery time if all items in the order are available in the store.

> [!TIP]
> Note
> 
> This is displayed in NewStore Associate App, and should be a `string`. For example, `Available now`.
  - In `delivery_time_if_not_available`, specify the estimated delivery time if all items in the order are not available in the store. For example, `Pick up in 2-3 days`.
  - In `cost`:
    - In `price`, specify the price of the shipping option before discounts or promotions are applied.
    - In `tax_code`, specify the tax ID associated with the order.
    - In `currency_code`, specify the currency to be used for the price. For example, `USD`.

You can retrieve your current in-store pickup configuration using the [Get in-store pickup config](https://docs.newstore.net/api/integration/store-fulfillment/in_store_pickup_api#operation/GetPickupConfig) method. To update the current in-store pickup configuration, use the [Update in-store pickup config](https://docs.newstore.net/api/integration/store-fulfillment/in_store_pickup_api#operation/UpdatePickupConfig) method.

To remove an existing in-store pickup configuration, use the [Delete in-store pickup config](https://docs.newstore.net/api/integration/store-fulfillment/in_store_pickup_api#operation/DeletePickupConfig) method.

## Configuring in-store pickup shipping options for stores

> [!NOTE]
> Important
> 
> The `in-store pickup` shipping options configured for a store overrides the global in-store pickup shipping configuration.

To create a new configuration for in-store pickup shipping options for a store in your business:

1. Use the [Create in-store pickup config for store](https://docs.newstore.net/api/integration/store-fulfillment/in_store_pickup_api#operation/CreatePickupConfigForStore) method.
2. Specify the `store_id` for the store and for each store ID, specify the following:
  - In `delivery_time`, specify the estimated delivery time if all items in the order are available in the store.

> [!TIP]
> Note
> 
> This is displayed in NewStore Associate App, and should be a `string`. For example, `Available now`.
  - In `delivery_time_if_not_available`, specify the estimated delivery time if all items in the order are not available in the store. For example, `Pick up in 2-3 days`.
  - In `cost`:
    - In `price`, specify the price of the shipping option before discounts or promotions are applied.
    - In `tax_code`, specify the tax ID associated with the order.
    - In `currency_code`, specify the currency to be used for the price. For example, `USD`.

To retrieve the in-store pickup configuration for a store, use the [Get in-store pickup config for store](https://docs.newstore.net/api/integration/store-fulfillment/in_store_pickup_api#operation/GetPickupConfigForStore) method. To update the current in-store pickup configuration for a store, use the [Update in-store pickup config for store](https://docs.newstore.net/api/integration/store-fulfillment/in_store_pickup_api#operation/UpdatePickupConfigForStore) method.

To remove an existing in-store pickup configuration, use the [Delete in-store pickup config for store](https://docs.newstore.net/api/integration/store-fulfillment/in_store_pickup_api#operation/DeletePickupConfigForStore) method.

**Related topics**

- [Configuring refund options](/v1/docs/configuring-refund-options#config-refund-options)
- [Configuring checkout operations](/v1/docs/configuring-checkout-operations#config-checkout-operations)

<style> p[data-block-id] {font-size:1rem;} ul li p[data-block-id] {margin-bottom: 0;} ul[data-type="taskList"] li div p[data-block-id] {margin-bottom: 0;} ol li p[data-block-id] {margin-bottom: 0;} table tbody th p[data-block-id] { margin-bottom: 0;} blockquote p[data-block-id] {margin-bottom: 0 !important;} &nbsp;p[data-block-id]:empty::after {content: "\00A0";} </style><style> p[data-block-id] {font-size:1rem;} ul li p[data-block-id] {margin-bottom: 0;} ul[data-type="taskList"] li div p[data-block-id] {margin-bottom: 0;} ol li p[data-block-id] {margin-bottom: 0;} table tbody th p[data-block-id] { margin-bottom: 0;} blockquote p[data-block-id] {margin-bottom: 0 !important;} &nbsp;p[data-block-id]:empty::after {content: "\00A0";} </style>
