Skip to main content

SIL Enums Reference

All enum values returned by SIL API responses are serialised as their string name (not the integer value). The integer codes are documented here for database-level queries and debugging.


Transaction Status (SITTransactionStatusEnum)​

Business lifecycle state of a SIL transaction. Tracks what happened to the transaction from the operator's perspective, independent of whether it has been replayed to core banking.

ValueIntegerDescription
Pending0Held pending approval because a debit/credit limit was breached. No balance impact yet.
Posted1Approved or directly posted. Balances have been updated in the SIL ledger.
Reversed3A compensating reversal transaction has been posted. The original is now voided.
Rejected5Rejected by the approver. No balance impact was ever applied.
Cancelled6Cancelled by the initiating teller before an approver acted on it.
Retired values

Integer values 2 and 4 are retired. Existing rows that carry those values were migrated to CoreSyncStatus.

State flow:

Pending → Posted → (Reversed)
Pending → Rejected
Pending → Cancelled

Core Sync Status (SITCoreSyncStatusEnum)​

Tracks the replay-to-core-banking lifecycle. Intentionally decoupled from SITTransactionStatusEnum — a Reversed transaction can still carry its own sync history.

ValueIntegerDescription
NotQueued0Not yet queued. The transaction may be awaiting approval or may not require replay (e.g. balance enquiries).
Queued1Added to the SITSyncQueue outbox. The background worker will pick it up on its next tick.
SyncedToCore2Successfully replayed to core banking. Reversal must now happen on the core side — SITReverseTransactionCommand will be rejected with 409.
FailedToSync3The last replay attempt failed. Retry is scheduled with exponential back-off.
DeadLettered4Exceeded the maximum number of retry attempts. Manual intervention is required.

Approval Status (SITApprovalStatusEnum)​

Approval workflow state for transactions that breach a configured SIL limit.

ValueIntegerDescription
NotRequired0The transaction was within limits and was posted immediately without approval.
PendingApproval1Awaiting action from an authorised approver.
Approved2Approved and posted.
Rejected3Rejected by the approver.
Cancelled4Cancelled by the initiating teller before approval.

Transaction Type (SITTransactionTypeEnum)​

The type of financial operation recorded in the SIL ledger.

ValueIntegerDescription
Deposit1Cash or cheque deposit into a customer account via the till.
Withdrawal2Cash withdrawal from a customer account via the till.
Transfer3Account-to-account transfer. No till balance impact.
LoanRepayment4Loan repayment received at the till.
Reversal5Compensating entry created by SITReverseTransactionCommand.
BalanceEnquiry6Read-only balance enquiry. No ledger entry created.
TillCashIn7Cash added to the teller till (till opening or top-up).
TillCashOut8Cash removed from the teller till (till closing or surrender).

Channel (SITChannelEnum)​

The initiation channel recorded against the transaction.

ValueIntegerDescription
Branch1Teller at a bank branch.
USSD2USSD session.
Mobile3Mobile banking app.
Internet4Internet banking portal.
ATM5Automated Teller Machine.
Agent6Agent banking.
Api7Direct API integration.

Account Status (SITAccountStatusEnum)​

The state of the SIL account snapshot, mirrored from core banking. Controls which transactions are allowed. See Account States & Rules for the full posting rules matrix.

ValueIntegerDescription
Active1Fully operational. All transactions allowed subject to limits.
Dormant2Account has been inactive. Deposits allowed; withdrawals may be restricted.
PostNoDebit3Credits (deposits) allowed; debits (withdrawals) blocked.
PostNoCredit4Debits (withdrawals) allowed; credits (deposits) blocked.
Closed5Account is closed. All transactions blocked.
Frozen6All transactions blocked (regulatory/compliance hold).

Cash or Cheque (SITCashOrChequeEnum)​

Tender type for till transactions. Affects till balance.

ValueIntegerDescription
Cash0Physical cash. Till balance is updated immediately.
Cheque1Cheque instrument. Customer-side ledger is posted; till balance is not updated. Parked for clearing.

Debit / Credit (SITDrCrEnum)​

Indicator on double-entry ledger posting lines (SITTransactionEntry).

ValueIntegerDescription
Debit1Debit leg of the entry (reduces the account balance).
Credit2Credit leg of the entry (increases the account balance).

Customer Type (SITCustomerTypeEnum)​

Customer classification mirrored from core banking.

ValueIntegerDescription
Individual1Personal / retail customer.
Corporate2Business / corporate customer.

Customer Sync Status (SITSyncStatusEnum)​

Synchronisation state of the SIL customer/account record with core banking. Used on the SITCustomer entity.

ValueIntegerDescription
Synced1Customer data is current — matches core banking.
PendingSync2Queued for sync; data may be stale.
Failed3Last sync attempt failed. Manual re-sync may be required.

Sync Queue Status (SITSyncQueueStatusEnum)​

Status of an individual entry in the SITSyncQueue outbox table. Each entry represents one replay attempt to core banking.

ValueIntegerDescription
Pending0Awaiting pickup by the background worker.
InProgress1Currently being processed by the worker.
Succeeded2Successfully replayed to core banking.
Failed3This attempt failed. A new entry will be created for the next retry.
DeadLettered4Exceeded maximum retries. The parent transaction's CoreSyncStatus is set to DeadLettered.