Контроль билетов по QR-коду для плагина Events&Places
Есть такой отличный плагин для театров и различных залов.
Он прекрасно показал себя "в бою" и уже несколько лет работает, аки пчёлка. И, главное, устраивает заказчиков. Основные задачи, которые решает плагин, описывать не буду - на странице разработчика подробно описано. Но, совершенству нет предела. И требования растут. Короче, встаёт вопрос, как запустить в зал на 500 мест посетителей, которые заходят все почти к началу сеанса? Ответ очевиден - в билет заносить код и считывать контроллерами на входе. Обрабатывать код, выдавать результат, запоминать положительный результат.
При этом сталкиваемся с 3-мя вариантам событий:
- билет не на это мероприятие (несоответствие данному мероприятию, дате);
- по этому билету уже кто-то зашёл (копия);
- билет верный.
Соответственно надо обработать код и выдать 3 варианта результата:
- Нет такого билета!
- Уже занято. Время входа 19:02:23
- Добро пожаловать! Ваше место Р5М7
Ещё нужно администрировать список билетов на сеанс.
В предлагаемом плагине Entry-control-evpl решены эти вопросы. Он работает в качестве дополнения к указанному выше плагину.
Плагин позволяет
Администратору:
1. Выбрать мероприятие/сеанс, на который уже закончена выдача/продажа билетов. При этом на отдельной странице админки формируется таблица со списком проданных мест.;
2. Просматривать таблицу/список сеанса с местами в реальном времени. Видеть сколько всего проданных мест, сколько человек уже зашло в зал, какие места уже заняты. В таблицу также заносится время входа посетителя с билетом (сканирования QR-кода билета);
3. Сортировать данные в таблице по номеру заказа, номеру места или по времени входа.
4. Поставить на входе несколько контроллеров.
Контроллёру:
1. Использовать свой смартфон, установив предварительно приложение чтения qr-кодов.
2. Сканируя билет, моментально видеть на смартфоне результат сканирования QR-кода билета.
Продемонстрировать работу плагина не представляется возможным, т.к. плагин WP Events&Place продаётся с привязкой к домену. Предлагаю посмотреть и потестировать демо без привязки к этому плагину.
Что за кадром
Entry-control-evpl организован как отдельный плагин. При активации он создаёт отдельную таблицу сеанса для входного контроля в Базе данных. В плагине WP Events&Place qr-код содержит только номер заказа. Добавить туда другие параметры не удалось. Поэтому, для генерирования qr-кода установлен иной генератор PHP QR Code encoder. Кроме того, пришлось внести изменения в файл core.php плагина.
Установка
1. Распакуйте папку entry-control-evpl.
2. Зайдите по FTP в папку events-and-places плагина WP Events&Place.
3. Сделайте копию файла core.php.
4. Закачайте в неё новый файл core.php и папку phpqrcode.
5. Закачайте в папку плагинов /wp-content/plugins папку entry-control.
6. Активируйте плагин в разделе "Плагины" административной части сайта.
Проверка работы
1. Первым делом проверьте работу плагина Events&Place. Могли быть изменения в версиях. Тестировался с версией 1.7.11. Если плагин работает не правильно, то верните файл core.php. Изменения делались в этом файле только в функции evpl_create_tickets. Поэтому, попробуйте заменить функцию с её содержимым.
2. В плагине Events&Place в общих настройках включите Формирование QR-кода. Создайте тестовое мероприятие или воспользуйтесь актуальным. В кассе оформите заказ на один или несколько билетов. Билеты должны сформироваться с qr-кодами.
3. В админке зайдите на страницу плагина Entry-control. Выберите мероприятие. Должно появится сообщение: Таблица билетов для мероприятия сформирована.
Если сообщение не появилось, значит при активации не была создана таблица по какой-то причине. Тогда создайте её в базе данных через phpMyadmin. Либо экспортируя файл wp_evpl_entry_control.sql, либо SQL-запросом из файла create-table-by-sql.sql.
4. Перейдите к таблице билетов, нажав на ссылку Перейти к таблице или пункт меню слева Таблица билетов.
Количество строк соответствует количеству проданных билетов.
5. Зарегистрируйте контроллёра в админке сайта как пользователя с ролью администратора. Контроллёр на своём смартфоне перед началом сканирования должен авторизоваться в админке через браузер, который установлен у него по умолчанию.
6. Установите на смартфон контроллера (для проверки - на свой) приложение чтения qr-кодов. Например, Сканер QR. В настройках приложения в разделе управления сканированием отметьте: Открывать веб-сайты автоматически.
7. Откройте билет: либо в админке, либо отправьте билет на почту, либо распечатайте, либо сбросьте на другой смартфон.
8. Сканируйте смартфоном контроллера qr-код на билете. Откроется веб-страница с результатом обработки:
- Нет такого билета!
- Уже занято. Время входа 19:02:23
- Добро пожаловать! Ваше место Р5М7
9. Если результат положительный - Добро пожаловать!, зайдите на страницу Таблица билетов, нажмите Обновить и Вы увидите в таблице время входа по этому билету.
Удаление плагина
Удаляется плагин через админку WP. Деактивировать, удалить. Таблица wp_evpl_entry_control будет удалена из базы данных, файлы плагина будут удалены из папки плагинов.
Версии плагина
Версия 1.0 - текущая.