PHPackages                             mediabeastnz/craft-commerce-click-and-collect - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. mediabeastnz/craft-commerce-click-and-collect

ActiveCraft-plugin

mediabeastnz/craft-commerce-click-and-collect
=============================================

Click And Collect plugin for Craft Commerce 2

1.0.2(5y ago)28614[2 issues](https://github.com/mediabeastnz/craft-commerce-click-and-collect/issues)proprietaryPHPCI failing

Since Jun 2Pushed 5y ago2 watchersCompare

[ Source](https://github.com/mediabeastnz/craft-commerce-click-and-collect)[ Packagist](https://packagist.org/packages/mediabeastnz/craft-commerce-click-and-collect)[ RSS](/packages/mediabeastnz-craft-commerce-click-and-collect/feed)WikiDiscussions master Synced yesterday

READMEChangelog (2)Dependencies (1)Versions (5)Used By (0)

[![Click And Collect plugin for Craft Commerce 2](./src/icon.svg)](./src/icon.svg)

Click And Collect plugin for Craft Commerce 2
=============================================

[](#click-and-collect-plugin-for-craft-commerce-2)

Click &amp; Collect for Craft Commerce allows you to quickly start allowing your customers to pick their orders up in store rather than their items being shipped to them.

This can save businesses courier/shipping costs, get products to customers faster and provider a better service.

This plugin will allow you to manage and create multiple store locations in which the customer can select from. IT will be up to you to implement this logic on the frontend however you'll find some quickstart examples below.

Along with store management, this plugin will automatically create a Shipping method which can be renamed. This will be the method that customers choose if they wish to collect in store.

If a customer chooses to pick their order up in store, the plugin will update their order with the selected shipping mehtod and use a custom field to save their selected store.

Installation
------------

[](#installation)

Either by the plugin store (search "Click And Collect") or via composer.

`"mediabeastnz/craft-commerce-click-and-collect": "^1.0.0"`

Requirements
------------

[](#requirements)

This plugin requires Craft CMS 3.0.0 or later and Craft Commerce 2.0 or later.

Setup
-----

[](#setup)

As mentioned above, this plugin doesn't provide any frontend widgets only the necessary data in which you can use to implement any sort of checkout process.

Please use this process as a reference when first installing:

1. Once the plugin is installed navigate to the plugins settings screen and update any default settings.
2. Next you will need to create your cusatom order field. Create a new field using the `Click & Collect Stores` field and remember to set its handle as it is in the settings. a. The handle needs to match the plugin setting `Stores Field Handle`.
3. Add your new field to the `Order Fields` under the Commerce System Settings. a. Note you can name the tab what ever suits. This field will only ever be used when the Orders Shipping Method is pickup in store (or whatever you called it).
4. Create a few Stores
5. Now all that's left is to update your frontend for your store to allow customers to select the new shipping method and stores. a. Below are some code examples to get you started as well screenshots of how other stores have implemented this feature.

Examples / Recommendations
--------------------------

[](#examples--recommendations)

### List out all Stores

[](#list-out-all-stores)

```
{# First query for all Stores | You could also filter this list if required #}
{% set stores = craft.clickandcollect.stores.all() %}
{# Get the storeFieldHandle as per your settings | This is what stores the selected store #}
{% set storeFieldHandle = craft.clickandcollect.settings.storeFieldHandle %}
{% for store in stores %}

            {{ store.title }}
            {{ store.address.city }} {# You have access to the full address model here #}

{% endfor %}
```

### Example of implementation

[](#example-of-implementation)

The examples below are screenshots of what is possible. A small amount of javascript and you'll be up and running in no time.

On the checkout page (step 1)[![example](./resources/img/implementation.png)](./resources/img/implementation.png)

Delivery options (step 1)[![example 2](./resources/img/implementation-2.png)](./resources/img/implementation-2.png)

### Plugin Screenshots

[](#plugin-screenshots)

Basic frontend setup[![frontend](./resources/img/frontend-example.png)](./resources/img/frontend-example.png)

Custom Field in an order/cart[![custom field](./resources/img/custom-field.png)](./resources/img/custom-field.png)

Custom Field in the Order Fields[![custom field setup](./resources/img/order-field.png)](./resources/img/order-field.png)

Custom Order Status[![order status](./resources/img/order-status.png)](./resources/img/order-status.png)

Custom Order Status - Dashboard[![order status dashboard](./resources/img/order-status-dash.png)](./resources/img/order-status-dash.png)

Plugin Settings[![plugin settings](./resources/img/settings.png)](./resources/img/settings.png)

Feature Requests
----------------

[](#feature-requests)

Feature requests are always welcome, if you have any ideas please either submit an issue here or contact me at [www.mylesderham.dev](www.mylesderham.dev).

Roadmap
-------

[](#roadmap)

- Dashboard to see incoming pickup orders, stats on delivery vs pickup
- Better documentation on how to implement frontend
- Create a few Event hooks to allow other plugins to integrate

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 66.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~244 days

Total

3

Last Release

2049d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2e4d1e3c7076289316ec631e25f7d4b76636a8ba36ce4f6d90461ff6a9fa002d?d=identicon)[mediabeast](/maintainers/mediabeast)

---

Top Contributors

[![mylesthedev](https://avatars.githubusercontent.com/u/909749?v=4)](https://github.com/mylesthedev "mylesthedev (6 commits)")[![john-henry](https://avatars.githubusercontent.com/u/44709?v=4)](https://github.com/john-henry "john-henry (2 commits)")[![Tam](https://avatars.githubusercontent.com/u/977594?v=4)](https://github.com/Tam "Tam (1 commits)")

---

Tags

Craftcraftcmscraft-plugincollectcommerceclick-and-collectinstorestore pickup

### Embed Badge

![Health badge](/badges/mediabeastnz-craft-commerce-click-and-collect/health.svg)

```
[![Health](https://phpackages.com/badges/mediabeastnz-craft-commerce-click-and-collect/health.svg)](https://phpackages.com/packages/mediabeastnz-craft-commerce-click-and-collect)
```

###  Alternatives

[verbb/image-resizer

Resize assets when they are uploaded.

127269.1k7](/packages/verbb-image-resizer)[verbb/workflow

Enforce multi-step review processes for creating entries.

138120.3k1](/packages/verbb-workflow)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
