docs(spec): slot drafts not ghosts; clear after create. Refs EventHub/EventHubFront#65

This commit is contained in:
2026-08-14 12:12:21 +03:00
parent d7c5ae3ac4
commit d451753be2
+6 -4
View File
@@ -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. На 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 **v3 (дуга между календарями):** `/following` сортирует студии по ближайшему Time Arc
(`start_time`); баннер «Ближайший час» — **min** среди подписок, без дубля `when` (`start_time`); баннер «Ближайший час» — **min** среди подписок, без дубля `when`
на той же строке списка. `/search`: баннер nearest — другая студия, чем первая на той же строке списка. `/search`: баннер nearest — другая студия, чем первая
карточка выдачи (если совпадает — следующий hint); Discover остаётся списком карточка выдачи (если совпадает — следующий hint); Discover остаётся списком
с `data-time-arc-when` на остальных calendar-строках. Тап открывает неделю студии с `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. Маршруты ## 4. Маршруты