Часто задаваемые вопросы
Общие вопросы
Что такое Seatmap.pro?
Seatmap.pro — корпоративная платформа для создания, управления и отрисовки интерактивных схем рассадки на площадках. Она включает визуальный Editor для проектирования схем рассадки, высокопроизводительный Booking Renderer SDK (@seatmap.pro/renderer в npm) для выбора мест на базе WebGL и Booking API v2 для интеграции данных о доступности и продажах в реальном времени. Seatmap.pro — это только слой визуализации: платформа никогда не хранит ваши цены, данные о продажах или платёжную информацию. Ваша система продажи билетов остаётся единственным источником истины.
Какие типы площадок поддерживает Seatmap.pro?
Seatmap.pro поддерживает площадки любых размеров и конфигураций: концертные залы, стадионы, театры, арены, конференц-центры, спортивные объекты и любые пространства с нумерованными местами или входными зонами. Editor работает с нумерованными местами, входными зонами (GA), столами, зонами для стоящих зрителей и смешанными схемами. Вы можете импортировать существующие SVG-планы помещений и наложить рассадку поверх них.
Сколько мест может обработать Seatmap.pro?
Booking Renderer использует ускорение WebGL и отрисовывает 10 000+ мест с частотой 60 кадров/с в современных браузерах. Editor позволяет создавать схемы с десятками тысяч мест. Для очень больших площадок (30 000+ мест) рендерер автоматически переключается между уровнями детализации (отдельные места или обзоры секций), чтобы сохранить плавную производительность.
Какие фреймворки поддерживает рендерер?
Booking Renderer SDK не зависит от фреймворка. Он работает с React, Vue, Angular, Svelte или ванильным JavaScript. Установите его командой npm install @seatmap.pro/renderer и смонтируйте на любой HTML-контейнер. Примеры интеграции смотрите в руководстве по началу работы с рендерером.
Интеграция
Как интегрировать Seatmap.pro с моей системой продажи билетов?
Интеграция состоит из четырёх шагов: (1) спроектируйте схему рассадки в Editor, (2) создайте событие через Booking API v2 и свяжите его со схемой, (3) назначьте цены местам или секциям, (4) встройте Booking Renderer на свою страницу продаж с помощью TypeScript SDK. Рендерер взаимодействует с Booking API для получения данных о доступности мест в реальном времени, блокировки и обновления статусов. Подробное пошаговое руководство смотрите в руководстве по интеграции, а более широкий взгляд на тему — в статье Why API Integration is Crucial for Ticketing Platforms.
Что такое Booking API v2?
Booking API v2 — это REST API для управления событиями, ценообразованием и жизненным циклом бронирования мест. Он поддерживает такие операции, как создание событий, назначение цен, блокировка мест (с настраиваемым TTL), подтверждение продаж и разблокировка. Базовый URL API для облачных развёртываний — https://booking.seatmap.pro/api/private/v2.0/. Полный справочник доступен в документации API v2.
Можно ли встроить Editor в моё приложение?
Да. Editor можно встроить в ваше приложение через iframe. Вы можете управлять тем, какие инструменты и режимы будут видимы, передавать токены аутентификации для автоматического входа по SSO и обмениваться сообщениями с редактором через postMessage API. Смотрите руководства Iframe API и Iframe Communication.
Цены
Какие тарифные планы доступны?
Seatmap.pro предлагает три плана: Cloud (SaaS, от EUR 100/месяц, до 170 000 мест в год), On-Premise (самостоятельное размещение, EUR 20 000/год или бессрочная лицензия EUR 60 000, неограниченное число мест) и Custom (индивидуальная интеграция под корпоративные потребности). Никаких сборов за место или за бронирование нет. Смотрите раздел с ценами на главной странице.
Есть ли бесплатный пробный период?
Свяжитесь с нами через форму запроса демонстрации, чтобы организовать персональную демонстрацию и обсудить варианты пробного периода. Мы предлагаем сопровождаемую адаптацию, чтобы помочь вам оценить платформу на данных вашей собственной площадки.
Развёртывание
Можно ли развернуть Seatmap.pro на своих серверах?
Да. План On-Premise предоставляет образы Docker и Helm-чарты для самостоятельного развёртывания в вашей собственной инфраструктуре Kubernetes. Это даёт вам полный контроль над местом хранения данных, сетевой изоляцией и конфигурацией инфраструктуры. Смотрите руководство по развёртыванию On-Premise и документацию Helm-чартов. Сравнение моделей развёртывания смотрите в статье SaaS, On-Premise, and Managed On-Premise.
Каковы системные требования для развёртывания on-premise?
Развёртывание on-premise требует Kubernetes (1.24+), Helm 3, PostgreSQL 14+ и Redis 7+. Платформа работает как набор микросервисов: Editor Service (Java 21, Spring Boot), Booking Service (Java 21, Spring Boot), Converter Service (Node.js 22) и фронтенд-приложения. Минимальные рекомендуемые ресурсы — 4 ядра CPU и 8 ГБ RAM для рабочей нагрузки в продакшене.
Безопасность
Как Seatmap.pro обеспечивает безопасность данных?
Seatmap.pro — это только платформа визуализации. Она не обрабатывает платежи, не хранит данные о транзакциях и не держит ценовую информацию на своих серверах. Ваша система продажи билетов остаётся единственным источником истины для всех критически важных бизнес-данных. Связь между рендерером и Booking API использует HTTPS с принудительным HSTS. Развёртывания on-premise дают вам полный контроль над местом хранения данных и сетевыми политиками.
Соответствует ли Seatmap.pro требованиям GDPR?
Seatmap.pro придерживается практик работы с данными, согласованных с GDPR. Платформа собирает минимум персональных данных (только учётные записи пользователей редактора). Для облачных развёртываний данные размещаются в дата-центрах ЕС. Развёртывания on-premise хранят все данные в вашей собственной инфраструктуре. Подробности смотрите в нашей Политике конфиденциальности.
Editor
Не удаётся добавить пользователя
Вы не можете добавить пользователя, если
- пользователь уже существует в текущей организации.
В этом случае откажитесь от операции. - пользователь существует в другой организации.
В этом случае удалите учётную запись пользователя в другой организации и создайте новую учётную запись в текущей, поскольку у пользователя может быть только одна учётная запись в Editor.
Я хочу отключить поддержку S3
Если вы не хотите использовать растровую графику вместо векторной, отключите S3, задав SEATMAP_STORAGE_TYPE=local (см. руководство по настройке Image Converter).
Я хочу задать цвета для цен
Вы можете изменить цвета цен как в Booking Renderer, так и в Admin Renderer.
Booking Renderer
Чтобы изменить цветовую тему цен в Booking Renderer, перейдите к settings->theme->priceColors.
Базовое использование:
const settings: IBookingRendererSettings = {
theme: {
priceColors: [
['#FF0000', '#00FF00', '#0000FF', '#FFFF00', '#00FFFF', '#FF00FF'],
],
},
};
По сути, вы можете настроить один массив цветов цен. Если количество ценовых позиций события превысит число цветов в массиве, система повторно использует доступные цвета.
Чтобы избежать дублирования цветов для разных цен, рекомендуем задавать как можно более длинный массив цветов.
Расширенное использование:
const settings: IBookingRendererSettings = {
theme: {
priceColors: [
['#FF0000', '#00FF00', '#0000FF', '#FFFF00', '#00FFFF', '#FF00FF'],
['#FF0000', '#00FF00', '#0000FF', '#FF00FF', '#00FFFF'],
['#FF0000', '#00FF00', '#0000FF'],
['#FF0000', '#0000FF'],
['#0000FF'],
],
},
};
При отрисовке схемы мы получаем количество ценовых позиций через API и выбираем подходящий список цветов. Например, если API возвращает 5 ценовых позиций, мы выберем массив из 5 цветов из этих настроек:
В этом сценарии, если мы не найдём массив, точно соответствующий возвращённому числу ценовых позиций, мы используем первый в качестве запасного варианта. Если первый массив тоже недостаточно длинный, система повторно использует доступные цвета. Поэтому мы рекомендуем размещать самый длинный массив первым.
Admin Renderer
В Admin Renderer вы можете задавать разные цветовые категории для разных мест.
Чтобы задать цвет методом setSeatsCategory(), передайте следующее:
- список мест (обычно выбранных администратором вручную)
- номер категории
- новый цвет
renderer.setSeatsCategory(seats, 3, '#E50914');
Этот цвет не сохраняется в базе данных и предназначен только для использования администратором.
Также вы можете перейти к settings->theme->colorCategories и задать цвета по умолчанию для Admin Renderer, как описано выше.
Я хочу запретить удаление мест, которые заблокированы и проданы
Теперь вы можете запретить удаление мест с назначенными ценами, если их состояние — Locked и Sold — на уровне тенанта или организации.
В Editor при попытке удалить место с назначенной ценой в состоянии Locked и Sold появится предупреждение, но вы всё равно можете решить удалить место (запрос будет отправлен на бэкенд с forceDelete=true).
Но если вы зададите prohibitDeleteSeats на уровне тенанта или организации, запрос на удаление завершится ошибкой.
Чтобы включить эту настройку, используйте метод POST /api/organization/config/ с дополнительным параметром orgId.
{
"prohibitDeleteSeats":"true/false"
}
Эндпоинт доступен только пользователям с ролью
ROLE_SUPER_ADMIN.
Чтобы получить информацию с бэкенда, используйте метод GET /api/organization/current или методы входа.
Я хочу скрыть некоторые пункты меню при открытии Editor в iframe
При открытии Editor в iframe вы можете скрыть ненужные пункты меню.
Для этого при вызове iframe добавьте в адресную строку параметр hidden, указав пункты меню, которые вы хотите скрыть.
Например, чтобы скрыть режим Pricing, инструменты Select и Label, а также фигуры Line и Polygon, добавьте следующее:
?hidden=pricing,select,label,line,polygon
Список пунктов меню, которые можно скрыть
schema: 'mode.schema',
underlay: 'mode.underlay',
venueShape: 'mode.venueShape',
pricingZones: 'mode.pricingZones',
pricing: 'mode.pricing',
section: 'mode.section',
select: 'tool.select',
seatRows: 'tool.seatRows',
table: 'tool.table',
shape: 'tool.shape',
rect: 'tool.shape.rect',
circle: 'tool.shape.circle',
line: 'tool.shape.line',
polygon: 'tool.shape.polygon',
label: 'tool.label',
selectSeats: 'tool.selectSeats',
selectRows: 'tool.selectRows',
addSeat: 'tool.addSeat',
numberSeats: 'tool.numberSeats',
selectSections: 'tool.selectSections',
save: 'tool.save'
Я хочу включить предпросмотр в Editor
Чтобы включить функцию предпросмотра в Editor, задайте следующие параметры:
services.preview.url — адрес сервиса предпросмотра. По умолчанию: http://localhost:5000/
services.preview.path — путь к сервису предпросмотра. По умолчанию: wconvert_pdf/