WooCommerce Delivery Slots

WooCommerce Delivery Slots

Iconic on Facebook Iconic on Twitter Iconic on Envato

WooCommerce Delivery Slots Features

WooCommerce Delivery Slots gives you a great selection of features, which are often updated and added to. These include:

  • “Upcoming Deliveries” tab for admin users.
  • “Currently Reserved” tab for admin users.
  • Datepicker and time slot selection field at checkout.
  • Enable delivery slots for specific shipping methods, with compatibility for the most popular shipping plugins.
  • Minimum and maximum selectable delivery date.
  • Fully translatable, with some languages packaged.
  • Choose which days of the week deliveries are available on.
  • Enable just the date field, or the time slots as well.
  • Allow bookings up to (x) minutes before slot start time.
  • Lockout after (x) bookings for each slot, on a single day.
  • Restrict slot to specific postcodes or postcode ranges.
  • Additional fee per slot.
  • Restrict slot to specific days.
  • Holiday days where deliveries can not be made.
  • Reserve a slot while you shop, which expires after (x) minutes.
  • Highly customisable reservation table shortcode.
  • Disable same day delivery if current time is after (x).
  • Disable next day delivery if current time is after (x).

WooCommerce Delivery Slots Overview

The WooCommerce Delivery Slots plugin enables your customers to choose and reserve a delivery date and time for their order.

As an admin, you are able to define available delivery days, as well as configure specific time slots. You can set an additional fee and “lockout” number for each time slot; if you have a limited number of drivers each night, you can restrict specific time slots to a certain number of orders. On top of this, you can define days in the year where deliveries cannot be made; perfect for defining holidays and breaks.

The plugin comes with a fully-customisable shortcode, which allows your customers to reserve their date and time slot for up to x minutes; giving them piece of mind throughout their shopping process that their delivery can be made at a convenient time. Your customer’s reserved time slot will be pre-filled on the checkout page, where they can also change it if they like. If your customer hasn’t reserved a date and time slot, then they can simply choose one at checkout. You can define whether these fields are required.

Once the order is processed, your user will see a confirmation of their delivery date and time, along with all the other order information. You will also be able to see these details in the backend on each order; making it easy for you to plan your deliveries effectively.

Requires PHP 5.3+


v1.6.0 (19/04/2016)
[fix] Sometimes an issue loading datepicker at checkout - changed to $(window).load();
[update] Update to new settings framework

v1.5.10 (14/01/2016)
[fix] Allow more than 66 for max date
[fix] Trigger change event is timeslots are not in use

v1.5.9 (08/12/2015)
[fix] Remove nonce check on ajax methods to avoid cache issues
[update] Trigger select change when loading new slots
[update] Add version to enqueued scripts

v1.5.8 (08/12/2015)
[fix] Optimise get_timeslot_data as it was slowing down with a lot of timeslots
[fix] Only select reservation if it's available in checkout dropdown
[fix] min/Max were ignoring timezone
[fix] Remove forward slash on some includes
[update] Multi Step Checkout compatibility

v1.5.7 (25/11/2015)
[fix] Sunday being ignored as allowed day

v1.5.6 (25/11/2015)
[fix] Email order meta, and better styling
[update] Remove : from time slot fee text
[fix] Orders with 'date only' now show in deliveries tab
[fix] Issue if user places delivery for slot they've already used, unlikely, but avoided the issue just in case
[fix] Trashed orders were showing in the deliveries tab
[fix] Issue where you could proceed through checkout if slots hadn't finished loading
[update] Add validation to "Allow Bookings up to..." field
[update] Min/Max selectable date methods - now you can choose from allowed days, weekdays, or all days
[update] Disable same day/next day if current time is after (x)
[update] Change wording to time slot instead of timeslot in some strings
[update] POT file

v1.5.5 (23/11/2015)
[fix] Current day not showing in upcoming deliveries tab
[fix] Missing text domain on one string

v1.5.4 (13/11/2015)
[fix] Lock time slot on current day if passed

v1.5.3 (11/11/2015)
[update] Reservation table - group timeslots with the same time so you can have different prices on different days
[update] Dutch translation
[fix] Holidays not working if not in English

v1.5.2 (03/11/2015)
[update] Add "any" shipping method option, to always display fields
[update] Use billing postcode for lookup if shipping is disabled or missing
[fix] Fix timeslot display if logged out on checkout
[update] German translation

v1.5.1 (26/10/2015)
[fix] Change "add fee" priority so it works with storefront and other themes
[fix] Checkout fields when only one shipping method, or no shipping method

v1.5.0 (25/10/2015)
[update] Fee per timeslot
[fix] Fixed reservation table
[update] Reservations can now be made by logged out users (Note: ID format changed, so may not work well with existing reservations)
[fix] Show/hide for radio or select options
[fix] Use WordPress time functions so if the timezone is UTC it does not cause any issues
[update] Add delivery details column to admin order listing
[update] New icons
[update] Compatibility with WooCommerce Advanced Shipping
[update] Compatibility with WooCommerce Table Rate Shipping
[update] Min/max bookable dates account for allowed days only now
[update] Allow date and time to be moved in checkout
[fix] Email encoding

v1.4.0 (10/10/2015)
[update] Show/hide based on shipping method
[update] Refactor and tidy javascript

v1.3.0 (10/07/15)
[update] Postcode Restrictions (See "Postcode Restrictions" * special thanks to dullejohn
[update] Added da_DK translation * special thanks to dullejohn
[update] Translation files updated

v1.2.3 (10/07/15)
[update] French - Updated translation

v1.2.2 (07/07/15)
[update] Portuguese - Brazil translation

v1.2.1 (06/07/15)
[fix] Missing languages folder
[update] New translations available

v1.2.0 (26/06/15)
[update] New po file for translations
[update] More strings available to translate
[update] esc_attr
[update] z-index for datepicker
[fix] in_array notice
[update] Moved labels to translatable strings for convenience
[fix] Remove text domain as variable
[update] Check PHP version
[update] Added some settings validation to prevent common issues
[update] Disable timeslot field while loading
[update] hide timeslot field until date is chosen

v1.1.1 (10/06/15)
[Update] Allow HTTPS

v1.1.0 (11/05/15)
[Fix] Allow shop managers to save options
[Update] Convert to SCSS - Dev only
[Update] Move dynamic styles to head tag for speed
[Update] Add note about where to view themes for datepicker

v1.0.9 (23/02/15)
[Fix] Change error output function to fix checkout issue

v1.0.8 (11/11/14)
[fix] Change indexOf method so it works in IE8
[fix] Add check for WooCommerce so no errors when updating
[fix] Validation of fields at checkout

v1.0.7 (28/10/14)
[Update] Change date field to be read only

v1.0.6 (27/10/14)
[Fix] Delivery settings page permissions
[Fix] Delivery times chosen at checkout will now appear on the Deliveries tab

v1.0.5 (08/08/14)
[Update] Only use ui styles on checkout page
[Fix] Fixed timezone issue. Make sure this is set in WP Settings to a string.

v1.0.3 (14/07/14)
[Update] Added "time blocking". If the time has passed for the current day, the slot becomes unavailable.
[Update] Added the ability to set slots to apply for specific days only.
[Update] Added "Allow Bookings Up To (x) Minutes Before Slot" functionality.
[Update] Updated table shortcode to allow logged out users to see how many slots are remaining for each timeslot.
[Fix] Updated Table shortcode to prevent border glitch when loading icon is displayed.

v1.0.2 (29/06/14)
[Update] Added PO files for translation

v1.0.1 (06/05/14)
[Update] Time format option
[Update] Upcoming Deliveries page
[Fix] Order meta labels in customer emails
[Update] Added trigger to body after timeslots are loaded in checkout
[Update] Added triggers on body to reservation table after remove and add

v1.0.0 (29/03/14)
Initial Release