Skip to main content

Release PND (Post No Debit)

Release Post No Debit restriction from a deposit account to restore full debit transaction capabilities.

Overviewโ€‹

The ReleasePNDFromDepositAccountCommand removes the Post No Debit (PND) restriction from an account, allowing withdrawals, transfers, and all debit operations to resume. This command reverses the effect of ActivatePNDOnAccountCommand and is used when the reason for the restriction has been resolved.

Key Capabilitiesโ€‹

  • PND Removal: Releases Post No Debit restriction
  • Full Access Restoration: Re-enables all debit operations
  • Audit Trail: Records release reason and user
  • Validation: Ensures account is actually on PND before releasing
  • Activity Notification: Logs release for compliance

API Endpointโ€‹

POST /api/bpm/cmd


Request Structureโ€‹

{
"commandName": "ReleasePNDFromDepositAccountCommand",
"data": {
"accountEncodedKey": "string",
"notes": "string"
}
}

Request Fieldsโ€‹

FieldTypeRequiredDescription
accountEncodedKeystringYesAccount number or encoded key
notesstringNoOptional notes/reason for releasing PND

Response Structureโ€‹

Success Responseโ€‹

{
"isSuccessful": true,
"message": "The deposit account PND (POST NO DEBIT) has been released successfully.",
"statusCode": "00"
}

Error Responseโ€‹

{
"isSuccessful": false,
"message": "The deposit account is not presently on PND (POST NO DEBIT).",
"statusCode": "INVALID_REQUEST"
}

Sample Requestsโ€‹

1. Release After Limit Resetโ€‹

{
"commandName": "ReleasePNDFromDepositAccountCommand",
"data": {
"accountEncodedKey": "ACC001234567",
"notes": "New day - Daily limits reset, PND released"
}
}

2. Release After Investigationโ€‹

{
"commandName": "ReleasePNDFromDepositAccountCommand",
"data": {
"accountEncodedKey": "SAV987654321",
"notes": "Suspicious activity investigation completed - No issues found"
}
}

Business Logicโ€‹

Processing Workflowโ€‹

Validation Stepsโ€‹

  1. Extract Fields: Get accountEncodedKey and optional notes
  2. Account Query: Load account with related entities
  3. Existence Check: Verify account exists
  4. PND Check: Verify IsOnPND is currently true
  5. PND Release: Set IsOnPND flag to false
  6. Database Update: Persist change
  7. Notification: Send activity notification
  8. Success Response: Return confirmation

Impact of Releaseโ€‹

Operations Restoredโ€‹

  • รขล“โ€ฆ Withdrawals (cash, ATM, teller)
  • รขล“โ€ฆ Transfers out of the account
  • รขล“โ€ฆ Bill payments from account
  • รขล“โ€ฆ Standing orders (debits)
  • รขล“โ€ฆ Card transactions (debit)
  • รขล“โ€ฆ Check payments

Error Responsesโ€‹

Error CodeMessageResolution
Client_Not_Found"The deposit account does not exist."Verify account identifier
INVALID_REQUEST"Account not on PND"Check IsOnPND status first

Code Examplesโ€‹

C# Implementationโ€‹

Code Removed

Implementation details removed for security.

Contact support for implementation guidance.

JavaScript Implementationโ€‹

async releasePND(accountEncodedKey, notes = null) {
const request = {
commandName: 'ReleasePNDFromDepositAccountCommand',
data: { accountEncodedKey, notes }
};

const response = await fetch(`${this.baseUrl}/api/bpm/cmd`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${this.accessToken}`,
'X-Tenant-ID': this.tenantId
},
body: JSON.stringify(request)
});

return await response.json();
}

Python Implementationโ€‹

def release_pnd(
self,
account_encoded_key: str,
notes: Optional[str] = None
) -> PNDReleaseResponse:
request_data = {
'commandName': 'ReleasePNDFromDepositAccountCommand',
'data': {
'accountEncodedKey': account_encoded_key,
'notes': notes
}
}

response = requests.post(
f'{self.base_url}/api/bpm/cmd',
headers=self.headers,
json=request_data
)

result = response.json()
return PNDReleaseResponse(
is_successful=result.get('isSuccessful', False),
message=result.get('message', ''),
status_code=result.get('statusCode', '')
)

Business Rulesโ€‹

Validation Rulesโ€‹

  1. Account Required: accountEncodedKey must be provided
  2. Account Must Exist: Account must be in system
  3. Must Be On PND: Account must have IsOnPND = true
  4. Notes Optional: Release notes are optional

Operational Rulesโ€‹

  1. Flag Cleared: IsOnPND boolean flag set to false
  2. Immediate Effect: Debits can resume immediately
  3. Activity Logged: Release logged with ReleasePND action
  4. Notification Sent: Activity notification published
  5. User Recorded: User who released PND is logged
  6. Balance Unchanged: Account balance unaffected

  • ActivatePNDOnAccountCommand: Activate PND restriction
  • UnlockDepositAccountCommand: Remove full account lock
  • InitiateWithdrawalCommand: Can proceed after PND release

Supportโ€‹

For technical assistance: api-support@banklingo.com