Добрый!
Ниже ТЗ составлено с GPT.
Просьба в заявке сразу укажите похожее решение которое вы уже делали. С нуля делать не надо.
1) Цель
Сделать простую систему электронной очереди для офлайн-магазина:
• клиент на входе выбирает отдел (3–4 кнопки) на планшете,
• получает номер,
• менеджеры отмечают, кто сегодня работает,
• система распределяет очередь по работающим менеджерам в выбранном отделе,
• менеджер нажимает «Следующий» и получает следующего клиента.
⸻
2) Роли пользователей
1. Клиент (только экран выбора отдела + отображение номера)
2. Менеджер (видит свою очередь и вызывает следующего)
3. Администратор (создает отделы, добавляет менеджеров, назначает менеджеров в отделы)
⸻
3) Обязательные функции
3.1 Экран клиента (киоск на планшете)
• Главный экран: 3–4 большие кнопки отделов (например: Продажи / Выдача / Сервис / Возврат).
• После нажатия на отдел:
• показывается номер талона (пример: A-015 или 015),
• текст “Ожидайте вызова менеджером”.
• Автовозврат на главный экран через 10–15 секунд.
• Никаких персональных данных клиент не вводит.
3.2 Очереди по отделам
• У каждого отдела своя очередь.
• Нумерация:
• либо общая (001, 002, 003…),
• либо по отделам (A001 для Продаж, B001 для Сервиса и т.п.).
• Очередь должна сохраняться при закрытии/перезапуске приложения.
3.3 Менеджеры и статус “на смене”
• В приложении должна быть зона “Менеджер”.
• Менеджер выбирает себя из списка и включает статус:
• «На работе / Принимаю клиентов»
• «Не на работе»
• Менеджер закреплен за конкретным отделом (или может переключать отдел, если админ разрешит).
3.4 Распределение очереди между менеджерами отдела
Требование: система должна “перекидывать” клиентов между работающими менеджерами.
Логика распределения (простая и понятная):
• Если в отделе работает 1 менеджер → все клиенты ему.
• Если работает 2+ менеджера → распределение Round-robin (по очереди):
• следующий талон назначается менеджеру, который в очереди следующий (1 → 2 → 3 → 1 → 2…).
• Если менеджер выключил “На работе” → новые клиенты ему не назначаются.
• Если менеджер снова включился → включается в round-robin с текущего момента.
3.5 Экран менеджера
Менеджер должен видеть:
• “Следующий клиент” (кнопка)
• текущий вызванный номер (например A015)
• список следующих 3–5 номеров (опционально, но желательно)
• количество ожидающих в его отделе
Кнопки:
• Следующий
• Завершить (опционально, можно объединить с “Следующий”)
• Пропустить (если клиента нет) — талон уходит в конец очереди или помечается пропущенным (в MVP можно просто “в конец”).
3.6 Админ-настройки (минимум)
В приложении должна быть админка (можно скрытая, по PIN-коду):
• создать/переименовать отделы (3–4)
• добавить менеджеров
• назначить менеджеров в отделы
• сбросить очередь (в начале дня)
⸻
4) Не входит в MVP (чтобы не усложнять)
• печать талонов
• табло/телевизор
• SMS
• интеграция с 1С/сайтом
• аналитика времени ожидания (можно позже)
⸻
5) Платформа
Предпочтительно: Android планшет (как киоск).
Вариант реализации:
• 1 приложение, в котором есть режим “Клиент” и “Менеджер/Админ”
• или web-приложение: планшет у входа = клиентский интерфейс, телефоны/ПК менеджеров = операторский интерфейс
⸻
6) Критерии приемки (простые и проверяемые)
1. Клиент выбирает отдел → получает номер → номер появляется в очереди отдела.
2. Менеджер включает “На работе” → получает клиентов по очереди (round-robin).
3. Если менеджер выключил “На работе” → система перестает ему назначать клиентов.
4. Менеджер нажимает “Следующий” → видит следующий номер, очередь двигается.
5. После перезапуска приложения очередь не обнуляется.
6. Админ может сбросить очереди вручную.
⸻