Booking
Плагин бронирования встреч для Payload CMS 3.x с защитой от двойного бронирования на уровне базы данных, отменой по magic-link и транзакционными письмами.
Установка
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 добавляет на фронтенд оверлеи редактирования: клик по элементу открывает нужное поле в админке.