From 756db3c91477492baa80e0be5a54f36650940323 Mon Sep 17 00:00:00 2001 From: gitmic Date: Thu, 28 Aug 2025 15:21:34 +0000 Subject: [PATCH] 01_data_model.md --- 01_data_model.md | 123 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 01_data_model.md diff --git a/01_data_model.md b/01_data_model.md new file mode 100644 index 0000000..8af3114 --- /dev/null +++ b/01_data_model.md @@ -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