Skip to main content
Famulor bringt eine komplette, eigene Buchungs-Engine mit: Event-Typen mit eigener wöchentlicher Verfügbarkeit, eine einbettbare öffentliche Buchungsseite, optionale Synchronisierung mit einem echten Kalender und einen signierten Webhook bei jeder Buchung. Assistenten buchen mitten im Anruf darüber wie bei jedem anderen Anbieter. Die externen Anbieter – Cal.com, Calendly, Acuity Scheduling, eTermin, HighLevel – findest du auf Kalender & Buchung.

Der native Kalender

Native ist Famulors eigene Buchungs-Engine – direkt in die Plattform eingebaut statt ein Drittanbieter-Produkt, für das du dich anmeldest, und in Anbieter im Überblick neben den anderen Kalenderanbietern gelistet. Es gibt kein externes Konto, keinen API-Key und keinen OAuth-Zustimmungsbildschirm: Definiere einen Event-Typ mit eigener wöchentlicher Verfügbarkeit, und er ist sofort bereit, einem Assistenten zugewiesen zu werden.
Native läuft über dasselbe Plan-Feature Calendar integrations wie jeder andere Anbieter unter Anbieter im Überblick – es ist kein separates, kostenpflichtiges Add-on zusätzlich zu Cal.com oder Calendly. Dein Plan muss dieses Feature weiterhin enthalten, bevor du einen Event-Typ oder eine Integration erstellen kannst, native eingeschlossen. Siehe Plan-Gating.
Ein zugewiesener nativer Event-Typ erhält dieselben Tools check_availability und book_appointment wie jede andere Integration, ganz ohne Drittanbieter-API dazwischen: Slots kommen direkt aus den eigenen Verfügbarkeitsfenstern, Puffern und Vorlaufregeln des Event-Typs. Native ist außerdem einer von nur zwei Anbietern – der andere ist Acuity –, deren Assistenten einen bestehenden Termin finden, stornieren und umbuchen können, und der Einzige der beiden, der dafür kein externes Konto braucht. Die vollständige Tool-Liste findest du unter Einem Assistenten zuweisen.

Kalenderverbindungen

Native funktioniert eigenständig, nur mit seinen eigenen Regeln zur wöchentlichen Verfügbarkeit, oder du verbindest einen echten Kalender, damit seine Belegungszeiten berücksichtigt werden und – bei den meisten Verbindungstypen – bestätigte Buchungen dorthin zurückgeschrieben werden. Verbinde Google Calendar und Outlook unter Booking → Integrations; füge CalDAV oder einen ICS-Feed unter Booking → Event types → Calendars hinzu. In beiden Fällen wählst du die Verbindung im eigenen Calendars-Feld des Event-Typs aus, um sie tatsächlich zu nutzen.

Die integrierte Buchungs-Engine

Lege Event-Typen unter Booking im Dashboard an (oder über API/MCP):
Noch nicht gespeichertes Formular für einen neuen Termintyp

Neuer Termintyp — Beispielkonfiguration vor dem Speichern

  • Name, slug, duration – der Slug ist innerhalb des Workspace eindeutig und wird Teil der öffentlichen Buchungsseiten-URL, die im Editor angezeigt wird.
  • Weekly availability – Zeitfenster pro Wochentag in der Zeitzone des Event-Typs, z. B. Mo–Fr 09:00–17:00 Uhr.
  • Buffers & rules – Puffer vor und nach jeder Buchung, Mindestvorlauf, wie weit im Voraus Kunden buchen dürfen, und Slot-Intervall.
  • Calendar sync (optional) – verknüpfe einen verbundenen Kalender. Bei Google-, Outlook- und CalDAV-Verbindungen werden ihre Belegungszeiten von den angebotenen Slots abgezogen und bestätigte Buchungen als Kalendereinträge zurückgeschrieben; bei Google und Outlook wird der Gast als Teilnehmer hinzugefügt, sodass der Anbieter ebenfalls seine eigene Einladung verschickt. Ein ICS-Feed liefert nur Belegungszeiten.
  • Name ist immer erforderlich. Unter Buchungsfragen stellst du E-Mail und Telefon auf erforderlich oder optional. Für Google Meet und Microsoft Teams bleibt die E-Mail für die Einladung erforderlich. Buchungsseite und Telefonassistent berücksichtigen dieselben Anforderungen.
Wenn ein verbundener Kalender nicht geprüft werden kann, werden freie Zeiten, neue Buchungen und Terminverschiebungen vorübergehend gesperrt, bis die Verfügbarkeit wieder bestätigt werden kann. Vorübergehende Fehler des Kalenderdienstes werden automatisch erneut versucht. Schlägt das Erstellen des Kalendereintrags weiterhin fehl, zeigt die gespeicherte Buchung eine Warnung unter Calendar sync; damit ist weder ein Kalendereintrag noch ein Meeting-Link bestätigt.

Bestätigungs-E-Mails und Kalender

Wähle zuerst den Ort und anschließend die Buchungsfragen. Über Kalender daneben bestimmst du den Zielkalender und die Kalender für die Konfliktprüfung. Die Auswahl wird zusammen mit dem Termintyp gespeichert. Unter Bestätigungs-E-Mail wählst du den Absender und bearbeitest E-Mail-Betreff und E-Mail-Nachricht. Leere Felder verwenden den jeweiligen Standardtext. Die ⚡ Variablen ergänzen Gastname, Termin, Unternehmen, Startzeit, Dauer, Ort sowie Links zum Verschieben und Absagen. Eigene Texte gelten für die erste Bestätigung; Absagen, Verschiebungen und Erinnerungen behalten ihre Standardnachrichten. E-Mail-Sprache legt die Sprache aller Standardtexte dieses Termintyps fest (Englisch, Deutsch, Französisch oder Spanisch). Sprache des Empfängers behält das Standardverhalten: Jeder Gast erhält den Standardtext in der Sprache seines Kontos oder deines Workspace. Wenn Gäste gar keine E-Mails erhalten sollen, schalte im Tab Gast-E-Mails E-Mails an Gäste senden aus — dann gehen keine Bestätigungs-, Absage-, Umbuchungs- oder Erinnerungs-E-Mails an Gäste, und Gäste werden nicht als Teilnehmer in den verbundenen Google- oder Outlook-Kalender eingetragen (diese Kalender verschicken ihnen also auch keine Einladung). Benachrichtigungen an den Gastgeber gehen weiterhin raus. Bei Termintypen mit Google Meet oder Microsoft Teams erhalten Gäste den Beitrittslink dann nicht per E-Mail. Der automatische Absender verwendet das SMTP des Workspace oder bei Kunden das SMTP des Resellers. Berechtigte direkte Workspaces können ohne eigenes SMTP den Plattform-Mailserver verwenden. Eine ausgewählte verifizierte Adresse nutzt ihren eigenen Versand. Whitelabel-Workspaces wechseln bei fehlendem oder fehlerhaftem SMTP nicht zur Plattformidentität. Google und Outlook versenden ihre Einladungen über das verbundene Kalenderkonto. Die Buchungsbestätigung verwendet deinen gewählten Absender und enthält nach einer erfolgreichen Einladung des Anbieters keine zusätzliche Kalenderdatei. Eigenständige Buchungen und CalDAV verwenden die Kalenderdatei der Bestätigung. Ohne optionale E-Mail erhält der Gast keine Nachricht; der konfigurierte Host kann weiterhin benachrichtigt werden.

Öffentliche Buchungsseite & Einbettung

Jeder aktive Event-Typ hat eine öffentliche Seite im Branding deines Workspace unter https://<your-domain>/book/{workspace}/{slug} – ohne Login nötig. Wähle Embed in der Event-Typ-Liste und entscheide dich für eine von vier Varianten: einen eingebetteten Buchungsablauf, einen schwebenden Pop-up-Button, ein Pop-up über ein eigenes Seitenelement oder einen E-Mail-kompatiblen Link/Button. Für die gewählte Variante werden HTML- und React-Snippets erzeugt; wo sinnvoll stehen helles, dunkles und automatisches Theme zur Wahl. Der HTML-Loader verwendet einen neutralen, nicht geheimen Buchungsschlüssel und wird von derselben Domain wie die öffentliche Buchungsseite geladen: Der Inline-Container füllt die verfügbare Breite und Höhe. Gib seinem übergeordneten Element eine feste Höhe, wenn der Buchungsablauf exakt in einen bestimmten Abschnitt passen soll; andernfalls verwendet der Loader eine sichere Mindesthöhe und wächst mit dem Buchungsinhalt. Schwebende Buttons können in beiden unteren Ecken platziert werden. Element-Klick-Embeds verwenden delegierte Klicks und funktionieren dadurch auch mit mehreren passenden Elementen sowie mit Buttons, die eine React- oder andere Single-Page-App erst später rendert. Auf größeren Displays folgen Pop-ups der gemessenen Buchungshöhe und bleiben vertikal zentriert. Auf kleinen Displays werden sie bildschirmfüllend, berücksichtigen Safe Areas, sperren das Scrollen im Hintergrund und geben den Tastaturfokus an das auslösende Element zurück. Aktiviere Seitenparameter weiterleiten, wenn vorausgefüllte Buchungsfelder oder die Kampagnenzuordnung von der Host-Seite in den Buchungsablauf übernommen werden sollen. Die Option ist standardmäßig aus; wenn sie aktiv ist, werden Parameter gefiltert, die wie Authentifizierungsdaten aussehen. Speichere niemals Geheimnisse in einer Seiten-URL. Das E-Mail-Embed lädt die aktuelle Verfügbarkeit und lässt dich bis zu fünf Zeiten auswählen. Es erzeugt einfachen E-Mail-Text und E-Mail-kompatible HTML-Terminbuttons, die das Buchungsformular mit dem jeweiligen Slot vorausgewählt öffnen. Der Slot wird vor dem Formular erneut geprüft, sodass ein veralteter Termin aus einer alten E-Mail nie gebucht werden kann. Auf einer verifizierten Whitelabel-Domain bleiben Loader und Buchungsseite auf dieser Custom-Domain und verwenden deren Branding; kundenseitige Snippets enthalten kein Plattform-Branding. Bestehende Embeds funktionieren nach einer Workspace-Umbenennung weiter, weil alte Buchungs-Handles auf die aktuelle URL umleiten.

Buchungen verwalten

Öffne Booking im Dashboard, um Termine als Liste zu prüfen. Filtere nach Upcoming, Unconfirmed, Recurring, Past und Canceled. Öffne eine Zeile für Details, Storno oder Umbuchung. Eine Kalenderansicht mit Monat, Woche und Tag ist über dieselbe Toolbar ebenfalls verfügbar. Die öffentliche Buchungsseite ist anders: Besuchende wählen einen Tag im Monatskalender und danach ein Zeitfenster.

Team-Benachrichtigungen

Wer in der Famulor Mobile App angemeldet ist, bekommt als Workspace-Inhaber, -Admin oder -Mitglied eine Push-Benachrichtigung:
  • wenn eine Buchung über die Buchungsseite, einen Assistenten oder die API eingeht (selbst angelegte Buchungen aus dem Dashboard oder mit Milian lösen keine aus)
  • 15 Minuten vor Beginn einer Buchung
  • zum Start
Ein Tipp auf die Benachrichtigung öffnet die Buchung mit Anrufen, E-Mail, Zum-Kalender-hinzufügen, Verschieben und Absagen. Benachrichtigungen kommen in der Kontosprache der jeweiligen Person und zeigen Zeiten in der Zeitzone des Workspace. Wird eine Buchung verschoben, gilt die Erinnerung für die neue Zeit.

Buchung aus Anrufen

Verbinde die integrierte Buchungs-Engine mit einem Assistenten, damit Buchungen mitten im Anruf im selben Kalender landen und mit dem zugehörigen Anruf verknüpft werden. Du weist sie genauso zu wie einen externen Anbieter – siehe Einem Assistenten zuweisen.

Webhooks

Gib einem Event-Typ eine Webhook URL, und Famulor benachrichtigt sie, sobald eine Buchung dieses Event-Typs erstellt, storniert oder umgebucht wird. Beim Speichern der URL erscheint ein Webhook signing secret – wird nur einmal angezeigt, also kopiere es, bevor du die Seite verlässt. Jede Zustellung ist ein POST von booking.created, booking.cancelled oder booking.rescheduled, signiert mit einem HMAC-SHA256 des rohen Bodys in X-Famulor-Signature: sha256=<hex digest>. Das data-Objekt enthält booking_id, die event_type_id/event_type_slug/event_type_name des Event-Typs, invitee (name, email, phone, timezone), start_time und end_time (plus previous_start_time bei einer Umbuchung), status, source (web, call, api oder manual für eine Buchung aus dem Dashboard oder von Milian), die auslösende call_id, wenn die Buchung aus einem Anruf stammt, freien Text unter notes sowie die Antworten auf die konfigurierten Buchungsfragen in jedem Buchungs-Webhook. Ein vollständiges Serverbeispiel inklusive Signaturprüfung findest du unter Webhooks empfangen.

Kalenderansicht

Termine müssen nicht nur als Liste dargestellt werden. Ein kleiner Umschalter rechts in der Bookings-Toolbar wechselt zwischen Liste und einem vollständigen Kalender – die Liste bleibt die Standardansicht, und die gewählte Ansicht wird auf diesem Gerät gemerkt. Liste und Kalender aktualisieren sich live, sobald Termine erstellt, verschoben oder storniert werden – siehe Live-Updates weiter unten.
Buchungskalender in Monatsansicht ohne Termine

Booking → Bookings: Öffne diese Ansicht über das Kalendersymbol. Today, die Pfeile und das Menü Month steuern den Zeitraum; der ausgewählte Tag erscheint rechts.

Der Kalender kennt drei Zeiträume: Monat, Woche und Tag. Monat zeigt ein vertrautes Raster, die Woche beginnt am Montag; Woche und Tag ordnen Termine entlang einer Zeitachse an. Alle drei zeigen Zeiten in der Zeitzone und dem Zeitformat des Workspace an – auch am Tag der Zeitumstellung.

Kopfzeile und Tastenkürzel

Der Kalender hat eine eigene, einzeilige Kopfzeile nach dem Vorbild von Google Calendar: eine umrandete Heute-Schaltfläche, randlose Vor-/Zurück-Pfeile, den aktuellen Zeitraum als schlichten Titel, ein Ansichts-Dropdown (Tag / Woche / Monat) mit einer Checkbox Stornierte Buchungen anzeigen darin, und ganz rechts denselben Liste/Kalender-Umschalter wie zuvor. Eine separate Aktualisieren-Schaltfläche gibt es nicht mehr – sie wird nicht gebraucht. Bei Fokus auf dem Kalender (nicht in einem Textfeld oder Menü) gelten dieselben Tastenkürzel wie bei Google Calendar: D, W, M wechseln den Zeitraum, T springt zu heute, J/N und K/P (oder die Pfeiltasten, bei Fokus auf dem Raster) blättern zum nächsten/vorherigen Zeitraum, und C öffnet eine neue Buchung. Falls die Einzelbuchstaben-Kürzel stören, lassen sie sich über die Checkbox Tastaturkürzel im Ansichts-Dropdown abschalten – die Einstellung wird auf diesem Gerät gemerkt.

Seitenleiste und Farben

Eine einklappbare Seitenleiste (auf größeren Bildschirmen standardmäßig geöffnet, ein Hamburger-Symbol am Anfang der Kopfzeile blendet sie ein/aus, auf dem Smartphone als Sheet) enthält eine Schaltfläche Neue Buchung, einen Mini-Monat zum Anklicken eines beliebigen Tages – mit einem Punkt an Tagen mit Terminen und dem heutigen Tag hervorgehoben –, eine Liste Event-Typen mit einer farbigen Checkbox pro aktiver Terminart zum Filtern des Rasters (mehrere Terminarten lassen sich gleichzeitig anhaken; bestehende Links auf eine einzelne Terminart funktionieren weiterhin), und ein Feld Freie Zeiten für, das festlegt, welche Terminart ihre freien Zeiten zeigt. Jede aktive Terminart erhält automatisch eine eigene Farbe aus einem festen Satz von zehn, stabil über Sitzungen hinweg und lesbar in Hell und Dunkel. Termine sind nach Terminart eingefärbt – so, wie Google nach Kalender einfärbt –, ein stornierter Termin zeigt einen gestrichelten Rahmen, ein abgeschlossener oder nicht wahrgenommener Termin erscheint gedämpft mit einer kleinen Statusmarkierung. Freie Zeiten berücksichtigen weiterhin bestehende Termine, einen verbundenen Kalender, Pufferzeiten und die Mindestvorlaufzeit; eine Anzahl freier Zeiten zeigt sich pro Tag im Monat, schattierte Verfügbarkeit in der Woche und eine antippbare Liste freier Zeiten im Tag. Ein Antippen startet dort direkt eine Buchung für alle, die Termine anlegen dürfen; wer nur lesen darf, bekommt stattdessen einen Link zur öffentlichen Buchungsseite.

Direkt buchen (Click-to-book)

Klicke auf eine freie Stelle in Woche oder Tag, um dort direkt ein Quick-Create-Popover zu öffnen, verankert an einem Platzhalter zur angeklickten Zeit; im Monat öffnest du es für einen Tag, indem du auf eine freie Stelle im Tag klickst (nicht auf die Datumszahl oder einen bestehenden Termin). Die Schaltfläche Neue Buchung in der Seitenleiste, die „+“-Schaltfläche des Kalenders und das Kürzel C öffnen es für die nächste verfügbare Zeit. Wähle die Terminart, eine Zeit aus den echten freien Zeiten dieser Terminart oder eine beliebige andere zukünftige Zeit (oder nutze „Weitere Optionen” für das vollständige Formular, wenn die Terminart zusätzliche Buchungsfragen hat) und trage Name (immer erforderlich), E-Mail und Telefon (nur wenn die Terminart sie verlangt) sowie Notizen ein. Speichere, und der Gast erhält bei angegebener E-Mail-Adresse die übliche Bestätigungs-E-Mail – der Dialog weist darauf hin; der Termin erscheint sofort im Kalender. Du kannst einen Termin auf jede zukünftige Zeit buchen oder verschieben, auch außerhalb der offenen Zeiten der Terminart; der Kalender kennzeichnet eine solche Zeit deutlich als außerhalb der normalen Stunden. Gäste auf deiner öffentlichen Buchungsseite und deine Assistenten am Telefon sehen und buchen dagegen immer nur echte freie Zeiten.

Verschieben per Drag & Drop

Ziehe einen bestätigten, noch nicht begonnenen Termin in Woche oder Tag auf eine neue Zeit oder einen neuen Tag, oder in Monat auf einen anderen Tag (die Uhrzeit bleibt dabei erhalten); die Zielzeit aktualisiert sich live während des Ziehens. Beim Loslassen erscheint eine kurze Bestätigung – „<Gast>s <Terminart> auf <Tag>, <Uhrzeit> verschieben? Der Gast erhält eine Update-E-Mail.” – bevor irgendetwas gesendet wird. Das Ablegen auf einer bereits von einem anderen Termin derselben Terminart belegten Zeit oder in der Vergangenheit wird mit einer klaren Meldung abgelehnt und nichts wird gesendet; das Ablegen auf einer Zeit außerhalb der offenen Zeiten der Terminart ist erlaubt und wird deutlich gekennzeichnet, genau wie beim direkten Buchen.

Live-Updates

Im Kalender gibt es nirgends eine Aktualisieren-Schaltfläche. Kalender und Buchungsliste übernehmen einen neuen, verschobenen oder stornierten Termin von selbst – egal ob von einem beliebigen Gerät, von der öffentlichen Buchungsseite oder von Milian erstellt – mit einer kurzen Hervorhebung für das, was sich gerade geändert hat. Klicke auf einen Termin, um dasselbe Detailfenster wie in der Liste zu öffnen, in dem du ihn umbuchen oder stornieren kannst. Stornierte Termine bleiben ausgeblendet, bis du sie wieder einblendest.
Auf dem Smartphone zeigt der Monat bis zu drei farbige Punkte pro Tag sowie eine Anzahl weiterer Termine; tippe auf einen Tag, um dessen Termine und freie Zeiten zu sehen.
Jede Ansicht, jeder Zeitraum oder Tag, der von der Standardeinstellung (Liste, Monat, heute) abweicht, erscheint in der Adressleiste, sodass ein geteilter Link eine Kollegin oder einen Kollegen zur selben Ansicht führt. Ein Link, der keinen dieser Werte enthält, behält die zuletzt verwendete Ansicht der empfangenden Person.

Plan-Gating

Dein Plan muss Calendar integrations enthalten – dasselbe Plan-Feature, das auch die externen Anbieter auf Kalender & Buchung freischaltet. Ohne dieses Feature kannst du keine Event-Typen erstellen, und öffentliche Buchungsseiten nehmen keine neuen Buchungen an.

API & MCP

Alles oben Beschriebene steht über die öffentliche REST-API und als MCP-Tools unter https://<your-domain>/mcp zur Verfügung. Anbieter-Integrationen (Cal.com, Calendly, Acuity, eTermin, HighLevel) und die Zuweisung eines beliebigen Kalenders zu einem Assistenten sind auf Kalender & Buchung beschrieben. Die Kalenderansicht oben teilt sich ihre Daten mit den Endpunkten unten: Termine über dieselbe Buchungsliste wie GET /api/v1/bookings/list_bookings, und freie Zeiten über denselben Abruf pro Terminart wie GET /api/v1/booking-event-types/{id}/slots/get_booking_slots. GET /api/v1/bookings und list_bookings unterstützen Filter nach Event-Typ, Quelle und Datum – source schließt manual für Buchungen aus dem Dashboard oder von Milian ein. Verwende view=upcoming|unconfirmed|recurring|past|cancelled für dieselben Buchungsansichten wie im Dashboard, oder nutze einen exakten status-Filter; view und status schließen sich gegenseitig aus. Eine Buchung über API oder MCP zu erstellen oder zu verschieben, muss normalerweise auf eine echte freie Zeit aus get_booking_slots treffen, genau wie auf der öffentlichen Buchungsseite. Übergib allow_outside_availability: true an POST /api/v1/bookings, POST /api/v1/bookings/{id}/reschedule, create_booking oder reschedule_booking, um stattdessen auf jede zukünftige Zeit zu buchen oder zu verschieben, auch außerhalb der offenen Zeiten der Terminart – dieselbe Ausnahme, die auch der Dashboard-Kalender bietet. Der Standardwert ist false, bestehende Integrationen sind also nicht betroffen.