Login  Sign up

August 2019 | Build 5.2.7

***Effective 8/23/2019 Production Client has been hotfixed to 5.2.8 to address regression issues in price threshold functionality and prepared items flow.***

Hub and Spoke

As online grocery continues to grow and evolve, it is no longer enough to think of order fulfillment within the context of the 4 walls of a store. Successful grocers will need better options for managing labor and orchestrating fulfillment execution across the enterprise. To that end, ShopperKit it very excited to release the first iteration of our Hub and Spoke fulfillment feature set. We've built out the

    Spoke Store Pickup Only

Conceptually, this is the simplest of Hub and Spoke use cases. With this model, you would completely fulfill and settle all orders at a single Hub store location, where you then create a load of completed orders to be delivered to a different spoke store location. Once received by the spoke store, orders would be re-staged where they would wait to be picked up by the customer. 

This model is useful for when you may have stores that are reasonably close to hub stores and could act as good curbside pickup locations, but lack the inventory assortment, demand or labor required to make the store suitable for fulfillment operations.

Spoke Store Top Offs

In this model, orders may be partially fulfilled from the Hub location before being received by the spoke store to complete fulfillment and settlement. A common use case for this model would be where you centralize center aisle order fulfillment for a group of stores in a dark store location, and instead deliver loads of orders to your spoke stores where the remaining fresh items are added to the orders before they are settled and staged for customer pickup or delivery.

3rd Party Fulfillment

With 3rd Party Fulfillment, you have the ability to receive orders that have been fulfilled (in part or entirely) by a provider that is external to ShopperKit. With 3rd party fulfillment, ShopperKit will receive orders and load data via webservice integration. Spoke stores will then be able to receive orders fulfilled by the external provider for top off, settlement and pickup or delivery.

Using Hub and Spoke

As Hub and Spoke is an entirely new workflow, we have created a short 16 minute video tutorial to help explain and demonstrate this feature in detail. 

Enabling Hub and Spoke Orders

To enable Hub and Spoke functionality inside of ShopperKit, you must first enable Hub and Spoke orders. The process for enabling Hub and Spoke orders is very similar to that of enabling "Ghost" stores. For those not familiar, a ghost store order is any order where the Store ID of the order is different than Fulfillment Store ID, and the Store ID doesn't exist in ShopperKit. With a Hub and Spoke store order however, the Store ID will exist in ShopperKit and will be configured as a Spoke store for one or more Hub Store. 

Configuring ShopperKit Stores for Hub and Spoke

All configuration for Hub and Spoke stores will be done in ShopperKit Admin Portal. From the Stores menu, you will now notice a new Store Type option when creating or editing stores.

Store Type Options

The first thing you will need to do is create or edit your Hub stores. To do this, create or select the store that will serve as your FulFillment Hub store, select the Hub Store Type option and click save.

Configure Hub Store

Additionally, you will need to indicate on the Hub store how orders will be settled at POS. If you will be allowing for top offs at the spoke store locations, meaning that you will pick some of the order at the hub and the remainder of the order at the spoke, they you will need to Configure ShopperKit to allow for Spoke Store Settlement by setting the HubSettleOrdersAtSpoke to True. If you will be fulfilling the order in its entirety at the hub store and require settlement to be completed before the order is transferred to Spoke store then you will configure ShopperKit to not allow settlement at Spoke by setting the HubSettleOrdersAtSpoke to False. This is all configured via a single App Attribute setting on the Hub Store record. If you are editing your stores for Hub and Spoke for the first time then the you will need to add the attribute vs/ editing it.

Configure POS Settlement Option

Because there are upstream settlement implications with Commerce and Payment Gateway solutions, it is advisable that you test you desired POS Settlement options before making any changes in production.

Once your Hub stores have been configured you will be ready to configure your Spoke store. To do this, select or create the store that will be the Spoke store and select the Spoke Store Type option. Once you have selected the Spoke option, you will be required to assign the store to a Hub store from the Parent Store dropdown list. This list will only display stores that have been designated as Hubs. A Spoke store may only have a single Hub store, but a Hub store may service many spoke locations.

Configure Spoke Store

Other Improvements

Notification Stacking

Previously, if several Carryout Arrival notifications would all come in at once, the "Take It" notifications would stack vertically on the screen, making it difficult for workers not responsible for Carryout to continue to use ShopperKit until the messages were finally dismissed by the act of someone else acting on the notification. While we still want to make sure these "Take It" notifications remain sticky and can't be easily dismissed, we recognize that there is a better way to manage these. Instead, these notifications will now stack on top of each other and a numeric indicator will show you how many stacked notifications there are.

Delivery Solutions Integration

We are pleased to announce the addition of Delivery Solutions to our list of supported third party last mile delivery providers. Rather than being a delivery provider themselves, Delivery Solutions provides a delivery orchestration platform to allow you to manage order delivery across multiple providers. 

SMS Template improvements

With this release we have added a Time of Day tag to the template builder and we've fixed the Chat client in the UI so that it does not attempt to launch the virtual keyboard when you are previewing template messages.


  • Prevent Driver Arrival "Take It" notifications from allowing ShopperKit users from carrying out orders that have not yet been settled.
  • Allow iOS client to change payment type on order when a POS Exception exists, even if the order is in POS Processing status.
  • When no orders exist for a store, show the No Orders message in the order list instead of infinite loading.
  • Better print handling for BLE on iOS.