=== Leanmerce Availability ===
Contributors: leanmerce
Tags: woocommerce, product availability, store locations, local pickup, shipping
Requires at least: 6.9
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 2.5.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Show customers where WooCommerce products are available across your stores, pickup points, and online channels.

== Description ==

Leanmerce Availability adds clear, location-based product availability to WooCommerce. It is designed for merchants who need to show where an item is available without replacing WooCommerce stock management.

Create unlimited locations, describe whether each location ships orders, supports customer pickup, or provides information only, and choose which locations appear on product pages. Set availability for simple products and variations directly in the WooCommerce product editor.

= Included in the Free plugin =

* Unlimited stores, pickup points, online channels, and information-only locations.
* Explicit available or unavailable state for simple products.
* Parent availability with per-variation inheritance or override.
* Configurable storefront labels, colors, visibility, and placement.
* Guided setup that creates no location until you confirm it.
* Product-list availability filters and privacy-safe diagnostics.
* Retain-by-default uninstall behavior with an explicit purge option.

The Free plugin is complete and usable without a license, account, trial, or paid service. It does not enforce paid-license restrictions or place artificial limits on its listed features.

Leanmerce Availability is state-based. WooCommerce remains the source of truth for stock quantities. This plugin does not track quantity per location, allocate stock, reserve inventory, route orders, or enforce checkout fulfillment.

An optional separately distributed Pro add-on can provide operational features such as checkout rules and per-location inventory. Pro is not required for any Free feature.

= Requirements =

* WordPress 6.9 or newer. Tested through WordPress 7.1.
* PHP 7.4 or newer.
* WooCommerce 10.9 or newer. Tested through WooCommerce 11.1.

= Privacy and external services =

The Free plugin sends no telemetry and does not require an external service. Documentation and support links open only when a merchant chooses them. The system report excludes customers, orders, addresses, users, product names, credentials, tokens, and license data.

== Installation ==

1. Install and activate WooCommerce.
2. In WordPress, open Plugins > Add New and install Leanmerce Availability.
3. Activate the plugin.
4. Open Leanmerce > Availability.
5. Complete the guided setup, or skip it and create locations manually under Locations.
6. Open Display and review the customer-facing labels and placement.
7. Edit a WooCommerce product, open its Inventory panel, and set its availability by location.
8. View the product page and confirm the availability block appears as expected.

No sample or default location is created unless you confirm location creation during setup.

== Frequently Asked Questions ==

= Does the Free plugin require a license or account? =

No. Every feature listed for the Free plugin works without a license, account, trial, or paid service.

= Does this plugin track inventory quantities at each location? =

No. Free stores available, unavailable, or inherited state only. WooCommerce remains authoritative for stock quantities.

= Is there a location or product limit? =

No. Free does not impose an artificial limit on locations or assigned products.

= Does Free block checkout or hide shipping methods? =

No. Free displays location availability. Checkout enforcement and operational order-method connections are not part of the Free plugin.

= Can variations inherit availability from their parent product? =

Yes. Each variation can inherit its parent product's location value or save an explicit available or unavailable override.

= What happens when a product is out of stock in WooCommerce? =

WooCommerce stock remains authoritative. A physical product that is out of stock is not presented as orderable merely because a location is marked available.

= What happens when I uninstall the plugin? =

Data is retained by default. Tools & Diagnostics includes an explicit purge policy for merchants who want documented plugin settings and product metadata removed when the plugin is deleted.

= Are upgrades from older versions supported? =

Yes. Existing Leanmerce Availability storage keys and assignments remain compatible. Legacy compatibility controls appear only on migrated installations and do not affect fresh installs.

= Is the plugin translation-ready? =

Yes. The interface and built-in storefront strings use standard WordPress translations. Merchant-entered custom text is stored as entered.

== Screenshots ==

1. Customer-facing availability for a simple product.
2. Customer-facing availability inherited by a product variation.

== Changelog ==

= 2.5.4 =

* Distributes human-readable runtime CSS and keeps all admin styling scoped to Leanmerce components.
* Enforces the declared WooCommerce 10.9 minimum before Availability services initialize.
* Validates compatibility through WooCommerce 11.1 and PHP 8.5.

= 2.5.3 =

* Completes the remaining WordPress.org review remediation by scoping responsive tab styling to the Availability screen.
* Narrows onboarding request handling to its three owned fields while preserving setup behavior.

= 2.5.2 =

* Remediates WordPress.org review findings for nested request sanitization and translation initialization timing.
* Restricts admin notices and product-editor assets to their intended screens.
* Adds a repeatable WordPress.org release-compliance gate and revalidates the exact distributable package.

= 2.5.1 =

* First WordPress.org release.
* Adds unlimited merchant-defined locations and product/variation availability.
* Adds configurable storefront display, onboarding, diagnostics, product-list filters, and migration compatibility.
* Connects approved product, documentation, support, and changelog links through a centralized registry.
* Keeps unavailable commercial links hidden.
* Adds a local-only, delayed review request after meaningful use, with snooze and permanent dismissal controls.
