Ticket

Requests related to Ticket lists are meant to GET data of tickets. You have several options to mold the response data structure, and, in that way, receive what you’re asking for

diagram_tickets1

1 - Get Open Ticket List

Let’s suppose you want to see the list of active and open tickets

Request
Definitions Example

{
    "requestType": String,
    "actionType": String,
    "folder": String
}
            

{
    "requestType": "ticket",
    "actionType": "getList",
    "folder": "TABLE_TICKET"
}
            
Response
Definitions Example

{
    "status": String,
    "ticketList": [{
        "data": {
            "id": Number,
            "subtotal": Number,
            "total": Number,
            "list_item": [{
                "type": String,
                "product_id": String,
                "name": String,
                "qty": Number,
                "memo": String,
                "seat": Number,
                "id": String,
                "menu_id": String,
                "comboParentID": String,
                "comboItem": String,
                "created": Number,
                "modified": Number
            }],
            "status": String,
            "user_id": String,
            "user_name": String,
            "terminal_id": String,
            "number": Number,
            "created": Number,
            "created_date": String,
            "created_time": String,
            "table_number": String,
            "guest_count": Number,
            "fee": Number,
            "path": String
        }
    }]
}
            

{
    "status": "OK",
    "ticketList": [{
        "data": {
            "id": 0,
            "subtotal": 1000,
            "total": 1030,
            "list_item": [{
                "type": "ITEM",
                "product_id": "1448076101030",
                "name": "Kitchen2",
                "qty": 1,
                "memo": "BULK MEMO",
                "seat": 1,
                "id": "1719604393058",
                "menu_id": "1448076101030",
                "comboParentID": "1719604393057",
                "comboItem": "YES",
                "created": 1719604393,
                "modified": 1719604393
            }],
            "status": "OPEN",
            "user_id": "4",
            "user_name": "GM",
            "terminal_id": "34",
            "number": 202407033002,
            "created": 1720030777,
            "created_date": "07/03/2024",
            "created_time": "03:19:37 PM",
            "table_number": "OUT",
            "guest_count": 1,
            "fee": 82,
            "path": "C:\\CloudPOS_MAS281\\TABLE_TICKET\\$O3002!_$BOUT!"
        }
    }]
}
            

2 - Get Closed Ticket List

Now, you want to see the list of closed tickets, meaning, the list of closed sales.

Request
Definitions Example

{
    "requestType": String,
    "actionType": String,
    "folder": String
}
            

{
    "requestType": "ticket",
    "actionType": "getList",
    "folder": "SALES_CLOSED"
}
            
Response
Definitions Example

{
    "status": String,
    "ticketList": Object[]
}
            

{
    "status": "OK",
    "ticketList": []
}
            

3 – Get Credit Card Ticket List

Now, let’s see the tickets that were paid by Credit Card .

Request
Definitions Example

{
    "requestType": String,
    "actionType": String,
    "folder": String
}
            

{
    "requestType": "ticket",
    "actionType": "getList",
    "folder": "SALES_CREDIT"
}
            
Response
Definitions Example

{
    "status": String,
    "ticketList": Object[]
}
            

{
    "status": "OK",
    "ticketList": []
}
            

diagram_tickets2

4 - Defining Opts

You may want to refine your search and get the data you’re askig for in a better structure. For those cases you have available the “opts” parameter. Opts works as a list of boolean flags that will mold the structure of data in a convenient way for your purposes.

Request
Definitions Example

{
    "requestType": String,
    "actionType": String,
    "folder": String,
    "opts": {
        "noItemList": Boolean,
        "noSnapshot": Boolean,
        "getData": Boolean
    }
}
            

{
    "requestType": "ticket",
    "actionType": "getList",
    "folder": "TABLE_TICKET",
    "opts": {
        "noItemList": true,
        "noSnapshot": true,
        "getData": true
    }
}
            
Response
Definitions Example

{
    "status": String,
    "ticketList": [{
        "id": Number,
        "subtotal": Number,
        "total": Number,
        "status": String,
        "user_id": String,
        "user_name": String,
        "terminal_id": String,
        "number": Number,
        "created": Number,
        "created_date": String,
        "created_time": String,
        "table_number": String,
        "guest_count": Number,
        "fee": Number,
        "path": String,
        "logVoid": [{
            "user_id": String,
            "user_name": String,
            "timestamp": Number,
            "date": String,
            "time": String,
            "list": [{
                "qty": Number,
                "price": Number,
                "subtotal": Number,
                "name": String,
                "modifier": String
            }],
            "message": String
        }],
        "modified_human": String
    }]
}
            

{
    "status": "OK",
    "ticketList": [{
        "id": 0,
        "subtotal": 1000,
        "total": 1030,
        "status": "OPEN",
        "user_id": "4",
        "user_name": "GM",
        "terminal_id": "34",
        "number": 3004,
        "created": 1720445682,
        "created_date": "07/08/2024",
        "created_time": "10:34:42 AM",
        "table_number": "OUT",
        "guest_count": 1,
        "fee": 30,
        "path": "C:\\CLOUDPOS",
        "logVoid": [{
            "user_id": "4",
            "user_name": "GM",
            "timestamp": 1720445763,
            "date": "07/08/2024",
            "time": "10:36 AM",
            "list": [{
                "qty": 1,
                "price": 1000,
                "subtotal": 1700,
                "name": "Stack",
                "modifier": "Wheat, Sugar, Swiss"
            }],
            "message": "VOID TEST LOREM IPSUM"
        }],
        "modified_human": "07/08/2024 10:36:03 AM"
    }]
}
            

diagram_tickets3

5 - Defining Filters

You can go one level deeper in the way you search and get tickets data and use “filters”. Filters, as opposed to “opts”, aren’t flags, they’re text strings that will act as “search keywords” in some specific keys.

Request
Definitions Example

{
    "requestType": String,
    "actionType": String,
    "folder": String,
    "opts": {
        "noItemList": Boolean,
        "noSnapshot": Boolean,
        "getData": Boolean,
        "status": String,
        "number": String,
        "onlineCreditCard": Boolean,
        "olineCreditCardTipRequired": Boolean,
        "userID": String
    }
}
            

{
    "requestType": "ticket",
    "actionType": "getList",
    "folder": "TABLE_TICKET",
    "opts": {
        "noItemList": true,
        "noSnapshot": true,
        "getData": true,
        "status": "OPEN",
        "number": "202407033002",
        "onlineCreditCard": false,
        "olineCreditCardTipRequired": false,
        "userID": "4"
    }
}
            
Response
Definitions Example

{
    "status": String,
    "ticketList": [{
        "id": Number,
        "change": Number,
        "tax": Number,
        "subtotal": Number,
        "total": Number,
        "list_tender": Object[],
        "paid_total": Number,
        "balance": Number,
        "status": String,
        "qty": Number,
        "user_id": String,
        "user_name": String,
        "terminal_id": String,
        "tax_free": Boolean,
        "service_fee": Number,
        "number": Number,
        "created": Number,
        "created_date": String,
        "created_time": String,
        "store_id": String,
        "customer_id": Number,
        "customer_group": Number,
        "type": String,
        "saved": Number,
        "buy_mode": String,
        "destination": String,
        "version": Number,
        "list_tax": Object[],
        "list_subtotal": String[],
        "terminal_number": String,
        "register_number": String,
        "table_number": String,
        "table_name": String,
        "guest_count": Number,
        "customer": Object,
        "cashAdjust": {
            "cash": Number,
            "credit": Number
        },
        "fee": Number,
        "tip": Number,
        "taxList": [
            Number,
        ],
        "discount": Number,
        "discount_list": Object,
        "adjust": Number,
        "paid": Number,
        "feeList": {
            "SURCHARGE": Number
        },
        "timestamp_modified": Number,
        "logQueue": ,
        "xcode": String,
        "invoice_number": String,
        "floorNumber": Number,
        "kitchenProcessCount": Number,
        "timestamp_ordered": Number,
        "report_date": String,
        "save_count": Number,
        "timestamp_saved": Number,
        "openSynced": Number,
        "modified": Number,
        "modified_human": String,
        "path": String
    }]
}
            

{
    "status": "OK",
    "ticketList": [{
        "id": 0,
        "change": 0,
        "tax": 244,
        "subtotal": 2500,
        "total": 2826,
        "list_tender": [],
        "paid_total": 0,
        "balance": 2826,
        "status": "OPEN",
        "qty": 0,
        "user_id": "4",
        "user_name": "GM",
        "terminal_id": "34",
        "tax_free": false,
        "service_fee": 0,
        "number": 202407033002,
        "created": 1720030777,
        "created_date": "07/03/2024",
        "created_time": "03:19:37 PM",
        "store_id": "",
        "customer_id": -1,
        "customer_group": 0,
        "type": "TICKET",
        "saved": 0,
        "buy_mode": "SALE",
        "destination": "TAKE-OUT",
        "version": 2,
        "list_tax": [],
        "list_subtotal": [],
        "terminal_number": "3",
        "register_number": "1",
        "table_number": "OUT",
        "table_name": "",
        "guest_count": 1,
        "customer": {},
        "cashAdjust": {
            "cash": 2744,
            "credit": 2826
        },
        "fee": 82,
        "tip": 0,
        "taxList": [
            244,
        ],
        "discount": 0,
        "discount_list": {},
        "adjust": 0,
        "paid": 0,
        "feeList": {
            "SURCHARGE": 82
        },
        "timestamp_modified": 1719604486,
        "logQueue": null,
        "xcode": "NGbPAdiqjrF14nuRLqcLH01R",
        "invoice_number": "202407030300200",
        "floorNumber": -1,
        "kitchenProcessCount": 1,
        "timestamp_ordered": 1720030800,
        "report_date": "20240703",
        "save_count": 1,
        "timestamp_saved": 1720030800,
        "openSynced": 1720030800,
        "modified": 1720998938,
        "modified_human": "07/14/2024 08:15:38 PM",
        "path": "C:\\CloudPOS_MAS281\\TABLE_TICKET\\$O3002!_$BOUT!"
    }]
}
            

6 - Special filter (tableNumber)

The best way to search tickets for an specific table is using “tableNumber” filter. However, this filter it also allows you to get the list of tickets from table groups (floors) using the floor name as value to search, instead of using the table number.

Request
Definitions Example

{
    "requestType": String,
    "actionType": String,
    "folder": String,
    "opts": {
        "tableNumber": String
    }
}
            

{
    "requestType": "ticket",
    "actionType": "getList",
    "folder": "TABLE_TICKET",
    "opts": {
        "tableNumber": "BAR"
    }
}
            
Response
Definitions Example

{
    "status": String,
    "ticketList": Object[]
}
            

{
    "status": "OK",
    "ticketList": []
}
            
Request
Definitions Example

{
    "requestType": String,
    "actionType": String,
    "folder": String,
    "opts": {
        "tableNumber": String
    }
}
            

{
    "requestType": "ticket",
    "actionType": "getList",
    "folder": "TABLE_TICKET",
    "opts": {
        "tableNumber": "4"
    }
}
            
Response
Definitions Example

{
    "status": String,
    "ticketList": [{
        "data": {
            "id": Number,
            "change": Number,
            "tax": Number,
            "subtotal": Number,
            "total": Number,
            "list_item": Object[],
            "list_tender": Object[],
            "paid_total": Number,
            "balance": Number,
            "status": String,
            "qty": Number,
            "user_id": Number,
            "user_name": String,
            "terminal_id": Number,
            "tax_free": Boolean,
            "service_fee": Number,
            "number": Number,
            "created": Number,
            "created_date": String,
            "created_time": String,
            "store_id": String,
            "customer_id": Number,
            "customer_group": Number,
            "type": String,
            "saved": Number,
            "buy_mode": String,
            "destination": String,
            "version": Number,
            "list_tax": Array,
            "list_subtotal": Array,
            "table_number": String,
            "table_name": String,
            "guest_count": Number,
            "customer": {
                "name": String,
                "phone": String
            },
            "seated": Number,
            "xcode": String,
            "invoice_number": String,
            "snapshot": String,
            "openSynced": Number,
            "terminal_number": String,
            "modified": Number,
            "modified_human": String
        }
    }]
}
            

{
    "status": "OK",
    "ticketList": [{
        "data": {
            "id": 0,
            "change": 0,
            "tax": 0,
            "subtotal": 0,
            "total": 0,
            "list_item": [],
            "list_tender": [],
            "paid_total": 0,
            "balance": 0,
            "status": "OPEN",
            "qty": 0,
            "user_id": 0,
            "user_name": "",
            "terminal_id": 0,
            "tax_free": false,
            "service_fee": 0,
            "number": 3005,
            "created": 1721005683,
            "created_date": "07/14/2024",
            "created_time": "10:08:03 PM",
            "store_id": "",
            "customer_id": -1,
            "customer_group": 0,
            "type": "",
            "saved": 0,
            "buy_mode": "SALE",
            "destination": "DINE-IN",
            "version": 2,
            "list_tax": [],
            "list_subtotal": [],
            "table_number": "4",
            "table_name": "A4",
            "guest_count": 2,
            "customer": {
                "name": "JOHN DOE",
                "phone": "1234567890"
            },
            "seated": 1721005683,
            "xcode": "I7cked2qMjUdvmm7l0Ykuaw6",
            "invoice_number": "202407140300500",
            "snapshot": "",
            "openSynced": 1721005683,
            "terminal_number": "3",
            "modified": 1721005683,
            "modified_human": "07/14/2024 10:08:03 PM"
        }
    }]
}
            

7 - Calculate Ticket Totals

"Calculate ticket totals, taxes, and fees without saving the ticket to the system."

Request
Definitions Example

{
    "requestType": String,
    "actionType": String,
    "ticket": Object
}
            

{
    "requestType": "ticket",
    "actionType": "calculate",
    "ticket": {
        "subtotal": 1000,
        "list_item": [...],
        "destination": "DINE-IN"
    }
}
            
Response
Definitions Example

{
    "status": String,
    "ticket": Object
}
            

{
    "status": "OK",
    "ticket": {
        "subtotal": 1000,
        "tax": 82,
        "total": 1082,
        "list_item": [...],
        ...
    }
}
            

8 - Process and Save Ticket

"Calculate ticket totals and save the ticket to the system, triggering kitchen processing."

Request
Definitions Example

{
    "requestType": String,
    "actionType": String,
    "ticket": Object
}
            

{
    "requestType": "ticket",
    "actionType": "process",
    "ticket": {
        "subtotal": 1000,
        "list_item": [...],
        "destination": "DINE-IN"
    }
}
            
Response
Definitions Example

{
    "status": String,
    "ticket": Object
}
            

{
    "status": "OK",
    "ticket": {
        "id": 123,
        "number": 3005,
        "subtotal": 1000,
        "tax": 82,
        "total": 1082,
        ...
    }
}
            

9 - Get Print Template for Receipt

"Retrieve the formatted print template for a ticket receipt."

Request
Definitions Example

{
    "requestType": String,
    "actionType": String,
    "ticket": Object,
    "printTemplateType": String
}
            

{
    "requestType": "ticket",
    "actionType": "getPrintTemplateReceipt",
    "ticket": {...},
    "printTemplateType": "CUSTOMER_RECEIPT"
}
            
Response
Definitions Example

{
    "status": String,
    "printTemplate": String
}
            

{
    "status": "OK",
    "printTemplate": "...[formatted receipt template]..."
}
            

Request Definitions
Definition Type Description
actionType String (["getList", "calculate", "process", "getPrintTemplateReceipt"]) Unique action identifier for your request.
folder String (["TABLE_TICKET", "SALES_CLOSED", "SALES_CREDIT"] or "SALES_CLOSED\YYYYMMDD") System folder where the request will search. For SALES_CLOSED, you can append a backslash and date (YYYYMMDD format) to search specific date folders (e.g., "SALES_CLOSED\20250926").
opts Object Options or parameters used to filter or refine search queries when retrieving ticket information from the system.
Response Definitions
Definition Type Description
status String Request status.
ticketList Object[] A collection of order tickets with details like items, prices, and payment status.