- Accueil
- Apps
- SaaS Tools
- Magento 2 Store Pickup / Click & Collect (BOPIS)
Aperçu illustratifA build-to-order Magento 2 / Adobe Commerce extension that adds buy-online-pickup-in-store (BOPIS) and curbside
collection to checkout, with per-store availability, pickup time-slot scheduling, and collection PINs. Built, installed, and supported on your store by ECOSIRE.
Qu'est-ce que Magento 2 Store Pickup / Click & Collect (BOPIS) ?
A build-to-order Magento 2 / Adobe Commerce extension that adds buy-online-pickup-in-store (BOPIS) and curbside collection to checkout, with per-store availability, pickup time-slot scheduling, and collection PINs. Built, installed, and supported on your store by ECOSIRE. 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.
Fonctionnalités clés
Fait sur commande, clé en main
Aucune configuration à faire vous-même — une app fonctionnelle conçue, installée et prise en charge par ECOSIRE.
- 1
Vous commandez
Commencez par un prix de développement unique. Nous cadrons le projet avec vous au lancement.
- 2
Nous développons et installons
ECOSIRE la développe, la configure et l'installe sur votre Magento 2.
- 3
Mise en ligne + assistance
Vous êtes en ligne en une semaine ouvrée environ, avec deux semaines d’assistance après la mise en production. Les défauts du code que nous livrons sont corrigés gratuitement.
À propos de ce produit
Most omnichannel retailers want click-and-collect but Magento 2 ships nothing native for it — the only built-in nod to in-store pickup is the Inventory In-Store Pickup (MSI) scaffolding, which exposes a pickup_location_code on the cart but gives shoppers no real store-pickup shipping method, no scheduling, and no staff-side collection workflow. This extension closes that gap.
ECOSIRE designs and builds this as a proper Magento module under app/code/Ecosire/StorePickup, registered through registration.php and a versioned module.xml. The Store Pickup shipping method is implemented as a real carrier model (Magento\Shipping\Model\Carrier\AbstractCarrier + CarrierInterface) wired via config.xml and system.xml, so it appears in checkout exactly like flat-rate or table-rate and respects shipping ACL, multi-website scope, and tax rules.
Per-store and per-product availability is sourced from MSI sources and stocks (SourceItemsSaveInterface, GetProductSalableQtyInterface) so the pickup options a shopper sees reflect real on-hand quantity at each location. Time-slot scheduling with capacity control is enforced by a custom service contract and a slot_capacity table, blocking overbooked windows. On order placement an observer on sales_order_place_after generates a collection PIN and triggers ready-for-pickup email/SMS notifications; staff verify the PIN from an admin grid gated by a dedicated ACL resource. A store locator with Google Maps ships as a frontend component, and everything is exposed over REST and GraphQL so headless/PWA Studio storefronts can consume it.
This is honest build-to-order: not an instant Adobe Commerce Marketplace download. ECOSIRE builds it against your Magento version (Open Source or Adobe Commerce), installs it on your environment, and supports it after launch.
Ce que vous obtenez
- Custom Magento 2 module (Ecosire_StorePickup) delivered as installable source under app/code with registration.php, module.xml, and Composer metadata
- Installation and configuration on your Magento environment (staging first, then production) by an ECOSIRE engineer
- Database schema via declarative schema (db_schema.xml) plus a data patch for default slot/store configuration
- Admin configuration walkthrough and a short runbook covering store setup, slot capacity, and PIN handover
- REST/GraphQL API reference for the pickup endpoints for your headless or integration team
- Source-controlled handover (Git repository or zipped module) with a CHANGELOG and semantic version
- Two weeks of go-live support covering defects and configuration questions
- Compatibility build targeted to your exact Magento Open Source or Adobe Commerce version and PHP version
Pour qui c'est
Omnichannel Retail Operations Manager
Runs multiple physical stores and wants online orders fulfilled as in-store pickups, with reliable per-store stock visibility and a slot system so stores are not overwhelmed at peak hours.
Magento Store Owner / eCommerce Lead
Wants a click-and-collect option at checkout to lift conversion and save on shipping, but needs it built correctly so it survives Magento upgrades instead of being a fragile theme hack.
Solution Architect / Lead Developer
Evaluates whether to build BOPIS in-house or commission it. Cares about MSI integration, service contracts, di.xml-based customization, ACL, and clean REST/GraphQL coverage for a PWA Studio frontend.
Comment Magento 2 Store Pickup / Click & Collect (BOPIS) se compare
| Critère | ÉCOSIRE | Construction personnalisée | Concurrent | Natif Magento 2 |
|---|---|---|---|---|
| Native store-pickup shipping method at checkout | Inclus | Prise en charge partielle | Inclus | Non inclus |
| Per-store availability built on MSI sources/stocks | Inclus | Prise en charge partielle | Prise en charge partielle | Prise en charge partielle |
| Pickup time-slot scheduling with capacity control | Inclus | Prise en charge partielle | Prise en charge partielle | Non inclus |
| Collection PIN + ready-for-pickup notifications | Inclus | Prise en charge partielle | Prise en charge partielle | Non inclus |
| Store locator with Google Maps | Inclus | Prise en charge partielle | Inclus | Non inclus |
| REST + GraphQL coverage for headless / PWA Studio | Inclus | Prise en charge partielle | Prise en charge partielle | Non inclus |
| Built, installed & supported on your store (done-for-you) | Inclus | Non inclus | Non inclus | Non inclus |
| Tailored to your exact stores, slots & workflow | Inclus | Inclus | Non inclus | Non inclus |
| Instant self-service download from a marketplace | Non inclus | Non inclus | Inclus | Prise en charge partielle |
Foire aux questions sur Magento 2 Store Pickup / Click & Collect
How long does delivery take, since this is build-to-order?
This is a custom build, not an instant Marketplace download. A typical implementation is scoped, built against your exact Magento version, and installed on staging within roughly one working week depending on customizations such as curbside mode, SMS provider, or headless GraphQL needs. After you sign off on staging, we schedule the production install. You get a firm timeline in writing before work starts.
What ongoing support and updates do I get after launch?
The $999 build includes two weeks of go-live support for defects and configuration questions. Because the module is built with di.xml plugins, observers, and service contracts rather than core overrides, it is upgrade-resilient — but Magento minor/major upgrades can still shift APIs. We offer optional retainer or per-incident maintenance to recompile and re-test the module against new Magento or Adobe Commerce releases. You own the source code and can maintain it yourself or with any developer.
Does this work with Magento's native MSI (Multi-Source Inventory) in-store pickup?
Yes. We build on top of MSI rather than replacing it. Pickup locations map to MSI sources, and availability uses salable-quantity service contracts (GetProductSalableQtyInterface) so the pickup options shoppers see reflect real on-hand stock per store. Magento's bundled Inventory In-Store Pickup only exposes a pickup location on the quote with no shipping method, scheduling, or staff workflow — this extension adds all of those.
Will it work with Adobe Commerce and with a headless / PWA Studio storefront?
Yes to both. The module runs on Magento Open Source and Adobe Commerce (we target your exact edition and version at build time). All pickup data — locations, slot availability, and order pickup status — is exposed over REST and GraphQL, so a PWA Studio or other headless storefront can drive the full click-and-collect flow. We confirm your edition and frontend stack during scoping.
Can it handle multiple websites and store views with different store sets?
Yes. Configuration is scoped through system.xml and read via ScopeConfigInterface, so each website or store view can have its own pickup-eligible locations, slot capacities, and notification templates. This suits retailers running several brands or regions on one Magento instance, where pickup availability and store sets differ per storefront.
Modules associés

Magento 2 Self-Checkout Kiosk
A customer-facing self-service kiosk mode for Magento 2 POS — shoppers scan, bag and pay themselves while stock decrements against the same Magento inventory source. Custom-built, installed and supported by ECOSIRE.

Magento 2 Shopee Marketplace Integration
A build-to-order Magento 2 module that bridges your catalog to Shopee Open Platform — bulk listing, two-way inventory and price sync, and automated order import across SEA regions. Engineered, installed and supported by ECOSIRE.

Magento 2 Table Reservation & Booking
A custom-built Magento 2 / Adobe Commerce extension that lets guests reserve restaurant tables online with real-time availability, deposits and automated reminders — designed, installed and supported by ECOSIRE on your own store.

Magento 2 Talabat / Q-Commerce Integration
A custom Magento 2 module that bridges your catalog/menu with Talabat-style q-commerce marketplaces — pushing items, prices and modifiers out, toggling live availability, and importing delivery orders straight into Magento. Built to your menu structure, partner credentials and store locations, then installed and supported by ECOSIRE.
Magento 2 Store Pickup / Click & Collect
A build-to-order Magento 2 / Adobe Commerce extension that adds buy-online-pickup-in-store (BOPIS) and curbside collection to checkout, with per-store availability, pickup time-slot scheduling, and collection PINs. Built, installed, and supported on your store by ECOSIRE.
- Store Pickup shipping method implemented as a real Magento carrier model (CarrierInterface) so it renders natively in checkout alongside flat-rate and table-rate
- Per-store and per-product availability driven by MSI sources, stocks, and salable-quantity service contracts (GetProductSalableQtyInterface)
- Pickup time-slot scheduling with per-store, per-slot capacity control backed by a custom slot_capacity table and service contract
- Collection PIN generated on order placement via a sales_order_place_after observer, validated by staff at handover