Skip to content

Repository files navigation

reBook Booking

Advanced booking, scheduling and order-management system for WordPress.

reBook Booking is a full-featured reservation platform for service businesses — hair & beauty salons, medical offices, workshops, training studios and more. It handles services, multi-day events, staff schedules, customers, appointments, work orders, payments and notifications, with a dark-themed admin panel and a clean public booking frontend.

WordPress PHP License Plugin Check

Passes the official WordPress Plugin Check (PCP) with 0 errors and 0 warnings — i18n, escaping, sanitization, prepared SQL, and asset handling all compliant with WordPress.org guidelines.


✨ Key Features

  • Dashboard — KPIs (revenue, bookings, occupancy), activity chart, upcoming schedule and alerts.
  • Services — define services with prices, duration, VAT, colors, categories, per-service discounts and visibility rules.
  • Events — multi-day events with modules, variants, per-variant pricing, seat limits, waitlists, group discounts and staff assignment.
  • Staff — work schedules, time-off, service assignment, hourly rates, self-service editing and WordPress user linking.
  • Customers — CRM with contact data, booking history, private notes and RODO/GDPR consents.
  • Appointments — full booking lifecycle (pending → confirmed → completed), payments, participants and internal notes.
  • Work Orders — configurable order types with custom (EAV) fields, files, notes, pricing items and status history.
  • Payments — Stripe Checkout (online) plus prepayment / cash / bank-transfer / on-delivery / terminal methods.
  • Notifications — SMS, WhatsApp and Email via per-status templates, reminders (WP-Cron) and a dispatch log.
  • Customer Panel — front-end area for clients: login/registration, profile, consents, work orders and registrations.
  • Checkout — standalone, theme-independent purchase flow with Stripe Sessions and clean URLs.
  • Public frontend — service / category / event / staff pages with availability calendar, slot picking and maps.

🧩 Modules

Module Description
Dashboard Real-time KPIs, revenue/booking charts, schedule and system alerts.
Staff Schedules, time-off, service assignment, self-edit (togglable), WP user link.
Categories Hierarchical categories, visibility & VIP flags, drag-and-drop ordering.
Services Pricing, duration, VAT, discounts, visibility inheritance.
Events Days, modules, variants, seat limits, waitlist, group & early-bird discounts.
Customers CRM, notes, consents, optional WP account creation.
Appointments Booking lifecycle, payments, participants, notes, customer stats.
Work Orders Custom field types (EAV), files, notes, pricing, status history.
Locations Multiple locations with map preview (Google Maps / coordinates).
Payments Stripe API (no SDK), REST webhooks, multiple offline methods.
Notifications SMS / WhatsApp / Email, per-status config, reminders, dispatch log.
Consents (RODO/GDPR) Privacy / terms / newsletter consents with IP & source tracking.
Customer Panel Auth, profile, work orders, registrations (front-end).
Checkout Standalone Stripe Checkout flow with clean URLs.
Admin Activity Activity feed & bell notifications for admin-relevant events.
Advanced Settings CSV/JSON export & import, logs, cache, maintenance mode, system info.

🔌 Integrations

  • Google Calendar / Google Meet — OAuth, automatic event & meeting-link creation.
  • Zoom — OAuth, automatic meeting creation for online events/appointments.
  • Stripe — Checkout Sessions, payment intents, refunds, webhooks (implemented via wp_remote_post, no external SDK).
  • Twilio — SMS & WhatsApp notifications.
  • Elementor — dedicated widgets (booking calendar, CTA, service/event teasers, categories).

All API credentials are stored in WordPress options (entered by the admin) — no keys are hard-coded in the source.


🖥️ Requirements

  • WordPress 6.0+
  • PHP 7.4+ (tested on PHP 8.2 / 8.3)
  • MySQL 5.7+ / MariaDB 10.3+
  • A modern browser (Chrome, Firefox, Safari, Edge)

🚀 Installation

  1. Copy the plugin folder to /wp-content/plugins/rebook-booking/ (or upload the ZIP via Plugins → Add New → Upload).
  2. Activate reBook Booking from the Plugins screen.
  3. Open the re:Book menu in the admin dashboard.
  4. Configure locations, integrations and payment methods under Settings, then start adding services, staff and bookings.

🏗️ Architecture

  • Backend: object-oriented PHP (ReBook_* classes), custom database tables prefixed rebook_, all queries use $wpdb->prepare().
  • Frontend (admin): vanilla JS + jQuery for AJAX (nonce rebook_nonce, capability manage_rebook), WordPress TinyMCE for rich-text fields.
  • Public frontend: clean-URL routing via template_include, availability/slots API, appearance settings, bundled Leaflet maps (no CDN).
  • Roles: custom rebook_staff and rebook_customer roles; manage_rebook capability granted to administrators.
  • i18n: text domain rebook-booking, translations in /languages (Polish included), just-in-time loading.

Data model: 40+ custom tables (staff, services, events + variants, appointments + payments, work orders + fields/files/notes, customers + consents, notifications log, admin activity, …).


🛠️ Development

  • seed.php / seed-notifications.php populate demo data and notification templates for local testing. Remove both (and their require_once in rebook-booking.php) before distributing — they are development-only helpers.
  • A distribution-ready build (without seed files) can be produced by copying the plugin and deleting the seed helpers.

📄 License

Released under the GPLv2 (or later) license. See LICENSE.

About

WordPress plugin for booking services, events, and managing orders. Integrates with Google Calendar, Google Meet, Zoom, Stripe, and Twilio for scheduling, payments, and notifications

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages