feat: initialize project backend structure and document system specifications across all modules
This commit is contained in:
46
docs/specs/customer_management/account.md
Normal file
46
docs/specs/customer_management/account.md
Normal file
@@ -0,0 +1,46 @@
|
||||
---
|
||||
title: "Account"
|
||||
type: OpenSpec
|
||||
status: Draft
|
||||
domain: Customer Management
|
||||
---
|
||||
|
||||
# Account
|
||||
|
||||
## Requirement Definition
|
||||
Manages customer account information, which is either sent from an external system to OLS or added by users manually via the OLS system.
|
||||
|
||||
## Process Flow
|
||||
|
||||
### Pre-Conditions
|
||||
- Users must have access rights in the "Account" module.
|
||||
- An account type must exist in OLS before an account of that type can be added.
|
||||
- The user must select a customer to access the Account tab.
|
||||
|
||||
## Business Rules
|
||||
|
||||
### Data Schema
|
||||
|
||||
| Field Name | Description | Logic Type | Constraints / Rules |
|
||||
|---|---|---|---|
|
||||
| CIF Number | CIF number of selected customer. | String | Required. Read-only on creation. |
|
||||
| Product Account Level (PAL) | Product Account Level. | Enum (Lookup) | Required. |
|
||||
| Product Account Type (PAT) | Product Account Type. | Enum (Lookup) | Required. PAL + PAT = Account Type. |
|
||||
| Account Number | Product Account Number. | String (20) | Required. Combination of Account No + Account Type must be unique. |
|
||||
| Account Open Date | Open date of the account. | Date | Required. |
|
||||
| Account Indicator | Personal [P] or Corporate [C]. | Enum (Lookup) | Required. |
|
||||
| Account Block Code | Used to block transactions. | String (10) | Optional. |
|
||||
| Block Code Reason | Reason for blocking. | String (100) | Optional. |
|
||||
| Block Code Last Update Date | Date block was applied. | Date | Optional. |
|
||||
| Cycle | Statement cycle date. | Integer (2) | > 0 if provided. |
|
||||
| Account Status | Status of the account. | Enum (Lookup) | Required. |
|
||||
|
||||
### Execution
|
||||
- Each account belongs to one Customer. The CIF number cannot be changed via this screen (requires CIF Merge batch).
|
||||
- Records managed by OLSACCT batch cannot typically be changed from the admin screen.
|
||||
- On Add: Rejected if Account No + Account Type already exists. Else, record added to PRODUCT_ACCOUNT and LOYALTY_ACCOUNT_PRODUCT created.
|
||||
- On Update: Must exist in OLS. Original record moved to history.
|
||||
- On Delete: Rejected if linked to an active Card record. Else, logical delete applied (moved to history).
|
||||
|
||||
## Exception Flow
|
||||
- Input validation failures stop the action.
|
||||
Reference in New Issue
Block a user