01_data_model.md
This commit is contained in:
123
01_data_model.md
Normal file
123
01_data_model.md
Normal file
@@ -0,0 +1,123 @@
|
|||||||
|
# Travelbear Dolibarr – Datenmodell
|
||||||
|
|
||||||
|
Dieses Dokument beschreibt die Module, Felder und Mappings für das B2B-Reisebüro-Setup in Dolibarr.
|
||||||
|
Ziel: einheitliche Struktur für die Digitalisierung der Workflows (Anfrage → Projekt → Teilnehmer → Abrechnung).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Projekte (Reisen)
|
||||||
|
|
||||||
|
- **Label**: Name der Reise (z. B. "Opera in Germany 2025")
|
||||||
|
- **Customer (Thirdparty)**: Referenz auf Reisebüro (z. B. Limelight Arts Travel)
|
||||||
|
- **Start / Enddatum**: Zeitraum der Reise
|
||||||
|
- **Customer Reference**: externe Referenznummer aus Anfrage (z. B. "OSR_PER2506A")
|
||||||
|
- **Description**: Freitext, allgemeine Hinweise
|
||||||
|
|
||||||
|
### Extra Fields (Custom Fields)
|
||||||
|
- `target_group_size` (int) → Teilnehmerzahl Szenario (z. B. 10, 12, 16)
|
||||||
|
- `project_type` (dropdown) → Tourtyp (Opera, Studienreise, etc.)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Aufgaben (Tasks)
|
||||||
|
|
||||||
|
- **Label**: Kurztitel der Aufgabe (z. B. „Day 1 – Canapés Hilton Berlin“)
|
||||||
|
- **Date Start/End**: Uhrzeit & Datum der Aktivität oder Deadline
|
||||||
|
- **Parent Project**: Verknüpfung zur Reise
|
||||||
|
|
||||||
|
### Extra Fields
|
||||||
|
- `supplier` (link → Thirdparty) → z. B. Hotel, Restaurant, Busunternehmen
|
||||||
|
- `location` (string) → Adresse / Ort
|
||||||
|
- `meal` (dropdown) → B / L / D
|
||||||
|
- `notes` (text) → Zusätzliche Hinweise (z. B. „Passport mitnehmen Reichstag“)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Kunden (Thirdparties)
|
||||||
|
|
||||||
|
- Typ: **Customer**
|
||||||
|
- Beispiel: Limelight Arts Travel, Academy Travel, Studentenreisen
|
||||||
|
|
||||||
|
### Kontakte (Linked Contacts)
|
||||||
|
- Tour Leader, Tour Manager, Ops Manager
|
||||||
|
- Felder: Name, Email, Telefon, Rolle
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Lieferanten (Thirdparties)
|
||||||
|
|
||||||
|
- Typ: **Supplier**
|
||||||
|
- Beispiel: Hilton Berlin, Marriot Leipzig, Steigenberger Dresden, NH München, Spacebase Conference Centre
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Produkte / Dienstleistungen
|
||||||
|
|
||||||
|
- **Label**: Name (z. B. „Hotelnacht DZ Hilton Berlin“, „Opernticket Semperoper“)
|
||||||
|
- **Type**: Service
|
||||||
|
- **Base Price**: Nettopreis pro Einheit (optional je nach Kalkulation)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Supplier Orders
|
||||||
|
|
||||||
|
- **Linked Supplier**: Hotel, Restaurant, Bus etc.
|
||||||
|
- **Products/Services**: gebuchte Leistungen
|
||||||
|
- **Payment Terms**: z. B. 90 Tage, Anzahlung 30 %
|
||||||
|
- **Status**: Draft / Validated / Paid
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. Teilnehmer (eigenes Modul – geplant)
|
||||||
|
|
||||||
|
- **Vorname / Nachname**
|
||||||
|
- **Geburtsdatum**
|
||||||
|
- **Passnummer**
|
||||||
|
- **Nationalität**
|
||||||
|
- **Kontaktinfos** (Telefon, Mail)
|
||||||
|
|
||||||
|
### Extra Fields
|
||||||
|
- `meal_preference` (dropdown: vegan, vegetarisch, glutenfrei, normal)
|
||||||
|
- `arrival_date` (date)
|
||||||
|
- `departure_date` (date)
|
||||||
|
- `room_type` (dropdown: Single, Double, Twin, Suite)
|
||||||
|
- `nok_name` (text) → Notfallkontakt Name
|
||||||
|
- `nok_phone` (text)
|
||||||
|
- `insurance_company` (string)
|
||||||
|
- `insurance_policy` (string)
|
||||||
|
|
||||||
|
Verknüpfung: Teilnehmer ↔ Projekt (n:m), damit ein Teilnehmer auf mehreren Reisen sein kann.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. Dokumente / Vorlagen
|
||||||
|
|
||||||
|
- **Kundenquote (mit Preisen)** → PDF aus Angebot
|
||||||
|
- **Operator Itinerary (ohne Preise)** → PDF aus Projekt-Tasks
|
||||||
|
- **Teilnehmerlisten** → PDF/Excel-Export aus Teilnehmer-Modul
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9. Mapping aus Anfrage (Word)
|
||||||
|
|
||||||
|
| Word-Dokumentfeld | Dolibarr-Feld |
|
||||||
|
|--------------------------|---------------------------|
|
||||||
|
| „Opera in Germany“ | Project Label |
|
||||||
|
| „24 June – 8 July 2025“ | Project Start/End |
|
||||||
|
| „OSR_PER2506A“ | Project Customer Reference|
|
||||||
|
| „Limelight Arts Travel“ | Thirdparty (Customer) |
|
||||||
|
| Tour Leader/Manager | Linked Contacts |
|
||||||
|
| Day 1, 24 June | Task (Date Start) |
|
||||||
|
| „18h30 Canapés“ | Task Label |
|
||||||
|
| „Hilton Hotel Berlin“ | Supplier (linked) |
|
||||||
|
| Notes | Task Notes |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 10. Nächste Schritte
|
||||||
|
|
||||||
|
1. Extra Fields in Dolibarr anlegen (Projekte, Tasks, Teilnehmer)
|
||||||
|
2. Beispielprojekt manuell anlegen → Felder testen
|
||||||
|
3. Datenmodell in Gitea aktuell halten
|
||||||
|
4. Parser (Word → JSON) auf dieses Mapping ausrichten
|
||||||
|
5. API-Workflow (n8n) entwickeln → automatisierte Projekterstellung
|
||||||
Reference in New Issue
Block a user