Bientôt disponible sur Salesforce AppExchange

Éviter les doubles réservations dans Salesforce

Une règle de validation ne voit pas les autres enregistrements. Cette seule limite explique pourquoi la plupart des systèmes de réservation Salesforce découvrent leurs conflits avec un jour de retard.

Publié le 21 juillet 2026 · Mis à jour le 21 octobre 2026 · MultiDatePick

La double réservation est un problème de timing. Le temps que Salesforce standard puisse vous dire que la salle est prise, l'utilisateur l'a déjà choisie, a rempli le reste du formulaire et est passé à autre chose.

Pourquoi les outils évidents ne suffisent pas

OutilCe qu'il sait fairePourquoi ça ne suffit pas
Règle de validationContrôler les champs de l'enregistrement en cours d'enregistrementNe peut interroger aucun autre enregistrement
Règle de doublonRapprocher des valeurs de champs identiques09:00–10:00 et 09:30–10:30 se chevauchent sans être identiques
Flux déclenché par un enregistrementInterroger et bloquer à l'enregistrementIntervient après la validation de l'utilisateur ; fragile en masse s'il est écrit naïvement
Code personnaliséContrôle total, logique de chevauchement correcteRefuse toujours à l'enregistrement, et le code est désormais à votre charge

Tous ont le même défaut : ils rejettent l'utilisateur après son choix. Même une solution sur mesure correcte finit par afficher « ce créneau est pris, veuillez réessayer », ce qui est pire que de ne jamais proposer le créneau.

Chevauchement n'est pas égalité

Les règles de doublon sont tentantes, alors voici la règle. Deux réservations sont en conflit quand l'une commence avant la fin de l'autre et se termine après son début. Une réservation de 09:00 à 10:00 et une autre de 09:30 à 10:30 se chevauchent d'une demi-heure sans partager une seule valeur de champ. Toute approche fondée sur des valeurs identiques passera à côté, à chaque fois.

Conflit et capacité sont deux problèmes différents

On les confond souvent.

Un conflit

Deux demandes pour une ressource qui n'en accepte qu'une. Une salle, un recruteur, un véhicule.

Capacité

Une ressource qui en accepte plusieurs. La question est combien de places restent. Un cours de vingt places, une garde qui demande quatre infirmiers, un espace de soixante postes de travail.

Traiter une ressource à capacité comme une ressource à conflit, c'est ne jamais pouvoir réserver la deuxième personne. Traiter une ressource à conflit comme une capacité de un fonctionne en théorie, mais vous perdez les compteurs sur lesquels vous voudrez sans doute faire des rapports.

Démo animée de la heatmap d'occupation MultiDatePick dans Salesforce : les conseillers sur le côté avec la capacité réservée par jour, le survol d'une journée complète, puis un clic qui ouvre la semaine de ce conseiller
La capacité de toute une équipe : réservé sur capacité par jour, jours en surréservation cerclés d'orange.

Trois comportements raisonnables

« Bloquer » n'est pas toujours la bonne réponse. Quand quelqu'un sélectionne douze dates et que deux sont en conflit, rejeter toute la saisie est brutal. Un bon système laisse le choix :

Bloquer

Refuser l'enregistrement et signaler le conflit. Le bon choix quand chaque date compte.

Ignorer

Enregistrer les dix dates libres, signaler les deux qui ne l'étaient pas. En général, le choix le plus humain pour une sélection en masse.

Autoriser

Accepter le chevauchement en connaissance de cause. Certaines entreprises surréservent volontairement.

Calendrier de réservation Salesforce avec badges de capacité et détection des conflits qui évite les doubles réservations sur chaque créneau
Des compteurs de capacité en direct sur chaque créneau : le conflit se voit avant le moindre clic.

La vraie solution intervient plus tôt

Tous les mécanismes ci-dessus agissent au moment de l'enregistrement. La solution consiste à déplacer le contrôle au moment de la sélection : interroger l'existant au chargement du calendrier, l'afficher sur la grille et ne jamais proposer un créneau déjà pris. Les contrôles à l'enregistrement restent en filet de sécurité pour le vrai cas de concurrence où deux personnes regardent le même créneau libre, mais ils ne sont plus la première ligne de défense.

Comment MultiDatePick s'y prend. Il lit les enregistrements existants à l'affichage du calendrier, montre les créneaux pris comme pris, compte la capacité avec un badge réservé/capacité en direct et revérifie les conflits à l'enregistrement. Conflict Behavior (Comportement en cas de conflit) permet de bloquer, d'ignorer ou d'autoriser. Dans un flux d'écran (Screen Flow), les sorties Conflict Dates et Successful Bookings Count indiquent à l'écran suivant exactement ce qui s'est passé.

Arrêtez les doubles réservations au moment du choix

Réservez un créneau dans la démo en direct et regardez les horaires pris disparaître de la grille.

  • $20/utilisateur/mois, toutes les fonctionnalités
  • Essai gratuit de 30 jours, sans carte
  • 100 % natif Salesforce
  • Sans Apex
  • Bientôt disponible sur Salesforce AppExchange