Skip to main content

Approve Deposit Lock Amount

Approve a pending lock amount transaction to complete the fund lock or seizure process.

Overview

The ApproveDepositLockAmountCommand approves a pending lock amount transaction that requires authorization. This completes the two-step lock process for high-value holds, regulatory holds, or seizures that need supervisory approval before funds are actually restricted or seized from the customer's account.

Key Capabilities

  • Authorization Workflow: Complete two-step approval for sensitive holds
  • Supervisory Control: Ensures management oversight on significant locks
  • Automatic Processing: Executes approved lock or seizure automatically
  • Audit Trail: Records approver identity and timestamp
  • Balance Updates: Immediately updates available balance upon approval
  • GL Posting: Creates appropriate accounting entries for seized amounts
  • Compliance Support: Maintains approval records for regulatory review

API Endpoint

POST /api/bpm/cmd

Headers

Content-Type: application/json
Authorization: Bearer {access_token}
X-Tenant-ID: {tenant_id}

Request Structure

Command Payload

{
"commandName": "ApproveDepositLockAmountCommand",
"data": {
"accountNumber": "string",
"blockReference": "string",
"serviceId": "string",
"remarks": "string"
}
}

Request Fields

FieldTypeRequiredDescriptionValidation
accountNumberstringYesDeposit account number or encoded keyMust exist in system
blockReferencestringYesUnique reference of pending lock transactionMust be in pending state
serviceIdstringNoService identifier for trackingOptional categorization
remarksstringNoApproval notes or commentsOptional documentation

Response Structure

Success Response

{
"isSuccessful": true,
"message": "The lock amount transaction has been approved and executed successfully.",
"statusCode": "00"
}

Error Response

{
"isSuccessful": false,
"message": "The lock transaction is not in pending state.",
"statusCode": "INVALID_REQUEST"
}

Sample Requests

1. Approve High-Value Hold

{
"commandName": "ApproveDepositLockAmountCommand",
"data": {
"accountNumber": "ACC123456789",
"blockReference": "LOCK-2024-12-001234",
"remarks": "Approved by branch manager - large transaction hold verified"
}
}

2. Approve Court-Ordered Seizure

{
"commandName": "ApproveDepositLockAmountCommand",
"data": {
"accountNumber": "8A3F2D1E9B5C4F7A6E8D2C1B3A9F5E7D",
"blockReference": "SEIZE-COURT-20241219-001",
"serviceId": "LEGAL_SEIZURE",
"remarks": "Legal department approval - court order #2024-CIV-5678 verified"
}
}

3. Approve Regulatory Hold

{
"commandName": "ApproveDepositLockAmountCommand",
"data": {
"accountNumber": "SAV987654321",
"blockReference": "REG-HOLD-2024-445",
"serviceId": "REGULATORY_HOLD",
"remarks": "Compliance officer approval - AML investigation supporting documentation verified"
}
}

Business Logic

Approval Workflow

State Transitions

Lock Amount Approval:

  • DEBIT_LOCKEDDEBIT_APPROVED → Funds unavailable to customer
  • Available Balance reduced immediately

Seizure Amount Approval:

  • DEBIT_LOCKEDDEBIT_SEIZED → Funds transferred to GL
  • Both available and actual balance reduced

Use Cases

1. Large Transaction Holds

Scenario: Hold exceeds auto-approval limit

Steps:

  1. Teller creates lock request
  2. Supervisor reviews request details
  3. Supervisor approves via this command
  4. Funds immediately unavailable
  5. Customer notified

Scenario: Court order to seize funds

Steps:

  1. Legal team creates seizure request
  2. Compliance reviews legal documentation
  3. Authorized officer approves seizure
  4. Funds transferred to suspense GL
  5. Customer receives legal notification

3. Fraud Prevention Holds

Scenario: Suspicious activity detected

Steps:

  1. System flags suspicious transaction
  2. Fraud team reviews activity
  3. Security officer approves hold
  4. Account partially restricted
  5. Investigation continues

Validation Rules

ValidationError MessageStatus Code
Account not found"The selected account number is not valid"INVALID_ACCOUNT
Lock transaction not found"Block reference not found"INVALID_REQUEST
Not in pending state"The lock transaction is not in pending state"INVALID_REQUEST
Already approved"This transaction has already been approved"DUPLICATE_TRANSACTION
Insufficient balance"Insufficient funds for seizure"INSUFFICIENT_BALANCE

Best Practices

For Approvers

  1. Verify Documentation: Review all supporting documents before approval
  2. Check Authority: Ensure approval is within your authorization limits
  3. Add Clear Remarks: Document reason for approval for audit trail
  4. Customer Impact: Consider customer relationship implications
  5. Compliance Check: Verify regulatory requirements are met

For System Integration

  1. Timeout Handling: Implement proper timeouts for pending approvals
  2. Notification: Alert approvers of pending requests
  3. Escalation: Auto-escalate if approval threshold exceeded
  4. Audit Logging: Capture complete approval chain
  5. Reversal Process: Understand how to reverse if needed

APIRelationshipDescription
Lock Deposit AmountPrerequisiteCreates the lock request
Reject Lock AmountAlternativeReject instead of approve
Seize Lock AmountRelatedDirect seizure without approval
Delete Lock AmountRelatedRemove approved lock

Next Steps