Техническое задание на разработку функционала управления чаевыми для веб-версии ресторана 1. Цель проекта Разработать функционал для управления чаевыми , включающий страницу распределения чаевых для сотрудников с ролью "главный" , историю транзакций и механизм подтверждения вывода средств через SMS-код. 2. Функциональные требования 2.1. История транзакций • На странице распределения чаевых разместить два раздела для отображения истории: поступления чаевых и распределения чаевых. • В каждом разделе отображать информацию о времени транзакции , сумме , комментарии (при наличии) , оценке/рейтинге (для поступлений) и именах сотрудников (для распределений). • Реализовать функционал фильтрации и поиска по истории транзакций по датам , суммам и другим параметрам. 2.2. Страница распределения чаевых • Отображение текущей суммы накопленных чаевых , доступных для распределения. • Поле для выбора способа распределения суммы: поровну между всеми выбранными сотрудниками , процент от общей суммы или фиксированная сумма на каждого сотрудника. • Список сотрудников заведения с возможностью множественного выбора , включая кнопку для выбора всех сотрудников. • Панель справа от списка сотрудников , отображающая сумму чаевых , которая будет распределена каждому выбранному сотруднику , автоматически обновляющаяся при изменении выбора и настроек распределения. • Кнопка "Вывести чаевые" для инициирования процесса распределения и вывода средств. 2.3. Подтверждение вывода через SMS • При нажатии на кнопку "Вывести чаевые" пользователю предлагается ввести код высланный на его номер телефона привязанный к аккаунту. • После ввода кода на странице , производится проверка его подлинности. При успешной проверке выполняется операция распределения и вывода чаевых , при неудачной - выводится сообщение об ошибке. 3. Нефункциональные требования 3.1. Безопасность • Реализовать аутентификацию и авторизацию пользователей , с ограничением доступа к функционалу управления чаевыми только для сотрудников с ролью "главный". 3.2. Отзывчивость и доступность • Разработать интерфейс с учетом принципов UX/UI , обеспечивающий удобство использования для всех пользователей. • Сохраните единообразие дизайна с остальными страницами сайта , используя стили и компоненты. • Сделать приложение адаптивным для просмотра на различных устройствах (десктопы , планшеты , смартфоны). , Pencil Sketch ,
Technical Specification for Developing a Tips Management Functionality for the Web Version of a Restaurant 1. Project Objective Develop a tips management functionality , including a tips distribution page for staff with the "main" role , transaction history , and a mechanism for confirming fund withdrawal via SMS code. 2. Functional Requirements 2.1. Transaction History • Place two sections on the tips distribution page to display history: tips received and tips distributed. • Display information in each section about the transaction time , amount , comments (if any) , rating/review (for received tips) , and staff names (for distributed tips). • Implement filtering and searching functionality for transaction history by dates , amounts , and other parameters. 2.2. Tips Distribution Page • Display the current amount of accumulated tips available for distribution. • Provide a field to select the distribution method: evenly among all selected staff , a percentage of the total amount , or a fixed amount per staff member. • List of establishment staff with the ability to select multiple staff members , including a button to select all staff. • A panel to the right of the staff list , displaying the amount of tips that will be distributed to each selected staff member , automatically updating with changes in selection and distribution settings. • "Withdraw Tips" button to initiate the process of distributing and withdrawing funds. 2.3. SMS Confirmation of Withdrawal • When the "Withdraw Tips" button is clicked , the user is prompted to enter a code sent to their phone number associated with their account. • After entering the code on the page , its authenticity is checked. If successful , the tips distribution and withdrawal operation is executed; if not , an error message is displayed. 3. Non-Functional Requirements 3.1. Security • Implement user authentication and authorization , restricting access to the tips management functionality only to staff with the "main" role. 3.2. Responsiveness and Accessibility • Develop an interface with UX/UI principles in mind , ensuring usability for all users. • Ensure consistency of design with other website pages by using styles and components. • Make the application responsive for viewing on various devices (desktops , tablets , smartphones). ,