53 lines
2.0 KiB
Markdown
53 lines
2.0 KiB
Markdown
---
|
|
title: "Award Transaction"
|
|
type: OpenSpec
|
|
status: Draft
|
|
domain: Customer Management
|
|
---
|
|
|
|
# Award Transaction
|
|
|
|
## Requirement Definition
|
|
Allows users to review, verify, and manually create Award Transactions to grant points/rewards to a customer's account.
|
|
|
|
## Process Flow
|
|
|
|
### Pre-Conditions
|
|
- Users must have access rights in both the "Customer Profile" and "Award Transaction" modules.
|
|
- The user must select a customer on the customer profile listing page.
|
|
- Dependent on access rights, users can view, add, edit, or approve manual Award Transaction records.
|
|
|
|
## 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 based on above selection. | String | Required. |
|
|
| Store | Store of transaction. | Enum (Lookup) | Required. |
|
|
| Transaction Date | Transaction date time. | Date | Required. |
|
|
| Reason Code | Reason for the award. | Enum (Lookup) | Required. |
|
|
| Transaction Code | OLS transaction code. | Enum (Lookup) | Required. |
|
|
| Remarks | Additional notes. | String (100) | Optional. |
|
|
|
|
#### Award Details
|
|
| Field Name | Description | Logic Type | Constraints / Rules |
|
|
|---|---|---|---|
|
|
| Pool Id | Pool to be awarded. | Enum (Lookup) | Required. Must respect entity level logic. |
|
|
| Award Quantity | Points to award. | Decimal | Required. Must be > 0. |
|
|
| Expiry Date | Expiry date of the awarded points bucket. | Date | Required. Defaults based on pool's expiry policy. |
|
|
|
|
### Execution
|
|
- **Pending/Approve Flow**: New award transactions go to a Pending state. An authorized user must approve them.
|
|
- Manual awards act similarly to positive Adjustments but follow the Award business logic path (potentially triggering Campaign Rules if configured).
|
|
- Points are added to a new bucket with the specified Expiry Date.
|
|
|
|
## Post-Conditions
|
|
- Pool balance buckets are updated.
|
|
- Transaction is logged in history.
|
|
|
|
## Exception Flow
|
|
- Validation failures or insufficient permissions.
|