=== HarvestShare – CSA Shares & Weekly Produce Boxes ===
Contributors: hexcorp
Tags: csa, farm, produce box, subscription box, pickup
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Run your farm's CSA on WordPress: seasons, full/half/add-on shares, pickup sites and delivery zones, member signup and portal, weekly box planner, pickup rosters and email notifications.

== Description ==

HarvestShare is a purpose-built CSA (community supported agriculture) system for small farms. Stock e-commerce plugins cannot model a season share, a weekly box swap, a pickup site or a per-week price. HarvestShare can.

**Seasons** – name, start and end dates, number of weeks, signup window, capacity, skip cutoff and maximum skips.

**Share types** – full, half (every other week) and add-on shares (eggs, flowers, meat), priced per season or per week, with installment plans.

**Pickup sites & delivery zones** – day of week, time window, capacity per site; home delivery zones by ZIP prefix with a per-week fee.

**Member signup block** – pick a season, share, pickup site and payment plan; creates the member account.

**Member portal block** – upcoming boxes, pickup details, skip-a-week and vacation holds before the cutoff, change pickup site, payment history.

**Weekly box planner** – set what is in this week's box per share type and publish a "What's in the box" post automatically.

**Pickup rosters** – printable and CSV roster per site per week with check-off for picked-up boxes. A dedicated capability lets helpers check boxes off without full admin access.

**Email notifications** – signup confirmation, weekly box contents, skip confirmation, pickup reminder.

**Payments** – WooCommerce (and WooCommerce Subscriptions for installments) when active; otherwise built-in Stripe Checkout with recurring installments; or "pay the farm directly".

Everything in this plugin is fully functional. A separate Pro add-on (box customization, farm store, waitlist, harvest and packing reports, delivery route sheets, SMS reminders, renewal campaigns, revenue dashboard) is available from hexcorp.io.

== Installation ==

1. Install and activate the plugin.
2. Go to HarvestShare → Settings, set your farm name, email and payment method.
3. Create a Season, add Share Types and Pickup Sites.
4. Add the **CSA Signup** block (or `[harvestshare_signup]`) to a page and the **Member Portal** block (or `[harvestshare_portal]`) to another page; select the portal page in Settings.
5. Plan weekly boxes under Box Planner and print rosters under Rosters.

WP-CLI: `wp harvestshare seed` creates demo data; `wp harvestshare roster <site> <week>` prints a roster.

== Frequently Asked Questions ==

= Does it need WooCommerce? =

No. With WooCommerce active, orders go through WooCommerce (and WooCommerce Subscriptions handles installments). Without it, HarvestShare uses Stripe Checkout directly, or you can collect payment yourself.

= How are week numbers and pickup dates calculated? =

Week 1 starts on the season start date. Each site's pickup date for a week is the day in that 7-day window matching the site's day of week. Skips and site changes close at (pickup date − cutoff days) at the cutoff time.

= Can members skip weeks? =

Yes, before the cutoff and up to the season's maximum. Vacation holds skip a range of weeks at once.

== Privacy ==

Member profiles (name, email, phone, address) are stored in custom tables. The plugin registers personal data exporters and erasers. Stripe (if configured) receives the member's email and name to create a customer.

== Changelog ==

= 1.0.0 =
* Initial release.
