Une réservation SLOXO a 4 statuts possibles stockés dans la base, avec leur libellé d'affichage :

CodeLibelléCouleur badge
`pending`En attentejaune
`confirmed`Confirméebleu clair
`cancelled`Annuléerose
`completed`Terminéegris

Tu vois ces statuts partout : Réservations, Calendrier, Tournée du jour, et l'historique.

La page Réservations : un bandeau signale les demandes en attente, chaque RDV porte son badge de statut coloré

Statut "En attente" (pending)

Quand : la réservation vient d'être envoyée depuis ton lien.

Visible côté pro : badge jaune "En attente". Un point rouge clignotant apparaît sur l'entrée Mon agenda du menu (RDV sur mobile), avec un compteur (1, 2, 9+).

Action attendue : tu dois cliquer ✓ Accepter ou ✕ Refuser.

Un RDV « En attente » avec son badge jaune et les boutons Accepter / Refuser

Gros plan sur le badge jaune « En attente » d'une demande à traiter

Conséquences :

  • Un email "Demande de RDV envoyée" a été envoyé côté client(e)
  • Si ton Google Agenda est connecté, un event marqué "[En attente]" est créé (il devient un vrai RDV à la confirmation)
  • Sans réponse de ta part, la demande s'annule automatiquement 2 h avant le RDV (pour ne laisser personne sans réponse)

Statut "Confirmée" (confirmed)

Quand : tu as cliqué Accepter.

Visible côté pro : badge bleu clair "Confirmée".

Conséquences :

  • Le/La client(e) reçoit un email de confirmation (template "confirmed")
  • Le RDV apparaît dans Tournée du jour au moment voulu
  • Sync Google Calendar : event créé/mis à jour avec le statut confirmé
  • Si c'est ton 1er RDV confirmé : événement `first_confirmed` enregistré (score Démarrer +10 pts)
  • Si c'est ton 3e : événement `three_confirmed` (+10 pts)

Statut "Annulée" (cancelled)

Quand :

  • Tu as cliqué Refuser sur une demande pending
  • Tu as cliqué Annuler sur un RDV confirmé
  • Le/La client(e) a annulé via le lien dans son email
  • Annulation automatique : une demande En attente non traitée bascule en annulée 2 h avant le RDV (raison `auto_2h`, email `cancelled_auto`)
Visible côté pro : badge rose "Annulée". Le RDV passe dans la section Historique.

Conséquences :

  • Email envoyé selon la source : `cancelled_by_client`, `cancelled_by_provider`, `cancelled_auto`
  • Le créneau est libéré (nouvelle réservation possible)
  • Sync Google Calendar : event supprimé ou marqué annulé
⚠️ Pas de statut "Refusé" séparé. Refuser une demande pending = annuler. Le mot "Refuser" est utilisé seulement dans l'UI quand le RDV n'a pas encore été confirmé. Le code stocke le même `cancelled`.

Statut "Terminée" (completed)

Quand : automatiquement. Un cron nocturne (~4h du matin) bascule en Terminée tous les RDV Confirmés dont la date est passée (`completed_via='auto_cron'`).

Visible côté pro : badge gris "Terminée" dans l'Historique.

Conséquences : c'est un statut historique, pas d'action automatique. Sert au calcul du ROI et à la pertinence des statistiques.

Cycle de vie typique

  • Cas standard : `pending` → `confirmed` → (RDV honoré) → `completed`
  • Refus : `pending` → `cancelled`
  • Annulation : `pending` → `confirmed` → `cancelled` (par le/la client(e) ou par toi)
⚠️ Pas de retour en arrière : un RDV `cancelled` ne peut pas être ré-activé. Il faut re-réserver via ton lien.

Questions fréquentes

Mes RDV "Annulés" restent-ils dans ma liste ? Oui, dans la section Historique en bas de la page Réservations (limité aux 50 plus récents).

Existe-t-il un statut "No-show" (client(e) non venu(e)) ? Pas en natif. Tu peux annuler manuellement après coup et noter dans l'historique. Pas d'indicateur dédié.

Mon ROI compte-t-il les RDV annulés ? Le ROI est calculé sur les RDV confirmés et terminés (`confirmed` + `completed`). Les annulés et En attente sont exclus.

Quel statut voit ton/ta client(e) ? Un email part à chaque transition. Sur le lien d'annulation/confirmation, le statut courant s'affiche.

Le passage automatique à `completed` est-il fait par SLOXO ? Oui, automatiquement : un cron nocturne (~4h) bascule chaque Confirmé à date passée en Terminé. Tu n'as rien à marquer à la main (tu peux quand même le faire d'un tap via Marquer fait depuis ta Tournée).