API - Counter REST
  
  REST API to implement a counter application for Q-net Queue Management System v6.6.2.
Base URL:
Login to counter
Login to counter with a clerk username and password combination.
Request
GET /{wsid}/login/{username}/{password}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
username | 
String | 
Clerk username | 
password | 
String | 
Clerk password | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/login/user1/pass1
   | 
 
Response: 200 OK
The returning values contains all the login details about the requested clerk. 
Fields
| Name | 
Type | 
Description | 
cntId | 
Number | 
Counter ID | 
userData | 
UserData | 
UserData object | 
userID | 
Number | 
Clerk userID | 
userName | 
String | 
Clerk username | 
 
Example
{     "response": {         "cntId": 1,         "userData": {             "wsID": "counter1",             "clientID": "0",             "deviceID": "19",             "loginEventID": 48829,             "autoCallEnabled": false,             "userID": 3,             "branchID": 1,             "counterID": 1,             "userName": "User 1",             "languageCode": "en-GB",             "languageID": 1,             "singOnTime": 1469622631865,             "dispenserProfileID": 0,             "customerDataID": 0,             "selectedBranches": [],             "roles": {                 "1": [                     3                 ]             },             "jSessionID": "",             "languages": [                 1,                 2             ]         }     },     "result": "OK" }
  | 
 
Response: 400 Bad Request
If the wsid is not exist.
Example
{     "result": "ERROR",     "message": "java.lang.Exception: Missing counter!" }
  | 
 
Response: 401 Unauthorized
If username or password is incorrect.
Example
{     "result": "ERROR",     "message": "Incorrect user name or password!" }
  | 
 
Check counter
Check counter WSID is exist and whether has logged-in user or not.
Request
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/check
   | 
 
Response: 200 OK
The returning values contains all the login details about the requested clerk. 
Fields
 
Example
{     "response": {         "server": {             "wsID": "counter1",             "branchID": 1,             "serverWSID": "master",             "serverURL": "http://localhost:3000/qnet6",             "seId": 1,             "branchName": "Budapest",             "description": "Pult 1",             "serverDescription": "Master server"         },         "cntId": 1,         "userStatus": {             "codId": 11,             "cdlName": "Utómunka"         },         "userData": {             "wsID": "counter1",             "clientID": "0",             "deviceID": "19",             "loginEventID": 231318,             "autoCallEnabled": false,             "userID": 3,             "branchID": 1,             "counterID": 1,             "userName": "User 1",             "statusID": 11,             "statusDateTime": 20190121143246,             "languageCode": "hu",             "languageID": 2,             "signOnTime": 1539158811013,             "dispenserProfileID": 0,             "customerDataID": 0,             "selectedBranches": [],             "roles": {                 "1": [                     3                 ]             },             "jSessionID": "",             "languages": [                 1,                 2,                 3             ]         },         "ticket": {             "atc1Time": 20181010101132,             "atcType": 1,             "atcNumber": "1",             "atcSta": 30,             "atcWaitSum": 7,             "atcPrint": "Y",             "atcSelTask": 1,             "atcWaitNum": 0,             "atcWaitTime": 0,             "atcCallNum": 0,             "atcMTime": 20181010101139,             "atcDelayed": "N",             "atcTicketTime": 20181010101132,             "tcId": 2815685,             "atcPriority": 5,             "tasks": [                 {                     "attWorkTime": 0,                     "attId": 2817133,                     "attSta": 20,                     "attZeroTask": "N",                     "attAfterwork": "N",                     "tskName": "Service 1",                     "tlName": "Szolgáltatás 1",                     "tskId": 1                 }             ]         }     },     "result": "OK" }
  | 
 
Response: 401 Unauthorized
There’s no logged in counter with this WSID.
{   "result": "ERROR",   "message": "com.qnet.rest.CounterService$NoLoggedInUserException: There's no logged in counter with this WSID" }
  | 
 
Response: 404 Not found
The requested wsID is not exist.
{   "result": "ERROR",   "message": "The wsID is not exist" }
  | 
 
Keep alive
Once logged in needs to be sent in every 60 seconds, otherwise the counter will be logged out automatically.
Request
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/keepAlive
   | 
 
Response: 200 OK
The returning values contains all the login details about the requested clerk. 
Fields
No response fields.
 
Example
Response: 400 Bad Request
The ‘wsID’ is not exist.
Example
{     "result": "ERROR",     "message": "java.lang.Exception: There is no such counter!" }
  | 
 
Response: 401 Unauthorized
There is no logged in clerk on this counter.
Example
{     "result": "ERROR",     "message": "java.lang.Exception: There's no logged in counter with this WSID" }
  | 
 
Logout from counter
Clerk logs out from the counter.
Request
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/logout
   | 
 
Response: 200 OK
Fields
No response fields.
 
Example
Response: 401 Unauthorized
There is no logged in clerk on this counter.
Example
{     "result": "ERROR",     "message": "java.lang.Exception: There's no logged in counter with this WSID" }
  | 
 
Call next ticket
Call the next ticket.
Request
GET /{wsid}/callNextTicket
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/callNextTicket
   | 
 
Response: 200 OK
The returning value contains ticket with details. 
Fields
| Name | 
Type | 
Description | 
ticketID | 
Number | 
Ticket ID. | 
ticket | 
Object | 
Ticket object. | 
 
Example
{     "result": "OK",     "response": {         "ticketID": 2805518,         "ticket": {             "atc1Time": 20180801105922,             "atcCallNum": 0,             "atcDelayed": "N",             "atcId": 2805518,             "atcMTime": 20180801110200,             "atcNumber": "3",             "atcPrint": "N",             "atcPriority": 5,             "atcSelTask": 1,             "atcSta": 30,             "atcStaTime": 20180801110200,             "atcTicketTime": 20180801105922,             "atcType": 2,             "atcWaitNum": 0,             "atcWaitSum": 0,             "atcWaitTime": 0,             "tasks": [                 {                     "attWorkTime": 0,                     "attId": 2806965,                     "attSta": 20,                     "tskIdNum": 1,                     "attZeroTask": "N",                     "tskServReq": 1,                     "attAfterwork": "N",                     "tlName": "Service 1",                     "tskId": 1,                     "tskName": "Service 1",                     "utScale": 4                 }             ],         }     } }
  | 
 
Response: 404 Not found
No more waiting tickets.
{     "response": {         "ticketID": -1     },     "result": "OK" }
  | 
 
Call a ticket
Call a ticket.
Request
GET /{wsid}/callTicket/{ticketID}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
ticketID | 
Number | 
Ticket ID. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/callTicket/1234
   | 
 
Response: 200 OK
The returning value contains ticket with details. 
Fields
| Name | 
Type | 
Description | 
ticketID | 
Number | 
Ticket ID. | 
ticket | 
Object | 
Ticket object. | 
 
Example
{     "result": "OK",     "response": {         "ticketID": 2805518,         "ticket": {             "atc1Time": 20180801105922,             "atcCallNum": 0,             "atcDelayed": "N",             "atcId": 2805518,             "atcMTime": 20180801110200,             "atcNumber": "3",             "atcPrint": "N",             "atcPriority": 5,             "atcSelTask": 1,             "atcSta": 30,             "atcStaTime": 20180801110200,             "atcTicketTime": 20180801105922,             "atcType": 2,             "atcWaitNum": 0,             "atcWaitSum": 0,             "atcWaitTime": 0,             "tasks": [                 {                     "attWorkTime": 0,                     "attId": 2806965,                     "attSta": 20,                     "tskIdNum": 1,                     "attZeroTask": "N",                     "tskServReq": 1,                     "attAfterwork": "N",                     "tlName": "Service 1",                     "tskId": 1,                     "tskName": "Service 1",                     "utScale": 4                 }             ]         }     } }
  | 
 
Response: 404 Not found
No more waiting tickets.
{     "response": {         "ticketID": -1     },     "result": "OK" }
  | 
 
Call ticket from list
Call a ticket from waiting list.
Request
GET /{wsid}/callTicketFromList/{ticketID}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
ticketID | 
Number | 
Ticket ID. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/callTicketFromList/1234
   | 
 
Response: 200 OK
The returning value contains ticket with details. 
Fields
| Name | 
Type | 
Description | 
ticketID | 
Number | 
Ticket ID. | 
ticket | 
Object | 
Ticket object. | 
 
Example
{     "result": "OK",     "response": {         "ticketID": 2805518,         "ticket": {             "atc1Time": 20180801105922,             "atcCallNum": 0,             "atcDelayed": "N",             "atcId": 2805518,             "atcMTime": 20180801110200,             "atcNumber": "3",             "atcPrint": "N",             "atcPriority": 5,             "atcSelTask": 1,             "atcSta": 30,             "atcStaTime": 20180801110200,             "atcTicketTime": 20180801105922,             "atcType": 2,             "atcWaitNum": 0,             "atcWaitSum": 0,             "atcWaitTime": 0,             "tasks": [                 {                     "attWorkTime": 0,                     "attId": 2806965,                     "attSta": 20,                     "tskIdNum": 1,                     "attZeroTask": "N",                     "tskServReq": 1,                     "attAfterwork": "N",                     "tlName": "Service 1",                     "tskId": 1,                     "tskName": "Service 1"                 }             ]         }     } }
  | 
 
Response: 404 Not found
No more waiting tickets.
{     "response": {         "ticketID": -1     },     "result": "OK" }
  | 
 
Call ticket by service
Call a ticket by service.
Request
GET /{wsid}/callNextTicketByTask/{taskID}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
taskID | 
Number | 
Service ID. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/callNextTicketByTask/15
   | 
 
Response: 200 OK
The returning value contains ticket with details. 
Fields
| Name | 
Type | 
Description | 
ticketID | 
Number | 
Ticket ID. | 
ticket | 
Object | 
Ticket object. | 
 
Example
{     "result": "OK",     "response": {         "ticketID": 2805518,         "ticket": {             "atc1Time": 20180801105922,             "atcCallNum": 0,             "atcDelayed": "N",             "atcId": 2805518,             "atcMTime": 20180801110200,             "atcNumber": "3",             "atcPrint": "N",             "atcPriority": 5,             "atcSelTask": 1,             "atcSta": 30,             "atcStaTime": 20180801110200,             "atcTicketTime": 20180801105922,             "atcType": 2,             "atcWaitNum": 0,             "atcWaitSum": 0,             "atcWaitTime": 0,             "tasks": [                 {                     "attWorkTime": 0,                     "attId": 2806965,                     "attSta": 20,                     "tskIdNum": 1,                     "attZeroTask": "N",                     "tskServReq": 1,                     "attAfterwork": "N",                     "tlName": "Service 1",                     "tskId": 1,                     "tskName": "Service 1"                 }             ]         }     } }
  | 
 
Response: 404 Not found
No more waiting tickets.
{     "response": {         "ticketID": -1     },     "result": "OK" }
  | 
 
Recall a ticket
Recall a ticket.
Request
GET /{wsid}/recallTicket/{ticketID}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
ticketID | 
Number | 
Ticket ID. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/recallTicket/12345
   | 
 
Response: 200 OK
The returning value contains ticket with details. 
Fields
| Name | 
Type | 
Description | 
ticketID | 
Number | 
Ticket ID. | 
ticket | 
Object | 
Ticket object. | 
 
Example
{     "result": "OK",     "response": {         "ticketID": 2805518,         "ticket": {             "atc1Time": 20180801105922,             "atcCallNum": 0,             "atcDelayed": "N",             "atcId": 2805518,             "atcMTime": 20180801110200,             "atcNumber": "3",             "atcPrint": "N",             "atcPriority": 5,             "atcSelTask": 1,             "atcSta": 30,             "atcStaTime": 20180801110200,             "atcTicketTime": 20180801105922,             "atcType": 2,             "atcWaitNum": 0,             "atcWaitSum": 0,             "atcWaitTime": 0,             "tasks": [                 {                     "attWorkTime": 0,                     "attId": 2806965,                     "attSta": 20,                     "tskIdNum": 1,                     "attZeroTask": "N",                     "tskServReq": 1,                     "attAfterwork": "N",                     "tlName": "Service 1",                     "tskId": 1,                     "tskName": "Service 1"                 }             ]         }     } }
  | 
 
Get callable tickets
Get a list of callable tickets.
Request
GET /{wsid}/listCallableTickets
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/listCallableTickets
   | 
 
Response: 200 OK
The returning values contains all callable tickets with details. 
Fields
CallableTicket entity.
Example
{     "result": "OK",     "response": [         {             "utScale": 2,             "ctScale": 2,             "atcNumber": "1",             "lngId": 2,             "atcId": 2805516,             "attPrevTask": "Y",             "globalPriority": 5,             "checkCode": 35,             "attId": 2806963,             "attPriority": 5,             "attZeroTask": "N",             "waitingMillis": 0,             "preclassified": false,             "atcDelayed": "N",             "atcTicketTime": 20180801105131,             "atcComment": "20180802130117|User 1|User comment",             "atcPriority": 5,             "atcStaTime": 20180801105131,             "seq": 0,             "tskId": 18         }     ] }
  | 
 
Get services of ticket
Get a service list of ticket.
Request
GET /{wsid}/getTicketTasksToClerk/{ticketID}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
ticketID | 
Number | 
Ticket ID. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/getTicketTasksToClerk/12345
   | 
 
Response: 200 OK
The returning values contains all services on the ticket. 
Fields
TicketTask entity
 
Example
{     "result": "OK",     "response": [         {             "attWorkTime": 0,             "attId": 2806963,             "attSta": 20,             "tskIdNum": 18,             "attZeroTask": "N",             "tskServReq": 1,             "attAfterwork": "N",             "tlName": "Service 1",             "tskId": 18,             "tskName": "Service 1"         }     ] }
  | 
 
Generate a ticket
Generate a new ticket by clerk.
Request
GET /{wsid}/generateTicket/{taskID}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
taskID | 
Number | 
Service ID. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/generateTicket/12
   | 
 
Response: 200 OK
The returning values contains ID of created ticket. 
Fields
| Name | 
Type | 
Description | 
ticketID | 
Number | 
Ticket ID. | 
 
Example
{     "result": "OK",     "response": {         "ticketID": 2805518     } }
  | 
 
Start transaction
Start transaction on a given service on the called ticket.
Request
GET /{wsid}/startTransaction/{ticketID}/{attID}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
ticketID | 
Number | 
Ticket ID. | 
attID | 
Number | 
Ticket Task ID. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/startTransaction/12345/54321
   | 
 
Response: 200 OK
Fields
No fields.
 
Example
Stop transaction
Stop transaction on a given service on the called ticket.
Request
GET /{wsid}/stopTransaction/{ticketID}/{attID}/{closingCode}/{wasRealTransaction}/{needAfterwork}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
ticketID | 
Number | 
Ticket ID. | 
attID | 
Number | 
Ticket Task ID. | 
closingCode | 
Number | 
Closing code ID. 0 means no closing code. | 
wasRealTransaction | 
String | 
Y - real transaction, N - non-real transaction | 
needAfterwork | 
String | 
Need afterwork after closing transaction | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/stopTransaction/12345/54321/0/Y/N
   | 
 
Response: 200 OK
Fields
 
Example
{     "result": "OK",     "response": {         "result": 3     } }
  | 
 
Missing
Since Q-net Pro v6.8.6
Close the ticket in case the client didn’t appear for the call.
Request
GET /{wsid}/missing/{ticketID}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
ticketID | 
Number | 
Ticket ID. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/missing/12345
   | 
 
Response: 200 OK
Fields
| Name | 
Type | 
Description | 
ticketID | 
Number | 
Ticket ID. | 
ticket | 
Object | 
Ticket object. Only the ticket is not closed yet. | 
 
Example
{     "result": "OK",     "response": {         "ticketID": 12345,         "ticket": {             // ...         }     } }
  | 
 
Redirect to service
Redirecting the ticket to another service.
Request
GET /{wsid}/redirectToTask/{ticketID}/{attID}/{taskID}/{wasRealTransaction}/{closingCode}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
ticketID | 
Number | 
Ticket ID. | 
attID | 
Number | 
Ticket Task ID (which is under transaction) | 
taskID | 
Number | 
Target service ID. | 
closingCode | 
Number | 
Closing code ID. 0 means no closing code. | 
wasRealTransaction | 
String | 
Y - real transaction, N - non-real transaction | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/redirectToTask/12345/54321/3/Y/0
   | 
 
Response: 200 OK
Fields
No fields.
 
Example
Redirect to counter
Redirecting the ticket to another counter.
Request
GET /{wsid}/redirectToCounter/{ticketID}/{attID}/{wasRealTransaction}/{closingCode}/{counterID}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
ticketID | 
Number | 
Ticket ID. | 
attID | 
Number | 
Ticket Task ID (which is under transaction) | 
closingCode | 
Number | 
Closing code ID. 0 means no closing code. | 
wasRealTransaction | 
String | 
Y - real transaction, N - non-real transaction | 
counterID | 
Number | 
Target counter ID. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/redirectToCounter/12345/54321/Y/0/2
   | 
 
Response: 200 OK
Fields
No fields.
 
Example
Redirect to clerk
Redirecting the ticket to another clerk.
Request
GET /{wsid}/redirectToClerk/{ticketID}/{attID}/{wasRealTransaction}/{closingCode}/{userID}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
ticketID | 
Number | 
Ticket ID. | 
attID | 
Number | 
Ticket Task ID (which is under transaction) | 
closingCode | 
Number | 
Closing code ID. 0 means no closing code. | 
wasRealTransaction | 
String | 
Y - real transaction, N - non-real transaction | 
userID | 
Number | 
Target clerk/user ID. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/redirectToClerk/12345/54321/Y/0/5
   | 
 
Response: 200 OK
Fields
No fields.
 
Example
Zero-task
Set a ticket task to ‘Zero-task’. It means every clerk can call this ticket independently of the matrix.
Request
GET /{wsid}/setZeroTask/{ticketID}/{attID}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
ticketID | 
Number | 
Ticket ID. | 
attID | 
Number | 
Ticket Task ID (which is under transaction) | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/setZeroTask/12345/54321
   | 
 
Response: 200 OK
Fields
No fields.
 
Example
Redirect to waiting list
Redirecting the ticket to waiting list.
Request
GET /{wsid}/redirectToWaitingList/{ticketID}/{toLocalList}/{wasRealTransaction}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
ticketID | 
Number | 
Ticket ID. | 
toLocalList | 
String | 
Y - local waiting list, N - global waiting list | 
wasRealTransaction | 
String | 
Y - real transaction, N - non-real transaction | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/redirectToWaitingList/12345/Y/Y
   | 
 
Response: 200 OK
Fields
No fields.
 
Example
Add a comment to a ticket.
Request
GET /{wsid}/addCommentToTicket/{ticketID}/{encodedComment}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
ticketID | 
Number | 
Ticket ID. | 
encodedComment | 
String | 
URL encoded comment text with username and timestamp. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/addCommentToTicket/12345/User+1%7C20181119095303%7CHe+is+angry%21%7C%7C
   | 
 
Response: 200 OK
Fields
No fields.
 
Example
Add new service
Since Q-net Pro v6.8.6
Add a new service to a ticket.
Request
GET /{wsid}/newTask/{ticketID}/{taskID}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
ticketID | 
Number | 
Ticket ID. | 
taskID | 
Number | 
New service ID. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/newTask/12345/7
   | 
 
Response: 200 OK
Fields
 | ticketID | Number | Ticket ID. |
Example
{     "result": "OK",     "response": {         "ticketID": 12345,         "ticket": {             // ...         }     } }
  | 
 
Waiting tickets
Get waiting ticket list.
Request
GET /{wsid}/getWaitingTickets
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/getWaitingTickets
   | 
 
Response: 200 OK
Fields
| Name | 
Type | 
Description | 
waitingTicketsListCount | 
Number | 
Number of waiting tickets for the logged inclerk & counter | 
waitingTicketsList | 
Array<ActTickets> | 
Waiting tickets with details | 
ticketOnLocalWLCount | 
Number | 
Number of tickets on local waiting list | 
ticketCountOnLocalWL | 
Array<ActTickets> | 
List of tickets on local waiting list with details | 
ticketOnGlobalWLCount | 
Number | 
Number of tickets on global waiting list | 
ticketOnGlobalWL | 
Array<ActTickets> | 
List of tickets on global waiting list with details | 
ticketCountByTasks | 
Array<Object> | 
Number of waiting tickets grouped by services. | 
totalWaitingTicketsInBranch | 
Number | 
Total number of waiting tickets in branch | 
 
 
Example
{     "result": "OK",     "response": {         "waitingTicketsListCount": 2,         "waitingTicketsList": [             {                 "attPriority": 5,                 "atcNumber": "10",                 "atcId": 2805532,                 "atcTicketTime": 20180802130117,                 "tlName": "Service 1",                 "atcPriority": 5,                 "atcStaTime": 20180802130117,                 "atcComment": "20180802130117|User 1|User comment",                 "tskName": "Service 1"             },             {                 "attPriority": 5,                 "atcNumber": "11",                 "atcId": 2805533,                 "atcTicketTime": 20180802130123,                 "tlName": "Service 2",                 "atcPriority": 5,                 "atcStaTime": 20180802130123,                 "atcComment": "20180802130117|User 1|User comment",                 "tskName": "Service 2"             }         ],         "ticketOnLocalWLCount": 0,         "ticketOnLocalWL": [],         "ticketOnGlobalWLCount": 0,         "ticketOnGlobalWL": [],         "ticketCountByTasks": [             {                 "tlName": "Service 2",                 "ticketCount": 1,                 "tskId": 18,                 "tskName": "Service 2"             },             {                 "tlName": "Service 1",                 "ticketCount": 1,                 "tskId": 21,                 "tskName": "Service 1"             }         ],         "totalWaitingTicketsInBranch": 2     } }
  | 
 
Waiting ticket count
Get waiting ticket count.
Request
GET /{wsid}/getWaitingTicketsCount
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/getWaitingTicketsCount
   | 
 
Response: 200 OK
Fields
| Name | 
Type | 
Description | 
waitingTicketsListCount | 
Number | 
Number of waiting tickets for the logged inclerk & counter | 
ticketOnLocalWLCount | 
Number | 
Number of tickets on local waiting list | 
ticketOnGlobalWLCount | 
Number | 
Number of tickets on global waiting list | 
totalWaitingTicketsInBranch | 
Number | 
Total number of waiting tickets in branch | 
 
 
Example
{     "result": "OK",     "response": {         "waitingTicketsListCount": 2,         "ticketOnLocalWLCount": 0,         "ticketOnGlobalWLCount": 0,         "totalWaitingTicketsInBranch": 2     } }
  | 
 
Closing codes
Get closing code list.
Request
GET /{wsid}/getClosingCodes
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/getClosingCodes
   | 
 
Response: 200 OK
Fields
It returns array of Codes,
 
Example
{     "result": "OK",     "response": [         {             "codId": 1,             "cdlName": "Zárókód 1",             "codName": "Closing code 1"         },         {             "codId": 2,             "cdlName": "Zárókód 2",             "codName": "Closing code 2"         }     ] }
  | 
 
Status codes
Get status code list.
Request
GET /{wsid}/getStatusCodes
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/getStatusCodes
   | 
 
Response: 200 OK
Fields
It returns array of Codes,
 
Example
{     "result": "OK",     "response": [         {             "codId": 1,             "codName": "Break",             "cdlName": "Szünet"         },         {             "codId": 2,             "codName": "Afterwork",             "cdlName": "Utómunka"         }     ] }
  | 
 
Set clerk status
Enter into or exit from a clerk status.
Request
GET /{wsid}/setStatus/{codId}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
codID | 
Number | 
Status code ID. | 
Example
Enter a new status:
http://localhost:3000/qnet6/rest/counter/counter1/setStatus/3
   | 
Exit from a status:
http://localhost:3000/qnet6/rest/counter/counter1/setStatus/-1
   | 
Response: 200 OK
Fields
No fields.
 
Example
Logout codes
Get logout code list.
Request
GET /{wsid}/getLogoutCodes
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/getLogoutCodes
   | 
 
Response: 200 OK
Fields
It returns array of Codes,
 
Example
{     "result": "OK",     "response": [         {             "codId": 1,             "codName": "Lunch",             "cdlName": "Ebédszünet"         },         {             "codId": 2,             "codName": "Other",             "cdlName": "Egyéb"         }     ] }
  | 
 
Services
Get service list.
Request
GET /{wsid}/getServiceList/{type}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
type | 
String | 
Type of filter. A - list all services in branch, M - list services by matrices, N - inverse list of services by matrices (for redirecting to service) | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/getServiceList/A
   | 
 
Response: 200 OK
Fields
It returns array of Service.
 
Example
{     "result": "OK",     "response": [         {             "tskId": 1,             "tskIdNum": 1,             "tlName": "Service 1",             "tskName": "Service 1"         },         {             "tskId": 2,             "tskIdNum": 2,             "tlName": "Service 2",             "tskName": "Service 2"         }     ] }
  | 
 
Clerk configuration
Get clerk configuration.
Request
GET /{wsid}/getUserConfig
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/getUserConfig
   | 
 
Response: 200 OK
Fields
| Name | 
Type | 
Description | 
autoCallMin | 
Number | 
Auto-calling minimum interval (seconds) | 
autoCallMax | 
Number | 
Auto-calling maximum interval (seconds) | 
autoTransStartTime | 
Number | 
Automatic transaction starting delay (seconds) | 
hasDirektCall | 
Boolean | 
Automatic transaction starting delay (seconds) | 
 
Example
{     "result": "OK",     "response": {         "autoCallMin": 1,         "autoCallMax": 5,         "autoTransStartTime": 5,         "hasDirectCall": true     } }
  | 
 
Start afterwork
Start afterwork on a called ticket.
Request
GET /{wsid}/startAfterwork/{attID}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
attID | 
Number | 
TicketTask ID. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/startAfterwork/54321
   | 
 
Response: 200 OK
Fields
No fields.
 
Example
Stop afterwork
Stop afterwork on a called ticket.
Request
GET /{wsid}/stopAfterwork/{ticketID}/{attID}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
ticketID | 
Number | 
Ticket ID. | 
attID | 
Number | 
TicketTask ID. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/stopAfterwork/12345/54321
   | 
 
Response: 200 OK
Fields
The response contains the result of stopping afterwork.
 
Example
{     "result": "OK",     "response": 1 }
  | 
 
Delete ticket
Delete a waiting ticket.
Request
GET /{wsid}/deleteTicket/{ticketID}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
ticketID | 
Number | 
Ticket ID. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/deleteTicket/1234
   | 
 
Response: 200 OK
Fields
No fields.
Example
Active users
Get logged-in clerks for redirection. Shows the list of active users who can handle the services on the ticket.
Request
GET /{wsid}/getActiveUsers/{ticketID}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
ticketID | 
Number | 
Ticket ID. It can be -1. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/getActiveUsers/1234
   | 
 
Response: 200 OK
Fields
It returns an array of ActiveUser.
Example
{     "result": "OK",     "response": [         {             "cntDescript": "Pult 1",             "usrId": 3,             "auId": 51532,             "cntId": 1,             "cntNumber": "1",             "usrName": "User 1"         },         {             "cntDescript": "Pult 2",             "usrId": 4,             "auId": 51534,             "cntId": 2,             "cntNumber": "2",             "usrName": "User 2"         },         {             "cntDescript": "Pult 3",             "usrId": 5,             "auId": 51533,             "cntId": 3,             "cntNumber": "3",             "usrName": "User 3"         }     ] }
  | 
 
Customer data
Get identified customer data.
Request
GET /{wsid}/getCustomerData/{ticketID}
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
ticketID | 
Number | 
Ticket ID. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/getCustomerData/1234
   | 
 
Response: 200 OK
Fields
| Name | 
Type | 
Description | 
customerData | 
CustomerData | 
CustomerData entity. | 
customerPhotoBASE64 | 
String | 
Customer photo in Base64. | 
customerPhotoRelativeURL | 
String | 
Customer photo relative URL. | 
Example
{     "result": "OK",     "response": {         "customerData": {             "cusUnident": "N",             "cusInterface": 0,             "cusData10": "2",             "cusNew": "Y",             "cusIdent": "4289420100096423",             "cusId": 506         },         "customerPhotoBASE64": "iVBORw0KGgoAAAANSUhEUgAAAP8AAAD/CAIAAACxapedAA...",         "customerPhotoRelativeURL": "styles/base/images/admin/user.png"     } }
  | 
 
Waiting clients limit
Get limit of waiting clients in the branch.
Request
GET /{wsid}/getWaitingClientLimit
  | 
 
Parameters
| Name | 
Type | 
Description | 
wsid | 
String | 
WebsocketID of counter. | 
Example
http://localhost:3000/qnet6/rest/counter/counter1/getWaitingClientLimit
   | 
 
Response: 200 OK
It returns the limit as Number. The response: null means the limit is not defined.
Fields
Example
{     "result": "OK",     "response": 10     } }
  | 
 
Models
UserData
It represents a user session. 
Properties
| Name | 
Type | 
Description | 
wsID | 
String | 
Websocket ID | 
clientID | 
String | 
Client ID | 
deviceID | 
String | 
Device ID | 
loginEventID | 
Number | 
Statistics login event ID | 
autoCallEnabled | 
Boolean | 
Is auto-calling enabled? | 
userID | 
Number | 
User ID | 
branchID | 
Number | 
Branch ID | 
counterID | 
Number | 
Counter ID | 
userName | 
String | 
User name | 
languageCode | 
String | 
Language code | 
languageID | 
Number | 
Language ID | 
singOnTime | 
Number | 
Time of signing on | 
dispenserProfileID | 
Number | 
only internal usages | 
customerDataID | 
Number | 
only internal usages | 
selectedBranches | 
Array<Number> | 
only internal usages | 
roles | 
Object | 
User roles | 
jSessionID | 
String | 
JSessionID | 
languages | 
Array<Number> | 
User languages | 
statusID | 
Number | 
Status Code ID, if clerk is in a status | 
statusDateTime | 
Number | 
Status entry time | 
Examples
{     "wsID": "counter1",     "clientID": "0",     "deviceID": "19",     "loginEventID": 48829,     "autoCallEnabled": false,     "userID": 3,     "branchID": 1,     "counterID": 1,     "userName": "User 1",     "languageCode": "en-GB",     "languageID": 1,     "singOnTime": 1469622631865,     "dispenserProfileID": 0,     "customerDataID": 0,     "selectedBranches": [],     "roles": {         "1": [             3         ]     },     "jSessionID": "",     "languages": [         1,         2     ],     "statusID": 13,     "statusDateTime": 20190121143246 }
  | 
 
Ticket
It represents a ticket.
Properties
| Name | 
Type | 
Description | 
atc1Time | 
Number | 
Ticket creations timestamp. | 
atcBookingCode | 
String | 
Booking code (only if through booking). | 
atcCallNum | 
Number | 
Number of recalls. | 
atcComment | 
String | 
Comment on ticket. | 
atcDelayed | 
String | 
Latency in case booked (Y/N). | 
atcId | 
Number | 
Ticket ID. | 
atcMtime | 
Number | 
Modification time of ticket. | 
atcNumber | 
Number | 
Ticket number. | 
atcPrint | 
String | 
Printed ticket (Y/N). | 
atcPriority | 
Number | 
Ticket priority. | 
atcSelTask | 
Number | 
Number of services on the ticket. | 
atcSta | 
Number | 
Status of ticket | 
atcStaTime | 
Number | 
Last time of the tickets status change. | 
atcTicketTime | 
Number | 
Timestamp of ticket printing. | 
atcType | 
Number | 
Type of ticket | 
atcWaitingList | 
String | 
Type of waiting list | 
atcWaitSum | 
Number | 
Waiting time | 
atcWaitNum | 
Number | 
Calculated waiting queue size. | 
atcWaitTime | 
Number | 
Calculated waiting time. | 
tasks | 
Array<TicketTask> | 
Array of TicketTask. | 
Examples
{     "atc1Time": 20160809125741,     "atcCallNum": 0,     "atcDelayed": "N",     "atcId": 97,     "atcMTime": 20160809125746,     "atcNumber": "1",     "atcPrint": "Y",     "atcPriority": 5,     "atcSelTask": 1,     "atcSta": 30,     "atcStaTime": 20160809125746,     "atcTicketTime": 20160809125741,     "atcType": 1,     "atcWaitNum": 0,     "atcWaitSum": 5,     "atcWaitTime": 0,     "tasks": [         {             "tskName": "Service 1",             "tskId": 1,             "attWorkTime": 0,             "attSta": 20,             "attId": 97,             "attAfterwork": "N",             "attZeroTask": "N"         }     ] }
  | 
 
TicketTask
It represents a selected task on a ticket.
Properties
| Name | 
Type | 
Description | 
attId | 
Number | 
Ticket Task ID | 
atcSta | 
Number | 
Status of ticket task | 
tskName | 
String | 
Service name | 
tskId | 
Number | 
Service ID | 
attWorkTime | 
Number | 
Total transaction time | 
attAfterwork | 
String | 
Need afterwork | 
attZeroTask | 
String | 
Is it a Zero task? (Can be called by any clerks without matrix) | 
Examples
{     "tskName": "Service 1",     "tskId": 1,     "attWorkTime": 0,     "attSta": 20,     "attId": 97,     "attAfterwork": "N",     "attZeroTask": "N" }
  | 
 
CustomerData
It represents an identified customer data. 
Properties
| Name | 
Type | 
Description | 
cusId | 
String | 
CustomerData ID | 
cusUnident | 
String | 
Is it an unidentified customer? | 
cusInterface | 
String | 
Received interface value from CRM | 
cusData01 | 
String | 
Data #1 | 
cusData02 | 
String | 
Data #2 | 
cusData03 | 
String | 
Data #3 | 
cusData04 | 
String | 
Data #4 | 
cusData05 | 
String | 
Data #5 | 
cusData06 | 
String | 
Data #6 | 
cusData07 | 
String | 
Data #7 | 
cusData08 | 
String | 
Data #8 | 
cusData09 | 
String | 
Data #9 | 
cusData10 | 
String | 
Data #10 | 
cusNew | 
String | 
Is it a new record? | 
cusIdent | 
String | 
Customer identifier | 
Examples
{     "cusId": 506,     "cusUnident": "N",     "cusInterface": 0,     "cusData01": "",     "cusData02": "",     "cusData03": "",     "cusData04": "",     "cusData05": "",     "cusData06": "",     "cusData07": "",     "cusData08": "",     "cusData09": "",     "cusData10": "",     "cusNew": "Y",     "cusIdent": "4289420100096423" }
  | 
 
CallableTicket
It represents a callable ticket.
Properties
| Name | 
Type | 
Description | 
utScale | 
Number | 
User-Service matrix priority. | 
ctScale | 
Number | 
Counter-Service matrix priority. | 
atcNumber | 
Number | 
Ticket number | 
lngId | 
Number | 
Language ID | 
atcId | 
String | 
Ticket ID | 
attPrevTask | 
String | 
only internal usages | 
globalPriority | 
Number | 
only internal usages | 
checkCode | 
Number | 
only internal usages | 
attId | 
Number | 
Ticket Task ID | 
attPriority | 
Number | 
Ticket Task priority | 
attZeroTask | 
String | 
Is it a zero task? | 
waitingMillis | 
Number | 
? | 
preclassified | 
Boolean | 
not implemented | 
atcDelayed | 
String | 
not implemented | 
atcTicketTime | 
Number | 
Ticket printing timestamp | 
atcPriority | 
Number | 
Ticket priority | 
atcStaTime | 
Number | 
Time of last status changing | 
seq | 
Number | 
only internal usages | 
tskId | 
Number | 
Service ID | 
Example
{     "result": "OK",     "response": [         {             "utScale": 2,             "ctScale": 2,             "atcNumber": "1",             "lngId": 2,             "atcId": 2805516,             "attPrevTask": "Y",             "globalPriority": 5,             "checkCode": 35,             "attId": 2806963,             "attPriority": 5,             "attZeroTask": "N",             "waitingMillis": 0,             "preclassified": false,             "atcDelayed": "N",             "atcTicketTime": 20180801105131,             "atcPriority": 5,             "atcStaTime": 20180801105131,             "atcComment": "20180802130117|User 1|User comment",             "seq": 0,             "tskId": 18         }     ] }
  | 
 
Codes
It represents a Code entity.
Properties
| Name | 
Type | 
Description | 
codId | 
Number | 
Code ID | 
codName | 
String | 
Code name in default language | 
cdlName | 
String | 
Code name in user’s language | 
Examples
{     "codId": 1,     "codName": "Break",     "cdlName": "Szünet" }
  | 
 
ActiveUser
It represents a logged in clerk on a counter.
Properties
| Name | 
Type | 
Description | 
auId | 
Number | 
ActiveUser ID | 
cntId | 
Number | 
Counter ID | 
cntNumber | 
String | 
Counter number | 
cntDescript | 
String | 
Counter description | 
usrId | 
Number | 
User ID | 
usrName | 
String | 
User name | 
Examples
{     "cntDescript": "Counter 1",     "usrId": 3,     "auId": 51532,     "cntId": 1,     "cntNumber": "1",     "usrName": "User 1" }
  | 
 
Service
It represents a service entity.
Properties
| Name | 
Type | 
Description | 
tskId | 
Number | 
Service ID | 
tskIdNum | 
Number | 
Service number | 
tskName | 
String | 
Service name in default language | 
tlName | 
String | 
Service name in user’s language | 
Examples
{     "tskId": 1,     "tlName": "Service 1",     "tskName": "Service 1" }
  | 
 
Server
It represents a server entity.
Properties
| Name | 
Type | 
Description | 
branchID | 
Number | 
Branch ID | 
branchName | 
String | 
Branch name | 
seId | 
Number | 
Server ID | 
serverWSID | 
String | 
Server WSID | 
serverURL | 
String | 
Server URL | 
serverDescription | 
String | 
Server description | 
Examples
{     "seId": 1,     "serverWSID": "master",     "serverURL": "http://localhost:3000/qnet6",     "serverDescription": "Master server",     "branchID": 1,     "branchName": "Budapest" }
  | 
 
Enums
Ticket statuses
| Value | 
Description | 
10 | 
Booked. | 
20 | 
Can be called. | 
30 | 
Under calling. | 
40 | 
Missing. | 
50 | 
Definitive missing. | 
60 | 
Under transaction. | 
70 | 
On waiting list. | 
80 | 
Deleted. | 
90 | 
Closed. | 
100 | 
Under afterwork. | 
Ticket types
| Value | 
Description | 
1 | 
Generated on dispenser. | 
2 | 
Generated by clerk. | 
3 | 
Generated by apAppointment. | 
Waitlist types
| Value | 
Description | 
WG | 
Global waitlist. | 
WL | 
Local waitlist. | 
Stop transaction result values
| Value | 
Description | 
1 | 
No more services and no more afterwork. Ticket closed. | 
2 | 
No more services and no more afterwork but ticket is alive. | 
3 | 
There are still services on ticket. | 
4 | 
No more services but there is afterwork. | 
Stop afterwork result values
| Value | 
Description | 
1 | 
No more afterwork. Ticket closed. | 
2 | 
There are still afterwork on ticket. | 
3 | 
No more afterwork but ticket is alive. |