Attendance Stats — Order Types
Paginated on-demand breakdown of the attendance window's orders grouped by order type (DINING/TAKE_AWAY/…). full=true ignores the report filter and splits each type by transaction payment-state (PAID/UNPAID); full=false applies filter.types/filter.transaction and collapses to one row per type. Paginated via page/per_page.
Authorization
default You can retrieve your token by logging in.
In: header
Path Parameters
Query Parameters
When true, ignore the report filter and group by dimension x payment-state (rows with count>0). When false, apply the filter and collapse to one row per dimension value.
Page number for pagination. Must be at least 1.
Rows per page (max 100). Must be at least 1. Must not be greater than 100.
When false, scope to this attendance user. When true, whole branch (all cashiers).
Order statuses to include. Applied only when full=false.
Order types to include. Applied only when full=false.
Transaction statuses (PAID/UNPAID) to include. Applied only when full=false.
Header Parameters
API contract version to target. See the Changelog for what changed in each version.
"2.0.0""2.3.0" | "2.2.0" | "2.1.0" | "2.0.0"Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://api.flavours.sa/dev/api/v2/attendances/et/stats/types?full=true&page=1&per_page=60&filter.entirely=false&filter.statuses=PROCESS&filter.types=DINING&filter.transaction.statuses=PAID" \ -H "X-API-Version: 2.3.0"{
"meta": {
"code": 200,
"status": "success",
"message": "Data Loaded Successfully"
},
"data": {
"current_page": 1,
"data": [
{
"key": "DINING",
"count": 1,
"total": "100.00",
"breakdown": [
{
"state": "PAID",
"count": 1,
"total": "100.00"
}
]
},
{
"key": "TAKE_AWAY",
"count": 1,
"total": "50.00",
"breakdown": [
{
"state": "UNPAID",
"count": 1,
"total": "50.00"
}
]
}
],
"first_page_url": "http://localhost:8000/api/v2/attendances/2/stats/types?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "http://localhost:8000/api/v2/attendances/2/stats/types?page=1",
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "http://localhost:8000/api/v2/attendances/2/stats/types?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"next_page_url": null,
"path": "http://localhost:8000/api/v2/attendances/2/stats/types",
"per_page": 20,
"prev_page_url": null,
"to": 2,
"total": 2
}
}{
"meta": {
"code": 401,
"status": "error",
"message": "Unauthenticated."
},
"data": null
}{
"meta": {
"code": 403,
"status": "error",
"message": "Unauthorized."
},
"data": null
}{
"meta": {
"code": 404,
"status": "error",
"message": "Resource not found."
},
"data": null
}{
"meta": {
"code": 500,
"status": "error",
"message": "Internal server error."
},
"data": null
}Attendance Stats — Order Statuses GET
Paginated on-demand breakdown of the attendance window's orders grouped by order status. full=true ignores the report filter and splits each status by transaction payment-state (PAID/UNPAID); full=false applies filter.statuses/filter.transaction and collapses to one row per status. Paginated via page/per_page.
Attendance Stats — Payments GET
Paginated on-demand breakdown of payments collected in the attendance window grouped by payment method (enriched with method name/logo). full=true splits each method into SUCCESS/PENDING/RETURN buckets (rows with count>0); full=false collapses to one row per method. Paginated via page/per_page.