Rapports
Base path: /api/reporting
Tous les endpoints de rapports nécessitent l'authentification Admin.
GET /reporting/sales-summary
Chiffre d'affaires total de toutes les commandes POS.
Response: { "total_sales": 12450.00 }
GET /reporting/booking-count
Nombre total de rendez-vous créés.
Response: { "booking_count": 384 }
GET /reporting/item-breakdown
Top 10 produits et top 10 services par chiffre d'affaires POS.
Query parameters: from (date), to (date)
GET /reporting/staff-performance
Chiffre d'affaires, rendez-vous terminés et note moyenne par employé.
Query parameters: from, to
[
{
"id": 2,
"name": "Lisa",
"revenue": 3200.00,
"booking_count": 48,
"avg_rating": "4.7",
"review_count": 22
}
]
GET /reporting/retention
Analyse de fidélisation : clients récurrents, liste de désabonnement, fréquence de visite moyenne.
Query parameters: from, to, churn_days (défaut : 90)
GET /reporting/heatmap
Nombre de rendez-vous par jour de la semaine et heure pour une heatmap des heures de pointe.
Response: Tableau de { day, hour, count }. day utilise DAYOFWEEK() de MariaDB : 1=Dimanche, 2=Lundi, ..., 7=Samedi.
GET /reporting/forecast
Prévision de chiffre d'affaires basée sur les rendez-vous planifiés.
Query parameters: days (défaut : 30)
GET /reporting/promotions
Statistiques d'utilisation des promotions.
Query parameters: from, to
GET /reporting/gift-cards
Vue d'ensemble des cartes cadeaux : vendues/valeur et solde en cours.
Query parameters: from, to
Filtrage par date
Tous les endpoints acceptent from et to au format AAAA-MM-JJ. to est traité comme la fin de journée (23:59:59).