docs(spec): studio-bookings and instance inbox. Refs EventHub/EventHubFront#60
This commit is contained in:
+4
-4
@@ -513,10 +513,10 @@ src/
|
||||
- `GET /v1/user/bookings` — бронирования пользователя **как участника**.
|
||||
- `GET /v1/user/booking-requests` — **actionable** pending-заявки к подтверждению, где
|
||||
текущий пользователь — **owner** календаря события или **assigned specialist**
|
||||
(`event.specialist_id` = user и specialist active). Past-pending помечается `expired` и
|
||||
**не** попадает в ответ. Ответ — массив объектов booking + `role` (`owner`|`specialist`) +
|
||||
вложенный `event` (`id`, `calendar_id`, `calendar_title`, `title`, `start_time`, `duration`,
|
||||
`specialist_id`). Confirm/decline — существующий `PUT /v1/bookings/:id`.
|
||||
(`event.specialist_id` = user и specialist active). Учитываются и материализованные
|
||||
occurrence (`is_instance`). Past-pending помечается `expired` и **не** попадает в ответ.
|
||||
- `GET /v1/user/studio-bookings` — pending **и confirmed** на тех же календарях (журнал студии).
|
||||
Форма ответа как у booking-requests (`role` + вложенный `event`).
|
||||
- `GET /v1/user/reviews` — отзывы пользователя.
|
||||
- `GET /v1/user/following` — календари, которые пользователь отслеживает (follow).
|
||||
- `GET /v1/search` — поиск; **без токена** (гость) — только commercial по `can_access`;
|
||||
|
||||
@@ -254,7 +254,8 @@ cover (`.eh-discover-media--photo`); иначе mood wash + initials (`.eh-disco
|
||||
(actionable pending, где user — owner календаря или `event.specialist_id`; past-pending
|
||||
Back отдаёт как `expired` и **не** включает в inbox); те же
|
||||
`PUT /v1/bookings/:id` `{ action: confirm | decline }` (на `expired` → `409`)
|
||||
- UI `/bookings`: две группы (пустые скрывать): **К подтверждению** + **Мои записи**
|
||||
- UI `/bookings`: три группы (пустые скрывать): **К подтверждению** (`booking-requests`) +
|
||||
**Записи студии** (`GET /v1/user/studio-bookings`, confirmed) + **Мои записи**
|
||||
(upcoming/past participant). `specialist_invite` сюда **не** попадает.
|
||||
Empty state: title + hint + CTA Discover / «Мои календари».
|
||||
Время слота на list-карточках — soft (secondary to title).
|
||||
|
||||
Reference in New Issue
Block a user