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é

Gros plan sur les filtres de statut : En attente, Confirmé, Terminé, Annulé, chacun avec son nombre de RDV

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, ou c'est toi qui as créé le RDV (bouton « + Nouveau RDV », série récurrente, import Google Agenda) : dans ce cas il naît directement Confirmée, sans passer par En attente (tu n'as pas à accepter ton propre agenda).

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, filtrable Tout / Terminées / Annulées depuis août 2026, avec sur chaque ligne qui a annulé et pourquoi (« Annulée côté client(e) — un imprévu »). Les annulations antérieures à août 2026 n'ont pas ce détail.

Conséquences :

  • Email envoyé selon la source : `cancelled_by_client`, `cancelled_by_provider`, `cancelled_auto`
  • Notification push sur ton téléphone quand ce n'est pas toi qui annules (⚠️ persistante si le RDV était à moins de 24 h)
  • Le créneau est libéré (nouvelle réservation possible)
  • Sync Google Calendar : event supprimé ou marqué annulé
  • Relance automatique à J+3 si le/la client(e) n'a pas repris RDV (cf. Quand un RDV est 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)
↩️ Retour en arrière possible (depuis juillet 2026) : un RDV `cancelled` à date future peut être rétabli d'un clic via le bouton « ↩ Rétablir » de l'Historique (refusé si le créneau a été repris entre-temps). Pour un RDV à date passée, il faut re-réserver via ton lien. Détails : Annuler un RDV côté pro.

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).