Zum Inhalt springen

Terminbuchung

Mit der Terminbuchung buchen Kunden selbst einen Termin bei einem Agenten oder einer Abteilung, per Telefon, Microsoft Teams oder Google Meet. Freie Zeiten ergeben sich aus Arbeitszeiten und Kalendern, die Bestätigung samt Kalenderdatei geht automatisch raus. Diese Seite erklärt, wie Admins Terminarten einrichten, was Besucher sehen und was nach der Buchung passiert.

  • Terminarten anlegen: Verwaltung › Einstellungen › “Termine” › “Terminarten”, nur für Admins.
  • Fristen, Erinnerungen und Zeitzone für alle Terminarten: Verwaltung › Einstellungen › “Termine” › “Terminbuchung: Einstellungen”.
  • Eigenen Kalender verbinden: Avatar-Menü › “Mein Profil” › Karte “Kalender” mit “Mit Microsoft anmelden” und “Weiter mit Google”. Das macht jeder Agent selbst.
  • Gebuchte Termine sehen Agenten unter Kalender › Termine (“Meine Termine” mit den Reitern “Kommende”, “Vergangene”, “Abgesagt”).

Verwandte Einstellungen: Terminarten, Terminbuchung: Einstellungen, Mein Profil.

Liste “Terminarten” mit Buchungslink, Badges und Sprache je Terminart

Jede aktive Terminart hat einen öffentlichen Buchungslink nach dem Muster https://<Ihre Adresse>/termin/<Kurzname>. Den Link kopieren Sie direkt aus der Liste “Terminarten”. Er eignet sich für E-Mail-Signaturen, Visitenkarten und Links auf Ihrer Website.

Zusätzlich lässt sich dieselbe Terminart in eine eigene Webseite einbauen. Dazu öffnen Sie die Terminart, aktivieren unter “Auf Ihrer Website einbetten” die Option “Einbetten erlauben” (Standard: aus) und klicken “Einbettung speichern”. Danach erscheint ein Zwei-Zeilen-Snippet mit “Snippet kopieren”, das Ihr Web-Team an der gewünschten Stelle einfügt. Besucher buchen dann, ohne Ihre Website zu verlassen.

Beide Wege bestehen parallel: Der Buchungslink funktioniert unabhängig davon weiter, ob die Einbettung erlaubt ist. Umbuchen und Absagen laufen in beiden Fällen über den persönlichen Link aus der Bestätigungs-E-Mail, der auf Ihre 5sDesk-Adresse führt. Im eingebetteten Widget sehen Besucher nach der Buchung deshalb nur den Hinweis “Zum Verlegen oder Absagen nutzen Sie den Link in Ihrer Bestätigungs-E-Mail.”

Jede Terminart hat einen eigenen Schlüssel, der im Snippet steht. Er ist die Zugriffsschranke für die Einbettung und hat mit dem Buchungslink nichts zu tun.

  • “Erlaubte Adressen (eine je Zeile)”: Leer bedeutet, das Snippet darf auf jeder Website stehen. Tragen Sie Adressen wie https://www.kunde.de ein, werden Buchungen von anderen Adressen abgewiesen, nicht nur die Antwort unterdrückt. Anders als bei Formularen ist diese Liste also ein echter Schutz.
  • “Schlüssel erneuern”: Erzeugt nach Rückfrage einen neuen Schlüssel. Bereits eingebaute Snippets hören sofort auf zu funktionieren und müssen ersetzt werden. Termine und Buchungslink bleiben unberührt. Sinnvoll, wenn das Snippet von einer fremden Seite kopiert wurde.
  • Abschalten: “Einbetten erlauben” abwählen oder die Terminart deaktivieren. Das Snippet zeigt dann einen Fehler, der Buchungslink ändert sich nicht.
  • Eigener Bereich (Shadow DOM): Das Widget läuft abgeschottet vom Stylesheet Ihrer Website. Ab einer Breite von 1024 Pixeln seines Containers wechselt es in ein zweispaltiges Layout, darunter in eine Spalte.
  • Ladefehler: Kann das Widget nicht geladen werden (Schlüssel erneuert, Einbettung abgeschaltet, Terminart inaktiv), sehen Besucher “Die Terminbuchung konnte nicht geladen werden.” mit dem Link “Zur Buchungsseite”.

Abschnitt “Auf Ihrer Website einbetten” mit Snippet, “Snippet kopieren” und “Schlüssel erneuern”

Im Formular der Terminart formulieren Sie, was Besucher lesen:

Feld Wo es erscheint
“Einleitungstext (Buchungsseite)” Oben auf der Buchungsseite und im Widget.
“Hilfetext bei der Modus-Auswahl” Unter der Frage “Wie soll der Termin stattfinden?”.
“Beschriftung des Nachrichtenfelds” Statt “Nachricht (optional)”.
“Hilfetext beim Nachrichtenfeld” Unter dem Nachrichtenfeld.
“Nachricht ist Pflichtfeld” Erzwingt eine Nachricht (“Bitte eine Nachricht angeben.”).
“Text der Bestätigungsseite” Auf der Seite “Vielen Dank!” direkt nach der Buchung.

Eine Terminart hat genau eine “Sprache der Terminart”. Sie gilt für Buchungsseite, Einbettung, Bestätigung und alle Kunden-Mails, unabhängig von der Browsersprache des Besuchers. Für eine weitere Sprache erzeugen Sie mit “Kopie erstellen” oder “Kopieren & mit KI übersetzen” eine zweite Terminart. Die Kopie übernimmt Besitzer, Zeiten, Modi und Einbettung, startet aber inaktiv (Meldung “Kopie angelegt. Sie ist noch inaktiv”, bitte Texte prüfen und dann aktivieren) und bekommt einen eigenen Buchungslink und einen eigenen Schlüssel.

Eine Terminart gehört entweder “Einzelnem Agenten” oder einer “Abteilung (Pool)”. Ob Termine angeboten werden, hängt vom Kalender der beteiligten Agenten und den erlaubten Modi ab:

  • Der 5sDesk-Kalender ist bei jedem Agenten immer vorhanden. Für “Telefon” braucht es keine weitere Verbindung.
  • “Microsoft Teams” kann nur ein Agent anbieten, der unter “Mein Profil” › “Kalender” Microsoft verbunden hat.
  • “Google Meet” kann nur ein Agent anbieten, der Google verbunden hat.
  • Mindestens ein Modus muss erlaubt sein.

Die Liste “Terminarten” zeigt dazu die Badges “Inaktiv” und “Nicht buchbar” sowie den Hinweis “Kein zuständiger Agent kann … anbieten (fehlender Microsoft- bzw. Google-Kalender).” Im Pool blendet das Formular je Zeitpunkt nur die Modi ein, die mindestens ein dort freier Agent anbieten kann.

Arbeitszeiten sind keine Voraussetzung. Hat ein Agent keine Arbeitszeiten hinterlegt, gilt er als rund um die Uhr buchbar. Die Liste warnt dann: “Für mindestens eine aktive Terminart sind keine Arbeitszeiten hinterlegt - sie ist aktuell rund um die Uhr buchbar. Arbeitszeiten lassen sich in der Nutzerverwaltung festlegen; wer die Selbstpflege hat, auch im eigenen Profil.”

Was Besucher sehen, wenn es keine freien Zeiten gibt (egal aus welchem Grund): “Für diese Terminart ist aktuell keine Online-Buchung möglich. Bitte direkt Kontakt aufnehmen.” Der wahre Grund (kein Kalender, Kalender gestört, alles belegt) wird bewusst nicht verraten. Ein Link auf eine inaktive Terminart führt auf die Seite “Diese Terminart gibt es nicht”.

Als belegt gilt ein Zeitraum, wenn er in einer dieser Quellen belegt ist:

  1. 5sDesk-Kalender des Agenten: gebuchte Termine, belegte eigene Einträge und geplante Aktionen mit Dauer.
  2. Verbundener Microsoft-Kalender (nur Frei/Gebucht, keine Titel).
  3. Verbundener Google-Kalender (nur Frei/Gebucht).

Eigene Buchungen in 5sDesk sind sofort gesperrt. Die externen Kalender werden rund 60 Sekunden zwischengespeichert; beim tatsächlichen Buchen prüft 5sDesk den Zeitraum noch einmal und verhindert Doppelbuchungen auch bei gleichzeitigen Versuchen (“Dieser Termin ist inzwischen vergeben - bitte einen anderen wählen.”).

Feld Bedeutung Standard
“Dauer (Min.)” Länge des Termins. 30
“Raster (Min.)” Abstand der angebotenen Startzeiten. 15
“Puffer davor (Min.)” Freie Zeit, die vor dem Termin frei sein muss. 0
“Puffer danach (Min.)” Freie Zeit, die nach dem Termin frei sein muss. 0
“Mindest-Vorlauf (Min.)” Frühester Termin, gerechnet ab jetzt. 240 (4 Stunden)
“Buchungshorizont (Tage)” Wie weit im Voraus gebucht werden kann (1 bis 365). 60
“Max. offene Termine je E-Mail” Offene künftige Termine, die eine E-Mail-Adresse gleichzeitig haben darf (1 bis 20). 2

Puffer wirken gegen belegte Zeiten, nicht gegen die Arbeitszeitgrenzen: Ein Termin darf direkt bei Arbeitsbeginn starten und bei Arbeitsende enden. “Max. offene Termine je E-Mail” zählt über alle Terminarten der Organisation; beim Überschreiten erscheint “Sie haben bereits … offene Termine mit dieser E-Mail-Adresse.” Wegwerf-E-Mail-Adressen werden abgelehnt (“Bitte eine dauerhafte E-Mail-Adresse angeben, keine Wegwerf-Adresse.”).

Terminart mit Dauer 30, Raster 15, Puffer davor 15, Puffer danach 15, Mindest-Vorlauf 240 Minuten. Der Agent arbeitet Montag 9:00 bis 17:00 und hat bereits einen Termin von 10:00 bis 10:30. Ein Besucher öffnet die Seite am Montag um 8:00.

  • Wegen des Mindest-Vorlaufs von 4 Stunden ist 12:00 die erste angebotene Zeit; 9:00 bis 11:45 fallen weg.
  • Wäre der Vorlauf 0, sähe der Besucher 9:00 und 9:15. 9:30 bis 10:30 fehlen: Ein Termin um 9:30 endet um 10:00, mit Puffer danach müsste bis 10:15 frei sein, dort liegt aber der Termin. 10:30 fehlt, weil der Puffer davor ab 10:15 frei sein müsste. Erste Zeit nach dem Termin ist 10:45.
  • Letzte Zeit des Tages ist 16:30, denn der Termin endet um 17:00. Der Puffer danach ragt über das Arbeitsende hinaus, das ist erlaubt.
  • Ab 12:00 werden also 12:00, 12:15, 12:30 … bis 16:30 angeboten, solange nichts anderes belegt ist.

Arbeitszeiten und Verfügbarkeitsregeln aller Terminarten gelten in der “Zeitzone der Verfügbarkeit” unter “Terminbuchung: Einstellungen” (Standard: Europe/Berlin). Besucher sehen die Zeiten automatisch in ihrer eigenen Zeitzone, erkennbar an “Erkannte Zeitzone:” über dem Kalender, und können sie dort umstellen. Die Bestätigungsmail nennt beides: “bestätigt für … (Ortszeit …)”, zuerst die Zeit des Besuchers, in Klammern die Ortszeit Ihrer Organisation. Auf der Verwaltungsseite des Termins steht der Zeitpunkt in der Zeitzone, die der Besucher beim Buchen gewählt hat.

Öffentliche Buchungsseite mit Kalender, Zeitenliste und “Erkannte Zeitzone:”

Gehört eine Terminart einer “Abteilung (Pool)”, sieht der Besucher die Vereinigung der freien Zeiten aller aktiven Mitglieder. Erst beim Buchen wählt 5sDesk den Agenten, und zwar in dieser Reihenfolge:

  1. Der Agent mit den wenigsten Terminen in den letzten 28 Tagen.
  2. Bei Gleichstand der Agent, dessen letzte Zuweisung am längsten zurückliegt.
  3. Bei erneutem Gleichstand der Agent mit der niedrigsten internen Nummer.

Nur Agenten, die den gewählten Modus anbieten können und zu dem Zeitpunkt noch frei sind, kommen in Frage. Bucht der Kunde später um, wird neu gewählt; der Termin kann also zu einem anderen Agenten wandern. Verschiebt dagegen der Agent selbst, bleibt er zuständig.

Fällt der Kalender einer Person aus (Verbindung unterbrochen, Microsoft oder Google antwortet nicht), liefert nur diese Person keine Zeiten. Die übrigen Mitglieder bleiben buchbar. Antwortet innerhalb von 12 Sekunden kein einziger Kalender, sieht der Besucher die generische Meldung ohne Buchungsmöglichkeit.

Nach dem Klick auf “Termin buchen” landet der Besucher auf der Seite “Ihr Termin” mit “Vielen Dank!”, dem “Text der Bestätigungsseite” und den Termindetails. Parallel geht die Mail “Terminbestätigung: … am …” raus, mit dem Teams- oder Meet-Link bzw. dem Hinweis “Wir rufen Sie an unter …” und dem Link “Termin verwalten (absagen oder umbuchen)”.

Im CRM entsteht dabei ein Basis-Kunde mit Name und E-Mail-Adresse, falls noch keiner mit dieser Adresse existiert. Dabei zählen auch weitere E-Mail-Adressen bestehender Kunden. Gibt es eine Firma mit der Domain der Adresse (keine Freemail-Domain), wird der Kunde ihr zugeordnet.

Die Seite eines einzelnen Termins (Kalender › Termine, Termin öffnen) zeigt die Box “Deal”, sofern die Abteilung des Agents den Bereich “Vertrieb” hat. So ordnen Sie einen Termin einem Verkaufsvorgang zu:

  1. Klicken Sie in der Box “Deal” auf “Mit Deal verknüpfen”.
  2. Oben stehen die offenen Deals des Kunden als Vorschläge. Über “Deal suchen (Titel oder Nummer)” finden Sie jeden anderen nicht archivierten Deal einer Pipeline, die Sie sehen dürfen, auch einen abgeschlossenen.
  3. Mit “Speichern” verknüpfen Sie. Die Box zeigt dann Nummer und Titel des Deals mit Pipeline und Stufe.

Regeln:

  • Ein Termin hat höchstens einen Deal. Für einen anderen Deal klicken Sie erst “Lösen” und verknüpfen dann neu.
  • Verknüpfen kann nur der Agent, dem der Termin gehört. Lösen geht auch im Deal, dort für jeden, der den Deal sieht (siehe Kundentermine am Deal).
  • Hat der Kunde bei einer neuen Buchung genau einen offenen Deal, den der zuständige Agent sehen darf, verknüpft 5sDesk automatisch. Bei mehreren offenen Deals verknüpft niemand automatisch; die Box zeigt dann “Noch mit keinem Deal verknüpft – der Kunde hat … offene Deals.”
  • Bei einer Umbuchung wandert eine bestehende Verknüpfung mit, auch wenn im Pool ein anderer Agent den Termin übernimmt. Neu automatisch verknüpft wird dabei nicht.
  • Liegt der Deal auf einer Pipeline, die Sie nicht sehen dürfen, nennt die Box nur die Tatsache der Verknüpfung. “Lösen” geht trotzdem.

Kunden sehen die Verknüpfung nicht. Ihre Mails bleiben unverändert.

Über den persönlichen Link erreicht der Kunde jederzeit die Seite “Ihr Termin” mit den Knöpfen “Termin umbuchen” und “Termin absagen” (mit optionalem Grund). Wie lange das geht, legen Sie unter “Terminbuchung: Einstellungen” fest:

Feld Bedeutung Standard
“Storno-Frist (Std. vorher)” Bis so viele Stunden vor Beginn kann der Kunde absagen. 4
“Umbuchungs-Frist (Std. vorher)” Bis so viele Stunden vor Beginn kann der Kunde umbuchen. 4

Nach Ablauf der Frist verschwinden die Knöpfe. Wer es trotzdem versucht, liest: “Für diesen Termin ist die Frist zum Absagen/Umbuchen bereits abgelaufen - bitte kontaktieren Sie uns direkt.” Der Agent kann den Termin dann weiterhin selbst verschieben oder absagen; der Kunde bekommt dazu die Mail “Ihr Termin wurde verschoben” bzw. “Ihr Termin wurde abgesagt” mit dem angegebenen Grund.

Der persönliche Link ist bis 7 Tage nach Terminbeginn gültig. Danach führt er auf die Seite “Diese Terminart gibt es nicht”. Beim Umbuchen gelten dieselben Regeln wie beim Buchen (Mindest-Vorlauf, Horizont, Raster); der Kunde bekommt “Termin umgebucht: …” mit altem und neuem Zeitpunkt.

Feld Bedeutung Standard
“Erste Kundenerinnerung (Std. vorher)” Mail “Erinnerung: … am …”. 24
“Zweite Kundenerinnerung (Std. vorher)” Mail “Ihr Termin beginnt in Kürze: …”; muss näher am Termin liegen als die erste. 1
“Agentenerinnerung (Std. vorher)” Benachrichtigung an den Agenten. 1

0 schaltet eine Erinnerung ab. Wird ein Termin so kurzfristig gebucht, dass der Zeitpunkt einer Kundenerinnerung schon vorbei ist, entfällt diese Erinnerung; die Bestätigung kam ja gerade erst. Agenten erhalten Benachrichtigungen für neue, abgesagte und umgebuchte Termine je nach ihren Einstellungen unter “Mein Profil” (“Jemand bucht einen Termin bei mir”, “Ein Termin von mir wird abgesagt”, “Ein Termin von mir wird umgebucht”, “Erinnerung an einen bevorstehenden Termin von mir”). Die Benachrichtigung zu einem neuen Termin und die Agentenerinnerung nennen zusätzlich den verknüpften offenen Deal mit Nummer, Titel und Phase, nie den Wert. Ist kein Deal verknüpft, der Kunde hat aber offene Deals, weisen sie darauf hin, dass Sie den passenden auf der Terminseite verknüpfen können.

Seite “Terminbuchung: Einstellungen” mit Zeitzone, Erinnerungen und Fristen

An der Bestätigungsmail und an jeder Umbuchungsmail hängt die Kalenderdatei termin.ics. Absage- und Erinnerungsmails haben keinen Anhang.

Bei Teams- und Meet-Terminen legt 5sDesk den Termin zusätzlich im verbundenen Kalender des Agenten an; der Kunde erhält dadurch eine Einladung aus Microsoft bzw. Google. Die Kalenderdatei trägt dieselbe Ereignis-Kennung wie diese Einladung. Kalenderprogramme führen beides deshalb zu einem Eintrag zusammen, statt zwei anzulegen. Bei einer Umbuchung wird der bestehende Eintrag aktualisiert; der Meeting-Link bleibt erhalten. Bei Telefonterminen ohne externen Kalender ist die Kalenderdatei das Einzige, was der Kunde für seinen Kalender bekommt.

Konnte der Teams- oder Meet-Link beim Buchen noch nicht erzeugt werden, steht in der Mail: “Den Teams-Link erhalten Sie in Kürze per separater Einladung.” bzw. “Den Google-Meet-Link erhalten Sie in Kürze per separater Einladung.”

In der Einbettung meldet das Widget Ereignisse an den dataLayer der einbettenden Seite, wenn “Conversion-Tracking aktivieren” unter “Auf Ihrer Website einbetten” eingeschaltet ist. 5sDesk lädt dabei kein eigenes Tracking-Werkzeug und setzt keine Cookies. Das Präfix ist standardmäßig appointment (“Präfix der Ereignisnamen”).

Ereignis Bedeutung
appointment_view Buchung wurde angezeigt
appointment_start Besucher hat mit der Auswahl begonnen
appointment_slot_selected Zeitpunkt gewählt, Schritt 2 erreicht
appointment_submit Termin gebucht (Ihre Conversion)
appointment_submit_error Buchung fehlgeschlagen, mit grober Ursache (Eingabefehler, Zeit inzwischen vergeben, Serverfehler, Sicherheitsprüfung)

Mitgesendet werden nur Kennung und Name der Terminart sowie der Zeitpunkt, nie Name, E-Mail oder Nachricht des Besuchers.

Die Einwilligung funktioniert wie bei Formularen: “Auf Einwilligung warten (empfohlen)” hält Ereignisse zurück, bis Ihr Cookie-Banner zustimmt (IAB TCF wird erkannt), und reicht sie dann nach; “Sofort melden” nur, wenn Ihre Website die Einwilligung an anderer Stelle prüft. Für Banner ohne TCF zeigt die Terminart unter “Einwilligung selbst melden (für Cookie-Banner ohne IAB TCF):” eine Zeile, die Ihr Banner bei Zustimmung aufruft. Nutzen Sie auf derselben Seite auch ein eingebettetes Formular, erreicht dieselbe Zeile beide Einbettungen. Details zu Ereignissen und Cookie-Regeln stehen unter Formulare.

Anders als bei Formularen ist der Schutz bei Buchungen immer aktiv und besteht aus vier Teilen:

  • Rate-Limit: höchstens 5 Buchungsversuche in 15 Minuten je IP-Adresse (“Zu viele Buchungsversuche - bitte kurz warten und erneut versuchen.”).
  • Verstecktes Honeypot-Feld, das nur Bots ausfüllen.
  • ALTCHA-Rechenaufgabe im Browser, ohne Drittanbieter.
  • Abgleich mit der Blocklist: gesperrte Absender können nicht buchen.

Honeypot-, ALTCHA- und Blocklist-Treffer zeigen dem Absender die Seite “Danke für Ihre Anfrage” (“Wir haben Ihre Anfrage erhalten und melden uns bei Bedarf bei Ihnen.”), ohne dass ein Termin entsteht, ein Kalendereintrag geschrieben oder eine Mail verschickt wird. Ein Bot soll nicht erfahren, warum er gescheitert ist.

Verweigert Microsoft oder Google den Zugriff auf den Kalender eines Agenten (Zugriff widerrufen, Anmeldung abgelaufen, Passwort geändert), passiert Folgendes:

  • Der betroffene Agent erhält einmalig die Benachrichtigung “Kalenderverbindung muss erneut bestätigt werden” mit dem Link “Kalenderverbindung verwalten”, per E-Mail oder Teams je nach Einstellung “Meine Kalenderverbindung muss erneut bestätigt werden” in seinem Profil.
  • In “Mein Profil” › “Kalender” steht bei dem Konto: “Die Verbindung zu deinem …-Kalender ist unterbrochen - bitte erneut verbinden.”
  • Bis zur Neuverbindung liefert dieser Agent keine freien Zeiten, weil sein Frei/Gebucht nicht gelesen werden kann. Bei einer Einzel-Terminart sehen Besucher die generische Meldung ohne Buchungsmöglichkeit, im Pool fehlen nur die Zeiten dieser Person.

Was zu tun ist: Der Agent klickt in “Mein Profil” › “Kalender” erneut auf “Mit Microsoft anmelden” bzw. “Weiter mit Google”. Danach ist er sofort wieder buchbar. Admins sehen die Ursache nicht in den Einstellungen; bei “Nicht buchbar” oder leeren Zeiten lohnt die Nachfrage beim Agenten.

Ein zweiter Hinweis betrifft einzelne Termine: Antwortet der Kalender beim Buchen nicht rechtzeitig, sieht der Besucher “Ihr Termin wird gerade bestätigt - das kann einen Moment dauern. Sie erhalten in Kürze eine E-Mail.” Innerhalb weniger Minuten prüft 5sDesk nach. Ist der Termin im Kalender angekommen, wird er bestätigt. Ist er dort nicht auffindbar, wird die Zeit wieder freigegeben und der Agent erhält “Termin konnte nicht synchronisiert werden: …” mit der Bitte, die Person direkt zu kontaktieren.