How to let customers choose a delivery or pickup date on Shopify
Shopify has no native delivery-date picker. Its checkout collects an address, contact details and payment — there’s no calendar for a customer to say when they want the order. Local delivery and local pickup are native Shopify features, but neither lets the shopper pick a future date: local delivery just adds a delivery-instructions box, and local pickup only shows a fixed “usually ready in…” estimate you set. To actually let customers choose a date — and to block the ones you can’t fulfil — you add a date picker to the cart that enforces your rules (lead time, cutoff, closed and blackout days) and writes the chosen date onto the order.
Does Shopify have a native delivery date picker?
No. There is no delivery- or pickup-date calendar anywhere in the native checkout, cart or product page. The closest native features are local delivery and local pickup, and they’re routinely mistaken for date scheduling — but they aren’t:
- Local delivery lets you deliver within a radius or postal zone. At checkout the customer can add delivery instructions and a phone number — there’s no date to choose.
- Local pickup lets customers collect from a location. You set a single “usually ready in 1 hour / 1 day / 1 week” estimate; Shopify emails them when it’s ready. The customer never picks a day.
So if you sell perishables, flowers, furniture, or anything made or delivered to order, “when do you want it?” still has nowhere to live at checkout.
Why cart notes and theme-code hacks fall short
Merchants usually bolt a date on in one of two ways, and both leak:
- A cart note or line-item property. A free-text field the customer types into. It captures “a date,” but there’s no calendar — so you get “next Tuesday”, “12/5”, “ASAP” — and no validation, so nothing stops yesterday, a closed day, or a date inside your prep time.
- Shopify’s own jQuery date-picker tutorial. Shopify documents a theme customization that adds a basic calendar as a cart attribute. It only does crude rules (no past dates, a fixed months-ahead cap, no weekends), has no daily cutoff and no arbitrary blackout dates, works only on the
/cartpage — not drawer or pop-up carts — and tends to break on theme updates, with dates sometimes not saving to the order at all.
One more constraint worth knowing: editing the checkout UI itself (the information/shipping/payment steps) needs Shopify Plus and checkout extensibility. A date picker on the cart page works on every Shopify plan, which is why that’s where a reliable one lives.
What a real delivery date picker must validate
The value isn’t the calendar — it’s a calendar that only offers dates you can actually fulfil. At minimum it should enforce:
| Rule | What it does |
|---|---|
| Lead time | Minimum notice you need (e.g. 2 days for made-to-order). Sooner dates are greyed out. |
| Cutoff time | A daily deadline — orders after it roll to the next available day. |
| Closed days | Weekdays you don’t deliver, plus one-off blackout dates (holidays, stock days). |
| Maximum days ahead | So nobody books three months out. |
And ideally the rules are re-checked on the server when the order is placed, so a tampered cart can’t sneak through an impossible date. For the blocking side of this — holidays, closed weekdays and too-soon orders — see how to block delivery dates.
Does it work for local pickup too?
Yes. The same picker covers local pickup scheduling — the customer chooses a pickup date (often with different rules than delivery), and it’s written onto the order. “When will it be ready?” becomes a choice they make themselves at checkout, not a question your inbox has to answer.
The fix: Slotly
Slotly adds a validated delivery- and pickup-date picker to the cart and writes the chosen date onto the order, where your fulfilment team sees it on the order detail and packing slip. You set the rules once — lead time, cutoff, closed and blackout days, how far ahead to allow — and shoppers only ever see dates you can actually deliver. No theme surgery, no free-text guessing, no confirmation emails. It’s free for up to 50 date selections a month; Pro (€19/mo) lifts the cap.
It’s honest about what it is: Slotly collects and enforces the delivery/pickup date. It doesn’t set your shipping rates or carriers — those stay in Shopify’s own shipping settings — so pair it with your existing rates rather than replacing them.
Frequently asked questions
- Does Shopify have a built-in delivery date picker?
- No. Shopify's checkout collects an address, contact details and payment, but there's no calendar for the customer to choose a delivery or pickup date. You can bolt on a cart note or a line-item property by editing your theme, but that's a free-text field with no calendar and no validation — nothing stops a customer picking yesterday, a closed day, or a date inside your lead time.
- Can customers pick a date with Shopify local delivery or local pickup?
- No — and this is the common mix-up. Local delivery and local pickup are native Shopify features, but neither lets the shopper choose a future date. Local delivery only adds a delivery-instructions box at checkout; local pickup only shows a fixed 'usually ready in…' estimate you set and emails when it's ready. Picking an actual date needs a date picker you add to the cart.
- What should a delivery date picker validate?
- Four things, at least: a lead time (the minimum notice you need), a cutoff time (orders after it count as the next day), closed days (weekends or specific blackout dates), and a sensible maximum days ahead. Validating on the server as well as in the widget matters, so a tampered cart can't slip through an impossible date.
- Does the chosen delivery date show on the order?
- It should. A good picker writes the selected date onto the order as a line-item property or order attribute, so your fulfilment team sees it on the order detail and the packing slip — not buried in a cart note that's easy to miss. The same mechanism handles local pickup scheduling, with separate rules for pickup if you need them.