Apps

Delivery Calendar

Offer delivery dates at checkout, cap daily capacity, block exceptional days, and see dated orders on a calendar.

Intro

Delivery Calendar lets customers pick a delivery date at checkout — and gives your team a calendar of the orders attached to each date. Cutoffs, exceptional days, lead times, and capacity limits keep promises realistic.

Purpose

  • Promise delivery dates you can actually meet
  • Plan production / packing around dated demand
  • Let customers change a date within limits you set
  • Test date logic safely before customers see it

What is inside

PageWhat it does
CalendarsThe calendars themselves — name, handle, scope, priority, status, Configure
OrdersMonth view of orders (or shipments) by delivery date, with filters
Calendar TesterSimulate a cart and see which calendar resolves and which dates are offered
Exceptional DaysHolidays, closures, and days with special limits

Create a calendar

  1. Open Apps → Delivery Calendar → Calendars and create a calendar. Choose its Scope — Items (applies to matching products) or Order (whole cart) — and a Priority for when several calendars could apply.
  2. Click Configure and work through the tabs:

Basic

GroupSettings
GeneralEnable Calendar · Require Delivery Date · Disable for Pickup · Date Picker Label · Show Label · Show Selected Date Summary · Checkout Calendar Style (Input, Week strip, Full calendar, Hidden) · date format
ScheduleAvailable Days · Exclude Holidays · Next Available Day (lead time) · Last Available Date · Cut-off Time
CapacityOrder / Shipment Limit Per Day · Product Limit Per Day
Customer Date ChangesLock Changes Before Delivery (days) · Maximum Date Changes
Calendar SourceWhether the Orders view and limits count Orders or Shipments, and which statuses to exclude
Where to Save the DateOrder attribute and / or metafield outputs the date is written to. The first metafield output is the calendar's own key; metafield definitions are created in Shopify automatically so the date shows on the admin order page

Date Picker Label is the customer-facing name of the calendar — it appears above the picker at checkout and next to the date on the thank-you and order status blocks. With more than one calendar, give each a distinct label so buyers can tell the dates apart.

Exceptional Days

Add a day (a specific date or a recurring weekday) and either Disable Delivery or set special Order / Product Limits, a different Cutoff Time, or time slots. The table shows Day, Order Limits, and Status (Active / Disabled). The standalone Exceptional Days page edits the same list.

Limit Rules and Product Ratio Rules

Fine-grained capacity: cap specific products or product mixes per day rather than the whole calendar.

Rules

Conditions with actions Disable / Enable Calendar, Skip Available Dates, or Copy Date (take the date from another calendar) — for example hide the calendar for wholesale customers, or skip Mondays for a specific collection.

  1. Save, then run the Calendar Tester before enabling for customers.

Staff changing or clearing a date

After checkout, the date lives on the shipment. On an Awaiting or On Hold shipment, open Dates, click the pencil, and Save a new date or Clear it. Clear removes the delivery date and the ship-by date derived from it. Update shipment source writes the change back to the order metafield (or deletes that metafield when you clear); Sync to all orders does the same for every order on a merged shipment. The shipment timeline records who changed it. Shipped and cancelled shipments stay locked. Full steps: Change or clear the delivery date.

Customers setting or changing dates after checkout

Two Shopify blocks let buyers handle the date themselves, without contacting you. Add them in the Shopify checkout editor (Settings → Checkout → Customize) and the customer accounts editor:

BlockWhere it showsWhat it does
Delivery Date (Thank You page)The checkout Thank you page, right after the order is placedShows the chosen date. If the order has no date — typical after an Apple Pay or Shop Pay express checkout that skipped the picker — it shows a No delivery date is scheduled… message and a picker so the buyer can choose one straight away
Delivery Date BlockThe Order status page in customer accountsShows the date; Change date lets the buyer move it, or pick one when none is set

Both blocks only offer dates the calendar would offer today (weekdays, lead time, cut-off, capacity, rules), and the order status block only allows changes while the order is unfulfilled. Each block has settings for the heading, message template ({date}), no-date message ({calendar}) and date format, plus Read-only (hide the date picker) if you prefer to display the date without allowing edits.

In the calendar's Customer Date Changes group, Lock Changes Before Delivery stops changes inside the final N days, and Maximum Date Changes caps how many times a date can move. Each change is logged on the order and shipment timeline, and a date the calendar would not have offered raises the alert Delivery date not offered by calendar — see Alerts. The shipment Timeline records where each date came from: picked at checkout, set on the thank-you page, changed by the customer, changed by staff, or copied from another order.

Review dated orders

  1. Open Delivery Calendar → Orders.
  2. Move through the month; each day lists the orders (or shipments, per Calendar Source) due for delivery.
  3. Filter by product type, collection, fulfillment status, or tags.
  4. Open an order to confirm the date synced — it also shows on order and shipment records and drives the Delivery Date filters.

Test before go-live

  1. Open Calendar Tester.
  2. Build a cart with Select Products or Add Manual Item, optionally pick a shipping method (Shipping / Pickup / Local Delivery) and an address.
  3. The tester shows which calendar(s) resolve, the available dates, and the predicted fulfillment location — the same resolution the live checkout uses.

Who can use it

Included on Pro and Enterprise. Permissions View delivery calendar / Manage delivery calendar.