Restofy Docs
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
            }
        ]
    }
}