Shopify will check the postal code and charge for the delivery. It will not ask which day, and it will not stop you taking thirty drops on a Thursday you can only do twelve on.
Local delivery is one of the better things Shopify gives you for free, and most guides about it are written by people selling you something instead. So here is the honest version: what the platform already does, what it genuinely cannot do, and the one piece of it that no app can read, which matters more than it sounds.
Under Settings > Shipping and delivery, each location can offer local delivery. Per location you get:
At checkout, a customer inside the area sees local delivery as a shipping option, priced as you set it. A customer outside it does not. That part works, it is free, and you should set it up before you look at any app.
This is where most stores hit the first wall. Five dollars for the neighbourhood and fifteen for the far side of town is a normal thing to want, and Shopify handles it in a way that is easy to miss: you add more than one local delivery area to the same location, each with its own postal codes and its own rate.
It is not one zone with tiers. It is several zones, each flat. That covers most real pricing, and it is worth exhausting before you decide the built-in tool cannot do what you need.
Shopify does not expose local delivery configuration through its Admin API. Not the zones, not the postal codes, not the radius, not the pricing. An app cannot read what you set up under Shipping and delivery, and it cannot write to it either.
That single fact explains a lot of confused reviews in this category.
When a scheduling app shows a delivery fee next to the date picker, that number is not coming from your Shopify settings. It is a number you typed into the app. If you later change your rate in Shopify and not in the app, your storefront quotes one price and checkout charges another, and nothing warns you.
This is not a bug in any particular app. It is the boundary of the platform, and an app that does not say so plainly is setting you up to find out the hard way. When you evaluate one, ask which number the storefront is showing and where it comes from. There are only two honest answers, and one of them is the next paragraph.
The other route is Carrier-Calculated Shipping, which does let an app return real rates at checkout. It is available only on Shopify plans that start around $320 a month, or as a paid add-on to an annual plan. Several apps in this category depend on it without saying so on their listing, and merchants discover the requirement after install. If an app promises calculated delivery rates, check which Shopify plan it needs before you set anything up.
The area and the rate are solved. None of the following is:
| What you need | In Shopify |
|---|---|
| The customer chooses a delivery date | No |
| A cutoff time, so a 9pm order starts from tomorrow | No |
| Closed days and holidays blocked | No |
| A cap on how many orders one day can take | No |
| Different notice for different products | No |
Shopify has no concept of a day being full. Stock quantity does not stand in for it either, because you are not limited by units on a shelf, you are limited by how many drops fit in one van on one afternoon. Those are different numbers and only one of them exists in Shopify.
Any app can put a calendar on a product page. The differences that matter show up later, usually on a busy week, so they are worth checking up front.
This is the highest-severity failure in the whole 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 is invisible on the line in your admin. Stored on the line item, it rides the product through add to cart and survives express checkout. Ask where the date is written, and then place a test order and look at the line in your admin, not just the order notes.
Shop Pay, PayPal and Buy it now skip the cart. If a date is required, the block has to cover those buttons too. Hiding them with CSS, or editing the cart Liquid to strip them, is the workaround several apps ask for, and it breaks the next time you change themes.
A bouquet is same day. A custom cake is three days. If your store treats both as ready tomorrow, one of those promises is a lie and it is the expensive one. Per product lead times are the most requested missing feature in this category, and in most apps they sit behind the top tier.
Every app in this category sells per product lead times. Almost none of them document what happens when a customer puts a 72 hour item and a same day item in one basket, and the honest answer varies: some quietly push the whole order out to the longest one, and at least one tells the customer to split it into two orders.
The behaviour worth having is that each line keeps its own date. Two items, two dates, one order, nobody splitting anything. Ask the question before you install, because it is the exact situation your best customers create.
Shopify's default packing slip template renders neither order note attributes nor line item properties. A date captured perfectly at checkout can be completely absent from the paper the driver is holding. Edit the template before you rely on it, whichever app you pick.
Most stores need steps one to four. Plenty never need an app at all, and a guide that will not tell you that is not worth much.
We build Readyby for steps three to five: a date the customer picks, per product lead times on the free plan, cutoffs, closed days, daily caps, and pickup or 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 cart keeps its own date. The delivery fee it shows is a number you type in, because as explained above no app can read the real one, and the admin says so next to the field.
Related: Click and collect on Shopify · Readyby setup guide · All guides