=== Bookster - WordPress Appointment Booking Plugin ===
Contributors: bookster
Donate link: https://wpbookster.com/
Tags: appointment scheduling, appointment calendar, contact form, appointments, appointment booking
Requires at least: 5.2
Tested up to: 6.9
Stable tag: 3.2.2
License: GPLv3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html

Manage real-time bookings with ease. Multi-step booking form, multiple services and locations, built-in customer dashboard. Accept online or in-person payments seamlessly on your WordPress site.

## Description

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](https://demo.wpbookster.com/)**

Customers book appointments themselves, see real-time availability, and receive automatic confirmations. 

You manage everything from one dashboard.

📌 [Documentation](https://docs.yaycommerce.com/bookster/management/admin-dashboard) | [**Core Pro** vs **All Access**](https://docs.yaycommerce.com/bookster/price-plans)

### 💫 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](https://wordpress.org/plugins/bookster-taxation/), [fees and discounts](https://wordpress.org/plugins/bookster-discounts-fees/) to bookings
* No limits on number of appointments per month
* Offer [service add-ons and upsell options](https://wordpress.org/plugins/bookster-extra-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

## Installation

### Quick Install (Recommended)

1. Go to **Plugins → Add New** in your WordPress dashboard
2. Search for "Bookster"
3. Click **Install Now** next to Bookster – WordPress Appointment Booking Plugin
4. Click **Activate** when installation completes
5. The Setup Wizard will appear automatically

### Upload ZIP File

1. Download the Bookster plugin ZIP file
2. Go to **Plugins → Add New**
3. Click **Upload Plugin** button
4. Click **Choose File** and select the ZIP file
5. Click **Install Now**, then **Activate Plugin**

### After Activation: 4-Step Setup Wizard

The setup wizard walks you through configuration in about 5 minutes:

**Step 1: Set Your Schedule**
* Click **Start Setup** when the wizard appears
* Enter your business hours (when you're available for appointments)
* Set your time slot intervals (e.g., 30-minute appointments)
* Add buffer time between appointments if needed
* Mark days off (weekends, holidays)

**Step 2: Create Your Services**
* Click **Add Service** to create your first service
* Enter service name, description, and duration
* Upload a photo (optional but recommended)
* Set the price
* Assign to a category if using multiple service types
* Repeat for all services you offer

**Step 3: Add Staff Members**
* Click **Add Agent** to add your first team member
* Enter their name and email address
* Set their working hours (can be different from business hours)
* Assign which services they can provide
* Add more team members as needed

**Step 4: Add Booking Form to Your Website**
* Copy the shortcode shown in the wizard: `[bookster_booking_form]`
* Go to **Pages → Add New** to create a new page
* Title it "Book Appointment" or "Schedule Now"
* Paste the shortcode into the page content
* Click **Publish**
* Visit the page to see your live booking calendar

Done! Your booking system is now live and ready to accept appointments.

## 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

1. Go to **Bookster → Calendar** in your WordPress dashboard
2. You'll see all appointments in calendar format
3. Click any appointment to view details or make changes
4. Use the view buttons at top to switch between day/week/month views
5. Use filters to show appointments based on agents or booking status

### Creating a Manual Booking (For Walk-Ins or Phone Bookings)

1. Go to **Bookster → Calendar**
2. Click the **+ New Appointment** button (or click an empty time slot)
3. Select the service and staff member
4. Choose date and time
5. Enter customer information (name, email, phone)
6. Select payment method
7. Click **Create Appointment**
8. Customer automatically receives confirmation email

## Frequently Asked Questions

### How do customers book appointments?

Customers visit the page where you added the booking calendar (using the shortcode or Gutenberg block). 
They follow these steps:
1. Choose a service from the list
2. Select their preferred staff member (or any available)
3. Pick a date and available time slot
4. Enter their name, email, and phone number
5. Choose payment method and complete booking
6. Receive instant confirmation email

### Can I accept payments online?

Yes. Bookster includes [PayPal integration](https://wordpress.org/plugins/bookster-paypal/) for free. Go to **Bookster → Settings → Payments tab** to connect your PayPal account. For credit card payments through Stripe, you'll need the [Stripe addon](https://wpbookster.com/addons/).

### How do I set up email notifications?

Email notifications work automatically after activation. To customize them:
1. Go to **Bookster → Integrations → Email tab**
2. You'll see templates for confirmation emails and reminders
3. Edit the subject line and message content
4. Use placeholder tags like `{appt_number}`, `{customer_name}` and `{service_name}`
5. Set when reminder emails send (e.g., 24 hours before appointment) - this feature is COMING SOON
6. Click **Save Changes**

### Can customers cancel or reschedule their own appointments?

Yes, if you enable the [customer dashboard](https://docs.yaycommerce.com/bookster/management/customer-dashboard), then the customers can log in and manage their appointments. 

### How do I block off time for lunch or breaks?

It's easy to adjust opening hours. Go to **Bookster → Settings → Schedule** and add work periods (e.g., 9am-12pm, 1pm-5pm).

### Can different staff members have different schedules?

Yes. When adding or editing an agent using the Bookster Core Pro version:
1. Go to **Bookster → Agents**
2. Click on a staff member's name
3. Choose **Work Schedule** section
4. Set custom hours for that agent
5. Click **Save**

Their availability will only show during their working hours.

### How do I add a booking button to my navigation menu?

1. Go to **Appearance → Menus**
2. Create your booking page first (with the shortcode)
3. Find that page in the "Pages" section
4. Click **Add to Menu**
5. Drag it to your desired position
6. Click **Save Menu**

Alternatively, you can also add the class `bookster-booking-button` to any button.

### Does it work on mobile phones?

Yes, the booking calendar is fully responsive. Customers can book appointments from smartphones, tablets, or computers. The calendar automatically adjusts to screen size.

### Can I see which services are most popular?

Yes, go to **Bookster → Dashboard → Top Services** in your WP dashboard. You'll see:

* Total bookings per service
* Revenue by service
* Busiest times and days
* Staff performance metrics

### How many services can I create?

Unlimited. The free version has no restrictions on the number of services or bookings.

### Is there a limit on monthly bookings?

No. You can receive unlimited appointments every month at no additional cost.

## 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

1. Go to **Bookster → Settings → Payments tab**
2. Verify your PayPal email address is correct
3. Confirm PayPal is enabled (toggle should be blue/on)
4. Test in PayPal sandbox mode first
5. Check if PayPal account is verified and can accept payments
6. Review PayPal transaction logs for error messages

### Calendar showing wrong timezone

1. Go to **Settings → General** in WordPress
2. Set your city timezone correctly (e.g., "New York" or "Berlin")
3. Save changes
4. Go to **Bookster → Settings** and verify timezone matches
5. 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](https://docs.yaycommerce.com/bookster/management/dashboard)
* **Support Forum**: Post questions in the [WordPress.org support forum](https://wordpress.org/support/plugin/bookster/)
* **Email & Live Chat Support**: Contact us through the [Bookster website](https://wpbookster.com/support/)
* **Video Tutorials**: Watch setup videos on our [YouTube channel](https://www.youtube.com/@wpbookster)

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](https://wordpress.org/support/plugin/bookster/reviews/?filter=5).

**Have a feature request?** We're actively developing new features based on user feedback. [Submit your ideas here](https://feedbo.io/board/bookster/).

## 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

== Screenshots ==
1. User-friendly booking form 
2. Approve and update an appointment in the salon booking system
3. Manage the appointment booking calendar in WordPress dashboard
4. Step-by-step guide to setting up an online booking system with WordPress & Bookster 
5. Set up time slots and working hours
6. Add multiple services and service categories
7. Add agents and their availability
8. Customize and publish your WordPress appointment schedule booking system
9. Easily navigate your scheduling dashboard, manage bookings, and view performance

== Changelog ==

= May 11, 2026 – Version 3.2.2 =
- Updated: Hide My Bookster menu from users that don't have agent record
- Fixed: Error using manager data in the "My Bookster" screen

= Apr 22, 2026 - Version 3.2.0 =
- Added: Easily add the license and Upgrade
- Updated: Import landing page in setup wizard
- Updated: Booking permission for guest customer (Allow or Disable guest to book, login, create account)
- Improved: Various UI elements
- Fixed: Bugs with timezone issues for UTC
- Fixed: Several minor bugs

= Mar 16, 2026 - Version 3.0.1 =
- Added: Addon links & documentation
- Added: Coupon notice for Bookster Core Pro version -- Eligible early users will now see a coupon notice in the admin
- Updated: Services can now be set to a price of zero
- Improved: Addons remain fully usable even after a license expires
- Improved: The Update Addon button is disabled on an expired license, prompting renewal before updating
- Improved: Admins will no longer receive notices about expired licenses
- Fixed: 404 error when clicking the Customize button on the Setup Wizard's Complete screen
- Fixed: A bug where the current version was missing for addons that had not yet been installed
- Fixed: Other minor bugs

= Mar 9, 2026 - Version 3.0.0 =
- New: Setup Wizard with 4-step onboarding
- New: Notice Panel in Bookster admin for pending booking approvals
- Improved: Addon Pages with Update All button
- Improved: Optimize & update several libraries

= Jan 07, 2026 - Version 2.2.0 =
- New: Add on Page, with Go Pro button
- New: Add a custom opening calendar to service schedule
- New: Booking Form now has better design, and various features
- Improved: Optimize Booking Form performance overall
- Fixed: Several UI issues
- Fixed: Several Bugs

= Mar 20, 2025 - Version 2.1.1 =
- Fixed: get_datetime_latest number_of parameter

= Feb 21, 2025 - Version 2.1.0 =
- Various UI/UX improvements
- Record Table Row Bulk Actions
- Dashboard Service/Agent Top/Leaderboard Report
- Appointment Filter, Calendar Filter
- Admin Header New Appointment Button now show in various pages
- Settings Holiday: Select day/day-range checkbox, improve Holiday Repeat Option
- Improve Phone Input, Money Input, Image Picker
- Block Booking Form: add height settings
- Booking Button now works with class "bookster-booking-button"

= Addons =
- Released: Bookster Stripe Payments addon v2.1.0
- Released: Themes addon v2.1.0
- Released: Multiple Locations addon v2.1.0
- Released: Custom Fields addon v2.1.0
- Released: Tax addon v2.1.0
- Released: Discounts and fees addon v2.1.0
- Released: Extra Options addon v2.1.0
- Released: Bookster PayPal Payments addon v2.1.0
- Released: Bookster Process addon v2.1.0

= Oct 14, 2024 - Version 2.0.1 =
- Fixed: Dashboard Revenue
- Fixed: Permission Customer Cancel Appointment
- Fixed: Approve/Cancel Button Indication
- Fixed: Booking Request Arguments Notice

= Sep 30, 2024 – Version 2.0.0 =
- Improved: Data Table structure
- Improved: Data Query Speed
- Added: Hook to add Metadata
- Added: Open Records with URL parameter
- Added: Columns Options for Appointment List
- Improved: Several UI components
- Fixed: Several Bugs

= Addons =
- Released: Bookster PayPal Payments addon v2.0.0
- Released: Bookster Stripe Payments addon v2.0.0
- Released: Themes addon v2.0.0
- Released: Multiple Locations addon v2.0.0
- Released: Tax addon v2.0.0
- Released: Custom Fields addon v2.0.0
- Released: Pricing addon v2.0.0
- Released: Extra Options addon v2.0.0

= Sep 21, 2024 – Version 1.3.3 =
- Fixed: Minor bugs

= Aug 21, 2024 – Version 1.3.2 =
- Fixed: Minor bugs

= Aug 17, 2024 - Version 1.3.1 =
- Fixed: Minor bugs

= Aug 14, 2024 - Version 1.3.0 =
- Feature: Support Free Price (allowing bookings without requiring payment)
- Feature: Intergrations Overview - more Addons incoming
- Feature: Email Notification - More Setting Options, More Events, Templates, Placeholders
- Feature: Customer Dashboard - New Design, look better and show more information
- Improve Performance: Appointment List, Calendar
- Improve UX Customize Page
- Supported: New Addons (Themes, Custom Fields)
- Fixed: Several Bugs

= Jun 11, 2024 - Version 1.2.0 =
- Added: Appointments List - Pending Counter, Preset Filter, Column Toggle
- Added: More Robust Booking Validation
- Added: Address WordPress Timezone Settings
- Added New Addons: Service Extras
- Improved: Manager Page Design, add more description
- Improved: Search Command Keyboard Function
- Improved: Various UI
- Fixed: Security issue reported by WordPress Plugin Review Team

= May 16, 2024 - Version 1.1.0 =
- New Feature: Booking Details Editing. Adjust Booking Amount.
- New Feature: Appointment Payment Status
- New Feature: Booking Button Block
- New Feature: Secure Checkout Flow
- New Feature: Currency Decimal and Better Formatting
- New Feature: Appointment, Calendar Filters Improving
- New Addons: Stripe Payment, Paypal Payment, Tax, Pricing
- Improved: Overview Chart
- Improved: Various UI
- Optimized: File Size, Performance
- Fixed: Bug with Setting Schedule

= Apr 15, 2024 - Version 1.0.2 =
- Added: Bookster booking button block in Gutenberg editor
- Added: Support for Stripe addon
- Added: Support for taxation addon
- Fixed: UI bugs

= Feb 1, 2024 - Version 1.0.1 =
- Fixed: Activate from WP CLI
- Fixed: Agent List Sorting
- Fixed: Edit Avatar Image
- Fixed: Service Category Selector
- Fixed: Nested Service Category Dialog
- Fixed: Agent Dayoff Settings
- Fixed: Scrollbar cross browser
- Improved: Keep Data after delete plugin
- Improved: Various UIs

= Jan 11, 2024 – Version 1.0 =
- Initial Release

## What's Next?

After installing Bookster:

1. Run the setup wizard
2. Add the booking calendar to a page
3. Create a test booking to see the customer experience
4. Customize email templates with your branding
5. Share your booking page link with customers
6. Start accepting appointments 24/7!

Your new booking system is ready to help you grow your business. Welcome to Bookster! 🚀