Booking

Плагин бронирования встреч для Payload CMS 3.x с защитой от двойного бронирования на уровне базы данных, отменой по magic-link и транзакционными письмами.

Сообщество 0 13/нед MIT v0.1.2

Установка

pnpm add @ogutdgn/payload-booking

Описание

Посетитель выбирает реальный слот времени на сайте, запись появляется в админке Payload, обе стороны получают письмо, любой из них может отменить встречу, и один слот нельзя занять дважды. Защита от дублей работает через ограничение уникальности в базе данных по ключу блокировки, а не через логику в коде приложения. Проверено на PostgreSQL и MongoDB. Плагин регистрирует четыре коллекции и одну глобальную конфигурацию: appointments, booking-resources, booking-blackout-dates и booking-settings. Публичные REST-эндпоинты монтируются по умолчанию под /api/booking и включают получение свободных слотов, списка ресурсов, выдачу form-token, создание бронирования и отмену по токену. Для персонала есть отдельные эндпоинты: отмена встречи по id и смена статуса (завершена или неявка). Всё время вычисляется на сервере в настроенной бизнес-таймзоне, поэтому браузер получает только отрендеренные подписи и непрозрачные ISO-строки. Отмена выполняется через подписанные magic-link токены как смена статуса, а не как удаление записи. Это значит, что аудит, освобождение слота и письмо клиенту проходят через один путь изменения статуса. Письма с подтверждением и уведомлением об отмене отправляются через email-адаптер Payload с опциональным переопределением шаблонов для каждого события и вложениями ICS для календаря. Результат каждой попытки отправки записывается в поле записи о встрече. Если адаптер не настроен, плагин сообщит об этом. Защита от спама работает в четыре слоя: скрытое honeypot-поле, подписанный time-trap токен, считающий время от загрузки страницы, лимиты по IP и по email, а также опциональный хук verifyChallenge для провайдеров вроде Cloudflare Turnstile. Пакет экспортирует React-компоненты BookingForm и CancelView, которые можно встроить в свои страницы, и админ-компоненты: NavLinks, TodayWidget, StatusActions, StatusLabel, WeekdayPreview. Цены, платежи и депозиты не входят в функциональность. Версия ниже 1.0, плагин ещё не проверен в продакшене.

О пакете

Имя пакета
@ogutdgn/payload-booking
Последняя версия
0.1.2
Размер
666 кБ
Лицензия
MIT
Загрузок в неделю
13
Последняя публикация
17 сент. 2026 г.

onpage for TanStack Start

Подключает плагин payload-onpage к сайту на TanStack Start, чтобы редакторы правили контент и смотрели черновики прямо на странице.

On-Page Editing

Встраивает редактирование Payload-страниц прямо в Next.js-фронтенд, сохраняет правки как черновики и выдаёт ссылки для предпросмотра.

On-Page React Editor

Добавляет на React-страницы Payload визуальный редактор: тулбары, панели и редакторы полей поверх отрисованной страницы.

Collaborative Comments

Добавляет комментарии на уровне документов и полей в админку Payload, с упоминаниями, email-уведомлениями, разрешением, мультитенантностью и фильтрацией по локали.

Dub

Плагин для Payload CMS для автоматического создания и управления короткими ссылками с использованием Dub.

Visual Editing

Плагин для Payload CMS 3.x добавляет на фронтенд оверлеи редактирования: клик по элементу открывает нужное поле в админке.