Description
EUX Pickup & Delivery helps WooCommerce stores offer local delivery and click-and-collect with a dedicated selection step before checkout.
Customers choose Delivery or Pickup, select an available date, choose a pickup time slot where required, and then continue to the standard WooCommerce checkout. Their selection is saved directly against the WooCommerce order, so your team has the fulfilment details they need from the moment the order is placed.
It is useful for local retailers, food businesses, butchers, bakeries, grocers, florists, gift stores, and any WooCommerce store that needs better control over pickup, delivery, dates, suburbs, and fulfilment scheduling.
What the Plugin Does
- Adds a dedicated Pickup & Delivery step between the cart and checkout.
- Lets customers choose whether they want delivery or pickup.
- Lets customers select an available delivery or pickup date.
- Lets customers choose a pickup time slot based on your opening hours.
- Restricts delivery to the suburbs your store actually services.
- Saves pickup and delivery details directly against the WooCommerce order.
- Helps prevent customers from reaching checkout without making a valid pickup or delivery selection.
Benefits for Store Owners
- Capture the customer’s preferred fulfilment method before checkout.
- Schedule orders by date so your team can plan delivery and pickup volume.
- Offer click-and-collect without needing a separate pickup plugin.
- Restrict local delivery to specific suburbs or service areas.
- Block unavailable dates such as public holidays, closure periods, stocktake days, or owner leave.
- Reduce back-and-forth with customers by collecting fulfilment details up front.
- Keep fulfilment details visible in WooCommerce orders, emails, the thank-you page, and customer account areas.
- Works with both classic WooCommerce orders and High-Performance Order Storage (HPOS).
Key Features
1. Pickup & Delivery Selection Step
* Adds a customer-facing Pickup & Delivery step before the standard WooCommerce checkout.
* Redirects customers from the cart to the Pickup & Delivery step before they can complete checkout.
* Optional checkout progress bar: Shopping cart Pickup & Delivery Checkout Order complete.
* Pickup, Delivery, or both can be enabled independently.
* If both Pickup and Delivery are disabled, the extra step is skipped entirely.
* Session expiry helps prevent stale pickup or delivery choices from being used at checkout.
2. Date and Time Slot Selection
* Customers can choose from available dates shown in the date picker.
* Store owners can configure how many days are shown in advance.
* Pickup time slots are generated from your weekday opening hours.
* The pickup time-slot interval can be configured in minutes.
* Optional auto-refresh helps prevent customers from checking out with outdated availability.
3. Pickup Settings
* Set your pickup address and contact phone number.
* Define pickup opening hours by weekday.
* Configure pickup time-slot intervals.
* Enable or disable the Pickup option independently.
* Customize the Pickup tab label shown to customers.
4. Delivery Settings
* Add the suburbs your store delivers to.
* Customers must enter an allowed suburb when suburb restrictions are configured.
* Suburb matching is case-insensitive.
* Bulk add suburbs from a comma-separated list.
* Leave the suburb list empty if you want to accept delivery to any suburb.
* Enable or disable the Delivery option independently.
* Customize the Delivery tab label shown to customers.
5. Scheduling Rules
* Create rules to enable or disable dates for pickup and/or delivery.
* Block specific dates, weekdays, or method-specific availability.
* Useful for public holidays, closure periods, limited delivery days, special trading hours, or operational cut-off periods.
* Rules are evaluated in priority order, so store owners can control which rule takes effect first.
6. Appearance and Labels
* Customize the Delivery and Pickup tab labels.
* Customize the continue button text.
* Upload pickup and delivery icons from the WordPress media library.
* Customize colours for tabs, date selectors, time selectors, buttons, hover states, and selected states.
* Reset colours to WooCommerce-style defaults with a single click.
* Toggle the checkout progress bar and date refresh timer on or off.
7. WooCommerce Order Integration
* Saves pickup/delivery type, date, time slot, delivery suburb, postcode, and special instructions to the order.
* Displays the customer’s selection on the order review, admin order screen, thank-you page, My Account orders list, and transactional emails.
* Adds Type and Date columns to the WooCommerce orders admin list.
* Supports both HPOS and legacy WooCommerce order storage.
* Forces the correct shipping method at checkout based on the customer’s pickup or delivery choice.
* Hides the shipping address section and shipping totals row when pickup is selected.
* Pre-fills the delivery form from the customer’s existing WooCommerce address where available.
* Allows pickup and delivery details to be edited from the admin order screen after the order is placed.
How It Works
- The customer adds products to their cart.
- Before checkout, they are taken to the Pickup & Delivery step.
- They choose Delivery or Pickup.
- They select an available date and, for pickup, an available time slot.
- They continue to the standard WooCommerce checkout.
- Their pickup or delivery selection is saved against the order for fulfilment.
Technical Notes
- Built for WooCommerce 7.0+ with full High-Performance Order Storage (HPOS) compatibility.
- Automatically creates a Pickup & Delivery page on activation using the
[wpd_pickup_delivery]shortcode. - Modern React front end using
@wordpress/elementand@wordpress/components, bundled with webpack. - Admin UI built on native WordPress components.
- REST API under two namespaces:
wpd/v1(settings) andeux-pad/v1(date availability). - Rule engine respects the WordPress site timezone.
- Settings and the auto-generated Pickup & Delivery page are cleanly removed on uninstall.
- Core scheduling and rule evaluation run entirely inside your WordPress installation.
External services
This plugin does not call EUX Digital Agency servers or include third-party analytics.
Optional: Google Maps (embed)
If you paste a Google Maps HTML embed into Pickup Settings (or a multi-store location’s map field), the customer’s browser loads Google’s map resources to display that embed. Google may receive typical web data (for example IP address, referrer, and interaction with the map) as described in their policies. This only happens when you choose to add an embed; you can leave map fields empty.
Other map or iframe providers
If you embed another provider’s map via HTML iframe, the visitor’s browser loads that third party under that provider’s terms — the plugin only outputs the HTML you save; it does not send your WooCommerce order data to those services by itself.
Screenshots
Installation
- Upload the plugin folder to
/wp-content/plugins/or upload the ZIP via Plugins Add New Upload Plugin. - Activate EUX Pickup & Delivery through the Plugins screen.
- Ensure WooCommerce is installed and active (7.0 or higher).
- Go to Pickup & Delivery Global Settings to configure labels, icons, colours, and display options.
- Go to Pickup & Delivery Pickup Settings to set your pickup address, phone number, opening hours, and time-slot interval.
- Go to Pickup & Delivery Delivery Settings to add the suburbs you deliver to.
- Optional: go to Pickup & Delivery Rules to block dates, limit weekdays, or create method-specific scheduling rules.
- Place a test order to confirm the Pickup & Delivery step appears between the cart and checkout.
FAQ
-
Does this plugin work without WooCommerce?
-
No. WooCommerce 7.0 or later must be installed and active. If it isn’t, the plugin will not initialize and an admin notice will appear.
-
What does the plugin add to my store?
-
It adds a Pickup & Delivery step before checkout. Customers choose Delivery or Pickup, select an available date, choose a pickup time slot where required, and then continue to the standard WooCommerce checkout.
-
Where is the Pickup & Delivery page?
-
On activation the plugin creates a Pickup & Delivery page containing the
[wpd_pickup_delivery]shortcode. It is tracked via thewpd_pad_page_idoption and removed automatically on uninstall. -
Can I disable pickup or delivery independently?
-
Yes. Each can be turned off from its own settings page. If you disable both, the Pickup & Delivery step is skipped entirely and customers go straight from cart to checkout.
-
Can I restrict delivery to certain suburbs?
-
Yes. Add suburbs under Delivery Settings. When at least one suburb is configured, customers must enter a listed suburb to continue. Leave the list empty to accept any suburb.
-
Can customers choose a pickup time?
-
Yes. Pickup time slots are generated from the opening hours you define for each weekday and the interval you set under Pickup Settings. For example, Monday 9:00–17:00 with a 60-minute interval produces slots at 9:00–10:00, 10:00–11:00, and so on.
-
Can I block public holidays or days when we are closed?
-
Yes. Use Pickup & Delivery Rules to disable specific dates, weekdays, or method-specific availability. This can be used for public holidays, stocktake, staff leave, closure periods, or limited delivery days.
-
How does the rules engine work?
-
A rule has an objective, such as Enable Day or Disable Day, and one or more conditions that must all match. When multiple rules could affect the same date, the rule with the lowest priority order wins.
-
Is the plugin compatible with HPOS (WooCommerce custom order tables)?
-
Yes. Compatibility with the
custom_order_tablesfeature is declared, and order list columns are registered for both legacy and HPOS storage. -
Does the plugin send any data to an external service?
-
The plugin itself does not phone home. Optional map embeds (see External services in this readme) load in the visitor’s browser only if you add them in settings.
-
Can I customize the look of the Pickup & Delivery step?
-
Yes. Tab colours, day and time selector backgrounds and text colours, and continue-button hover states are all exposed under Global Settings. You can also upload custom icons and change tab labels.
-
Why does the customer get redirected back to the Pickup & Delivery page from the checkout?
-
If the customer’s selection has expired or they tried to reach the checkout directly without making a valid selection, they are sent back to the Pickup & Delivery page to choose a method and date.
-
What happens when the plugin is uninstalled?
-
The uninstall script removes the auto-created Pickup & Delivery page and deletes the four settings options (
wpd_global_settings,wpd_pickup_settings,wpd_delivery_settings,wpd_rules). Order meta saved against existing orders is preserved.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“EUX Pickup & Delivery” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “EUX Pickup & Delivery” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- Initial release.






