Turning it on is free and takes about ten minutes. The part that takes longer is deciding what happens when forty people all choose Saturday.
Click and collect, local pickup, curbside, collect in store, BOPIS. Different words, one thing: the customer buys online and comes to you. Shopify supports it out of the box, properly, at no cost, and you do not need an app to start.
What you may need an app for is the question Shopify never asks the customer, which is when.
Go to Settings > Shipping and delivery, find the Local pickup section, and enable it for each location you want customers to collect from. Per location you set:
At checkout the customer picks a location and pays nothing for shipping. When the order is ready you mark it ready for pickup, which sends them a notification, and you mark it picked up when they collect. That flow is built in and it works.
Products must be stocked at the location to be collectable from it. If a location has no inventory recorded for an item, that location will not be offered for it. This is the most common reason pickup does not appear at checkout, and it is worth ruling out before you conclude anything is broken.
It is a sentence. That is the whole feature.
"Usually ready in 24 hours" is text shown at checkout. Shopify is not calculating anything from it, not blocking anything, and not recording anything on the order. The customer does not choose a day and you do not find out which day they intend to turn up.
For a shop where collection means "any time this week during opening hours," that is genuinely all you need, and you can stop reading here. For anything made to order, it is not.
Three signs, and most shops hit them in this order:
Nothing on the order says which day they meant, so nothing can be wrong and nothing can be right. You find out at the counter.
Shopify has no concept of a day being full. Stock quantity does not substitute for it, because you are not limited by units on a shelf, you are limited by how many orders you can prepare on one morning. Those are different numbers and only one of them exists in Shopify.
A tray bake is same day. A decorated cake is three days. A single store-wide "usually ready in 24 hours" makes one of those promises a lie, and it is always the expensive one.
Any app can put a calendar on a product page. The things that separate them show up on a busy week, so check them first.
This is the highest-severity failure in the category and it fails quietly. A date stored only as a cart attribute can be discarded when Shopify issues a new cart token, and it does not appear on the line in your admin. Stored as a line item property it rides the product through add to cart and survives express checkout. Place a test order and look at the line itself, not just the order notes.
Express checkout skips the cart entirely. If a collection date is required, the block has to cover those buttons. Hiding them with CSS, or editing your cart Liquid to strip them, is what several apps ask you to do, and it breaks the next time you change theme.
Bank holidays, your week off, the Monday you never open. A greyed out day prevents the conversation. A note saying "we are closed Mondays" does not.
Nearly every app sells per product lead times and almost none document what happens when a customer puts a three day item and a same day item in one basket. Some push the whole order out to the longest one. At least one tells the customer to place two orders. The behaviour worth having is that each line keeps its own date, so two items can be collected on two days from one order. Ask before you install, because this is exactly what your best customers do.
Shopify's default packing slip template renders neither order note attributes nor line item properties. A collection date captured perfectly at checkout can be completely missing from the paper in the back. Edit the template before you depend on it, whichever app you choose.
A slot turns collection into an appointment. That is right for a shop with a counter and a queue, and it is overhead for a shop where people drift in.
The honest caveat, which applies to every app in this category including ours: no one reserves a slot while a customer is still in checkout. Two people can select the last Saturday slot at the same time and both get it. The count goes up when the order exists, not when the checkout starts. Zapiet is the only vendor that documents this. It is a limitation of how Shopify checkout works rather than of any one app, and an app that implies otherwise is overselling.
Start date only. Add slots when you actually have a queue.
Plenty of shops never get past step two, and a guide that will not say so is selling you something.
We build Readyby for steps three to six: a collection date the customer picks, per product lead times on the free plan, cutoffs, closed days, daily caps and optional time slots, for pickup and for local delivery. It writes the date to the line item, it blocks express checkout until a date is chosen, and each line in a mixed basket keeps its own date. It is a theme app block, so uninstalling removes it and leaves nothing in your theme.
Related: Order ahead for a butcher, deli or farm shop · Lead times for a bakery on Shopify · Shopify local delivery: zones, fees and dates · Readyby setup guide · All guides