- Updated AI prompt in projectQuoteGenerationService.js to include a hierarchical task description format for professional quotes. - Added critical rules for AI to follow, emphasizing action words and specific material descriptions. - Created comprehensive documentation for the updated quote system, including examples and guidelines for AI prompts. - Developed a new layout template for quotes to improve readability and professionalism. - Established a detailed guide on professional quote structure based on Mikael Holck's standards.
328 lines
8.2 KiB
Markdown
328 lines
8.2 KiB
Markdown
# ✅ Tilbuds-System Opdatering - Implementeret
|
|
|
|
**Dato:** 2025-10-30
|
|
**Baseret på:** Mikael Holck ApS Tilbud #1846 (professionel tømrer)
|
|
|
|
---
|
|
|
|
## 🎯 Formål
|
|
|
|
Opdatere tilbudsgenerering til at følge professionel håndværker-standard med:
|
|
- Hierarkisk opgavestruktur (Hovedopgave → Underopgaver → Detaljer)
|
|
- Konkrete arbejdsbeskrivelser med aktionsord
|
|
- Materialespecifikationer
|
|
- Inklusioner og eksklusioner
|
|
- Professionelt layout
|
|
|
|
---
|
|
|
|
## 📝 Implementerede Ændringer
|
|
|
|
### 1. AI Prompt System (projectQuoteGenerationService.js)
|
|
|
|
**Før:**
|
|
```javascript
|
|
// Simpel template-udfyldning
|
|
"Udfyld følgende template med data"
|
|
```
|
|
|
|
**Efter:**
|
|
```javascript
|
|
// Hierarkisk struktur-guide
|
|
"Brug HIERARKISK opgave-beskrivelse:
|
|
|
|
HOVEDOPGAVE
|
|
Underopgave 1
|
|
• Detalje med aktionsord
|
|
• Detalje med aktionsord
|
|
|
|
Tilbudspris: XX.XXX,00 kr. ex moms"
|
|
```
|
|
|
|
**Nøgleændringer:**
|
|
- ✅ Eksempel på korrekt hierarkisk struktur
|
|
- ✅ Krav om aktionsord: "demonteres", "monteres", "udføres"
|
|
- ✅ Krav om materialspecifikationer: "kingspan og gips"
|
|
- ✅ Krav om logisk arbejdsgang: Demontering → Montering → Afslutning
|
|
- ✅ Krav om inklusioner: "affald bortkøres", "sendes til deponi"
|
|
|
|
---
|
|
|
|
### 2. PDF Generator (pdf_generator.py)
|
|
|
|
#### A. Nye Styles
|
|
|
|
**Tilføjet:**
|
|
- `SectionHeader` - Fed, understreget (ARBEJDE DER UDFØRES)
|
|
- `MainTaskHeader` - Fed, større (Skorsten, Udvidelse)
|
|
- `SubTaskHeader` - Fed, indenteret (Sikring, Demonteres)
|
|
- `BulletText` - Normal, dobbelt-indenteret (• Detaljer)
|
|
- `CustomerInfo` - Kunde-informationer
|
|
- `TotalPrice` - Store priser, fremhævet
|
|
- `NoteText` - Små noter, italic, grå
|
|
|
|
**Før:**
|
|
```python
|
|
# Kun 3 styles: CompanyHeader, QuoteHeader, BodySpaced
|
|
```
|
|
|
|
**Efter:**
|
|
```python
|
|
# 9 styles for fuld hierarkisk formatering
|
|
```
|
|
|
|
#### B. Layout Struktur
|
|
|
|
**Nyt Header Format:**
|
|
```
|
|
┌────────────────────────────────────┬──────────────────┐
|
|
│ Kunde Navn │ TILBUD │
|
|
│ Adresse │ Tilbudnr: 1846 │
|
|
│ │ Dato: 16-10-2025 │
|
|
│ │ Side: 1/1 │
|
|
└────────────────────────────────────┴──────────────────┘
|
|
```
|
|
|
|
**Hierarkisk Arbejdsbeskrivelse:**
|
|
```
|
|
ARBEJDE DER UDFØRES:
|
|
══════════════════════
|
|
|
|
TAGRENOVERING
|
|
|
|
Opmåling og forberedelse
|
|
• Samlet areal: 120 m²
|
|
• Taghældning: 30°
|
|
|
|
Arbejdsudførelse
|
|
• Arbejdstimer: 40 timer med 2 tømrere
|
|
• Timepris: 580,00 kr/time
|
|
• Alt affald bortkøres
|
|
• Området ryddes og efterlades rent
|
|
```
|
|
|
|
**Pris Formatering:**
|
|
```
|
|
PRISSPECIFIKATION:
|
|
──────────────────
|
|
|
|
Arbejdsløn: 23.200,00 kr
|
|
Materialer: 45.800,00 kr
|
|
Subtotal: 69.000,00 kr
|
|
|
|
Overhead (15%): 10.350,00 kr
|
|
Fortjeneste (20%): 13.800,00 kr
|
|
Moms (25%): 23.287,50 kr
|
|
═════════════════════════════════════
|
|
SAMLET PRIS: 116.437,50 kr ex moms
|
|
|
|
Inkl. moms: 145.546,88 kr
|
|
```
|
|
|
|
**Forbehold og Noter:**
|
|
```
|
|
*Hvis der bruges kortere tid end beregnet, gives der et fradrag på prisen.
|
|
|
|
Der tages forbehold for rød og svamp i eksisterende trækonstruktion.
|
|
```
|
|
|
|
---
|
|
|
|
## 📚 Dokumentation Oprettet
|
|
|
|
### 1. PROFESSIONEL_TILBUDS_STRUKTUR.md
|
|
- Komplet analyse af Mikael Holck tilbud
|
|
- Nøgleelementer identificeret
|
|
- Layout templates
|
|
- Beskrivelse eksempler
|
|
- Tjekliste for professionelle tilbud
|
|
|
|
### 2. AI_TILBUDS_PROMPT_GUIDE.md
|
|
- AI prompt guidelines
|
|
- Hierarkisk struktur eksempler
|
|
- Aktionsord bibliotek
|
|
- Materialespec templates
|
|
- Almindelige fejl at undgå
|
|
- Komplet prompt templates
|
|
|
|
---
|
|
|
|
## 🎨 Design Principper
|
|
|
|
### Hierarkisk Struktur
|
|
```
|
|
NIVEAU 1: HOVEDOPGAVE (fed, større)
|
|
NIVEAU 2: Underopgave (fed, indenteret)
|
|
NIVEAU 3: • Detalje (normal, dobbelt-indenteret)
|
|
```
|
|
|
|
### Aktionsord
|
|
- **Demontering:** demonteres, fjernes, nedtages, bortkøres, sendes til deponi
|
|
- **Montering:** monteres, udføres, opføres, etableres, leveres og monteres
|
|
- **Afslutning:** spartles, males, afsluttes, færdiggøres, efterlades rent
|
|
|
|
### Materialespecifikationer
|
|
- ✅ GOD: "Ny konstruktion udføres med dampspærre, isolering, forskalling og gips"
|
|
- ❌ DÅRLIG: "Der bruges isolering"
|
|
|
|
### Inklusioner
|
|
- "affald bortkøres"
|
|
- "sendes til deponi"
|
|
- "området efterlades rent"
|
|
- "inkl. maler"
|
|
|
|
---
|
|
|
|
## 🔄 Arbejdsgang
|
|
|
|
### Logisk Rækkefølge
|
|
1. **Forberedelse** - Sikring, stillads, afdækning
|
|
2. **Demontering** - Fjernelse af gammelt
|
|
3. **Ny Konstruktion** - Skelet, isolering, forskalling
|
|
4. **Afslutning** - Gips, spartling, maling
|
|
5. **Oprydning** - Affald bortkøres, området efterlades rent
|
|
|
|
---
|
|
|
|
## 📊 Før vs Efter
|
|
|
|
### Før: Flad Struktur
|
|
```
|
|
TAGRENOVERING
|
|
|
|
• Gammelt tag fjernes
|
|
• Nyt tag monteres
|
|
• Pris: 85.000 kr
|
|
```
|
|
|
|
### Efter: Hierarkisk Struktur
|
|
```
|
|
TAGRENOVERING
|
|
|
|
Forberedelse
|
|
• Stillads etableres omkring hele huset
|
|
• Eksisterende tagrender og nedløbsrør demonteres
|
|
• Arbejdsområde sikres og afdækkes
|
|
|
|
Demontering af eksisterende tag
|
|
• Gamle tagsten og lægter demonteres
|
|
• Undertag og dampspærre fjernes
|
|
• Alt materiale sendes til deponi
|
|
|
|
Ny tagkonstruktion
|
|
• Ny undertag monteres med dampspærre
|
|
• Nye lægter monteres med korrekt afstand
|
|
• Nye tagsten leveres og monteres
|
|
|
|
Afslutning
|
|
• Nye tagrender og nedløbsrør monteres
|
|
• Alle overgange tætnes korrekt
|
|
• Arbejdsområde efterlades rent, affald bortkøres
|
|
|
|
Tilbudspris: 85.400,00 kr. ex moms
|
|
```
|
|
|
|
---
|
|
|
|
## ✅ Fordele
|
|
|
|
### For Kunden
|
|
- 📋 Klar struktur - let at forstå hvad der sker
|
|
- 🔍 Konkrete detaljer - ved præcis hvad de får
|
|
- 💰 Transparent prissætning
|
|
- ✨ Professionelt udtryk - øger tillid
|
|
|
|
### For Firmaet
|
|
- 🎯 Mindre misforståelser
|
|
- 📝 Færre spørgsmål fra kunder
|
|
- ⚡ Hurtigere godkendelser
|
|
- 🏆 Professionel image
|
|
|
|
### For AI
|
|
- 🧠 Klar struktur at følge
|
|
- 📏 Konkrete regler
|
|
- 🎨 Gode eksempler
|
|
- ✅ Tjekliste for kvalitet
|
|
|
|
---
|
|
|
|
## 🚀 Næste Skridt
|
|
|
|
### Prioritet 1 (Klar til brug)
|
|
- ✅ AI prompt opdateret
|
|
- ✅ PDF layout opdateret
|
|
- ✅ Dokumentation oprettet
|
|
|
|
### Prioritet 2 (Fremtidige forbedringer)
|
|
- [ ] Tilføj billeder/fotos fra projekter
|
|
- [ ] Tegnings-referencer system
|
|
- [ ] Fradrag-funktionalitet i database
|
|
- [ ] Forbehold templates database
|
|
- [ ] Auto-generering af opgave-hierarki baseret på projekttype
|
|
|
|
### Prioritet 3 (Nice to have)
|
|
- [ ] Kunde-specifik branding
|
|
- [ ] Multi-page layout for store projekter
|
|
- [ ] Interaktiv PDF med links
|
|
- [ ] Digital signatur integration
|
|
|
|
---
|
|
|
|
## 📖 Relaterede Filer
|
|
|
|
### Kode
|
|
- `backend/src/services/projectQuoteGenerationService.js` - AI prompt system
|
|
- `backend/pdf_generator.py` - PDF generering
|
|
|
|
### Dokumentation
|
|
- `docs/guides/PROFESSIONEL_TILBUDS_STRUKTUR.md` - Analyse af professionelt tilbud
|
|
- `docs/guides/AI_TILBUDS_PROMPT_GUIDE.md` - AI guidelines
|
|
- `docs/guides/TOMMER_QUICK_REFERENCE.md` - Tømrer quick reference
|
|
|
|
### Database
|
|
- Smart packages system (eksisterende)
|
|
- Custom installation tasks (nyligt tilføjet)
|
|
|
|
---
|
|
|
|
## 🎓 Læring
|
|
|
|
### Fra Mikael Holck Tilbud
|
|
|
|
**God praksis identificeret:**
|
|
1. Hierarkisk struktur gør tilbud letlæselige
|
|
2. Aktionsord skaber klarhed
|
|
3. Materialspecifikationer bygger tillid
|
|
4. Inklusioner undgår misforståelser
|
|
5. Forbehold beskytter begge parter
|
|
6. Professionelt layout øger troværdighed
|
|
|
|
**Implementeret i vores system:**
|
|
- ✅ Alle 6 principper kodet ind i AI prompt
|
|
- ✅ PDF layout matcher professionel standard
|
|
- ✅ Dokumentation sikrer konsistens
|
|
|
|
---
|
|
|
|
## 💡 Tips til Brug
|
|
|
|
### Når AI Genererer Tilbud
|
|
1. Tjek hierarkisk struktur er overholdt
|
|
2. Verificer alle aktionsord er brugt korrekt
|
|
3. Kontroller materialespec er konkrete
|
|
4. Sikr inklusioner er nævnt
|
|
5. Læs igennem for professionalisme
|
|
|
|
### Når PDF Genereres
|
|
1. Tjek header med kunde-info
|
|
2. Verificer pris-beregninger
|
|
3. Kontroller alle sektioner er med
|
|
4. Test print-kvalitet
|
|
5. Send testudgave før kunde
|
|
|
|
---
|
|
|
|
**Status:** ✅ IMPLEMENTERET
|
|
**Test:** Afventer næste tilbudsgenerering
|
|
**Vedligeholdt af:** Tilbudgivern Team
|