{"id":359580,"date":"2026-08-31T08:11:48","date_gmt":"2026-08-31T08:11:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/nex-delivery-pickup-scheduler\/"},"modified":"2026-09-18T14:07:56","modified_gmt":"2026-09-18T14:07:56","slug":"daps-delivery-pickup-scheduler","status":"publish","type":"plugin","link":"https:\/\/skr.wordpress.org\/plugins\/daps-delivery-pickup-scheduler\/","author":23540116,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.1.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"DAPS - Delivery and Pickup Scheduler for WooCommerce","header_author":"Hixfo360","header_description":"Lets customers pick a delivery or pickup date\/time on the WooCommerce checkout (classic or Block Checkout), with per-weekday hours, slot capacity limits, zone\/cart\/category restrictions, holidays and more.","assets_banners_color":"176beb","last_updated":"2026-09-18 14:07:56","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":232,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"hixfo360","date":"2026-08-31 08:11:18","revision":3673624},"1.0.1":{"tag":"1.0.1","author":"hixfo360","date":"2026-09-14 16:03:59","revision":3695540},"1.0.2":{"tag":"1.0.2","author":"hixfo360","date":"2026-09-18 14:07:56","revision":3702113}},"upgrade_notice":{"1.0.2":"<p>Admin pages moved to their own top-level &quot;DAPS&quot; menu (were previously under WooCommerce). No settings are lost \u2014 just find them in the new location.<\/p>","1.0.1":"<p>Adds Cart-page scheduling, shipping-method restriction, customer reschedule, email reminders, CSV reports, and WPML\/Polylang support. All new features default to off \u2014 review the settings page after updating.<\/p>","1.0.0":"<p>First public release.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.gif":{"filename":"icon-256x256.gif","revision":3673624,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3673624,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3673624,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Settings page: general options, restrictions, and weekly hours.","2":"Delivery\/Pickup fields on the checkout page.","3":"Delivery Calendar in wp-admin.","4":"Editable schedule box on the order edit screen."}},"plugin_section":[],"plugin_tags":[272777,138817,159975,190846,225250],"plugin_category":[45],"plugin_contributors":[276023],"plugin_business_model":[],"class_list":["post-359580","plugin","type-plugin","status-publish","hentry","plugin_tags-order-scheduling","plugin_tags-woocommerce-delivery-date","plugin_tags-woocommerce-delivery-time","plugin_tags-woocommerce-pickup-date","plugin_tags-woocommerce-pickup-time","plugin_category-ecommerce","plugin_contributors-hixfo360","plugin_committers-hixfo360"],"banners":{"banner":"https:\/\/ps.w.org\/daps-delivery-pickup-scheduler\/assets\/banner-772x250.png?rev=3673624","banner_2x":"https:\/\/ps.w.org\/daps-delivery-pickup-scheduler\/assets\/banner-1544x500.png?rev=3673624","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/daps-delivery-pickup-scheduler\/assets\/icon-256x256.gif?rev=3673624","icon_2x":"https:\/\/ps.w.org\/daps-delivery-pickup-scheduler\/assets\/icon-256x256.gif?rev=3673624","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>DAPS - Delivery and Pickup Scheduler for WooCommerce lets customers choose a <strong>WooCommerce delivery date<\/strong> and <strong>WooCommerce delivery time<\/strong>, or a <strong>WooCommerce pickup date<\/strong> and <strong>WooCommerce pickup time<\/strong>, right at checkout. It works on both the classic (shortcode) checkout and the newer WooCommerce Block Checkout, so however your store is set up, your customers get a clear date-and-time picker instead of guessing when their order will arrive or be ready.<\/p>\n\n<p>Store owners get full control over WooCommerce delivery date and WooCommerce pickup date availability \u2014 which days are open, how long each time slot lasts, how many orders a slot can hold, and which areas or products qualify for delivery \u2014 without touching a line of code.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>WooCommerce delivery date &amp; time picker at checkout<\/strong> \u2014 Customers pick their preferred delivery date and delivery time slot directly on the Checkout page (classic or Block Checkout), so there's no back-and-forth over when the order should arrive.<\/li>\n<li><strong>WooCommerce pickup date &amp; time picker at checkout<\/strong> \u2014 Customers pick a pickup date and pickup time slot, and choose from multiple pickup locations if your store has more than one.<\/li>\n<li><strong>Enable Delivery only, Pickup only, or both<\/strong> \u2014 A type selector appears automatically when both delivery date and pickup date scheduling are turned on, so customers choose the option that suits them.<\/li>\n<li><strong>Per-weekday delivery and pickup hours<\/strong> \u2014 Set separate open\/closed days, start time, end time, and slot duration for delivery date\/time and pickup date\/time, independently of each other.<\/li>\n<li><strong>Store closed dates and holidays<\/strong> \u2014 Block specific calendar dates from delivery date and pickup date selection, store-wide.<\/li>\n<li><strong>Minimum lead time and daily cutoff<\/strong> \u2014 Hide delivery time or pickup time slots that start too soon (e.g. under 2 hours away), and stop offering same-day delivery date\/pickup date entirely after a cutoff time you set.<\/li>\n<li><strong>Maximum orders per time slot<\/strong> \u2014 Cap how many orders a single delivery time or pickup time slot accepts; full slots disappear from the picker automatically and are re-checked at order placement to prevent overbooking.<\/li>\n<li><strong>Shipping zone and shipping method restrictions<\/strong> \u2014 Only offer WooCommerce delivery date scheduling for the shipping zones and shipping methods you choose.<\/li>\n<li><strong>Cart-amount and product\/category restrictions<\/strong> \u2014 Require a minimum cart subtotal for delivery or pickup, and hide scheduling entirely when the cart contains excluded categories or products.<\/li>\n<li><strong>Optional Cart-page scheduling<\/strong> \u2014 Let customers pick their delivery date\/time or pickup date\/time on the Cart page too, carried over as the pre-selected default at Checkout.<\/li>\n<li><strong>Weekday-wise delivery\/pickup fee<\/strong> \u2014 Charge a different fee per weekday for delivery time or pickup time slots (classic checkout only \u2014 see FAQ for why).<\/li>\n<li><strong>Customer self-service reschedule<\/strong> \u2014 Let customers change their own WooCommerce delivery date or pickup date from My Account, limited to the order statuses you allow.<\/li>\n<li><strong>Email reminders<\/strong> \u2014 Automatically email the customer a configurable number of hours before their scheduled delivery time or pickup time.<\/li>\n<li><strong>Delivery Calendar in wp-admin<\/strong> \u2014 A visual monthly calendar showing delivery date and pickup date order counts per day, with a day-by-day order list.<\/li>\n<li><strong>Reports and CSV export<\/strong> \u2014 See your delivery date vs pickup date split and per-day breakdown, and export the underlying orders as CSV.<\/li>\n<li><strong>Editable schedule on the order edit screen<\/strong> \u2014 Staff can view and change the saved delivery date\/time or pickup date\/time directly from the WooCommerce order screen.<\/li>\n<li><strong>\"Delivery \/ Pickup\" column on the Orders list<\/strong> \u2014 See each order's scheduled delivery date or pickup date at a glance, without opening the order.<\/li>\n<li><strong>Multilingual-ready<\/strong> \u2014 Customer-facing delivery date\/time and pickup date\/time labels are registered with WPML String Translation and Polylang, in addition to standard WordPress translation of the plugin's own interface.<\/li>\n<li><strong>Its own admin menu<\/strong> \u2014 All settings, the Delivery Calendar, and Reports live under a dedicated \"DAPS\" menu in wp-admin, kept separate from the main WooCommerce settings for easy access.<\/li>\n<\/ul>\n\n<h4>Where the schedule appears on the order<\/h4>\n\n<p>The customer's chosen WooCommerce delivery date, delivery time, pickup date, or pickup time is saved on the order and shown in the order edit screen, order emails, and the customer's My Account order view.\nBuilt from scratch \u2014 no code copied from any commercial plugin. Not yet included: outside-checkout shortcode\/widget, Google Calendar sync, delivery tips, category-specific cutoff time, SMS reminders, and the Block Checkout delivery fee (see FAQ for why). Email reminders, reschedule, cart-page scheduling, shipping-method restriction, CSV reports, and WPML\/Polylang support were added in 1.0.1.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/daps-delivery-pickup-scheduler<\/code> directory, or install the .zip directly through the Plugins screen in WordPress (Plugins &gt; Add New &gt; Upload Plugin).<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Go to the new \"DAPS\" menu in the WordPress admin sidebar (Settings, Delivery Calendar, Delivery Reports) to configure hours, holidays, lead time, restrictions and pickup locations.<\/li>\n<li>No further setup is needed \u2014 the plugin detects whether your checkout page uses the classic shortcode or the Block Checkout and shows the fields there automatically.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20the%20woocommerce%20block%20checkout%3F\"><h3>Does this work with the WooCommerce Block Checkout?<\/h3><\/dt>\n<dd><p>Yes. It uses WooCommerce's official Additional Checkout Fields API (available since WooCommerce 8.9) for the Block Checkout, and its own dedicated fields for the classic shortcode checkout. Both are supported automatically, no configuration needed.<\/p><\/dd>\n<dt id=\"why%20doesn%27t%20the%20delivery%20fee%20apply%20on%20the%20block%20checkout%3F\"><h3>Why doesn't the delivery fee apply on the Block Checkout?<\/h3><\/dt>\n<dd><p>On the classic checkout, WooCommerce recalculates cart totals using the same submitted field data this plugin reads, so the fee shown always matches what's charged. On the Block Checkout, totals are calculated by the Store API in a way that doesn't reliably expose this plugin's field value at that point \u2014 adding a fee there risks the displayed price not matching the final charge. Rather than risk that mismatch, the fee is classic-checkout-only for now.<\/p><\/dd>\n<dt id=\"can%20i%20limit%20how%20many%20orders%20are%20accepted%20per%20time%20slot%3F\"><h3>Can I limit how many orders are accepted per time slot?<\/h3><\/dt>\n<dd><p>Yes \u2014 set \"Max orders per time slot\" in the settings. Once a slot reaches that many orders it's automatically hidden from the picker, and there's a server-side check in case two customers submit for the same last spot at the same moment.<\/p><\/dd>\n<dt id=\"can%20i%20stop%20delivery%20for%20certain%20areas%2C%20products%2C%20or%20small%20orders%3F\"><h3>Can I stop delivery for certain areas, products, or small orders?<\/h3><\/dt>\n<dd><p>Yes. You can restrict Delivery to specific WooCommerce shipping zones, by chosen shipping method, require a minimum cart subtotal, and hide scheduling entirely when the cart contains excluded categories or products.<\/p><\/dd>\n<dt id=\"can%20customers%20change%20their%20schedule%20after%20placing%20the%20order%3F\"><h3>Can customers change their schedule after placing the order?<\/h3><\/dt>\n<dd><p>Only if you turn it on. Enable \"Customer Reschedule\" in the settings and choose which order statuses allow it (e.g. Processing, On hold). Customers then see a \"Change Delivery \/ Pickup Schedule\" option on their My Account order view, and the same lead-time\/cutoff\/capacity rules apply to the new slot they pick.<\/p><\/dd>\n<dt id=\"can%20i%20send%20a%20reminder%20before%20the%20delivery%2Fpickup%20time%3F\"><h3>Can I send a reminder before the delivery\/pickup time?<\/h3><\/dt>\n<dd><p>Yes, via email \u2014 turn on \"Send reminder email\" in the settings and set how many hours before the slot it should go out. This uses WordPress's own mail sending (wp_mail), the same as WooCommerce's order emails, not a third-party service.<\/p><\/dd>\n<dt id=\"does%20this%20sync%20with%20google%20calendar%3F\"><h3>Does this sync with Google Calendar?<\/h3><\/dt>\n<dd><p>Not currently.<\/p><\/dd>\n<dt id=\"can%20customers%20leave%20a%20delivery%20tip%3F\"><h3>Can customers leave a delivery tip?<\/h3><\/dt>\n<dd><p>Not currently.<\/p><\/dd>\n<dt id=\"is%20this%20translation-ready%3F\"><h3>Is this translation-ready?<\/h3><\/dt>\n<dd><p>Yes. The plugin's own interface text uses the <code>daps-delivery-pickup-scheduler<\/code> text domain and can be translated with any standard WordPress translation tool. The customer-facing field labels (Delivery, Pickup, date\/time labels, pickup location names) are also registered with WPML String Translation and Polylang, so multilingual stores can translate them per language from within those plugins.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Changed: All plugin admin pages (Settings, Delivery Calendar, Delivery Reports) now live under their own top-level \"DAPS\" menu in the WordPress admin sidebar, instead of being nested under the WooCommerce menu.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Added: Optional Cart-page scheduling (in addition to Checkout), carried over to Checkout as the pre-selected default.<\/li>\n<li>Added: Restrict Delivery\/Pickup by chosen shipping method.<\/li>\n<li>Added: Customer self-service reschedule from My Account, gated by order status.<\/li>\n<li>Added: Email reminders before the scheduled slot (WP-Cron + wp_mail, no third-party service).<\/li>\n<li>Added: Reports page \u2014 Delivery vs Pickup split, per-day breakdown, CSV export.<\/li>\n<li>Added: WPML String Translation and Polylang registration for customer-facing labels.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release. Includes: delivery\/pickup date &amp; time picker for both classic and Block Checkout; per-weekday hours, slot length, and holidays; minimum lead time and daily cutoff time; maximum orders per time slot; shipping-zone, cart-amount, and category\/product restrictions; multiple pickup locations; a Delivery Calendar admin page; an editable schedule box on the order edit screen; a \"Delivery \/ Pickup\" column on the Orders list; and a weekday-wise delivery\/pickup fee (classic checkout only).<\/li>\n<\/ul>","raw_excerpt":"Add a WooCommerce delivery date, WooCommerce delivery time, WooCommerce pickup date, and WooCommerce pickup time picker to your checkout \u2014 with hours, &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/359580","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=359580"}],"author":[{"embeddable":true,"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/hixfo360"}],"wp:attachment":[{"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=359580"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=359580"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=359580"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=359580"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=359580"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=359580"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}