Doppelbuchungen in Salesforce verhindern
Validierungsregeln sehen keine anderen Datensätze. Diese eine Einschränkung ist der Grund, warum die meisten Buchungssysteme in Salesforce ihre Konflikte einen Tag zu spät entdecken.
Doppelbuchung ist ein Timing-Problem. Bis irgendetwas im Standard-Salesforce Ihnen sagen kann, dass der Raum belegt ist, hat der Benutzer ihn schon gewählt, den Rest des Formulars ausgefüllt und ist weitergegangen.
Warum die naheliegenden Werkzeuge nicht funktionieren
| Werkzeug | Was es kann | Warum es nicht reicht |
|---|---|---|
| Validierungsregel | Felder des gespeicherten Datensatzes prüfen | Kann andere Datensätze überhaupt nicht abfragen |
| Duplikatsregel | Auf gleiche Feldwerte abgleichen | 9:00 bis 10:00 und 9:30 bis 10:30 überschneiden sich, sind aber nicht gleich |
| Datensatzgesteuerter Flow | Beim Speichern abfragen und blockieren | Greift erst, nachdem der Benutzer sich festgelegt hat; naiv gebaut nicht massentauglich |
| Eigener Code | Volle Kontrolle, korrekte Überschneidungslogik | Lehnt trotzdem erst beim Speichern ab, und jetzt gehört Ihnen der Code |
Alle folgen demselben Muster: Sie weisen den Benutzer nach der Auswahl ab. Selbst eine korrekte Eigenentwicklung erzeugt „Dieses Zeitfenster ist belegt, bitte erneut versuchen“, und das ist schlechter, als das Zeitfenster gar nicht erst anzubieten.
Überschneidung ist nicht Gleichheit
Duplikatsregeln sind verlockend, deshalb hier die Regel. Zwei Buchungen stehen in Konflikt, wenn eine beginnt, bevor die andere endet, und endet, nachdem die andere begonnen hat. Eine Buchung von 9:00 bis 10:00 und eine von 9:30 bis 10:30 überschneiden sich um eine halbe Stunde, haben aber keinen einzigen identischen Feldwert. Jeder Ansatz, der auf gleiche Werte abgleicht, übersieht das jedes Mal.
Konflikt und Kapazität sind verschiedene Probleme
Oft werden sie als dasselbe behandelt.
Ein Konflikt
Zwei Dinge konkurrieren um eine Ressource, die nur eines aufnehmen kann. Ein Raum, ein Interviewer, ein Fahrzeug.
Kapazität
Eine Ressource, die mehrere aufnehmen kann. Die Frage ist, wie viele noch frei sind. Ein Kurs mit zwanzig Plätzen, eine Schicht mit vier Pflegekräften, ein Arbeitsplatzbereich mit sechzig Plätzen.
Wer eine Kapazitätsressource wie eine Konfliktressource behandelt, kann nie die zweite Person buchen. Wer eine Konfliktressource als Kapazität von eins behandelt, kommt technisch zum Ziel, verliert aber die Zahlen, über die Sie vermutlich berichten wollen.
Drei sinnvolle Verhaltensweisen
„Blockieren“ ist nicht immer richtig. Wählt jemand zwölf Termine und zwei davon überschneiden sich, ist es unfreundlich, die ganze Eingabe abzulehnen. Gute Systeme lassen die Wahl:
Blockieren
Speichern verweigern und die Überschneidung melden. Richtig, wenn jeder Termin zählt.
Überspringen
Die zehn freien speichern, die zwei belegten melden. Meist der menschenfreundliche Standard für Mehrfachauswahl.
Zulassen
Die Überschneidung bewusst erlauben. Manche Unternehmen überbuchen absichtlich.
Die eigentliche Lösung setzt früher an
Jeder der Mechanismen oben greift beim Speichern. Die Lösung ist, die Prüfung auf den Zeitpunkt der Auswahl vorzuziehen: beim Laden des Kalenders abfragen, was schon existiert, es ins Raster zeichnen und nie ein Zeitfenster anbieten, das schon vergeben ist. Prüfungen beim Speichern laufen weiter als Absicherung für den echten Wettlauf, wenn zwei Personen dasselbe freie Zeitfenster sehen, aber sie sind nicht mehr die erste Verteidigungslinie.
Doppelbuchungen im Moment der Auswahl verhindern
Buchen Sie in der Live-Demo ein Zeitfenster und sehen Sie, wie belegte Zeiten aus dem Raster verschwinden.
- $20/Benutzer/Monat, alle Funktionen
- 30 Tage kostenlos, ohne Kreditkarte
- 100 % nativ in Salesforce
- Ohne Apex
- Demnächst auf der Salesforce AppExchange