REST API
Обзор
Плагин предоставляет расширенный REST API для программного доступа к данным о бронированиях.
API поддерживает расширенную фильтрацию и возвращает все статусы бронирований с гибкой фильтрацией по диапазону дат.
Базовый URL:
/wp-json/baza-booking-calendar/v1/
Конечные точки
Получить все забронированные слоты с помощью фильтров
Запрос:
GET /wp-json/baza-booking-calendar/v1/slots/
Параметры запроса:
- статус (строка, необязательный параметр) — фильтрация по статусу бронирования. Поддерживается как один статус, так и несколько значений, разделенных запятыми.
- start (строка, необязательный параметр) — фильтрация по дате начала. Поддерживаемые форматы:
DD.MM.YYYY,DD/MM/YYYY,YYYY-MM-DD. - end (строка, необязательный параметр) — фильтрация по дате окончания. Форматы такие же, как для
start. - filter_by (строка, необязательный параметр) — Тип фильтра:
booking_date(по умолчанию) илиcreated_date. - flat (логическое значение, необязательный параметр) — возвращает
booked_slotsв виде плоского массива бронирований вместо сгруппированных по ID услуги. Полезно для интеграций, таких как Zapier, которые ожидают простой список записей.
Плоская структура ответа для интеграций:
/wp-json/baza-booking-calendar/v1/slots/?flat=1
Доступные статусы
- в процессе — ожидается подтверждение
- Забронировано — Бронирование подтверждено
- отклонить — Бронирование отклонено
- завершено — Бронирование завершено
- истек — Бронирование с истекшим сроком действия
Примеры запросов
Все бронирования:
/wp-json/baza-booking-calendar/v1/slots/
Только активные бронирования:
/wp-json/baza-booking-calendar/v1/slots/?status=pending,booked
Завершённые и отклоненные бронирования на июнь 2025 года:
/wp-json/baza-booking-calendar/v1/slots/?status=completed,reject&start=01.06.2025&end=30.06.2025
Все бронирования в определенный период:
/wp-json/baza-booking-calendar/v1/slots/?start=01/06/2025&end=30/06/2025
Забронировать время для оказания конкретной услуги
Запрос:
GET /wp-json/baza-booking-calendar/v1/slots/?service={slug}
GET /wp-json/baza-booking-calendar/v1/slots/?service={ID}
Параметры:
- service (строка, обязательное поле) — сокращённое название или идентификатор службы (например,
massage-therapy,yoga-class, илиID). - status (строка, необязательный параметр) — То же, что и выше.
- start (строка, необязательно) — дата начала.
- end (строка, необязательный параметр) — дата окончания.
Примеры запросов
Все бронирования услуги «Массаж»:
/wp-json/baza-booking-calendar/v1/slots/?service=massage-therapy/wp-json/baza-booking-calendar/v1/slots/
?service={ID}
Активные бронирования услуги «Массаж»:
/wp-json/baza-booking-calendar/v1/slots/?service=massage-therapy&status=pending,booked
Типичные сценарии использования
Узнать график работы для людей с ограниченными возможностями (нерабочие часы, выходные дни)
Запрос:
GET /wp-json/baza-booking-calendar/v1/disabled-time/
Параметры:
- service (строка, необязательный параметр) — сокращённое название или ID службы (например,
studio-1илиID). - start (строка, необязательный параметр) — дата начала.
- end (строка, необязательный параметр) — Дата окончания.
Примеры запросов
Все заблокированные слоты на ближайшие 3 месяца:
/wp-json/baza-booking-calendar/v1/disabled-time/
Для конкретной услуги:
/wp-json/baza-booking-calendar/v1/disabled-time/?
service=studio-1/wp-json/baza-booking-calendar/v1/disabled-time/?service={ID}
Для конкретного диапазона дат:
/wp-json/baza-booking-calendar/v1/disabled-time/?start=01.12.2025&end=31.12.2025
