- Home
- Apps
- Multichannel & PIM Tools
- Store Pickup / Click & Collect (BOPIS) for Magento 2
Illustrative previewA build-to-order Magento 2 / Adobe Commerce extension that adds a true Buy-Online-Pickup-In-Store option at
checkout, with a Google Maps store locator, pickup date and time-slot scheduling, and per-location capacity control. Built, installed and supported by
ECOSIRE on your store.
What is Store Pickup / Click & Collect (BOPIS) for Magento 2?
A build-to-order Magento 2 / Adobe Commerce extension that adds a true Buy-Online-Pickup-In-Store option at checkout, with a Google Maps store locator, pickup date and time-slot scheduling, and per-location capacity control. Built, installed and supported by ECOSIRE on your store. Built to order by ECOSIRE for Magento 2 / Adobe Commerce (build-to-order) — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Magento 2.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
About this Product
Store Pickup / Click & Collect (BOPIS) turns your physical locations into fulfillment points inside Magento 2. We register a dedicated store-pickup carrier (a custom Magento\Shipping\Model\Carrier\AbstractCarrier implementing CarrierInterface) that appears in the checkout shipping step, so collection sits alongside your existing flat-rate, table-rate or carrier methods — no fake address hacks.
When a shopper chooses pickup, a Google Maps store locator lets them pick a branch, then a date and time-slot selector offers only slots that still have capacity. Per-location opening hours, holidays and slot capacity are enforced server-side, so you never overbook a counter. Slot reservations are persisted against the quote and copied to the order via a sales_model_service_quote_submit_before observer, so warehouse and counter staff see exactly when each customer is coming.
This is honest build-to-order software, not an instant Adobe Commerce Marketplace download. ECOSIRE develops the module under app/code/Ecosire/StorePickup, wires it through di.xml, plugins/interceptors and observers, then installs it on your Magento Open Source or Adobe Commerce instance — including data migration of your branch list and setup:upgrade/setup:di:compile on your staging environment first.
You get clean service contracts (repository + data interfaces) for locations and slots, REST and GraphQL endpoints so headless/PWA Studio storefronts can read availability, admin ACL-gated grids for managing branches and bookings, and a cron job that prunes expired slot holds. Everything is delivered as readable, upgrade-safe code you own — no encrypted blobs, no per-seat licensing. We hand over the source, a short runbook, and stay on to support and extend it.
What you get
- Custom Magento 2 module Ecosire/StorePickup installed under app/code (or as a Composer package) on your store
- Store-pickup carrier, checkout time-slot UI, Google Maps locator and admin location/booking grids configured for your branches
- Service contracts (repository + data interfaces) plus REST and GraphQL endpoints for locations and slot availability
- Database schema (declarative schema XML) for locations, hours, holidays and slot reservations, with data patches to import your branch list
- Admin ACL, system configuration section and cron job for expired-slot cleanup
- Installation on your staging environment, setup:upgrade / setup:di:compile run, and verified checkout-to-order flow before go-live
- Source code handover, a short operations runbook and a post-launch support window
Who this is for
Omnichannel retail manager
Runs an online store plus several physical branches and wants click & collect that customers actually trust — real opening hours, real slots, and orders that show staff exactly who is coming and when.
Magento merchant / store owner
Wants BOPIS revenue without paying a developer to glue together a generic marketplace plugin; prefers a fixed-scope build installed and supported by one team that owns the code.
Ecommerce developer / agency lead
Needs an upgrade-safe module that follows Magento conventions (di.xml, service contracts, plugins, GraphQL) so it survives Magento and Adobe Commerce upgrades and integrates with a headless or PWA Studio front end.
How Store Pickup / Click & Collect (BOPIS) for Magento 2 Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Magento 2 Native |
|---|---|---|---|---|
| True store-pickup shipping method at checkout (no fake-address workaround) | Included | Partial support | Included | Not included |
| Per-location time-slot scheduling with capacity limits | Included | Partial support | Partial support | Not included |
| Google Maps store locator integrated with checkout | Included | Partial support | Included | Not included |
| Built, installed and supported on your store by one team | Included | Partial support | Not included | Not included |
| Tailored exactly to your branches, hours and capacity rules | Included | Included | Not included | Not included |
| REST + GraphQL availability for headless / PWA Studio | Included | Partial support | Partial support | Partial support |
| Full source ownership, no per-seat or recurring license | Included | Included | Not included | Included |
| Instant self-serve download and install | Not included | Not included | Included | Included |
Frequently Asked Questions about Store Pickup / Click & Collect (BOPIS)
Is this an instant download from the Adobe Commerce Marketplace?
No. This is a build-to-order extension. ECOSIRE develops the Ecosire/StorePickup module to fit your store, installs it on your Magento Open Source or Adobe Commerce instance, imports your branch list and verifies the full checkout-to-order flow. There is no instant Marketplace download or self-serve install — we deliver and configure it for you.
How long does delivery take?
Typical lead time is about one working week from kickoff: requirements and your branch/hours data in week one, build and staging install in week two, and go-live plus verification after your sign-off. Heavily customized capacity rules, multi-warehouse logic or PWA Studio integration can extend this — we confirm a firm timeline in writing before starting.
Does it work with Adobe Commerce as well as Magento Open Source?
Yes. The module uses only standard Magento 2 framework concepts — carriers, di.xml, service contracts, observers, ACL, GraphQL and declarative schema — so it runs on both Magento Open Source and Adobe Commerce. Where Adobe Commerce adds features such as native MSI source assignment or B2B, we can align pickup locations with your inventory sources during the build.
Will it survive Magento upgrades, and is ongoing support included?
Because everything lives in its own module under app/code and uses plugins/interceptors rather than core edits, it is upgrade-safe. We include a post-launch support window, and you can keep ECOSIRE on a maintenance arrangement for Magento/Adobe Commerce version bumps, bug fixes and new features. You receive the full source, so any Magento developer can also maintain it.
Can headless or PWA Studio storefronts use it?
Yes. Locations and slot availability are exposed through both REST and GraphQL, and the booking is written to the quote through service contracts, so a Luma theme, a custom front end or a PWA Studio storefront can all read availability and submit a pickup selection. We tailor the GraphQL schema to your front-end needs during the build.
Do you support multiple stores, websites and currencies?
Yes. Configuration is scoped through system.xml so you can enable pickup per website or store view, assign different branches and hours to each, and respect Magento's existing multi-store, multi-language and multi-currency setup. The store locator and slot rules follow the active store scope.
Related Modules

ShipStation Integration for Magento 2
A build-to-order Magento 2 / Adobe Commerce extension that keeps orders, shipments and tracking in two-way sync with ShipStation so you can batch-print labels across every carrier and invoice after shipping.

Shopee Integration for Magento 2
A custom-built Magento 2 / Adobe Commerce extension that connects your store to Shopee across Southeast Asia and LATAM, with bulk listing, two-way inventory and price sync, and automated order import. Built, installed and supported by ECOSIRE.

Talabat / Q-commerce Integration for Magento 2
A custom Magento 2 / Adobe Commerce module that syncs your catalog/menu, real-time stock and prices to Talabat and other GCC q-commerce platforms, imports orders back into Magento, and keeps statuses, store/branch availability and Arabic content mapped — built, installed and supported by ECOSIRE.

Telr Payment Gateway for Magento 2
A build-to-order Magento 2 / Adobe Commerce payment module that integrates the Telr hosted gateway for UAE & GCC merchants — cards, mada, local methods, 3D Secure, multi-currency and admin-side refunds, built and installed for you by ECOSIRE.
Store Pickup / Click & Collect (BOPIS)
A build-to-order Magento 2 / Adobe Commerce extension that adds a true Buy-Online-Pickup-In-Store option at checkout, with a Google Maps store locator, pickup date and time-slot scheduling, and per-location capacity control. Built, installed and supported by ECOSIRE on your store.
- Dedicated store-pickup shipping method (custom carrier implementing CarrierInterface) shown natively in the Magento 2 checkout shipping step alongside existing methods
- Google Maps store locator with branch search, distance sorting and map/list toggle, rendered as a Knockout/UiComponent in checkout and on a standalone locator page
- Pickup date picker plus time-slot selection that only surfaces slots with remaining capacity, validated server-side before the quote is updated
- Per-location slot capacity and concurrent-order limits enforced through a service-contract layer so two customers can't book the last slot