Skip to content

Pickup availability

If you have a shop, a studio or a warehouse counter, the product page can tell a shopper whether the size they’ve picked is collectable there right now. It’s the Pickup availability block, and it has no settings — everything comes from Shopify.

  1. Add the location in admin under Settings → Locations, with its address.

  2. Turn on local pickup under Settings → Shipping and delivery → Local pickup, for each location that offers it. Set the expected pickup time there — “Usually ready in 2 hours”, “Usually ready in 1 to 2 days”.

  3. Add the block to the product page’s buy column, under the variant picker.

That’s it. There is nothing to configure in the theme, which is the point — the block reads variant.store_availabilities and filters to locations where pickup is enabled.

StateOutput
Available at the first pickup locationPickup available — Shoreditch, usually ready in 2 hours, in the accent colour
Not available therePickup unavailable at Shoreditch, dimmed
More locations existA second dim line: +2 more locations
No location has pickup enabledNothing at all

A store with no pickup never renders the block, so it’s safe to leave in the default product template.

Availability is per variant per location, and only Shopify knows it. So rather than guessing, the block re-fetches itself through the Section Rendering API when the shopper changes variant:

/products/tactical-shell?variant=40123456789&section_id=template--…__product

The fresh markup for the pickup block is lifted out of the response and swapped in. If that request fails the existing text is left alone rather than being blanked — stale is better than empty here, and the next variant change tries again.

There’s no location picker, no distance sorting, no “check another store” dialog. The block names the first pickup-enabled location and counts the rest.

That’s a deliberate scope limit. A full store locator with per-location stock is an app, and getting it wrong — telling someone a jacket is waiting for them when it isn’t — costs more trust than not offering the information. If you have many locations and pickup is a real part of how you sell, install a locator app and leave this block off.

Under products: pickup_available (takes location and time), pickup_unavailable (takes location), pickup_more (takes count).

Pickup is also a Shopify Theme Store requirement for product pages, which is part of why it ships as a default block in the product template rather than something you have to find and add.