n8n_node_librebooking/CUSTOM-ATTRIBUTES.md

216 lines
5.5 KiB
Markdown

# 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)
## Elegante Lösung: Attribute automatisch abrufen (NEU in v1.2.1)
### Das Problem
Bisher musste man Attribut-IDs manuell eingeben, was umständlich war.
### Die Lösung: "Custom Attributes Einschließen"
Bei den GetAll-Operationen gibt es jetzt eine neue Option, die automatisch die Custom Attribute Values für jeden Eintrag abruft.
### Verwendung für Reservierungen
1. Wählen Sie **Ressource**: `Reservierung`
2. Wählen Sie **Operation**: `Alle Abrufen`
3. Unter **Filter** aktivieren Sie **Custom Attributes Einschließen**
**Ergebnis:**
```json
{
"reservations": [
{
"referenceNumber": "abc123",
"title": "Meeting",
"startDate": "2026-02-07T10:00:00",
"customAttributes": [
{
"id": 1,
"label": "Mietername",
"value": "Max Mustermann"
},
{
"id": 3,
"label": "Adresse",
"value": "Hauptstraße 1, 12345 Stadt"
}
]
}
]
}
```
### Verwendung für Ressourcen
1. Wählen Sie **Ressource**: `Ressource`
2. Wählen Sie **Operation**: `Alle Abrufen`
3. Unter **Ressourcen-Abruf-Optionen** aktivieren Sie **Custom Attributes Einschließen**
### Verwendung für Benutzer
1. Wählen Sie **Ressource**: `Benutzer`
2. Wählen Sie **Operation**: `Alle Abrufen`
3. Unter **Benutzer-Filter** aktivieren Sie **Custom Attributes Einschließen**
### Wichtiger Hinweis
Diese Option führt für jeden Eintrag einen zusätzlichen API-Call durch. Bei vielen Einträgen kann dies länger dauern.
---
## 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