Skip to content

Partly collected, partly delivered

A customer can collect some items from a store and have the rest delivered, on one order with one payment. A trade customer collects the drill from Leeds today and has the pallet of screws delivered from the warehouse; a shopper picks up the jumper in town and has the sofa sent.

This page follows such an order from the basket to the last refund and links to the detail on each step. Whole collection orders and whole delivery orders work exactly as they always have.

Badger Commerce Enterprise, off by default

It needs collection from your stores (the clickAndCollect and multiLocationInventory capabilities; see Subscription Entitlements), plus its own switch, Customers can collect some items and have the rest delivered (split-collection-enabled), which is off until you turn it on. With it off, a store is offered only when it has everything in the basket.

Turning it on

  • On Shop Settings › Locations, answer … and customers can collect from any of my stores and tick … and collect some items, with the rest delivered under it, then Save. Choosing any other answer turns it off. See Locations.
  • The same switch is under Settings › Orders › Fulfilment, beside Suggest collection on delivered items (split-collection-nudge, on by default), which adds a short "Or collect free today at Leeds" line under an item set to delivery that the chosen store has.

The rules are simple: one store per order, one delivery option for the delivered items, and each item goes one way. An item is collected only if the store has all of it; an item is never split between collection and delivery.

What the shopper sees

  • In the basket, each item that would be sent has a compact Delivery | Collect switch against the shopper's store, with one line about the choice ("Arrives Thu 17 Oct", "Free · Ready today at Leeds", or why Collect can't be chosen, such as "Not in stock at Leeds"). A store bar above the items says which store and what it has, with Change opening a store chooser that shows what each store has. When other stores have items this one hasn't, the bar says so once: "2 items are at other stores · Check other stores". A summary offers Collect everything Leeds has and Deliver everything. Nothing is moved to collection until the shopper chooses it. See In the basket.
  • At checkout, both the one-page checkout and the step-by-step checkout offer every store that has at least one of the items ("Has 2 of your 3 items"), keep the basket's choices, and show the same switch per item. The delivery address and delivery options appear only while something is delivered. See Click and collect.
  • In the order summary beside both checkouts, each collected item carries a small Collect · Leeds tag and, on an order that is partly delivered, each delivered item a plain Delivery tag; an order that is all delivered shows no tags. In the one-page checkout the tags change as soon as the shopper flips an item's switch. The mini basket says "Collect from Leeds" under a collected item.
  • Only a few left. When the chosen store has only a few of an item (3 or fewer), the item's line says so in the basket and in the one-page checkout alike: "Or collect free today at Leeds · Only 2 left" under a delivered item, "Free · Ready today at Leeds · Only 2 left" under a collected one. The number is what the store can still sell for collection: its stock less its safety stock, and less what earlier items in the basket of the same product take. So it can be lower than the stock record in admin: a store holding 2 with a safety stock of 1 says "Only 1 left". The basket and checkout read it live (not from the stock cache), in one read for the whole basket, so the two pages give the same number and offer Collect for the same items.
  • A store with collection slots asks for a time for the collected items ("Collect 2 items from Leeds: choose a time") with the same day-strip picker as every other slot; fully booked days stay in the strip, greyed out. See Collection and delivery slots.
  • Prices. Collection is free. Delivery options are found and priced on the delivered items only, and a free-delivery promotion's minimum spend counts only the delivered items, so collecting an item never earns free delivery on the rest. See Promotions.
  • Emails and the order page show two parts, Collect from Leeds and Delivered to. Emails about one part (ready to collect, collected, dispatched, cancelled) list only that part's items and say what is happening to the rest. See Collecting an order.

After the order is placed

  • Stock. The collected items are taken at the store; the delivered items are sourced as on any delivery order. Both are taken together or not at all. If the store sells out of an item between checkout and payment, nothing is charged and the item moves to delivery. See Locations.
  • Capacity and slots. The collection books the store's collection capacity (and its slot, if it has one) once for the order, however many items are collected; the delivery books its own. See Collection and delivery slots.
  • Each part moves on its own. The store picks and readies the collected items and hands them over; the warehouse packs and dispatches the delivered items with tracking. The order is complete once both are done. See Fulfilment.
  • In the admin, the order page has a Collection panel (ready, collected, the customer's arrival notice, how many collected items are picked, and the delivery's state, such as "Partly dispatched") and a Delivery panel. See Collecting an order.
  • In the store, the POS collection task lists only the items to hand over, and the Badger POS app adds "1 more item is being delivered" so staff don't go looking for the rest. See Mobile POS.
  • Payment. The first part handed over or dispatched captures the whole payment, since waiting for both could outlast the card authorisation. See Fulfilment.
  • Cancelling. Cancel collection and Cancel delivery cancel one part and refund it while the other carries on. A collection nobody comes for is cancelled on its own. A part can't be cancelled while the payment is only authorised; cancel the whole order instead, or wait for the capture. See Cancelling one part of a split order.
  • Returns. Each part can be returned once it is done, with its own return window. See Returns.

For developers

  • REST. A headless storefront makes the same choices through GET and PATCH /v1/basket/{basketId}/handover, including the collection slot; its lowStock lists the items the chosen store has only a few of (item id to how many). Every Order carries collectionMethod, collectionSlot, splitHandover and each line's handover; on an admin order these are read-only. See Headless (REST API) and the API reference.
  • POS. Task lines carry handover, and a collection task adds deliveredItemCount and deliveredLines; transaction rows carry splitHandover with item counts each way. See Mobile POS.
  • MCP. orders get shows the collection store and slot, splitHandover and each line's handover. Its deliveryMethod is now the delivery only, so it is empty on an order that is wholly collected; read collection for the store. manageFulfilment has markReady and markCollected, and manageCancellations takes a part. See MCP.
  • Site transfer. Orders aren't exported, and split-collection-enabled and split-collection-nudge move with the other settings. See Site Data Transfer.

Not yet available

  • Capturing each part's money when that part is handed over, and capturing less than was authorised when a part is cancelled before capture.
  • Products that can only be collected, or only delivered, as a product setting.
  • Moving stock between stores so a store can collect an item it doesn't hold.