# AI Booking Optimering ## Produktoversigt AI Booking Optimering er et intelligent tillægsmodul der hjælper saloner med at maksimere deres kalenderudnyttelse og reducere tabt omsætning fra tomme tidsslots. --- ## Features ### Feature 1: Smart Tidsforslag (Real-time) Når kunder booker online, analyserer AI'en eksisterende bookinger og foreslår de mest optimale tidspunkter. **Hvordan det virker:** 1. Kunden vælger ydelse (f.eks. Dameklip, 60 min) 2. AI'en analyserer dagens/ugens bookinger for den valgte medarbejder 3. Hvert ledigt tidsslot får en score baseret på: - Minimering af huller - Optimal udnyttelse af åbningstiden - Kontinuitet i bookinger 4. Top 2-3 bedste slots markeres med "Anbefalet" badge **Scoring-algoritme:** | Kriterium | Score | |-----------|-------| | Starter ved åbningstid | +3 | | Slutter præcis på næste booking | +3 | | Starter lige efter en booking | +2 | | Slutter ved lukketid | +1 | | Skaber hul < 30 min | -2 | **UX-principper:** - Blød anbefaling - kunden kan stadig vælge alle ledige tider - Grøn badge med AI-ikon på anbefalede tider - Info-tekst forklarer fordelen --- ### Feature 2: Kalender-optimering Dashboard Salonejere får et dashboard der identificerer huller og foreslår handlinger. **Dashboard-komponenter:** 1. **Statistik-kort** - Huller i dag - Tabt omsætning (estimeret) - Huller denne uge - Potentiel besparelse 2. **Mini-kalender** - Visuel oversigt over ugen - Farvekodede dage (grøn = optimalt, gul = huller, rød = kritisk) 3. **Hul-liste** - Detaljeret visning af hvert identificeret hul - Medarbejder og tidspunkt - Estimeret tabt omsætning - AI-forslag til at fylde hullet 4. **AI-forslag typer:** - **Flyt booking**: Foreslå at flytte en eksisterende kundes tid - **Venteliste**: Kontakt kunde fra ventelisten - **Rabattilbud**: Send SMS med rabat for at fylde hullet 5. **SMS-historik** - Track sendte tilbud - Accept/afvisning statistik - Pending tilbud --- ## Teknisk Implementation ### POC 1: poc-booking-v2.html **Tilføjede komponenter:** ```javascript // Mock data for eksisterende bookinger const existingBookings = { 'EMP001': { '2026-01-06': [ { start: '10:00', end: '11:00', service: 'Dameklip' }, { start: '13:30', end: '14:30', service: 'Herreklip' } ] } }; // Scoring-algoritme function calculateOptimalSlots(serviceDuration, date, employeeId) { // 1. Hent bookinger for dato/medarbejder // 2. Generer alle mulige slots (30 min intervaller) // 3. Tjek overlap med eksisterende bookinger // 4. Beregn score for hvert ledigt slot // 5. Marker top 3 med positiv score som "recommended" return slots; } ``` **CSS-styling:** - `.time-slot.recommended` - Grøn border og baggrund - `.ai-badge` - Absolut positioneret badge med sparkle-ikon - `.ai-info` - Info-boks over tidsgrid ### POC 2: poc-ai-booking-optimizer.html **Struktur:** - Topbar med AI-badge - Stats-grid med 4 KPI-kort - Main-grid med kalender og hul-liste - Sidebar med optimeringsscore og SMS-historik **Mock data:** - `gaps[]` - Identificerede huller med forslag - `weekDays[]` - Ugevisning med gap-status - `smsHistory[]` - Historik over sendte tilbud --- ## Forretningsværdi ### ROI-beregning ``` Typisk salon: - 4 medarbejdere - 40 timer/uge pr. medarbejder - 15% tomme slots = 24 timer/uge tabt - Gennemsnitlig timepris: 500 kr. - Tabt omsætning: 12.000 kr./uge = 624.000 kr./år AI-optimering fylder 50% af huller: - Ekstra omsætning: 312.000 kr./år Pris for AI-modul: 499 kr./md = 5.988 kr./år ROI: 52x investering ``` ### Nøgletal at tracke | Metrik | Beskrivelse | |--------|-------------| | Kalenderudnyttelse | % af tilgængelige timer der er booket | | Gennemsnitligt hul | Minutter tabt pr. dag i gaps | | Accept-rate | % af kunder der accepterer flyttetilbud | | Tabt omsætning | Estimeret kr. i tomme slots | | Optimeringsscore | Samlet effektivitet (mål: 90%+) | --- ## Fremtidig AI-udvidelse ### Niveau 1: Regelbaseret (Nuværende POC) - Statiske scoring-regler - Ingen læring - Fungerer for alle saloner ens ### Niveau 2: Machine Learning - Lærer fra salonens historik - Personlige kundeprofilenr - Forudsigelse af no-shows - Dynamisk prisjustering ### ML-features (fremtidig): 1. **Historisk mønstergenkendelse** - Populære vs. døde tider - Sæsonvariation - Service-specifikke mønstre 2. **Kundesegmentering** - Fleksible vs. fastlåste kunder - Pris-sensitive kunder - No-show risiko-profiler 3. **Intelligent rabat-beregning** - Dynamisk rabat baseret på: - Hullets "værdi" - Kundens prissensitivitet - Sandsynlighed for naturlig booking 4. **Proaktiv optimering** - Forudsig huller før de opstår - Automatisk udsend tilbud - Venteliste-matching --- ## Integration med eksisterende system ### Data-flow ``` Booking system │ ▼ ┌─────────────────┐ │ AI Optimizer │ │ - Analyse │ │ - Scoring │ │ - Anbefalinger │ └─────────────────┘ │ ▼ ┌─────────────────┐ ┌─────────────────┐ │ Booking Widget │ │ Dashboard │ │ (kundevisning) │ │ (ejervisning) │ └─────────────────┘ └─────────────────┘ ``` ### API-endpoints (fremtidig) ``` GET /api/ai/optimal-slots?date=X&employee=Y&duration=Z POST /api/ai/send-offer GET /api/ai/gaps?week=X GET /api/ai/stats ``` --- ## Konfiguration ### Indstillinger pr. salon | Indstilling | Beskrivelse | Default | |-------------|-------------|---------| | `minGapMinutes` | Mindste hul der tæller som tabt | 30 min | | `recommendedSlots` | Antal anbefalede slots | 3 | | `defaultDiscount` | Standard rabat ved flytning | 5% | | `autoSendOffers` | Automatisk udsend tilbud | Fra | | `smsEnabled` | Aktiver SMS-udsendelse | Til | --- ## Filer | Fil | Beskrivelse | |-----|-------------| | `poc-booking-v2.html` | Kundens booking-widget med AI-anbefalinger | | `poc-ai-booking-optimizer.html` | Dashboard til salonejere | | `docs/ai-booking-optimering.md` | Denne dokumentation | --- ## Changelog ### Version 1.0 (Januar 2026) - Initial POC implementation - Regelbaseret scoring-algoritme - Dashboard med hul-identifikation - SMS-historik tracking