User: alsaparov

Albert

@alsaparov
0 followers, 0 following
 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).
Техническое задание на разработку функционала управления чаевыми для веб-версии ресторана
1.	Цель проекта 
Разработать функционал для управления чаевыми, включающий страницу распределения чаевых для сотрудников с ролью "главный", историю транзакций и механизм подтверждения вывода средств через SMS-код.
2. Функциональные требования
2.1. История транзакций
•	На странице распределения чаевых разместить два раздела для отображения истории: поступления чаевых и распределения чаевых.
•	В каждом разделе отображать информацию о времени транзакции, сумме, комментарии (при наличии), оценке/рейтинге (для поступлений) и именах сотрудников (для распределений).
•	Реализовать функционал фильтрации и поиска по истории транзакций по датам, суммам и другим параметрам.
2.2. Страница распределения чаевых
•	Отображение текущей суммы накопленных чаевых, доступных для распределения.
•	Поле для выбора способа распределения суммы: поровну между всеми выбранными сотрудниками, процент от общей суммы или фиксированная сумма на каждого сотрудника.
•	Список сотрудников заведения с возможностью множественного выбора, включая кнопку для выбора всех сотрудников.
•	Панель справа от списка сотрудников, отображающая сумму чаевых, которая будет распределена каждому выбранному сотруднику, автоматически обновляющаяся при изменении выбора и настроек распределения.
•	Кнопка "Вывести чаевые" для инициирования процесса распределения и вывода средств.
2.3. Подтверждение вывода через SMS
•	При нажатии на кнопку "Вывести чаевые" пользователю предлагается ввести код высланный на его номер телефона привязанный к аккаунту.
•	После ввода кода на странице, производится проверка его подлинности. При успешной проверке выполняется операция распределения и вывода чаевых, при неудачной - выводится сообщение об ошибке.
3. Нефункциональные требования
3.1. Безопасность
•	Реализовать аутентификацию и авторизацию пользователей, с ограничением доступа к функционалу управления чаевыми только для сотрудников с ролью "главный".
3.2. Отзывчивость и доступность
•	Разработать интерфейс с учетом принципов UX/UI, обеспечивающий удобство использования для всех пользователей.
•	Сохраните единообразие дизайна с остальными страницами сайта, используя стили и компоненты.
•	Сделать приложение адаптивным для просмотра на различных устройствах (десктопы, планшеты, смартфоны).

, Pencil Sketch