Skip to main content

Get Teller Till List

Overview

Retrieves a list of all teller tills in the system with filtering options.

Command

GetTellerTillListQuery

Endpoint

POST /api/bpm/cmd

Request Headers

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

Request Body

{
"cmd": "GetTellerTillListQuery",
"data": {
"branchId": "BRANCH-001",
"tellerId": "TELLER-001",
"status": "Open",
"currencyCode": "NGN",
"pageNumber": 1,
"pageSize": 20
}
}

Request Parameters

ParameterTypeRequiredDescription
cmdstringYesMust be "GetTellerTillListQuery"
dataobjectYesFilter criteria
↳ branchIdstringNoFilter by specific branch
↳ tellerIdstringNoFilter by specific teller
↳ statusstringNoFilter by till status (Open, Closed)
↳ currencyCodestringNoFilter by currency
↳ pageNumberintegerNoPage number for pagination (default: 1)
↳ pageSizeintegerNoNumber of records per page (default: 20)

Response

Success Response (200 OK)

{
"success": true,
"message": "Till list retrieved successfully",
"data": {
"tills": [
{
"tillId": "string",
"tellerId": "string",
"tellerName": "string",
"branchId": "string",
"branchName": "string",
"currencyCode": "string",
"currentBalance": "decimal",
"status": "string",
"shiftStartTime": "datetime",
"lastTransactionTime": "datetime"
}
],
"pagination": {
"currentPage": 1,
"pageSize": 20,
"totalRecords": 150,
"totalPages": 8
}
}
}

Error Responses

400 Bad Request

{
"success": false,
"message": "Invalid filter parameters"
}

Business Rules

  1. Users can only view tills they have permission to access
  2. Results sorted by branch and teller name
  3. Real-time balance information displayed
  4. Maximum page size is 100 records

Code Example

async function getTellerTillList(branchId = null, status = 'Open') {
const response = await fetch('/api/bpm/cmd', {
method: 'POST',
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json',
'X-Tenant-Id': tenantId
},
body: JSON.stringify({
commandType: 'GetTellerTillListQuery',
data: {
branchId: branchId,
status: status,
pageNumber: 1,
pageSize: 50
}
})
});

return await response.json();
}

Notes

  • Use filters to improve performance
  • Monitor open tills for security purposes
  • Export results for reporting and reconciliation
  • Regular monitoring helps identify discrepancies early