//////////////////////////////////////// // // // Thanks for purchasing this // // plugin! Much appreciated! // // // //////////////////////////////////////// Detailed instructions of how to install and use this plugin can be found here: http://www.jckemp.com/plugins/woocommerce-delivery-slots/ =====Requirements===== Below is a list of server and software requirements in order for this plugin to function properly: PHP 5.3+ Tested on WooCommerce 2.1+ =====Installation===== To install the plugin: Navigate to Plugins > Add New > Upload. Click Choose File, and choose the file jck_woo_deliveryslots.zip from your CodeCanyon download zip. Once uploaded, click activate plugin. The plugin is now installed and activated. =====Configuration===== Configuring the Delivery Slots plugin couldn’t be easier. Navigate to WooCommerce > Delivery Slots. Here you will find a variety of Options, namely Date Settings, Time Settings, holidays, and Reservation Table. =====Quick Start===== Let’s say you’re presented with the following scenario: You run a takeaway restaurant. You offer a delivery service to your customers, but drivers are limited. You can safely make 5 deliveries every half hour, on Mondays, Wednesdays and Fridays. Your customers can book for same day delivery, or up to 2 weeks in advance. Here’s how you’d set that up! * Navigate to WooCommerce > Delivery Slots. * Most of the default settings will be fine, so scroll down to Date Settings. * Under Delivery Days you can select Monday, Wednesday and Friday. * For same day delivery, your Minimum Selectable Date will be set to “0″. * And to restrict it to two weeks, you Maximum Selectable Date would be “14″. * Now click the Time Settings tab. * Under Time Slot Configuration, you can set up your half-hourly slots. * Add as many rows as you need. For example, you would set the From time as “17:00″ and the To time as “17:30″. In the next row you’d set the From time as “17:30″ and the To time as “18:00″, and so on. You can then set a lockout number for each of these. This means after x reservations/orders on the same day, that slot will no longer be available on the front-end. * Click Save Changes. * Now we should add a reservation table for your users. Navigate to Pages > Add New. * Name your page, something like “Reserve a Slot”. * In the content editor, enter the following shortcode “[jckwds]“. * Save the page. * If you open this page on the front-end, you will be able to reserve a time-slot for your delivery. Please note: Your users need to be logged in to reserve a slot. That’s all there is to it. There are more settings that you configure, which are all detailed below. =====Settings Tab - Date Settings===== These settings relate to anything involving a calendar day. The settings are as follows: =====Date Setup===== Mandatory Field - This defines whether the Date field is mandatory on the checkout page. Label - This is the label for the date field, shown on the checkout page. Description - This is an optional description field, shown below the date input on the checkout page. Theme - This is the theme for the calendar date selector. If you already have a jQuery UI theme configured, you can select “none” to use the default. =====Date Settings===== Delivery Days - Select the days of the week where deliveries can be made. Minimum Selectable Date - This allows you set the date from which deliveries are available. For example, entering “2″ means that deliveries start 2 days from the current date. Setting “0″ means they can be selected from today. Maximum Selectable Date - This allows you to set a date when deliveries can no longer be selected. For example, if you only want to offer deliveries 2 weeks (14 days) from the current date, you would enter “14″ into the field. Date Format - This is the format in which the date will be displayed on the checkout field in the front end. =====Settings Tab - Time Settings===== These settings relate to anything involving a time slot. The settings are as follows: =====Time Setup===== Enable Time Slots - You are given the option to enable time slots. If you just want the date functionality, then you can leave this disabled. Please note: the reservation table currently only works with time slots enabled. Mandatory Field - This defines whether the time slot field is mandatory on the checkout page. Label - This is the label for the time slot field, shown on the checkout page. Description - This is an optional description field, shown below the time slot dropdown on the checkout page. =====Time Slot Configuration===== Time Slots - This is a repeater field allowing you to set time slots where deliveries can be made. You can set the from time, to time, and a lockout number. The lockout number will restrict the time slot to that number of deliveries on a specific date. =====Settings Tab - Holidays===== Here you can define any days on which deliveries cannot be made. For example, Christmas. Holidays - You can set the date and an admin label for any holidays where deliveries cannot be made. =====Settings Tab - Reservation Table===== These settings relate to the reservation shortcode. =====Reservations===== Expiration - Set a number (in minutes) after which any reservation will expire. Date Columns - This allows you to define how many date columns are shown in the reservation table at any one time. Display Instructions? - The reservation table comes with a default set of instructions. Here you can enable/disable the output of this when using the shortcode. =====Table Styling===== These settings allow you to customise the appearance of the reservation table. =====Reservation Table Shortcode===== You can insert a reservation table using the shortcode [jckwds]. This allows your customers to reserve a delivery time and date while they shop. =====Changelog===== v1.3.0 (10/07/15) [update] Postcode Restrictions (See "Postcode Restrictions" https://jamesckemp.ticksy.com/article/4560/) * 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.4 (07/08/14) [Fix] Fixed checkbox issue not saving certain days in slots 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 ---------------------------------------- If you get stuck, feel free to submit a ticket at: http://jamesckemp.ticksy.com ---------------------------------------- Thanks again! James