# Werkzeuge · Anwesenheit

> MCP-Tools für das Modul Anwesenheit (Coworking): die Auslastung, Ich bin da und Ich gehe, wer da ist, Gäste, Verlauf, Korrektur und Entfernen von Besuchen und die Kiosk-Links für den Empfang.

Das Modul [Anwesenheit](/espacos/presenca) über den Assistenten: die Auslastung sehen, Ankunft und Abgang erfassen (von dir, einem Mitglied oder einem Gast), auflisten, wer im Bereich ist, und den Verlauf, Besuche korrigieren oder entfernen und Kiosk-Links erstellen und sperren. Der Kiosk selbst ist ein Bildschirm für Gäste auf dem iPad am Empfang; der Assistent **verwaltet** die Links, bedient aber nicht den Kiosk.

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 |
|---|---|---|---|
| [`get_attendance_overview`](#get-attendance-overview) | Die Auslastung und dein offener Besuch | Alle, die den Bereich sehen | <span class="tool-kind tool-kind-read">Nur lesen</span> |
| [`check_in`](#check-in) | Erfasst die Ankunft, deine oder die eines Mitglieds | Alle (deine); Moderator oder Finanzen (andere) | <span class="tool-kind tool-kind-write">Ändert</span> |
| [`check_out`](#check-out) | Erfasst den Abgang | Alle (deinen); Moderator oder Finanzen (andere) | <span class="tool-kind tool-kind-write">Ändert</span> |
| [`list_present`](#list-present) | Wer gerade im Bereich ist | Moderator oder Finanzen | <span class="tool-kind tool-kind-read">Nur lesen</span> |
| [`list_visits`](#list-visits) | Der Verlauf der Besuche, mit Filtern | Moderator oder Finanzen (heute); Administrator (jeder Tag) | <span class="tool-kind tool-kind-read">Nur lesen</span> |
| [`list_my_visits`](#list-my-visits) | Deine Besuche und die Monatszusammenfassung | Alle | <span class="tool-kind tool-kind-read">Nur lesen</span> |
| [`update_visit`](#update-visit) | Korrigiert Ankunft oder Abgang eines Besuchs | Moderator oder Finanzen (heute); Administrator (jeder Tag) | <span class="tool-kind tool-kind-write">Ändert</span> |
| [`delete_visit`](#delete-visit) | Entfernt einen Besuch | Administrator | <span class="tool-kind tool-kind-confirm">Mit Bestätigung</span> |
| [`check_guest_in`](#check-guest-in) | Erfasst die Ankunft eines Gastes | Moderator oder Finanzen | <span class="tool-kind tool-kind-write">Ändert</span> |
| [`list_attendance_kiosks`](#list-attendance-kiosks) | Die Kiosk-Geräte des Bereichs | Moderator oder Finanzen | <span class="tool-kind tool-kind-read">Nur lesen</span> |
| [`create_attendance_kiosk`](#create-attendance-kiosk) | Erstellt den Link eines Kiosks (erscheint einmal) | Moderator | <span class="tool-kind tool-kind-write">Ändert</span> |
| [`revoke_attendance_kiosk`](#revoke-attendance-kiosk) | Sperrt den Link eines Kiosks | Moderator | <span class="tool-kind tool-kind-confirm">Mit Bestätigung</span> |

Der Bereich wird mit [`create_space`](/mcp/ferramentas-comunidade#create-space) und `module: "attendance"` angelegt, mit dem Argument `attendance` für die Konfiguration; [`update_space`](/mcp/ferramentas-comunidade#update-space) ändert nur, was du schickst, und behält den Rest.

Das Team ist hier Eigentümer, Administrator, Moderator und Finanzen; Finanzen liest und erfasst, erstellt oder sperrt aber keine Kiosk-Links. Die Rollen sind die der Routen: Der Assistent tut nie mehr, als die verbundene Person in der Oberfläche tun würde.

## Die Konfiguration des Bereichs

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

| Feld | Typ | Beschreibung |
|---|---|---|
| `self_check_in` | `off`, `button` oder `code` | Wer die Ankunft erfasst: `off`, nur das Team; `button`, das Mitglied, mit der Schaltfläche **Ich bin da** (`code` ist noch nicht verfügbar) |
| `capacity` | Zahl von 1 bis 100000 oder `null` | Die Kapazität, nur zur Information. `null` hebt das Limit auf |
| `auto_checkout_time` | `HH:MM` | Der [automatische Check-out](/espacos/presenca#automatischer-check-out), in der Zeitzone der Community (Voreinstellung `23:59`) |
| `show_who_is_here` | `staff` | Wer die Namen sieht: nur das Team |
| `kiosk.guest_fields` | `{company, phone}`, jeweils `off`, `optional` oder `required` | Was der Kiosk-Bildschirm außer dem Namen abfragt |
| `kiosk.notify_host` | wahr oder falsch | Benachrichtigt den Gastgeber per E-Mail bei Ankunft des Gastes (Voreinstellung: ja) |
| `kiosk.reset_seconds` | 5 bis 60 | Nach wie vielen Sekunden der Kiosk-Bildschirm zum Anfang zurückkehrt (Voreinstellung: 10) |

## `get_attendance_overview`

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

**Auslastung des Bereichs.** Nur die Zahl der Personen und die Kapazität (nie Namen), der offene Besuch der fragenden Person und der Check-in-Modus (`off`, `button` oder `code`). *Mindestrolle: alle, die den Bereich sehen.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `space` | ID oder Link | Ja | Der Anwesenheit-Bereich |

**Frag so:** *„Wie viele Personen sind gerade am Standort Mitte?“*

## `check_in`

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

**Die Ankunft erfassen.** Ohne `profile_id` ist es **deine** Ankunft, und nur, wenn der Bereich das Mitglied selbst erfassen lässt (das Team kann sich immer erfassen). Mit `profile_id` erfasst das Team die Ankunft **eines anderen Mitglieds**; ein normales Mitglied wird abgewiesen. Wer keinen Zugriff auf den Bereich hat (Plan abgelaufen, Gruppe ausgeschlossen), wird abgewiesen, auch durch das Team. Es ist **idempotent**: Bei einem bereits offenen Besuch liefert es diesen Besuch (`already_checked_in: true`). Ein Gast ohne Konto geht über [`check_guest_in`](#check-guest-in). *Rolle: alle (deine); Moderator oder Finanzen (andere).*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `space` | ID oder Link | Ja | |
| `profile_id` | ID | Nein | Nur das Team: das zu erfassende Mitglied (`list_members`). Ohne ist es du |

**Liefert:** `visit` und `already_checked_in`.

**Frag so:** *„Erfasse meine Ankunft am Standort Mitte.“* · *„Trag Marias Ankunft im Coworking ein.“*

## `check_out`

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

**Den Abgang erfassen.** Ohne weitere Parameter als den Bereich beendet es **deinen** offenen Besuch. Das Team beendet den eines Mitglieds (`profile_id`) oder jeden offenen Besuch (`visit_id`, aus `list_present`). Ohne offenen Besuch lautet die Antwort `409`. *Rolle: alle (deinen); Moderator oder Finanzen (andere).*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `space` | ID oder Link | Ja | |
| `profile_id` | ID | Nein | Nur das Team: das Mitglied, dessen Besuch beendet wird |
| `visit_id` | ID | Nein | Der zu beendende offene Besuch (das Team; das Mitglied nur den eigenen) |

**Frag so:** *„Ich gehe jetzt.“*

## `list_present`

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

**Wer da ist.** Die offenen Besuche von Mitgliedern und Gästen, vom neuesten zum ältesten, mit Namen und Ankunftszeit, dazu die Anzahl und die Kapazität. Das Mitglied sieht nur die Zahl, in `get_attendance_overview`. *Mindestrolle: Moderator (oder Finanzen).*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `space` | ID oder Link | Ja | |
| `page`, `limit` | Zahlen | Nein | Paginierung (bis 100 pro Seite) |

**Frag so:** *„Wer ist gerade im Haus?“*

## `list_visits`

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

**Der Verlauf.** Die Besuche des Bereichs, vom neuesten zum ältesten: wer, Ankunft, Abgang, die Art (Mitglied oder Gast), ob der Besuch offen ist oder automatisch beendet wurde. Administrator und Eigentümer lesen jeden Zeitraum; Moderator und Finanzen sehen **nur heute** (die API schränkt den Zeitraum ein). *Mindestrolle: Moderator (oder Finanzen).*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `space` | ID oder Link | Ja | |
| `profile_id` | ID | Nein | Nur dieses Mitglied |
| `kind` | `member` oder `guest` | Nein | Mitglieder oder Gäste |
| `open` | wahr oder falsch | Nein | `true`: nur wer noch da ist |
| `from`, `to` | Datum | Nein | `JJJJ-MM-TT` oder ISO 8601, gelesen in der Zeitzone der Community |
| `page`, `limit` | Zahlen | Nein | Paginierung |

**Frag so:** *„Wie viele Gäste kamen letzte Woche?“*

## `list_my_visits`

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

**Deine Besuche.** Dein Verlauf, vom neuesten zum ältesten, mit der Monatszusammenfassung (Besuche, Tage und Minuten) in der Zeitzone der Community. *Mindestrolle: alle.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `space` | ID oder Link | Nein | Nur dieser Anwesenheit-Bereich |
| `page`, `limit` | Zahlen | Nein | Paginierung |

**Frag so:** *„An wie vielen Tagen war ich diesen Monat im Coworking?“*

## `update_visit`

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

**Einen Besuch korrigieren.** Ändert die Ankunft (`check_in_at`) und/oder den Abgang (`check_out_at`). Der Abgang darf nicht vor der Ankunft und nicht in der Zukunft liegen; ein Abgang für einen offenen Besuch **beendet** ihn. Administrator und Eigentümer korrigieren jeden Tag; Moderator und Finanzen nur den heutigen Besuch und mit Zeiten innerhalb von heute (gestern liefert `403`). Die Korrektur landet im [Aktivitätsprotokoll](/membros/registros-de-atividades), mit der Person, die sie vorgenommen hat. *Mindestrolle: Moderator (oder Finanzen).*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `visit_id` | ID | Ja | Aus `list_visits` oder `list_present` |
| `check_in_at` | Datum und Uhrzeit | Nein | ISO 8601 |
| `check_out_at` | Datum und Uhrzeit | Nein | ISO 8601 |

**Frag so:** *„Pedro hat vergessen auszuchecken: Er ist um 18 Uhr gegangen. Beende seinen Besuch.“*

## `delete_visit`

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

**Einen Besuch entfernen.** Der Besuch verschwindet aus den Listen und Zahlen (ein offener zählt nicht mehr zur Auslastung), und das Entfernen landet im Aktivitätsprotokoll. Das Mitglied wird nicht gelöscht. *Mindestrolle: Administrator.*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `visit_id` | ID | Ja | Aus `list_visits` |

**Liefert:** beim ersten Aufruf die Zusammenfassung und den Bestätigungscode.

## `check_guest_in`

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

**Einen Gast erfassen.** Das Team erfasst die Ankunft einer Person **ohne Konto**, mit dem Mitglied, das sie empfängt (dem Gastgeber, der Zugriff auf den Bereich haben muss). Unternehmen und Telefon werden je nach Kiosk-Konfiguration verlangt oder abgelehnt. Idempotent nach **Name und Gastgeber**: Bei offenem Besuch liefert es `already_checked_in: true`. Wenn der Bereich die Gastgeber benachrichtigt, erhält der Gastgeber [eine E-Mail](/espacos/presenca#e-mail-an-den-gastgeber). Der Gast zählt zur Auslastung. *Mindestrolle: Moderator (oder Finanzen).*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `space` | ID oder Link | Ja | |
| `guest_name` | Text | Ja | Der Name des Gastes (bis 100 Zeichen) |
| `host_profile_id` | ID | Ja | Das Mitglied, das ihn empfängt (`list_members`) |
| `guest_company` | Text | Nein | Das Unternehmen |
| `guest_phone` | Text | Nein | Die Telefonnummer |

**Frag so:** *„Erfasse den Gast Pedro Alves von Acme, der Ana besucht.“*

## `list_attendance_kiosks`

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

**Die Kiosks.** Die Geräte des Bereichs, aktiv und gesperrt: Name, wer es erstellt hat, wann, die letzte Nutzung und der Status. **Nie der Link**, der nur beim Erstellen erscheint. *Mindestrolle: Moderator (oder Finanzen).*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `space` | ID oder Link | Ja | |

## `create_attendance_kiosk`

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

**Den Link eines Kiosks erstellen.** Einer pro iPad oder Standort. Liefert `kiosk`, die `url` und eine `warning`: Die URL erscheint **nur ein einziges Mal** und ist **geheim**, wie ein Passwort. Wer sie hat, erfasst Gäste. Der Assistent bittet die Person, sie auf dem Gerät zu öffnen und nicht weiterzugeben; bei Verlust heißt es sperren und eine neue erstellen. *Mindestrolle: Moderator (Eigentümer, Administrator oder Moderator; Finanzen nicht).*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `space` | ID oder Link | Ja | |
| `name` | Text | Ja | Der Name des Geräts, bis 80 Zeichen (zum Beispiel „Tablet am Empfang“) |

**Frag so:** *„Erstelle den Kiosk-Link für das iPad am Empfang des Standorts Mitte.“*

## `revoke_attendance_kiosk`

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

**Einen Kiosk sperren.** Der Link funktioniert **sofort** nicht mehr und kommt nicht zurück (erstelle einen neuen). Bereits erfasste Besuche bleiben. *Mindestrolle: Moderator (Eigentümer, Administrator oder Moderator).*

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `space` | ID oder Link | Ja | |
| `kiosk_id` | ID | Ja | Aus `list_attendance_kiosks` |

**Liefert:** beim ersten Aufruf die Zusammenfassung (Name und letzte Nutzung des Geräts) und den Bestätigungscode.

## Verwandte Artikel

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