Werkzeuge · Buchungen und Terminbuchung
MCP-Tools für Buchungen (Räume, Tische und Arbeitsplätze) und Terminbuchung (Zeiten von Personen): freie Zeiten finden, mit Kosten in Credits buchen, verschieben, stornieren, Nichterscheinen, Kalendereinladung, Räume, Sperren, Preisstufen und Freigabe von Agenden. Mindestrolle und Rezepte.
Das Modul Buchungen und die Terminbuchung über den Assistenten: freie Räume und Zeiten finden (mit den Kosten in Credits und deinem Stand), buchen, verschieben, stornieren, Nichterscheinen markieren, die Kalendereinladung herunterladen, Räume und Tische anlegen, Zeiten sperren, Preise festlegen und Agenden von Mitgliedern freigeben. Beide Module nutzen dieselben Buchungs-Tools; die der Terminbuchung sind die letzten fünf.
Jedes Tool hat ein Siegel: Nur lesen ändert nichts, Ändert legt sofort etwas an oder ändert es, und Mit Bestätigung handelt erst nach deinem Ja zu einer Zusammenfassung. Siehe Geld und Bestätigung.
Kurz gesagt
| Tool | Was es tut | Mindestrolle | Typ |
|---|---|---|---|
search_booking_rooms | Findet, was zur Anfrage passt, mit Kosten und Stand | Alle, die den Bereich sehen | Nur lesen |
check_availability | Die freien und belegten Zeiten eines Tages | Alle, die den Bereich sehen | Nur lesen |
list_booking_resources | Die Räume, Tische, Arbeitsplätze und Agenden | Alle, die den Bereich sehen | Nur lesen |
list_booking_amenities | Der Katalog der Ausstattung | Alle | Nur lesen |
get_booking_resource | Ein Raum mit den bereits aufgelösten Regeln | Alle, die den Bereich sehen | Nur lesen |
create_booking | Bucht für dich und zieht deine Credits ab | Alle | Ändert |
create_booking_for_member | Bucht im Namen eines Mitglieds und zieht dessen Credits ab | Moderator (oder Finanzen) | Mit Bestätigung |
list_my_bookings | Deine Buchungen (oder die bei dir gebuchten) | Alle | Nur lesen |
list_bookings | Alle Buchungen der Community | Moderator (oder Finanzen) | Nur lesen |
get_booking | Eine Buchung | Inhaber der Buchung, Gastgeber und Team | Nur lesen |
cancel_booking | Storniert und erstattet nach der Regel | Inhaber der Buchung, Gastgeber und Team | Mit Bestätigung |
reschedule_booking | Ändert die Zeit und verrechnet die Credits | Inhaber der Buchung, Gastgeber und Team | Mit Bestätigung |
mark_booking_no_show | Markiert das Nichterscheinen | Team und Gastgeber | Ändert |
get_booking_ics | Die Kalendereinladung (.ics) | Inhaber der Buchung, Gastgeber und Team | Nur lesen |
create_booking_resource | Legt einen Raum, Tisch oder eine Agenda an | Administrator (Räume) | Ändert |
update_booking_resource | Bearbeitet, ersetzt oder entfernt das Foto | Administrator (Räume) | Ändert |
delete_booking_resource | Löscht (und storniert die künftigen Buchungen) | Administrator | Mit Bestätigung |
list_availability_exceptions | Sperren und Zusatzzeiten | Alle, die den Bereich sehen | Nur lesen |
create_availability_exception | Sperrt oder öffnet einen Zeitraum | Team (Räume) | Ändert |
cancel_bookings_for_closure | Sperrt und storniert die Buchungen des Zeitraums | Team (Räume) | Mit Bestätigung |
delete_availability_exception | Entfernt eine Sperre oder Zusatzzeit | Team (Räume) | Mit Bestätigung |
list_price_rules | Die Preisstufen eines Raums | Administrator | Nur lesen |
create_price_rule | Legt eine Preisstufe an | Administrator | Ändert |
update_price_rule | Bearbeitet eine Stufe | Administrator | Ändert |
delete_price_rule | Entfernt eine Stufe | Administrator | Mit Bestätigung |
get_scheduling_config | Die Regeln der Terminbuchung und deine Agenden | Alle, die den Bereich sehen | Nur lesen |
search_scheduling_hosts | Personen mit freier Zeit | Alle, die den Bereich sehen | Nur lesen |
get_scheduling_host | Die Seite einer Person, mit dem Zeitraster | Alle, die den Bereich sehen | Nur lesen |
list_pending_scheduling_offers | Agenden, die auf Freigabe warten | Administrator | Nur lesen |
set_booking_resource_listing | Gibt eine Agenda frei oder nimmt sie aus der Liste | Administrator | Ändert |
„Team“ sind Eigentümer, Administrator, Moderator und Finanzen. Die Rollen sind die der Routen: Der Assistent tut nie mehr, als die verbundene Person in der Oberfläche tun würde.
Die Bereiche werden mit create_space und module: "bookings" oder "scheduling" angelegt; update_space ändert nur, was du schickst. Das Argument bookings enthält die Standardwerte jedes Raums (slot_minutes, min_duration_minutes, max_duration_minutes, min_notice_minutes, max_advance_days, show_booker_name und opening_hours, mit den Schlüsseln mon bis sun und Zeiträumen HH:MM); scheduling enthält dieselben und dazu offerers (ADMINS, TEAM oder MEMBERS), allow_paid_slots und require_listing_approval.
Zeiten. Die Zeiten, die du schickst, gelten immer nach der Uhr der Community ("2026-11-03T14:00", ohne Suffix). Kosten. Buchen, Verschieben und Stornieren berühren die Credits: Der Assistent nennt vor dem Buchen die Kosten und den Stand. Ohne genug Credits enthält die Antwort required, balance und shortfall; bei belegter Zeit die nächsten freien Zeiten.
Suchen und abfragen
search_booking_rooms
Nur lesen
Was zur Anfrage passt. Gib einen genauen Beginn (starts_at) oder ein Zeitfenster des Tages (date mit from und to) an, dazu Dauer, Kapazität und Ausstattung. Liefert nur die passenden Ressourcen, mit den freien Startzeiten, den Kosten in Credits, canAfford und deinem Stand, sortiert nach der frühesten Zeit und dann nach der kleinsten Kapazität; passt nichts, listet next_slots die nächsten Zeiten für dieselbe Anfrage.
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
space | ID oder Link | Ja | Der Bereich Buchungen oder Terminbuchung |
starts_at | Datum und Uhrzeit | Nein | Genauer Beginn, Ortszeit |
date, from, to | Tag JJJJ-MM-TT, HH:MM | Nein | Das Zeitfenster einer Suche |
duration_minutes | Zahl, 5 oder mehr | Nein | Dauer |
capacity | Zahl | Nein | Wie viele Personen hineinpassen müssen |
amenities | Liste von Schlüsseln | Nein | Alle werden verlangt (aus list_booking_amenities) |
kind | ROOM, DESK, STATION, OTHER oder PERSON | Nein | Die Art |
host_profile_id | ID | Nein | Nur die Agenden dieser Person |
Frag so: „Ich brauche morgen von 14 bis 16 Uhr einen Raum für 6 Personen, mit Beamer.“
check_availability
Nur lesen
Frei und belegt. Die Zeiten eines Tages (oder von bis zu 7), berechnet aus den Wochenzeiten, den Sperren und den Buchungen, jede freie mit creditCost und canAfford. Sagt nie, wer gebucht hat, es sei denn, der Bereich zeigt den Namen.
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
space | ID oder Link | Ja | |
date | JJJJ-MM-TT | Nein | Der Tag (Voreinstellung: heute) |
days | 1 bis 7 | Nein | Wie viele Tage |
resource_id, host_profile_id | ID | Nein | Nur ein Raum oder nur eine Person |
duration_minutes | Zahl | Nein | Voreinstellung: die kürzeste Buchung |
list_booking_resources
Nur lesen
Die Räume. Räume, Tische, Arbeitsplätze und Agenden des Bereichs. Das Mitglied sieht nur die sichtbaren, aktiven und für Buchungen geöffneten; das Team sieht alle. Parameter: space (Pflicht), kind, host_profile_id, page, limit.
list_booking_amenities
Nur lesen
Der Katalog der Ausstattung, die die Community akzeptiert (Beamer, TV, Whiteboard, WLAN …). Ein Schlüssel außerhalb des Katalogs wird abgewiesen. Ohne Parameter.
get_booking_resource
Nur lesen
Ein Raum mit den wirksamen Regeln, bereits mit den Standardwerten des Bereichs kombiniert (Zeiten, Raster, Grenzen der Dauer, Vorlauf, Stornofrist). Parameter: resource_id.
Buchen
create_booking
Ändert
Für dich buchen. Bucht sofort (bereits bestätigt) und zieht deine Credits im selben Schritt ab. Vorher nennt der Assistent Kosten und Stand. Um im Namen eines anderen Mitglieds zu buchen, nutze create_booking_for_member. Die Kulanz (waive_credits mit waive_reason) steht nur Eigentümer und Administrator zu. Die Bestätigungs-E-Mail mit der Kalendereinladung kommt in die Warteschlange. Liefert creditCost und balanceAfter.
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
resource_id | ID | Ja | Aus list_booking_resources oder der Suche |
starts_at | Datum und Uhrzeit | Ja | Ortszeit, z. B. 2026-11-03T14:00 |
ends_at oder duration_minutes | Datum und Uhrzeit oder Zahl | Eines von beiden | Voreinstellung: die kürzeste Buchung |
attendee_count | Zahl | Nein | Wie viele Personen |
title, notes | Text | Nein | Wofür und Notizen |
waive_credits, waive_reason | wahr oder falsch, Text | Nein | Kulanz, nur Eigentümer und Administrator |
Frag so: „Buche Raum 2 morgen von 14 bis 16 Uhr für 6 Personen.“
create_booking_for_member
Mit Bestätigung
Im Namen eines Mitglieds buchen. Zieht dessen Credits ab (oder ist als Kulanz kostenlos, nur Eigentümer und Administrator, mit waive_reason), und das Mitglied erhält die E-Mail mit der Einladung. Vor dem Handeln zeigt es eine Zusammenfassung mit dem Mitglied und dessen Stand und wiederholt den Aufruf erst nach deinem Ja. Dieselben Parameter und Antworten wie create_booking, dazu profile_id. Mindestrolle: Moderator (oder Finanzen).
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
profile_id | ID | Ja | Das Mitglied (list_members) |
Frag so: „Buche Raum 1 am Freitag um 10 Uhr im Namen von Maria.“
list_my_bookings
Nur lesen
Deine Buchungen, oder, mit as_host, die, die Personen in der Agenda gemacht haben, die du anbietest. Filter: space, resource_id, status (Liste, z. B. CONFIRMED,NO_SHOW), from, to, order, page, limit. Jede enthält canCancel.
list_bookings
Nur lesen
Alle Buchungen der Community, mit denselben Filtern. Mindestrolle: Moderator (oder Finanzen).
get_booking
Nur lesen
Eine Buchung: Raum, Person, Zeiten, Zustand, Kosten in Credits, ob es Kulanz oder eine späte Stornierung war und was die fragende Person tun kann. Nur der Inhaber der Buchung, der Gastgeber und das Team; jede andere Person erhält 404. Parameter: booking_id.
Eine Buchung ändern
cancel_booking
Mit Bestätigung
Stornieren. Storniert der Inhaber nach der Frist (standardmäßig 24 Stunden), wird die Stornierung als spät markiert, und die Credits können verloren gehen; innerhalb der Frist, oder wenn Team oder Gastgeber stornieren, wird vollständig erstattet. Die Person erhält die E-Mail, und der Termin wird in ihrem Kalender abgesagt. Eine Buchung, die schon begonnen hat, lässt sich nicht stornieren (nutze das Nichterscheinen). Zeigt eine Zusammenfassung und handelt erst nach deinem Ja.
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
booking_id | ID | Ja | |
reason | Text | Nein | Steht in der E-Mail |
reschedule_booking
Mit Bestätigung
Verschieben. Ändert die Zeit im selben Raum (was du nicht schickst, bleibt, und die Dauer bleibt gleich). Berührt die Credits: Eine teurere Zeit bucht die Differenz ab (ohne genug Credits enthält die Antwort shortfall), eine günstigere erstattet, eine Kulanz-Buchung berührt das Buch nicht. Die Einladung wird aktualisiert, und die Person erhält eine E-Mail. Zeigt die Zusammenfassung und liefert charged, refunded und balanceAfter.
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
booking_id | ID | Ja | |
starts_at, ends_at, duration_minutes | Datum und Uhrzeit, Zahl | Nein | Die neue Zeit |
attendee_count | Zahl | Nein |
mark_booking_no_show
Ändert
Nichterscheinen markieren. Nur für eine bestätigte Buchung, die schon begonnen hat. Die Community entscheidet, ob die Credits verfallen; die Antwort sagt, wie viele erstattet wurden. Team und Gastgeber. Parameter: booking_id.
get_booking_ics
Nur lesen
Die Kalendereinladung, dieselbe Datei wie in der Bestätigungs-E-Mail, als Text in ics mit dem Dateinamen geliefert (eine stornierte Buchung liefert die Absage). Parameter: booking_id.
Räume, Sperren und Preise
create_booking_resource
Ändert
Einen Raum, Tisch oder eine Agenda anlegen. kind ist ROOM, DESK, STATION oder OTHER (Eigentümer und Administrator); in der Terminbuchung PERSON: Wer die Agenda einer Person anlegen darf, entscheidet offerers des Bereichs (ein Mitglied legt nur seine eigene an). Die Art ändert sich danach nicht. Ohne Preisstufe ist er kostenlos.
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
space | ID oder Link | Ja | |
kind | Art | Ja | |
name | Text | Ja | Wie die Mitglieder ihn sehen |
description, capacity, units, amenities | Nein | units: gleichzeitige Buchungen (1 = exklusiv) | |
bookable, active, listed | wahr oder falsch | Nein | listed nur Eigentümer und Administrator |
meeting_url | Link | Nein | Link zur Videokonferenz |
opening_hours | Wochenzeiten | Nein | Schlüssel mon bis sun, Zeiträume HH:MM |
slot_minutes, min_duration_minutes, max_duration_minutes, buffer_minutes, min_notice_minutes, max_advance_days, cancellation_window_hours | Zahl | Nein | Leer: folgt dem Bereich |
image_url oder image_base64 | Nein | Das Foto | |
owner_profile_id | ID | Nein | Terminbuchung, Eigentümer und Administrator: wem die Agenda gehört |
update_booking_resource
Ändert
Bearbeiten. Ändert nur, was du schickst; ersetzt das Foto mit image_url oder image_base64 und entfernt es mit remove_image. Bestehende Buchungen behalten ihren Preis. Parameter resource_id plus die Felder oben. In der Terminbuchung bearbeitet, wer anbietet, die eigene Agenda, außer listed.
delete_booking_resource
Mit Bestätigung
Löschen. Mit aktiven künftigen Buchungen ist die Antwort 409 mit deren Liste; mit cancel_bookings: true storniert es alle (vollständige Erstattung und E-Mail an jede Person) und löscht. Eigentümer oder Administrator.
list_availability_exceptions
Nur lesen
Sperren (CLOSED) und Zusatzzeiten (OPEN) eines Raums ab jetzt. Parameter: resource_id, from.
create_availability_exception
Ändert
Einen Zeitraum sperren oder öffnen. kind ist CLOSED (Voreinstellung: Wartung, Feiertag) oder OPEN (Zusatzzeit). Eine Sperre mit aktiven Buchungen wird mit 409 und deren Liste abgewiesen: Um sie zu stornieren, nutze cancel_bookings_for_closure. Räume: das Team; Agenden von Personen: wer anbietet, sowie Eigentümer und Administrator.
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
resource_id | ID | Ja | |
starts_at, ends_at | Datum und Uhrzeit | Ja | Ortszeit |
kind | CLOSED oder OPEN | Nein | Voreinstellung CLOSED |
reason | Text | Nein | Erscheint für alle, deren Buchung storniert wird |
cancel_bookings_for_closure
Mit Bestätigung
Sperren und stornieren. Sperrt den Zeitraum und storniert jede aktive Buchung darin: Jede wird vollständig erstattet, jede Person erhält die E-Mail, und der Termin wird im Kalender abgesagt. Sagt, wie viele storniert wurden. Nutze es, nachdem create_availability_exception mit 409 geantwortet hat und die Person zugestimmt hat. Parameter: resource_id, starts_at, ends_at, reason.
delete_availability_exception
Mit Bestätigung
Entfernt eine Sperre oder Zusatzzeit. Die Buchungen, die die Sperre schon storniert hat, kommen nicht zurück. Parameter: resource_id, exception_id.
list_price_rules
Nur lesen
Die Preisstufen eines Raums (die einzige Preisquelle; ohne Stufe ist er kostenlos). Es gilt die erste passende: bestimmtes Datum, dann Wochentag, dann die Voreinstellung; die Kosten gelten pro Block, und jeder Block nutzt die Stufe, in der er beginnt. Eigentümer oder Administrator. Parameter: resource_id.
create_price_rule
Ändert
Eine Stufe anlegen. Zum Beispiel 3 Credits pro 30 Minuten. Eine von einem Mitglied angebotene Zeit ist immer kostenlos; in der Terminbuchung braucht eine bezahlte Stufe Bezahlte Zeiten erlauben im Bereich (409). Abrechnung in Geld gibt es noch nicht.
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
resource_id | ID | Ja | |
mode | FREE oder CREDITS | Ja | |
block_minutes | 5 bis 1440 | Mit CREDITS | Die Größe des Blocks |
credits | ganze Zahl | Mit CREDITS | Credits pro Block |
weekday | 0 (Sonntag) bis 6 | Nein | Leer: jeder Tag |
specific_date | JJJJ-MM-TT | Nein | Hat Vorrang vor dem Wochentag |
from_time, to_time | HH:MM | Nein | Der Abschnitt des Tages |
update_price_rule
Ändert
Bearbeitet eine Stufe (resource_id, rule_id und nur, was sich ändert). Bereits getätigte Buchungen behalten ihren Preis.
delete_price_rule
Mit Bestätigung
Entfernt eine Stufe. Ohne jede Stufe ist der Raum kostenlos; bereits getätigte Buchungen behalten ihren Preis. Parameter: resource_id, rule_id.
Terminbuchung
get_scheduling_config
Nur lesen
Die Regeln des Bereichs: wer anbietet (offerers), allowPaidSlots, requireListingApproval, ob du jetzt anbieten kannst, deine Agenden und, für Eigentümer und Administrator, wie viele Angebote auf Freigabe warten. Die Zeit eines Mitglieds ist immer kostenlos. Parameter: space.
search_scheduling_hosts
Nur lesen
Personen mit freier Zeit. Jede kommt mit ihren Agenden, der Zahl freier Zeiten und den nächsten 3 (kostenlos oder mit Kosten in Credits, mit canAfford) sowie deinem Stand. Hat niemand Zeit, schlägt es die nächstgelegenen vor. Zum Buchen nutze create_booking.
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
space | ID oder Link | Ja | |
q | Text | Nein | Teil des Namens |
date, from, to | Nein | Der Tag und das Zeitfenster; ohne Tag die nächsten 14 | |
duration_minutes, host_profile_id, page, limit | Nein |
get_scheduling_host
Nur lesen
Die Seite einer Person, mit dem Raster der freien Zeiten pro Tag (1 bis 7 Tage). Eine Person ohne sichtbare Agenda, die ihre Rolle verloren hat oder aus einer anderen Community ist, antwortet mit 404. Parameter: space, profile_id, date, days, duration_minutes.
list_pending_scheduling_offers
Nur lesen
Agenden, die auf Freigabe warten, jede mit dem Inhaber und ob er die Anbieter-Regel noch erfüllt. Eigentümer oder Administrator. Parameter: space.
set_booking_resource_listing
Ändert
Eine Agenda freigeben oder aus der Liste nehmen. listed: true gibt frei (die Agenda erscheint den Mitgliedern); false nimmt sie aus der Liste (storniert keine bereits getätigte Buchung, verhindert nur neue). Umkehrbar, ohne Bestätigung. Eigentümer oder Administrator. Parameter: resource_id, listed.