anvildev / craft-booked
A comprehensive booking system for Craft CMS
Package info
github.com/anvildevxyz/craft-booked
Type:craft-plugin
pkg:composer/anvildev/craft-booked
1.0.0
2026-03-10 22:19 UTC
Requires
- php: ^8.2
- craftcms/cms: ^5.0
- google/apiclient: ^2.0
- league/oauth2-client: ^2.0
- microsoft/microsoft-graph: ^1.0
- twilio/sdk: ^6.0 || ^7.0 || ^8.0
Requires (Dev)
- craftcms/ecs: dev-main
- craftcms/phpstan: dev-main
- craftcms/rector: dev-main
- mockery/mockery: ^1.5
- phpstan/phpstan: ^1.10.0
- phpunit/phpunit: ^9.5
README
A comprehensive booking and reservation management plugin for Craft CMS, designed with flexibility, performance, and developer experience in mind.
Features
Core Booking System
- Service Management: Create and manage multiple services with custom durations, pricing, and availability
- Event-Based Bookings: Create one-time events with simple capacity management
- Employee/Resource Scheduling: Assign employees to services with individual schedules and locations
- Managed Employees: Staff users can oversee multiple employees' bookings without each employee needing a Craft account
- Multi-Location Support: Manage bookings across multiple physical locations with timezone handling
- Flexible Availability: Define recurring schedules, one-time availability windows, and blackout dates
- Capacity Management: Support for group bookings with configurable capacity limits
- Service Extras: Optional add-ons with pricing and duration (e.g., "Extended consultation +30 min")
- Waitlist Management: Automatic waitlist with conversion when slots become available
- Customer Booking Limits: Configurable limits per service to prevent overbooking
- Customer Self-Service Portal: Logged-in customers can view, manage, and cancel their bookings
- Multi-Site Support: Localized services with propagation across multiple sites
Advanced Features
- Calendar Sync: Two-way sync with Google Calendar and Microsoft Outlook
- Virtual Meetings: Automatic Zoom, Google Meet, and Microsoft Teams meeting creation for online appointments
- Payment Integration: Native Craft Commerce integration
- Email Notifications: Customizable email templates for confirmations, reminders, and cancellations
- SMS Notifications: Twilio integration for booking confirmations, reminders, and cancellations
- Webhooks: Send booking events to Zapier, n8n, Make, or custom endpoints with HMAC signing
- Anti-Spam Protection: reCAPTCHA v3, hCaptcha, Turnstile, and honeypot support
Performance & Scalability
- Intelligent Caching: Tag-based cache invalidation for optimal performance
- Database Optimization: Composite indexes and query optimization for large datasets
- Background Processing: Queue-based email sending and calendar sync
- Soft Locking: Race condition protection for concurrent bookings
- Timezone Support: Automatic timezone conversion for global bookings
Developer Experience
- Event System: Comprehensive event hooks for custom business logic
- GraphQL Support: Full GraphQL API for headless implementations
- RESTful API: Query and manage bookings programmatically
- Extensible Architecture: Service-based design for easy customization
Requirements
- Craft CMS 5.0 or later
- PHP 8.2 or later
- MySQL 8.0.17+ or PostgreSQL 13+
- Composer
Quick Start
Installation
composer require anvildev/craft-booked php craft plugin/install booked
With ddev
ddev composer require anvildev/craft-booked ddev php craft plugin/install booked
Documentation
Getting Started
- Tutorial - Start here - Build your first booking system in 15 minutes
Setup & Configuration
- Configuration Guide - Complete configuration reference
Core Features
- Availability & Schedule System - Complete guide to how availability and schedules work
- Event-Based Bookings - Guide to creating and managing one-time events
- Employee Schedule Management - Frontend employee self-service schedule management
- Field Types - Custom relation fields for Services and Event Dates
Notifications & Integrations
- Email Templates - Customize confirmation, reminder, and cancellation emails
- SMS Notifications - Twilio SMS setup for confirmations, reminders, and cancellations
- Webhooks - Send events to Zapier, n8n, Make, or custom endpoints
Planning
- Roadmap - Planned features and future direction
Development
- Developer Guide - API reference and extension guide
- Event System - Comprehensive event system documentation with examples
- GraphQL API - GraphQL schema and query examples
- Console Commands - CLI commands for reminders, cleanup, and diagnostics
Support
- Documentation: Full documentation
- Issues: GitHub Issues
- Discussions: GitHub Discussions
License
Copyright © anvildev. All rights reserved.
Credits
Developed by anvildev for Craft CMS.
Built with: