=== Simple Role Based Pricing ===
Contributors: tlloancy
Tags: woocommerce, Role based pricing, wholesale pricing, prices by user role, discounts
Requires at least: 5.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 2.6.0
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Set a WooCommerce price per user role: percentage, fixed amount, or a final price. Categories, dates, and per-user exceptions stay optional.

== Description ==

Pick a role. Choose how the price works. Save.

That is the whole daily job. Wholesale, VIP, members, staff — one screen under **WooCommerce → Settings → Role Based Pricing**.

Pricing itself is rarely that tidy. A product can sit in several categories, a user can have more than one role, a sale price may already be running, a wholesaler may need an exception, a campaign may start next Monday. The plugin handles those cases so you do not have to stack extra tools.

= What you set =

* **Percentage**, **fixed amount**, or a **final price** for a WordPress user role.
* **All products**, or only selected **categories** — with a different type/value per category if you need it.
* Optional **start and end dates**. Leave them empty for a permanent rule.
* Optional **per-user override** on the WordPress profile. That price wins over the role rule.

= What the storefront does =

* Logged-in customers see the role price on the shop, the product page, and in the cart.
* Guests keep the catalog price.
* Variable products: the discount applies to each variation; WooCommerce still owns the parent price range.
* If a product is already on a native WooCommerce sale, that sale wins. The role rule does not stack on top.
* Cart totals refresh when the customer logs in, so a guest cart picks up the role price after sign-in.
* The admin catalog and REST exports keep the original prices.

= Typical uses =

* A wholesale role at −20% on the whole catalog.
* Members-only prices on a few categories, with a different rate on one of them.
* A campaign window for staff or partners, without touching product sale fields.
* One customer who should not follow their role — set it on their user profile.

= AI ready =

On WordPress 6.9 or later the plugin registers three Abilities so an assistant (official [AI](https://wordpress.org/plugins/ai/) plugin + a connector) can set, read, or remove a role discount. On the same **Role Based Pricing** screen, a text field and **Generate** button do the same from a sentence when that plugin is installed. Both still require the **manage WooCommerce** capability. Older WordPress versions skip the Abilities; the settings screen stays usable without AI.

A longer walkthrough ships in the plugin folder: `docs/USER-GUIDE.md` (English) and `docs/MODE-DEMPLOI.md` (French).

= Compatibility =

* **WooCommerce** 8.0 or higher (tested up to 11.0).
* **HPOS** (High-Performance Order Storage) compatible.
* Custom roles from User Role Editor and similar plugins work as-is: if WordPress knows the role, this plugin can price it.

== Installation ==

1. Install and activate **WooCommerce**.
2. Upload the plugin, or install it from **Plugins → Add New**.
3. Activate **Simple Role Based Pricing**.
4. Open **WooCommerce → Settings → Role Based Pricing**.
5. Select a role, turn the rule on, set the discount, save.

== Frequently Asked Questions ==

= Where are the settings? =

WooCommerce → Settings → Role Based Pricing. Select the role first. Everything else on the page is for that role until you save.

= What is the difference between the three discount types? =

* **Percentage** — off the regular price (20 = 20% off).
* **Fixed amount** — subtract that amount in your store currency.
* **Fixed price** — the customer pays exactly that amount, regardless of the catalog price.

= Can I limit a rule to some categories? =

Yes. Set **Apply To** to **Specific Categories**, pick the categories, save. Each selected category can use the role default (**Global**) or its own type and value.

= Who wins if several rules could apply? =

1. A native WooCommerce sale price on the product.
2. An individual price on the user profile.
3. A matching category rule for that role.
4. The role’s “all products” rule.

Guests are not priced. Empty start/end dates mean the rule has no schedule.

= Does it work with variable products? =

Yes. Each variation is priced. The parent product keeps WooCommerce’s min–max range.

= Can I give one user a different price than their role? =

Yes. Edit the user under **Users**, then **Simple Role Based Pricing - Individual**. That override beats the role rule for that account.

= Why didn’t the role discount apply to a product on sale? =

On purpose. If WooCommerce already has a sale price, the plugin leaves it. End the sale, or use a product that is not on sale, if the role price should show.

= Do I need extra PHP extensions? =

No. PHP 7.4+ and WooCommerce 8.0+ are enough. There is no mbstring requirement.

= Can I control pricing with AI? =

Yes, on WordPress 6.9 or later. Install the official AI plugin and a connector. On **WooCommerce → Settings → Role Based Pricing**, use the text field and **Generate**. A user who can **manage WooCommerce** can also ask the assistant to set, read, or remove a role discount. Without the AI plugin, the rest of the screen is unchanged.

== Screenshots ==

1. Role settings: enable a rule, choose all products or categories, set the discount.
2. Category picker with per-category type and value.
3. Overview of every role, including schedule status.

== Changelog ==

= 2.6.0 (2026-08-27) =
* AI: Three Abilities (set, get, remove role discounts) for WordPress 6.9+ and the official AI plugin.
* Admin: Optional Generate field on the Role Based Pricing screen (connector / parse / save, then a rule from a sentence).
* Admin: Page layout map moved below the form so Select Role / Enable / discount come first.
* Docs: User guides cover AI phrases; layout map is optional and stays collapsed.

= 2.5.0 (2026-08-27) =
* Compatibility: Tested with WordPress 7.1 and WooCommerce 11.0.
* Docs: Listing and FAQ rewritten to match the plugin. English and French guides in `docs/`.

= 2.4.0 (2026-05-24) =
* Admin layout map and block order: drag to rearrange settings, order saved per user.

= 2.3.0 (2026-05-24) =
* Settings workspace: collapsible blocks, per-role Apply To, rule status, unsaved-changes warning.

= 2.2.0 (2026-05-05) =
* Removed the mbstring requirement.

= 2.1.0 (2026-05-02) =
* Per-category discounts and optional start/end dates. Rules stored as JSON.

= 2.0.0 =
* Native WooCommerce price filters (no fake coupon). Per-user price override on the profile.

Older patch notes (including 2.3.1–2.3.8) are in `changelog.txt`.

== Upgrade Notice ==

= 2.6.0 =
Layout map moved below the form. Optional AI field and abilities on WordPress 6.9+. Pricing engine unchanged.

= 2.5.0 =
WordPress 7.1 and WooCommerce 11.0. Listing and FAQ updated. Pricing engine unchanged.
