Веб-інтерфейси

Система надає веб-інтерфейси на основі ролей для різних співробітників для управління 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. Перегляд всіх уроків
  3. Фільтрація за статусом, датою, номером бронювання
  4. Швидкий доступ до деталей уроку

Створення уроку: 1. Заповніть деталі уроку: - Номер бронювання - Дата та час початку та закінчення - Ім'я інструктора - Місце проведення - Опис 2. Додайте учасників: - Інформація про клієнта (ім'я, прізвище, телефон, email) - Натисніть "Додати учасника" 3. Додайте скіпаси для кожного учасника: - Номер скіпасу - Період валідності (необов'язково) - Натисніть "Додати скіпас" 4. Натисніть "Створити урок"

Інтерфейс готелю

URL: /hotel/

Призначення: Створення бронювань готелів з VIP доступом

Можливості: - Створення бронювань готелів - Прив'язка скіпасів до бронювань - Надання VIP доступу для гостей готелю - Перегляд існуючих бронювань

Вкладки: 1. Створити бронювання - Інформація про гостя - Деталі готелю та номера - Дати бронювання - Скіпаси гостей

  1. Список бронювань
  2. Перегляд всіх бронювань готелів
  3. Фільтрація за датами, готелем, ID бронювання
  4. Швидкий доступ до деталей бронювання

Створення бронювання: 1. Заповніть дані гостя: - Ім'я, прізвище - Номер телефону - Email 2. Заповніть деталі бронювання: - ID готелю - ID номера - ID бронювання - Дати заїзду та виїзду 3. Додайте гостей та їх скіпаси: - Ім'я та деталі гостя - Номер скіпасу - Натисніть "Додати гостя" 4. Натисніть "Створити VIP бронювання"

Інтерфейс журналу аудиту

URL: /audit/

Роль: Тільки адмін

Призначення: Моніторинг всіх дій операторів для безпеки та підзвітності

Можливості: - Перегляд всіх дій системи - Фільтрація за: - Користувачем - Типом дії (login, create_lesson, check_skipass, тощо) - Діапазоном дат - Статусом (успіх/помилка/заборонено) - Експорт логів - Відстеження сесій користувачів

Логовані дії: - Вхід/вихід користувача - Перевірки скіпасів - Створення/зміна/видалення уроків - Створення/зміна/видалення бронювань - Спроби доступу, що були заборонені - Перегляд звітів

Відображається інформація: - Часова мітка - Ім'я користувача - Тип дії - Статус - IP адреса - User agent - Деталі запиту - Цільовий об'єкт (урок, бронювання, тощо) - Внесені зміни (для оновлень)

Управління ролями

Для надання доступу користувачам:

  1. Перейдіть до Django Admin: /admin/
  2. Перейдіть до "Groups"
  3. Призначте користувачів до відповідних груп:
  4. cashier - Доступ до інтерфейсу перевірки скіпасів
  5. skischool - Доступ до управління уроками
  6. hotel - Доступ до управління бронюваннями готелів
  7. admin - Повний доступ, включаючи журнал аудиту

Функції безпеки

  • Всі дії логуються в системі аудиту
  • Відстеження сесій для кожного користувача
  • Запис IP адреси та user agent
  • Спроби доступу, що були заборонені, логуються
  • Пароль вимагається для всіх чутливих операцій
  • Захист від CSRF на всіх формах
  • Контроль доступу на основі ролей

Мобільна оптимізація

Всі інтерфейси адаптивні та працюють на: - Десктопних браузерах - Планшетах - Мобільних телефонах

Рекомендується використовувати інтерфейс касира на планшетах для швидкої обробки на вхідних турнікетах.

Підтримка браузерів

  • Chrome (рекомендовано)
  • Firefox
  • Safari
  • Edge

Мінімальна роздільна здатність екрана: 320px ширини