Een kleuring is geen tijdvak. En daar breekt je agenda op.
Veertig minuten werk en dertig minuten inwerken zijn niet zeventig minuten bezet. Waarom software die dat verschil niet kent je stoelen leeg laat staan, en hoe je het wél modelleert.
Vraag een willekeurige ontwikkelaar om een agenda te bouwen en je krijgt drie velden: begin, einde, medewerker. Dat is de vorm van bijna elke agenda ter wereld, en voor bijna elk beroep klopt ze. Voor een kapsalon niet.
In het salon dat we in augustus 2026 doorgemeten hebben, stonden 34 diensten in het menu. Twaalf daarvan hebben een inwerktijd. Dat is meer dan een op de drie, en het zijn niet de goedkoopste.
Wat er echt gebeurt
Een kleuring is geen blok van zeventig minuten. Het zijn er twee, en ze zijn verschillend van aard.
| Deel | Duur | Wie of wat is bezet |
|---|---|---|
| Aanbrengen | 40 minuten | De kapper én de stoel |
| Inwerken | 30 minuten | Alleen de stoel |
| Uitspoelen en afwerken | 20 minuten | De kapper én de stoel |
Die middelste dertig minuten zijn het hele verschil. De kapper staat dan bij iemand anders — dat is niet een trucje maar de normale gang van zaken in elk salon dat kleurt. Software die één blok van negentig minuten wegschrijft op naam van die kapper, liegt over die dertig minuten. En op een dag van twintig afspraken over vier kolommen loopt dat op.
Waarom een "pauze in de afspraak" niet volstaat
De halve oplossing die je vaak ziet, is een dienst met een "wachttijd" als eigenschap: de agenda tekent dan een lichter blokje in het midden. Dat ziet er goed uit en helpt bij het plannen met de hand, maar het lost het echte probleem niet op, want de vraag is niet hoe het eruitziet. De vraag is wat de software mag antwoorden op "is deze kapper vrij om 14 uur?"
Zolang de afspraak één ding is met één medewerker eraan, is het antwoord nee. En dan komt je online boeking dat halfuur niet aanbieden, en dan staat er een gat in je dag dat er niet hoefde te zijn.
Een afspraak als reeks blokken
Het model dat wel werkt, is dat een afspraak geen tijdvak is maar een reeks blokken. Elk blok is van één van twee soorten:
- Een werkblok bezet de medewerker én de plek.
- Een wachtblok bezet alleen de plek.
Het begin en het einde van de afspraak zijn dan geen ingegeven waarden meer maar het bereik van haar blokken: van het vroegste tot het laatste. Dat klinkt als een detail en het is het fundament — want zodra dat klopt, kan de beschikbaarheidsvraag per soort blok beantwoord worden. De stoel is bezet, de kapper is vrij, en de zoeker naar vrije momenten mag daar iets in plaatsen.
Uit dat model volgt de rest bijna vanzelf. Een cabine of een wasbak is dan gewoon een plek die je kan bezetten, net als een stoel. Eén afspraak kan meerdere diensten en meerdere medewerkers bevatten en tóch één rekening opleveren. En een junior die langer over dezelfde dienst doet, krijgt gewoon een langer werkblok — geen gemiddelde voor het hele team.

De prijs van het verkeerde model
Het vervelende aan dit soort keuzes is dat je ze niet achteraf kan bijsturen. Een agenda die als tijdvak begonnen is, krijg je er niet met een instelling uit; dat is een verbouwing van het datamodel en van alles wat eraan hangt — de beschikbaarheid, de online boeking, de rapporten over bezetting.
Daarom staat dit in ons geval niet in een roadmap maar in de eerste tabel. Het is precies het soort beslissing waarvan een kapper nooit iets ziet als het goed zit, en waar hij elke dag tegenaan loopt als het fout zit.
Hoe de agenda er verder uitziet, staat bij de functies.