Order Delivery Date and Time Slots for WooCommerce
Let customers choose a delivery date and time slot at checkout. Set delivery days, lead time, a daily cut-off and closed dates.
- Block cart and checkout
- Classic cart and checkout
- High-performance order storage
- WooCommerce 9 – 11
- WordPress 6.6 – 7.1
- PHP 7.4+
Order Delivery Date
- Delivery days, lead time, daily cut-off and holidays
- Time slots with a limit per slot and per day
- Date and slot on the order, the emails and a Deliveries screen
- Block checkout and classic checkout
What Order Delivery Date does
Order Delivery Date and Time Slots for WooCommerce adds a delivery date picker and an optional time slot to checkout, built from your delivery schedule: the weekdays you deliver, lead time, a daily cut-off, same-day delivery if you allow it, and closed dates. It works on both the block checkout, using WooCommerce's own checkout fields, and the classic checkout. The chosen date and time appear on the order confirmation, in My Account, in order emails, on the order screen and in a Delivery column on the orders list.
Order Delivery Date features
Included with every licence
- Delivery date at checkout, required or optional.
- Choose which weekdays you deliver.
- Lead time in days, and a daily cut-off time after which the earliest date moves one day later.
- How many days ahead customers can book.
- Closed dates for holidays.
- Time slots written your way, e.g. "09:00 - 12:00" or "Morning".
- Clear messages that suggest the next available date when a date cannot be used.
- Delivery column on the orders list, compatible with High-Performance Order Storage.
Pro features
- Maximum orders per day and per time slot. Full dates disappear from the classic checkout and are refused on the block checkout.
- Deliveries screen under WooCommerce: every upcoming delivery grouped by date and slot, with address, items and status.
Who uses a delivery date picker
Any store that delivers on its own schedule rather than handing parcels to a courier. The date and time slot go on the order, so the person packing and the person driving see the same plan.
Bakeries and cake shops take orders days ahead and need a cut-off so tomorrow's cakes are not ordered at midnight. Florists are closed on some days and sold out on others, so closed dates and a daily limit matter more than slots. Grocers and meal-prep kitchens run morning and afternoon rounds and need a cap per slot so a round never overfills. Furniture, appliance and plant nurseries deliver on set weekdays with a lead time of several days. Gift shops and hampers need a calendar that stops at the last delivery before a holiday.
Local pickup works the same way: the fields appear for every order whatever shipping method is chosen, so a collection date and time can be booked too.
A worked example: Tuesday to Saturday, two rounds a day
A bakery delivers Tuesday to Saturday, needs one day's notice, stops taking next-day orders at 2pm, runs a morning and an afternoon round, and can fit 20 orders in each round. In the settings that is:
| Setting | Value | What the customer sees |
|---|---|---|
| Delivery days | Tue, Wed, Thu, Fri, Sat | Sundays and Mondays are not offered |
| Lead time | 1 day | Ordering on Tuesday, the first date is Wednesday |
| Cut-off time | 14:00 | After 2pm on Tuesday the first date moves to Thursday |
| Days bookable ahead | 14 | A two-week delivery calendar |
| Closed dates | 25 Dec, 26 Dec, 1 Jan | Those dates are skipped with a message naming the next one |
| Time slots | 09:00 - 12:00, 13:00 - 17:00 | A time slot list after the date |
| Orders per slot (Pro) | 20 | A full round disappears; the next free one is suggested |
The chosen date and slot print on the order confirmation, in My Account, in the order emails and on the order screen, and the orders list gains a Delivery column. The Pro Deliveries screen lists every upcoming delivery grouped by date and slot with the address and items, which is the packing list for the day.
How to set up Order Delivery Date in WooCommerce
- 1
Upload the plugin to
/wp-content/plugins/or install it from the Plugins screen. - 2
Activate it. WooCommerce 9.0 or newer must be active.
- 3
Configure it under WooCommerce > Settings > Delivery.
Questions about Order Delivery Date
Does it work with the block checkout?
Yes. On the block checkout the fields use WooCommerce's Additional Checkout Fields, so they look and behave like the rest of the form. On the classic checkout customers choose from a list of bookable dates only.
Which timezone is used?
Your site timezone from Settings > General.
Do cancelled orders keep their slot?
No. Cancelled, failed and refunded orders free their place.
Can customers skip the date?
Yes, untick "Required" for the date and for the time slot.
Can I limit how many orders a day or a time slot takes?
Yes, in Pro. Set a maximum per day and per time slot under Capacity. A full date or slot disappears from the classic checkout and is refused on the block checkout, and the message names the next free one. Cancelled, failed and refunded orders free their place.
Where does the delivery date show up?
On the order confirmation page, in the customer's My Account order view, in the order emails, on the order screen in the admin, and in a Delivery column on the orders list, which works with High-Performance Order Storage. Pro adds a Deliveries screen that lists upcoming deliveries by date and slot.
What happens when a customer picks a date that is not available?
The date is refused with a plain message that says why, for example that the shop is closed that day or the date is too soon, and suggests the next available date.
Does it work with local pickup?
Yes. The date and time slot fields appear for every order whatever shipping method is chosen, so customers collecting in store book a collection date and time the same way.
Order Delivery Date changelog
- 1.0.0
- Initial release.
Plugins that pair with Order Delivery Date
Custom Order Statuses
Add your own order statuses such as Packed, Awaiting pickup or Ready to ship, with colours, bulk actions and safe deletion.
View plugin
Slack, Telegram & Discord Alerts
Instant WooCommerce alerts in Slack, Telegram or Discord: new orders, low stock and out of stock, with a link straight to the order or product.
View plugin
Table Rate Shipping
Shipping rates from a table of rules by weight, price, item count and shipping class, per order, per item or per class.
View plugin