Веб-інтерфейси
Система надає веб-інтерфейси на основі ролей для різних співробітників для управління VIP доступом.
Огляд
| Інтерфейс | URL | Необхідна роль | Опис |
|---|---|---|---|
| Перевірка касира | /cashier/ |
cashier, admin |
Перевірка валідності скіпасу на вході |
| Управління лижною школою | /skischool/ |
skischool, admin |
Створення та управління уроками |
| Бронювання готелю | /hotel/ |
hotel, admin |
Створення бронювань готелів з VIP доступом |
| Журнал аудиту | /audit/ |
admin |
Перегляд всіх дій операторів |
Аутентифікація
Всі інтерфейси вимагають аутентифікації. Користувачі повинні:
1. Увійти в систему на /login/
2. Бути призначені до відповідної групи (cashier/skischool/hotel/admin)
3. Мати активний обліковий запис
Інтерфейс касира
URL: /cashier/
Призначення: Швидка перевірка скіпасів на вхідних турнікетах
Можливості: - Перевірка скіпасів в реальному часі - Показує статус VIP доступу (✅ дозволено / ❌ заборонено) - Відображає інформацію про бронювання для валідних скіпасів - Показує періоди майбутньої валідності для зараз невалідних скіпасів - Автоматичний фокус на полі вводу після кожної перевірки для швидкої обробки
Відображається інформація:
Коли доступ ДОЗВОЛЕНО: - ✅ VIP ДОСТУП ДОЗВОЛЕНО - Номер бронювання - ID уроку (якщо застосовно) - Номер скіпасу - Час перевірки
Коли доступ ЗАБОРОНЕНО, але скіпас знайдено в системі: - ❌ ДОСТУП ЗАБОРОНЕНО - Причина заборони - Номер скіпасу - ℹ️ Інформація про скіпас: - Номер бронювання - Активний з (дата та час) - Активний до (дата та час) - Статус (Активний/Скасований/Завершений)
Послідовність використання:
1. Введіть номер скіпасу (наприклад, 1-12-223-2323)
2. Натисніть "Перевірити доступ" або натисніть Enter
3. Перегляньте результат
4. Поле вводу автоматично очищається для наступної перевірки
Інтерфейс лижної школи
URL: /skischool/
Призначення: Управління уроками лижної школи та учасниками
Можливості: - Створення нових уроків з кількома учасниками - Додавання кількох скіпасів на учасника - Перегляд списку активних уроків - Пошук та фільтрація уроків - Управління деталями уроків
Вкладки: 1. Створити урок - Деталі уроку (номер бронювання, дати, місце, інструктор) - Додавання учасників з інформацією про клієнта - Додавання кількох скіпасів на учасника
- Список уроків
- Перегляд всіх уроків
- Фільтрація за статусом, датою, номером бронювання
- Швидкий доступ до деталей уроку
Створення уроку: 1. Заповніть деталі уроку: - Номер бронювання - Дата та час початку та закінчення - Ім'я інструктора - Місце проведення - Опис 2. Додайте учасників: - Інформація про клієнта (ім'я, прізвище, телефон, email) - Натисніть "Додати учасника" 3. Додайте скіпаси для кожного учасника: - Номер скіпасу - Період валідності (необов'язково) - Натисніть "Додати скіпас" 4. Натисніть "Створити урок"
Інтерфейс готелю
URL: /hotel/
Призначення: Створення бронювань готелів з VIP доступом
Можливості: - Створення бронювань готелів - Прив'язка скіпасів до бронювань - Надання VIP доступу для гостей готелю - Перегляд існуючих бронювань
Вкладки: 1. Створити бронювання - Інформація про гостя - Деталі готелю та номера - Дати бронювання - Скіпаси гостей
- Список бронювань
- Перегляд всіх бронювань готелів
- Фільтрація за датами, готелем, ID бронювання
- Швидкий доступ до деталей бронювання
Створення бронювання: 1. Заповніть дані гостя: - Ім'я, прізвище - Номер телефону - Email 2. Заповніть деталі бронювання: - ID готелю - ID номера - ID бронювання - Дати заїзду та виїзду 3. Додайте гостей та їх скіпаси: - Ім'я та деталі гостя - Номер скіпасу - Натисніть "Додати гостя" 4. Натисніть "Створити VIP бронювання"
Інтерфейс журналу аудиту
URL: /audit/
Роль: Тільки адмін
Призначення: Моніторинг всіх дій операторів для безпеки та підзвітності
Можливості: - Перегляд всіх дій системи - Фільтрація за: - Користувачем - Типом дії (login, create_lesson, check_skipass, тощо) - Діапазоном дат - Статусом (успіх/помилка/заборонено) - Експорт логів - Відстеження сесій користувачів
Логовані дії: - Вхід/вихід користувача - Перевірки скіпасів - Створення/зміна/видалення уроків - Створення/зміна/видалення бронювань - Спроби доступу, що були заборонені - Перегляд звітів
Відображається інформація: - Часова мітка - Ім'я користувача - Тип дії - Статус - IP адреса - User agent - Деталі запиту - Цільовий об'єкт (урок, бронювання, тощо) - Внесені зміни (для оновлень)
Управління ролями
Для надання доступу користувачам:
- Перейдіть до Django Admin:
/admin/ - Перейдіть до "Groups"
- Призначте користувачів до відповідних груп:
cashier- Доступ до інтерфейсу перевірки скіпасівskischool- Доступ до управління урокамиhotel- Доступ до управління бронюваннями готелівadmin- Повний доступ, включаючи журнал аудиту
Функції безпеки
- Всі дії логуються в системі аудиту
- Відстеження сесій для кожного користувача
- Запис IP адреси та user agent
- Спроби доступу, що були заборонені, логуються
- Пароль вимагається для всіх чутливих операцій
- Захист від CSRF на всіх формах
- Контроль доступу на основі ролей
Мобільна оптимізація
Всі інтерфейси адаптивні та працюють на: - Десктопних браузерах - Планшетах - Мобільних телефонах
Рекомендується використовувати інтерфейс касира на планшетах для швидкої обробки на вхідних турнікетах.
Підтримка браузерів
- Chrome (рекомендовано)
- Firefox
- Safari
- Edge
Мінімальна роздільна здатність екрана: 320px ширини