60 lines
2.7 KiB
Markdown
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.
|