Saltar al contenido principal

Informes

Base path: /api/reporting

Todos los endpoints de informes requieren autenticación Admin.

GET /reporting/sales-summary

Ingresos totales de todos los pedidos POS.

Response: { "total_sales": 12450.00 }


GET /reporting/booking-count

Número total de citas creadas.

Response: { "booking_count": 384 }


GET /reporting/item-breakdown

Top 10 productos y top 10 servicios por ingresos en POS.

Query parameters: from (fecha), to (fecha)


GET /reporting/staff-performance

Ingresos, citas completadas y valoración media por empleado.

Query parameters: from, to

[
{
"id": 2,
"name": "Lisa",
"revenue": 3200.00,
"booking_count": 48,
"avg_rating": "4.7",
"review_count": 22
}
]

GET /reporting/retention

Análisis de retención de clientes: clientes recurrentes, lista de abandono, frecuencia media de visitas.

Query parameters: from, to, churn_days (por defecto 90)


GET /reporting/heatmap

Número de citas por día de la semana y hora para un mapa de calor de horas punta.

Response: Array de { day, hour, count }. day usa DAYOFWEEK() de MariaDB: 1=Domingo, 2=Lunes, ..., 7=Sábado.


GET /reporting/forecast

Previsión de ingresos basada en citas programadas.

Query parameters: days (por defecto 30)


GET /reporting/promotions

Estadísticas de uso de promociones.

Query parameters: from, to


GET /reporting/gift-cards

Resumen de tarjetas regalo: vendidas/valor y saldo pendiente.

Query parameters: from, to


Filtrado por fecha

Todos los endpoints aceptan from y to en formato AAAA-MM-DD. to se trata como fin del día (23:59:59).