Octibiz
Demo

Durchsucht Website und Dokumentation gemeinsam. Enter zeigt alle Treffer, Esc schließt.

Terminplanung & Buchungsseiten

Ansicht Terminplanung & Buchungsseiten in Octibiz

Überblick

Die Terminplanung lässt andere Menschen Zeit bei Ihnen buchen — ohne Hin und Her. Sie besteht aus vier Teilen: Termintypen (was gebucht werden kann), Verfügbarkeit (wann), Buchungsseiten (wo gebucht wird) und Verbindungen (welche Fremdkalender mitzählen).

Der wichtigste Satz zur Belegtzeit: Ein bekannter Termin nimmt den Slot — auch ohne Fremdkalender. Was im System steht, gilt. Ein verbundener Kalender ergänzt das, er ersetzt es nicht.

Kernaufgaben

Einen Termintyp anlegen. Dauer, Puffer, Vorlauf, Ort oder Videolink, und wer eingeladen wird.

Verfügbarkeit festlegen. Ein Zeitplan beschreibt die Regelzeiten; Ausnahmen für einzelne Tage gehen vor.

Verfügbarkeit im Wochenraster ziehen. Im Zeitplan-Dialog zeigt ein Raster die Woche in halben Stunden. Ziehen Sie mit der Maus über freie Felder, wird die Zeit verfügbar; beginnen Sie auf einem belegten Feld, nehmen Sie die Zeit wieder weg — über mehrere Tage auf einmal. Das Raster schreibt dieselben Zeitfenster wie die Liste darunter; feinere Zeiten (09:15) tragen Sie dort ein. Mit der Tastatur: Pfeiltasten bewegen, die Leertaste schaltet ein Feld, Umschalt + Pfeil markiert einen Bereich, der beim Loslassen der Umschalttaste übernommen wird. Übernacht-Fenster (22:00–02:00) erscheinen am Folgetag heller.

Die buchbaren Termine vorab sehen. Neben dem Raster steht die Vorschau der Termine: für die gewählte Termindauer die Anfangszeiten je Wochentag, gerechnet wie auf der Buchungsseite — noch vor dem Speichern, ohne Belegungen und Ausnahmen.

Eine Buchungsseite veröffentlichen. Die Seite ist öffentlich erreichbar und zeigt nur wirklich freie Zeiten.

Anfragen verteilen. Ein Routing-Formular stellt Fragen und leitet daraufhin auf den passenden Termintyp oder die passende Person.

Ressourcen mitbuchen. Wo ein Raum oder ein Gerät zum Termin gehört, wird es mitgebucht und ist für andere blockiert.

Kalender verbinden. Eine Verbindung bringt Fremdtermine als Belegtzeit ein.

Im Namen eines Kunden buchen. Unter Termine → Im Namen buchen wählen Sie Termintyp, Tag und freie Zeit, auf Wunsch den Gastgeber (bei Round-Robin), dazu den Kanal (Telefon, vor Ort, E-Mail) und bei „Bucher fragen" den Ort. Der Gast bekommt dieselbe Bestätigung wie bei einer Selbstbuchung.

Auf der eigenen Website einbetten. In der Buchungsseite unter Einbetten steht das Element octibiz-booking — es kapselt die Buchung vollständig, Sprache und Farbe stellen Sie per Attribut ein.

Terminfolgen automatisieren. Die zentralen Automationen kennen die Aktionen Termin buchen, Termin verschieben und Termin absagen; die KI-Unterstützung findet freie Zeiten und bucht auf Bestätigung.

Gebuchte Termine belegen die Zeit des Gastgebers auch in der Zeiterfassung und der Auslastung — ohne Fremdkalender. Ein Tag, an dem die Projektplanung die ganze Kapazität verplant hat, ist nicht buchbar.

Felder im Detail

Die Spalte Was es bewirkt beantwortet, was sich im System ändert — nicht, wie das Feld heißt. Der graue Name dahinter ist das Feld der API: unter ihm läuft dasselbe über Automation, Import und KI-Werkzeuge.

Termintyp

FeldPflichtWerte / FormatWas es bewirkt
Name namejaTextWofür gebucht werden kann. Der Bucher liest diesen Namen.
URL-Kürzel slugjaKleinbuchstaben, Ziffern, BindestricheDer Teil der öffentlichen Buchungs-URL. Nach dem ersten Teilen nicht mehr ändern — jeder verschickte Link läuft sonst ins Leere.
Beschreibung descriptionneinTextWas der Bucher vor der Auswahl liest.
Farbe colorneinFarbwertFarbe der Marke in Liste und Kalender.
Dauer durationMinutesneinMinuten, größer als 0Wie lange der Termin dauert. Er belegt genau diese Zeit — Puffer kommen zusätzlich obendrauf.
Wählbare Dauern durationOptionsneinListe von MinutenwertenLässt den Besucher zwischen mehreren Längen wählen, etwa 15, 30 und 60 Minuten. Die Vorgabe-Dauer ist immer dabei, auch wenn sie hier nicht steht.
Art kindneinone_on_one, group, collective, round_robin, managedWer den Termin wahrnimmt und wie viele buchen dürfen. 1:1 ist ein Gastgeber je Buchung, Gruppe mehrere Bucher auf einen Termin, Gemeinsam alle Gastgeber gleichzeitig, Round-Robin reihum verteilt, Verwaltet nur durch das Team gesetzt. Das Feld entscheidet, welche der folgenden Angaben überhaupt greifen.
Sitzplätze capacityneinZahl, größer als 0Nur bei Gruppe: wie viele Bucher denselben Termin belegen dürfen. Unter 2 ist es kein Gruppentermin.
Ort locationKindneinvideo_meet, video_teams, video_zoom, video_custom, in_person, phone, ask_invitee, customWo der Termin stattfindet. Bei den Video-Arten entsteht der Link automatisch, bei Bucher fragen gibt ihn der Gast an.
Ort-Angaben locationConfigneinAdresse, Rufnummer, Link oder Freitext — je nach OrtDie Ergänzung zum Ort: bei Vor Ort die Adresse, bei Telefon Ihre Nummer (leer = Sie rufen die Nummer des Gastes an), bei eigenem Video- oder Zoom-Link die Adresse, bei Individuell ein Freitext. Die Angabe steht in der Bestätigung, in der Kalender-Einladung und im Kalender des Gastgebers. Bei Zoom schaltet Zoom-Meeting je Termin (autoCreate) ein eigenes Meeting pro Termin ein — braucht die Integration „zoom“ (Server-to-Server-App); der Link steht dann in Bestätigung, Einladung und Kalender.
Fahrzeit-Puffer travelTimenein`{mode: fixed \routed, minutes: 1–480}`; leer = ausNur bei Vor Ort und Bucher fragen: vor und nach anderen Vor-Ort-Terminen des Gastgebers bleibt die Zeit für die Anfahrt frei. Gerechnet prüft beim Buchen zusätzlich die echte Fahrzeit zwischen den Adressen (Dienste unter Modul-Einstellungen).
Puffer davor bufferBeforeMinutesneinMinuten, 0 oder größerZeit, die vor dem Termin zusätzlich blockiert wird — Anfahrt, Vorbereitung.
Puffer danach bufferAfterMinutesneinMinuten, 0 oder größerDasselbe danach. Ohne Puffer stehen Termine auf Kante, und die erste Verspätung kippt den Tag.
Mindest-Vorlauf minNoticeMinutesneinMinuten, 0 oder größerWie kurzfristig gebucht werden darf. Die Angabe ist in Minuten, nicht in Stunden — ein Tag Vorlauf ist 1440, nicht 24.
Buchbar bis horizonDaysneinTage, größer als 0Wie weit im Voraus gebucht werden darf.
Art des Buchungshorizonts horizonKindneinrollend (Vorgabe), fester Zeitraum oder unbegrenztWoran sich „buchbar bis" bemisst: rollend zählt Tage ab heute, „fester Zeitraum" öffnet genau eine Spanne, „unbegrenzt" lässt jeden Termin zu.
Fester Buchungszeitraum dateRangebei festem ZeitraumVon-Datum und Bis-Datum, beide einschließlichDie eine Spanne, in der gebucht werden kann — für eine Messe, eine Aktionswoche oder ein Sprechstunden-Fenster. Ein leerer Wert räumt die Spanne wieder weg.
Zeitfenster-Takt slotIncrementMinutesneinMinuten, größer als 0In welchem Raster die freien Zeiten angeboten werden. Bei 15 beginnt ein 60-Minuten-Termin auch um 9:15 — bei 60 nur zur vollen Stunde. Das Feld entscheidet, wie dicht der Tag wird.
Tageslimit dailyLimitneinZahl; 0 oder leer = kein LimitWie viele Termine dieser Art an einem Tag höchstens zustande kommen. Ist es erreicht, verschwindet der Tag aus dem Angebot.
Sichtbarkeit visibilityneinpublic, secretÖffentlich erscheint auf Buchungsseiten, Nur per Link nicht — buchbar bleibt es über den direkten Link trotzdem. Das ist kein Zugriffsschutz, sondern Zurückhaltung.
Zahlung verlangt requiresPaymentneinJa/NeinOb vor der Bestätigung gezahlt wird.
Preis priceAmountneinBetrag in Cent, 0 oder größerWas der Termin kostet. In Cent geführt: 4500 sind 45,00 EUR.
Formularfragen questionsneinListe von FragenWas der Bucher zusätzlich angeben muss. Jede Pflichtfrage kostet Buchungen — fragen Sie, was Sie wirklich brauchen.
Bestätigungsseite confirmationConfigneineigener Text oder WeiterleitungWas der Besucher nach dem Buchen sieht: einen eigenen Dankestext oder eine Weiterleitung auf eine Adresse Ihrer Wahl, etwa auf eine Seite, die den Abschluss zählt.
Verfügbarkeit scheduleIdneinein ZeitplanWelcher Zeitplan die buchbaren Zeiten vorgibt. Leer heißt: der Standard-Zeitplan des Gastgebers.
Gastgeber hostEmployeeIdsneinMitarbeiterWer den Termin wahrnimmt. Angeboten wird nur, wo die Person wirklich frei ist. Round-Robin und Gemeinsam brauchen mindestens zwei.
Ressourcen resourceIdsneinRessourcenPflicht-Räume und -Geräte. Das Zeitfenster ist nur frei, wenn Gastgeber und alle Ressourcen frei sind.
Serie recurrenceRulenein{freq: daily/weekly/monthly, interval, count}; leer = EinzelterminDer Bucher bucht alle Vorkommen in einem Zug. Es kommt nur zustande, wenn jedes Vorkommen frei ist — sonst gar keines.
Folge-Teile additionalPartsneinListe {offsetMinutes, durationMinutes}, höchstens 10; leer = einteiligMehrteiliger Termin, z. B. Erstgespräch 60 Minuten und Nachbesprechung 30 Minuten zwei Wochen später. Der Versatz zählt ab Beginn des ersten Teils, an der Uhrzeit des Gastgebers (auch über die Zeitumstellung). Angeboten wird ein Zeitfenster nur, wenn alle Teile frei sind; gebucht werden alle in einem Zug. Nicht zusammen mit einer Serie.
Interessent anlegen createLeadneinJa/NeinOb die Buchung eines unbekannten Besuchers einen Interessenten im CRM anlegt. Ohne den Schalter bleibt ein Termin ein Termin, und der Kontakt geht verloren.
Interessent sofort umwandeln convertLeadneinJa/Nein (Vorgabe Nein)Die Buchung gilt als Qualifizierung: aus dem Interessenten werden gleich Kunde (ohne Firma Privatkunde), Kontakt und Geschäft in der ersten offenen Stufe der Standard-Pipeline; der Termin hängt daran. Ohne Standard-Pipeline bleibt es beim Interessenten.
Vorgang je Buchung workItemKindneinAufgabe, Ticket oder nichtsOb jede Buchung zusätzlich einen Vorgang erzeugt — eine Aufgabe zur Vorbereitung oder ein Ticket zur Bearbeitung. Leer = kein Vorgang.
Verteilung im Team roundRobinStrategyneinrotation (Vorgabe), loadNur bei Round-Robin: Reihum gibt die Buchung dem, der am längsten keine bekam; Nach Auslastung dem, der in den sieben Tagen vor und nach dem Termin die wenigste gebuchte Terminzeit hat.
Angebot anstoßen createQuoteneinJa/NeinLegt zu einem verknüpften Geschäft einen Angebots-Entwurf an. Braucht das Angebots-Modul; ohne Geschäft passiert nichts.
Rechnung bei Bezahlung invoiceOnPaymentneinJa/Nein (Vorgabe Ja)Bei bezahlpflichtigen Terminen: der Zahlungseingang erzeugt eine festgeschriebene, als bezahlt verbuchte Rechnung über den kassierten Betrag. Ist der Bucher noch kein Kunde, wird er als Privatkunde angelegt. Braucht das Faktura-Modul.
Aktiv activeneinJa/NeinAus heißt: nicht mehr buchbar. Bereits gebuchte Termine bleiben bestehen.
Marke brandIdneineine Ihrer MarkenUnter welcher Marke der Termintyp geführt und angeboten wird.
Vorlage (zentral verwaltet) managedTemplateneinJa/NeinMacht den Termintyp zur Vorlage: selbst nie buchbar, wird an Mitarbeiter verteilt, die je eine eigene Kopie mit sich als Gastgeber bekommen. Eine Kopie kann keine Vorlage werden.
Gesperrte Felder lockedFieldsneinListe von Feldern (Name, Dauer, Ort, Puffer, Vorlauf, Horizont, Fragen, Preis, Folgen …)Nur an Vorlagen: diese Felder folgen jeder Änderung der Vorlage in alle Kopien und lassen sich an einer Kopie nicht ändern. Slug, Gastgeber, Zeitplan und „Aktiv“ gehören immer der Kopie.

Vorlage verteilen. In der Liste der Termintypen öffnet An Mitarbeiter verteilen die Auswahl:

FeldPflichtWerte / FormatWas es bewirkt
Mitarbeiter employeesjaein oder mehrere MitarbeiterJeder bekommt eine Kopie (1:1, er selbst als Gastgeber, Adresse <vorlage>-<name>). Wer schon eine hat, bekommt keine zweite. Wird die Vorlage gelöscht, bleiben die Kopien als eigenständige Termintypen.

Terminarten

Die Arten selbst (1:1, Gruppe, Gemeinsam, Round-Robin, Verwaltet) sind fest, weil die Buchung nach ihnen rechnet — anlegen oder löschen lässt sich keine. Termintypen → Terminarten pflegt, was dir gehört: wie eine Art heißt, in welcher Farbe und Reihenfolge sie erscheint, ob der Termintyp-Editor sie anbietet und welche beim Anlegen vorausgewählt ist. Recht zum Ändern: scheduling.event_type.manage.

FeldPflichtWerte / FormatWas es bewirkt
Schlüssel key–one_on_one, group, collective, round_robin, managedFest — die Buchung verzweigt darauf; deshalb nur lesbar.
Bezeichnung labeljaTextDer Name der Art in Liste und Editor.
Farbe colorneinFarbwertKennfarbe der Art.
Reihenfolge sortOrderneinZahlReihenfolge im Auswahlfeld des Editors.
Vorauswahl isDefaultneinja/neinDiese Art ist beim Anlegen eines Termintyps vorausgewählt.
Angeboten activeneinja/neinNur angebotene Arten stehen im Editor zur Wahl; bestehende Termintypen behalten ihre Art.

Buchungsseite

FeldPflichtWerte / FormatWas es bewirkt
Name titlejaTextDie Überschrift der öffentlichen Seite.
URL-Kürzel slugjaKleinbuchstaben, Ziffern, BindestricheDer Teil der öffentlichen Adresse /public/booking/…. Nach dem Teilen nicht mehr ändern.
Inhaber-Art ownerTypeneinemployee, resourceOb die Seite einer Person oder einer Ressource gehört.
Inhaber ownerIdneinMitarbeiter bzw. RessourceWessen Zeiten die Seite anbietet.
Begrüßungstext welcomeTextneinTextWas oben auf der Seite steht. Der Satz, der erklärt, worauf sich der Gast einlässt.
Bild avatarFileIdneinDateiDas Foto oder Logo der Seite.
Gestaltung brandingneinObjektFarben und Logo für den White-Label-Auftritt.
Eigene Domain customDomainneinDomain, z. B. termine.ihre-marke.deLiefert die Seite unter Ihrer eigenen Adresse aus. Gespeichert wird nur der Rechnername; eine Domain gehört genau einer Seite. DNS, Zertifikat und die Weiterleitung der Wurzeladresse sind ein Betriebsschritt — ohne ihn zeigt die Domain ins Leere.
Termintypen eventTypeIdsneinTermintypenWas auf der Seite gebucht werden kann. Angezeigt wird nur, was aktiv und öffentlich ist.
Sichtbarkeit visibilityneinpublic, secretNur per Link nimmt die Seite aus Übersichten und Suchmaschinen, erreichbar bleibt sie.
Marke brandIdneineine Ihrer MarkenUnter welcher Marke die Seite geführt wird.

Verfügbarkeits-Zeitplan

FeldPflichtWerte / FormatWas es bewirkt
Name namejaTextWie der Zeitplan in der Auswahl heißt, z. B. „Geschäftszeiten".
Inhaber-Art ownerTypeneinemployee, resourceOb der Plan zu einer Person oder zu einer Ressource gehört.
Inhaber ownerIdneinMitarbeiter bzw. RessourceWessen Zeiten er beschreibt.
Zeitzone timezoneneinZeitzone (z. B. Europe/Berlin)In welcher Zone die Uhrzeiten gemeint sind. Falsch gesetzt, verschiebt sich jeder angebotene Slot — der häufigste Grund für „die Zeiten stimmen nicht".
Wochenverfügbarkeit weeklyneinje Wochentag Zeitfenster „HH:MM"–„HH:MM"Die Regelzeiten. Ein Tag ohne Fenster ist geschlossen. Liegt das Ende vor dem Beginn (22:00–02:00) oder steht es auf „24:00", läuft das Fenster über Mitternacht in den Folgetag. Beginn gleich Ende wird abgewiesen.
Standard-Zeitplan isDefaultneinJa/NeinDer Plan, den ein Termintyp ohne eigene Angabe verwendet.
Marke brandIdneineine Ihrer MarkenUnter welcher Marke der Zeitplan geführt wird.

Slot-Vorschau

Die Vorschau rechnet einen (auch ungespeicherten) Wochenplan in buchbare Anfangszeiten um. Sie schreibt nichts; dieselbe Abfrage steht Automationen und KI-Werkzeugen zur Verfügung.

FeldPflichtWerte / FormatWas es bewirkt
Wochenverfügbarkeit weeklyneinje Wochentag Zeitfenster „HH:MM"–„HH:MM"Der Plan, für den die Termine gerechnet werden — dieselbe Schreibweise wie am Zeitplan. Ein Fenster ohne Länge oder in falscher Form wird abgewiesen.
Zeitzone timezoneneinZeitzone; leer = Europe/BerlinIn welcher Zone die Uhrzeiten gemeint sind; die Anfangszeiten kommen in derselben Zone zurück.
Termindauer durationMinutesnein5–1440 Minuten, Vorgabe 30Wie lang ein Termin ist. Ein Fenster bietet nur Termine an, die ganz hineinpassen.
Takt incrementMinutesnein5–1440 Minuten, Vorgabe = DauerIn welchem Abstand Termine beginnen dürfen, z. B. alle 15 Minuten bei 30 Minuten Dauer.

Datums-Ausnahme

FeldPflichtWerte / FormatWas es bewirkt
Zeitplan scheduleUlidjaein ZeitplanFür welchen Zeitplan die Ausnahme gilt.
Datum datejaJJJJ-MM-TTDer eine Tag, der von der Wochenregel abweicht. Ausnahmen gehen der Regel immer vor.
Zeitfenster intervalsneinPaare „HH:MM"–„HH:MM"; leer = ganztägig gesperrtDie abweichenden Zeiten dieses Tages. Leer lassen heißt sperren, nicht „wie immer".
Grund reasonneinTextWarum der Tag abweicht. Der Satz, der in einem halben Jahr die Frage „warum war da zu?" beantwortet.

Routing-Formular

FeldPflichtWerte / FormatWas es bewirkt
Name namejaTextWie das Formular in der Verwaltung heißt.
URL-Kürzel slugjaKleinbuchstaben, Ziffern, BindestricheDer Teil der öffentlichen Formular-Adresse.
Beschreibung descriptionneinTextWas der Besucher über dem Formular liest.
Felder fieldsneinListe aus Schlüssel, Beschriftung, Art, PflichtDie Fragen. Auf ihre Schlüssel beziehen sich die Regeln — wird ein Schlüssel umbenannt, greift die Regel nicht mehr.
Regeln rulesneinListe aus Bedingungen und Ziel-TermintypWohin geleitet wird. Die erste Regel, deren Bedingungen alle zutreffen, gewinnt; die Reihenfolge ist damit Teil der Logik.
Ersatz-Termintyp fallbackEventTypeSlugneinURL-Kürzel eines TermintypsWohin geleitet wird, wenn keine Regel greift. Ohne Ersatz endet der Besucher in einer Sackgasse.
Aktiv activeneinJa/NeinOb das Formular öffentlich beantwortet werden kann.
Marke brandIdneineine Ihrer MarkenUnter welcher Marke das Formular geführt wird.

Ressource (Raum oder Gerät)

FeldPflichtWerte / FormatWas es bewirkt
Name namejaTextWie der Raum oder das Gerät heißt.
Art kindneinroom, equipment, otherRaum, Gerät oder Sonstiges — nur zur Gliederung der Liste.
Kapazität capacityneinZahl, größer als 0Wie viele Personen hineinpassen.
Verfügbarkeit scheduleUlidneinein ZeitplanWann die Ressource überhaupt buchbar ist. Leer heißt: rund um die Uhr.
Ort locationneinTextWo die Ressource steht.
Aktiv activeneinJa/NeinAus heißt: nicht mehr mitbuchbar.
Marke brandIdneineine Ihrer MarkenUnter welcher Marke die Ressource geführt wird.

Kalender-Verbindung

Google und Microsoft werden über den jeweiligen Anmelde-Dialog verbunden und haben keine Eingabefelder. Die folgenden Felder gelten für CalDAV (iCloud, Nextcloud, Fastmail …) und für abonnierte iCal-/ICS-Feeds.

FeldPflichtWerte / FormatWas es bewirkt
Kalender-URL urljaAdresse der Kalender-Kollektion bzw. des ICS-FeedsWoher die Fremdtermine kommen. Bei CalDAV die direkte Kollektions-URL, nicht die Server-Wurzel.
Benutzername usernameja (CalDAV)TextDie Anmeldung am CalDAV-Server.
App-Passwort passwordja (CalDAV)TextDas anwendungsspezifische Passwort — bei iCloud und Fastmail zwingend, das Konto-Passwort funktioniert dort nicht. Es wird verschlüsselt abgelegt und nie wieder angezeigt.
Bezeichnung labelneinTextWie die Verbindung in der Liste heißt.
Raum/Gerät ownerResourceneinRessourceMit dem Recht „Ressourcen verwalten“: die Verbindung gehört dem Raum bzw. Gerät. Seine Termine nehmen jedem Termintyp mit dieser Ressource die Zeit — keinem Mitarbeiter.
Mitarbeiter ownerEmployeeneinMitarbeiterNur mit dem Recht „Kalender-Verbindungen aller Mitarbeiter verwalten“: die ICS-/CalDAV-Verbindung entsteht für diesen Mitarbeiter statt für Sie. Google und Microsoft verbindet jeder selbst (die Anmeldung gehört dem Konto-Inhaber).

Nach dem Verbinden wird ausgewählt, welche Kalender mitzählen:

FeldPflichtWerte / FormatWas es bewirkt
Ziel-Kalender targetCalendarIdneinein Kalender der VerbindungWohin bestätigte Termine geschrieben werden. Leer heißt: der Standardkalender des Kontos.
Belegtzeit-Kalender conflictCalendarIdsneinKalender der VerbindungWelche Kalender zusätzlich Zeitfenster sperren. Leer heißt: nur der Ziel-Kalender.
Termine hereinholen syncInboundneinJa/NeinOb Fremdtermine als Belegtzeit gelten.
Termine hinausschreiben syncOutboundneinJa/NeinOb gebuchte Termine im Fremdkalender eingetragen werden.

Kalenderdatei (.ics) einlesen

Für Kalender ohne Anbindung — etwa den Export einer Praxissoftware oder einen Raumplan. Die Termine von gestern bis ein Jahr voraus belegen die Zeit des Inhabers; gespeichert werden nur Anfang und Ende. Eine neue Datei ersetzt die alte nicht — alte Dateien entfernen Sie in der Liste.

FeldPflichtWerte / FormatWas es bewirkt
Datei contentjaInhalt einer .ics-Datei, höchstens 2 MB, höchstens 5000 TermineDie Termine, die belegen. Serien werden aufgelöst.
Dateiname fileNameneinTextWie die Datei in der Liste heißt.
Mitarbeiter ownerEmployeeneinMitarbeiterWie bei den Verbindungen: ohne Angabe Sie selbst, mit „Kalender-Verbindungen aller Mitarbeiter verwalten“ ein anderer.
Raum/Gerät ownerResourceneinRessourceMit „Ressourcen verwalten“ für einen Raum oder ein Gerät.

Belegte Zeit hat eine Quelle. Ein bekannter Termin nimmt den Slot auch dann, wenn kein Fremdkalender angebunden ist — und ein Termin aus einem verbundenen Kalender ebenso. Deshalb kann keine Doppelbuchung entstehen, solange die Verbindung steht.

Gruppen-Terminfinder

Unter CRM → Terminfinder: mehrere Zeiten vorschlagen, per Link abstimmen lassen und den passenden Termin mit einem Klick für alle buchen. Die Abstimmung braucht kein Konto; andere Teilnehmer sehen nur die Zahl der Stimmen, nie Namen oder Adressen. Über den persönlichen Link nach dem Abstimmen lässt sich die eigene Stimme ändern.

FeldPflichtWerte / FormatWas es bewirkt
Termintyp eventTypejaein TermintypLiefert Ort, Marke und Bestätigungs-Mails; beim Buchen gelten seine Folgen (Interessent, Vorgang …).
Titel titlejaText, bis 150 ZeichenÜberschrift der Abstimmung.
Beschreibung descriptionneinTextSteht auf der Abstimmungsseite.
Dauer durationMinutesneinMinuten, 5–1440Leer = Dauer des Termintyps.
Gastgeber hostEmployeeIdsneinMitarbeiterLeer = Gastgeber des Termintyps. Belegte Gastgeber werden je Vorschlag angezeigt.
Vorschläge optionsja1–30 Zeitpunkte in der ZukunftZwischen diesen Zeiten wird abgestimmt (ja, vielleicht, nein).
Zeitzone timezoneneinZeitzoneFür Mails und Anzeige; die Abstimmungsseite zeigt die Zeiten in der Zeitzone des Besuchers.
Abstimmung bis closesAtneinZeitpunkt in der ZukunftDanach nimmt die Seite keine Stimmen mehr an.
Vorschlag buchen optionIdja (beim Abschluss)ein VorschlagBucht den Termin für alle, die „ja“ oder „vielleicht“ gestimmt haben — sie bekommen die Bestätigung per Mail. Ist die Zeit inzwischen belegt, bleibt die Abstimmung offen.

Übernahme aus Calendly

Unter Einstellungen → Terminplanung → Einstellungen der Terminplanung (Recht platform.import.run). Übernommen werden Termintypen und alle künftigen Termine samt Gästen — ohne Mail an die Gäste und ohne neuen Kalender-Eintrag (er steht schon im Kalender des Gastgebers). Gastgeber werden über ihre E-Mail-Adresse zugeordnet. Ein zweiter Lauf überspringt, was schon übernommen ist. Zugang: Integration „calendly“ mit dem persönlichen Zugriffsschlüssel calendly_token.

FeldPflichtWerte / FormatWas es bewirkt
Übernehmen executeneinJa/Nein (Vorgabe Nein)Nein = Probelauf: zählt nur, was übernommen würde, und nennt Übersprungenes mit Grund. Ja = schreibt.
Marke brandIdbei mehreren Markeneine Ihrer MarkenIn diese Marke wird übernommen.

Einstellungen & Rechte

  • Termintypen: scheduling.event_type.view / .manage
  • Verfügbarkeit: scheduling.schedule.view / .manage
  • Buchungsseiten: scheduling.booking_page.view / .manage
  • Termine: scheduling.appointment.view_own / .view_team / .view_any / .manage / .reschedule — view_team zeigt die Termine, bei denen ein Kollege aus Ihrem Team Gastgeber ist
  • Kalender-Verbindungen: scheduling.connection.manage_own (eigene) / .manage_any (aller Mitarbeiter, geschnitten nach deren Marken)
  • Modul-Einstellungen: scheduling.settings.manage — ändern nur markenübergreifend, weil sie für alle Marken gelten
  • Gruppen-Terminfinder: scheduling.poll.view / .manage
  • Calendly-Übernahme: platform.import.run in der Ziel-Marke

Modul-Einstellungen

Unter Einstellungen → Terminplanung → Einstellungen der Terminplanung.

FeldPflichtWerte / FormatWas es bewirkt
Öffentliche Buchung publicBookingEnabledneinJa/NeinAus: Buchungslinks und Einbettungen antworten nicht mehr; gebuchte Termine bleiben über ihren Link verwaltbar.
Erinnerung vor dem Termin reminderLeadMinutesneinMinuten, 0–43200Wann die Erinnerungsmail an den Gast geht.
Frist für die Bezahlung holdTtlSecondsneinSekunden, 0–86400Bleibt die Zahlung aus, wird der Termin danach abgesagt. 0 = nie.
Zeit während der Eingabe reservieren slotHoldSecondsneinSekunden, 0–86400Solange ein Besucher das Formular ausfüllt, sehen andere die gewählte Zeit nicht. 0 schaltet ab.
Freie Zeiten zwischenspeichern slotCacheSecondsneinSekunden, 0–86400Entlastet den Server bei vielen Besuchern; jede Buchung leert sofort. 0 schaltet ab.
Freie Zeiten live aktualisieren liveUpdatesEnabledneinJa/NeinMeldet Änderungen sofort an offene Buchungsseiten; braucht einen Mercure-Hub (Betrieb).
Voll verplante Projekttage sperren blockFullyPlannedDaysneinJa/NeinTage, an denen die Projektplanung die Kapazität ausschöpft, sind nicht buchbar.
Fremdkalender live prüfen liveBusyCheckneinJa/Nein (Vorgabe Ja)Fragt Google, Microsoft und CalDAV im Moment der Buchung ab — ein eben eingetragener Termin wird nicht überbucht. Ist der Anbieter nicht erreichbar, gilt der synchronisierte Stand.
Zahlungsanbieter paymentProviderneinstripe, paypalFür bezahlpflichtige Termintypen. Zugangsdaten als Integration „stripe“ (secret_key, webhook_secret) bzw. „paypal“ (client_id, client_secret, webhook_id, optional sandbox); Geheimnisse landen verschlüsselt.
Geocoder travelGeocoderUrlneinhttp(s)-Adresse mit Nominatim-Schnittstelle; leer = ausFür den gerechneten Fahrzeit-Puffer: wandelt Adressen in Koordinaten. Adressen gehen an diesen Dienst — am besten selbst betrieben.
Routing-Dienst travelRouterUrlneinhttp(s)-Adresse mit OSRM-Schnittstelle; leer = ausRechnet die Fahrzeit zwischen zwei Koordinaten. Ohne beide Dienste gilt der feste Puffer.
E-Mail an den Gastgeber hostMailEnabledneinJa/NeinDer Gastgeber erhält bei Buchung, Verschiebung und Absage eine Mail (Vorlage „Termin für Gastgeber“) mit Kalender-Einladung — die Einladung entfällt, wenn sein Kalender ausgehend verbunden ist.
Sicherheitsprüfung beim Buchen captchaModeneinoff, pow, turnstilepow löst unsichtbar eine Rechenaufgabe im Browser, ganz ohne Fremddienst. turnstile nutzt Cloudflare Turnstile (braucht das Modul OctiConnect; sonst gilt die Rechenaufgabe).
Turnstile-Websiteschlüssel turnstileSiteKeybei TurnstileTextAus dem Cloudflare-Konto.
Turnstile-Geheimnis turnstileSecretbei TurnstileTextAus dem Cloudflare-Konto; wird verschlüsselt gespeichert und nie wieder angezeigt.

Modul-Flag: module.scheduling. Die Einrichtung führt Sie unter Einrichtung durch die Reihenfolge.

FAQ & Fehlerbilder

Es werden keine freien Zeiten angezeigt. Prüfen Sie Zeitplan, Vorlauf und Puffer — oft ist der Vorlauf länger als der angezeigte Zeitraum.

Ein Termin aus dem Fremdkalender fehlt. Prüfen Sie die Verbindung. Fällt sie aus, gilt weiterhin, was im System steht — Sie sind also nicht ungeschützt, aber die Fremdtermine fehlen.

Zwei Buchungen auf denselben Slot. Kommt nicht vor: die Buchung sperrt Gastgeber und Zeit, bis sie geschrieben ist — wer eine Sekunde später bestätigt, bekommt „Zeit bereits vergeben" und wählt neu.

Ein Besucher füllt gerade das Formular aus. Sobald er eine Zeit wählt, ist sie für ihn reserviert (Vorgabe fünf Minuten, Einstellung scheduling.slot_hold_seconds, 0 schaltet ab) — andere sehen sie so lange nicht. Geht er zurück oder läuft die Frist ab, ist die Zeit sofort wieder frei.

Die freien Zeiten aktualisieren sich von selbst. Die Buchungsseite fragt jede Minute nach. Mit scheduling.live_updates_enabled und einem eingerichteten Mercure-Hub meldet der Server jede Änderung sofort; ohne Hub bleibt es beim Nachfragen. Die Liste der freien Zeiten wird kurz zwischengespeichert (scheduling.slot_cache_seconds, Vorgabe 60 Sekunden) und bei jeder Buchung, Absage und Änderung sofort geleert — gebucht wird immer gegen den aktuellen Stand.

Ein CRM-Termin ohne Inhaber. Er belegt die Zeit dessen, der ihn eingetragen hat.

Der Gastgeber bekommt die Buchung doppelt in den Kalender. Kommt nicht vor: ist sein Kalender ausgehend verbunden, trägt die Terminplanung den Termin dort ein, und die Gastgeber-Mail kommt ohne Einladung. Die Glocke im Backend meldet die Buchung zusätzlich.

Buchungen scheitern mit „Sicherheitsprüfung fehlgeschlagen“. Bei Turnstile muss der Browser Cloudflare erreichen dürfen (Betrieb: Content-Security-Policy). Die eigene Rechenaufgabe (pow) braucht keinen Fremddienst.

scheduling.scheduling · Gilt ab Version 0.5.6