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.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/freihat1993/service-booking-pro/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

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.