Features: - Complete Next.js 16 app with TypeScript and Tailwind CSS - Customer-facing price calculator form with validation - Admin mode showing detailed price breakdowns - Accurate price calculations matching business requirements - Responsive design with custom shadcn/ui theme - API endpoint for quote requests - Danish postal code distance calculations - Complete test coverage against documentation examples 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
209 lines
5 KiB
Markdown
209 lines
5 KiB
Markdown
# Foam King Gulve - Projektplan for Overslagsberegner
|
||
|
||
## 1. Projektbeskrivelse
|
||
|
||
### 1.1 Formål
|
||
Udvikle en online overslagsberegner til Foam King Gulve, der giver potentielle kunder et hurtigt prisestimat på gulvløsninger. Beregneren skal være tilgængelig på `beregner.foamking.dk`.
|
||
|
||
### 1.2 Målgruppe
|
||
- Private husejere
|
||
- Sommerhusejere
|
||
- Hovedentreprenører
|
||
- Bygherrer
|
||
|
||
### 1.3 Scope
|
||
Beregneren dækker **kun gulvløsninger** med følgende komponenter:
|
||
- Isolering mellem strøer
|
||
- Gulvvarme
|
||
- Syntetisk net
|
||
- Flydespartel
|
||
|
||
---
|
||
|
||
## 2. Funktionelle krav
|
||
|
||
### 2.1 Input-felter
|
||
|
||
| Felt | Type | Validering | Påkrævet |
|
||
|------|------|------------|----------|
|
||
| Navn | Tekst | Min. 2 tegn | Ja |
|
||
| Email | Email | Gyldig email-format | Ja |
|
||
| Telefon | Tal | 8 cifre | Ja |
|
||
| Postnummer | Tal | 4 cifre, gyldigt dansk postnr. | Ja |
|
||
| Adresse | Tekst | - | Nej |
|
||
| Gulvareal | Tal | 25-300 m² | Ja |
|
||
| Gulvhøjde | Tal | 0-100 cm | Ja |
|
||
| Bemærkninger | Tekstfelt | - | Nej |
|
||
|
||
### 2.2 Output
|
||
|
||
Beregneren skal vise:
|
||
1. **Prisestimat**: "Ca. X kr inkl. moms"
|
||
2. **Disclaimer**: Note om at prisen er vejledende og kan variere
|
||
3. **Kontaktmulighed**: Mulighed for at anmode om et bindende tilbud
|
||
|
||
### 2.3 Beregningslogik
|
||
|
||
Se [prisbeskrivelse.md](prisbeskrivelse.md) for komplet dokumentation af:
|
||
- Alle priskonstanter
|
||
- Beregningsformler
|
||
- Trin-for-trin beregningsproces
|
||
- Regneeksempler
|
||
|
||
---
|
||
|
||
## 3. Tekniske krav
|
||
|
||
### 3.1 Afstandsberegning
|
||
|
||
**Krav:** Præcis beregning af kørselsafstand fra 4550 Asnæs til kundens adresse.
|
||
|
||
**Mulige løsninger:**
|
||
1. **Google Maps Distance Matrix API**
|
||
- Præcis afstand
|
||
- Koster pr. request
|
||
|
||
2. **OpenRouteService API** (gratis)
|
||
- Gratis op til 2.000 requests/dag
|
||
- God præcision
|
||
|
||
3. **Postnummer-baseret tabel**
|
||
- Foruddefinerede afstande pr. postnummer
|
||
- Ingen API-kald
|
||
- Mindre præcis
|
||
|
||
**Anbefaling:** Start med postnummer-tabel for MVP, implementer API senere.
|
||
|
||
### 3.2 Geografisk dækning
|
||
|
||
Foam King arbejder primært i følgende områder:
|
||
|
||
| Postnummer-interval | Område | Bro/færge-tillæg |
|
||
|---------------------|--------|------------------|
|
||
| 4000-4999 | Vestsjælland | Ingen |
|
||
| 2000-2999 | København | Ingen |
|
||
| 3000-3999 | Nordsjælland | Ingen |
|
||
| 4800-4899 | Lolland-Falster | Ingen |
|
||
| 5000-5999 | Fyn | 500 kr (Storebælt) |
|
||
|
||
### 3.3 Hosting
|
||
|
||
- Domæne: `beregner.foamking.dk`
|
||
- DNS peger på: `185.158.133.1`
|
||
- Domæne-udbyder: one.com
|
||
|
||
---
|
||
|
||
## 4. Brugerrejse
|
||
|
||
```
|
||
1. Kunde lander på beregner.foamking.dk
|
||
↓
|
||
2. Udfylder formular med kontaktinfo og gulvdata
|
||
↓
|
||
3. Klikker "Beregn pris"
|
||
↓
|
||
4. Ser prisestimat: "Ca. X kr inkl. moms"
|
||
↓
|
||
5. Mulighed A: Anmod om bindende tilbud
|
||
Mulighed B: Forlad siden
|
||
↓
|
||
6. Ved tilbudsanmodning: Data sendes til Foam King
|
||
```
|
||
|
||
---
|
||
|
||
## 5. Dataflow
|
||
|
||
### 5.1 Ved prisberegning (kun visning)
|
||
- Ingen data gemmes
|
||
- Beregning sker i browseren
|
||
|
||
### 5.2 Ved tilbudsanmodning
|
||
Data sendes til:
|
||
1. Email til `info@foamking.dk` med kalkulationsskema
|
||
2. (Valgfrit) Integration med eksisterende system
|
||
|
||
Indhold i email:
|
||
- Kundens kontaktoplysninger
|
||
- Indtastede værdier (areal, højde, postnr.)
|
||
- Beregnet prisestimat
|
||
- Bemærkninger
|
||
|
||
---
|
||
|
||
## 6. Åbne spørgsmål
|
||
|
||
Følgende punkter skal afklares før/under udvikling:
|
||
|
||
### 6.1 Forretningslogik
|
||
|
||
| Nr. | Spørgsmål | Status |
|
||
|-----|-----------|--------|
|
||
| 1 | Skal kunden kunne fravælge gulvvarme? | Afventer |
|
||
| 2 | Skal der være mulighed for forskellige gulvbelægninger (påvirker sparteltype)? | Afventer |
|
||
| 3 | Hvad er den præcise Storebælt-pris? (Antaget 500 kr) | Afventer bekræftelse |
|
||
| 4 | Skal opgaver uden for dækningsområdet afvises eller vises med advarsel? | Afventer |
|
||
|
||
### 6.2 Teknisk
|
||
|
||
| Nr. | Spørgsmål | Status |
|
||
|-----|-----------|--------|
|
||
| 5 | Hvilken afstands-API foretrækkes? | Afventer |
|
||
| 6 | Skal beregnerdata gemmes i database? | Afventer |
|
||
| 7 | Er der eksisterende CRM/system der skal integreres med? | Afventer |
|
||
|
||
---
|
||
|
||
## 7. Prismodel - Oversigt
|
||
|
||
### 7.1 Faste priser
|
||
|
||
| Komponent | Samlet pris | Enhed |
|
||
|-----------|-------------|-------|
|
||
| Isolering | 3.730 kr | pr. m³ |
|
||
| Gulvvarme | 205 kr | pr. m² |
|
||
| Syntetisk net | 49 kr | pr. m² |
|
||
| Flydespartel | 450 kr | pr. m² |
|
||
| Startgebyr | 3.500 kr | fast |
|
||
| Kørsel | 18,75 kr | pr. km |
|
||
| Storebælt (Fyn) | 500 kr | fast |
|
||
|
||
### 7.2 Variable tillæg
|
||
|
||
**Pumpebil (baseret på spartelvægt):**
|
||
| Vægt | Tillæg |
|
||
|------|--------|
|
||
| > 8.000 kg | 0 kr |
|
||
| 5.000-8.000 kg | 3.800 kr |
|
||
| 3.000-5.000 kg | 6.000 kr |
|
||
| < 3.000 kg | 8.100 kr |
|
||
|
||
**Procenttillæg:**
|
||
- Afdækning: 0,7%
|
||
- Affald: 0,25%
|
||
|
||
### 7.3 Formel (forenklet)
|
||
|
||
```
|
||
Pris = (Isolering + Gulvvarme + Net + Spartel + Pumpebil + Startgebyr)
|
||
× 1,0095 (tillæg)
|
||
+ Transport
|
||
× 1,25 (moms)
|
||
```
|
||
|
||
---
|
||
|
||
## 8. Næste skridt
|
||
|
||
1. **Afklar åbne spørgsmål** med Foam King
|
||
2. **Vælg teknologi/framework** til implementering
|
||
3. **Design UI/UX** for beregneren
|
||
4. **Implementer beregningslogik**
|
||
5. **Test med reelle scenarier**
|
||
6. **Deploy til beregner.foamking.dk**
|
||
|
||
---
|
||
|
||
*Dokumentversion: 1.0*
|
||
*Sidst opdateret: Januar 2026*
|