BRD Widget 6.1 Информация о клиенте
Направление работ: Widget Код раздела: 6.1 Раздел: Профиль > Информация о клиенте Статус: черновик Ответственный: Панкова Л.А. Версия: 0.1 Обновлено: 08.07.26
1. Назначение
Раздел описывает блок информации о клиенте в виджете на шаге дополнений к бронированию после входа в аккаунт.
Клиент видит данные текущего аккаунта, может сменить клиента или выйти из аккаунта. Если клиент заблокирован в текущей партнерской зоне, интерфейс показывает это состояние и не позволяет продолжить бронирование для этого клиента.
Документ описывает только информацию о клиенте и действия с текущим клиентским аккаунтом. Оборудование, услуги, баллы, промокоды, комментарии, оплата, правила площадки, данные площадки и параметры заказа относятся к соседним разделам.
Раздел зависит от Back: 1.3 Клиенты.
2. Ключевые понятия
Информация о клиенте - блок виджета, в котором клиент видит данные текущего аккаунта и выполняет действия с ним в рамках бронирования.
Карточка клиента - сущность с персональной информацией об аккаунте и данными по партнерам.
Блокировка клиента в партнерской зоне - состояние клиента в рамках текущей партнерской зоны, при котором клиенту недоступно продолжение бронирования у этого партнера.
3. Scope
Входит
S1: Просмотр информации о клиенте
S2: Действия с клиентским аккаунтом
S3: Состояние заблокированного клиента
Не входит
- Widget: 2.1 Блок данных выбранной площадки > О площадке
- Widget: 4.2 Блок данных потенциального заказа > Отображение после входа в аккаунт
- Widget: 5.1 Дополнения к заказу и подтверждение > Дополнительные позиции к заказу
- Widget: 5.2 Дополнения к заказу и подтверждение > Скидки, комментарий и правила
- Widget: 6.2 Профиль > Настройки профиля
- Widget: 6.2.1 Профиль > Настройки профиля > Редактирование учетных данных
- Back: 1.3 backend-логика карточки клиента и данных по партнерам
4. BR
Указаны в пункте 4 раздела Back: 1.3 Клиенты.
5. Функциональные требования (UC + FR)
FR - functional requirements, что интерфейс должен уметь делать по определенному UC.
| ID | Сценарий | Функциональное требование | BR | Вес | Статус |
|---|---|---|---|---|---|
| S1: FR6.1-1 | Клиент просматривает текущий аккаунт в виджете | Интерфейс показывает в блоке клиента аватар, ФИО, телефон, email и баланс М-баллов, если он доступен для текущего клиента. | 1 | Частично \ OQ6.1-2 | |
| S2: FR6.1-2 | Клиент возвращается к предыдущему шагу | Интерфейс по действию возврата открывает шаг выбора времени и сохраняет состояние входа в активный аккаунт, но может измениться цена (например: у клиента есть сбор). | 2 | Реализовано | |
| S2: FR6.1-3 | Клиент меняет текущего пользователя | Интерфейс позволяет выйти из аккаунта в рамках этого раздела. | 1 | Реализовано \ OQ6.1-6 | |
| S2: FR6.1-4 | Клиент выходит из аккаунта | Интерфейс показывает подтверждение выхода с действиями Остаться и Выйти; Остаться закрывает подтверждение без выхода, Выйти завершает текущую клиентскую сессию в виджете. | 1 | Не реализовано \ OQ6.1-3 | |
| S3: FR6.1-5 | Клиент заблокирован в текущей партнерской зоне | Интерфейс показывает сообщение Вы заблокированы в данной партнерской зоне рядом с информацией о клиенте, если блокировка была применена к этому клиенту в текущей партнерской зоне. | 1 | Не реализовано \ OQ6.1-4 | |
| S3: FR6.1-6 | Заблокированный клиент пытается продолжить бронирование | Интерфейс не позволяет продолжить бронирование для заблокированного клиента и оставляет доступными действия возврата назад или выхода из аккаунта. | 1 | Не реализовано \ OQ6.1-5 |
6. Открытые вопросы
BRD 6.1 (Widget) v0.1 · репо widget-v3 (MusBooking Widget) · commit b9965d5 / branch test · дата сверки 2026-07-15 Якорь:
features/order-client-card/,widgets/order-form/,entities/client/,entities/auth/,widgets/booking/steps/,widgets/booking/composables/useLayout.tsМаршрутизация без сверки с гайдбуком (гайдбук не передан). Адресаты: бизнес → Герман, разработка → Владислав. Сводка: вопросов 6 (бизнесу 2 / разработке 3 / закрывает PM 1) · подтверждено без вопросов 2 (FR6.1-2, FR6.1-3) · подтверждающих записей 1 (OQ6.1-6) · отрезано находок 0.
| ID | Источник | Вопрос | Кому | Статус | Рекомендации |
|---|---|---|---|---|---|
| OQ6.1-1 | |||||
| OQ6.1-2 | Код FR6.1-1 | Требование говорит: баланс М-баллов показывается, только если он доступен для текущего клиента. В коде блок баллов показывается всегда: родитель передаёт баллы как число с запасным значением 0, поэтому клиент без баллов видит «0», а не пустое место — условие «если доступен» по сути не выполняется. \ features/order-client-card/ui/OrderClientCard.vue:30,68; widgets/order-form/model/useOrderFormStore.ts:112-118 | Бизнес (Герман) | Open | (А) скрывать блок баллов, когда баллы недоступны (пустое значение) — рекомендуется, если участие в программе М-баллов не у всех клиентов; (Б) оставить показ «0», если это осознанно — тогда уточнить формулировку FR6.1-1. |
| OQ6.1-3 | Код FR6.1-4 | Требование говорит: при выходе интерфейс показывает подтверждение с кнопками «Остаться» и «Выйти». В коде подтверждения нет: нажатие на крестик (подпись «Выйти из аккаунта») сразу завершает сессию и уводит на экран авторизации; диалог с «Остаться»/«Выйти» в коде не найден. \ features/order-client-card/ui/OrderClientCard.vue:35-47,81-87; entities/auth/model/useAuth.ts:28-38 | Разработка (Владислав) | Open | (А) добавить диалог подтверждения выхода по FR6.1-4 — рекомендуется (защита от случайного выхода на шаге оплаты); (Б) если мгновенный выход — намеренное поведение, поправить FR6.1-4. |
| OQ6.1-4 | Код FR6.1-5 | Требование говорит: рядом с информацией о клиенте показывается сообщение «Вы заблокированы в данной партнерской зоне», если клиент заблокирован в текущей зоне. В коде такого состояния нет: в модели клиента и в ответе метода GetClientsByPartnerZoneId нет признака блокировки, сам текст сообщения нигде не встречается, карточка не получает признак блокировки. Есть только неиспользуемая константа «Аккаунт заблокирован» (общая, не про партнёрскую зону). \ entities/client/types/client.types.ts:10-20; shared/api/clients/api/clients.api.ts:14-24; constants/error-messages.ts:35 — не найдено за обход по карточке, модели клиента, клиентскому API и константам | Разработка (Владислав) | Open | (А) реализовать признак блокировки в зоне и его показ — сперва подтвердить, что бэкенд (Back: 1.3 Клиенты) отдаёт этот признак; (Б) если блокировка в зоне для виджета не планируется — зафиксировать в BRD. Разблокирует OQ6.1-5. |
| OQ6.1-5 | Код FR6.1-6 | Требование говорит: заблокированному клиенту интерфейс не даёт продолжить бронирование (оставляя возврат назад и выход). В коде продолжение не ограничивается блокировкой: кнопка «Забронировать» блокируется только на время создания заказа, признака блокировки клиента нет, заказ создаётся без такой проверки. \ widgets/booking/ui/OrderBaseForm.vue:88,325-337; widgets/order-form/model/useOrderFormStore.ts:255-294 · связать с OQ6.1-4 (нет самого признака блокировки) | Разработка (Владислав) | Open | (А) после появления признака блокировки (OQ6.1-4) запрещать создание заказа и показывать причину — рекомендуется; (Б) если ограничение не требуется — поправить FR6.1-6. |
| OQ6.1-6 | Код FR6.1-3 | Что подтверждено: выход из аккаунта доступен прямо в блоке информации о клиенте — крестик в карточке вызывает выход и переводит на экран авторизации. Отдельной кнопки «сменить клиента» без полного выхода нет; по FR6.1-3 достаточно выхода, расхождения нет. \ features/order-client-card/ui/OrderClientCard.vue:35-47,81-87; entities/auth/model/useAuth.ts:28-38 | — | Подтверждено | Действий не требуется; при желании ввести «смену клиента» без выхода — завести отдельное требование. |
| OQ6.1-7 | Код вне BRD | Что нашли: в карточке клиента поверх аватара всегда показывается бейдж «PRO» — без условия, для любого клиента; в требованиях 6.1 такого элемента нет. \ features/order-client-card/ui/OrderClientCard.vue:17 | Бизнес (Герман) | Open | (А) показывать бейдж по реальному признаку (например, статус/тариф клиента) или убрать — рекомендуется, если «PRO» несёт смысл; (Б) если бейдж намеренно для всех — добавить в BRD. |
| OQ6.1-8 | Код вне BRD (Не входит → Widget: 4.2 / 5.x) | Что нашли: FR6.1-2 приводит пример «у клиента есть сбор» как причину изменения цены при возврате, но расчёт заказа в виджете всегда идёт с выключенным учётом сборов (значение зафиксировано как «нет»), то есть сбор клиента в цене не применяется. \ widgets/order-form/model/useOrderFormStore.ts:196,282 | Закрывает PM | — | Закрываю сам: относится к расчёту заказа (Не входит → 4.2 / 5.x) → тикет в Bitrix на проверку учёта сборов; в разделе 6.1 не дублировать. |