WP Manifestindependent plugin directory
manifest / events / service-booking-pro

Service Booking Pro

Multi-step WordPress service booking wizard with packages, extras, discounts and dynamic forms. Autoloaded OOP architecture with repository pattern and REST API.

by Mohammad Freihat · github.com/freihat1993/service-booking-pro · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/freihat1993/service-booking-pro/archive/refs/heads/main.zip

Readme

Service Booking Pro

A multi-step booking / quote form for WordPress — service categories, bundles, extras and pricing periods, with an admin panel and email notifications, all from a single shortcode.

Version: 2.11.5 · Requires: WordPress 6.0+, PHP 8.0+ · License: GPL-2.0-or-later


Overview

Service Booking Pro renders a multi-step booking / quote form via the [service_booking_pro] shortcode. Visitors move through service categories, choose packages, add extras, and submit a request or quote — with pricing built up live and re-verified on the server.

Features

  • Service categories with sub-categories, package groups and bundles
  • Extra services with checkbox / quantity types and one-off, monthly or annual pricing
  • Live selection sidebar and order summary
  • Optional discount flow (quote vs. discount submissions)
  • Admin panel with a tabbed settings screen: categories builder, form builder, design (colors / fonts), currencies, email templates, and reCAPTCHA v2
  • Submissions stored in a custom table with an admin list and detail view
  • Email notifications — client + admin HTML emails with merge tags
  • Shadow-DOM frontend so theme CSS cannot break the form
  • Bundled Font Awesome (served locally, not from a third-party CDN)

Security

Prices, totals and discounts are re-computed server-side from saved settings on every submission — client-sent amounts are never trusted. Also includes a settings-tab include allowlist, strict hex validation for design colors, icon-class whitelisting in the frontend renderer, page-cache-safe CSRF nonces, and reCAPTCHA v2.

Structure

service-booking-pro.php        Bootstrap
includes/
├── class-sbp-db.php           Custom table + schema
├── class-sbp-settings.php     Settings storage
├── class-sbp-shortcode.php    Frontend render (shadow DOM)
├── class-sbp-ajax.php         AJAX submission + nonce refresh
├── class-sbp-submission.php   Server-side price verification + storage
├── class-sbp-email.php        Client/admin notifications
└── class-sbp-dummy-data.php   Demo data loader
admin/
├── class-sbp-admin.php
└── views/
    ├── settings.php
    ├── settings-tabs/         general, service_categories, pricing,
    │                          form_builder, design, currencies,
    │                          email_templates, security, summary_order
    ├── submissions-list.php
    └── submission-detail.php
assets/                        Frontend CSS/JS + bundled Font Awesome

Installation

  1. Upload the plugin zip via Plugins → Add New → Upload Plugin, or copy the service-booking-pro folder to /wp-content/plugins/.
  2. Activate it.
  3. Open Service Booking Pro → Settings, configure categories (or load the demo data), then place [service_booking_pro] on any page.

Usage

[service_booking_pro]

Author

Mohammad Freihat — WordPress developer, Amman, Jordan GitHub · LinkedIn

License

GPL-2.0-or-later. See LICENSE.

Read the full README on GitHub →