Перейти к содержимому

UC (Варианты использования)

Варианты использования для создания заявки на досрочное расторжение договора

UC.01. Создание заявки на досрочное расторжение договора

Краткое описание

Клиент создает заявку на досрочное расторжение активного договора через личный кабинет.

Участники

УчастникОписание
КлиентАвторизованный пользователь личного кабинета
Личный кабинетUI, через который клиент создает заявку
API GatewayПринимает REST-запрос и вызывает backend
Contract Termination ServiceСоздает заявку

Предусловия

IDПредусловие
PRE.01Клиент авторизован
PRE.02У клиента есть договор
PRE.03Договор находится в статусе ACTIVE
PRE.04По договору нет активной заявки на расторжение

Постусловия успешного сценария

IDПостусловие
POST.01Заявка создана
POST.02Заявке присвоен уникальный номер
POST.03Заявка находится в статусе SUBMITTED
POST.04Клиенту показано сообщение об успешной отправке
POST.05Инициирована отправка уведомления клиенту

Основной сценарий

ШагДействие пользователяДействие системы
1Клиент открывает личный кабинетСистема отображает главную страницу
2Клиент переходит в раздел “Договоры”Система отображает список договоров
3Клиент открывает карточку активного договораСистема отображает данные договора
4Клиент нажимает “Расторгнуть договор”Система открывает форму создания заявки
5Клиент выбирает причину расторженияСистема сохраняет выбранное значение на форме
6Клиент указывает желаемую дату расторженияСистема выполняет фронтовую проверку даты
7Клиент указывает банковские реквизитыСистема выполняет фронтовую проверку формата
8Клиент при необходимости прикладывает документыСистема отображает список приложенных документов
9Клиент нажимает “Отправить заявку”Frontend отправляет REST-запрос в API Gateway
10-API Gateway валидирует запрос
11-API Gateway маппит REST-запрос в gRPC-запрос
12-Backend-сервис выполняет бизнес-проверки
13-Backend-сервис создает заявку
14-API Gateway возвращает результат на Frontend
15Клиент видит результатСистема показывает номер заявки и статус

Альтернативные сценарии

UC.01.A1. Договор не активен

ШагОписание
1Клиент открывает карточку договора
2Система определяет, что договор не в статусе ACTIVE
3Кнопка “Расторгнуть договор” не отображается или заблокирована
4Клиент не может создать заявку

UC.01.A2. По договору уже есть активная заявка

ШагОписание
1Клиент нажимает “Расторгнуть договор”
2Система определяет, что по договору уже есть активная заявка
3Система не создает новую заявку
4Клиент видит сообщение: “По договору уже создана заявка на расторжение”

UC.01.A3. Не заполнены обязательные поля

ШагОписание
1Клиент нажимает “Отправить заявку”
2Frontend проверяет форму
3Система подсвечивает незаполненные обязательные поля
4REST-запрос не отправляется

UC.01.A4. Ошибка backend-валидации

ШагОписание
1Клиент отправляет форму
2API Gateway вызывает backend-сервис
3Backend-сервис обнаруживает бизнес-ошибку
4API Gateway возвращает ошибку на Frontend
5Frontend отображает понятный текст ошибки клиенту

UC.01.A5. Повторная отправка запроса

ШагОписание
1Клиент повторно нажимает “Отправить заявку” или происходит повтор запроса
2API Gateway передает тот же Idempotency-Key
3Backend-сервис находит ранее созданную заявку
4Backend-сервис возвращает данные ранее созданной заявки
5Дубль заявки не создается

Исключительные сценарии

UC.01.E1. Backend-сервис недоступен

ШагОписание
1API Gateway вызывает gRPC-метод
2Backend-сервис не отвечает в рамках timeout
3API Gateway возвращает HTTP 503 Service Unavailable
4Frontend показывает сообщение: “Сервис временно недоступен. Попробуйте позже”

UC.01.E2. Ошибка сохранения заявки

ШагОписание
1Backend-сервис выполняет проверки
2При сохранении заявки возникает ошибка БД
3Заявка не создается
4API Gateway возвращает HTTP 500 Internal Server Error
5Ошибка логируется с correlationId