Skip to main content

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

Account Management

Transaction Management

How to Use This Reference

Each enum page in this section provides:

  1. Enum Name - The technical name used in code and APIs
  2. Value - The numeric value stored in the database
  3. Description - Human-readable explanation of what the value means
  4. Usage Context - When and how this value is used
  5. Common Transitions - Typical state changes (where applicable)

Quick Reference Tables

Client States

ValueNameDescription
0AllFilter value - represents all client states
1ActiveClient is active and can perform transactions
3PendingApprovalClient registration is awaiting approval
4ApprovedClient has been approved (InActive - awaiting account setup)
5RejectedClient application was rejected
6BlackListedClient has been blacklisted (not allowed to transact)
7ExitedClient has exited the system

Loan Account States

ValueNameDescription
1Partial_ApplicationLoan application is incomplete and being drafted
2Pending_ApprovalLoan is complete and awaiting approval
3ApprovedLoan has been approved but not yet disbursed
4RejectedLoan application was rejected
5ActiveLoan has been disbursed and is active
6In_ArearsLoan has overdue payments
7ClosedLoan has been fully repaid and closed
8Closed_Written_OffLoan was closed and written off as bad debt
9Closed_WithdrawnLoan was withdrawn before or after approval

Deposit Account States

ValueNameDescription
0ALLFilter value - represents all states
1Partial_ApplicationAccount application is incomplete
2Pending_ApprovalAccount is complete and awaiting approval
3ApprovedAccount has been approved but not opened
4RejectedAccount application was rejected
5ActiveAccount is open and operational
6In_ArearsAccount has overdraft or negative balance
7ClosedAccount has been closed
8Closed_Written_OffAccount closed with write-off
9DormantAccount is inactive due to no transactions
10LockedAccount is temporarily locked
11MaturedFixed deposit has reached maturity
12WithdrawnAccount application was withdrawn

Deposit Account Sub-States

ValueNameDescription
-1AllFilter value - represents all substates
0DEFAULTDefault substate - no special condition
1CLOSE_REJECTEDClosure request was rejected
2CLOSE_WITHDRAWNAccount closed due to withdrawal
8APPROVEDAccount has been approved
9CLOSE_MATUREDFixed deposit closed at maturity
90CLOSE_MATURED_PREMATUREFixed deposit closed before maturity (early withdrawal)
10CLOSE_DORMANTAccount closed due to dormancy
12CLOSE_WRITTEN_OFFAccount closed with outstanding balance written off
13LOCKAccount is locked

Transaction Hold States

ValueNameDescription
1PENDINGTransaction is pending processing
2REVERSEDTransaction has been reversed
3SETTLEDTransaction has been completed and settled
4EXPIREDTransaction hold has expired
5CANCELLEDTransaction was cancelled
6HOLDTransaction is on hold
7SUSPENDTransaction 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

Support

For questions about specific enum values or their usage in your workflows, contact the BankLingo support team.