Управляйте распределением мест с помощью гибкого конструктора диаграмм рассадки и позволяйте посетителям выбирать свои места в зависимости от планировки вашего места проведения.

Версия плагина: 2.0.1
 
WordPress плагин FooEvents Seating

Особенности плагина

FooEvents Seating - это плагин, который предоставляет безупречный способ создания интерактивных планов зала для мероприятий, улучшая опыт посетителей. Благодаря удобному интерфейсу и продвинутым возможностям настройки диаграмм, пользователи могут легко создавать детальные планы зала, соответствующие специфике их мероприятий. Это инструмент плавно интегрируется с платформой, обеспечивая легкое управление и визуализацию планов зала.

Он позволяет использовать функцию перетаскивания, упрощая процесс составления планов зала и эффективно оптимизируя использование пространства. Плагин поддерживает несколько категорий мест, что позволяет пользователям классифицировать места по цене, доступности или иным критериям. Благодаря функции предварительного просмотра в реальном времени организаторы могут визуализировать план зала по мере внесения изменений, гарантируя точное представление окончательной компоновки.

Организаторы мероприятий могут легко назначать места участникам, облегчая процесс регистрации и уменьшая вероятность расхождений по местам. Плагин также предлагает возможность настраивать метки и цвета мест, добавляя персонализированный стиль к дизайну зала. Путем создания печатных планов зала упрощается управление на месте и повышается общий опыт организации мероприятий.

Адаптивный дизайн FooEvents Seating обеспечивает оптимизацию планов зала под различные устройства, обеспечивая последовательный пользовательский опыт на рабочем столе, планшете и мобильных устройствах. Его безшовная интеграция с системами продажи билетов упрощает процесс бронирования билетов, позволяя участникам выбирать места напрямую на плане зала. Благодаря мощным возможностям отчетности организаторы мероприятий могут получить информацию о предпочтениях сидячих мест и оптимизировать будущие планировки мест для улучшения удовлетворенности участников..

Спецификации:

Дата выхода: 11-10-2020
Дата обновления: 01-06-2026
Тип расширения: Платный
Лицензия: GPL
Тематика: Стиль и дизайн
Совместимость: W5.x W6.x
Включает в себя: Плагин
Языковые пакеты: Английский
Разработчик: FooEvents

Рейтинг:
4.4641509433962 1 1 1 1 1 (Оценок: 265)
4.4641509433962 265

Скачивание по подписке!

Вам необходимо авторизоваться на сайте и приобрести клубную подписку!

Поделись с друзьями!

 

Руководство по настройке FooEvents Seating для продажи билетов с выбором мест

FooEvents Seating нужен не просто для красивой схемы зала. В реальной продаже билетов он связывает WooCommerce-товар, тип события, ряд, место, вариацию билета, корзину, заказ и готовый билет в одну цепочку. В этом руководстве разберём, как подготовить сайт, создать схему посадки, связать места с разными зонами, показать выбор места покупателю и проверить, что место не продаётся повторно.

Обложка руководства FooEvents Seating с картой зала и выбором мест в WooCommerce
FooEvents Seating лучше понимать как рабочий маршрут от настройки события до подтверждённого места в билете.

Материал рассчитан на владельца сайта, администратора WooCommerce или технического специалиста, который уже работает с WordPress и хочет продавать билеты на конференцию, спектакль, кинопоказ, тренинг, ужин за столами или другое событие с закреплёнными местами. Мы не будем повторять рекламное описание плагина. Вместо этого пройдём практический путь: что проверить до установки, какие настройки включить, как построить схему, как протестировать корзину и где обычно появляются ошибки.

Особое внимание уделено двум вещам, которые часто пропускают в коротких обзорах: когда место считается занятым и как безопасно освобождать места после отмены или ошибки оплаты. Эти правила важнее внешнего вида схемы, потому что именно они защищают зал от двойных продаж и пустых заблокированных мест.

Все интерфейсные названия в шагах оставлены так, как они обычно встречаются в WordPress, WooCommerce и FooEvents: Products, Product Data, Event Settings, Event Seating, Inventory, Variations, Save Changes. Это помогает не потеряться в админ-панели, даже если сайт частично переведён.

Какие задачи решает плагин и где он действительно полезен

FooEvents Seating расширяет FooEvents для WooCommerce и добавляет к событию управляемую посадку. Покупатель видит доступные места, выбирает нужные позиции, проходит корзину и оформление заказа, а затем получает билет с данными выбранного места. Администратор, в свою очередь, задаёт ряды, столы, зоны, количество мест, доступность отдельных кресел и связь с вариациями WooCommerce.

Самый понятный сценарий - небольшой театр или зал, где у каждого посетителя должен быть ряд и номер места. Но этим применение не ограничивается. Схема может описывать столы на ужине, VIP-зону на конференции, сектор в аудитории, отдельные места в кинозале или группы стульев в учебном классе. Важно только, чтобы событие действительно требовало выбора конкретного места, а не обычной продажи общего входа.

Когда выбор места улучшает продажу билетов

Плагин особенно полезен, когда место влияет на цену, удобство или ожидание посетителя. Например, первый ряд может стоить дороже, боковой сектор дешевле, стол у сцены продаваться отдельно, а места с ограниченным обзором нужно заранее убрать из продажи. В такой ситуации обычный товар WooCommerce с количеством билетов недостаточен: покупатель хочет видеть, что именно он покупает, а организатору нужно управлять доступностью на уровне кресла или стола.

Ещё один практический плюс - снижение ручной работы после покупки. Если место выбрано в момент заказа и попадает в билет, сотруднику на входе проще сверять данные, а службе поддержки легче отвечать на вопросы вроде "где сидит мой клиент" или "можно ли пересадить гостя".

Где продукт может не подойти

Если у события свободная посадка, очередь без мест, открытая площадка или билет даёт только право входа, сложная схема будет лишней. В таких случаях достаточно стандартного FooEvents для WooCommerce и управления количеством билетов через склад WooCommerce. Seating также не стоит рассматривать как полноценную систему для огромных стадионов с интерактивными уровнями, динамическими секциями и сложной логикой "лучшее доступное место", если такая логика критична для бизнеса.

Для маленьких залов, классов, клубов, камерных театров и конференций плагин обычно закрывает основную задачу: дать человеку выбрать место, а администратору - контролировать карту доступности. Для масштабных площадок с тысячами мест перед внедрением нужно отдельно проверять производительность, мобильный вид, удобство изменения схемы и порядок работы кассиров.

Что проверить перед установкой и первым тестом

FooEvents Seating не является отдельной ticketing-системой, которая живёт вне WordPress. Он работает как расширение экосистемы FooEvents и WooCommerce. Поэтому подготовку лучше начинать не с загрузки ZIP-файла, а с проверки зависимостей, товара-события, склада, оформления заказа и способа оплаты.

Минимальная связка выглядит так: WordPress, WooCommerce, FooEvents for WooCommerce и FooEvents Seating. Если вы планируете PDF-билеты, сканирование, многодневные события или POS-продажи на месте, могут понадобиться другие расширения FooEvents, но они не заменяют Seating. Для базовой карты посадки сначала важно убедиться, что событие в WooCommerce уже создаётся корректно и обычные билеты генерируются без ошибок.

Зависимости и серверная среда

Официальные требования FooEvents отсылают к требованиям WordPress и WooCommerce. Кроме этого, в документации перечислены типовые серверные компоненты, которые часто уже включены на хостинге, но их стоит проверить при ошибках: поддержка графики, allow_url_fopen и mbstring. Для самого Seating это не означает, что каждая ошибка будет связана именно с этими параметрами, но проверка окружения помогает быстро отделить проблему плагина от проблемы хостинга.

Практическое правило: перед внедрением карты посадки создайте тестовый товар-событие без сложных сторонних оптимизаций. Сначала добейтесь нормальной покупки одного билета, генерации билета и корректного статуса заказа, а уже потом добавляйте схему мест, вариации, цветовую кастомизацию и правила освобождения мест.

Классическое оформление заказа или блок WooCommerce

У WooCommerce есть классический checkout на шорткоде и современный блок оформления заказа. Для FooEvents важно учитывать, где именно покупатель выбирает место. В официальных материалах FooEvents указано, что при использовании Checkout Block seating-сценарий имеет ограничения: выбор мест должен выполняться на странице товара, а не изменяться во время оформления заказа. Поэтому для первого внедрения безопаснее использовать сценарий, где покупатель выбирает место до добавления товара в корзину.

Если сайт уже перешёл на Checkout Block, не включайте все новые настройки сразу. Проверьте одну покупку на тестовом товаре: выберите место на странице события, добавьте товар в корзину, завершите заказ, убедитесь, что место попало в заказ и билет. Если место теряется, вернитесь к классическому checkout или проверьте совместимость текущих расширений WooCommerce.

Права администратора и тестовая среда

Настройка Seating требует доступа к редактированию товаров WooCommerce, установке плагинов, управлению настройками FooEvents и просмотру заказов. Если сайт уже продаёт билеты, сначала работайте на копии или staging-среде. Схема посадки связана с реальными местами и заказами, поэтому случайное освобождение занятых кресел на боевом сайте может привести к двойной продаже.

Перед первым публичным запуском не ограничивайтесь просмотром страницы товара. Сделайте полный тест: место выбрано, заказ создан, место стало недоступно, билет содержит ряд и место, отмена заказа освобождает место только по вашим правилам.

Установка и первичная активация без лишнего риска

Установка FooEvents Seating выполняется как установка обычного премиального плагина WordPress: ZIP-файл загружается через Plugins - Add New Plugin - Upload Plugin, после чего плагин активируется. Но важно понимать, что активация сама по себе не делает обычный товар событием с посадкой. После установки нужно перейти к конкретному WooCommerce-товару и включить event-функции.

Если на сайте уже установлен FooEvents for WooCommerce, после активации Seating в карточке товара появится или станет полезным раздел, связанный с посадкой. В документации FooEvents путь начинается с товара: Products - Add Product или редактирование существующего товара, затем панель Product Data и вкладка Event Settings.

Первый товар-событие

Для теста создайте отдельный закрытый товар, который не будет виден покупателям. Включите опцию Is this product an event? и выберите тип события Seating. Заполните базовые поля события: название, дату, место проведения, краткие детали, настройки билета и склад. Не начинайте с реального большого зала: удобнее проверить схему на 2-3 рядах или 3-4 столах, чтобы быстро видеть все состояния.

Если событие продаёт несколько типов мест, заранее решите, будете ли использовать вариации WooCommerce. Например, для театра можно сделать атрибут Ticket Type со значениями VIP, Standard и Balcony. Для конференции это может быть Access Level, для ужина - Table Zone. Вариации пригодятся, если разные зоны имеют разные цены, склад или правила отображения.

Проверка после активации

После сохранения товара откройте его в публичной части сайта в режиме администратора и в отдельном приватном окне. Это помогает увидеть разницу между административным доступом и пользовательским сценарием. Если карта мест ещё не создана, пользователь не должен проходить в покупку с неполными seating-данными. Если карта создана, выберите место и проверьте, что товар добавляется в корзину с ожидаемым количеством.

Не стоит сразу включать агрессивное кеширование страницы товара. На этапе теста важно видеть живые изменения доступности мест. После проверки можно возвращать кеш, но для страниц событий с интерактивной посадкой лучше использовать исключения или осторожные правила, чтобы покупатель не видел устаревшую схему.

Схема зала: ряды, столы, зоны и недоступные места

Главная рабочая область FooEvents Seating находится во вкладке Event Seating внутри товара-события. Именно здесь администратор создаёт графическую схему посадки. Официальная документация описывает подход через ряды и места, но на практике эти группы можно трактовать шире: ряд кресел, стол с несколькими стульями, сектор, VIP-блок или зона с ограниченным количеством мест.

Настройка FooEvents Seating во вкладке Event Seating с рядами и местами
Карта посадки строится в товаре-событии: сначала тип события Seating, затем вкладка Event Seating и только после этого публичная проверка.

Смысл настройки простой: вы создаёте физическую модель зала, которую покупатель увидит как выбор мест. Но хорошая схема не обязана быть фотографически точной. Она должна быть понятной, не вводить в заблуждение и соответствовать билетной логике. Если между рядами есть проход, его лучше показать. Если часть мест не продаётся, их нужно заранее заблокировать или сделать недоступными. Если сектор имеет другую цену, его стоит привязать к вариации.

Как проектировать карту до кликов в админке

Перед созданием рядов полезно нарисовать простую таблицу или список: название зоны, ряды, количество мест, тип билета, цена через вариацию, места вне продажи, проходы, сцена или направление "вперёд". Такая подготовка экономит время, потому что в Seating важна последовательность. Если вы сначала создадите общий ряд на 40 мест, а потом поймёте, что посередине нужен проход, придётся аккуратно править доступность и визуальный вид.

Мини-карта для театра

Для небольшого театра можно начать с трёх зон: VIP, Standard, Balcony. В каждой зоне создайте ряды с понятными названиями: A, B, C или Front, Middle, Back. Если места у сцены стоят дороже, связывайте соответствующие ряды с вариацией VIP. Если балкон продаётся дешевле, для него нужна отдельная вариация и отдельный склад.

Мини-карта для ужина за столами

Для банкетного формата удобнее думать не рядами, а столами. FooEvents поддерживает разные визуальные типы иконок, включая вариант для столов. Если стол должен начинаться с новой строки визуально, используйте соответствующий тип отображения, чтобы карта не превратилась в длинную нечитаемую цепочку. Названия столов лучше делать короткими: Table 1, Table 2, VIP Table.

Доступные, недоступные, заблокированные места и проходы

В документации описан сценарий, когда администратор выбирает места на схеме и применяет действие: сделать доступными, недоступными, заблокировать или добавить проход справа от места. Это мощная настройка, но с ней нельзя работать наугад. Особенно аккуратно нужно использовать действие, которое снова делает место доступным: если по этому месту уже есть реальный заказ, ручное освобождение может привести к повторной продаже.

Безопасный порядок такой: сначала найдите заказ или билет, который занимает место, затем решите, почему место должно освободиться, затем измените статус заказа или вручную освободите место только после проверки. Если вы не уверены, лучше оставить место недоступным и разобраться в заказах, чем открыть кресло для повторной продажи.

Цвета и читаемость схемы

Цвета seating chart настраиваются в FooEvents - Settings - Seating Settings. Официальная документация выделяет цвета доступных мест, выбранных или уже зарезервированных мест, а также мест, выбранных для других посетителей в том же заказе. Это не косметика, а часть пользовательского сценария. Если доступное место и занятое место отличаются слабо, покупатель будет ошибаться.

Для типового сайта выбирайте контрастную схему: доступные места - спокойный зелёный или нейтральный цвет, выбранные - заметный акцент, недоступные - приглушённый серый, предупреждающие состояния - без агрессивного красного, если красный уже используется для ошибок формы. После выбора цветов проверьте карту на мобильном экране и при масштабировании браузера. Мелкие кружки с низким контрастом быстро становятся проблемой для людей с плохим зрением.

Вариации WooCommerce и разные цены для зон

Одна из самых полезных возможностей FooEvents Seating - связь рядов с вариациями WooCommerce. Это позволяет продавать разные зоны по разным правилам: VIP, стандарт, балкон, столы, ранний доступ, отдельные комнаты или секции конференции. В документации FooEvents прямо указано, что места можно связать с товарными вариациями, а отдельная страница по вариациям объясняет создание атрибутов и вариантов в Product Data.

Важный нюанс: вариация отвечает за коммерческую часть, а seating chart - за конкретное место. Если они не согласованы, покупатель может выбрать билет одного типа и увидеть места другого типа или наоборот. Поэтому сначала проектируйте бизнес-логику, а затем переносите её в WooCommerce.

Связь рядов FooEvents Seating с вариациями WooCommerce для VIP и Standard билетов
Зоны с разной ценой лучше связывать с вариациями, чтобы выбранное место соответствовало типу билета.

Как настроить атрибуты и вариации

В панели Product Data откройте Attributes и создайте атрибут, который понятен покупателю. Для билетов это может быть Ticket Type или Access Level. Значения разделяются вертикальной чертой, например VIP | Standard | Balcony. Отметьте, что атрибут виден на странице товара и используется для вариаций. Затем перейдите во вкладку Variations, создайте вариант для каждого значения и задайте цену, склад и нужные параметры.

Документация FooEvents рекомендует для ticket-вариаций включать Virtual и Downloadable, чтобы заказ не требовал доставки и мог корректно завершаться после оплаты. Это особенно важно для событий, где доставка физического товара не нужна. Если вы продаёте вместе с билетом товары или мерч, проверяйте сценарий отдельно, потому что требования к доставке могут измениться.

Как связать ряды с вариациями

После создания вариаций вернитесь к seating chart. Для рядов или групп мест выберите соответствующую вариацию. Например, ряды A и B связываются с VIP, ряды C - F со Standard, балкон с Balcony. Если пользователь выбирает вариацию VIP, он должен видеть или выбирать только места этой зоны, если иное поведение не включено настройками отображения.

В настройках Event Settings есть параметр отображения мест, которые связаны с другими вариациями. Его можно использовать, когда нужно показать полный план зала для ориентира, но не дать выбрать места чужой зоны. Для маленьких залов полный план помогает понять сцену и соседние секции. Для сложных карт он может запутать покупателя, поэтому тестируйте оба варианта с реальным пользователем.

Склад WooCommerce и фактическая ёмкость

FooEvents использует склад WooCommerce для количества билетов. Каждый складской элемент соответствует одному билету. Если вы продаёте по вариациям, склад можно задавать на уровне вариации. Это не отменяет мест на карте: склад и карта должны совпадать по смыслу. Если в VIP-зоне 20 кресел, а у вариации VIP склад 30, покупатели столкнутся с ситуацией, когда билеты формально есть, а мест выбрать уже нельзя. Если склад меньше количества мест, часть мест останется невостребованной.

Проверка проста: количество продаваемых мест в зоне должно соответствовать складу вариации или быть намеренно меньше, если вы оставляете технический резерв. Любой резерв фиксируйте в рабочей заметке организатора, а не держите в голове.

Где показывать выбор места: страница товара, корзина и checkout

Для покупателя важен не сам факт наличия карты, а момент, когда он выбирает место. FooEvents Seating поддерживает отображение seating options на странице товара и ссылку на схему на checkout. В документации к настройке события есть отдельные параметры: Display seating options on product pages? и Display seating chart on checkout page?. Перед включением этих параметров нужно уже иметь рабочую карту во вкладке Event Seating.

На практике чаще всего удобнее, чтобы человек выбирал место на странице события до добавления товара в корзину. Он видит описание события, выбирает тип билета, смотрит схему, кликает нужные места и только потом переходит к оплате. Такой поток особенно важен при Checkout Block, где выбор Seating должен происходить на странице продукта.

Выбор на странице товара

Этот режим хорошо подходит для большинства сайтов. Покупатель не добавляет "абстрактный билет", а сразу выбирает конкретные места. Если он покупает несколько билетов, схема помогает посадить людей рядом. Для организатора это снижает число обращений в поддержку, потому что данные места сохраняются в корзине и дальше идут вместе с заказом.

После включения режима проверьте, что кнопка добавления в корзину не позволяет продолжить без выбора нужного количества мест. Если покупатель выбирает 2 билета, а место выбрано одно, checkout должен остановить ошибку. Это не вопрос удобства, а базовая защита от неполных заказов.

Отображение схемы на checkout

Ссылка на seating chart на checkout может быть полезна как справочная подсказка, но не стоит превращать оформление заказа в основной конструктор выбора мест, если сайт использует современные блоки WooCommerce или сложные платёжные расширения. Чем позже покупатель выбирает место, тем больше риска, что он уйдёт, изменит корзину, столкнётся с истекшей временной бронью или конфликтом с другим заказом.

Если вы оставляете выбор или просмотр на checkout, обязательно тестируйте поведение с разными платёжными статусами: успешная оплата, неудачная оплата, заказ Pending payment, заказ On hold, отмена и возврат. Seating-логика связана не только с визуальной схемой, но и с тем, как WooCommerce меняет статусы.

Проверка с двумя пользователями

Самый быстрый способ увидеть реальные риски - открыть событие в двух браузерах. В первом выберите место и добавьте билет в корзину. Во втором попробуйте выбрать то же место. Затем доведите первый заказ до создания, а второй до checkout. Так вы проверите временную бронь, отображение недоступности и финальную проверку перед созданием заказа.

Если второй пользователь видит место как доступное слишком долго или может завершить заказ с тем же местом, сначала отключите кеш страницы товара и агрессивные оптимизации JavaScript. Затем проверьте, что оба сценария используют одну и ту же вариацию и что карта сохранена после последнего изменения товара.

Механика бронирования: временная бронь, заказ и освобождение места

Самый важный раздел для администратора - жизненный цикл места. Официальная документация FooEvents Seating подробно описывает, что происходит от выбора места до создания билета. В упрощённом виде цепочка такая: покупатель выбирает место на странице товара, место удерживается в корзине и сессии, checkout проверяет доступность, заказ блокирует место, билет получает сохранённые данные места, а освобождение зависит от настроек статуса заказа или ручного действия.

Схема жизненного цикла места в FooEvents Seating от выбора до освобождения
Место становится критичным не в момент генерации билета, а раньше - на проверке checkout и создании заказа.

Это объясняет многие "странные" ситуации. Например, место может быть заблокировано, хотя билет ещё не отправлен. Или возврат оплаты сам по себе не освобождает место, если статус заказа не переведён в состояние, выбранное для освобождения. Или удаление билета может освободить связанное место, что опасно, если сотрудник удаляет билет как обычную запись WordPress.

Временная бронь в корзине

Когда покупатель выбирает место и добавляет билет в корзину, выбор удерживается временно. В официальном workflow указано, что такая временная бронь держится ограниченное время, после чего места снова становятся доступными, если покупатель не завершил оформление. Это защищает зал от вечных зависших корзин, но создаёт понятный пользовательский риск: человек может долго думать на checkout, а затем увидеть, что место уже недоступно.

Поэтому в тексте страницы события полезно коротко объяснить, что место закрепляется после оформления заказа. Не нужно пугать пользователя длинными правилами, но можно написать в описании события: "Выбранные места сохраняются на время оформления заказа. Завершите покупку без длительной паузы, чтобы не потерять выбор".

Проверка checkout и блокировка заказом

Перед созданием заказа FooEvents Seating проверяет, что нужные seating-поля присутствуют и выбранные места ещё свободны. Если проверка не проходит, checkout должен остановиться, а покупатель должен выбрать другие места. Если проверка проходит, WooCommerce создаёт заказ, и места становятся недоступными для остальных. Это происходит даже для заказов, которые ещё не оплачены окончательно, например Pending payment или On hold.

Такой подход предотвращает обычную двойную продажу, но требует дисциплины со статусами. Если у вас много банковских переводов, ручных оплат или заказов на проверке, места могут долго оставаться заблокированными без оплаты. Это не ошибка Seating. Это следствие выбранного платёжного процесса.

Генерация билета не перепроверяет место

Когда заказ достигает статуса, при котором FooEvents генерирует и отправляет билет, Seating использует seat data, уже сохранённые в заказе. Новая проверка доступности на этом этапе не выполняется. Это логично: место было проверено и заблокировано раньше. Поэтому исправлять ошибки нужно не в момент отправки билета, а в настройках checkout, вариаций, статусов и освобождения мест.

Освобождение по статусу заказа

Настройка Make seats available on order status определяет, при каких статусах заказа места снова станут доступными. Официальная документация рекомендует использовать эту опцию осторожно. Особенно опасен статус Failed, если платёжный шлюз позволяет покупателю затем оплатить тот же заказ. В таком случае место может открыться для других покупателей, а исходный заказ позже станет оплаченным.

Для типового сайта безопаснее начать с освобождения при Cancelled и вручную разбирать спорные случаи. Если у вас конкретный шлюз гарантированно не даёт оплатить failed-заказ повторно, можно рассмотреть дополнительные статусы, но это нужно тестировать на staging-среде с реальными статусами именно вашего шлюза.

Практический сценарий: зал на 60 мест с VIP-зоной и стандартными билетами

Теперь соберём пример, который можно адаптировать под театр, конференц-зал или лекцию. Цель - создать событие с двумя типами билетов: VIP у сцены и Standard в основной зоне. Покупатель выбирает тип билета, видит подходящие места, оформляет заказ, а администратор проверяет, что место попало в билет и стало недоступным.

Практический пример FooEvents Seating для VIP и Standard мест на странице события
Хороший тестовый сценарий проверяет не только красивую карту, но и соответствие вариации, места, заказа и билета.

Цель и подготовка

Допустим, у вас есть зал с шестью рядами по десять мест. Первые два ряда продаются как VIP, остальные четыре - как Standard. Нужно, чтобы покупатель VIP-билета выбирал места только в первых рядах, а покупатель Standard - в основной зоне. Кроме того, в середине каждого ряда должен быть проход, а два технических места в первом ряду не должны продаваться.

Перед началом должны быть установлены WooCommerce, FooEvents for WooCommerce и FooEvents Seating. На staging-сайте создайте новый товар, включите event-функциональность и выберите тип события Seating. Включите управление складом или задайте склад на уровне вариаций, чтобы количество билетов соответствовало местам.

Шаги настройки

  1. В Product Data откройте Attributes и создайте атрибут Ticket Type со значениями VIP | Standard.
  2. Отметьте Visible on the product page и Used for variations, затем сохраните атрибуты.
  3. Во вкладке Variations создайте две вариации, задайте цены и склад: VIP - 20 мест, Standard - 40 мест.
  4. Для каждой вариации включите Enabled, Virtual и Downloadable, если билет не требует доставки.
  5. В Event Settings выберите тип события Seating и включите отображение seating options на странице товара.
  6. Во вкладке Event Seating создайте ряды A и B по 10 мест и свяжите их с VIP-вариацией.
  7. Создайте ряды C, D, E, F по 10 мест и свяжите их со Standard-вариацией.
  8. Выберите технические места в первом ряду и примените действие, которое делает их недоступными или блокирует их для продажи.
  9. Добавьте проходы там, где в реальном зале должен быть разрыв между креслами.
  10. Обновите товар и откройте его в публичной части сайта.

Проверка результата

Выберите вариацию VIP и убедитесь, что доступны места первых рядов. Затем переключитесь на Standard и проверьте основную зону. Добавьте один VIP-билет в корзину, оформите тестовый заказ, откройте заказ в админ-панели и проверьте seat data. После генерации билета убедитесь, что в билете отображается ряд и номер места.

Затем вернитесь на страницу события в другом браузере и проверьте, что купленное место стало недоступным. Отмените заказ, если ваши настройки освобождают места при отмене, и убедитесь, что место снова доступно. Если место не освободилось, проверьте Make seats available on order status и фактический статус заказа.

Нюанс с ручными заказами и поддержкой

Если сотрудники создают заказы вручную из админ-панели, нужно отдельно описать внутренний регламент: кто выбирает место, где фиксируется пересадка, кто имеет право освобождать место, как проверяется билет после изменения. В WooCommerce легко создать заказ без прохождения обычного пользовательского checkout, а значит часть защитной логики может не сработать так, как в публичном сценарии. Для кассы на месте лучше тестировать связку с FooEvents POS отдельно, если вы её используете.

Проверка результата перед публикацией события

Когда карта выглядит готовой, не публикуйте событие сразу. Для seating-сценария нужна проверка по цепочке входные данные - логика плагина - результат - симптом ошибки - исправление. Иначе можно увидеть красивую схему, но пропустить проблему со складом, вариацией, checkout, письмом или освобождением мест.

Чек проверки для администратора

  • Тип события установлен как Seating, а не обычное одноразовое событие.
  • Схема есть во вкладке Event Seating и товар обновлён после последнего изменения.
  • Склад WooCommerce совпадает с количеством продаваемых мест или намеренно меньше.
  • Вариации соответствуют зонам, а ряды привязаны к правильным вариациям.
  • Выбор места обязателен до перехода к checkout, если это основной сценарий сайта.
  • Покупка с одним билетом и с несколькими билетами проходит корректно.
  • Купленное место становится недоступным для другого пользователя.
  • Билет содержит точные данные ряда и места.
  • Отмена заказа освобождает место только тогда, когда вы этого ожидаете.
  • Возврат оплаты не трактуется командой как автоматическое освобождение, если статус заказа не меняется.

Проверка мобильного вида

Многие покупатели выбирают билеты с телефона. Поэтому карта должна быть не только рабочей, но и читаемой на узком экране. Проверьте выбор одного места, нескольких мест рядом, переключение вариаций, масштабирование схемы, переход в корзину и возврат назад. Если карта выглядит слишком мелкой, попробуйте упростить названия рядов, уменьшить число визуальных элементов в одном экране или перенести часть пояснений в текст страницы события.

Если тема сайта сильно вмешивается в кнопки, поля и отступы WooCommerce, проверьте карту на стандартной теме или во временно отключённом конструкторе страниц. Не нужно сразу писать CSS. Сначала выясните, проблема в Seating, теме, оптимизаторе или стороннем оформлении checkout.

Безопасная CSS-правка для читаемости

Код стоит добавлять только для небольшой визуальной правки, когда проблема точно в теме: например, подпись seating-блока слишком сливается с фоном, а не в логике выбора места. Размещайте CSS в дочерней теме или в безопасном инструменте для пользовательских стилей, не меняйте файлы плагина.

.fooevents-seating-chart,
.fooevents_seating_chart {
  max-width: 100%;
  overflow-x: auto;
}

.fooevents-seating-chart button,
.fooevents_seating_chart button {
  min-width: 34px;
  min-height: 34px;
}

После добавления проверьте страницу события на компьютере и телефоне. Если кнопки или места стали выглядеть хуже, удалите этот фрагмент. Названия классов в конкретной версии и теме могут отличаться, поэтому перед применением CSS лучше посмотреть фактическую разметку через инструменты браузера. Если вы не уверены в селекторах, ограничьтесь настройками цветов и обращением к разработчику темы.

Частые проблемы и диагностика FooEvents Seating

Проблемы Seating почти всегда находятся в одной из четырёх зон: карта не сохранена, вариации не совпадают с рядами, checkout не передаёт seat data или статус заказа не освобождает место. Ниже - практическая диагностика без опасных действий с базой данных и без правки файлов плагина.

Диагностика ошибок FooEvents Seating с проверкой checkout и статусов заказа
Диагностика должна идти от симптома к причине: карта, вариация, checkout, заказ, статус освобождения.

Места не отображаются на странице события

Симптом: товар опубликован, но покупатель не видит схему или seating-блок. Возможные причины: товар не отмечен как событие, тип события не выбран как Seating, карта не создана во вкладке Event Seating, товар не обновлён после изменения, тема или кеш показывают старую версию страницы.

Что проверить: откройте товар в админ-панели, проверьте Event Settings, наличие карты, включение Display seating options on product pages? и дату последнего обновления товара. Затем откройте страницу в приватном окне без входа в WordPress. Если администратор видит карту, а гость нет, проверьте кеш, оптимизацию JavaScript и права видимости товара.

Как исправить: сохраните карту, обновите товар, очистите кеш страницы события и временно отключите объединение или задержку JavaScript для WooCommerce-страницы. Если после отключения оптимизатора всё работает, добавьте страницу события в исключения.

Покупатель может перейти дальше без выбора места

Симптом: товар добавляется в корзину без seat data или checkout не ругается на неполный выбор. Возможные причины: seating options не выведены на странице товара, количество билетов не совпадает с количеством выбранных мест, сценарий checkout меняется сторонним плагином, или используется блок checkout с неподходящим потоком выбора.

Что проверить: повторите покупку на стандартном товаре-событии, выберите количество 2 и попробуйте выбрать только одно место. Затем проверьте заказ: есть ли в нём данные ряда и места. Если данных нет, вернитесь к показу выбора на странице товара и проверьте совместимость checkout.

Как исправить: сделайте выбор мест обязательным до корзины, временно вернитесь к классическому checkout для теста, отключите сторонние расширения checkout на staging-сайте и повторите заказ. Не открывайте публичные продажи, пока тестовый заказ без места может проходить до оплаты.

Место остаётся занятым после отмены или возврата

Симптом: покупка отменена или деньги возвращены, но место на карте всё ещё недоступно. Возможная причина - статус заказа не входит в Make seats available on order status. В официальной логике возврат сам по себе не освобождает место, если заказ не переведён в подходящий статус или место не освобождено вручную.

Что проверить: откройте заказ WooCommerce и посмотрите фактический статус. Затем проверьте настройку освобождения мест. Если заказ просто имеет refund, но статус не изменился на выбранный для освобождения, Seating продолжит считать место занятым.

Как исправить: переведите заказ в статус, который по вашему регламенту освобождает места, или вручную освободите конкретное место во вкладке Event Seating. Ручное освобождение применяйте только после проверки заказа, чтобы не создать двойную продажу.

Две зоны показывают не те места

Симптом: при выборе VIP пользователь видит стандартные места, или наоборот. Возможные причины: ряды не связаны с правильными вариациями, атрибут вариации изменён после создания карты, включено отображение мест, привязанных к другим вариациям, или склад вариаций не совпадает с картой.

Что проверить: откройте Attributes, Variations и Event Seating. Убедитесь, что названия вариаций не менялись после привязки и что каждый ряд относится к нужному типу билета. Затем проверьте публичный товар с каждой вариацией отдельно.

Как исправить: пересохраните вариации, затем пересохраните карту мест. Если полный план зала мешает покупателям, отключите отображение мест, связанных с другими вариациями, или добавьте краткую подсказку рядом со схемой.

Места выглядят доступными, но checkout показывает ошибку

Симптом: покупатель выбирает место, но при оформлении заказа получает сообщение, что место недоступно. Возможные причины: другой покупатель успел создать заказ раньше, временная бронь истекла, кеш показал устаревшую схему, место было вручную изменено администратором или конфликтует вариация.

Что проверить: повторите сценарий в двух браузерах и посмотрите, как быстро меняется доступность. Проверьте кеш страницы товара, статус заказов на это место и последние ручные действия с картой. Если проблема появляется только при долгом ожидании на checkout, объясните покупателю, что место нужно выбрать снова.

Как исправить: исключите страницу события из полного кеширования, сократите лишние шаги оформления заказа, выведите выбор места на странице товара и обучите поддержку проверять заказ перед ручным освобождением места.

Когда лучше откатить настройку

Откатывайте последнее изменение, если после него появились заказы без seat data, покупатель может пройти checkout без места, карта стала нечитаемой на мобильном экране или failed-заказы начали освобождать места слишком рано. В seating-продажах лучше временно вернуться к более простому, но проверенному сценарию, чем продавать билеты с риском двойной посадки.

Совместимость, ограничения и рабочие привычки команды

FooEvents Seating работает внутри WooCommerce, поэтому качество внедрения зависит от всей цепочки сайта. Тема, кеш, блоки checkout, платёжный шлюз, письма, PDF-билеты, роли пользователей и ручные действия сотрудников могут влиять на итоговый результат. Это не повод отказываться от плагина, но повод заранее описать правила работы.

Кеш и оптимизация

Страницы событий с выбором мест не должны показывать устаревшую доступность. Если сайт использует полный кеш страниц, отложенную загрузку скриптов, объединение JavaScript или агрессивные оптимизаторы WooCommerce, добавьте событие, корзину и checkout в исключения. После каждого изменения оптимизации делайте тест с двумя браузерами.

Права доступа

Не каждый менеджер магазина должен иметь право вручную освобождать места. Разделите роли: кто создаёт схему, кто проверяет заказы, кто меняет статусы, кто может освободить место вручную. Для команды поддержки подготовьте короткую инструкцию: найти заказ, проверить статус, проверить seat data, только потом менять доступность.

Многоязычность и терминология

В настройках события есть терминология для слов вроде Row, Seat, Seating Chart и Front. Если сайт русскоязычный, переведите пользовательские подписи так, чтобы они соответствовали залу. Для театра подойдут "Ряд" и "Место", для банкета - "Стол" и "Стул", для конференции - "Сектор" и "Место". При использовании WPML или другого мультиязычного решения проверяйте не только страницу товара, но и письма, билет и checkout.

Если вы готовы протестировать плагин на своём сайте после подготовки staging-сценария, ближе к блоку файлов можно скачать установочный файл и пройти установку по описанному чек-листу. Лучше начинать с тестового события, а не с реальной продажи на полный зал.

Операционный регламент для продаж, пересадок и дня события

Даже правильно настроенная схема посадки может дать сбой в работе команды, если сотрудники не понимают, какое действие меняет доступность места, а какое только меняет запись о заказе. FooEvents Seating помогает технически связать место с заказом, но не заменяет внутренний регламент. Для небольшого события достаточно короткой инструкции на одну страницу, но она должна быть конкретной: кто отвечает за карту, кто меняет статусы заказов, кто обрабатывает возвраты, кто имеет право вручную открывать место и как проверяется билет после изменения.

Самая частая организационная ошибка - считать карту посадки отдельным рисунком, который можно править независимо от заказов. На деле место, ряд и билет становятся частью учётной цепочки. Если сотрудник освобождает место "чтобы помочь клиенту", не посмотрев заказ, это может открыть место для повторной покупки. Если сотрудник удаляет билет как ненужную запись, он может затронуть доступность места. Если менеджер меняет статус заказа только ради бухгалтерской пометки, он может случайно запустить правило освобождения мест.

До старта продаж

Перед публикацией события назначьте одного владельца схемы. Это не обязательно разработчик, но это должен быть человек, который понимает связь между seating chart, вариациями и складом. Он фиксирует финальную карту, список заблокированных мест, проходы, зоны, цены и технический резерв. Если организатор оставляет несколько мест для гостей, прессы или партнёров, эти места нужно либо сделать недоступными, либо оформить внутренним заказом по регламенту. Нельзя просто помнить, что "ряд A не трогаем".

Отдельно проверьте тексты для покупателей. Если места временно удерживаются в корзине, коротко предупредите, что выбор закрепляется после оформления заказа. Если у события есть разные зоны, объясните разницу в описании товара и названиях вариаций. Если карта на мобильном требует прокрутки, убедитесь, что пользователь видит подсказку и не принимает пустую область за сломанную страницу.

Во время продаж

Команда поддержки должна начинать разбор любого обращения с заказа, а не со схемы. Сначала найдите WooCommerce order, проверьте статус, товар, вариацию, количество билетов и seat data. Затем посмотрите билет и только после этого открывайте Event Seating. Такой порядок защищает от ситуации, когда сотрудник видит место как занятое и сразу делает его доступным, хотя оно занято реальным заказом.

Для пересадки лучше использовать понятную процедуру: зафиксировать старое место, выбрать новое доступное место, убедиться, что старое место можно освободить, обновить данные билета или заказа тем способом, который поддерживает ваша конфигурация FooEvents, отправить покупателю обновлённое подтверждение и оставить внутреннюю заметку в заказе. Если команда не уверена, как корректно изменить seat data в конкретной версии связки, безопаснее отменить старый заказ и оформить новый тестируемым путём, чем вручную править поля без понимания последствий.

После возврата или неудачной оплаты

Возврат денег, отмена билета и освобождение места - разные операции. В регламенте нужно прямо написать, какой статус заказа освобождает места, а какой нет. Если платёжный шлюз создаёт много заказов Pending payment или On hold, назначьте периодическую проверку таких заказов. Иначе места могут быть заблокированы заказами, которые никогда не будут оплачены, а сайт будет показывать искусственный дефицит.

Для failed-заказов особенно важно не действовать механически. В официальной логике FooEvents есть осторожное предупреждение: если failed-заказ может быть позже оплачен, автоматическое освобождение места при Failed способно открыть место другому покупателю. Поэтому универсального "лучшего" статуса нет. Есть только статус, который соответствует вашему платёжному процессу и проверен тестовой покупкой.

В день события

В день мероприятия карта посадки становится частью контроля доступа. Если используется FooEvents Check-ins app или POS-сценарий, заранее проверьте, что команда видит актуальные билеты и понимает, где смотреть ряд и место. Если посетитель пришёл с билетом на место, которое в списке выглядит спорно, не пересаживайте его вслепую. Сначала найдите заказ, проверьте билет, затем решите, нужен ли новый билет, ручная пересадка или отметка для сотрудников зала.

Для небольших площадок полезно распечатать или экспортировать внутренний список мест и заказов перед открытием дверей. Это не заменяет цифровую проверку, но помогает быстро ориентироваться, если интернет нестабилен или сотрудникам нужно решать вопросы у входа. После события не удаляйте заказы и билеты только ради "очистки" схемы. История продаж нужна для бухгалтерии, поддержки и анализа следующего мероприятия.

Хорошее внедрение Seating заканчивается не тогда, когда карта появилась на странице товара, а тогда, когда команда одинаково понимает, что делать с оплатой, отменой, пересадкой, ручным освобождением и спорным местом у входа.

FAQ по настройке и использованию FooEvents Seating

Можно ли использовать FooEvents Seating без FooEvents for WooCommerce?

Нет, по смыслу и официальному описанию это расширение для FooEvents. Оно добавляет seating-функции к WooCommerce-событиям, поэтому сначала нужна базовая связка WordPress, WooCommerce и FooEvents for WooCommerce.

Где лучше выбирать место - на странице товара или на checkout?

Для большинства сайтов безопаснее и понятнее выбирать место на странице товара до добавления в корзину. Это особенно важно при использовании Checkout Block, где seating selections должны выполняться на странице события. Checkout лучше оставить для проверки и оплаты, а не для основного выбора места.

Почему место занято, если билет ещё не отправлен?

Потому что доступность места фиксируется раньше генерации билета. Когда checkout проходит проверку и WooCommerce создаёт заказ, место блокируется для других покупателей. Генерация билета позже использует уже сохранённые seat data.

Освобождает ли возврат оплаты место автоматически?

Сам refund не обязан освобождать место. Освобождение зависит от статуса заказа и настройки Make seats available on order status, либо от ручного действия администратора. Поэтому после возврата нужно проверить фактический статус заказа.

Можно ли продавать VIP и Standard места по разным ценам?

Да, для этого используются вариации WooCommerce. Создайте атрибут, например Ticket Type, добавьте вариации и привяжите ряды или зоны seating chart к нужным вариациям. После этого проверьте, что склад вариации совпадает с количеством мест в зоне.

Что делать, если покупатель жалуется, что место исчезло во время checkout?

Проверьте, не истекла ли временная бронь, не создал ли другой покупатель заказ раньше и не показывает ли кеш устаревшую карту. Если место действительно стало недоступным, покупателю нужно выбрать другое. Если схема часто устаревает, исключите страницу события из кеша.

Подходит ли плагин для огромного стадиона?

Для очень больших площадок нужно отдельное тестирование. FooEvents Seating хорошо подходит для WooCommerce-событий с понятной схемой рядов, столов и зон. Если требуется сложная многоуровневая карта, алгоритм лучшего места, высокая одновременная нагрузка и кассовая инфраструктура, сравните специализированные решения.

Можно ли вручную освободить место?

Да, во вкладке Event Seating можно выбрать места и применить действие освобождения или недоступности. Делать это нужно только после проверки заказа и причины освобождения. Ручное открытие занятого места без проверки может привести к двойной продаже.

Когда FooEvents Seating будет удачным выбором

FooEvents Seating стоит использовать, если вы уже продаёте события через WooCommerce и хотите добавить выбор конкретных мест без перехода на отдельную ticketing-платформу. Сильная сторона продукта - связь seating chart с товаром-событием, вариациями, заказом и билетом. Это удобно для театров, лекционных залов, небольших концертов, банкетов, конференций и учебных мероприятий, где выбор места важен для покупателя и организатора.

Перед запуском не ограничивайтесь красивой схемой. Проверьте зависимости, тип события, склад, вариации, цветовые состояния, мобильный вид, два параллельных покупателя, статусы заказов и освобождение мест. Если эта цепочка работает, FooEvents Seating превращается из визуального дополнения в надёжный инструмент управления посадкой.

Если же вам нужна сложная схема на тысячи мест, автоматический подбор лучших мест, специализированная кассовая логика или полная система venue management, сравните альтернативы из раздела выше. В остальных случаях разумный путь такой: создать тестовое событие, пройти покупку от выбора места до билета, обучить команду работе со статусами и только после этого открывать продажи на реальный зал.

Автор: Редакция JoomFox.org

Вы не зарегистрированы, чтобы оставлять комментарии.