Files
loyalty-agent-service/docs/specs/customer_management/item_redemption.md

60 lines
2.7 KiB
Markdown

---
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.