Майстер без роботи, поки фарба витримується
Фарбування волосся — це 20 хвилин роботи і 40 хвилин очікування. За ці 40 хвилин майстер п'є чай, а салон втрачає виторг.
Фарбу нанесли — далі чекають. У цьому очікуванні майстер вільний, але в календарі крісло стоїть зайнятим, і салон тихо втрачає цю годину. D-CCM тримає відпрацьовані та вичекані хвилини послуги окремо: приносить вам роботу, що вміщається в очікування, і ловить накладку раніше, ніж ви збережете запис. Скільки вміститься в очікування — стільки потужності салон і виграє.
Поширені програми рахують запис одним суцільним блоком; очікування вони просто не знають. Саме туди й дивиться D-CCM.
Проблема
Середня завантаженість салонів у Туреччині — 62%. Це означає, що 38% кожної робочої години йде в порожнечу. D-CCM дивиться саме в цей розрив.
Фарбування волосся — це 20 хвилин роботи і 40 хвилин очікування. За ці 40 хвилин майстер п'є чай, а салон втрачає виторг.
Троє клієнтів потрапляють на ту саму годину, кабінет вміщує двох, обладнання — одне. Ресепшн попереджає вручну, і клієнт іде незадоволений.
Власник рахує в голові: «а що, як зробити манікюр під час фарбування». Система цього не передбачає, і помилки накопичуються.
Навіщо це
Крісло виглядає зайнятим, поки майстер вільний. Другого клієнта прийняти не можна, і салон тихо втрачає цю годину. Проблема не в арифметиці програми — у її моделі.
Пасивний інтервал відкривають свідомо. Він стає окремим шматком у календарі й, якщо коротка робота вміщується, її пропонують. День урятовано, а клієнт нічого не помічає.
Рішення
Послуга більше не назва одного блоку. У неї дві частини: хвилини, коли майстер працює руками, і хвилини, коли клієнт чекає. Другі D-CCM не марнує.
Фарбування волосся: 20 хвилин роботи, 40 хвилин очікування. D-CCM бачить ці 40 хвилин і призначає того самого майстра паралельному клієнтові (скажімо, на манікюр). Результат: двоє клієнтів за цю годину замість одного — ця година виконує вдвічі більше роботи.
Налаштування
Щоб увімкнути D-CCM, достатньо один раз вписати дві тривалості послуги. Календар і комісія підуть слідом самі.

Керування комісіями — налаштування рівнів (Junior/Senior/Master) і типова ставка на майстра. Розклад заробітку відкривається з картки майстра.
Алгоритм
D-CCM адаптує задачу Resource Constrained Project Scheduling до салону. Підходом Greedy + Beam Search + Hybrid він розв'язує тиждень із 60 записів у реальному часі.
activeMinutes + passiveMinutes. Майстри, кабінети та обладнання позначені як вузли графа.Результати
Цільовий пілотний сценарій (симуляція): 12 салонів, n=3842 записи. Це результати, на які ми цілимося порівняно з ручним плануванням; щойно з'являться реальні пілотні вимірювання, розділ буде оновлено разом із джерелами:
Порівняння
Поширені програми рахують запис одним суцільним блоком. D-CCM — перший, хто відділяє відпрацьовані хвилини від вичеканих.
Кому це допомагає
D-CCM окупається не в кожному салоні однаково. Скажімо прямо: там, де він зайвий, він лишається вимкненим:
Тут виграш найбільший: довге фарбування і коротка робота поряд. Пасивний інтервал повторюється кілька разів на день.
Якщо ваші протоколи передбачають очікування, логіка інтервалів окупається. Якщо ні — лишаєте її вимкненою, і меню лишається простим.
Більшості закладів це не потрібно: робота й так коротка і йде поспіль. Вмикайте, якщо пропонуєте гібридні послуги з фарбуванням.
Дорожня карта
Рушій D-CCM готовий у кодовій базі; його перевірять на реальних записах, щойно стартує пілотна програма. Далі: ML, розгортання в кількох регіонах і безперервне вдосконалення. Наш захисний рів — не патент, а безперервний розвиток плюс перевага в даних.
Рушій Glanevo v0 — модель полів activeMinutes + passiveMinutes із жадібним виявленням накладок.
Розв'язувач Greedy + Beam Search працює; виявлення накладок перевіряє автоматичний набір тестів.
Прогноз пасивного часу для кожного салону: модель, що вчиться на змінних на кшталт товщини волосся, марки фарби й температури приміщення.
Розгортання в кількох регіонах, активне використання в 44 країнах. Патентну заявку розглянемо, коли настане час.
FAQ
Справжній алгоритм: він працює в кодовій базі (Service.activeMinutes і Service.passiveMinutes у схемі Prisma; розв'язувач накладок на POST /api/appointments/check-conflicts). Пілотні цифри на цій сторінці — цільовий сценарій (симуляція); польові вимірювання будуть опубліковані тут разом із джерелами, щойно з'являться.
Не патентом: D-CCM захищають безперервний розвиток (v0 → v1 → v2 ML), перевага в даних (дані про записи, які надходитимуть із пілотних салонів) і стосунки з клієнтом (глибока інтеграція в роботу салону). Патентну заявку розглянемо окремо, коли настане час.
Скопіювати саму ідею алгоритму — це роки. Безперервний розвиток (v0 → v1 прогноз ШІ → v2 автоматичне планування → v3 ML) і набір даних, що надходить із самих салонів, — двошаровий захисний рів. Поки конкурент почне наздоганяти, ми будемо на дві версії попереду.
На зростання команди R&D і на модель машинного навчання v2. Мета: прогноз пасивного часу для кожного салону (модель, що вчиться на змінних на кшталт товщини волосся, марки фарби й температури приміщення).
У Free — версія, обмежена одним майстром. Від Pro і вище — повна версія: кілька ресурсів, топ-5 альтернативних пропозицій, автоматичні сповіщення. Studio та Enterprise додають підтримку кількох локацій.
Один раз визначити активну й пасивну тривалість своїх послуг (фарбування: 20 активних / 40 пасивних, наприклад). Решта йде сама. Система пропонує; ви погоджуєте або змінюєте.
Один раз визначте активну й пасивну тривалість своїх послуг, а решту лишіть D-CCM. Наприкінці першого тижня самі виміряйте різницю в завантаженості.