Feerique Planner

Вход в систему

Пароли не совпадают

{{ passwordSetupReason === 'signup' || passwordSetupReason === 'invite' ? 'Создайте пароль' : 'Новый пароль' }}

Пароли не совпадают

Минимум 6 символов

{{ tooltipGuest.name }}
Открываем проект
{{ loadingProjectName || '...' }}
{{ user.email }}

Feerique Planner

Создайте новый проект или откройте существующий Откройте проект, к которому вам предоставили доступ

{{ userCompany }}

Доступные проекты
{{ proj.name }}
{{ formatDate(proj.updated_at) }} {{ proj.company_name }} | Создатель: {{ proj.data.creatorEmail }}
У вас пока нет доступных проектов.
Отображение на плане

Размеры скрыты в режиме просмотра / Хостес

Эти настройки сохраняются локально и применяются ко всем проектам в этом браузере.
{{ meal }}
{{ alc }}
1 м
{{ calibrationMode.stage }}
{{ calibrationMode.stage === 1 ? 'Калибровка: укажите первую точку' : 'Укажите вторую точку' }}
{{ calibrationMode.stage === 1 ? 'Кликните на известный объект (например, стену)' : 'Кликните на конец отрезка с известной длиной' }}

Реальное расстояние

Введите реальную длину отмеченного отрезка. Масштаб всего проекта будет обновлён.

метров
Масштаб проекта
px/м

Размеры скрыты в режиме просмотра / Хостес

Масштаб задаёт, насколько большие столы и зоны на плане. По умолчанию: 50 px = 1 м.

Совместный доступ

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

Проект компании «{{ projectCompany }}»
У кого есть доступ
{{ editorUser.email }}
{{ getRoleName(editorUser.role) }}
Пока никого нет

Управление доступами

Здесь отображаются все пользователи (гости и молодожены), добавленные в проекты. Удаление пользователя из этого списка закроет ему доступ ко всем проектам. Аккаунты компаний-партнёров. Они могут создавать проекты от имени своей компании и работать только с ними.

Нет пользователей с выданными правами
{{ adminUser.email }}
Проектов: {{ adminUser.projects.length }}
{{ proj.projectName }}
Добавить нового организатора мероприятия

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

Пока нет добавленных компаний-партнёров
{{ org.email }}
{{ org.company_name }} · Проектов: {{ getProjectCountForCompany(org.company_name) }}

Синхронизация с Google Sheets

Вставьте ссылку на Google Таблицу. Убедитесь, что в настройках доступа выбрано «Доступно всем, у кого есть ссылка» (Читатель). Если гость уже есть в списке — скрипт просто обновит его категорию и меню, не трогая рассадку.Из таблицы импортируются следующие поля:

* ФИО или Names
* Категория или Category
* Меню (Питание) или Meal
* Телефон или Phone
* Возраст или Age
* Аллергии или Allergy
* Комментарий или Comment
* Статус или Status

Настройка фона

Редактирование гостей

ФИО Возраст Контакт Категория Питание Комментарий
{{ col.name || col.NAME || col }}
+
Свойства
{{ selectedObject.chairRadius || 22 }}px
{{ selectedObject.chairOffset }}px
{{ sizeUnit }}
{{ sizeUnit }}
{{ formatRealSize(selectedObject.width) }}{{ selectedObject.type !== 'round' ? ' × ' + formatRealSize(selectedObject.height) : '' }} ≈ {{ ((pxToCm(selectedObject.width) * pxToCm(selectedObject.height)) / 10000).toFixed(2) }} м² ≈ {{ ((Math.PI * pxToCm(selectedObject.width)/2 * pxToCm(selectedObject.width)/2) / 10000).toFixed(2) }} м²
{{ selectedObject.rotation }}°
{{ Math.round((selectedObject.opacity ?? 1) * 100) }}%
Гости за столом
Пусто
{{ g.name }} {{g.meal}}

Быстрый ввод гостей

Вставьте список имен, каждое с новой строки.

Статистика мероприятия

Гости
{{ guests.length }}
Всего в списке
Места
{{ totalCapacity }}
Стульев в зале

Статус гостей

Прибыло на площадку{{ guests.filter(g => g.status === 'arrived' || g.status === 'seated').length }}
Уже за столом{{ guests.filter(g => g.status === 'seated').length }}

Питание (Меню)

{{ meal || 'Не указано' }}
{{ count }}

Алкоголь

{{ alc }}
{{ count }}

Открыть проект

Нет доступных проектов
{{ proj.name }}
{{ formatDate(proj.updated_at) }} {{ proj.company_name }} | Создатель: {{ proj.data.creatorEmail }}

Сохранить картинку плана

Чем выше множитель — тем чётче имена и подписи на итоговой картинке. Сохраняется текущий вид плана: если хотите увидеть весь план, сначала отдалите его.

Готовим картинку…

История изменений

{{ projectName }} · версий: {{ historyEntries.length }}
Загружаем историю…
История пуста
Любые изменения в проекте будут автоматически сохраняться сюда — отсюда же можно будет к ним вернуться.
Текущая {{ formatHistoryDate(entry.created_at) }}
{{ entry.action }}
{{ entry.user_email || 'неизвестно' }}
Сейчас
Перед откатом текущее состояние автоматически сохранится новой записью истории.

{{ isEditing ? 'Карточка гостя' : 'Новый гость' }}

{{ guests.find(g => g.id === lid)?.name || '?' }}
{{ guests.find(g => g.id === did)?.name || '?' }}

Группы гостей

Гости в группе будут перетягиваться вместе на соседние стулья. Shift+клик для выбора.

Нет созданных групп
{{ grp.name }} ({{ grp.guestIds.length }})
{{ guests.find(g => g.id === gid2)?.name || '?' }}

Авторассадка гостей

Алгоритм сам распределит гостей по столам с учётом ваших предпочтений. Близкие гости попадут на соседние стулья.

Кого рассаживать
Стратегия размещения
Сажать рядом
Дополнительно
Если правил много, алгоритм найдёт компромисс — приоритет: запреты > группы и лайки > категория > возраст.
{{ toast.message }}
{{ toast.message }}
{{ mobileDragGuest.name }}