WP Manifestindependent plugin directory
manifest / events / zimcon-booking

Zimcon Booking System

Cleaning service booking wordpress plugin

by Zimcon Ltd · github.com/nueloea/zimcon-booking · 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/nueloea/zimcon-booking/archive/refs/heads/main.zip

Readme

=== Zimcon Booking System === Contributors: zimconltd Tags: booking, cleaning, estimator, appointment, scheduling Requires at least: 5.8 Tested up to: 6.7 Requires PHP: 7.4 Stable tag: 1.0.1 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html

Complete cost estimation and booking system for Zimcon cleaning services.

== Description ==

Zimcon Booking System provides a full-featured cost estimator and booking form for cleaning services. Customers can get instant quotes for residential, deep clean, end-of-tenancy, and commercial cleaning, then proceed to book directly from their quote.

Key Features:

  • 5-Step Cost Estimator — Guided form for residential, deep clean, end-of-tenancy, and commercial cleaning with real-time price calculation.
  • 4-Step Booking Form — Collects customer details, service address, preferred date/time, and payment confirmation.
  • Server-Side Price Calculation — All prices calculated on the server using stored pricing data. Client-submitted prices are never trusted.
  • Secure Token Flow — Quotes generate a time-limited token (2 hours) that links to the booking form. Tokens are single-use and cryptographically secure.
  • Email Notifications — Admin notification and customer confirmation emails via Web3Forms, Resend, SendGrid, or WordPress wp_mail() with automatic fallback.
  • Admin Dashboard — Stats overview with month-over-month comparison, recent activity feed, and popular services breakdown.
  • Quotes & Bookings Management — Sortable, filterable list tables with bulk actions, search, and status tracking.
  • Pricing Manager — Update all pricing from the admin panel with change history and audit logging.
  • Settings Panel — Configure email providers, page assignments, API keys (encrypted storage), and debug mode.
  • Elementor Integration — Drag-and-drop widgets for both the estimator and booking form.
  • Shortcode Support[zimcon_estimator] and [zimcon_booking] shortcodes for use in any page or post.
  • Rate Limiting — Prevents abuse with configurable limits per action (quotes, bookings, AJAX).
  • Audit Logging — All significant actions logged with user, IP, and timestamp.
  • Debug Mode — Test data flagging, verbose logging, and rate limit bypass for development.

Security:

  • Nonce verification on all forms and AJAX requests
  • Prepared statements for all database queries
  • Input sanitization and output escaping throughout
  • AES-256-CBC encryption for stored API keys
  • IP-based rate limiting with audit trail
  • Price tampering detection with 1p tolerance
  • Direct file access prevention on all PHP files

== Installation ==

  1. Upload the zimcon-booking-system folder to /wp-content/plugins/.
  2. Activate the plugin through the Plugins menu in WordPress.
  3. Go to Zimcon Booking in the admin sidebar to view the dashboard.
  4. Navigate to Settings > General to configure the estimator and booking page assignments.
  5. Create two pages and add the shortcodes [zimcon_estimator] and [zimcon_booking], or use the Elementor widgets.
  6. Navigate to Settings > Email to configure your email provider and API key.
  7. Optionally, add your API keys to wp-config.php for maximum security:

define('ZIMCON_WEB3FORMS_KEY', 'your-api-key'); define('ZIMCON_RESEND_KEY', 'your-api-key'); define('ZIMCON_SENDGRID_KEY', 'your-api-key');

== Frequently Asked Questions ==

= What email providers are supported? =

Web3Forms (default), Resend, SendGrid, and WordPress wp_mail(). You can configure a fallback that activates automatically if the primary provider fails.

= Can I customise the pricing? =

Yes. Go to Zimcon Booking > Pricing to update hourly rates, fixed prices by property size, commercial rates, add-on prices, discounts, and surcharges. All changes are versioned with a pricing history.

= Is the estimator mobile-friendly? =

Yes. Both the estimator and booking form are fully responsive and tested on mobile devices.

= How does the token system work? =

When a customer completes a quote, a secure token is generated and stored server-side for 2 hours. The customer is redirected to the booking page with this token. The token is deleted after the booking is submitted, preventing reuse.

= Can I use this without Elementor? =

Yes. The plugin provides shortcodes [zimcon_estimator] and [zimcon_booking] that work in any theme. Elementor widgets are an optional convenience.

= How do I enable debug mode? =

Add define('ZIMCON_DEBUG_MODE', true); to your wp-config.php. This disables rate limiting and marks all submissions as test data. Remove or set to false before going live.

= What happens when I uninstall the plugin? =

All database tables, options, transients, and cron jobs are removed. Deactivating the plugin preserves all data — only deletion triggers cleanup.

== Changelog ==

= 1.0.1 =

  • Fixed price discrepancy between estimator and booking pages when included add-ons were selected.
  • Changed time slots from ranges to single whole hours (8:00 AM - 5:00 PM) with start-time label.
  • Added server-side whitelist validation for time slot values.
  • Improved responsive layout at 768px, 480px, and 360px breakpoints for both estimator and booking forms.
  • Replaced text header in customer confirmation email with site logo.

= 1.0.0 =

  • Initial release.
  • 5-step cost estimator with 4 service types.
  • 4-step booking form with token-based quote linking.
  • Email system with 4 providers and automatic fallback.
  • Admin dashboard with stats, activity feed, and service breakdown.
  • Quotes and bookings list tables with filtering and bulk actions.
  • Pricing manager with change history.
  • Settings page with General, Email, and Advanced tabs.
  • Elementor widgets for estimator and booking form.
  • Shortcode support.
  • Rate limiting, audit logging, and security hardening.

== Upgrade Notice ==

= 1.0.1 = Bug fixes: pricing consistency, whole-hour time slots, responsive improvements, email logo.

= 1.0.0 = Initial release.

Read the full README on GitHub →