REST API

Overview

The plugin provides an extended REST API for programmatic access to booking data.
The API supports advanced filtering and returns all booking statuses with flexible date range filtering.

Base URL:
/wp-json/baza-booking-calendar/v1/

Endpoints

Get All Booked Slots with Filters

Request:
GET /wp-json/baza-booking-calendar/v1/slots/

Query Parameters:

  • status (string, optional) – Filter by booking status. Supports a single status or multiple comma-separated values.
  • start (string, optional) – Filter by start date. Supported formats: DD.MM.YYYY, DD/MM/YYYY, YYYY-MM-DD.
  • end (string, optional) – Filter by end date. Same formats as for start.
  • filter_by (string, optional) – Filter type: booking_date (default) or created_date.

Available Statuses

  • pending – Awaiting confirmation
  • booked – Confirmed booking
  • reject – Rejected booking
  • completed – Completed booking
  • expired – Expired booking

Request Examples

All bookings:
/wp-json/baza-booking-calendar/v1/slots/

Only active bookings:
/wp-json/baza-booking-calendar/v1/slots/?status=pending,booked

Completed and rejected bookings for June 2025:
/wp-json/baza-booking-calendar/v1/slots/?status=completed,reject&start=01.06.2025&end=30.06.2025

All bookings within a specific date range:
/wp-json/baza-booking-calendar/v1/slots/?start=01/06/2025&end=30/06/2025

Get Booked Slots for a Specific Service

Request:
GET /wp-json/baza-booking-calendar/v1/slots/?service={slug}
GET /wp-json/baza-booking-calendar/v1/slots/?service={ID}

Parameters:

  • service (string, required) – Service slug or ID (e.g., massage-therapy, yoga-class, or ID).
  • status (string, optional) – Same as above.
  • start (string, optional) – Start date.
  • end (string, optional) – End date.

Request Examples

All bookings for the massage service:
/wp-json/baza-booking-calendar/v1/slots/?service=massage-therapy
/wp-json/baza-booking-calendar/v1/slots/?service={ID}

Active bookings for the massage service:
/wp-json/baza-booking-calendar/v1/slots/?service=massage-therapy&status=pending,booked

Common Use Cases

Get Disabled Times (Non-working Hours, Days Off)

Request:
GET /wp-json/baza-booking-calendar/v1/disabled-time/

Parameters:

  • service (string, optional) – Service slug or ID (e.g., studio-1 or ID).
  • start (string, optional) – Start date.
  • end (string, optional) – End date.

Request Examples

All disabled slots for the next 3 months:
/wp-json/baza-booking-calendar/v1/disabled-time/

For a specific service:
/wp-json/baza-booking-calendar/v1/disabled-time/?service=studio-1
/wp-json/baza-booking-calendar/v1/disabled-time/?service={ID}

For a specific date range:
/wp-json/baza-booking-calendar/v1/disabled-time/?start=01.12.2025&end=31.12.2025