Направление работ: Mobile Код раздела: 5.9.1 Раздел: Профиль > Ограничения > Оспорить ограничение Статус: Готов Ответственный: Панкова Л.А. Версия: 0.1 Обновлено: 13.07.26


1. Назначение

Раздел позволяет клиенту выбрать действие для ограничения и перейти к его оспариванию.

В текущем сценарии интерфейс открывает системное почтовое приложение с адресом партнера. Для будущей реализации предусмотрен встроенный чат с отправкой сообщения и вложений.

Раздел зависит от Back: 1.3.2 Характеристики клиента и использует ограничения из Mobile 5.9.

2. Ключевые понятия

Ограничение — примененная партнером характеристика клиента, которая изменяет доступность бронирования или условия оказания услуг в конкретной партнерской зоне.

Оспаривание ограничения — обращение клиента к партнеру по выбранному ограничению.

Чат для оспаривания — интерфейс отправки партнеру сообщения и вложений по выбранному ограничению.

3. Scope

Входит

S1: Ограничения и действия с ними

S2: Чат для оспаривания ограничения (на будущую реализацию)

Не входит

4. BR

Указаны в пункте 4 раздела Back: 1.3.2 Характеристики клиента.

5. Функциональные требования (UC + FR)

IDСценарийФункциональное требованиеBRВесСтатус
S1: FR5.9.1-1Клиент просматривает доступные действия с ограничениемИнтерфейс показывает в карточке ограничения действия «Оспорить» и «Оплатить», если они доступны для выбранного ограничения.1Реализовано — OQ5.9.1-3
S1: FR5.9.1-2Клиент оспаривает ограничениеИнтерфейс по действию «Оспорить» открывает системное почтовое приложение с адресом электронной почты партнера.1Реализовано — OQ5.9.1-1, OQ5.9.1-2
S1: FR5.9.1-3Клиент оплачивает начисленный сборИнтерфейс по действию «Оплатить» начинает сценарий оплаты начисленного сбора.1Реализовано — OQ5.9.1-4
S2: FR5.9.1-4Клиент переходит к оспариванию в приложении (на будущую реализацию)Интерфейс по действию «Оспорить» открывает чат с адресом электронной почты партнера, полем «Сообщение…» и действиями добавления вложения и отправки.3— OQ5.9.1-6
S2: FR5.9.1-5Клиент отправляет сообщение партнеру (на будущую реализацию)Интерфейс позволяет ввести текст сообщения и отправить его партнеру по выбранному ограничению.3— OQ5.9.1-6
S2: FR5.9.1-6Клиент добавляет вложения (на будущую реализацию)Интерфейс позволяет прикрепить до пяти файлов как «Изображение» или «Документ», показывает добавленные изображения и позволяет удалить вложение до отправки.3— OQ5.9.1-6
S2: FR5.9.1-7Сообщение успешно отправлено (на будущую реализацию)Интерфейс показывает подтверждение отправки, сообщает, что дальнейшее оспаривание сборов осуществляется по электронной почте клиента, и позволяет закрыть состояние по действию «Закрыть».3— OQ5.9.1-6
S2: FR5.9.1-8Сообщение не отправлено (на будущую реализацию)Интерфейс показывает экран «Ошибка» с сообщениями «Что-то пошло не так» и «Проверьте соединение с интернетом или повторите попытку позднее» и позволяет повторить отправку по действию «Попробовать еще раз».3— OQ5.9.1-6

6. Открытые вопросы

Пин-контекст. BRD 5.9.1 v0.1 · репо booking.mobile.flutter (Flutter/Dart) · commit 1c4ad0e / origin/main · дата 2026-09-08 · якорь lib/src/feature/profile_page/forfeits/ (точка входа — Профиль → «Ограничения», profile_screen.dart:539 → ForfeitsRoute). Сводка. 6 вопросов (Open — 2 · Закрывает PM — 1 · Подтверждено — 3) · отрезано находок обратного прохода — 3 (принадлежат разделу Mobile 5.9 «Ограничения», не 5.9.1). Статусы OQ ниже не менялись (правило дельта-сверки); фактическая картина по коду на 1c4ad0e — см. досверку ниже и 5.9.1-mobile.changes.md. Маршрутизация без сверки с гайдбуком — гайдбук на вход не передавался; спорные вопросы отнесены бизнесу как «подтвердить нечем». Повторная сверка по итогам дейликов (08.09.26, commit 2b93d4f). Предыдущая сверка — 14.07.26, commit dad0c65. Между dad0c65 и 2b93d4f якорь lib/src/feature/profile_page/forfeits/ тронул только один коммит — 0d2c5cb "dart format" (31.08.26), без изменения логики; forfeit_tile.dart не изменился ни на строку. Все статусы были оставлены без изменений. Досверка по дельте 2b93d4f → 1c4ad0e (08.09.26, влит dev в origin/main, merge 1c4ad0e). Якорь forfeits/ теперь содержит реальные функциональные изменения в forfeit_tile.dart и forfeit_screen.dart (соответствует дейликам Андрея «закрывал доработки 5.9.1», 31.08). По коду закрыты: OQ5.9.1-1 и OQ5.9.1-2 — письмо оспаривания теперь адресуется forfeit.partnerEmail (с запасным вариантом support@musbooking.com, если бэкенд не прислал e-mail партнёра) и содержит тему/текст с причиной, площадкой, периодом заказа и суммой сбора, а не фиксированную заглушку — forfeit_tile.dart:38-63 (buildDisputeMailtoUri), :350-351 (вызов из обработчика «Оспорить»). OQ5.9.1-5 — безусловный canPay = true после проверки e-mail убран, forfeit_tile.dart:410-434 (тот же фикс, что закрывает OQ5.9-10 в разделе 5.9). Раздел S2 (встроенный чат оспаривания) по-прежнему полностью закомментирован (support_chat_screen.dart), маршрут SupportChatRoute по-прежнему выключен в app_router.dart:368 — без изменений, соответствует пометке BRD «на будущую реализацию» (OQ5.9.1-6). Существующие строки таблицы вопросов ниже не редактировались; изменения отражены в колонке «Статус» раздела 5 и в 5.9.1-mobile.changes.md. Новых открытых вопросов не заведено.

IDИсточникВопросКомуСтатусРекомендацииИтоговое решение
OQ5.9.1-1Код FR5.9.1-2Требование говорит: «Оспорить» открывает почтовое приложение с адресом партнёра. В коде адрес получателя жёстко задан как служебная почта сервиса support@musbooking.com — письмо уходит в поддержку MUSbooking, а не партнёру. При этом e-mail партнёра приходит с бэкенда и доступен на карточке, но не используется. \ forfeit_tile.dart:250-254, поле есть: forfeit_model.dart:44 (partnerEmail)Бизнес (Герман)Open(А, реком.): подтвердить, что оспаривание должно идти партнёру, и подставить forfeit.partnerEmail — данные уже приходят, правка на стороне разработки минимальна. (Б): если по продукту оспаривание намеренно маршрутизируется через поддержку MUSbooking — зафиксировать это в BRD (заменить «адрес партнёра» на «поддержку сервиса»). Разблокирует OQ5.9.1-2.Доработка, вес 1, вариант А
OQ5.9.1-2Код FR5.9.1-2Требование говорит: клиент оспаривает выбранное ограничение. В коде тема и текст письма — фиксированные заглушки («Оспорить ограничение площадки» / «Укажите название ограничения и ссылку на проблему»); ни название ограничения, ни площадка, ни заказ в письмо не подставляются, хотя эти данные есть на карточке. Получатель не понимает, о каком именно ограничении речь. \ forfeit_tile.dart:250-254 (данные доступны: forfeit_model.dart:43-52)Разработка (Владислав)Open(А, реком.): подставлять в тему/текст название площадки, комнаты, причину и период заказа из карточки — так письмо станет адресным. (Б): оставить заглушку и попросить клиента заполнять вручную (хуже для партнёра). Зависит от OQ5.9.1-1 (сначала адрес получателя).Вариант А, доработка, вес 1
OQ5.9.1-5Код (сверх BRD, область FR5.9.1-3)Проблема: перед оплатой сбора код проверяет, указан ли e-mail клиента, и показывает форму ввода, если почты нет. Но сразу после этой проверки результат принудительно перезаписывается на «можно платить» — форма ввода почты фактически ни на что не влияет, оплата продолжается в любом случае. Похоже на забытую отладочную строку. \ forfeit_tile.dart:336 (перекрывает проверку из forfeit_tile.dart:306-334)Разработка (Владислав)Закрывает PMЗакрываю сам: убрать безусловное canPay = true и оставить результат реальной проверки e-mail (или явно отказаться от требования почты, если оно не нужно) → тикет в Bitrix. Продуктового выбора нет — либо проверка нужна и должна работать, либо её надо удалить целиком.Доработка, вес 1
OQ5.9.1-3Код FR5.9.1-1Что подтверждено: карточка ограничения показывает оба действия. «Оспорить» отображается всегда; «Оплатить» — только когда сбор начислен (сумма > 0) и у ограничения есть платёжная настройка — это и есть «если доступны». Примечание: у действия «Оспорить» отдельного условия доступности нет (показывается для любого ограничения) — если по продукту оно должно иногда скрываться, это уточняется отдельно. \ «Оспорить»: forfeit_tile.dart:246-287; «Оплатить» + условие: forfeit_tile.dart:288-289—ПодтвержденоРасхождения по наличию действий нет. При необходимости — уточнить у бизнеса, всегда ли доступно «Оспорить».Всё ок, кнопка «Оспорить» всегда доступна
OQ5.9.1-4Код FR5.9.1-3Что подтверждено: действие «Оплатить» запускает сценарий оплаты сбора: приложение запрашивает у бэкенда ссылку на оплату (метод CreatePaymentLinkForForfeitMobile) и открывает её во внешнем окне оплаты. \ forfeit_tile.dart:295-347 → forfeit_cubit.dart:45-71 → forfeit_repository.dart:39-65—ПодтвержденоРасхождения нет. Технический дефект в этом же потоке — см. OQ5.9.1-5.Ок
OQ5.9.1-6Код FR5.9.1-4 … FR5.9.1-8Что подтверждено: встроенный чат оспаривания (S2 — форма сообщения, вложения, экраны успеха/ошибки) в коде отсутствует: экран чата полностью закомментирован, маршрут к нему выключен. Это соответствует пометке BRD «на будущую реализацию» — расхождения нет, реализовывать пока нечего. \ support_chat/widget/support_chat_screen.dart:1-106 (весь файл закомментирован), маршрут выключен: app_router.dart:374—ПодтвержденоРасхождения нет — S2 намеренно отложен. Проверить повторно при старте работ по чату оспаривания.Ок

0 items under this folder.