--- title: "Item Redemption" type: OpenSpec status: Draft domain: Customer Management --- # Item Redemption ## Requirement Definition Allows users (e.g., call center staff) to manually redeem items for customers in real-time, exchanging points (and optionally cash) for catalog items. ## Process Flow ### Pre-Conditions - Users must have access rights in the "Item Redemption Entry" module. - Real-time catalog configuration and customer balances must be available. ## Business Rules ### Data Schema #### General Information | Field Name | Description | Logic Type | Constraints / Rules | |---|---|---|---| | Posted Transaction By | Card, Account, or CIF. | Enum | Required. | | Card / Account / CIF | Identifier. | String | Required. | | Redemption Channel | Channel of redemption. | Enum (Lookup) | Required. | | Redemption Date | Transaction date. | Date | Required. | | Store | Active store in OLS. | Enum (Lookup) | Required. | | Applicable Fee | Apply item fee if configured. | Boolean | Default False. | #### Item Details | Field Name | Description | Logic Type | Constraints / Rules | |---|---|---|---| | Catalogue Code | Catalog to redeem from. | Enum (Lookup) | Required. | | Item | Item code. | Enum (Lookup) | Required. Item must have a matched price. | | Redemption Mode | Fixed Points or Fixed Partial (Cash + Points).| Enum | Required based on price configuration. | | Unit Price (Points) | Point cost per item. | Decimal | Required. Fixed for Fixed Points; editable but >= minimum for Fixed Partial. | | Unit Cash Amount | Cash cost per item. | Decimal | Required for Fixed Partial. Calculated: (Full Price - Unit Price) * Price in Cash. | | Unit Face Value | Face value of item. | Decimal | Read-only. Base face value or price config face value. | | Quantity on Hand | Available inventory. | Integer | Read-only. Displayed if tracked by quantity. | | Redemption Quantity | Amount to redeem. | Integer | Required. Must be > 0 and <= Quantity on Hand. | | Total Price (Points) | Total points required. | Decimal | Read-only. Unit Price * Redemption Quantity. | | Total Cash Amount | Total cash required. | Decimal | Read-only. Unit Cash Amount * Redemption Quantity. | | Delivery Address | Delivery details for Physical/Evoucher. | String | Auto-populated from profile, editable. | ### Execution - Transactions cannot be modified after posting. - Validates block codes and permissions. - Net transaction value is sum of tax, total fee, and total cash required. - At EOD, approved items are output to a file for partners to fulfill. ## Post-Conditions - Balances and inventory updated. - Transaction viewable in history. ## Exception Flow - Insufficient balance or TP validation failure blocks transaction.