Custom Booking Manager
A custom booking system with admin approval workflow, Google Calendar integration, and frontend forms.
by Your Name · github.com/arifurrahmansajid/bookin-mannagement-systme-custom-plugin-wordpress-developemnt-php · 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/arifurrahmansajid/bookin-mannagement-systme-custom-plugin-wordpress-developemnt-php/archive/refs/heads/main.zipReadme
Custom Booking Manager
A production-ready WordPress plugin for managing recording and performance booking requests.
Architecture
This plugin follows standard WordPress coding standards, is completely object-oriented, and utilizes a custom PSR-4 autoloader. It does not require Composer to function, avoiding dependency issues in shared hosting environments.
Features
- Custom Table: Uses
wp_custom_bookingsfor safe, separate data storage. - AJAX Forms: Shortcodes
[recording_booking_form]and[performance_booking_form]deploy styled, responsive, asynchronous booking forms. - Admin Dashboard: Utilizes
WP_List_Tablefor displaying bookings, filtering by status, and inline actions (Approve/Reject). - Google Calendar API: Uses native
wp_remote_postfunctions for direct REST interaction to handle OAuth 2.0 and event creation without bloating the plugin with the full Google PHP Client Library. - Email Notifications: Automated lifecycle emails for both the administrator and the customer.
- FullCalendar View: Uses the modern FullCalendar JS library for visual representation of bookings in the admin dashboard.
- REST API Endpoint: Exposes a
cbm/v1/bookingsendpoint for external integration. - Export to CSV: Download all your bookings instantly.
Security Practices Used
- Database preparation using
$wpdb->prepare()to prevent SQL injection. - Form nonces with
wp_nonce_field()andcheck_ajax_referer()for CSRF protection. - String sanitization with
sanitize_text_field(),sanitize_email(), andwp_kses_post(). - Direct file access prevention.
- Strict capability checks (
manage_options).
Installation Guide
- Download or clone this repository into your WordPress
wp-content/plugins/directory. - Log in to your WordPress admin dashboard and navigate to Plugins.
- Locate Custom Booking Manager and click Activate.
- The database table
wp_custom_bookingswill be created automatically. - Navigate to the new Bookings -> Settings menu to configure your Google Calendar API credentials.
Testing Locally
If you are using Local WP (formerly Local by Flywheel) or XAMPP:
- Ensure your Google Cloud Console OAuth 2.0 Credentials have their Authorized redirect URIs matching your exact local environment URL.
- E.g.,
http://my-local-site.local/wp-admin/admin.php?page=cbm-settings