Appearance
Installation
For merchants
Requirements
- Shopware 6.7 (not 6.6), PHP 8.2+.
- Working email sending (Shopware: Mailer) — the store notification and the ready for pickup email use it.
- Optional: the SMS plugin, to text pickup locations.
- A database backup — installation runs migrations that add tables, a delivery state, mail templates and flows.
1. Install the plugin
Click and Pick is proprietary and not available from Packagist by version.
Option A — ZIP upload
- Get the release ZIP from KommandHub.
- Extensions → My extensions → Upload extension (Shopware: My extensions), select the ZIP.
Option B — Composer from the repository
Requires read access to the repository. Add it to your project's composer.json:
jsonc
"repositories": [
{ "type": "vcs", "url": "https://github.com/KommandHub-Org/KmhClickAndPickSW.git" }
]Then require a tagged release:
bash
composer require "kommandhub/click-and-pick-sw:^0.10"For a private repository, give Composer a GitHub token with read access: composer config --global github-oauth.github.com <token> (never commit it). Background: Shopware: extension management.
2. Activate
bash
bin/console plugin:refresh
bin/console plugin:install --activate KmhClickAndPickSW
bin/console cache:clearOr in the Administration: Extensions → My extensions, find Click and Pick (Self Pickup), click Install and switch it active. Once active, Configure on the same row opens its settings.

Activation creates:
| What | Details |
|---|---|
| Shipping method Self pick-up | technical name kmh_self_pickup, price 0, delivery time 15-30 minutes, availability rule All customers; linked to every sales channel |
| Payment method Pay on pickup | technical name kmh_pay_on_pickup, availability rule Payment method is self pick-up; linked to every sales channel |
| Delivery state Ready | with transitions Open → Ready → Shipped, Ready → Open, Ready → Cancelled |
| Mail templates | Order ready for pickup (customer) and New pickup order received (pickup location), English and German |
| Flows (active) | Send pickup ready mail to customer, Send pickup notification to admin |
| Settings | The plugin settings are stored with their defaults |
| Administration | Content → Pickup Locations, and a Pickup information tab on orders |
3. Check the methods on your storefronts
Installing and activating the plugin adds Self pick-up and Pay on pickup to every sales channel, so they are offered straight away. Check them, or remove them from storefronts that shouldn't offer collection:
- In the left menu under Sales Channels, click a storefront. On the General tab, scroll to Payment and shipping.
- Pay on pickup is listed under Payment methods (1) and Self pick-up under Shipping methods (2) (Shopware: Sales channels).
- To stop offering collection on this storefront, remove both and click Save.

Removed methods come back on (re)activation
Activating the plugin again — or updating it — links both methods to every sales channel once more. Check storefronts that shouldn't offer collection after each update.
Pay on pickup only appears at checkout while Self pick-up is the selected shipping method; you don't need a rule of your own for that.
Adjust names, prices or delivery time as for any shipping method or payment method.
4. Create a pickup location
Content → Pickup Locations → Add pickup location — name, address, email (receives new pickup orders), default sales channel and sales channels, time zone and opening schedule, and switch it Active (new locations start inactive). Step by step: Pickup locations.
Until a location exists and is open within the next two weeks, customers who choose Self pick-up can't complete checkout. Create a location before your storefront goes live, or remove Self pick-up from storefronts that don't need it.
5. Verify
Walk through one order end to end — the customer checkout and order handling pages show every screen:
- Storefront: add a product, go to checkout, choose Self pick-up, select the location, a date and a time slot, add instructions.
- Choose Pay on pickup and place the order. The confirmation page shows the pickup location and time.
- The location's email receives New pickup order received - #<order number>.
- Administration: the order's Pickup information tab shows location, time and instructions.
- Set the order's delivery status to Ready: the customer receives Order ready for pickup.
Permissions
Staff need Pickup location permissions (Viewer, Editor, Creator, Deleter, under Content) in their role to manage locations — see Shopware: Users & permissions.
Updating
bash
composer update kommandhub/click-and-pick-sw # or upload the new ZIP
bin/console plugin:refresh
bin/console plugin:update KmhClickAndPickSW
bin/console cache:clearplugin:update runs new migrations, re-applies the shipping and payment methods (and links them to every sales channel again) and stores defaults for settings that have never been saved.
Uninstalling
Extensions → My extensions → ⋯ → Uninstall, or bin/console plugin:uninstall KmhClickAndPickSW.
- Self pick-up and Pay on pickup are deactivated, not deleted — past orders reference them.
- Without keep plugin data, all pickup locations, schedules and order pickup records are deleted. Orders themselves are kept.