Most of your customers will not be sitting around at home all day being available to accept a postal delivery on any day of the week. Everyone has things to do and is busy living their own lives. But even so, missing out on a much anticipated delivery can be very annoying.
Giving your customers the ability to control when their order will be delivered will be a great user experience. In this post I’ll show how you can add this to your checkout process.
Be aware that this does require a SLA of some sort with the postal service you’re using to ensure a specific delivery timeframe.
Order Delivery Date Picker
The best position for the delivery date picker is universally at the checkout process within the shipping section. Making sure it only shows for the appropriate shipping rates to ensure it doesn’t show for any local pickup rates for example.
The best plugin to setup a order delivery date picker is the Extra Shipping Options. This allows for adding additional field options below a shipping rate, such as the desired date picker.
In case you prefer to show the date picker at the checkout fields instead, the Advanced Checkout Fields would be fitting for that.
Creating The Delivery Date Picker
The first step in creating a Extra Shipping Option is to head over to the main area at WooCommerce > Settings > Shipping > Extra Shipping Options. Use the ‘Add Extra Shipping Option’ button to create a option.
The first section you see in the new Extra Shipping Options is a conditional section. This determines when the field will show up. You can set the conditions to any of your needs.
For this post I’ll keep it simple and only setup a single condition to show it for any and all Flat rates. Depending on your SLA / postal service used you can also narrow the showing of the delivery option down to the user location.
Delivery Date Picker Field
After setting conditions you can configure the option. Expand the already setup default field to customize it to your needs.
Using the ‘Datepicker’ field type will give the additional field options to configure the field further.
The “Minimum date” setting is something you definitely need to change from its default value. By default its set to allow for selecting todays date too, while its very unlikely that same day delivery will be possible.
Exclude Certain Days / Weekends
If you can’t offer Sunday delivery for example you of course don’t want your customers to think that is possible either. Make sure to exclude the days that are never available as delivery days by unchecking the day accordingly.
Since delivery companies generally don’t deliver on public holidays you’d also want to exclude any of those from being able to be selected. Using the ‘Exclude dates’ feature you’ll be able to provide a comma separated list of the dates you’d like to exclude.
Delivery Date Picker
When finished setting up the delivery date picker field it will look something like this at the cart/checkout;
Only showing the days that a shipping carrier delivers on, and not allowing any public holidays to be selected.