Free, open source

Pickup

Local pickup with a time slot

Pickup adds click-and-collect scheduling to WooCommerce. When an order uses Local Pickup, the customer chooses a location and a date + time slot at checkout. The selection is validated and saved to the order, and slots are generated from your opening hours, each with a capacity, so no double-booking.

Open source GPLv2
Open source, GPL licensed No account, no card No custom table, HPOS compatible

Works with

WooCommerceGutenbergStorefrontAstraGeneratePressKadence

See it in action

When an order is collected in person, shoppers pick a location, day and time slot at checkout
The same location and time picker on mobile
Pickup locations, slot length and weekly opening hours in the dashboard

Local pickup without a time is chaos

WooCommerce Local Pickup never asks when the customer will arrive. Orders come in with no time, a queue forms all at once, and you have no idea how many people will show up at a given hour.

  • No way to pick a pickup date and time at checkout
  • Customers all arrive at the same time
  • No per-slot capacity leads to crowding
  • No pickup details on the order or email

Pickup adds a time slot at checkout

  • A location and date + time-slot picker for Local Pickup orders
  • Slots generated from your weekly opening hours
  • A per-slot capacity, a full slot drops off the list
  • Pickup details on the order screen, emails and the customer account

What you get in the free version

Everything you need to bring order to local pickup.

Location chooser at checkout

An admin-defined list of locations, each enabled or disabled individually.

Date + time-slot picker

A date and slot picker driven by your weekly opening hours.

Configurable rules

Slot length, per-slot capacity, lead time and booking horizon.

Live availability

Full or past-lead-time slots are hidden automatically, no double-booking.

Live availability via AJAX

The slot dropdown refreshes without a page reload after a location and date are chosen.

Server-side validation

The selection is validated server-side and saved to the order.

Shown on order and email

Pickup details appear on the admin order screen, in order emails and on the order and thank-you pages.

No custom table

Selections are stored as order meta; timezone aware, HPOS and Cart/Checkout Blocks compatible.

Up and running in three steps

Enable Local Pickup and offer the first time slots.

01

Install

Activate Pickup alongside WooCommerce with Local Pickup enabled.

02

Add locations and hours

Under WooCommerce → Pickup, add locations, opening hours, slot length and capacity.

03

Check the checkout

Choose Local Pickup at checkout and book a location and time slot.

Who it is for

When customers collect in person, bring order to pickup times without a heavy booking plugin.

Local grocers

Customers pick a window, and per-slot capacity spreads the queue across the day.

  • Slot picker
  • Per-slot capacity
  • Lead time

Bakeries and patisseries

Pickup at a set time with lead time so the order is ready.

  • Opening hours
  • Booking horizon
  • Details in email

Click and collect

Location and time-slot selection for Local Pickup, with a per-slot capacity.

  • Per-slot capacity
  • Multiple locations
  • Renders in blocks

What PRO adds, and why it matters

Per-location capacity

Override the global per-slot limit for individual pickup locations.

Blackout dates

Block holidays and one-off closures so slots are never offered.

Slot blackouts

Disable specific time windows on a date, optionally for one location only (shipped).

Per-slot pricing

Charge a fee or offer a discount for specific pickup slots via pickup/slot_fee (SlotPricing, shipped).

Calendar export

Download booked pickups as an iCalendar (.ics) file per location (shipped).

What you get: FREE vs PRO

PRO keeps everything in the free plugin and adds the modules below.

Feature FREE PRO
Location chooser at checkout
Date and time-slot picker
Slots from opening hours
Per-slot capacity limit
Lead time and booking horizon
Full slots auto-hidden
Server-side validation
Pickup details on order and email
No custom table, HPOS compatible

Pickup vs Local Pickup Plus vs Iconic Delivery Slots

How Pickup compares to the popular WooCommerce local pickup plugins.

PickupLocal Pickup PlusIconic Delivery Slots
Free version Yes
Pickup location chooser YesYes
Date and time-slot picker YesYes
Live availability YesYes
Per-location capacity ProYes
Blackout dates ProYes
Open source (GPLv2) YesCore GPLCore GPL
Paid plan price from €29/yrfrom $79/yrfrom $99/yr

Competitor data and pricing as of June 2026; check the vendors' sites for current pricing.

Need more? Pickup PRO

FREE covers location and time-slot selection at checkout. Pickup Pro adds per-location capacity overrides, holiday blackouts and per-slot pricing via pickup/slot_fee.

  • Per-location capacity overrides (shipped)
  • Blackout dates and slot windows (shipped)
  • Per-slot pricing or discounts via pickup/slot_fee (shipped)
  • Calendar export (shipped)

Support and resources

Every plugin has its own documentation with setup walkthroughs. Bugs and questions go to the public GitHub repository for that plugin, we answer in the open.

Frequently asked questions

Does it require WooCommerce?

Yes. Pickup requires WooCommerce to be active with its Local Pickup shipping method enabled. Without WooCommerce the plugin loads none of its features. You configure pickup locations and hours under WooCommerce → Pickup.

When do the pickup fields show at checkout?

The pickup fields appear only when the chosen shipping method is WooCommerce Local Pickup. For every other method they stay hidden and are never required. The rule is enforced server-side, so it holds regardless of JavaScript.

How are time slots generated?

Slots are generated from your weekly opening windows divided by the slot length. A 09:00-12:00 window with a 30-minute length produces 09:00, 09:30, 10:00 and so on. Slots inside the lead-time window or beyond the booking horizon are not shown.

What stops a slot from being over-booked?

Each slot has a capacity limit (5 orders by default). Pickup counts the orders already booked into a location, date and slot, and once that count reaches the capacity the slot drops off the list. This stops the same time from being booked beyond its limit.

Do customers have to pick a pickup time?

Yes. When pickup scheduling is enabled, the checkout requires a location, a date and a time slot, and a missing value blocks the order. The selection is checked server-side against the live availability. (A location-only mode without a time is not currently supported.)

Does it create database tables?

No. The chosen location, date and slot are stored as order meta, and settings live in the pickup_settings option. There is no custom table to maintain, and the settings are removed on uninstall.

Is Pickup HPOS and blocks compatible?

Yes. Pickup declares compatibility with HPOS (Custom Order Tables) and the Cart and Checkout Blocks. Saved pickup details show on the order, in emails and in the customer account with blocks too, though the in-checkout picker field itself is rendered on the classic checkout.

Is it timezone aware?

Yes. Slots are calculated in your store timezone as set in WordPress, and the pickup date is displayed using your configured WordPress date format. All calculations run on your own server with no external services.

How does Pickup compare to Local Pickup Plus and Iconic Delivery Slots?

Pickup gives shoppers a pickup location chooser plus a date and time-slot picker with live availability in the free version, and adds per-location capacity and blackout dates in the paid edition from €29/yr. Local Pickup Plus is a paid WooCommerce extension from $79/yr focused on multi-location pickup, while Iconic Delivery Slots from $99/yr handles slot scheduling and capacity. Pricing as of June 2026.

Add pickup times to your store

A location and time-slot picker at checkout, with capacity and lead time. The full FREE edition under GPL.

Read the docs

FREE is complete pickup scheduling. Pickup Pro adds per-location capacity and blackouts, per-slot pricing via pickup/slot_fee, and calendar export.