Documentation

Everything you need to know about WP Booking Pro. From quick start guides to advanced configurations.

Installation

From WordPress Dashboard

  1. Navigate to Plugins > Add New
  2. Search for "WP Booking Pro"
  3. Click Install Now and then Activate

Manual Installation

  1. Download the plugin ZIP file
  2. Go to Plugins > Add New > Upload Plugin
  3. Choose the ZIP file and click Install Now
  4. Activate the plugin

Requirements: WordPress 5.8+, PHP 7.4+, MySQL 5.7+

Your First Booking

  1. Set your working hours

    Go to Bookings > Settings > Time Slots to configure your available hours.

  2. Add the booking calendar to a page

    Use the shortcode [wpbp_booking_calendar] on any page.

  3. Test your first booking

    Visit the page and make a test booking to ensure everything works.

  4. Manage bookings

    View and manage all bookings from the Bookings dashboard.

Configuration

General Settings

  • Auto-approve bookings: Automatically approve new bookings without manual review
  • Booking duration: Default duration for each appointment
  • Timezone: Set your business timezone

Working Days & Hours

  • Working days: Select which days of the week you accept bookings
  • Time slots: Define available time slots for each day

Appearance

  • Primary color: Customize the calendar accent color
  • Button style: Choose rounded, square, or pill buttons
  • Calendar style: Default, minimal, or bold themes

Shortcode Usage

Basic Usage

[wpbp_booking_calendar]

With Service Name

[wpbp_booking_calendar service="Consultation"]

With Specific Calendar

[wpbp_booking_calendar calendar="tattoo-appointments"]

Shortcode Parameters

Parameter Description Default
calendar Calendar slug or ID (Business+) Default calendar
service Service name to pre-fill Empty

Multiple Calendars

Create separate calendars for different services, staff members, or locations. Each calendar has its own schedule, custom fields, and appearance settings.

Business Plan Feature: Multiple calendars are available on Business plan and above.

Creating a Calendar

  1. Go to Bookings > Settings > Calendars
  2. Click Add New Calendar
  3. Configure general settings (name, description, duration)
  4. Set up schedule, custom fields, and appearance
  5. Save the calendar

Calendar-Specific Settings

  • Schedule: Working days and time slots per calendar
  • Custom Fields: Unique form fields for each calendar
  • Vacation Days: Block dates per calendar
  • Appearance: Colors and button styles per calendar
  • Payments: Configure Stripe or PayPal per calendar

Using Multiple Calendars

Use the calendar shortcode attribute:

[wpbp_booking_calendar calendar="tattoo-appointments"]

You can use either the calendar slug or ID:

[wpbp_booking_calendar calendar="2"]

Custom Fields

Create custom fields to collect additional information from your customers during booking.

Available Field Types

  • Text: Single-line text input
  • Textarea: Multi-line text area
  • Number: Numeric input
  • Select: Dropdown selection
  • URL: Website/link input with validation
  • File: File upload field (Pro)

Field Options

  • Required: Make the field mandatory
  • Show in frontend: Display on the public booking form
  • Placeholder: Helpful hint text
  • Validation: Email, phone, URL, or custom patterns

Payment Setup

Collect deposits or full payments at the time of booking using Stripe or PayPal. Payments are configured per calendar.

Pro Plan Feature: Stripe/PayPal payments are available on Pro plan and above.

Stripe Setup

  1. Go to Bookings > Settings > Calendars
  2. Edit the calendar you want to enable payments for
  3. Go to the Payments tab
  4. Enable payments and select Stripe as the provider
  5. Enter your Stripe API keys (Publishable Key, Secret Key)
  6. Set your service price and currency
  7. Choose payment type: Full Payment or Deposit
  8. Click Test Connection to verify

PayPal Setup

  1. Select PayPal as your payment provider
  2. Enter your PayPal Client ID and Client Secret
  3. Toggle Sandbox mode for testing
  4. Configure webhook ID for payment notifications
  5. Click Test Connection to verify

Payment Options

  • Full Payment: Collect the entire service price upfront
  • Deposit: Collect a fixed amount or percentage
  • Currencies: USD, EUR, GBP, CAD, AUD, MXN, CRC, and more

Refunds (Business Plan)

Business plan users can process full or partial refunds directly from the bookings list. Each booking shows its payment status (Pending, Deposit Paid, Paid, Refunded).

Bank Transfer / Manual Payment

Accept payments via bank transfer or other manual payment methods. Customers upload payment receipts, and you verify them before confirming the booking.

How It Works

  1. Customer completes booking and sees your payment instructions
  2. Customer makes the transfer and uploads a receipt (image or PDF)
  3. Booking is created with "Pending Verification" status
  4. You review the receipt in the admin and verify or reject
  5. Customer receives email notification of the result

Setup

  1. Go to Bookings > Settings > Calendars
  2. Edit your calendar and go to the Payments tab
  3. Enable payments and select Bank Transfer
  4. Set your service price and currency
  5. Customize the payment method label (e.g., "SINPE Móvil", "Wire Transfer")
  6. Enter your payment instructions (bank account, phone number, etc.)

Receipt Uploads

  • Supported formats: JPEG, PNG, GIF, WebP, PDF
  • Max file size: 5MB
  • Drag-and-drop: Easy upload interface for customers
  • Privacy protection: Receipts are blurred by default in admin (click to reveal)

Verification Workflow

  1. Open the booking from the Bookings list
  2. Click on the blurred receipt to reveal it
  3. Click Verify Payment to confirm, or Reject if invalid
  4. Customer is automatically notified via email

All Plans: Bank transfer payments are available on all plans, including Free.

Google Calendar Sync

Automatically sync approved bookings to your Google Calendar. Events are created when bookings are approved and removed when cancelled.

Pro Plan Feature: Google Calendar sync is available on Pro plan and above.

One-Click Setup

  1. Go to Bookings > Settings > General
  2. Find the Google Calendar Sync section
  3. Click Connect with Google
  4. Sign in with your Google account
  5. Grant permission to access your calendar
  6. Select which calendar to sync bookings to

What Gets Synced

  • Event Title: Customer name and service
  • Event Time: Booking date and time with duration
  • Event Description: Customer email, phone, and custom field data

Sync Behavior

  • Events created when bookings are approved
  • Events removed when bookings are rejected or cancelled
  • Auto-approved bookings sync immediately

Flexible Scheduling

For service providers with varying schedules, Flexible Scheduling mode lets you set weekly limits instead of fixed working days.

Business Plan Feature: Flexible scheduling is available on Business plan and above.

Two Scheduling Modes

  • Fixed Schedule: Traditional mode - select specific working days (Mon, Tue, Wed, etc.)
  • Flexible Schedule: Set max days per week and max appointments per day

Flexible Schedule Settings

  • Max days per week: How many different days can have bookings (1-7)
  • Max appointments per day: Limit bookings per day (1-10)
  • Weekend auto-close: When Saturday is booked, Sunday closes automatically (and vice versa)

Example Use Case

A tattoo artist works 2 days per week but the specific days vary. With flexible scheduling:

  • Set max days per week to 2
  • Set max appointments per day to 1
  • Enable weekend auto-close
  • Customers can book any day, but once 2 days have bookings that week, other days become unavailable

Setup

  1. Go to Bookings > Settings > Calendars
  2. Edit your calendar and go to the Schedule tab
  3. Select Flexible Schedule mode
  4. Configure your weekly limits
  5. Save the calendar

Max Booking Range

Limit how far in advance customers can book appointments. Dates beyond the booking range are shown as unavailable with a lock icon.

Configuration

  1. Go to Bookings > Settings > Calendars
  2. Edit your calendar and go to the Schedule tab
  3. Set the Max Booking Range (default: 90 days)
  4. Optionally enable Show notice on calendar to display a disclaimer

Range Options

  • Minimum: 7 days
  • Maximum: 365 days
  • Default: 90 days

Visual Indicators

  • Lock icon: Dates beyond the range show a lock instead of availability
  • Notice text: Optional disclaimer at the bottom of the calendar
  • Tooltip: Hover message explaining why the date is unavailable

Notifications

Email Notifications

Automatic email notifications are sent for:

  • New booking confirmation (to customer)
  • New booking alert (to admin)
  • Booking approved notification
  • Booking rejected notification
  • Booking cancelled notification

WhatsApp Notifications (Business)

Receive instant booking alerts via WhatsApp. Choose between:

  • wa.me Links: Click-to-chat links (no setup required)
  • Twilio API: Automatic message delivery via Twilio WhatsApp Business API

With Twilio, messages are sent automatically to both admin and customer (optional) when bookings are created.

Tip: Use a plugin like WP Mail SMTP to ensure reliable email delivery.

Customer Loyalty Program

Reward repeat customers with a stamp-based loyalty program. After collecting a set number of stamps, customers earn a discount on their next booking.

Business Plan Feature: The loyalty program is available on Business plan and above.

How It Works

  1. Enable the loyalty program for your calendar
  2. Set how many stamps are needed for a reward (e.g., 10 stamps)
  3. Configure the discount (fixed amount or percentage)
  4. When customers complete appointments, grant them stamps
  5. After reaching the threshold, they receive a discount code via email

Setup

  1. Go to Bookings > Settings > Calendars
  2. Edit your calendar and go to the Loyalty tab
  3. Enable the loyalty program
  4. Set stamps needed for discount
  5. Choose discount type and amount

Granting Stamps

  • From booking detail: Click "Record Stamp" button on any completed booking
  • Each stamp has a unique code that can be verified if needed
  • QR codes: Each stamp generates a QR code for verification

Loyalty Dashboard

Access Bookings > Loyalty to:

  • View all loyalty customers and their stamp counts
  • Search customers by email
  • See generated discount codes and redemption status
  • Manually grant stamps

Customer Blocklist

Block problematic customers from making future bookings by their email address or phone number.

Blocking a Customer

There are two ways to block a customer:

  • From booking detail: Click "Reject & Block" to reject a booking and add the customer to the blocklist
  • From settings: Go to Bookings > Settings > Blocklist and add an email or phone manually

What Happens

  • Blocked customers see a generic error message when trying to book
  • The message doesn't reveal they're blocked (for security)
  • Block applies to both email and phone if both are provided

Managing the Blocklist

  1. Go to Bookings > Settings > Blocklist
  2. View all blocked emails and phone numbers
  3. See the reason and date for each block
  4. Remove blocks by clicking the remove button

Export Data

Export your booking data to CSV or Excel format for reporting, analysis, or backup purposes.

Pro Plan Feature: CSV export is available on Pro plan and above. Excel export requires Business plan.

How to Export

  1. Go to Bookings > All Bookings
  2. Optionally filter by status, date range, or search term
  3. Click the Export button
  4. Choose CSV or Excel format

Export Formats

  • CSV (Pro+): Comma-separated values, opens in any spreadsheet app
  • Excel (Business+): Native .xlsx format with professional formatting

Exported Data

  • Booking ID, date, and time
  • Customer name, email, and phone
  • Status (pending, approved, completed, etc.)
  • Payment information (if applicable)
  • Custom field values
  • Calendar name

Developer Hooks

WP Booking Pro emits custom JavaScript events that developers can use to extend plugin behavior, integrate with analytics, and build custom workflows.

Business Plan Feature: Developer hooks are available on Business plan and above.

Available Events

Event Trigger
wpbp:booking_created After successful booking
wpbp:booking_submitted Before API call (form submit)
wpbp:date_selected User clicks a date
wpbp:time_selected User clicks a time slot
wpbp:booking_error Booking fails
wpbp:month_changed Calendar navigation

JavaScript Example

// Listen for successful bookings
document.addEventListener('wpbp:booking_created', function(event) {
  const booking = event.detail;

  console.log('New booking:', booking.customer_name);
  console.log('Date:', booking.booking_date);
  console.log('Time:', booking.booking_time);

  // Send to Google Analytics
  if (typeof gtag !== 'undefined') {
    gtag('event', 'booking_completed', {
      'event_category': 'Bookings',
      'event_label': booking.service || 'General'
    });
  }
});

jQuery Example

jQuery(document).ready(function($) {
  $(document).on('wpbp:booking_created', function(event) {
    var booking = event.detail;

    // Show custom success message
    $('#my-custom-message').html(
      '<div class="success">Thanks ' + booking.customer_name + '!</div>'
    ).fadeIn();
  });
});

Event Data

The wpbp:booking_created event includes:

  • id - Booking ID
  • customer_name - Customer name
  • customer_email - Customer email
  • booking_date - Date (YYYY-MM-DD)
  • booking_time - Time (HH:MM)
  • status - Booking status
  • custom_fields - Custom field values

Full Documentation: See the complete Developer Hooks Guide for all events, data schemas, and integration examples.

Vacation Mode

Block specific dates when you're unavailable for bookings.

Creating Vacation Days

  1. Go to Bookings > Settings > Vacation Days
  2. Click Add Vacation
  3. Select start and end dates
  4. Choose display type (Reserved, Vacation, or Custom)
  5. Optionally add a custom message

Display Types

  • Reserved: Shows as "Reserved" on the calendar
  • Vacation: Shows as "Vacation" on the calendar
  • Custom: Display your own message

Analytics

Track your booking performance with built-in analytics.

Available Metrics

  • Total bookings: All-time booking count
  • Pending bookings: Awaiting approval
  • Monthly trends: Booking patterns over time
  • Popular time slots: Most requested times
  • Conversion rate: Booking completion rate

Pro Feature: Advanced analytics with revenue tracking, customer insights, and exportable reports.

Plan Comparison

Compare features across all WP Booking Pro plans to find the right fit for your needs.

Feature Free Pro Business Agency
Bookings per month 50 500 1,000 Unlimited
Custom fields 5 10 15 Unlimited
Calendars 1 1 3 Unlimited
Bank Transfer Payments
Stripe Payments 20/month Unlimited Unlimited
PayPal Payments
CSV Export
Excel Export
Google Calendar Sync
Flexible Scheduling
Twilio WhatsApp
Refund Management
Loyalty Program
Developer Hooks
Advanced Analytics

Troubleshooting

Calendar not showing

  • Verify the shortcode is correct: [wpbp_booking_calendar]
  • Check browser console for JavaScript errors
  • Ensure no theme/plugin conflicts

Emails not sending

  • Verify WordPress email is configured
  • Install WP Mail SMTP for reliable delivery
  • Check spam folders

Time slots not appearing

  • Configure time slots in Settings
  • Ensure working days are selected
  • Check if the date isn't marked as vacation

Need more help? Visit our FAQ or contact support.

Ready to get started?

Download WP Booking Pro and set up your booking system in minutes.