# Benutzerdefinierte Attribute (Custom Attributes) Diese Dokumentation erklärt, wie Sie benutzerdefinierte Attribute in LibreBooking über die n8n Nodes verwenden können. ## Überblick LibreBooking unterstützt benutzerdefinierte Attribute für: - **Reservierungen** (Kategorie-ID: 1) - **Benutzer** (Kategorie-ID: 2) - **Ressourcen** (Kategorie-ID: 4) - **Ressourcen-Typen** (Kategorie-ID: 5) ## Attribut-Typen | Typ | Beschreibung | Wert | |-----|--------------|------| | Einzeilig | Einfaches Textfeld | 1 | | Mehrzeilig | Textbereich | 2 | | Auswahlliste | Dropdown-Menü | 3 | | Checkbox | Ja/Nein Feld | 4 | | Datum/Zeit | Datums-/Zeitauswahl | 5 | ## Attribute abrufen ### Alle Attribute einer Kategorie abrufen 1. Wählen Sie **Ressource**: `Attribut` 2. Wählen Sie **Operation**: `Nach Kategorie Abrufen` 3. Wählen Sie **Kategorie-ID**: z.B. `Reservierung` Die Antwort enthält alle Attribute mit ihren IDs und Eigenschaften. ### Einzelnes Attribut abrufen 1. Wählen Sie **Ressource**: `Attribut` 2. Wählen Sie **Operation**: `Abrufen` 3. Geben Sie die **Attribut-ID** ein ## Attribute bei Reservierungen setzen ### Bei Erstellen einer Reservierung 1. Wählen Sie **Ressource**: `Reservierung` 2. Wählen Sie **Operation**: `Erstellen` 3. Füllen Sie die Pflichtfelder aus 4. Unter **Benutzerdefinierte Attribute**: - Klicken Sie auf "Attribut hinzufügen" - Geben Sie die **Attribut-ID** ein (z.B. `1`) - Geben Sie den **Wert** ein (z.B. `Meetingraum-Konfiguration`) ### Bei Aktualisieren einer Reservierung Gleiche Vorgehensweise wie beim Erstellen. ### Beispiel JSON für API-Request ```json { "resourceId": 1, "startDateTime": "2024-01-15T10:00:00+01:00", "endDateTime": "2024-01-15T11:00:00+01:00", "title": "Team Meeting", "termsAccepted": true, "customAttributes": [ { "attributeId": 1, "attributeValue": "Standard-Setup" }, { "attributeId": 2, "attributeValue": "10" } ] } ``` ## Attribute bei Ressourcen setzen ### Bei Erstellen einer Ressource 1. Wählen Sie **Ressource**: `Ressource` 2. Wählen Sie **Operation**: `Erstellen` 3. Füllen Sie die Pflichtfelder aus (Name, Zeitplan-ID) 4. Unter **Benutzerdefinierte Attribute**: - Klicken Sie auf "Attribut hinzufügen" - Geben Sie die **Attribut-ID** und den **Wert** ein ### Beispiel: Raum mit Ausstattung ```json { "name": "Konferenzraum A", "scheduleId": 1, "customAttributes": [ { "attributeId": 10, "attributeValue": "Beamer, Whiteboard" }, { "attributeId": 11, "attributeValue": "20" } ] } ``` ## Attribute bei Benutzern setzen ### Bei Erstellen eines Benutzers 1. Wählen Sie **Ressource**: `Benutzer` 2. Wählen Sie **Operation**: `Erstellen` 3. Füllen Sie die Pflichtfelder aus 4. Unter **Benutzerdefinierte Attribute**: - Klicken Sie auf "Attribut hinzufügen" - Geben Sie die **Attribut-ID** und den **Wert** ein ## Neue Attribute erstellen (Admin) 1. Wählen Sie **Ressource**: `Attribut` 2. Wählen Sie **Operation**: `Erstellen` 3. Füllen Sie aus: - **Kategorie-ID**: Ziel-Kategorie (1, 2, 4 oder 5) - **Attribut-Label**: Anzeigename - **Attribut-Typ**: Feldtyp 4. Optional unter **Attribut-Optionen**: - **Erforderlich**: Pflichtfeld? - **Nur Admin**: Nur für Admins sichtbar? - **Mögliche Werte**: Für Auswahllisten (komma-getrennt) ## Tipps ### Attribut-IDs herausfinden 1. Nutzen Sie die Operation "Nach Kategorie Abrufen" 2. Notieren Sie sich die `id` der benötigten Attribute ### Checkbox-Attribute Für Checkbox-Attribute verwenden Sie: - `"1"` oder `"true"` für aktiviert - `"0"` oder `"false"` für deaktiviert ### Auswahllisten Der Wert muss exakt einem der möglichen Werte entsprechen. ## Fehlerbehebung ### Attribut wird nicht gespeichert - Prüfen Sie, ob die Attribut-ID korrekt ist - Prüfen Sie, ob das Attribut für diese Kategorie gilt - Prüfen Sie, ob der Wert dem Attribut-Typ entspricht ### Zugriff verweigert - Einige Attribute sind nur für Admins verfügbar - Prüfen Sie die Berechtigungen in LibreBooking