Боядисването не е времеви интервал. И точно там се чупи графикът ви.
Четиридесет минути работа и тридесет минути изчакване не са седемдесет минути заетост. Защо софтуер, който не познава тази разлика, оставя столовете ви празни — и как се моделира правилно.
Помолете който и да е разработчик да направи график и ще получите три полета: начало, край, служител. Това е формата на почти всеки график по света и за почти всяка професия тя върши работа. За един фризьорски салон — не.
В салона, който премерихме през август 2026 г., в менюто стояха 34 услуги. Дванадесет от тях имат време на изчакване. Това е повече от една на три — и не са най-евтините.
Какво се случва в действителност
Боядисването не е блок от седемдесет минути. Блоковете са два и са различни по природа.
| Част | Продължителност | Кой или какво е заето |
|---|---|---|
| Нанасяне | 40 минути | Фризьорът и столът |
| Изчакване | 30 минути | Само столът |
| Изплакване и оформяне | 20 минути | Фризьорът и столът |
Тези тридесет минути по средата са цялата разлика. Тогава фризьорът е при друг клиент — това не е трик, а нормалният ход на работата във всеки салон, който боядисва. Софтуер, който записва един блок от деветдесет минути на името на този фризьор, лъже за тези тридесет минути. А в ден с двадесет часа в четири колони това се натрупва.
Защо една „пауза в часа“ не е достатъчна
Половинчатото решение, което често се вижда, е услуга с „време на изчакване“ като свойство: графикът тогава рисува по-светло блокче по средата. Изглежда добре и помага при ръчното планиране, но не решава истинския проблем, защото въпросът не е как изглежда. Въпросът е какво има право да отговори софтуерът на „свободен ли е този фризьор в 14 ч.?“
Докато часът е едно цяло с един служител към него, отговорът е „не“. И тогава онлайн резервациите ви няма да предложат този половин час, и в деня ви ще зее дупка, която не е трябвало да я има.
Часът като поредица от блокове
Моделът, който работи, е този, при който един час не е времеви интервал, а поредица от блокове. Всеки блок е от един от два вида:
- Работният блок заема служителя и мястото.
- Блокът на изчакване заема само мястото.
Началото и краят на часа тогава вече не са въведени стойности, а обхватът на неговите блокове: от най-ранния до най-късния. Звучи като подробност, а е основата — защото щом това е налице, въпросът за наличността може да се отговаря по вид блок. Столът е зает, фризьорът е свободен и търсачът на свободни моменти има право да постави нещо там.
От този модел останалото следва почти от само себе си. Кабината или мивката тогава е просто място, което може да бъде заето, също като стола. Един час може да съдържа няколко услуги и няколко служители и все пак да завърши с една сметка. А младши колега, който отделя повече време за същата услуга, просто получава по-дълъг работен блок — а не средна стойност за целия екип.

Цената на грешния модел
Неприятното при този вид избори е, че не могат да се поправят впоследствие. График, който е започнал като времеви интервал, не се измъква от това с една настройка; това е преустройство на модела на данните и на всичко, което виси на него — наличността, онлайн резервациите, отчетите за заетостта.
Затова при нас това не стои в пътна карта, а в първата таблица. Това е точно от онзи вид решения, от които фризьорът не забелязва нищо, когато са правилни, и в които се блъска всеки ден, когато са грешни.
Как изглежда графикът в останалата си част е описано при функциите.