Привіт!
Нижче ТЗ складено з 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) Критерії приймання (прості і перевіряємi)
1. Клієнт обирає відділ → отримує номер → номер з'являється в черзі відділу.
2. Менеджер вмикає “На роботі” → отримує клієнтів по черзі (round-robin).
3. Якщо менеджер вимкнув “На роботі” → система перестає йому призначати клієнтів.
4. Менеджер натискає “Наступний” → бачить наступний номер, черга рухається.
5. Після перезапуску програми черга не обнуляється.
6. Адмін може скинути черги вручну.
⸻