A pickup slot's capacity is the lower of two numbers: how many orders you can have ready for it, and how many you can hand over during it. Work out both, take the smaller, and knock off about 20% as a buffer. Then pick a slot length that suits how your customers arrive, set a lead time and a same-day cutoff, and make sure the cap is checked at checkout, not just greyed out on the page. Shopify's native Pickup in store does none of this. It has no dates, no slots and no caps, so every decision below needs a pickup scheduling app.
This post is about sizing the slots. For the setup itself, see the Shopify in-store pickup scheduling guide.
What Shopify's native pickup gives you
| Shopify Pickup in store | With a pickup scheduling app | |
|---|---|---|
| Pickup at a chosen location | Yes | Yes |
| Customer picks a pickup date | No | Yes |
| Customer picks a time slot | No | Yes |
| Cap on pickups per slot | No | Yes |
| Ready time based on your hours | No β a fixed "usually ready in" message | Lead time, cutoff and slot layout |
| Closed dates per location | No | Yes |
Native pickup is enabled per location under Settings β Shipping and delivery β Pickup in store. Keep it on β it provides the checkout method. The app adds the schedule on top.
The four decisions
1. Slot length
Slot length is about arrival behaviour, not about you. Ask how precisely your customers turn up.
- 15 minutes for hot food and coffee, where the order goes cold if it waits.
- 30β60 minutes for bakeries, delis and butchers, where orders are staged in advance and customers arrive roughly on time.
- 2 hours for florists, wine shops and general retail, where the order sits happily on a shelf and customers fit collection around their day.
Shorter slots spread the queue more evenly but are harder for customers to hit. If a slot routinely has half its pickups arriving late, it's too short.
2. Pickups per slot
Work out two numbers for a single slot and take the lower one.
Preparation capacity is how many orders you can have ready by the start of the slot. For a kitchen, it's tickets per slot. For a bakery, it's how many boxed orders the morning bake and packing produce by then. For a retail branch, it's how many orders one person can pick and bag ahead of time.
Handover capacity is how many customers you can serve at the counter during the slot:
slot minutes Γ· minutes per handover Γ staff at the counter Γ 0.8
The 0.8 covers the customer who can't find their confirmation email and the one who adds a coffee. A prepaid, staged order takes about 1β2 minutes to hand over. Add a minute or two for ID checks on alcohol, for payment on collection, or for checking a cake with the customer before they take it.
Worked example. A bakery runs 30-minute slots on Saturday morning with one person at the counter. Handover is about 2.5 minutes, because each cake is opened and checked. Handover capacity is 30 Γ· 2.5 Γ 1 Γ 0.8 = 9.6. The team can pack 14 orders per half-hour. The lower number wins, so the cap is 9. Add a second person at the counter and handover rises to 19, so packing becomes the limit and the cap moves to 14.
3. Lead time
Lead time is the gap between ordering and the earliest pickup you'll offer. It exists so you never promise an order you can't make.
- Same day (0 days) for anything you sell from stock or cook to order.
- 1 day for bakeries and delis that prep the evening before.
- 2+ days for custom and made-to-order items, set per product rather than for the whole store.
4. Same-day cutoff
The cutoff is the time after which "today" disappears from the calendar. "Order by 14:00 for same-day pickup" means an order at 14:05 gets tomorrow as its earliest option. Set the cutoff by working back from your last slot: if the last slot is 17:00β18:00 and an order takes two hours to prepare, the cutoff can't be later than 15:00.
This is the fix for Shopify's native ready-time problem. The native message doesn't know you close at 18:00, so an order at 17:30 can still promise "ready in 2 hours". A cutoff plus slots only ever offers times you're open and staffed.
Starting points by business type
These are starting points to adjust, not benchmarks. Run them for two weeks, then look at how many slots filled and how long the queue got.
| Business | Slot length | Pickups per slot | Lead time | Same-day cutoff |
|---|---|---|---|---|
| CafΓ© or takeaway | 15 min | 4β6 (kitchen-limited) | Same day | 60β90 min before last slot |
| Bakery (preorders) | 30β60 min | 8β12 | 1 day; custom cakes 2β5 days | Day before, 14:00β16:00 |
| Butcher, deli, grocer | 60 min | 10β15 | Same day or 1 day | 12:00β14:00 |
| Florist | 2 hours | 6β10 | Same day; arrangements 1 day | 11:00β13:00 |
| Wine or liquor shop | 2 hours | 10β20 (ID checks slow handover) | Same day | 15:00β16:00 |
| Multi-location retail | 2 hours, or date only | Per branch | Same day or 1 day | Varies by branch |
Several locations need several schedules
A single store-wide schedule overbooks your smallest branch. If the flagship can take 12 pickups in a slot and the neighbourhood shop can take 4, one shared cap of 12 floods the small shop and one of 4 wastes the flagship.
Size each location on its own. In OrderRules, every pickup location has its own pickup weekdays, lead time, cutoff, booking horizon, time slot template and closed dates. Capacity comes from the slot template, so give the small branch a template with lower caps. Customers choose the location first, then see that location's slots.
Peak days and holidays
Mother's Day, Valentine's Day, Christmas Eve and the Saturday before a bank holiday break normal sizing. Plan for them in three ways:
- Close dates you can't staff instead of letting them fill.
- Cap the product, not just the slot. If the constraint on a peak day is how many cakes or arrangements you can make, a daily product limit is the tool. In OrderRules, a product's daily limit can count against the pickup or delivery date the customer chooses instead of the day the order came in. That puts a ceiling on, say, 40 bouquets for 14 February across every slot and both fulfilment methods. See order date vs delivery date for why that matters.
- Open the calendar early by raising the booking horizon a few weeks before the peak, so demand spreads out instead of landing in the last three days.
One limit to know: in OrderRules a slot's capacity is the same number on every date. You can't give 14 February a bigger cap than an ordinary Tuesday, so size slots for a normal day and use product limits and closed dates for the peaks.
Why the cap has to hold at checkout
A slot picker on the product or cart page greys out full slots in the browser. That's a display, not a limit. Shop Pay, Apple Pay and the Buy Now button can take a customer to checkout without passing the page where the calendar sits, and two customers looking at the same "1 left" slot can both add it to their cart.
The cap only holds if it's checked again when the order is placed. On Shopify that's what a checkout validation Function does, on any plan. OrderRules runs one: a full slot, a closed date or a slot before the lead time is blocked at checkout, including express checkouts, and cancelling an order releases its slot.
The honest caveat: the check reads a snapshot of bookings rather than locking the slot, so two checkouts completing in the same second for a slot's last place can both go through. It's rare, and a buffer in your cap absorbs it.
Getting the slot to the counter
A booking only works if the people packing orders see it. Check that your app saves the date, slot and location on the order itself, not just in its own dashboard. OrderRules writes them to the order's attributes in Shopify admin. Turn on order tagging and orders also get pickup:YYYY-MM-DD and slot: tags, so each branch can filter today's pickups in Shopify order search and stage them in slot order.
Shopify's default packing slip doesn't print order attributes. If your team packs from printed slips, add the pickup fields to your packing slip template.
Choosing an app: questions to ask
Per-slot limits, cutoffs and several locations are standard across pickup apps now. The differences are in the details:
- Is the slot checked at checkout, or only greyed out on the page? Ask specifically about Shop Pay and the Buy Now button.
- Does capacity count orders or items? An order of one croissant and an order of forty weigh the same if the cap counts orders.
- Can each location have its own weekdays, cutoff and caps?
- Which plan includes slot caps? On Zapiet, for example, per-slot limits start on the $79.99 Advanced plan rather than the $49.99 entry plan. OrderRules includes them on Advanced at $19.99/month.
- Where does the booking end up β on the Shopify order, in tags, on the packing slip?
- Does it need Shopify Plus? Only for putting the picker on the checkout page itself.
For side-by-side detail, see OrderRules vs Zapiet, OrderRules vs Pickeasy, and the best Shopify delivery date picker apps, most of which also do pickup.
How OrderRules handles pickup slots
- A pickup date and slot picker on your product and cart pages, with a location selector, and on the checkout page for Shopify Plus.
- Per-location schedules: pickup weekdays, lead time in days, a daily cutoff, a booking horizon, a time slot template and closed dates.
- Slot capacity counted in orders per slot per day, checked at checkout by a Shopify Function. There is no whole-day cap for a location, so give a location slots if it needs a daily ceiling.
- Daily product limits by pickup or delivery date for production-limited items.
- Bookings saved on the order, with optional tags for prep lists.
What it doesn't do: count slot capacity in items, set a different cap for one date, send pickup reminders, or replace your POS. On stores without Shopify Plus, OrderRules can't check that the delivery method picked at checkout matches the pickup chosen in the picker.
It's on the Advanced plan at $19.99/month, with a 14-day free trial and no Shopify Plus requirement. See the pickup scheduling feature page, or set it up with the in-store pickup docs.
Start your free trial β add a pickup location, size its slots with the table above, and adjust after two weeks of real bookings.