Let customers choose a pickup date and time at checkout. Manage locations, schedules, and booking rules from WooCommerce > Pickup Slots.
Pickup booking
- Supports the WooCommerce Checkout block and classic checkout shortcode.
- Picker shown for supported Local Pickup methods.
- Offers fixed-length slots within each location’s opening hours.
- Global preparation time, booking window, and same-day cutoff.
- Required or optional pickup date and time selection.
- Live availability checks and capacity reservations before payment.
Locations and schedules
- Multiple locations with names, addresses, collection instructions, status, and sort order.
- Separate opening days, hours, slot lengths, and capacity for each weekday.
- Slots from 15 minutes to 4 hours, ending before closing.
- Date overrides for special opening hours or an all-day closure.
- Blackout dates/ranges per location or globally, with optional labels.
- Regularly closed weekdays are omitted, even with a blackout.
Checkout and order details
- Independent settings for showing location addresses and collection instructions.
- A shared checkout panel shows only enabled, non-empty details.
- Pickup details on the confirmation page, My Account order view, and admin order screen.
- Dedicated Pickup details sections in HTML and plain-text WooCommerce order emails.
- Address/instruction snapshots preserve new selections for order history.
- Staff can change an order’s pickup location, date, and slot.
Daily order management
- Sortable Pickup Date column in the WooCommerce orders list.
- Pickup date range and location filters.
- CSV export of matching pickup orders for preparation and collection lists.
- High-Performance Order Storage (HPOS) and legacy order storage support.
- Translation ready, including checkout blocks.
Requirements and scope
Requires WordPress 6.6+, PHP 8.0+, active WooCommerce 8.9+, and an available Local Pickup method.
Plugin locations are separate from WooCommerce pickup locations, with no automatic mapping. Configure shipping prices and methods in WooCommerce.
Preparation time is global. Product/category preparation rules, named custom slots, customer self-service rescheduling, reminders, and calendar synchronization are not included in this release.
Developed by Code Crafters.
Source code
Human-readable source for the compiled checkout files is included in this plugin.
build/pickup-picker-editor.js is built from block-checkout/pickup-picker/index.js.
-
build/pickup-picker-frontend.js is built from block-checkout/pickup-picker/frontend.js and block-checkout/pickup-picker/block.js.
package.json, package-lock.json, and webpack.config.js are the build tools. @wordpress/* and @woocommerce/* are external dependencies supplied by WordPress and WooCommerce, and are not copied into those compiled files.
To regenerate them, install Node.js and npm, open this plugin’s directory, and run npm ci followed by npm run build.
Privacy
This plugin does not send data to external services or add tracking. Pickup selections are stored locally with WooCommerce orders and in plugin booking tables. Staff CSV exports include customer names, email addresses, and order details; handle these files according to your store’s privacy policy.