docs: clean up README formatting and add comprehensive module description to manifest

This commit is contained in:
Suherdy Yacob 2026-05-28 16:00:19 +07:00
parent 203d3035d1
commit 6d5ebdd621
2 changed files with 18 additions and 6 deletions

View File

@ -11,7 +11,7 @@
The primary feature added is **"Cheapest Product on Order"** applicability for **Buy X Get Y** loyalty rewards — allowing merchants to automatically discount or give away the cheapest item(s) in a customer's cart based on the number of products purchased. The primary feature added is **"Cheapest Product on Order"** applicability for **Buy X Get Y** loyalty rewards — allowing merchants to automatically discount or give away the cheapest item(s) in a customer's cart based on the number of products purchased.
---
## Features ## Features
@ -41,7 +41,7 @@ When multiple free items are awarded, each one targets a **different cheapest pr
### ⚡ Auto-Claim in POS ### ⚡ Auto-Claim in POS
Cheapest product rewards are automatically discovered and claimed in the POS UI without requiring manual product configuration on the reward. Cheapest product rewards are automatically discovered and claimed in the POS UI without requiring manual product configuration on the reward.
---
## Dependencies ## Dependencies
@ -51,7 +51,7 @@ Cheapest product rewards are automatically discovered and claimed in the POS UI
| `pos_loyalty` | Loyalty program UI and logic in POS | | `pos_loyalty` | Loyalty program UI and logic in POS |
| `sale_loyalty` | Backend loyalty program models | | `sale_loyalty` | Backend loyalty program models |
---
## Configuration ## Configuration
@ -71,7 +71,7 @@ Cheapest product rewards are automatically discovered and claimed in the POS UI
> **Important:** Set "In Exchange of" to `2` (not `1`) to get the correct `buy 2 → 1 free` ratio. > **Important:** Set "In Exchange of" to `2` (not `1`) to get the correct `buy 2 → 1 free` ratio.
> The formula is `floor(total_credits / credits_required) = free_items`. > The formula is `floor(total_credits / credits_required) = free_items`.
---
## Technical Details ## Technical Details
@ -102,7 +102,7 @@ Cheapest product rewards are automatically discovered and claimed in the POS UI
- **`_computeUnclaimedFreeProductQtyForCheapest(...)`** — Calculates how many free items are still unclaimed based on remaining loyalty points - **`_computeUnclaimedFreeProductQtyForCheapest(...)`** — Calculates how many free items are still unclaimed based on remaining loyalty points
- **`getClaimableRewards(...)`** — Extended to include cheapest-type rewards that the core skips (due to null `reward_product_id`) - **`getClaimableRewards(...)`** — Extended to include cheapest-type rewards that the core skips (due to null `reward_product_id`)
---
## Installation ## Installation
@ -119,7 +119,7 @@ Or via Odoo UI:
2. Go to **Apps → Update Apps List** 2. Go to **Apps → Update Apps List**
3. Search for `POS Loyalty Extend` and install 3. Search for `POS Loyalty Extend` and install
---
## Changelog ## Changelog

View File

@ -4,6 +4,18 @@
'version': '1.0', 'version': '1.0',
'category': 'Sales/Point of Sale', 'category': 'Sales/Point of Sale',
'summary': 'Extends loyalty rewards to support cheapest product applicability and cleaner variant selection in POS.', 'summary': 'Extends loyalty rewards to support cheapest product applicability and cleaner variant selection in POS.',
'description': """
POS Loyalty Extend
===================
Extends the Odoo 19 Point of Sale loyalty rewards logic.
Key Features:
-------------
* Cheapest Product Applicability: Adds support for "Cheapest Product on Order" applicability for "Buy X Get Y" loyalty rewards.
* Proportional Free Item Calculation: Dynamically scales free product quantities based on earned/required points.
* Multi-Product Reward Lines: Applies discounts across the N cheapest unique products in the cart, instead of multiplying discounts on the single cheapest product.
* Auto-Claim in POS: Simplifies the customer flow by automatically applying cheapest-product rewards without manual selection.
""",
'author': 'Suherdy Yacob', 'author': 'Suherdy Yacob',
'depends': ['point_of_sale', 'pos_loyalty', 'sale_loyalty'], 'depends': ['point_of_sale', 'pos_loyalty', 'sale_loyalty'],
'data': [ 'data': [