# Werkzeuge · Besucher

> MCP-Tools für das Modul Besucher (Coworking): Gäste anmelden, auflisten, lesen, bearbeiten und stornieren, die heute Erwarteten, den Gastgeber suchen und die Ankunft am Empfang markieren oder rückgängig machen.

Das Modul [Besucher](/espacos/visitantes) über den Assistenten: den Gast vorab anmelden, bearbeiten und stornieren, sehen, wer heute am Empfang erwartet wird, und die Ankunft mit Benachrichtigung des Gastgebers markieren. Der Besucher-Kiosk ist ein Bildschirm auf dem iPad; der Assistent bedient ihn **nicht**.

Jedes Tool hat ein Siegel: <span class="tool-kind tool-kind-read">Nur lesen</span> ändert nichts, <span class="tool-kind tool-kind-write">Ändert</span> legt sofort etwas an oder ändert es, und <span class="tool-kind tool-kind-confirm">Mit Bestätigung</span> handelt erst nach deinem Ja zu einer Zusammenfassung. Siehe [Geld und Bestätigung](/mcp/dinheiro-e-confirmacao).

## Kurz gesagt

| Tool | Was es tut | Mindestrolle | Typ |
|---|---|---|---|
| [`create_visitor_invitation`](#create-visitor-invitation) | Meldet einen Gast an | Jede Rolle mit Zugriff auf den Bereich (die Konfiguration kann es einschränken); das Team, im Namen eines anderen Gastgebers | <span class="tool-kind tool-kind-write">Ändert</span> |
| [`list_visitor_invitations`](#list-visitor-invitations) | Listet und sucht Gäste | Jede (das Mitglied sieht die eigenen) | <span class="tool-kind tool-kind-read">Nur lesen</span> |
| [`get_visitor_invitation`](#get-visitor-invitation) | Eine Anmeldung | Inhaber der Anmeldung oder Team | <span class="tool-kind tool-kind-read">Nur lesen</span> |
| [`update_visitor_invitation`](#update-visitor-invitation) | Bearbeitet vor der Ankunft | Inhaber der Anmeldung oder Team | <span class="tool-kind tool-kind-write">Ändert</span> |
| [`cancel_visitor_invitation`](#cancel-visitor-invitation) | Storniert eine Anmeldung | Inhaber der Anmeldung oder Team | <span class="tool-kind tool-kind-confirm">Mit Bestätigung</span> |
| [`list_visitors_today`](#list-visitors-today) | Die Erwarteten und die Angekommenen von heute | Moderator oder Finanzen | <span class="tool-kind tool-kind-read">Nur lesen</span> |
| [`search_visitor_hosts`](#search-visitor-hosts) | Findet den Gastgeber | Moderator oder Finanzen | <span class="tool-kind tool-kind-read">Nur lesen</span> |
| [`mark_visitor_arrived`](#mark-visitor-arrived) | Markiert die Ankunft | Moderator oder Finanzen | <span class="tool-kind tool-kind-write">Ändert</span> |
| [`undo_visitor_arrival`](#undo-visitor-arrival) | Macht eine Ankunft rückgängig | Moderator oder Finanzen | <span class="tool-kind tool-kind-write">Ändert</span> |

Die Rollen sind die der Routen: Der Assistent tut nie mehr, als die angemeldete Person in der Oberfläche tun würde. Das Team ist hier Eigentümer, Administrator, Moderator und Finanzen; Moderator und Finanzen bearbeiten **nur die Gäste von heute**. Den Bereich legst du mit [`create_space`](/mcp/ferramentas-comunidade#create-space) und `module: "visitors"` an; [`update_space`](/mcp/ferramentas-comunidade#update-space) ändert nur, was du mitschickst.

## Die Konfiguration des Bereichs

Das Argument `visitors` von `create_space` und `update_space` akzeptiert:

| Feld | Typ | Beschreibung |
|---|---|---|
| `attendance_space_id` | ID | Der [Anwesenheit](/mcp/ferramentas-presenca)-Bereich, in dem die Ankünfte erfasst werden. Beim Anlegen Pflicht (`list_spaces`) |
| `who_can_invite` | `members`, `staff` oder `group` | Wer anmeldet: jedes Mitglied mit Zugriff, nur das Team oder die Gruppe aus `inviter_group_id` plus das Team |
| `inviter_group_id` | ID oder `null` | Die Gruppe derer, die anmelden (`list_groups`); mit `group` Pflicht |
| `fields` | `{company, email, phone}`, je `off`, `optional` oder `required` | Was das Formular vom Gast abfragt |
| `notify_host_on_register` | wahr oder falsch | Bestätigt die Anmeldung per E-Mail an den Gastgeber (Voreinstellung: ja) |
| `email_guest` | `off`, `optional` oder `always` | Die [E-Mail an den Gast](/espacos/visitantes#e-mail-an-den-gast) (Voreinstellung: `off`) |
| `arrival_instructions` | Text bis 500 Zeichen, oder `null` | Wohin und nach wem fragen |
| `max_expected_per_host_per_day` | 1 bis 1000, oder `null` | Limit an Gästen pro Gastgeber und Tag |

## `create_visitor_invitation`

<span class="tool-kind tool-kind-write">Ändert</span>

**Einen Gast anmelden.** Legt kein Konto für den Gast an. Wen die Konfiguration lässt, meldet für sich an; das Team übergibt `host_profile_id`, um im Namen eines anderen anzumelden. Firma, E-Mail und Telefon folgen der Konfiguration (ein ausgeschaltetes Feld wird ignoriert; ein fehlendes Pflichtfeld wird abgelehnt). Der Gastgeber kann eine Bestätigungs-E-Mail erhalten und der Gast eine weitere, je nach `notify_guest` und Konfiguration; der Assistent sagt es der Person. Das sind personenbezogene Daten einer dritten Person. *Rolle: jede mit Zugriff auf den Bereich.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `space` | ID oder Link | Ja | Der Besucher-Bereich |
| `guest_name` | Text | Ja | Bis 100 Zeichen |
| `expected_date` | `JJJJ-MM-TT` | Ja | In der Zeitzone der Community; darf nicht in der Vergangenheit liegen |
| `start_time` | `HH:mm` | Ja | Startzeit, in der Zeitzone der Community |
| `end_time` | `HH:mm` | Nein | Nach dem Beginn |
| `guest_company`, `guest_email`, `guest_phone` | Text | Je nach Konfiguration | |
| `notify_guest` | wahr oder falsch | Nein | Benachrichtigt den Gast per E-Mail; gilt nur mit E-Mail und gemäß `email_guest` |
| `host_profile_id` | ID | Nein | Nur das Team: der Gastgeber (`search_visitor_hosts`). Ohne ihn bist du es |

**Frag so:** *„Melde Maria Souza (maria@memberfy.net) als meine Besucherin morgen von 14 bis 15 Uhr an.“*

## `list_visitor_invitations`

<span class="tool-kind tool-kind-read">Nur lesen</span>

**Die Gäste auflisten.** Nach erwarteter Uhrzeit. Das Mitglied sieht nur die eigenen (als Gastgeber oder als Anmeldender), von jedem Datum; Moderator und Finanzen sehen zusätzlich alle von heute; Administrator und Eigentümer sehen jedes Datum. Jeder Eintrag sagt, was du tun darfst (`canEdit`, `canCancel`, `canArrive`, `canUndoArrival`). *Rolle: jede mit Zugriff auf den Bereich.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `space` | ID oder Link | Ja | |
| `status` | `EXPECTED`, `ARRIVED`, `CANCELED` oder `NO_SHOW` | Nein | `EXPECTED` gilt ab heute; `NO_SHOW` ist ein Erwarteter eines vergangenen Tages |
| `from`, `to` | `JJJJ-MM-TT` | Nein | Zeitraum, einschließlich, in der Zeitzone der Community |
| `q` | Text | Nein | Teil des Namens oder der Firma |
| `page`, `limit` | Zahlen | Nein | Paginierung (bis 100) |

**Frag so:** *„Welche Gäste habe ich für diese Woche angemeldet?“*

## `get_visitor_invitation`

<span class="tool-kind tool-kind-read">Nur lesen</span>

**Eine Anmeldung.** Der Gastgeber und wer angemeldet hat, lesen die eigene; das Team liest die von heute; Eigentümer und Administrator jede. Eine andere Anmeldung, eine andere Community oder eine unbekannte ID: `404`. *Rolle: jede.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `invitation_id` | ID | Ja | Aus `list_visitor_invitations` oder `list_visitors_today` |

## `update_visitor_invitation`

<span class="tool-kind tool-kind-write">Ändert</span>

**Vor der Ankunft bearbeiten.** Nach der Ankunft oder nach dem Stornieren lautet die Antwort `409`. Schicke nur, was sich ändert; `host_profile_id` ist dem Team vorbehalten. Eine Änderung von Tag, Uhrzeit oder Gastgeber sendet eine neue Bestätigung an den Gastgeber, einmal pro Änderung. Der Inhaber der Anmeldung und das Team bearbeiten (Moderator und Finanzen nur die von heute). *Rolle: jede, je nachdem, wer bearbeiten darf.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `invitation_id` | ID | Ja | |
| `guest_name`, `guest_company`, `guest_email`, `guest_phone` | Text | Nein | |
| `expected_date`, `start_time`, `end_time` | Datum und Uhrzeiten | Nein | Dieselben Formate wie `create_visitor_invitation` |
| `notify_guest` | wahr oder falsch | Nein | |
| `host_profile_id` | ID | Nein | Nur das Team |

**Frag so:** *„Ändere den Besuch von Maria auf 15 Uhr.“*

## `cancel_visitor_invitation`

<span class="tool-kind tool-kind-confirm">Mit Bestätigung</span>

**Eine Anmeldung stornieren.** Wird **Storniert**; nichts wird gelöscht. Wer angemeldet hat, der Gastgeber oder das Team (Moderator und Finanzen nur die von heute). Bereits storniert: Nichts ändert sich. Schon angekommen: `409`, mach vorher die Ankunft rückgängig. *Rolle: jede, je nachdem, wer stornieren darf.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `invitation_id` | ID | Ja | |

**Liefert:** beim ersten Aufruf die Zusammenfassung (Gast, Gastgeber, Tag und Uhrzeit) und den Bestätigungscode.

## `list_visitors_today`

<span class="tool-kind tool-kind-read">Nur lesen</span>

**Die Sicht des Empfangs.** Die Erwarteten und die schon Angekommenen von heute (Zeitzone der Community), aller Gastgeber, mit den Zählungen. Stornierte und „nicht erschienen“ erscheinen nicht. `alreadyMember` zeigt an, dass die E-Mail des Gastes die eines Mitglieds ist. *Mindestrolle: Moderator (oder Finanzen).*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `space` | ID oder Link | Ja | |
| `q` | Text | Nein | Name oder Firma, ohne Rücksicht auf Akzente und Groß-/Kleinschreibung |

**Frag so:** *„Wen erwarte ich heute am Empfang?“*

## `search_visitor_hosts`

<span class="tool-kind tool-kind-read">Nur lesen</span>

**Den Gastgeber finden.** Mitglieder des Bereichs, deren Name (oder ein Wort davon) mit `q` beginnt, ab 3 Buchstaben. Liefert nur ID, Name, Foto und Initialen; die ID ist die `host_profile_id` von `create_visitor_invitation`. *Mindestrolle: Moderator (oder Finanzen).*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `space` | ID oder Link | Ja | |
| `q` | Text | Ja | 3 bis 100 Zeichen |

## `mark_visitor_arrived`

<span class="tool-kind tool-kind-write">Ändert</span>

**Die Ankunft markieren.** Legt den Besuch in der verknüpften Anwesenheit an (Methode Empfang, mit dem Namen der Anmeldung) oder verknüpft den, den das Team schon erfasst hatte. Der Gastgeber wird per E-Mail benachrichtigt, wenn die Anwesenheit darauf eingestellt ist; `hostNotified` sagt, ob die Benachrichtigung in die Warteschlange ging, und der Assistent sagt es der Person. Idempotent: Der zweite Aufruf liefert `alreadyArrived: true`. Nur am Tag der Anmeldung (anderer Tag: `409`); außerhalb des Zeitfensters ist es erlaubt; storniert: `409`. *Mindestrolle: Moderator (oder Finanzen).*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `invitation_id` | ID | Ja | Aus `list_visitors_today` |

**Liefert:** `invitation`, `visit`, `hostNotified` und `alreadyArrived`.

**Frag so:** *„Maria Souza ist angekommen.“*

## `undo_visitor_arrival`

<span class="tool-kind tool-kind-write">Ändert</span>

**Eine versehentlich markierte Ankunft rückgängig machen.** Am selben Tag und vor dem Abgang des Gastes. Der Besuch verschwindet aus den Listen und der Auslastung (bleibt im Protokoll der Anwesenheit), und die Anmeldung kehrt zu **Erwartet** zurück. Ohne Ankunft, an einem anderen Tag oder schon gegangen: `409`. *Mindestrolle: Moderator (oder Finanzen).*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `invitation_id` | ID | Ja | |

## Verwandte Artikel

- [Besucher](/espacos/visitantes)
- [Werkzeuge: Anwesenheit](/mcp/ferramentas-presenca)
- [Werkzeuge](/mcp/ferramentas)
- [Geld und Bestätigung](/mcp/dinheiro-e-confirmacao)
- [Rezepte](/mcp/receitas)
