docs(spec): calendar_share co-editor/deputy and Time Arc alignment.
Back §2.1.3 API/ACL; Front §3.3 share busy/ghost. Refs EventHub/EventHubBack#73
This commit is contained in:
@@ -151,9 +151,9 @@ CONTROL→bookings. Контент: free gaps / события сегодня /
|
||||
|
||||
### 3.3. Time Arc (живая сетка, Front#50)
|
||||
|
||||
На 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 + **mirror** shared-personal) × mood (FLOW — воздух и середина дня, MOMENTUM — ближайший, CONTROL — доля свободных мест). Одна ячейка — `data-time-arc`; коллизии — `data-collided`. Тап — обычный Book.
|
||||
|
||||
Владелец: черновики слотов из прошлой ISO-недели в дырах текущей; «Создать неделю» —
|
||||
Владелец **или** share `write|admin` (заместитель): черновики слотов из прошлой ISO-недели в дырах текущей; «Создать неделю» —
|
||||
preview, затем существующий POST events. После создания черновик снимается сразу
|
||||
(без F5), в том числе если время в форме сдвинули (прошлый час → +1 день / правка start).
|
||||
Фраза с часом уже в прошлом («11» в 14:00) ставит черновик на следующий день, тот же час.
|
||||
@@ -169,6 +169,11 @@ preview, затем существующий POST events. После созда
|
||||
|
||||
**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.
|
||||
|
||||
**Share / заместитель (Back#73, согласование Front#49):** `GET /v1/calendars` включает shared;
|
||||
busy Time Arc += события personal с `mirror_to_default`; ghost/demand/phrase у share
|
||||
`write|admin`; Following не смешивать с share. Confirmed foreign bookings overlay на
|
||||
default personal — только `role=owner` ids в ownSet.
|
||||
|
||||
## 4. Маршруты
|
||||
|
||||
Публичные:
|
||||
@@ -379,7 +384,8 @@ legal stubs; позиция по подписке **владельца**; DNS/SP
|
||||
- waitlist: API Back#72; включение — чекбокс «Лист ожидания»
|
||||
(`settings.waitlist_enabled`) в настройках commercial; join/leave на
|
||||
карточке события при полном слоте — Front#70
|
||||
- шаринг календаря с правами (`calendar_share`) — низкий приоритет, не путать со specialist_invite
|
||||
- шаринг календаря с правами (`calendar_share`) — Back#73 API + Front list/invites/mirror;
|
||||
не путать со specialist_invite / Following
|
||||
- явный `client_type=mobile` — хвост (фаза 3 бэка / нативный клиент)
|
||||
|
||||
**Вне горизонта (не фаза 2):** оплата услуги клиентом (B2C).
|
||||
|
||||
Reference in New Issue
Block a user