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.
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.
- 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.
| 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. |
- 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.
- 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)
- Copy the plugin folder to
/wp-content/plugins/rebook-booking/(or upload the ZIP via Plugins → Add New → Upload). - Activate reBook Booking from the Plugins screen.
- Open the re:Book menu in the admin dashboard.
- Configure locations, integrations and payment methods under Settings, then start adding services, staff and bookings.
- Backend: object-oriented PHP (
ReBook_*classes), custom database tables prefixedrebook_, all queries use$wpdb->prepare(). - Frontend (admin): vanilla JS + jQuery for AJAX (nonce
rebook_nonce, capabilitymanage_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_staffandrebook_customerroles;manage_rebookcapability 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, …).
seed.php/seed-notifications.phppopulate demo data and notification templates for local testing. Remove both (and theirrequire_onceinrebook-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.
Released under the GPLv2 (or later) license. See LICENSE.