(4 customer reviews)

WooCommerce Delivery


Ask your customers for a delivery date or time during checkout process with our WooCommerce Delivery Plugin. Furthermore you can allow orders to be created only during your business hours and provide time slots.

One Time Payment | No subscription | Lifetime Updates
View Demo

Deliver & Pickup WooCommerce products with ease

If you own a delivery service company, for example for pizzas or flowers, then often you need to have a specific delivery date & time from your customers. Our plugin makes it easy to help you with that.

  • Delivery Location, Time Slot & Date
  • Opening hours
  • Delivery Fees
  • Radius Shipping

delivery date and time slots

Delivery Date & Time Slots

Show a delivery date and / or delivery time slot field during checkout process. Times & dates are fully configurable and can be adjusted how you want to have them.

  • Show Delivery Date & Times Field
  • Make it required or optional
  • Adjust times based on Users Timezone
  • Disable weekdays, holidays or custom days
  • Set custom start and end date
  • Fully translated Datepicker
View Demo

Radius Shipping

Our plugin allows you to enable radius shipping based on your shops location. For example if you own a pizza delivery that only delivers to customers within 30km radius. This feature requires Google’s Distance Matrix API.

  • Radius Shipping based on Store <> Customer Address distance calculation
  • Set a radius in miles or kilometer (km)
  • Show a custom error message
  • Still allow Pickup
  • Optionally allow orders when distance could not be calculated
View Admin Demo
WooCommerce radius shipping
WooCommerce opening hours

Opening Hours

Configure your store opening hours with 2 optional opening and closing hours to allow order placements only when your store is open.

  • Enable / Disable Opening Hours
  • Set Open / Close Days from Monday to Sunday
  • Two different time settings per day
  • 3 Different notifications when store is closed
    (before add to cart, before go to checkout or in checkout process)
View Admin Demo

Delivery Times per Weekday or Shipping Method

Easily set different delivery times based on the current weekday or shipping method. Make sure delivery is available only on the weekdays where you can deliver.  Examples:

  • Allow delivery also on Sunday noon
  • Make pickup always possible, but delivery only on certain times
View Admin Demo
delivery times per day
Delivery Fees

Delivery Fees

Add delivery fees when a customer chooses today or next day delivery.

  • Enable Today or Next day delivery fee
  • Set custom fee amount (price)
  • Only apply to certain shipping methods (e.g. exclude Local Pickup)
  • Set a custom label / name for your fee
View Admin Demo

Example Use Cases

WooCommerce pizza delivery store example

Pizza Delivery

Pizza Delivery: Only deliver pizza within 30km radius and allow ordering only during business hours from 5 to 9 o’clock.

– Radius Shipping & Business Hours

fence builder

Fence Builder

Fence builder needs to have an installation date & time when the customer checkouts. Selectable date must be 30 days from today.

– Delivery Time & Date

Female Flower Shop Owner

Flower Store

Flower delivery store shows a message that his store is closed and customers can come back at X time (cart will remain) to place direct delivery orders.

– Opening Hours

4 reviews for WooCommerce Delivery

  1. infiniteeye

    Plugin is very comprehensive and will work for many different delivery scenarios. Great job. Had a bug initially, and got support quickly from the plugin author.

  2. ajaysapiens

    They fixed the issue within one day and are really quick in their responses.
    Very good product at a reasonable price.

  3. atzm23

    Great plugin to suit different needs however there’s lack of documentation to help users.
    But the support team is awesome and able to resolve issues quickly.

  4. juned21

    Great Plugin. It has really solved some of our serious concerns. It’s light weight too. I appreciate the quality of work and support of WeLaunch. And yes, it’s value for money too.

Add a review



Use Business / Opening Hours Widget

Our plugin has a built in business / opening hours widget, that you can use to show off your times. First you need to have opening hours created in the backend settings. Then you can head up into the widget section. Search for Delivery Opening...

How to move the delivery date field before the time field?

If you want to move the date field before the time field, then you simply need to change the hook position. Go to our plugin setting > Delivery time. At the bottom you find a value for the hook priority. Change this from 10 to 20 for...

Delivery Datepicker does not work

Check if this plugin is active "WooCommerce Easy Checkout Fields Editor". Disable it.

Can customers choose a time slot before cart/checkout?

Customers currently only can choose a delivery date & time during the checkout process. Learn more here about creating GDPR services & categories or watch this video:

How are time slots displayed on the front end, e.g. via a calendar or table?

Time slots are displayed as a dropdown menu in the checkout process.

WooCommerce Delivery Cut Off Times

Some WooCommerce shop owners require cut off times for delivery times during their checkout process. By that for example, a store owner can specify a time when next day deliveries are no longer possible. Maybe because of packing times or other...


# Changelog
- FIX:	Auto select first delivery location when choose is disabled

- NEW:	Show a tooltip for no delivery dates
- NEW:	Delivery times per location per inventory support
- FIX:	HPOS support
- FIX:	Exluded weekdays +1 wrong date shown
- FIX:	Removed get_post_metadata filter (use delivery_date_formatted or delivery_data_locale now)
- FIX:	PHP 8.2 Support
- FIX:	Performance improvement
- FIX:	delivery time per location per weekday not working

- NEW:	Delivery location based on inventories
- FIX:	Issue when delivery location and based on users not enabled

- NEW:	Disable shipping methods based on delivery date
- NEW:	Min date respects excluded days
- NEW:	Added 2 more time debug options
- NEW:	Added option to set fees taxable
- FIX:	Distance Shipping fee not removed when shipping method is excluded
- FIX:	Fatal error for array_filter when not array (times not set in backend)
- FIX:	Sort by delivery date / time in backend orders not working

- NEW:	Set dates and time ranges when you can not deliver.
- NEW:	Triggering update_checkout when Fees by Weekday enabled
- FIX:	Calculating distance via Geoposition was not working
- FIX:	Advanced settings HTML Check not working
- FIX:	Minimum order value caused not able to create pages or posts
- FIX:	New Geocoding feature not working
- FIX:	Using delivery_date_locale now for admin mails
- FIX:	Admin panel crashed in delivery time settings

- NEW:	Delivery Location based on Radius
		This will calculate the distance between the user and the 
		selected delivery location and disables them when out of radius
- NEW:	Use Geocoding instead of Distance Matrix
- NEW:	Performance optimizations due to code refactoring
- NEW:	Moved filter woocommerce_delivery_date_form_options to support picker select
- NEW:	Introduced new filter:
- FIX:	Delivery time max orders enabled issue
- FIX:	Using users shipping address instead of billing when guest checkout
- FIX:	Delivery dates used when disabled

- NEW:	Added backend max delivery orders per time check
- NEW:	Updated the min order value to 999999
- FIX:	Delivery fees per weekday not showing

- FIX:	Inifinite Loop in delivery date + time

- NEW:	Added Spanish & French translations
- FIX:	Updated DE & IT translations
- NEW:	Delivery Time Range text saved in custom order meta fields:
- FIX:	Delivery times not updateing when date not used 
- FIX:	Delivery date inline style not working
- FIX:	Radius shipping postcode issue
- FIX:	Added placeholder key names to WPML
- FIX:	PHP notice in admin 

- NEW:	Add delivery fees for radius shipping (e.g. $5 fee for delivery within 20 miles)
- NEW:	Placeholder & error text option for delivery date
- NEW:	Added shipping zone suport for radius shipping
- FIX:	Range text not showing in mails when times per delivery method chosen
- FIX:	Range shows in single order backend 

- NEW:	Added support for flexible shipping plugin
- NEW:	Search in backend support localized date format search
- FIX:	Using wp_timezone_string function now
- FIX:	Issue when processing time went into next day

- NEW:	Delivery Dates per delivery location
- NEW:	Added shipping zone instance ID to select fields in backend
- FIX:	Performance (JS &CSS only executed on checkout page)

- NEW: 	Support for shipping zones
- NEW:	Time examples are now BOLD as many users
		oversaw this easily
- FIX:	Moved updater into weLaunch framework

- NEW:	Dropped Redux Framework support and added our own framework 
		Read more here: https://www.welaunch.io/en/2021/01/switching-from-redux-to-our-own-framework
		This ensure auto updates & removes all gutenberg stuff
		You can delete Redux (if not used somewhere else) afterwards
- FIX:	PHP 5.6 Support

- FIX:	Delivery time options per shipping method caused issue with delivery zones

- NEW:	Delivery processing time next day
- NEW:	Added a new Delivery date locale meta field, that you can use in our
		invoice PDF plugin for example
- FIX:	Made optional Reloading checkout when HTML has changed as it causes infinite
		with multiple shipping zones + shipping dependent options, that was introduced
		in version 1.1.11

- NEW:	Current & Next Day delivery times
		These will override other times except times per shipping method
- NEW:	Set a custom "choose another date" text message
- NEW:	By default date is now before time	
- FIX:	Holidays used as disabled when holidays settings disabled

- FIX:	Important JS issues

- NEW:	Processing & Reverse Processing times per shipping method
		Shipping needs 60 minutes to prepare
		Pickup need 30 minutes to prepare
- FIX:	Moved time debug to advanced settings
- FIX:	Reloading checkout when HTML of shipping method has changed

- NEW:	Added Italian translations thanks to Corrado Lucherini
		If you have translations for us, send them to [email protected]
- FIX:	Added strip tags for placeholder field
- FIX:	Molly payment issue
- FIX:	Rolled back to old distance matrix API

- NEW:	Delivery Date & Time Labels per Shipping method
- FIX:	In some themes selected shipping method was not set correctly
- FIX:	Updated distance matrix vendor pacakge 

- FIX:	Delivery time per shipping always taken monday times
- FIX:	Session PHP issue

- NEW:	Delivery location by user + distance matrix now work together
		so it calculates distance from user + customer

- NEW:	Delivery Times per Shipping Method

- FIX:	Time debug caused issue with times display

- NEW:	Minimum Order Value function

- NEW:	Time debug mode:
- FIX:	Additional recipient not found

- FIX:	Hotfix for translated date format (month names)

- NEW:	Fees can now also contain decimals
- FIX:	Added appending recipients to Woo new order email when locaiton by user is used
		New Orders get sent to both (configured email + user email)
- FIX:	WooCommerce email settings no longer accessiable
- FIX:	Time range not showing in admin, frontend or email
- FIX:	Custom Delivery date, time & location label not showing in email

- NEW:	Delivery fees based on weekdays
		For example if you want to charge a fee only on weekdays (sat or sun)

- NEW:	Delivery Locations based on Users
		Select users, that should show as delivery locations including
		a custom text template + all new order emails will be sent to that user

- NEW:	Delivery Time Ranges:
		Just separate time value and name with a |

- NEW:	Delivery date & time sortable in order backend

- FIX:	Time slot Value to check changed from 0 to 9999

- FIX:	Days after tommorrow delivery fee

- NEW:	Overrite wp time zone with user time settings
- FIX:	Delivery details missing in email

- FIX:	Min date caused JS error

- NEW:	Min Date only get applied on selected shipping methods
		e.g. free shipping only available on next day (+1 day)
- FIX:	Apply filter for disabled dates not working

- FIX:	Max orders / products per time checked even if not enabled

- FIX:	Max orders / products index casted to int now
		10 / 20 or all 0 ending settings were not interpreted right

- FIX:	Delivery time max products adds also products in cart now

- NEW:	Set a maximum products per delivery time
		This was a customization request for a pizza company, 
		who only can produce e.g. 6 pizzas per delivery time
- FIX:	Delivery time placeholder not showing after AJAX load

- NEW:	Added day after tomorrow delivery fee
		Next day fee now only applies on next day

- NEW:	Radius shipping debug mode:
- NEW:	Added support for delivery location on shipping method change
- FIX:	Changed reverse processing time description

- NEW:	Added an option for a placeholder for delivery time & location
		Auto select needs to be disabled: https://imgur.com/a/aBsSq8q
- FIX:	Widget translations broke opening hours widget
- FIX:	GMT - issue

- FIX:	More than 10 orders per day possible

- NEW:	Use WP timezone instead of user time zone (performance)
		Demo: https://imgur.com/a/QjpuMAn
- NEW:	Added delivery location in backend & Emails
- FIX:	Initial timepicker not showing when options empty

- NEW:	Delivery Location 
		Demo: https://imgur.com/a/LK5DLiG
- NEW: 	"Please choose another date" text appears now when todays times exceeded
- NEW:	Reverse Processing Time
		Demo: https://imgur.com/a/dzlcBR6
- NEW:	Added DE Translations
- FIX:	UTC--X Time issue

- FIX:	 Order could be processed when time was set to "select time" 
		 and auto select first enabled

- FIX:	Warning: strlen() expects parameter 1 to be string, array given
- FIX:	New enabled field broke Flatpickr

- NEW:	Order Processing Time
- NEW:	Only available order days
- FIX:	if you set the Default Date to +1 the hour picket treats it as being 
		the same day rather than a future date (so it restricts the hours 
		being picked based on the current time).
- FIX:	Added checks for default, min and max dates

- NEW:	Date will now be saved in internal MySQL Format
		Please check your excluded / holiday settings
- NEW:	Support for written / translated month & day names
- NEW:	Locale support 
- FIX:	Time slot check not working
- FIX:	Time & Date not showing on first checkout (no shipping option set)

- NEW:	Delivery time & date shows in emails
- FIX:	Delivery times do not adjust on future date selects,
		so customers can set a future date without time adjustments
- FIX:	Visitor Day fallback if session empty

- FIX:	Empty delivery times filter

- Inital release

You may also like…

WooCommerce Plugins

WooCommerce Wishlist


The Best WooCommerce Wishlist Plugin lets you create WooCommerce Wishlist pages and shortcodes with ease – that is what our plugin does. Customers may shop your WooCommerce-Store and want to have products they may not can afford or want to have as a gift from friends from Family. So what can they do? They can create a Wishlist of the products, they want to have.

WooCommerce Plugins

WooCommerce Print Products (PDF)


Transform a single WooCommerce product page into an eye-catching PDF leaflet ready for instant download. Export single products easily as PDF, Word or Print. Choose what you want to show and who should be able to see the export buttons.

WooCommerce Plugins

WooCommerce PDF Catalog


With our WooCommerce PDF Catalog plugin you are able to export your complete Shop as a PDF. Export full or just product categories – you can decide. Add a cover image, show a table of contents and customize the layout just as you like.

Save over 75%

Get our Bundles and Save

The bundle includes all of our WooCommerce Plugins. Just now for $299 instead of $504

Get ALL our WordPress plugins in one bundle and save more than 66%!


Get ALL our 43 weLaunch plugins in one bundle and save more than $1500!


Get ALL our WooCommerce plugins in one bundle and save more than 50%!

We use cookies to give you the best online experience. By agreeing you accept the use of cookies in accordance with our cookie policy.

Close Popup
Privacy Settings saved!
Privacy Settings

When you visit any web site, it may store or retrieve information on your browser, mostly in the form of cookies. Control your personal Cookie Services here.

These cookies are necessary for the website to function and cannot be switched off in our systems.

Technical Cookies
In order to use this website we use the following technically required cookies
  • wordpress_test_cookie
  • wordpress_logged_in_
  • wordpress_sec

Decline all Services
Accept all Services