-
Notifications
You must be signed in to change notification settings - Fork 0
Installation & Setup
Tom Caswell edited this page Apr 1, 2026
·
1 revision
- WordPress 5.8+
- PHP 7.4+ (8.0+ recommended)
- SSL certificate (required for Square payments)
- Google Cloud account (for Calendar integration)
- Twilio account (optional, for SMS notifications)
- Square account (optional, for card payments)
- Download the latest release from the Releases page
- In WordPress admin, go to Plugins → Add New → Upload Plugin
- Upload the ZIP file and click Install Now
- Click Activate
- Extract the plugin folder
- Upload
caswell-booking/towp-content/plugins/ - Activate in Plugins admin page
cd wp-content/plugins/
git clone https://github.com/tom4cam/Custom-WP-Booking-Plugin.git caswell-bookingThe plugin automatically:
- Creates database tables (
wp_caswell_bookings,wp_caswell_recurring_series,wp_caswell_blocks) - Registers the
caswell_clientuser role (read-only) - Schedules WP-Cron for appointment reminders
- Creates three pages:
-
Home — Custom homepage template (
/caswell-home) -
Book an Appointment — Booking widget (
/book) -
My Account — Login/register/manage bookings (
/caswell-account)
-
Home — Custom homepage template (
- Settings → Caswell Booking — Configure all tabs
- Google Calendar tab — Set up OAuth2 (see Google Calendar Setup)
- Sessions tab — Enable desired session lengths (30/60/90 min)
- Square tab — Add payment credentials (see Payment Configuration)
- Business Info tab — Set your branding (see White-Label Configuration)
- SMS/Twilio tab — Configure if using SMS notifications
- Scheduling tab — Set buffer time, reminder timing
For reliable reminders on low-traffic sites, add a server-side cron job:
*/15 * * * * curl -s https://yourdomain.com/wp-cron.php?doing_wp_cron
On Bluehost: cPanel → Cron Jobs → add the command above with a 15-minute interval.
- Download the new release
- Deactivate the plugin
- Replace the plugin folder
- Re-activate — database migrations run automatically on
plugins_loaded
Getting started
How it works
- Architecture
- Database Schema
- Scheduling
- Google Calendar
- Notifications
- Email Deliverability
- Authentication
- AJAX Endpoints
Payments
Other