*Цель:* Необходимо реализовать возможность возврата денежных средств покупателю за ранее приобретенные товары и услуги как в полном объеме, так и частично, путем выбора возвращаемых позиций из чека.
*Дизайн:* [https://www.figma.com/file/3cmT82TVv6BMGQs6dnyvWn/Seller-redesign?type=design&node-id=4545-76916&mode=design&t=PXHSFLgutw1oKC6b-4|https://www.figma.com/file/3cmT82TVv6BMGQs6dnyvWn/Seller-redesign?type=design&node-id=4545-76916&mode=design&t=PXHSFLgutw1oKC6b-4|smart-link]
*Спецификация:*
# Область чека состоит из 5 основных блоков: поле для внесения номера чека, область позиций чека, кнопка перехода к возврату денежных средств, модальное окно для внесения номера заказа, модальное окно для возврата оплат.
# При клике на поле внесения номера открывается экранная клавиатура в модальном окне для внесения номера. Подтверждение выбора вызывает соответствующий запрос в БД, для заполнения коллекций возврата чека..
# Область позиций чека представляет из себя визуальную коллекцию списка билетов сгруппированных по сеансу, товаров и комбо-товаров, также сгруппированных в случае, если количество позиций одной номенклатуры больше 1, и сертификатов. Порядок отображения соответствует данным группам. Внутри каждой группы в порядке добавления в чек.
# Список позиций чека имеет возможность вертикальной прокрутки, если позиции не вмещаются в видимую область.
# Наполнение плашки сеанса: наименование события, формат видео, время начала сеанса, день недели (для текущей даты - Сегодня, для даты больше Текущая +6 дн, указывается дата сеанса в формате ДД/ММ/ГГ), номер и наименование зала
# Наполнение плашки билета: иконка типа места с цветовым отображением, наименование ряда и места с префиксом, тариф и цена
# Наполнение плашки товара: наименование, количество, цена. Если количество позиций больше 1, тогда имеет возможность развернуть до выбора единичной позиции. Клик по основной группе выделяет все доступные подчиненные поля
# Наполнение плашки комбо-товара: наименование, количество, цена. Если количество позиций больше 1, тогда имеет возможность развернуть до выбора единичной позиции. Клик по основной группе выделяет все доступные подчиненные поля
# Наполнение плашки сертификата: наименование, номер в серии, количество, цена
# При изменении выбранных позиций, сумма возврата отображаемая на кнопке подтверждения ([https://www.figma.com/file/3cmT82TVv6BMGQs6dnyvWn/Seller-redesign?type=design&node-id=4559-81259&mode=design&t=PXHSFLgutw1oKC6b-4|https://www.figma.com/file/3cmT82TVv6BMGQs6dnyvWn/Seller-redesign?type=design&node-id=4559-81259&mode=design&t=PXHSFLgutw1oKC6b-4|smart-link]), изменяется динамически с использованием визуальной коллекции.
# Список так же содержит недоступные поля для редактирования, таким образом отмечаются ранее возвращенные позиции (да такое может быть, один и тот же чек можно возвращать частями) ([https://www.figma.com/file/3cmT82TVv6BMGQs6dnyvWn/Seller-redesign?type=design&node-id=5896-66258&mode=design&t=PXHSFLgutw1oKC6b-4|https://www.figma.com/file/3cmT82TVv6BMGQs6dnyvWn/Seller-redesign?type=design&node-id=5896-66258&mode=design&t=PXHSFLgutw1oKC6b-4|smart-link])
# Модальное окно ввода номера заказа ([https://www.figma.com/file/3cmT82TVv6BMGQs6dnyvWn/Seller-redesign?type=design&node-id=4559-81680&mode=design&t=PXHSFLgutw1oKC6b-4|https://www.figma.com/file/3cmT82TVv6BMGQs6dnyvWn/Seller-redesign?type=design&node-id=4559-81680&mode=design&t=PXHSFLgutw1oKC6b-4|smart-link]) имеет экранную клавиатуру, но само поле с значением должно находиться в фокусе и принимать значения и с клавиатуры (числовая валидация обязательна)
# Модальное окно возврата оплат покупателю ([https://www.figma.com/file/3cmT82TVv6BMGQs6dnyvWn/Seller-redesign?type=design&node-id=4559-81912&mode=design&t=PXHSFLgutw1oKC6b-4|https://www.figma.com/file/3cmT82TVv6BMGQs6dnyvWn/Seller-redesign?type=design&node-id=4559-81912&mode=design&t=PXHSFLgutw1oKC6b-4|smart-link] [https://www.figma.com/file/3cmT82TVv6BMGQs6dnyvWn/Seller-redesign?type=design&node-id=4559-82184&mode=design&t=PXHSFLgutw1oKC6b-4|https://www.figma.com/file/3cmT82TVv6BMGQs6dnyvWn/Seller-redesign?type=design&node-id=4559-82184&mode=design&t=PXHSFLgutw1oKC6b-4|smart-link]). Здесь выводятся только оплаты по позициям выбранным для возврата. Каждый вид оплаты возвращается отдельно от другого. Реализуется с помощью визуальных коллекций. Если какой-то вид оплаты уже возвращен, кнопка подсвечена другим цветом. Повторный клик на нее приведет к отмене возврата оплаты и кнопка примет исходное состояние. Как только все оплаты возвращены, переход на печать чека возврата должен осуществляться автоматически. В случае возникновения ошибок в процессе печати чека (о чем уведомляет система нотификации) повторная отправка на печать возможна с помощью кнопки.
При наличии активной возвращенной суммы, закрытие модального окна недоступно.
# *NB!* При запуске ПО происходит обязательна проверка на наличие активного возврата на кассе. Если такой существует, то программа автоматически открывает его форму. Если есть уже активные возвращенные оплаты, то и модальное окно возврата оплат покупателю должно открываться поверх чека возврата.
# Текстовые наименования интерфейса (при наличии) проходят через сервис мультиязычности
# Все данные отображенные на плашке товара или категории товара, отображенные в интерфейсе, обновляются автоматически в режиме реального времени. Т.е. если изменить наименование, либо другую характеристику товара, то они применяются сразу же без вызова дополнительного обновления формы.
*Список подзадач:*
# Создание визуальной коллекции возвращаемого чека
# Создание визуальной коллекции билетов для сеанса
# Создание визуальной коллекции товаров для расшифровки
# Создание визуальной коллекции комбо-товаров для расшифровки
# Создание визуальной коллекции суммы выбранного возврата
# Создание визуальной коллекции оплат для возврата
# Подключение к сервису платежного терминала
# Подключение к сервису платежной системы Ассист
# Подключение к сервису платежной системы О!Плати
# Подключение к сервису фискального регистратора
# Управление состояниями экрана при запуске ПО