EUX Pickup & Delivery is a WooCommerce plugin developed by EUX Digital Agency that inserts a dedicated Pickup & Delivery step between the shopping cart and the checkout. Customers choose how they want to receive their order, pick a date and (for pickup) a time slot, and then continue through to WooCommerce’s standard checkout with their choice stored on the order.
The complete source code is available on GitHub.
1. Dedicated Pickup & Delivery Step
* Automatically creates a “PAD” page on activation containing the [wpd_pickup_delivery] shortcode.
* Redirects customers from the cart to the PAD page before they can reach the checkout.
* Optional checkout progress bar: Shopping cart Pickup & Delivery Checkout Order complete.
* 5-minute session expiry on PAD selections so stale choices cannot reach the checkout.
* The Pickup tab, the Delivery tab, or both can be enabled independently — if both are off, the PAD step is skipped entirely.
2. Date and Time Slot Selection
* React-powered UI that fetches available dates and time slots from the server on demand.
* Configurable number of days shown in the date picker (default 15).
* Pickup time slots generated from per-weekday opening hours and a configurable interval in minutes.
* Optional auto-refresh timer (default 5 minutes) prevents the customer from checking out with slots that are no longer current.
3. Pickup Settings
* Store pickup address, contact phone number, and opening hours defined row-by-row per weekday (up to one row per day).
* Configurable time-slot interval in minutes.
* Independent enable/disable toggle and custom label for the Pickup tab.
4. Delivery Settings
* Manage allowed delivery suburbs using WooCommerce-style chips — type a suburb, press Enter or comma to add, × to remove.
* Paste-supported input for bulk adding suburbs from a comma-separated list.
* Case-insensitive suburb matching on the customer’s delivery form.
* Independent enable/disable toggle and custom label for the Delivery tab.
* If no suburbs are configured, any suburb is accepted.
5. Rules Engine
* Create rules that enable or disable dates for pickup and/or delivery.
* Each rule combines multiple conditions with AND logic.
* Rules are evaluated in priority order (lowest order wins) — the first matching rule decides the date.
* Conditions: Days of Week, Specific Dates, Delivery/Pickup Method, and (when multi-store is enabled) Store.
* Operators supported: matches any of, equal, not equal, contains, between (depending on condition type).
6. Global Appearance & Labels
* Customize tab labels (Delivery / Pickup) and the continue button text.
* Upload pickup and delivery icons from the WordPress media library.
* Full colour customization via a CSS-variable-driven theme — tabs, day selector, time selector and continue button, including hover and selected states.
* Reset colours to WooCommerce-standard defaults with a single click.
* Toggle the checkout progress bar and the date refresh timer on or off.
7. Order Integration
* Saves pickup/delivery type, date, time slot and (for delivery) suburb, postcode and special instructions to the order.
* Displays the selected method and time 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 for both HPOS and legacy order storage.
* Forces the correct shipping method at checkout based on the customer’s pickup/delivery choice.
* Hides the shipping address section and shipping totals row automatically when pickup is selected.
* Pre-fills the delivery form from the customer’s existing WooCommerce address when available.
* Editable from the admin order screen after the order is placed.
@wordpress/element and @wordpress/components, bundled with webpack.wpd/v1 (settings) and eux-pad/v1 (date availability).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.