Skip to content
Gaurav TiwariDocs

Introduction to Core Bookings

Updated October 22, 2026

You want customers to book time with you on your own WordPress site, without renting a scheduling page from a SaaS tool or sending people somewhere else to pay. Core Bookings handles one-to-one appointments, group sessions, classes and team scheduling, and keeps every booking, customer and payment record in your own database.

It’s a standalone plugin by Gatilab. It doesn’t need Core Forms, a page builder or another booking plugin to work.

What You Can Book

  • One-to-one appointments: a customer picks a free time from a staff member’s working hours, with buffers, minimum notice, a booking horizon and a change or cancel cutoff.
  • Scheduled group sessions: sessions at set times with a seat limit, so several customers share one slot.
  • Team bookings: round robin, collective meetings with several hosts and routing forms, once you switch on the Teams module.
  • Classes and events: a class timetable, ticket types, multi-session courses and attendee check-in, through the Classes module.

You can see each of these working on the Core Bookings demo.

What Comes Built In

These features are always on. There’s nothing to switch on before you use them:

  • A booking block and shortcode, a service directory, a popup button and a shareable booking page for every active service.
  • Free, pay offline, Stripe (hosted or embedded) and FluentCart payments, with deposits and balance payments.
  • Google Calendar sync with Google Meet and Zoom links.
  • Session packs, waitlists, recurring bookings and approval requests.
  • Durations, categories, guests and single-use invitation links.
  • A private manage link for every booking, plus an optional customer dashboard with WordPress accounts.
  • Booking emails and reminders, optional Core Forms intake, outgoing webhooks, and import and export (including Calendly and Acuity Scheduling CSV files).
  • A workspace for you and your staff: overview, appointment list and calendars, customers, setup checks and background operations.

Modules for Everything Else

Nineteen optional modules ship inside the plugin and stay off until you switch them on in Bookings → Settings → Modules. They cover Microsoft 365, calendar feeds and iCloud, booking questions, teams, locations, shared resources, a staff portal, SMS and WhatsApp, automations, reports, reviews, coupons and gift cards, payment rules, PayPal, Polar and Paddle, taxes and invoices, classes, memberships, integrations and AI agent abilities.

Every module is included with your license. Switching one off hides its screens and stops it running, so a solo coach doesn’t wade through settings built for a yoga studio. See Turn Modules On and Off for the full list.

How a Booking Works

  1. You add staff (existing WordPress users) with a timezone and weekly hours.
  2. You create a service, assign staff and choose how customers pay.
  3. A customer picks a date and time in their own timezone, enters their details and confirms.
  4. The booking lands in Bookings → Appointments. The customer gets a confirmation email and a private link to reschedule or cancel within your rules.

Paid bookings hold the time while the customer pays. The plugin confirms the booking only after the payment provider confirms the payment, never from a browser redirect alone.

Good to Know

  • This is version 1.0.0-beta.3, the third beta of 1.0. Test your own booking flow, payments and calendars on a staging site before you take live bookings.
  • Your license unlocks updates. Booking features keep working if a license expires.
  • Payment, calendar, SMS and meeting providers use your own accounts and credentials. Nothing is routed through a Gatilab service.
  • The plugin sends no telemetry. The only call home is the license check and the update check after you activate a license.

Ready to start? Go to Install Core Bookings and Activate Your License, then Set Up Staff, a Service and Your First Booking Page. The product page has pricing, and the roadmap shows what’s planned next.

Share

Was this helpful?

Still stuck? Open a support ticket