Point of sale shifts and reports (add-on)
Shifts with their X and Z reports, the till sale behind an order, and the sales report.
All take kahunacart.pos.manage. A closed shift answers the Z report as it was frozen at closing, and an open one the X report so far. See Shifts and cash and Reports.
List the shifts
/api/v1/kahunacart/pos/admin/shifts
Till shifts, newest first: register, who opened and closed each and when, the float, and for a closed shift the cash counted, expected and the difference.
Parameters
| Name | Type | Description |
|---|---|---|
| register_id optional | integer | Only this register's shifts. |
| from optional | string | Opened on or after this date (2026-10-14) or Unix time. |
| to optional | string | Opened up to the end of this date, or before this Unix time. |
| page optional | integer | At least 1. |
| per_page optional | integer | At least 1, at most 200. |
Get a shift with its report
/api/v1/kahunacart/pos/admin/shifts/{id}
One shift in full: its Z report as it closed (or the X report so far while it is open), with sales and tenders, refunds given at the till, discounts, tax, sales per staff member, voided and parked sales, the cash worked out (float, cash taken, cash refunds, cash in and out, expected, counted, difference), each cash movement with its reason, and every sale rung up on it.
Parameters
| Name | Type | Description |
|---|---|---|
| id required | integer | The shift id. |
Get the counter sale behind an order
/api/v1/kahunacart/pos/admin/orders/{id}
What the till knows about one order: the register it was rung up on, the shift, who served and when. Answers sale null for an order that was not sold through the till, including a counter sale made with create_order, which has no shift.
Parameters
| Name | Type | Description |
|---|---|---|
| id required | integer | The order id. |
Get the sales report
/api/v1/kahunacart/pos/reports
Till sales over a period, grouped by register, staff member, location or tender: how many sales and what they came to, refunds given at a till, discounts and tax, with totals and the cash difference of every shift closed in the period. Defaults to the last 30 days by register.
Parameters
| Name | Type | Description |
|---|---|---|
| group optional | string |
One of:
register, staff, location, tender |
| from optional | string | From this date (2026-10-01) or Unix time. |
| to optional | string | To the end of this date, or this Unix time. |
The till's own routes, which a paired tablet calls, are not tools. They are listed on Developers.