WebCalendar
WebCalendar gives your WordPress site a clean, responsive calendar with the features you actually need — recurring events, iCal import, holiday imports, email reminders, and fine-grained permissions — without the complexity. Calendar Views & Display Month, week, and day views with smooth AJAX navigation — no page reloads Responsive design that adapts to any theme and screen size Color-coded categories for visual organization Gutenberg blocks (Calendar + Upcoming Events) and [webcalendar] shortcode Event Management Recurring events — daily, weekly, monthly, and yearly patterns with RRULE support Edit a single instance or the entire series File attachments via the WordPress Media Library Public, Private, and Confidential visibility levels Filter the calendar by tag, and jump straight to what visitors are looking for Venues and organizers — reusable places and contacts, managed in one screen, shown on every event page Custom event fields — text, dates, drop-downs and more, defined once and filled in on every event Online and hybrid events with a “Join online” link, separate from the physical location Conflict detection warns you about overlapping events (Starter+) Filter the calendar by venue and organizer (Starter+) Import, Export & Sync Import .ics files from Google Calendar, Outlook, Apple Calendar, or any iCal source One-click migration from The Events Calendar — venues, organizers, categories, images and recurring events, with undo Side-by-side trial: run WebCalendar next to The Events Calendar with scheduled one-way sync, then switch — or remove everything in one click Export your calendar in iCalendar format Import public holidays for any country Subscribe to remote iCal feeds with automatic hourly sync (Starter+) Collaboration & Permissions Invite WordPress users to events with email notifications Event reminders via WP-Cron 36 granular capabilities mapped to WordPress roles — control who can view, create, edit, and manage events Multi-user calendar filtering and shared calendar views Frontend event submissions with admin approval queue (Starter+) Category merging for cleaning up duplicate categories (Business+) SEO & Sharing Single event pages with SEO-friendly permalinks Schema.org Event JSON-LD, Open Graph, and Twitter Card meta tags Social share buttons and “Add to Google/Outlook/Yahoo” one-click buttons AI Integration Built-in MCP server lets AI assistants (Claude, ChatGPT, etc.) manage your calendar — free on every edition AI admin page with connection wizard, tools reference, and one-click testing WordPress Abilities API integration for WP 6.9+ For Developers Full REST API for events, categories, holidays, layers, and shared calendars Built on Clean Architecture with webcalendar-core business logic library PSR-4 autoloading, PHPStan Level 9, 1400+ automated tests All calendar data in dedicated webcal_* tables — no Custom Post Types Technical Note: Database Architecture This plugin integrates webcalendar-core, a framework-agnostic Composer library that provides all calendar business logic (events, recurrence, iCal, permissions) through 17 repository classes. These repositories require PDO and use exclusively parameterized prepared statements — no raw SQL concatenation. WordPress-specific data (users, options, capabilities) is accessed via $wpdb through the plugin’s Bridge layer (WpUserRepository, WpConfigRepository, etc.). See src/Bridge/PdoFactory.php for the connection factory. External Services This plugin connects to the following third-party services: Nager.Date API Used for importing public holidays via WebCalendar > Holidays. * Endpoint: https://date.nager.at/api/v3/ * Privacy Policy Google Calendar Public Feeds Alternative holiday source. Fetches public .ics files from Google. * Endpoint: https://calendar.google.com/calendar/ical/ * Google Privacy Policy * Google Terms of Service Thunderbird Holiday Calendars Alternative holiday source via community-maintained .ics files. * Endpoint: https://www.thunderbird.net/media/caldata/ * Mozilla Privacy Policy Freemius License Server Used for license validation, automatic updates, and optional usage analytics. * Endpoint: https://api.freemius.com/ * Privacy Policy * Terms of Service * Data transmitted: license key, site URL, plugin version, WordPress version OpenStreetMap / Nominatim When a single event page has a location and the map provider is set to OpenStreetMap (the default), the plugin geocodes the address via the Nominatim API and displays a map using OpenStreetMap tile servers. The event location string is sent as a search query. No user personal data is transmitted. * Geocoding endpoint: https://nominatim.openstreetmap.org/search * Tile server: https://tile.openstreetmap.org/ * OpenStreetMap Terms of Use * Nominatim Usage Policy * OpenStreetMap Privacy Policy Google Maps Embed API When the map provider is set to Google Maps in settings, single event pages display an embedded Google Map for the event location. The event location string and your Google Maps API key are sent to Google. No other user data is transmitted. * Endpoint: https://www.google.com/maps/embed/v1/place * Google Maps Platform Terms of Service * Google Privacy Policy Add to Calendar Links Single event pages include “Add to Calendar” buttons that generate links to Google Calendar, Outlook.com, and Yahoo Calendar. When a visitor clicks a button, the event title, date, time, location, and description are passed as URL parameters to the chosen service. No data is sent until the visitor clicks. * Google Calendar: https://www.google.com/calendar/render * Outlook.com: https://outlook.live.com/calendar/0/action/compose * Yahoo Calendar: https://calendar.yahoo.com/ Social Sharing Links Single event pages include social sharing buttons for Facebook, X (Twitter), and LinkedIn. When a visitor clicks a button, the event page URL and title are passed as URL parameters to the chosen service. No data is sent until the visitor clicks. * Facebook: https://www.facebook.com/sharer/sharer.php * X (Twitter): https://x.com/intent/tweet * LinkedIn: https://www.linkedin.com/sharing/share-offsite/ Development & Source Code Full unminified source for this plugin is included in this distribution under GPL-2.0-or-later — you do not need to download anything external to rebuild the compiled assets. What ships in this zip: src/ — unminified React/JSX source for all admin components, frontend calendar, and the mini-calendar widget build/ — the pre-compiled minified bundles (what the plugin actually loads at runtime) package.json + package-lock.json — Node build manifest and lockfile for reproducible npm install composer.json — PHP dependency manifest Rebuilding the compiled assets from source: Prerequisites: PHP 8.1 or higher with Composer 2, Node.js 20 or higher with npm 10. composer install — install PHP dependencies npm install — install JavaScript build dependencies (@wordpress/scripts, React, Toast UI Calendar, Leaflet, Tiptap) npm run build — compile src/index.js and src/frontend.js into the minified bundles under build/ The compiled output in build/ is byte-reproducible from the matching src/ at the same version using this toolchain.
Top keywords
- calendar29×2.81%
- google18×1.74%
- event17×1.65%
- https13×1.26%
- events12×1.16%
- com11×1.07%
- api8×0.78%
- data7×0.68%
- openstreetmap7×0.68%
- policy7×0.68%
- source7×0.68%
- wordpress7×0.68%
Bookster – WordPress Appointment Booking Plugin
Managing appointments through phone calls, texts, and emails is chaotic. You lose track of bookings, double-book appointments, and spend hours on scheduling instead of serving customers. Bookster turns your WordPress site into a 24/7 booking system. 🌐 View All Demos Customers book appointments themselves, see real-time availability, and receive automatic confirmations. You manage everything from one dashboard. 📌 Documentation | Core Pro vs All Access 💫 Perfect For Hair salons and barbershops Spas and beauty clinics Massage therapists and wellness centers Personal trainers and fitness coaches Consultants and coaches Tutors and education services Medical and dental practices Any service business that takes appointments 💙 How It Works Customers visit your booking page, choose a service, pick their preferred staff member, select an available time slot, and book instantly. You receive an email notification and can view all appointments in your calendar dashboard. No more back-and-forth scheduling. 🔥 Key Features (100% Free) Unlimited Bookings & Services Create unlimited services with custom names, descriptions, and photos Set individual duration and pricing for each service Add taxes, fees and discounts to bookings No limits on number of appointments per month Offer service add-ons and upsell options Smart Scheduling Set your working hours for each day of the week Configure different availability for different services Add buffer time between appointments (e.g., 15-minute cleanup) Block off days for vacations or holidays Set minimum advance notice for bookings (e.g., require 24-hour notice) Customer Booking Experience Clean, mobile-friendly booking form that works on all devices Multi-step process: choose service → select staff → pick time → enter details → confirm Customers see only available time slots (no double-booking) Optional customer account dashboard to view and manage their bookings Customers can cancel or reschedule appointments themselves Payment Options Accept cash/check for in-person payment Accept PayPal payments online (customers pay when booking) Stripe integration available via premium addon for credit card payments Mark bookings as paid or unpaid manually Track revenue in the analytics dashboard Automatic Notifications Email confirmation sent to customers immediately after booking Reminder emails sent before appointment Email notifications sent to admin when new bookings arrive Customize email templates with your branding All emails sent automatically – no manual work required Admin Dashboard View all appointments in Bookster → Calendar menu Switch between day, week, and month calendar views Click any appointment to view or edit details instantly Filter appointments by status (confirmed, pending, cancelled) Search for specific customers or appointments Drag appointments to different dates to reschedule Color-coded by service or staff member for quick overview Analytics & Reports Track total bookings and revenue right from dashboard View performance by service (which services are most popular) Monitor individual agent performance Make data-driven decisions about staffing and services Premium Addons (Optional) Upgrade your booking system with these customizable options: Staff Management Add unlimited team members from Bookster → Agents menu Set individual working hours for each staff member Assign specific services to specific team members Let customers choose their preferred agent or assign automatically Track performance and bookings per agent Booking Form Customize booking form steps (reorder, add, or remove steps) Add custom fields to collect specific information Enable recaptcha, brand logo, timezone selector, and more for your booking system. Advanced Features (coming in future addons) Group bookings and classes Recurring appointments Multiple locations management SMS notifications via Twilio Design Toolkit for Block Editor and Elementor Getting Started Adding the Booking Calendar to Your Site Method 1: Shortcode (Works Anywhere) Add [bookster_booking_form] to any page, post, or widget area. Method 2: Block Editor 1. Edit the page where you want the booking form 2. Click the + button to add a block 3. Search for “Bookster” 4. Select the Bookster Booking Form block 5. Publish the page Method 3: Classic Editor Paste [bookster_booking_form] directly into your content. Viewing and Managing Appointments Go to Bookster → Calendar in your WordPress dashboard You’ll see all appointments in calendar format Click any appointment to view details or make changes Use the view buttons at top to switch between day/week/month views Use filters to show appointments based on agents or booking status Creating a Manual Booking (For Walk-Ins or Phone Bookings) Go to Bookster → Calendar Click the + New Appointment button (or click an empty time slot) Select the service and staff member Choose date and time Enter customer information (name, email, phone) Select payment method Click Create Appointment Customer automatically receives confirmation email Troubleshooting Booking calendar not showing on my page Check 1: Verify the shortcode Make sure you added [bookster_booking_form] exactly (with square brackets). Check 2: Clear cache If using a caching plugin, clear your cache: WP Rocket → Clear Cache or similar. Check 3: Theme conflict Temporarily switch to a default WordPress theme (Twenty Twenty-Five) to test. If it works, there’s a theme conflict. Customers not receiving email confirmations Check 1: Email settings Go to Bookster → Integrations → Email tab and confirm email notifications are enabled. Check 2: Check spam folders Ask customers to check spam/junk folders. Add your domain to their contacts. Check 3: WordPress email issues WordPress email can be unreliable. Install an SMTP plugin like YaySMTP to improve email delivery: 1. Install YaySMTP plugin 2. Connect it to Gmail, SendGrid, or Mailgun 3. Send a test email to verify Check 4: Test with yourself Create a test booking using your own email to confirm emails are sending. Time slots not showing as available Check 1: Working hours configured Go to Bookster → Settings → Schedule and verify hours are set for the day in question. Check 2: Agent availability If using staff members, check Bookster → Agents and verify the agent works on that day. Check 3: Minimum advance notice Check Bookster → Settings → General → Restrictions, if you require 24-hour notice, today’s appointments won’t show. Check 4: Service duration If your service is 2 hours but only 1 hour remains before closing time, that slot won’t appear. Double bookings happening This shouldn’t happen with Bookster. If it does: Check 1: Multiple admin users If multiple people manage bookings, ensure everyone refreshes the calendar before creating appointments. Check 2: Contact support If this persists, contact Bookster support with specific examples. PayPal payments not working Go to Bookster → Settings → Payments tab Verify your PayPal email address is correct Confirm PayPal is enabled (toggle should be blue/on) Test in PayPal sandbox mode first Check if PayPal account is verified and can accept payments Review PayPal transaction logs for error messages Calendar showing wrong timezone Go to Settings → General in WordPress Set your city timezone correctly (e.g., “New York” or “Berlin”) Save changes Go to Bookster → Settings and verify timezone matches Clear browser cache and reload Third-Party Services Bookster uses these external services to provide full functionality: FullCalendar.io Purpose: Renders the interactive booking calendar Privacy: No personal data sent to FullCalendar Terms: https://fullcalendar.io/license Stripe.com (Optional – only if using Stripe addon) Purpose: Process credit card payments Data shared: Customer name, email, payment amount Privacy: https://stripe.com/privacy PayPal.com Purpose: Process PayPal payments Data shared: Customer name, email, payment amount Privacy: https://www.paypal.com/privacy When customers make payments, they’re redirected to Stripe or PayPal’s secure servers. Bookster does not store credit card numbers. Support Need help? We’re here for you: Documentation: Visit Bookster’s detailed guides Support Forum: Post questions in the WordPress.org support forum Email & Live Chat Support: Contact us through the Bookster website Video Tutorials: Watch setup videos on our YouTube channel Response time: We typically respond within 4 hours on business days and 12 hours on weekends. We’d Love Your Feedback ❣️ If Bookster helps your business, please leave us a review on WordPress.org! It takes 60 seconds and brightens our day. Click here ⭐⭐⭐⭐⭐ to share your experience. Have a feature request? We’re actively developing new features based on user feedback. Submit your ideas here. Compatibility Works With All Major WordPress Themes: Brandy WP Shadcn GeneratePress OceanWP Divi Avada And thousands more Page Builders: Elementor Gutenberg (Block Editor) Classic Editor Beaver Builder WPBakery What’s Next? After installing Bookster: Run the setup wizard Add the booking calendar to a page Create a test booking to see the customer experience Customize email templates with your branding Share your booking page link with customers Start accepting appointments 24/7! Your new booking system is ready to help you grow your business. Welcome to Bookster! 🚀