Statistiques : ce que le commerçant paiera pour voir
Les chiffres qui justifient l’abonnement : temps d’attente réel, heures de pointe et clients partis avant leur tour.
Module 5 · Les fonctionnalités qui font vendre
Objectif du chapitre
Une page /dashboard/[queueId]/stats affiche le temps d’attente moyen, l’affluence par heure et le taux d’absence sur 7 jours. Durée : 1 h · 85 % pratique.
Prérequis : prévenir le client (chapitre 19) et la requête d’affluence du chapitre 11.

Étape 1 : la vue SQL
create or replace view public.queue_daily_stats with (security_invoker = true) as
select
queue_id,
date_trunc('day', created_at) as day,
count(*) as tickets,
round(avg(extract(epoch from (called_at - created_at)) / 60)) as avg_wait_minutes,
round(100.0 * count(*) filter (where status = 'missed') / nullif(count(*), 0)) as missed_pct
from public.tickets
group by queue_id, date_trunc('day', created_at);
security_invoker = true fait respecter la RLS des tickets à la vue : chaque commerçant ne voit que ses chiffres.
La suite de cette leçon est réservée aux abonnés
Les 3 premières leçons de chaque formation sont gratuites. Débloquez la suite pour continuer.
Déjà abonné ? Se connecter
