Настройка WooCommerce Bookings: календарь, ресурсы, синхронизация

Ручное согласование броней приводит к двойным записям и потерянным клиентам. Мы настраиваем WooCommerce Bookings, чтобы ваш календарь работал автоматически и без ошибок. Наша команда реализует проект под ключ — от настройки ресурсов до синхронизации с Google Calendar, обеспечивая стабильную работу и поддержку.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Настройка WooCommerce Bookings: календарь, ресурсы, синхронизация
Средний
~2-3 дня
Часто задаваемые вопросы

Клиент запускает сервис по аренде оборудования — через неделю выясняется, что два человека забронировали один и тот же экземпляр на одно время. Это знакомая ситуация? Мы сталкиваемся с такими кейсами постоянно. WooCommerce Bookings — плагин, который превращает обычный товар в бронируемый ресурс с расписанием, доступностью и правилами. Он решает проблему двойных броней и ручного согласования слотов. Но без правильной настройки он скорее добавит головной боли, чем порядка. За время работы мы настроили WooCommerce Bookings более чем для 50 проектов — от салонов красоты до проката техники. Средняя экономия времени на управление бронированиями после внедрения — до 10 часов в неделю, что сокращает затраты на персонал на 30–40%. В одном проекте с 15 ресурсами и 20 слотами в день ручное согласование занимало 5 часов в неделю, а после автоматизации — 20 минут. Это в 15 раз быстрее. Наш опыт гарантирует, что ваша система бронирования будет работать без сбоев. Получите консультацию по вашему сценарию.

Модель и типы бронирования

Bookings работает с тремя сущностями:

  • Bookable product — продукт с настроенными слотами и ценами
  • Booking — конкретная запись: кто, когда, какой продукт, статус
  • Resource — дополнительный ресурс, привязанный к продукту (например, конкретный мастер или кабинет)

Данные хранятся в wp_posts (тип wc_booking) и wp_postmeta. Расписание доступности — в мета-поле _wc_booking_availability. Всего плагин поддерживает до 20 правил доступности на продукт.

Типы бронирования

Тип Применение
Fixed blocks Слоты фиксированного размера (30 мин, 1 час)
Customer-defined Клиент выбирает произвольную продолжительность
Fixed duration days Ночи в отеле, дни аренды

Для посуточной аренды: duration = 1 day, min duration = 1, max duration = 14. Стоимость умножается на количество ночей.

Настройка правил доступности: как избежать ошибок?

Доступность настраивается через набор правил с приоритетами:

Rule 1: All days → Bookable (приоритет низкий)
Rule 2: Saturday, Sunday → Not bookable
Rule 3: 31 декабря → Not bookable (праздник)
Rule 4: Monday 09:00–18:00 → Bookable

Правила обрабатываются по убыванию приоритета. Фильтр через хук:

add_filter( 'wc_bookings_product_is_available', function( $is_available, $start, $end, $qty, $product ) {
    // кастомная логика: проверить внешний календарь, CRM и т.д.
    return $is_available;
}, 10, 5 );

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

Почему ресурсы критичны для услуг?

Ресурсы — это независимо доступные единицы одного продукта. Пример: услуга «Стрижка» с ресурсами «Мастер Анна» и «Мастер Сергей». Каждый ресурс имеет собственное расписание и может добавлять доценку к стоимости. Без ресурсов клиент может забронировать одну и ту же стрижку у двух мастеров одновременно — катастрофа. Мы всегда включаем has_resources = true для услуг, где важно распределение. Параметр has_persons: true включает выбор количества людей, min_persons / max_persons ограничивают диапазон. Цена может пересчитываться на человека. В одном проекте мы делали систему бронирования бань: ресурсы — разные парные, persons — количество гостей. Всё работало без конфликтов.

Интеграция и уведомления

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

Bookings поддерживает двустороннюю синхронизацию с Google Calendar через официальный аддон WooCommerce Bookings — Google Calendar. Схема:

  1. Новое бронирование → создаёт событие в Google Calendar через Calendar API
  2. Событие в Google Calendar → при следующей синхронизации блокирует слот в Bookings

Необходима Google Cloud Console: проект, OAuth 2.0 credentials, включённый Calendar API. Синхронизация запускается через WP-Cron каждые 15 минут или принудительно из настроек:

// Принудительный запуск синхронизации do_action( 'wc-booking-gcal-sync' ); 

Уведомления

Плагин добавляет несколько типов писем в WooCommerce → Emails:

  • New Booking — менеджеру при создании
  • Booking Confirmed — клиенту при подтверждении
  • Booking Reminder — клиенту за N часов до начала (настраивается, по умолчанию за 24 часа)
  • Booking Cancelled — при отмене

Напоминания реализованы через Action Scheduler — задачи планируются в момент подтверждения бронирования.

Кастомные поля

// Добавить поле выбора мастера перед бронированием
add_filter( 'woocommerce_booking_form_fields', function( $fields, $product ) {
    $fields['preferred_master'] = [
        'type' => 'select',
        'label' => 'Предпочтительный мастер',
        'options' => [
            '' => 'Любой',
            'anna' => 'Анна',
            'sergey' => 'Сергей',
        ],
    ];
    return $fields;
}, 10, 2 );

Типичные проблемы и их решение

  • Слоты не появляются на фронте — чаще всего timezone mismatch: WordPress установлен в UTC, а правила доступности заданы по локальному времени. Проверьте: Settings → General → Timezone должен совпадать с ожиданиями клиента.
  • Двойное бронирование одного слота — не настроен параметр has_resources или capacity. Без ресурсов и при booking_duration_type = fixed нужно явно указать qty = 1 (максимум брони на слот).

Процесс настройки и сроки

Настройка одного продукта-услуги с простым расписанием занимает 1 рабочий день. Несколько ресурсов, Google Calendar, кастомные поля, логика ценообразования по датам — 3–4 дня.

Что входит в настройку?

  • Настройка продуктов и правил доступности под ваш бизнес
  • Интеграция с Google Calendar и внешними системами
  • Кастомные поля и уведомления
  • Полная документация и обучение сотрудников
  • Гарантия на все работы и поддержка после запуска

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

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1060