# Ein Erstgespräch mit Ralf Holtkamp buchen Ralf Holtkamp bietet ein 30-minütiges Erstgespräch über Google Meet an. Verfügbarkeiten und Buchung werden mit seinem Kalender abgeglichen. Freie Erstgespräch-Termine können mit einem KI-Assistenten aus Ralf Holtkamps Kalender abgefragt, vorbereitet und nach ausdrücklicher Zustimmung im Chat verbindlich gebucht werden. ## Zugang Die Buchungsfunktion kann mit vorhandenen WebMCP- oder JavaScript-Browserwerkzeugen genutzt werden. Eine Installation oder ein Neustart wird dafür nicht verlangt. Bereitgestellt werden drei WebMCP-Werkzeuge und die Seitenfunktion window.erstgespraech für vorhandenen JavaScript-Browserzugriff. ## Ablauf 1. erstgespraech_termine: Freie Termine werden in der gewünschten Zeitzone angezeigt. Dafür werden keine Kontaktdaten benötigt. 2. erstgespraech_vorbereiten: Der gewählte Termin wird mit Vorname, Nachname, E-Mail-Adresse, Telefonnummer und Nachricht vorbereitet. Zurückgegeben werden eine Zusammenfassung und ein fünf Minuten gültiges Bestätigungstoken. Dabei wird noch nichts gebucht oder versandt. 3. erstgespraech_bestaetigen: Erst nach ausdrücklicher Zustimmung zur unveränderten Zusammenfassung im Chat wird gebucht. Danach wird eine E-Mail-Bestätigung mit Meeting-Link versandt. Bei geänderten Angaben oder abgelaufenem Token sind eine neue Vorbereitung und Zustimmung erforderlich. Vor der Buchung ist die ausdrückliche Zustimmung zum Termin, E-Mail-Empfänger, zu den Kontaktdaten und zur Nachricht erforderlich. Erst danach darf confirm mit dem unveränderten confirmationToken und userConfirmed: true aufgerufen werden. Es werden bis zu zwölf freie Zeitfenster im aktuellen Buchungszeitraum ausgegeben. hasMore weist auf weitere Zeiten hin. Bei unklarem Buchungsergebnis darf nicht erneut gebucht werden; stattdessen ist Ralf Holtkamp zu kontaktieren. ## Seitenfunktion Über die Seitenfunktion werden describe(), availability({timezone}), prepare({firstName,lastName,email,phone,message,start,timezone}) und confirm({confirmationToken,userConfirmed:true}) bereitgestellt. Für start wird der exakte UTC-Termin aus availability verwendet; timezone ist eine IANA-Zeitzone, zum Beispiel Europe/Berlin. window.erstgespraech.describe() await window.erstgespraech.availability({timezone: "Europe/Berlin"}) await window.erstgespraech.prepare({firstName, lastName, email, phone, message, start, timezone}) await window.erstgespraech.confirm({confirmationToken: "TOKEN", userConfirmed: true}) ## Datenschutz Kontaktdaten, Nachricht und Termin werden für die Buchung verwendet; Aufrufseite und Buchungsweg werden zum Termin festgehalten. Eine Werbeeinwilligung wird dabei nicht erteilt. Weitere Informationen stehen in der Datenschutzerklärung. [Datenschutzerklärung](/datenschutz) [Erstgespräch mit Ralf Holtkamp](/erstgespraech)