=== BoxCart – Local Pickup & Click and Collect Ordering ===
Contributors: norwichwebsitedesign
Tags: local pickup, click and collect, store pickup, order ahead, time slots
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.8.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Standalone local pickup and click and collect ordering for WordPress. Time slots, storefront and order management. No WooCommerce needed.

== Description ==

BoxCart is a standalone click and collect ordering plugin for WordPress. Give your customers a polished pickup-ordering experience with configurable time slots, a modern card-view storefront, customer accounts, and a built-in admin dashboard - all without WooCommerce.

Whether you call it local pickup, click and collect, store pickup, or order ahead, it is the same idea: customers order online and collect in person, at a time that suits them. BoxCart handles the whole flow, from storefront to time slots to order management, without the weight of a full e-commerce platform.

**Built for:** farm shops, bakeries, butchers, delis, greengrocers, fishmongers, florists, coffee roasters, pizza shops, meal-prep kitchens, and any business where customers order ahead and collect.

= What you get in the free build =

* **Guided Setup** - a five-minute wizard creates your shop pages, your collection point and time slots, your first product, how customers pay, and VAT.
* **Click & collect ordering** with configurable time slots on your pickup schedule. Set up one day, then copy its slots to the others.
* **Order cut-offs your way** - close orders a set number of hours before each slot, or at a set time before the collection day, such as 1pm the day before.
* **One pickup location** with its own address, collection instructions, opening hours, and per-slot capacity.
* **Card-view storefront** with category filters, search, mini-basket, and photos customers can tap to see larger. Optionally let customers hide out of stock products with a tick box.
* **Search that finds things** - by product name, by extra words you add ("bread" on your sourdough), by description and by category, best matches first, with plurals and small typos handled.
* **Search Insights** - see what customers search for, and which searches find nothing, on a Searches screen and dashboard widget, then add a missed search to one product, or tick several at once. Only the search words are kept.
* **Sell by unit, weight, or pack** - offer multiple quantity options per product, such as single units, 500g, 1kg, or a 6-pack.
* **Customer accounts** with order history, plus optional up-front registration. Sign-in, registration and password reset happen on your shop's own pages and work with security plugins (CAPTCHAs, lockouts, two-step sign-in, hidden login pages).
* **Admin order management** with a status lifecycle (pending, processing, ready, completed, cancelled). Optionally complete orders automatically after the collection day. Delete cancelled orders, such as test orders.
* **Orders by collection day** - one click for Today, Tomorrow, This week or Next week (with a count on each), or pick any day or two dates. Export to CSV or Excel by collection date, status and location.
* **Transactional email templates** (order confirmation and status updates) with branding controls and a live preview editor. Plus a new-order email for your shop, in full or compact layout: reply to it to answer the customer. And an optional daily email listing the day's collections, at a time you choose.
* **Cash on collection** and **bank transfer** payment methods.
* **5 Gutenberg blocks and 5 shortcodes** for embedding BoxCart anywhere - products, basket, checkout, account, mini basket.
* **Developer-friendly** - 50+ action hooks and 45+ filter hooks, CSS custom properties throughout, zero external PHP dependencies.
* **Cache-resilient** - pages render as empty shells that hydrate via AJAX, with a bypass cookie for customer sessions. Compatible with Cloudflare, WP Rocket, LiteSpeed, and similar.
* **Translation-ready** with a `.pot` file included.
* **GDPR-aware** - self-hosted fonts, optional full data cleanup on uninstall.

= Why BoxCart? =

* **Standalone - no WooCommerce required.** A single, focused plugin with its own data model.
* **Time-slot ordering baked in.** Configure your schedule, slot length, and capacity. Customers see live availability.
* **Developer extensible** - documented hooks, filters, and CSS custom properties.
* **Not a stripped-down demo** - the free build is a complete, working click & collect store.

= Paid Pro upgrade (optional) =

A paid Pro build is available from [boxcart.dev](https://boxcart.dev) with additional features:

* Multiple pickup locations
* Stripe card payments (with Apple Pay, Google Pay, Link, Klarna, PayPal, Afterpay)
* Table-view storefront
* Members-only pricing (hide prices and the add-to-cart button from logged-out visitors)
* Customer favourites and one-click reorder
* Two-way order messaging
* Customer-side order changes from their account, for a set number of hours or right up to the order cut-off, including orders paid by card: the difference is refunded automatically, or paid at collection. Items already ordered keep the price paid; extra items cost today's price
* Card refunds from the order screen
* Holiday closures, special collection times for a date (such as shorter hours on Christmas Eve), and per-date capacity overrides
* Printable pick lists & packing slips
* Sales reports, search trends, and a weekly or monthly Shop Report email
* CSV product & category import/export
* 195+ customisation settings

Pro is optional - the free build will continue to receive updates and is genuinely useful on its own.

= Live demo =

Three demo stores at [demo.boxcart.dev](https://demo.boxcart.dev) - a greengrocer, a bakery, and a butcher - each configured differently to show the range of what BoxCart can do.

= Documentation =

Full documentation at [docs.boxcart.dev](https://docs.boxcart.dev) covering every admin workflow and the developer API.

== Installation ==

1. In your WordPress admin, go to **Plugins &rarr; Add New**.
2. Search for **BoxCart**, then click **Install Now** and **Activate**.
3. **Guided Setup** opens. In about five minutes it creates your Shop, Basket, Checkout and My Account pages, adds your collection point with its days and time slots, adds your first product, and asks how customers pay, who your order emails come from, and whether you charge VAT. Any step can be skipped and done later from **BoxCart &rarr; Setup**.
4. Add the rest of your products under **BoxCart &rarr; Products**, and fine-tune each day's time slots under **BoxCart &rarr; Locations**.
5. Place a test order end-to-end, then cancel and delete it from **BoxCart &rarr; Orders**.

Prefer to use your own pages? Add the matching BoxCart shortcode or Gutenberg block to each page and choose them in **BoxCart &rarr; Settings &rarr; General &rarr; Page Setup**.

Full step-by-step walkthrough at [docs.boxcart.dev/getting-started](https://docs.boxcart.dev/getting-started.html).

== Frequently Asked Questions ==

= Do I need WooCommerce? =

No. BoxCart is fully standalone with its own products, orders, payments, and customer accounts. You can run it alongside WooCommerce if you want, but it does not depend on it.

= What payment methods are supported in the free build? =

Cash on collection and bank transfer. Stripe card payments (Cards, Apple Pay, Google Pay, Link, Klarna, PayPal, Afterpay) are available in the optional Pro upgrade.

= Can I run multiple collection locations? =

The free build is built around a single pickup location, which suits most farm shops, bakeries, and delis. The Pro upgrade adds multi-location management with a list view, per-location schedules, holiday closures, and per-date capacity overrides, useful if you run several sites or pop-ups.

= Does BoxCart work with caching plugins and Cloudflare? =

Yes. BoxCart uses a cache-resilient architecture - pages render as empty shells that hydrate via AJAX, plus a bypass cookie that most caching layers honour to skip full-page caching on customer sessions.

= Is it translation-ready? =

Yes. Text domain is `boxcart`. A `.pot` file is included at `languages/boxcart.pot`.

= Where can I get support? =

For the free build, use the [WordPress.org support forum](https://wordpress.org/support/plugin/boxcart/). For Pro customers, email us at hello@boxcart.dev.

= Does uninstalling remove all my data? =

Only if you opt in. **BoxCart &rarr; Settings &rarr; Misc** has a "Delete all BoxCart data on uninstall" checkbox. Off by default, so deactivating the plugin is safe and reversible.

= Can I customise the look and feel? =

Extensively. Settings cover colours, fonts, button styles, card layouts, sidecart behaviour, email branding, and more. Developers can also use CSS custom properties, 50+ action hooks, and 45+ filter hooks.

= Does Search Insights collect personal data? =

No. It's off until you turn it on, and then it keeps only the search words (lower-cased), the day, how many times they were searched and how many products they found: nothing that links a search to a person, and no cookies. Searches that look like an email address or phone number are never kept, and searches are deleted after 180 days. To stop one visitor flooding the log, BoxCart keeps a scrambled (hashed) form of the visitor's IP address with a count for ten minutes, separate from the searches.

= Does BoxCart send any data to external services? =

BoxCart itself does not send shopper data anywhere. It uses the Freemius plugin framework to handle optional opt-in diagnostics and to deliver the paid Pro upgrade. See the "External Services" section below for full detail.

== External Services ==

This plugin uses the **Freemius** plugin framework (https://freemius.com/) for optional anonymous usage tracking, licence handling for the paid Pro upgrade, and update delivery for Pro customers. Freemius is a well-known WordPress plugin distribution platform and the integration is entirely standard.

**What data is sent, and when:**

* When you activate BoxCart, you are shown an opt-in prompt asking whether to share anonymous usage diagnostics. You can skip the prompt - the plugin works either way.
* If you opt in, Freemius receives: your site URL, admin email, WordPress version, PHP version, plugin version, activation/deactivation events, and non-personal environment data (e.g. active theme, locale). You can opt out at any time from **BoxCart &rarr; Account**.
* If you purchase the Pro upgrade, Freemius also handles your licence key, renewal state, and update delivery for the Pro build.
* BoxCart never sends your customers' data, your orders, your products, or the contents of your store to Freemius or anywhere else.

**Endpoints contacted:** `api.freemius.com`, `wp.freemius.com`.

**Freemius's own privacy policy and terms:**

* https://freemius.com/privacy/
* https://freemius.com/terms/

== Screenshots ==

1. Card-view storefront with category filters, search, and a push mini basket.
2. Sidecart with basket items, collection-slot prompt, and clear total.
3. Time-slot picker showing live availability on the customer's chosen day.
4. Customer account with order history.
5. Admin dashboard with today's orders, pending queue, and ready-for-collection.
6. Orders list with collection-day buttons, status tabs and quick search.
7. Product editor - name, price, image, category, SKU, stock, and quantity type.
8. Pickup-location editor with opening hours, slot length, and capacity.
9. Gutenberg block inserter showing the five BoxCart blocks.

== Changelog ==

= 1.8.2 =

* Fix: For shops in another language, products added by "Load more", a search or a category button now use your translations (they showed "Add to Basket", "Out of Stock" and more in English). So do the "Collecting:" bar, the basket counts and the order-change screen (BoxCart Pro).
* Fix: Day and month names follow your site's language in the slot picker, on order pages and in emails (they were always in English).
* Fix: Collection times follow your WordPress clock (Settings &rarr; General &rarr; Time Format). With a 24-hour format they read 12:00 - 15:00 everywhere. With a 12-hour format customers see no change, and BoxCart Today and the daily collections email now show 12:00pm too.
* Fix: "1 slot left" instead of "1 slots left". New strings to translate: "1 slot left", "({time} left)", "({seconds}s left)" and "%1$s at %2$s" (when an order was placed), plus "Add a note for the shop..." in BoxCart Pro.

= 1.8.1 =

* Fix: The calendar on the Orders screen and in BoxCart Today labels its days correctly when your week starts on Monday (it showed W T F S S M T, though the dates were in the right place).
* Fix: The pick list's "Printed" date follows the "3rd November" dates setting, and the Shop Report email points to BoxCart &rarr; Searches for adding search words (BoxCart Pro).

= 1.8.0 =

* New: Better search. Customers find products by name, by words you add under "Also found by" (say "bread" on your sourdough), by description and by category, best matches first. Plurals and small typos still find the right thing ("Showing results for avocado"), and when BoxCart isn't sure, it asks ("Did you mean …?"). A search that only matches a category name says so, and words found only inside longer names ("butter" in Butternut Squash) come last, as Similar names. Search Insights points both out, so you can add the word to the right products.
* New: Search Insights. Turn it on under Settings &rarr; General to see what customers search for, and which searches find nothing, under BoxCart &rarr; Searches and in a BoxCart Searches dashboard widget. Add a missed search to a product in two clicks (or tick several, say every onion, at once), or remove one that was just a typing mistake. Only the search words are kept: nothing that links a search to a person, and no cookies.
* New: More on the Searches screen: week by week, rising searches, searches that led to a basket add, and a spreadsheet download. When you add a product, or bring one back into stock, that answers a search that found nothing, you're told (BoxCart Pro).
* New: A Shop Report by email, weekly or monthly at a time you choose: orders, revenue and items compared with the period before, best sellers, your busiest day and time, cancelled and changed orders, new customer accounts and what customers searched for (BoxCart Pro).
* New: Tap a product photo to see it larger, in the product's info pop-up (also from the table view's thumbnails in BoxCart Pro). On by default; switch it off under Settings &rarr; Styling.
* Improved: BoxCart Today has a day picker: step to tomorrow or any date to see its collections. It also shows the items to pick when your shop doesn't show prices, links to the rest of the day's orders, keeps status labels quiet until orders move on, and warns you, with a Resend button, if an order's shop email didn't go.
* Improved: Simpler order filters. The Orders screen opens on upcoming collections, soonest first, with one-click Today, Tomorrow, This week and Next week buttons showing how many orders each has, arrows to step a day at a time, and a calendar for any day or two dates. Everything applies straight away, and a sentence says what you're looking at. Exports use collection dates too.
* Improved: Clearer help with passwords. After a wrong password, customers are reminded that a new account needs its password set from the emailed link first, with a link to get a new one. A password link that's been used or replaced explains why and sends a fresh one in one click, and password emails say each link replaces the ones before.
* New: Dates can read "3rd November" instead of "3 November". Turn it on under Settings &rarr; General &rarr; Dates, and it applies wherever BoxCart shows a date: emails, the checkout, customer accounts, pick lists, reports and your admin screens. It's off to start with, so nothing changes until you choose it.
* Improved: Delete cancelled orders in one go: tick them on the Cancelled tab and choose Delete for good.
* Improved: The Excel order export is now a real Excel file, so Excel opens it without a warning, and amounts are numbers you can add up.
* Fix: Smaller fixes: pick lists give the quantity more room, so "×1 Each" stays on one line and long lists take fewer pages (BoxCart Pro); BoxCart's buttons are BoxCart green throughout; the sign-in and password pages are tidier, with the "Don't have an account yet?" note easier to spot and messages kept inside the form; the order confirmation's "Need to change something?" box puts its button under the text again (BoxCart Pro); the confirmation email's "View your order online" button uses the shop's email colour instead of always BoxCart green; and a shop page could stop filtering or searching for a visitor whose browser remembered the table view from before, on a shop without the view switch.
* Fix: Stripe secret keys no longer appear in the settings page's source, and a card refund that fails at Stripe after it was made is noted on the order, its payment figures are put right and you're emailed (BoxCart Pro).

= 1.7.0 =

* New: A daily collections email. Choose a time and BoxCart emails you the day's collections, grouped by collection point and time. On a quiet day it says there are none, so you always know it's working.
* New: Complete orders after the collection day. Turn it on under Settings &rarr; Orders and orders still open the day after collection move to Completed, without emailing customers.
* New: Let customers hide out of stock products, with a "Hide out of stock" tick box above your products.
* New: Reply to your shop's order emails to answer the customer directly. The compact new-order email now shows the customer's phone and email, and how many items to pick.
* Improved: Customer sign-in, registration and password reset now work with security plugins (CAPTCHAs, lockouts, two-step sign-in, hidden or moved login pages), and customers stay on your shop's own pages.
* Improved: When a customer adds more of a product whose price has changed since they ordered, the units they already ordered keep the price they paid and the extra units cost today's price. The change screen says so (BoxCart Pro).
* Improved: Customers who set their password from the emailed link are signed in straight away (unless they use two-step sign-in), phones save the password against the right email, and tapping a box on a phone no longer zooms the page.
* Improved: The BoxCart Today dashboard widget shows each order's collection point when you have more than one, and leaves out revenue when your shop doesn't show prices.
* Fix: Order and status emails could occasionally go missing when several things happened at once (for example two orders in the same second). BoxCart now keeps its own outbox, sends each email once, and retries anything left over every five minutes.
* Fix: Pop-ups such as Select Collection Slot no longer leave a grey screen in Safari, the phone basket bar's icon shows on iPhone, items can't be added once a held collection slot has run out, and a failed add to the basket now says so clearly.

= 1.6.0 =

* New: Shop staff. Give your team the Shop Staff role, or tick other roles under Settings &rarr; Accounts, so they can look after orders, products, categories and pickup locations without being administrators. Settings and Guided Setup stay with administrators.
* New: Special times for a date. Give a day its own collection times, such as shorter hours on Christmas Eve, or open on a day you're usually closed (BoxCart Pro).
* New: Order changes can stay open right up to the order cut-off for the collection, and customers are told until when (BoxCart Pro). Capacity overrides can now be edited, and show how many orders are booked.
* New: A compact layout for your shop's new order email, with just what you need to pack the order.
* Fix: Customers who change their email address on their account page now confirm it with their password and a link sent to the new address, and keep their past orders. Orders placed while signed out show up in their account straight away.
* Fix: The confirmation email no longer promises an "order ready" email when your shop won't send one, and you no longer get WordPress's "Password Changed" email each time a customer resets their password.
* Fix: Two shoppers can no longer both book a collection slot's last place, checkout re-checks the basket before taking an order, and signing out starts a fresh basket so the next person on that computer doesn't see it.
* Fix: Many smaller fixes: settings imports keep your email templates, duplicated products keep their prices, order exports treat what customers typed as plain text (and the Excel export opens in Excel), hidden prices stay out of your shop's pages, quantities follow each product's steps, an order change no longer lists notes that weren't changed, and BoxCart Pro's product import only changes the columns you import.

= 1.5.1 =

* Fix: Accounts customers create through BoxCart now always get the Customer role, whatever your site's default role for new users is set to. If any existing customer accounts have more access than a customer needs, BoxCart points them out so you can check them.
* Fix: Returning customers can sign in right on the checkout page and come straight back to it, with the collection slot they picked still selected.
* Fix: The basket panel and basket page show each item's unit (such as kg or bunches) when prices are hidden, and plain-text shop emails list items in your category order, show "&" correctly, include a working order link and end with the number of items.

= 1.5.0 =

* New: Guided Setup gets your shop ready in about five minutes: pages, collection point and time slots, first product, payments and VAT.
* New: Copy a day's time slots to other days.
* New: Customers can change orders they've paid for by card. If the order costs less, the difference goes back to their card; if it costs more, they pay the rest when they collect (BoxCart Pro).
* New: Refund card payments from the order screen, or when you cancel an order (BoxCart Pro). Refunds you make in your Stripe dashboard show on the order too. Delete cancelled orders, such as test orders.
* Improvement: Much faster with hundreds of products, a simpler checkout with no billing address, and receipts that show VAT clearly whether your prices include it or add it on top, plus what's been paid, refunded and is left to pay.
* Fix: Weighed quantities (such as 1.5 kg) are no longer rounded to whole numbers when BoxCart is deactivated and reactivated. Orders already affected are repaired where they have prices.
* Fix: A declined card no longer leaves customers stuck: their basket stays so they can try again (BoxCart Pro).
* Fix: Customers can't change an order once its order cut-off has passed, and many smaller fixes to item counts, quantities, emails, settings and theme styling.

= 1.4.0 =

* New: Choose when orders close. As well as a set number of hours before each collection slot, you can now close orders at a set time before the collection day, such as 1pm the day before. Customers see the rule above the collection dates.
* Fix: The order lead time now uses your site's timezone. During British Summer Time, slots could be booked up to an hour later than your lead time allowed.
* Fix: Dates where every slot has passed its cut-off now show as closed, instead of looking bookable.
* Removed: The "Slot Cutoff Time" setting, which had no effect. Use "When Orders Close" instead.

= 1.3.2 =

* Improvement: Updated Freemius SDK to the latest version.

= 1.3.1 =

* Security: Important for BoxCart Pro shops taking card payments. An order is now only marked as paid when Stripe confirms the full amount was paid for that particular order.
* Security: When customers change an order (BoxCart Pro), prices, stock and any new collection slot are now checked on your site, exactly as at checkout. The items on an order already paid by card can no longer be changed online.
* Security: A collection slot is now only held for a basket with something in it, so empty baskets can no longer make slots look fully booked.
* Security: SVG image uploads are now limited to administrators, and are checked for scripts before they are accepted.
* Fix: Changing an order (BoxCart Pro) now recalculates its VAT or sales tax.
* Fix: Paid orders now stay at "Order Received" until you move them on, like every other order. Card payments, and payments you confirm yourself, used to jump straight to "Being Prepared" and email the customer that their order was being prepared.
* Fix: The time customers have to change an order (BoxCart Pro) is now measured in your site's timezone. Outside the UK it could run out early, or never open at all.
* Fix: Activating a BoxCart Pro licence now works on sites that had already opted in to updates on the free version. The "Enter your licence key" button used to return to the dashboard instead of opening the licence box.
* Improvement: Tested with WordPress 7.1 and PHP 8.5, plus a Freemius SDK update and smaller fixes and hardening throughout.

= 1.3.0 =

* New: Two options for shops that do not open every day (Settings &rarr; Collection &rarr; Slot Selection). Hide the dates you are closed instead of showing them greyed out, and choose whether customers see a "slots left" count against each time slot.
* Fix: Important. Stores set up using the Setup screen could end up with no payment methods on the checkout page and no collection slot bar on the products page, even though Settings showed both as switched on. Any settings you have saved yourself are left exactly as they are; only genuinely missing values are filled in, automatically, on update. Please do check your checkout after updating.
* Fix: The slot selector on the products page always showed "slots left" in English, ignoring the site's language.

= 1.2.1 =

* Fix: the order link in admin notification emails now opens the correct order.
* Tidy-up: corrected wording across the admin, help panels, and this listing.

= 1.2.0 =

* New: Up-front customer registration. A new option (Settings, Accounts) lets customers create an account before they order, not only after checkout. The branded registration form runs through WordPress's native registration flow, so customers never type a password into BoxCart.
* Fix: Checkout could log a database notice ("Unknown column 'sort_order'") when a basket contained products with more than one quantity option. The fallback pricing lookup now queries the correct column.

= 1.1.0 =

* New: Guided setup. A new "Setup" screen (always available in the BoxCart menu) shows a live checklist of what is left to do, with one-click creation of the Shop, Basket, Checkout, and My Account pages. It drops in the correct shortcode, assigns each page in Settings, and reuses any pages you already made instead of duplicating them.
* New: The dashboard Quick Start guide now stays available with live progress ticks until setup is complete, and can be dismissed early, rather than disappearing as soon as you add your first product. The welcome screen also links straight to Guided Setup.
* New: "BoxCart Today" dashboard widget on the main WordPress dashboard, showing today's collections, takings, and this week's order counts at a glance.
* Improvement: Storefront shortcodes can be copied with a single click from the new Setup screen.
* Improvement: A "Hide Setup page" option (Settings, Misc, Advanced) removes the Setup screen from the menu once you have finished setting up, and can be switched back on at any time.

= 1.0.1 =

* Fix: Fatal error when previewing email templates from the Settings → Emails screen. The mock-order helper was missing several methods that the email templates expect, causing "Call to undefined method BoxCart_Mock_Order::get_view_url()" and similar errors. Thanks to @dansart for the report.
* Fix: Mini Basket block did not enqueue its assets when placed in a global block-theme template part (e.g. the site header), so the badge appeared unstyled and the item count never hydrated on non-BoxCart pages. The page-detection now checks active header / footer template parts for BoxCart blocks.
* Fix: Currency symbol on the "Add new product" screen could fall back to £ even when the shop's configured currency was different. The admin product editor now reads the currency symbol from the localised settings array instead of querying the DOM, which fixed the case where no quantity-type row had yet been rendered.

= 1.0.0 =

Initial public release.

* Click & collect ordering with configurable time slots.
* Pickup location with opening hours, slot capacity, and per-slot availability.
* Guest checkout by default - customers can place an order without creating an account, and view their order any time via a per-order magic link emailed to them.
* Optional customer accounts with order history. Sign-in, lost-password, and password-reset all use WordPress's native authentication flow, styled to match the storefront.
* Admin order management with a status lifecycle (pending, processing, ready, completed, cancelled).
* Cash on collection and bank transfer payment methods.
* Seven transactional email templates with branding controls and live preview.
* Card-view storefront with category filters, search, and mini basket.
* 5 Gutenberg blocks and 5 shortcodes.
* Cache-resilient architecture with AJAX hydration and bypass cookie.
* Developer API - 50+ action hooks, 45+ filter hooks, CSS custom properties.
* WordPress 6.0+ / PHP 7.4+.

== Upgrade Notice ==

= 1.8.2 =
For shops in another language: products added by "Load more", search and category buttons now use your translations, dates follow your site's language, and times follow your WordPress clock (24-hour or 12-hour).

= 1.8.1 =
Fixes the calendar's day letters for shops whose week starts on Monday, plus two small Pro fixes.

= 1.8.0 =
Better search and Search Insights (see what customers search for), a smarter BoxCart Today widget with a day picker, and simpler order filters. BoxCart Pro adds a Searches report and a weekly or monthly Shop Report email.

= 1.7.0 =
Recommended update: a daily collections email, emails that can't go missing, sign-in that works with security plugins, optional auto-complete after collection, and fixes for Safari and iPhone.

= 1.6.0 =
Recommended update: a Shop Staff role, a compact new-order email, special times for a date and order changes up to the cut-off (BoxCart Pro), confirming email changes on customer accounts, safer slot booking and checkout, and many smaller fixes.

= 1.5.1 =
Recommended update: customer account roles, signing in on the checkout page, and basket and email fixes.

= 1.5.0 =
Guided Setup, copying time slots, card refunds and changes to paid orders (Pro), a much faster shop, and fixes including weighed quantities being rounded after reactivating BoxCart. Pro with Stripe: add the charge.refunded event to your Stripe webhook.

= 1.4.0 =
Adds a fixed order cut-off (e.g. 1pm the day before collection) and makes the lead time follow your site's timezone. Recommended for all users.

= 1.3.2 =
Updated Freemius SDK to the latest version. Recommended for all users.

= 1.3.1 =
Security release. Recommended for all users, and important for BoxCart Pro shops taking card payments.

= 1.3.0 =
Important fix: stores set up via the Setup screen could show no payment methods at checkout. This update repairs that automatically without touching settings you have saved. Recommended for all users.

= 1.2.1 =
Fixes the admin order link in notification emails and tidies wording across the plugin and this listing. Recommended for all users.

= 1.0.0 =
Initial release.
