=== PreOrder Pilot – Pre-Orders for WooCommerce ===
Contributors: giorgaras
Tags: preorder, pre-order, woocommerce, backorder, product launch
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Requires Plugins: woocommerce
Stable tag: 0.3.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Accept unlimited WooCommerce pre-orders with availability dates, a pre-order button, order tracking and customer confirmation emails.

== Description ==

PreOrder Pilot by PLANO is a free WooCommerce pre-order plugin for selling products before they become available. Enable pre-orders on unlimited simple products, show an expected availability date and collect full payment through your normal WooCommerce checkout.

Customers see the pre-order message and availability date on the product page, in the cart, at checkout and in their confirmation email. Manage products and pre-orders from one dashboard, update dates in bulk and release orders when products are ready.

= Features =

Everything below is free, with no product limit and no license key:

* Pre-orders for any number of simple products, each with an optional expected availability date.
* A custom pre-order button label and an availability message on the product page, in the cart, at checkout, in the order and in emails.
* Full payment at checkout using your normal WooCommerce gateways.
* A dedicated **Pre-ordered** order status (HPOS and legacy storage), so paid pre-orders are easy to find and are not shipped by mistake.
* A "Pre-order confirmation" customer email built on WooCommerce emails. Edit it under WooCommerce → Settings → Emails, or override the template in your theme.
* An admin dashboard with pre-order totals, a product list with search, an order list, and bulk enable, pause, set-date and mark-released actions.
* Mark a product released and its pre-ordered orders move to Processing.
* WooCommerce Classic and Cart/Checkout Blocks support.
* Every string is translation-ready; community translations are delivered through WordPress.org language packs.
* No account, no telemetry and no remote requests. Everything runs inside your store.

= Free vs Growth =

The free plugin supports simple products and full payment at checkout. Variable products, deposits, pay later, automatic stock rules and back-in-stock alerts require the separate Growth add-on.

PreOrder Pilot is complete on its own. [PreOrder Pilot Growth](https://licenses.weareplano.gr/buy?tier=growth&period=monthly) is a separate, optional paid plugin that extends it through the public hooks below. It adds:

* Deposits (fixed or percentage) and pay-later orders, with balance payment links and reminders.
* Mixed-cart rules: allow, block, or split pre-order items into their own order.
* Variable products and per-variation settings.
* Automatic pre-orders when out of stock, and automatic release on restock.
* Pre-order rules by product category.
* Quantity limits with atomic reservations, start and end dates, and discounts.
* Extra customer emails: release date changed, product released, balance reminder, and "email me when available" alerts.
* CSV export of pre-orders and subscribers.
* Countdown timers, a launch calendar and per-country allocations.
* Marketing webhooks for Klaviyo, Mailchimp, Omnisend and similar tools.

This free plugin contains none of the Growth code and never limits or locks its own features.

= For developers =

Actions: `preorder_pilot_loaded`, `preorder_pilot_settings_saved`, `preorder_pilot_release_date_changed`, `preorder_pilot_product_released`, `preorder_pilot_order_confirmed`, `preorder_pilot_product_panel_end`, `preorder_pilot_settings_fields`.

Filters: `preorder_pilot_setting_defaults`, `preorder_pilot_sanitize_settings`, `preorder_pilot_validate_settings`, `preorder_pilot_is_active`, `preorder_pilot_modes`, `preorder_pilot_supported_product_types`, `preorder_pilot_availability_message`, `preorder_pilot_product_field_definitions`, `preorder_pilot_snapshot`, `preorder_pilot_cart_item_data`, `preorder_pilot_email_classes`, `preorder_pilot_admin_tabs`, `preorder_pilot_use_preorder_status`.

== Installation ==

1. Install and activate WooCommerce.
2. Upload the PreOrder Pilot ZIP through Plugins > Add New > Upload Plugin, then activate it.
3. Open PreOrder Pilot and choose Add preorder, or open a simple WooCommerce product and its PreOrder Pilot section.
4. Choose the product, enable pre-orders and set the expected availability date. Save.
5. View the product and complete a checkout in your local or staging store before enabling live sales.
6. Optional: to add Growth features, install the separate PreOrder Pilot Growth plugin and enter your license key under PreOrder Pilot → Growth license.

== Frequently Asked Questions ==

= How is a pre-order different from a WooCommerce backorder? =
WooCommerce backorders let customers order products that are out of stock. PreOrder Pilot adds an optional expected availability date, clear pre-order labels and messages, and a dedicated Pre-ordered status for paid pre-orders. You choose which simple products accept pre-orders; automatic activation when stock runs out requires Growth.

= Can I use variable products, deposits or pay later for free? =
The free plugin supports simple products with full payment at checkout and has no product limit. Variable products, deposits and pay-later orders require the separate paid PreOrder Pilot Growth plugin.

= Does Free require registration? =
No. Free works locally within WordPress and WooCommerce.

= How do I upgrade to Growth? =
Choose a plan at https://licenses.weareplano.gr/buy?tier=growth&period=monthly. After checkout you get a license key and a download link. Install PreOrder Pilot Growth next to this plugin and activate the key under PreOrder Pilot → Growth license. Your account page at https://licenses.weareplano.gr/portal shows your keys, sites and downloads.

= Is there a free trial? =
Yes, every Growth plan starts with a 14-day free trial. A card is needed to start; you can cancel before the trial ends and you will not be charged.

= Can I move my license to another site? =
Yes. Deactivate it on the old site (or from your account page), then activate it on the new one. Local and staging sites (localhost, .local, .test, staging.*) do not count towards your site limit.

= Which emails do customers get? =
The free plugin sends "Pre-order confirmation" after payment. You can turn it off or edit it under WooCommerce → Settings → Emails. Growth adds release date changed, product released and balance reminder emails.

= Is there a limit on products or orders? =
No. The free plugin has no product, order or time limit.

= Does the free plugin contact your servers? =
No. It makes no remote requests and collects no data. The only external link is an optional, dismissible notice about Growth on the PreOrder Pilot dashboard.

= Are Shopify and Wix supported? =
This package runs in WordPress with WooCommerce. It does not install into Shopify or Wix.

= Does this work with every theme and gateway? =
WooCommerce-native hooks support standard product/cart/checkout flows. Custom builders, express checkout extensions, custom statuses and gateways that bypass normal order hooks need their own integration verification. Please test your own gateway and theme on a staging site first.

= What customer data is stored? =
The free plugin stores pre-order settings on products and a pre-order snapshot (availability date and label) on order items. It stores no extra customer data and sends nothing to PLANO.

= What happens during deactivation or uninstall? =
Deactivation keeps all settings. On uninstall, data is kept unless you tick "Delete plugin settings and product pre-order settings when uninstalling" in PreOrder Pilot → Settings. Historical order details always stay in WooCommerce.

= How are translations provided? =
All strings use the preorder-pilot text domain. Community translations are delivered through WordPress.org language packs; locale files are not bundled in this package. You can contribute on translate.wordpress.org or use Loco Translate. Dates follow the WordPress site timezone and locale.

== Screenshots ==

1. The PreOrder Pilot dashboard: monthly pre-order counts, units, net revenue and products in a demonstration store.
2. Product settings: enable pre-orders and set the expected availability date.
3. The product page with the pre-order button and availability date.
4. The WooCommerce cart clearly marks a pre-order item and its expected shipping date.
5. The Pre-order confirmation email under WooCommerce → Settings → Emails.
6. Pre-orders with the Pre-ordered status in the PreOrder Pilot order list.

== Changelog ==

= 0.3.2 =
* Show distinct customer preorder counts for this month and last month using the store timezone.
* Exclude balance invoices, failed orders and cancelled orders from monthly customer preorder counts.
* Refresh dashboard styling and PLANO mascot assets.
* Preserve PHP 7.4 compatibility when reporting with custom dates.

= 0.3.1 =
* Harden output escaping and use allowlisted, escaped quick-editor attributes.
* Align admin notice transient prefixes with the plugin namespace.
* Use WordPress.org language packs instead of bundled locale files.

= 0.3.0 =
* Changed: the free plugin has no product limit and no license checks. Paid features now live only in the separate Growth plugin.
* New: "Pre-ordered" order status for paid pre-orders (HPOS and legacy storage).
* New: "Pre-order confirmation" customer email built on WooCommerce emails, with a theme-overridable template.
* New: mark released moves pre-ordered orders to Processing.
* New: public actions and filters for extensions.
* New: Greek translation and an updated translation template.
* Improved: WordPress coding standards and Plugin Check compliance.

= 0.2.1 =
* Prevent scheduled products from accepting ordinary purchases before the preorder opening date.
* Keep global capacity shared across countries when country allocations are not configured.
* Correct availability signup and delivery eligibility for in-stock and active preorder products.
* Add fixed per-item deposits and exportable consented availability subscribers.
* Add validated bulk expected-shipping-date updates.
* Include consent-based restock email and subscriber export in Free, within the existing three-product limit.

= 0.2.0 =
* Added product and exact-variation pre-order settings and customer-facing integration.
* Added atomic capacity handling across checkout, failed/cancelled orders and refunds.
* Added the dedicated dashboard, bulk actions, real order reporting and CSV export.
* Added separately enabled Growth scheduling, discounts, email availability alerts and balance payment links.
* Added release packaging, inventory documentation and automated development verification.

= 0.1.0 =
* Initial plugin foundation and settings screen.

== Upgrade Notice ==

= 0.3.2 =
Adds monthly customer preorder reporting and updated dashboard branding.

= 0.3.1 =
Security and WordPress review fixes. Update Growth alongside the core plugin to keep the quick editor compatible.

= 0.3.0 =
Removes the product limit, adds the Pre-ordered status, a confirmation email and a Greek translation.

= 0.2.1 =
Development release candidate with storefront scheduling, inventory, alerts and payment fixes. Verify on a local or staging store and consult the release checklist before live deployment.
