From d451753be2fe01a558ff81999a9a151fbfd7682d Mon Sep 17 00:00:00 2001 From: Aleksey Sabilin Date: Fri, 14 Aug 2026 12:12:21 +0300 Subject: [PATCH] docs(spec): slot drafts not ghosts; clear after create. Refs EventHub/EventHubFront#65 --- EventHubFrontSpec.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/EventHubFrontSpec.md b/EventHubFrontSpec.md index 42d1d6f..f69fd77 100644 --- a/EventHubFrontSpec.md +++ b/EventHubFrontSpec.md @@ -153,18 +153,20 @@ CONTROL→bookings. Контент: free gaps / события сегодня / На commercial week/day в режиме Студия клиент считает предложенный час без LLM и без Back: свободные слоты студии ∩ занятость пользователя (personal + confirmed bookings) × mood (FLOW — воздух и середина дня, MOMENTUM — ближайший, CONTROL — доля свободных мест). Одна ячейка — `data-time-arc`; коллизии — `data-collided`. Тап — обычный Book. -Владелец: ghost-слоты из прошлой ISO-недели в дырах текущей; «Проявить неделю» — preview, затем существующий POST events. Без подтверждения в API не пишем. EventHubAiRouter не используется. +Владелец: черновики слотов из прошлой ISO-недели в дырах текущей; «Создать неделю» — +preview, затем существующий POST events. После создания черновик снимается сразу +(без F5). Без подтверждения в API не пишем. EventHubAiRouter не используется. -**v2 (Front#51):** отказ от дуги (тап другой свободной ячейки / свайп недели) пишет штраф часу и мастеру в `localStorage` (`eh.timeArc.skips`) — дуга переезжает. ≥2 confirmed записей к одному `specialist_id` бустят его слоты. Месяц: тепло `data-time-arc-heat` на днях со скоренным часом. Personal: призрак «тот же час +7д» после прошедшего confirmed визита; тап открывает студию. +**v2 (Front#51):** отказ от дуги (тап другой свободной ячейки / свайп недели) пишет штраф часу и мастеру в `localStorage` (`eh.timeArc.skips`) — дуга переезжает. ≥2 confirmed записей к одному `specialist_id` бустят его слоты. Месяц: тепло `data-time-arc-heat` на днях со скоренным часом. Personal: черновик «тот же час +7д» после прошедшего confirmed визита; тап открывает студию. **v3 (дуга между календарями):** `/following` сортирует студии по ближайшему Time Arc (`start_time`); баннер «Ближайший час» — **min** среди подписок, без дубля `when` на той же строке списка. `/search`: баннер nearest — другая студия, чем первая карточка выдачи (если совпадает — следующий hint); Discover остаётся списком с `data-time-arc-when` на остальных calendar-строках. Тап открывает неделю студии -с курсором на этом дне. Ghosts владельца по активной студии. Без LLM / Back AI. +с курсором на этом дне. Черновики владельца по активной студии. Без LLM / Back AI. -**v4 (Front#53):** pending occupancy тянет demand-ghosts на тот же час в свободные дни текущей ISO-недели (`data-time-arc-demand`). Long-press пустого часа week/day у владельца commercial — локальный разбор фразы → phrase-ghost (`data-time-arc-phrase`); клик и long-press месяца по-прежнему открывают create. Специалист на чужой студии: дуга на своём будущем pending-слоте. Без LLM / AiRouter. +**v4 (Front#53):** pending occupancy тянет demand-черновики на тот же час в свободные дни текущей ISO-недели (`data-time-arc-demand`). Long-press пустого часа week/day у владельца commercial — локальный разбор фразы → phrase-черновик (`data-time-arc-phrase`); клик и long-press месяца по-прежнему открывают create. Специалист на чужой студии: дуга на своём будущем pending-слоте. Без LLM / AiRouter. ## 4. Маршруты