Enumerations Reference
Overview
This section provides a comprehensive reference for all enumerations (enums) used throughout the BankLingo Core Banking System. Enumerations define sets of named constants that represent specific states, types, or categories within the system.
Why Enumerations Matter
Understanding enumerations is crucial because they:
- Define Valid States: Each enum value represents a valid state or option
- Enable Business Logic: System behavior changes based on enum values
- Provide Consistency: Standardized values across the entire platform
- Support Reporting: Filter and query data by enum values
- Facilitate Integration: APIs use these values for requests and responses
Available Enum Categories
Client Management
- Client States - States for client/customer lifecycle
Account Management
- Loan Account States - States for loan account lifecycle
- Deposit Account States - States for deposit account lifecycle
- Deposit Account Sub-States - Detailed substates for deposit accounts
Transaction Management
- Transaction Hold States - Transaction hold and settlement states
How to Use This Reference
Each enum page in this section provides:
- Enum Name - The technical name used in code and APIs
- Value - The numeric value stored in the database
- Description - Human-readable explanation of what the value means
- Usage Context - When and how this value is used
- Common Transitions - Typical state changes (where applicable)
Quick Reference Tables
Client States
| Value | Name | Description |
|---|---|---|
| 0 | All | Filter value - represents all client states |
| 1 | Active | Client is active and can perform transactions |
| 3 | PendingApproval | Client registration is awaiting approval |
| 4 | Approved | Client has been approved (InActive - awaiting account setup) |
| 5 | Rejected | Client application was rejected |
| 6 | BlackListed | Client has been blacklisted (not allowed to transact) |
| 7 | Exited | Client has exited the system |
Loan Account States
| Value | Name | Description |
|---|---|---|
| 1 | Partial_Application | Loan application is incomplete and being drafted |
| 2 | Pending_Approval | Loan is complete and awaiting approval |
| 3 | Approved | Loan has been approved but not yet disbursed |
| 4 | Rejected | Loan application was rejected |
| 5 | Active | Loan has been disbursed and is active |
| 6 | In_Arears | Loan has overdue payments |
| 7 | Closed | Loan has been fully repaid and closed |
| 8 | Closed_Written_Off | Loan was closed and written off as bad debt |
| 9 | Closed_Withdrawn | Loan was withdrawn before or after approval |
Deposit Account States
| Value | Name | Description |
|---|---|---|
| 0 | ALL | Filter value - represents all states |
| 1 | Partial_Application | Account application is incomplete |
| 2 | Pending_Approval | Account is complete and awaiting approval |
| 3 | Approved | Account has been approved but not opened |
| 4 | Rejected | Account application was rejected |
| 5 | Active | Account is open and operational |
| 6 | In_Arears | Account has overdraft or negative balance |
| 7 | Closed | Account has been closed |
| 8 | Closed_Written_Off | Account closed with write-off |
| 9 | Dormant | Account is inactive due to no transactions |
| 10 | Locked | Account is temporarily locked |
| 11 | Matured | Fixed deposit has reached maturity |
| 12 | Withdrawn | Account application was withdrawn |
Deposit Account Sub-States
| Value | Name | Description |
|---|---|---|
| -1 | All | Filter value - represents all substates |
| 0 | DEFAULT | Default substate - no special condition |
| 1 | CLOSE_REJECTED | Closure request was rejected |
| 2 | CLOSE_WITHDRAWN | Account closed due to withdrawal |
| 8 | APPROVED | Account has been approved |
| 9 | CLOSE_MATURED | Fixed deposit closed at maturity |
| 90 | CLOSE_MATURED_PREMATURE | Fixed deposit closed before maturity (early withdrawal) |
| 10 | CLOSE_DORMANT | Account closed due to dormancy |
| 12 | CLOSE_WRITTEN_OFF | Account closed with outstanding balance written off |
| 13 | LOCK | Account is locked |
Transaction Hold States
| Value | Name | Description |
|---|---|---|
| 1 | PENDING | Transaction is pending processing |
| 2 | REVERSED | Transaction has been reversed |
| 3 | SETTLED | Transaction has been completed and settled |
| 4 | EXPIRED | Transaction hold has expired |
| 5 | CANCELLED | Transaction was cancelled |
| 6 | HOLD | Transaction is on hold |
| 7 | SUSPEND | Transaction is suspended |
State Transitions
Client State Flow
Key States:
- 🟢 Normal Flow: PendingApproval → Approved → Active (standard onboarding)
- 🔴 Rejection Path: PendingApproval → Rejected (application declined)
- ⚠️ Risk Management: Active → BlackListed (fraud/compliance issue)
- 📤 Exit Path: Active → Exited (client leaves institution)
Typical Loan Account State Flow
Key States:
- 🟢 Green Path: Partial_Application → Pending_Approval → Approved → Active → Closed (normal flow)
- 🔴 Red Path: Rejected or Withdrawn states (application declined/cancelled)
- ⚠️ Warning Path: In_Arears → Closed_Written_Off (bad debt)
Typical Deposit Account State Flow
Key States:
- 🟢 Normal Flow: Partial_Application → Pending_Approval → Approved → Active → Closed
- 🔵 Temporary States: Locked (reversible), Dormant (reactivatable)
- 🟡 Special States: Matured (fixed deposits only)
Transaction Hold State Flow
Key States:
- 🟢 Success Path: PENDING → SETTLED (normal transaction)
- ⚠️ Hold Paths: PENDING → HOLD/SUSPEND → SETTLED/CANCELLED (review required)
- 🔴 Failure Paths: CANCELLED, REVERSED, EXPIRED (transaction not completed)
API Usage
Filtering by State
When querying accounts via API, you can filter by state:
GET /api/loans?state=5
# Returns all Active loans
GET /api/deposits?state=5&subState=0
# Returns all Active deposits with DEFAULT substate
Understanding Response Values
API responses include both the numeric value and description:
{
"loanState": 5,
"loanStateDescription": "Active",
"loanSubState": 0,
"loanSubStateDescription": "-"
}
Business Rules
Account States
- Partial_Application: Users can edit all fields freely
- Pending_Approval: Requires approval workflow, editing restricted
- Approved: Ready for activation/disbursement
- Active: Fully operational, transactions allowed
- Closed: No new transactions allowed, read-only
- Locked: Temporary restriction, can be unlocked
- Dormant: Reactivation possible with proper workflow
Transaction Hold States
- PENDING: Awaiting clearance or confirmation
- HOLD: Manually placed on hold by operations
- SUSPEND: System-generated suspension (e.g., fraud detection)
- SETTLED: Final state, irreversible
- REVERSED: Cancellation after processing
- CANCELLED: Cancellation before processing
Related Documentation
- Loan Accounts - Managing loan accounts
- Deposit Accounts - Managing deposit accounts
- Loan Transactions - Loan transaction processing
- Deposit Transactions - Deposit transaction processing
Support
For questions about specific enum values or their usage in your workflows, contact the BankLingo support team.