Looking for a solution to let shoppers at your WooCommerce store choose delivery dates on products with custom lead times?
Think about it – you could, for example, have a furniture store where it takes a few weeks before products are ready for delivery. With this setup, you could automatically account for these lead times while still letting customers choose their preferred delivery date when they check out.
This has a few key benefits for your store:
- Customers know exactly when they can expect their products, which properly sets their expectations and makes it more convenient for them to plan.
- You don’t have to use awkward workarounds, like trying to include lead times in the product description. This can cause customer frustration because it’s easy for them to miss this since the process isn’t automated.
- Everything is automated, which saves you time and effort. Instead of dealing with customer support requests, you can let customers use self-service while still accounting for the time that it takes you to prepare deliveries.
In this post, we’ll show you step-by-step how to offer WooCommerce delivery dates on products with lead times using a combination of two plugins.
When shoppers land on a single product page, they’ll see the lead time right away (and you can use different lead times for different products):
Then, when they go to check out, you can let them choose their preferred delivery date while automatically accounting for the lead time(s) in the delivery calendar:
Let’s dig in…
Some Examples of Stores That Can Benefit From This Strategy
The most common use case is any type of store that combines both “made to order” and delivery times.
One example would be a bakery. If you make custom cakes that take a few days to prepare, you could let people order online and then choose their delivery time while still giving yourself plenty of time to bake the cake. Or, you might have a restaurant that offers special catering packages. This would let shoppers book their catering package in advance while still giving you time to prep the order.
Another example could be the aforementioned furniture store. Even if you aren’t custom-making furniture, it might take you a few days to prep bulky products for shipment. You can still give shoppers the convenience of choosing their delivery slot while also accounting for the handling times of your products.
You can even set different prep times for different products. For example, you might be able to deliver a single chair faster than a king-size bed.
These are just a few examples, you can probably come up with your own use cases as well.
How to Provide Customers With Delivery Dates on Products With Lead Times
Now, let’s get into the actual tutorial.
To set up this functionality, you’re going to need two plugins:
- WooCommerce Lead Time – $49 – this plugin lets you add lead times to your products. You can use one lead time for all products or display different lead times for different categories, or even individual products.
- WooCommerce Delivery Slots – $99 – this plugin lets you give shoppers the option to choose their delivery date and/or time, while also giving you lots of configuration options (like charging extra for certain days/times).
The two plugins are fully compatible with each other, which is how you can easily set up this functionality.
Essentially, you’ll first use WooCommerce Lead Time to set up the lead time(s) for your products. Then, WooCommerce Delivery Slots will let your customers choose a delivery slot when they check out. The key thing is that WooCommerce Delivery Slots will take into account your lead times.
For example, if you set the lead time equal to five days, the earliest delivery slot that customers can choose will be five days out. If you have multiple products with different lead times, the plugin will use the lengthiest lead time for its availability calculations.
For this tutorial, we’ll assume that you already have your basic WooCommerce store up and running. Here’s how to configure the rest…
1. Configure WooCommerce Lead Time
To get started, install and activate the WooCommerce Lead Time plugin. Then, go to WooCommerce → Settings → Products → Lead time to enter your license key and configure some basic settings:
- Display lead times for – choose which types of product statuses to display leads time for.
- Load time prefix – enter the text to appear before the lead time number. “E.g. Ready to deliver in [X]” or “Lead time: [X]”
- Global lead time (optional) – add a default lead time for all products. You’ll still be able to override this for individual categories/products.
- Lead time units – days vs weeks. E.g. “two day lead time” vs “two week lead time”.
2. Add Your Product Lead Times
Unless you want to use the same global lead time for all products, the next step is to set up the lead time for specific products or categories of products.
To set the lead time for an individual product, you’ll get a new Lead time setting in the Inventory tab of the Product data box:
To set a lead time for an entire category of products, go to Products → Categories and edit the category that you want to add a lead time for. There, you should see a new Lead time setting:
And that’s it! Here’s an example of a product with a lead time:
Here’s the configuration that resulted in this setup:
- Lead time prefix – “Ready to deliver in”
- Lead time – “5”
- Lead time units – “days”
3. Configure WooCommerce Delivery Slots
At this point, your customers know when to expect their order to be ready. The next step is to give them the option to choose a delivery slot based on the lead time.
To do this, install and activate the WooCommerce Delivery Slots plugin. Then, go to WooCommerce → Delivery Slots to configure how your delivery slots will function.
In the General Settings tab, you can:
- Choose where/when in the checkout process your shoppers will choose the delivery slot.
- Exclude certain products or shipping methods from being given delivery slots.
In the Date Settings tab, you can:
- Choose which days of the week you’re available to deliver.
- Set a limit for the maximum number of orders for slots.
- Assign fees for deliveries on certain days, like an extra fee for weekend deliveries.
- Configure lots of other smaller settings for how the dates function.
In the Time Settings tab, you can make similar choices for specific times of day. E.g. delivery at 3 pm. Or, if you don’t want to let people choose specific times, you can disable it so that they only get an option to choose the day.
You can also add time slots – e.g. “Deliver between 2 pm and 6 pm”.
In the Holidays tab, you can exclude certain holidays from being available for delivery:
4. Choose How Customers Can Select Their Delivery Slots
By default, the WooCommerce Delivery Slots plugin asks customers to choose their delivery date at some point in the checkout process. You can configure this placement in the plugin’s General Settings tab.
Here’s what it looks like – the current day is August 25th, 2020, so you can see that the first delivery slot is five days in the future on August 30th:
Another option is to add a booking calendar to the single product page, which you can do with the [jckwds] shortcode. Here’s an example of what that might look like:
You can configure this booking table from the Reservation Table tab in WooCommerce Delivery Slot’s settings.
Start Offering Delivery Dates on Products With Lead Times
If you sell and deliver products with custom lead times, the solution in this article is a great option to improve your store. You’ll be able to properly set customer expectations, automate the process, and avoid awkward workarounds.
To set it up, all you need is two plugins.