Panel
POST
Pulso del período
POST /api/dashboard/get-operations-summary
Descripción
Indicadores de venta, ocupación de sala y propinas del período elegido.
Detalles
Entrega los totales de venta del período, la ocupación del salón (pico simultáneo y mesas utilizadas), el tiempo promedio en mesa y la cantidad de meseros que atendieron. Incluye el resumen de propinas con el ranking de meseros y su evolución, el flujo de ventas por día de los últimos días y por hora del día. Si no se envía rango, se asume la última semana en la zona del restaurante.
Permisos requeridos
dashboards.module
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| dateFrom | string | No |
min:10
max:10
|
| dateTo | string | No |
min:10
max:10
|
Ejemplo de request
curl -X POST https://app.restofy.co/api/dashboard/get-operations-summary \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>"
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-07-15T13:20:48Z
HTTP 200
Request
[]
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"range": {
"dateFrom": "2026-07-09",
"dateTo": "2026-07-15"
},
"summary": {
"salesCents": 0,
"ordersCount": 0
},
"occupancy": {
"totalTables": 15,
"peakOccupied": 1,
"tablesUsed": 1,
"peakPercent": 7
},
"indicators": {
"guestsCount": 0,
"avgTableMinutes": 0,
"waitersCount": 0
},
"tips": {
"totalCents": 0,
"byActor": [],
"byDay": [
{
"label": "9 jul",
"tipsCents": 0
},
{
"label": "10 jul",
"tipsCents": 0
},
{
"label": "11 jul",
"tipsCents": 0
},
{
"label": "12 jul",
"tipsCents": 0
},
{
"label": "13 jul",
"tipsCents": 0
},
{
"label": "14 jul",
"tipsCents": 0
},
{
"label": "15 jul",
"tipsCents": 0
}
]
},
"dailySales": [
{
"label": "1 jul",
"salesCents": 0,
"ordersCount": 0
},
{
"label": "2 jul",
"salesCents": 0,
"ordersCount": 0
},
{
"label": "3 jul",
"salesCents": 0,
"ordersCount": 0
},
{
"label": "4 jul",
"salesCents": 0,
"ordersCount": 0
},
{
"label": "5 jul",
"salesCents": 0,
"ordersCount": 0
},
{
"label": "6 jul",
"salesCents": 0,
"ordersCount": 0
},
{
"label": "7 jul",
"salesCents": 0,
"ordersCount": 0
},
{
"label": "8 jul",
"salesCents": 0,
"ordersCount": 0
},
{
"label": "9 jul",
"salesCents": 0,
"ordersCount": 0
},
{
"label": "10 jul",
"salesCents": 0,
"ordersCount": 0
},
{
"label": "11 jul",
"salesCents": 0,
"ordersCount": 0
},
{
"label": "12 jul",
"salesCents": 0,
"ordersCount": 0
},
{
"label": "13 jul",
"salesCents": 0,
"ordersCount": 0
},
{
"label": "14 jul",
"salesCents": 0,
"ordersCount": 0
},
{
"label": "15 jul",
"salesCents": 0,
"ordersCount": 0
}
],
"salesByHour": [
{
"hour": 0,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 1,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 2,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 3,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 4,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 5,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 6,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 7,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 8,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 9,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 10,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 11,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 12,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 13,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 14,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 15,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 16,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 17,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 18,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 19,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 20,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 21,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 22,
"salesCents": 0,
"ordersCount": 0
},
{
"hour": 23,
"salesCents": 0,
"ordersCount": 0
}
]
}
}