Title: EasyPickUp Map for WooCommerce
Author: Tijmen Smit
Published: <strong>November 5, 2026</strong>
Last modified: November 5, 2026

---

Search plugins

![](https://ps.w.org/easypickup-map-for-woocommerce/assets/banner-772x250.png?rev
=3786046)

![](https://ps.w.org/easypickup-map-for-woocommerce/assets/icon.svg?rev=3786064)

# EasyPickUp Map for WooCommerce

 By [Tijmen Smit](https://profiles.wordpress.org/tijmensmit/)

[Download](https://downloads.wordpress.org/plugin/easypickup-map-for-woocommerce.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/easypickup-map-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/easypickup-map-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/easypickup-map-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/easypickup-map-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/easypickup-map-for-woocommerce/)

## Description

**EasyPickUp Map is a free add-on for [WP Store Locator](https://wordpress.org/plugins/wp-store-locator/).**
It turns the stores you already manage in WP Store Locator into local pickup points
for WooCommerce. You don’t enter your stores a second time, and your store addresses,
opening hours and map stay in one place.

At checkout, customers see the nearest pickup stores first, with the distance, the
pickup cost and whether the store is open. They can choose from the list or open
a map of your stores and pick one from there. After the order, you mark it “Ready
for pickup” and the customer gets an email with the store address, opening hours
and directions.

More about the plugin, with screenshots of every step: [EasyPickUp Map for WooCommerce](https://wpstorelocator.co/add-ons/easypickup-map-for-woocommerce/?utm_source=wordpress.org&utm_medium=plugin_directory&utm_campaign=easypickup-map-for-woocommerce).

#### How it works

 1. In WP Store Locator, open a store and turn on “Offer pickup” on the new Local pickup
    tab. You can also enable many stores at once from the store list.
 2. Set a default pickup cost under WooCommerce › Settings › Shipping › EasyPickUp 
    Map. Any store can have its own cost and pickup instructions.
 3. Customers choose Pickup at checkout and pick a store from the list or the map.
 4. When the order is ready, click “Ready for pickup” on the order. When the customer
    collects it, click “Picked up”.

#### Checkout

 * One pickup option per store, sorted nearest first from the customer’s postcode
   and city.
 * Only the nearest stores are offered once the address is known: 10 by default,
   optionally within a maximum distance. A store the customer picked always stays
   available.
 * Until the customer picks a store, a new address selects its nearest store.
 * A “Choose on map” button opens a store picker with a list and a map. On phones
   it opens full screen with List and Map tabs.
 * Uses the map you already set up in WP Store Locator: OpenStreetMap, Stadia Maps,
   Mapbox or Google Maps, including its map consent setting.
 * Shows whether each store is open now, and when a closed store opens next, based
   on the opening hours and closures in WP Store Locator. Each store in the picker
   has an “Opening hours” toggle with the coming week, or lists the whole week straight
   away. You can also show only the status, or no hours at all.
 * “Use my location” sorts the list by the customer’s current location, inside the
   browser.
 * Works with the Cart and Checkout blocks and with the classic checkout shortcode.
 * Customers choose a pickup day and time slot within the store’s opening hours 
   and closures from WP Store Locator. Set a preparation time, how many days ahead
   customers can book, and the slot length, or make it optional or turn it off.
 * The shipping address is hidden and not required when the customer chooses pickup.
 * Keyboard and screen reader friendly store picker.

#### Pickup costs

 * A default pickup cost for all stores, or free pickup.
 * An optional fixed cost per store that overrides the default.
 * Taxable or tax free, with tax based on the store’s address.

#### Orders

 * A “Ready for pickup” order status, counted as paid in WooCommerce reports.
 * “Ready for pickup” and “Picked up” buttons on the order screen, and bulk actions
   on the orders list.
 * A “Pickup store” column and a store filter on the orders list.
 * The pickup store, address and instructions show on the order, the thank-you page
   and My Account.
 * Supports High-Performance Order Storage (HPOS).
 * The pickup time shows on the order, in the orders list (sortable, with a Today/
   Tomorrow / Next 7 days / Past filter) and in every order email. Staff can change
   it on the order.

#### Emails

 * **Ready for pickup** email to the customer, with the store address, opening hours,
   pickup instructions and a “Get directions” link.
 * **Picked up** email to the customer. It replaces the Completed order email for
   pickup orders, so customers never get both.
 * Pickup details are added to the Processing and On hold emails.
 * Optionally, each store gets a copy of the New, Cancelled and Failed order emails
   for its own pickup orders. Off by default; stores can also opt out one by one.
 * Both emails can be edited under WooCommerce › Settings › Emails, and their templates
   can be overridden in your theme.

#### Requirements

 * [WP Store Locator](https://wordpress.org/plugins/wp-store-locator/) 3.1 or newer
 * WooCommerce 9.0 or newer
 * WordPress 6.6 or newer and PHP 7.4 or newer

#### Privacy

To sort stores by distance, the customer’s postcode and country (or the city and
country when there is no postcode, never the street address) are geocoded through
the map service selected in WP Store Locator. WP Store Locator caches the result
for 30 days, and that cache isn’t removed when you delete this plugin. “Use my location”
in the store picker sorts the list in the browser and is never sent to your server.

Geocoding only happens when at least two pickup stores have coordinates. New lookups
are limited per customer (10 an hour), per IP address (20 an hour), and for the 
whole site (30 a minute and 1,000 a day), so nobody can run up your map service 
bill; places already looked up don’t count. The filters `wpsl_easypickup_geocode_session_limit`,`
wpsl_easypickup_geocode_ip_limit`, `wpsl_easypickup_geocode_site_limit` and `wpsl_easypickup_geocode_daily_limit`
change these numbers. To never geocode customer addresses, add `add_filter( 'wpsl_easypickup_geocode_enabled','
__return_false' );` and stores are listed by name.

The plugin adds a suggested text for your privacy policy under Settings > Privacy
> Policy Guide.

#### External services

This plugin doesn’t contact any service by itself. It uses the map service you selected
in WP Store Locator, through WP Store Locator:

 * To sort stores by distance, your server sends the customer’s postcode and country,
   or city and country (never the street address), to that service’s geocoder. This
   happens at checkout, when the shipping rates are calculated.
 * When the map in the store picker is turned on, the customer’s browser loads the
   map from that service when the store picker opens.

Depending on your WP Store Locator settings, the service is one of:

 * OpenStreetMap Nominatim, run by the OpenStreetMap Foundation: [usage policy](https://operations.osmfoundation.org/policies/nominatim/),
   [privacy policy](https://osmfoundation.org/wiki/Privacy_Policy).
 * Google Maps Platform, by Google: [terms of service](https://cloud.google.com/maps-platform/terms),
   [privacy policy](https://policies.google.com/privacy).
 * Mapbox: [terms of service](https://www.mapbox.com/legal/tos), [privacy policy](https://www.mapbox.com/legal/privacy).
 * Stadia Maps: [terms of service](https://stadiamaps.com/terms-of-service/), [privacy policy](https://stadiamaps.com/privacy-policy/).

The “Get directions” link in pickup emails opens Google Maps or OpenStreetMap with
the store’s location. Nothing is sent until the customer clicks it.

#### Development

The plugin ships the readable source of its scripts and styles in `assets/src`, 
next to the built files in `assets/dist`. To build them yourself:

    ```
    npm install && npm run build
    ```

## Screenshots

[⌊The block checkout with Pickup selected: the nearest stores first, each with its
pickup cost.⌉⌊The block checkout with Pickup selected: the nearest stores first,
each with its pickup cost.⌉[

The block checkout with Pickup selected: the nearest stores first, each with its
pickup cost.

[⌊"Choose on map" opens the store picker, with the opening status, distance and 
instructions of each store next to the map.⌉⌊"Choose on map" opens the store picker,
with the opening status, distance and instructions of each store next to the map
.⌉[

“Choose on map” opens the store picker, with the opening status, distance and instructions
of each store next to the map.

[⌊On phones the store picker opens full screen, with List and Map tabs.⌉⌊On phones
the store picker opens full screen, with List and Map tabs.⌉[

On phones the store picker opens full screen, with List and Map tabs.

[⌊Customers choose a pickup day and time within the store's opening hours.⌉⌊Customers
choose a pickup day and time within the store's opening hours.⌉[

Customers choose a pickup day and time within the store’s opening hours.

[⌊The classic checkout: one pickup line with the store's distance, status and a "
Change store" button.⌉⌊The classic checkout: one pickup line with the store's distance,
status and a "Change store" button.⌉[

The classic checkout: one pickup line with the store’s distance, status and a “Change
store” button.

[⌊Turn on pickup and set a cost and instructions on the Local pickup tab of a store.⌉⌊
Turn on pickup and set a cost and instructions on the Local pickup tab of a store
.⌉[

Turn on pickup and set a cost and instructions on the Local pickup tab of a store.

[⌊The orders list with the pickup store and time, the Ready for pickup status and
filters.⌉⌊The orders list with the pickup store and time, the Ready for pickup status
and filters.⌉[

The orders list with the pickup store and time, the Ready for pickup status and 
filters.

[⌊The Pickup box on an order, with the "Ready for pickup" and "Picked up" buttons.⌉⌊
The Pickup box on an order, with the "Ready for pickup" and "Picked up" buttons.⌉[

The Pickup box on an order, with the “Ready for pickup” and “Picked up” buttons.

[⌊The Ready for pickup email, with the store's address, opening hours and directions.⌉⌊
The Ready for pickup email, with the store's address, opening hours and directions
.⌉[

The Ready for pickup email, with the store’s address, opening hours and directions.

## Installation

 1. Install and activate [WP Store Locator](https://wordpress.org/plugins/wp-store-locator/)
    and WooCommerce, and add your stores to WP Store Locator.
 2. Go to Plugins › Add New, search for “EasyPickUp Map for WooCommerce”, then install
    and activate it.
 3. Edit a store in WP Store Locator, open the Local pickup tab and turn on “Offer 
    pickup”. To enable several stores at once, select them on the store list and choose“
    Enable pickup” from the bulk actions.
 4. Go to WooCommerce › Settings › Shipping › EasyPickUp Map to set the label, the 
    default cost, the tax status and the map button, and to turn on store emails if
    you want them.

## FAQ

### Do I need WP Store Locator?

Yes. This plugin is an add-on for WP Store Locator and uses its stores, opening 
hours and map. WordPress asks you to install WP Store Locator and WooCommerce first.

### Where do I choose which stores offer pickup?

Edit a store and open the “Local pickup” tab, or select stores on the store list
and use the “Enable pickup” bulk action. Only published stores are offered.

### Does it work with the block checkout?

Yes. It works with the Cart and Checkout blocks and with the classic `[woocommerce_checkout]`
shortcode. On the block checkout, your stores appear under WooCommerce’s own Ship/
Pickup choice.

### Can I charge a different price per store?

Yes. Set a default cost in the settings, then give any store its own fixed cost 
on its Local pickup tab. Leave the store’s cost empty to use the default.

### Why aren’t my stores sorted by distance?

Stores are sorted by distance once the customer has entered a postcode or city that
the map service in WP Store Locator can find. The lookup only searches the customer’s
country, also when WP Store Locator’s own search is restricted to other countries.
If the map service has no working geocoding key, a postcode is invalid, or the lookup
limits are reached, stores are listed by name instead. Checkout keeps working either
way.

Maximum distance can’t be checked then, so all stores are offered. To offer none
instead, so pickup is never offered beyond the distance, add `add_filter( 'wpsl_easypickup_offer_stores_without_distance','
__return_false' );`.

### Which maps are supported?

The map in the store picker is the map you use in WP Store Locator: OpenStreetMap,
Stadia Maps, Mapbox or Google Maps. If you prefer a simple list, turn off the map
button in the settings and the map scripts won’t load on your checkout.

If WP Store Locator found the API key of your map service invalid, the store picker
shows the list without the map until you fix the key.

### Can customers choose a pickup date and time?

Yes. They pick a day and a time slot at checkout. Only days and times when the store
is open in WP Store Locator are offered, and temporary closures are respected. Under
WooCommerce › Settings › Shipping › EasyPickUp Map you set the preparation time,
how far ahead customers can book and the slot length, and whether choosing a time
is required, optional or off.

### Does the pickup time work with express payment buttons?

Express checkout buttons on product and cart pages skip the checkout page, so customers
can’t choose a pickup time there. With the pickup time set to Required, those orders
are refused for pickup; set it to Optional if you rely on express checkout.

### Will my stores get an email about new orders?

Only if you turn it on. Under WooCommerce › Settings › Shipping › EasyPickUp Map,
choose which of the New, Cancelled and Failed order emails stores get a copy of.
The copy goes to the store’s email address in WP Store Locator, next to your usual
recipients. A store can opt out on its Local pickup tab.

These emails contain the customer’s details, and anyone who can edit stores in WP
Store Locator can change a store’s email address. Only turn them on if you trust
everyone with that access.

### Can I change the emails?

Edit the subject, heading and text under WooCommerce › Settings › Emails. To change
the layout, copy the templates from the plugin’s `templates/emails` folder to `yourtheme/
woocommerce/emails/`.

### Can developers extend it?

Yes. The plugin has hooks and functions for extensions: filters for the stores, 
the pickup rates, the pickup time rules and slots, and the checkout store picker,
actions for orders and emails, and functions to read the chosen store and time. 
Each hook is documented in the code where it runs.

### Why does WooCommerce’s own Local Pickup show as enabled?

WooCommerce’s block checkout only shows its Ship / Pickup toggle when its Local 
Pickup setting is on. This plugin reports it as on while the plugin is enabled, 
without saving anything. Deactivating the plugin restores your own setting.

### Can I use it together with WooCommerce’s own pickup locations?

Yes. If you also added locations in WooCommerce’s built-in Local Pickup, customers
see both.

### What happens to “Ready for pickup” orders when I delete the plugin?

Orders are never deleted. Orders still marked “Ready for pickup” keep that status
but WooCommerce shows it by its internal name, and they no longer appear under “
All” in the orders list. Complete or change them before uninstalling.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“EasyPickUp Map for WooCommerce” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ Tijmen Smit ](https://profiles.wordpress.org/tijmensmit/)

[Translate “EasyPickUp Map for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/easypickup-map-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/easypickup-map-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/easypickup-map-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/easypickup-map-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/easypickup-map-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * First release.

## Meta

 *  Version **1.0.0**
 *  Last updated **19 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.6 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [click and collect](https://wordpress.org/plugins/tags/click-and-collect/)[in store pickup](https://wordpress.org/plugins/tags/in-store-pickup/)
   [local pickup](https://wordpress.org/plugins/tags/local-pickup/)[Store locator](https://wordpress.org/plugins/tags/store-locator/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/easypickup-map-for-woocommerce/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  1 5-star review     ](https://wordpress.org/support/plugin/easypickup-map-for-woocommerce/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/easypickup-map-for-woocommerce/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/easypickup-map-for-woocommerce/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/easypickup-map-for-woocommerce/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/easypickup-map-for-woocommerce/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/easypickup-map-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/easypickup-map-for-woocommerce/reviews/)

## Contributors

 *   [ Tijmen Smit ](https://profiles.wordpress.org/tijmensmit/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/easypickup-map-for-woocommerce/)