CodeCanyon Bookly Pro - WordPress Plugin
Bookly Pro is an add-on which requires the Bookly plugin for WordPress websites. With Bookly, your clients can make bookings for service right on your site. No need for time-consuming phone calls or face-to-face meetings.

Plugin Features
Automated online booking & scheduling for WordPress: fully customizable booking form with online payments, notifications, and Google Calendar sync.
- Fully-customizable booking form that can be used on any device;
- Filterable, sortable and searchable booking list that you can print or export to CSV;
- Unlimited number of Staff Members with individual working schedules, prices, and ability to manage their profiles and online booking calendar;
- Unlimited number of Services which you can group into categories and set unique colors for easier viewing in Bookly Calendar;
- Importable and exportable customer base with unlimited clients list which displays payments stats and internal notes about the client;
- Various templates for customizable Email and SMS notifications;
- 2-way synchronization between Bookly Calendar and Google Calendar which automatically reflects all updates in Bookly in your Google Calendar;
- Integration with PayPal Express Checkout (note that this method is deprecated as of January 1, 2017 and no longer serviced by PayPal for new customers), the list of completed and pending payments;
- Built-in analytics with booking statistics;
- WooCommerce compatibility;
- Multi-language support - 12 languages included;
- Six months of 24/7 online customer support.
Bookly Pro is the best booking plugin for WordPress websites. The process of booking appointments is fully customizable for your clients. It’s anywhere from 2 to 6 easy Steps. Here’s a walkthrough of the user experience in the standard 6-Step scheduling process.
Based on the preferred date & time, the booking system offers a list of available time slots. The customer can browse through the scheduling list and choose the time that suits them. You can customize the available dates that are displayed to clients. You can also change the appearance, like having each day in a separate column. See how here.
With the Cart add-on, your clients can book multiple appointments in one booking session. This feature adds an option to ‘book more’ right after Step 2. The ‘book more’ button will bring them back to Step 1, while storing the current booking on their cart (How to set up the Cart Add-on).
Two add-ons are worth mentioning at this point. The Chain Appointments add-on allows the client to book different services in one visit. For example in a dentist’s office: a cleaning, whitening and check-up can be booked in sequence.
Multiply Appointments add-on allows your client to book identical services back-to-back. This is useful for group bookings where clients are assisted individually.
All booked appointments will be displayed together with their dates, times, staff members, and prices.
Your customers can also leave notes here on the booking system. Like their favourite spa cocktail or a request for parking space.
The customer can choose between multiple payment options, including offline payment (cash on arrival). There are 10+ online payment options that you can choose from and enable for your plugin.
If you have switched on the pending appointments feature, we recommend that you change the wording of this last step. An acknowledgement or heads-up to say that you’ll be in touch to confirm the booking would be better.
Specifications:
| Release date: | 12-04-2014 | |
| Last updated: | 01-10-2026 | |
| Type: | Paid | |
| License: | GPL | |
| Subject: | Calendars & Events | |
| Compatibility: | W5.x W6.x | |
| Includes: | Plugin | |
| Language packs: |
|
|
| Developer: | CodeCanyon | |
| Rating: | ||
Share with your friends!
How to Configure CodeCanyon Bookly Pro for Online Booking in WordPress
CodeCanyon Bookly Pro is not just for displaying a nice-looking calendar. It is built for structured booking, where services, staff members, schedules, notifications, payments, the admin calendar, and the form on the page all need to work as one system. In this guide, we will walk through how to approach the plugin setup after installation, which settings to check first, how to build a working booking flow for a service business, and how to confirm that the form is actually ready to accept customers.
This guide does not repeat the plugin's marketing copy. The focus here is on practical setup logic: what data to prepare before enabling bookings, how to connect services to staff members, why service duration and slot intervals affect available times, where to troubleshoot email, calendar, and occupied time slot issues, and when it makes more sense to choose a different WordPress solution.
Bookly Pro is especially sensitive to scheduling details. If global business hours, a staff member's schedule, service duration, buffer time, and booking restrictions are not configured consistently, visitors may see an empty list of slots or be able to choose the wrong option. That is why this guide is built around the chain "business data - Bookly rules - website form - result verification."
What Bookly Pro Is Best Used For and Where It Works Best
Bookly Pro belongs to the class of service booking plugins. It is used in situations where a customer needs to choose a service, provider, date, time, and leave contact details without going back and forth with a manager. That can include a salon, medical office, tutoring or educational consultation, workshop, studio, legal practice, coaching business, online consultations, or a small multi-specialist operation.
The plugin's strength is not just a calendar, but the way it connects entities together. Bookly includes services and categories, staff members, individual schedules, a booking calendar, a customer list, payment statuses, notifications, display forms, and a set of add-on extensions. If a business actually runs on appointments instead of simply collecting leads, this model is usually more useful than a basic contact form.
That said, Bookly Pro should not be treated as a universal replacement for a CRM, inventory system, or a full clinic management platform. It helps accept bookings, assign them to a staff member, send notifications, and display occupied workload. But more complex processes such as medical records, multi-stage contracts, internal document approval, or deep sales analytics will require additional tools.
Who the plugin is a good fit for
Bookly Pro is a strong fit for a website where services have a clear duration, providers can be added to the admin panel in advance, and the customer only needs to pick one of the available slots. It works especially well for businesses with several specialists on different schedules, where managing appointments manually quickly leads to mistakes and double bookings.
- Service businesses where customers book consultations, appointments, lessons, procedures, or visits.
- Websites with multiple staff members who have different workdays, breaks, services, and pricing.
- Projects that need email or SMS notifications for the customer, administrator, and staff member.
- Businesses that need external calendar sync and control over occupied time slots.
- WordPress sites where the booking form needs to appear on different landing pages while all bookings are managed in one calendar.
Who it may not be right for
The plugin may be excessive if the site only collects preliminary inquiries without a specific time. In that case, a form with a preferred date selector and manual follow-up is often simpler. Bookly also requires careful setup if the business has nonstandard logic: resources must be blocked across multiple staff members at once, the customer chooses the service duration, or availability depends on external systems that are not connected to Bookly.
The main limitation to keep in mind: Bookly Pro works best when the schedule can be formalized. If booking rules are negotiated individually every time, automation may not reduce workload and may instead create another control point for the administrator.
What to Check Before Installation and First Launch
Before installing the plugin, do not start with form design. First, map out the actual business rules. The plugin will not guess how long a service takes, who provides it, how much break time is needed between clients, whether same-day booking is allowed, or who should receive notifications. The more accurately the data is prepared, the fewer strange time slots will appear on the site.
Mini data map
Prepare a list of services with duration, price, category, and assigned providers. For each staff member, define workdays, breaks, days off, contact email, time zone if needed, and the set of services they actually provide. If you offer online meetings, decide in advance which service you will use: Zoom, Google Meet, Jitsi, or another supported option.
Review the payment logic separately. Bookly Pro supports local payment, WooCommerce, and standalone payment add-on solutions. If the site already runs on WooCommerce, it is often more practical to route payments through the existing cart and familiar gateways. If payment is not required, do not enable the payment step just to make the form feel complete. An extra step reduces completion rates.
Technical site preparation
For the form to work properly, the site must send emails reliably, have a working permanent URL for the booking page, and avoid breaking the plugin's JavaScript through aggressive optimization. If caching, script bundling, deferred JavaScript loading, or strict security settings are enabled, the page with the Bookly form should be tested separately.
- Make sure WordPress sends system emails through a reliable SMTP plugin or email service.
- Confirm that the theme does not hide form fields or override buttons with overly aggressive styling.
- If you are using a page builder, place the form on a simple test page first, then move it into a more complex layout.
- For Google Calendar sync, prepare HTTPS, access to Google Cloud Console, and a clear plan for which staff members will connect their calendars.
- If bookings come from mobile traffic, make sure to test the form in responsive mode, not just on a wide desktop screen.
Practical rule: the first Bookly test is best done on a private page with one service and one staff member. Once that simple flow produces a correct booking, you can add categories, additional forms, payments, and integrations.
Installation, Activation, and a Safe Initial Check
Bookly Pro works as a paid extension for the Bookly system. In the standard setup flow, the base Bookly plugin from WordPress is installed first, then the Pro add-on is activated. After activation, the WordPress admin panel shows Bookly sections for services, staff members, calendar, customers, notifications, and settings. This guide does not cover purchase or licensing details. Its focus is configuring a product you already have.
Install the plugin the standard WordPress way: through Plugins, by uploading a ZIP file, or through the admin panel if the file has already been obtained legally. After activation, do not publish the form on the main page right away. First, go through the basic path: company info, business hours, currency, new booking status, one staff member, one category, one service, one test booking.
Initial setup after activation
Start with Bookly - Settings. In the company block, enter the name, address, and logo if they are used in emails. In the general settings, check the time slot length. This is not the same as the service duration. The slot length defines the time grid used to offer options to visitors. A one-hour service can still be offered every 15 minutes if the slot interval is set to 15 minutes.
Then review the business hours. They act as the base schedule from which staff schedules can branch out. If the global schedule is too broad and the staff setup is sloppy, visitors may see unexpected time ranges. If the global schedule is too narrow, individual staff schedules will not fix the issue for services that should be available outside that range.
Testing without risk to visitors
Create a draft page, insert the Bookly form, and open it in incognito mode. Select a service, staff member, date, and time, fill in the test customer's details, and complete the booking. Then check three places: the Bookly calendar, the appointments list, and the test customer's inbox. If the email does not arrive, troubleshoot email delivery first, not the form. If the slot remains available, check the appointment status and the calendar sync rules.
Best Settings for a Clean First Launch Without Unnecessary Complexity
After installing Bookly Pro, it is easy to get lost in dozens of menu items and start enabling everything at once. For the first launch, it is better to focus on a small set of settings that actually affect booking reliability: the new booking status, slot interval, business hours, resource loading method, notifications, currency, and access permissions. Everything else can be added gradually once the base flow already works.
The "minimum first" approach does not mean a weak configuration. It means separating required business rules from nice extras. Customers do not care how many add-ons are installed in the admin panel if they cannot choose a time or do not receive confirmation. For administrators, it is also more important to see bookings reliably in the calendar than to have ten rare scenarios that have not been tested yet.
New booking status and manual confirmation
The first question is what happens after the form is submitted. If the service requires review by an administrator, use a status that clearly communicates that it is pending. If the booking should reserve the slot immediately, use a confirmed workflow and configure the email so the customer understands that the time has been secured. Do not allow a situation where the form says "booking confirmed" while a manager still decides manually whether to accept it.
For businesses where staff time is limited, it is usually better for even a pending booking to block the slot until the administrator makes a decision. Otherwise, two customers may choose the same time, and the manager will have to explain the reschedule. If that behavior depends on specific statuses and settings in your version, verify it with test bookings instead of assuming it.
Slot interval and service length
The slot interval should reflect how you actually schedule the day. If consultations only begin on the hour, a 15-minute interval creates too many options and may look flexible while being inconvenient for the team. If services are short and handled in a flow, an interval that is too large will leave empty gaps in the schedule. A good setting does not maximize the number of options. It makes the schedule manageable.
For the first launch, use one clear interval such as 15, 30, or 60 minutes, then review real bookings. If customers frequently choose awkward times, do not blame the form. The time grid may simply be too granular or mismatched to the actual workflow. Services with special durations can be fine-tuned separately if the documentation and interface in your configuration support that.
JavaScript and CSS loading
The Bookly resource loading setting affects both site speed and form stability. Loading assets only on pages with the form usually makes sense for performance, but it can conflict with themes and page builders. For the initial launch, use a practical test: enable the safer mode, verify the form, then optimize. If switching to page-specific loading causes form steps to disappear, revert to the previous mode and investigate the conflict without rushing.
You cannot evaluate compatibility from the homepage alone. Test the actual page with Bookly, the service page, the mobile version, the form inside the page builder, and the return flow after payment if you use one. An optimization that works perfectly on a static page can still break a dynamic calendar.
Access permissions and admin security
If staff members need to work with the calendar, do not give everyone the WordPress administrator role. Bookly includes user permissions settings and a link between a staff member and a WP user. Start by confirming that a specific staff member can only see what they are supposed to see. In a small team, this may feel unnecessary, but as the business grows, access control mistakes quickly turn into a real problem: a staff member may see someone else's appointments, change global settings, or accidentally disrupt a coworker's schedule.
A proper access test looks like this: create a separate test user, link it to a staff member, sign in through another browser, and check which sections are available. Do not judge permissions through your own administrator account. Administrators always see more, so that kind of test proves nothing.
Multiple Forms, Separate Service Pages, and One Shared Calendar
One of the strongest practical use cases for Bookly Pro is placing different forms on different pages while storing all bookings in one shared calendar. For example, you might have a general booking page, a dedicated page for an initial consultation, a page for a specific specialist, and a landing page for an ad campaign. The visitor sees a more relevant form, while the administrator does not have to collect appointments manually from different places.
This approach only works well with discipline. If each page hides different fields and uses different default values, it becomes easy to forget what a specific form is actually selecting. As a result, a customer on a service page may end up booked with the wrong staff member or into the wrong appointment type. For each form, keep a short internal description: where it is placed, which fields are hidden, which service is selected by default, which staff member is assigned, and what message the customer sees after submission.
A page for a specific service
On a dedicated service page, you can preselect the category and service while leaving the date, time, and staff member in the form. This reduces the number of decisions the customer has to make. But if the service is provided by different staff members with different pricing or durations, decide in advance whether staff selection should remain visible. Hiding it works well when the business does not care who provides the service and a clear assignment rule is enabled. If customers intentionally choose a specialist, the staff field should stay visible.
A page for a specific staff member
On a specialist's page, you can preselect the staff member and let the customer choose the service. This works well for doctors, consultants, coaches, and instructors, where trust in the individual matters more than the general category. Make sure that the selected staff member is actually assigned to all services shown on that page. If a service appears in the form but the staff member does not provide it, the visitor will run into empty slots or a booking flow that makes no sense.
An advertising landing page
On an ad landing page, it is usually best to shorten the path without hiding critical information. If the ad points to a "free diagnostic session," the form should lead directly to that service, and the email should confirm that exact session. Do not use the same form for different ad promises without adjusting the copy and values. Otherwise, reporting gets mixed up and the administrator will not understand why the customer expected one format but received another.
After creating multiple forms, make sure to submit a test booking from each page. In Bookly Calendar, check the source indirectly through the service, staff member, status, customer email, and final page. If two forms lead to the same service but have different business meaning, add clear internal notes or use separate services so the team does not get confused.
Services, Categories, and Duration: The Foundation of Correct Time Slots
In Bookly, a service is what the customer books. Each service should belong to a category and have at least one assigned provider. Categories help not only in the admin panel but also in the form: visitors understand the structure faster when consultations, procedures, lessons, or diagnostics are split into clear groups.
It is not a good idea to create one generic service called "Booking." That structure looks simple at first, but it quickly breaks the schedule: different services have different durations, prices, preparation requirements, staff members, and restrictions. It is better to create several specific services and assign the right staff members to each one. Then Bookly can build available slots based on real rules.
Duration, slot interval, and buffer time
Service duration shows how long the actual appointment takes. The time slot interval determines how often the customer sees available start times. Buffer time before or after a booking reserves extra room for preparation, cleanup, travel, document completion, or resetting the workspace. These three settings are often confused even though they solve different problems.
For example, a consultation lasts 60 minutes, but customers can start every 30 minutes. In that case, the slot interval can be 30 minutes. If the specialist needs 15 minutes after the consultation to write notes, add a post-service buffer. As a result, the next customer will not be able to book immediately after the appointment ends. That is more reliable than keeping manual breaks in your head and rescheduling later.
Provider assignment
A service will only appear in the form when it is public and assigned to at least one staff member. If visitors do not see a service in the list, check the category, visibility, assigned providers, the staff member's schedule, and the booking period restrictions. Bookly includes an auto-assignment setting for cases where the customer selects "ANY" instead of a specific specialist. That can distribute bookings based on a defined order, staff availability, or pricing.
ANY works well for a salon or studio where the customer does not care who performs the service. But for consultations, training, or medical appointments, it is usually better to show specific specialists with a description and photo. That lowers the risk of a customer choosing the wrong provider and canceling after confirmation.
When to make a service private
A private service should not be shown to customers in the form, but it can still be used by the administrator for internal booking. This is useful for blocked time, follow-up visits, private consultations, or services that are only available after a personal agreement. Do not delete an old service if it already has booking history attached to it. It is usually better to switch it to private mode or archive related items where that logic is available.
Staff Members, Permissions, and Individual Schedules
A staff member in Bookly is not just a name in a dropdown list. It is a separate calendar, a set of services, a working schedule, contact details, appointment color coding, and, if needed, a connection to a WordPress user and an external calendar. If staff profiles are configured superficially, the administrator may still see bookings, but it will be much harder to understand workload and identify the source of conflicts.
Start with the staff profile. Enter the public name, email for notifications, phone number, short description, and photo if it should appear in the form or emails. If the staff member should view their own appointments in WordPress, link them to a WP user and verify permissions. The official Bookly documentation explains that the administrator gets access to all calendars, while a user with another role usually only sees their own calendar and settings if that user is linked to a staff profile.
A staff schedule matters more than the global schedule
Global business hours define the base, but real availability often lives at the staff level. One specialist may work from 9:00 AM to 3:00 PM, another may handle evening consultations, and a third may have a midday break. In the staff profile, configure workdays, breaks, and days off. If the schedule changes frequently, review add-on capabilities such as special days or service schedule, but do not assume those scenarios are available in Pro unless you have confirmed that the needed extension is installed.
For a team with several specialists, assign each one a color. This is not a cosmetic detail. Color coding in the calendar helps distinguish bookings by staff member or service at a glance. If an administrator moves appointments every day, filters the calendar, and checks workload, visual clarity saves more time than it may seem during the initial setup.
Staff member, service, and external calendar
Google Calendar does not connect simply "to the site." It connects to a specific synchronization logic. The Bookly documentation describes one-way sync, two-way front-end only sync, and full two-way sync through a separate Advanced Google Calendar add-on. For a basic setup, the key is to understand the principle: Bookly can send bookings to an external calendar, and in some modes it can also take busy Google Calendar events into account when showing available slots.
Do not enable synchronization for all staff members at once. First connect one staff member, create a test booking, verify that the event appears in the external calendar, and confirm that a busy event correctly blocks a slot if the selected sync mode is supposed to do that. If you run into a 403 error or a Redirect URI issue, check the Google Cloud settings and app publishing status instead of changing the service schedule.
The Booking Form on the Page: Shortcodes, Blocks, and Hidden Fields
Bookly can be displayed on a page through Gutenberg blocks or shortcodes. The main shortcode, [bookly-form], adds the step-by-step booking form. The documentation also lists shortcodes for the customer's appointment list, public calendar, cancellation confirmation, checkout form, and Customer Cabinet, but some of them depend on Pro or separate add-on extensions.
The form type affects how the customer begins the flow. The classic step-by-step form moves from service and staff member to time selection. Search form starts with the date. Services form displays services as a catalog. Staff form begins with the provider. Tags form helps organize a nested service structure. You do not need to enable every option at once. Choose the one that matches how your customers actually book.
Which fields can be hidden
In the Gutenberg block and form publishing settings, you can hide fields such as category, service, staff member, date, weekdays, or time range. But every hidden field requires a default value, because the booking still has to be tied to a service, staff member, and time. If you are creating a dedicated service page, hiding the service field makes sense. If it is a general booking page, hiding the service turns the form into guesswork.
A strong approach is to create different pages for different scenarios. On an "Initial Consultation" page, you can preselect the category and service. On a specific specialist page, you can preselect the staff member. All bookings will still go into the same Bookly calendar and list as long as the forms are on the same site and use the same configuration.
Theme and cache compatibility
In the general Bookly settings, you can choose how JavaScript and CSS are included: on all pages or only on pages where the form appears. The "Pages with Bookly form" option is usually better for performance because it does not load Bookly assets everywhere. But the official documentation warns that it may be incompatible with some themes and page builders. If the form stops opening the next step or the calendar will not select a date, temporarily switch loading back to all pages and test for a conflict.
If you want to make small styling adjustments to button appearance, do it through Appearance - Customize - Additional CSS or through a child theme. Do not edit plugin files. Below is a safe example for a page where you already added your own container class booking-page. Selectors may differ in your theme, so verify the result in the browser inspector.
.booking-page .bookly-form .bookly-next-step,
.booking-page .bookly-form .bookly-submit {
border-radius: 6px;
font-weight: 600;
}
.booking-page .bookly-form input,
.booking-page .bookly-form select {
min-height: 42px;
}
The check is simple: open the page in incognito mode, complete the form through the final step, and make sure the buttons are visible, fields are not cut off, the mobile version does not break the calendar, and the CSS did not affect other forms on the site. Rollback is simple too: remove the snippet from Additional CSS.
Notifications, Statuses, and Emails: How Not to Lose the Customer After Booking
A booking form without notifications quickly becomes a source of mistrust. The customer expects confirmation, the staff member needs to see the new appointment, and the administrator wants to know which bookings need review. Bookly supports email and SMS notifications, templates for different events and recipients, and placeholder codes that pull in data about the service, staff member, customer, and booking.
Start with basic email notifications: new booking to the customer, new booking to the staff member or administrator, cancellation, reschedule, and reminder. Do not build dozens of templates on day one. First make sure one email is sent, includes the date, time, service, staff member name, company contact details, and a clear next step for the customer.
New booking status
The default status is set in the appointment settings. If a new booking is immediately marked confirmed, the customer expects the time to be fully reserved. If the business requires manual approval, it is better to use a pending status and say in the email that the request has been received and will be confirmed. The key point is that the status, the email, and the actual workflow need to match. Otherwise, the customer thinks the booking is final while the administrator treats it as a draft.
Delivery testing
If emails are not arriving, do not start by reinstalling Bookly. Check SMTP, the sender address, the spam folder, the email plugin log, and a WordPress test email. Bookly includes a setting for the email sender name and email format. Use a recognizable sender name, such as the company name, so the customer does not delete the message as unknown.
SMS and voice notifications can be useful for services with a high no-show risk, but they depend on an external service and available balance. Set up email as the base channel first, then add SMS where it makes economic sense.
Payments, WooCommerce, and the Final Booking Step
Bookly Pro supports several payment methods, including local payment, WooCommerce integration, and payment add-on solutions. The Bookly documentation notes that WooCommerce is included in Bookly Pro, while some gateways are connected through separate add-ons. In practice, that means not every payment method is available immediately in Pro, so before launching paid bookings, you should verify your specific gateway against the documentation.
If the site already uses WooCommerce for payments, orders, emails, and taxes, integrating through WooCommerce may be more convenient than running a separate payment flow. The booking goes through Bookly, while the payment uses the familiar store infrastructure. But this adds another validation point: the order status needs to affect the booking status consistently, and the WooCommerce email should not contradict the Bookly email.
When to keep local payment
Local payment works well if the customer pays on site, the service is free, the administrator manually confirms the booking, or online payment is not needed yet. In that case, do not complicate the customer journey. It is better to have a short form and a clear email than to add a payment step with no real business need.
When to enable online payment
Online payment is useful for consultations, classes, procedures with a high no-show risk, and services where staff time should be protected by prepayment. Before publishing, test the full payment scenario: the booking is created, the payment status appears in Bookly, the customer email arrives, the slot is no longer available for another booking, and if a cancellation happens, the administrator understands how to handle the refund.
Do not mix promises in emails: if payment has not gone through yet or the booking is still pending confirmation, the final screen and email should not sound like the appointment is fully confirmed.
Practical Scenario: Booking a Consultation With One Staff Member and Verifying the Result
Let us look at a realistic example: a consultant's website or a small studio wants to accept bookings for an initial consultation. It needs one 60-minute service, business days from Monday through Friday, a 15-minute buffer after the meeting, an email to the customer, and a form on a separate page. We are not enabling payment yet so we can first test the schedule and notifications.
Goal
The visitor selects the service "Initial Consultation," sees available time slots, enters their name, phone number, and email, receives confirmation, and the administrator sees the booking in the Bookly calendar. After the test, it should be clear where the booking is stored, which status is assigned to it, and whether the selected slot disappears from the form.
Preparation
- Create a service category, for example, "Consultations."
- Create the service "Initial Consultation" with a duration of 60 minutes and public visibility.
- Assign one staff member to the service and verify that the staff member is public.
- In the staff profile, define workdays, breaks, and the email address for notifications.
- In the service settings, add padding time after the appointment if the specialist needs a break.
- Enable the basic email notification for the customer and the staff member.
Setup steps
Open Bookly - Services and create the category. Then add the service, set the duration, price, or zero cost if payment is not needed, and assign providers. If the customer should not choose the provider in the form, configure a default value or the "ANY" option, but for the first test it is better to leave one specific staff member selected so the calendar is easier to track.
Go to Bookly - Staff Members. In the staff profile, enter the name, email, and schedule. Make sure the service is checked in the list of services available to that staff member. If the staff member does not work every day, do not leave the global schedule unchanged. Availability should reflect the real working routine.
Create a page called "Consultation Booking" and insert the Bookly booking form through a block or the [bookly-form] shortcode. If the page is dedicated to only one service, you can hide unnecessary fields and set default values, but start with a test where the fields remain visible. That makes it easier to understand what the system is selecting and why.
Result verification
Open the page in incognito mode, choose the nearest available date, fill in the customer details, and complete the booking. Then verify the following:
- Whether the booking appears in Bookly Calendar at the correct time.
- Whether the staff member, service, customer, and booking status are shown correctly.
- Whether the customer email arrives and includes the date, time, service, and clear wording.
- Whether the selected slot disappears from the form or becomes unavailable for repeat booking.
- Whether the booking shifts because of a time zone or time format issue.
If everything works, create a second test booking next to the first one. That will let you verify the buffer time. If the second slot is offered too close to the first, go back to the service and schedule settings. If no second slot is offered at all, check the slot interval and the staff member's business hours.
Verifying the Result Before Publishing the Form
Before placing the form on the main page, test it as a visitor, an administrator, and a staff member. These are three different perspectives. The visitor needs to find the service quickly and complete the booking. The administrator needs to see the booking in the calendar and the list. The staff member needs to receive a clear notification and avoid conflicts with their personal schedule.
Visitor checklist
- The form opens without errors on both phone and desktop.
- Service names are clear and do not rely on internal abbreviations.
- The price, if shown, matches expectations and does not conflict with the page content.
- Available dates look logical, without unexpectedly empty weeks.
- After submission, the customer understands whether the booking is confirmed or pending processing.
Administrator checklist
- The booking appears in Bookly Calendar and in the Appointments list.
- The staff member, service, customer, and status are shown correctly.
- If payment is enabled, the payment status does not contradict the booking status.
- Export, filters, and color coding help locate the right booking quickly.
- Logs are available for troubleshooting if the booking behaves unexpectedly.
Staff member checklist
- The staff member receives the notification at the correct email address or phone number.
- The notification includes the service, date, time, customer name, and contact information.
- If Google Calendar is connected, the event appears in the correct calendar.
- If the staff member should not see every company booking, their WordPress access is restricted to their personal calendar.
After testing, delete the test bookings or clearly label them as test entries so they do not interfere with real reporting. If customer notifications are already enabled, do not use real third-party email addresses for testing. It is better to create a separate test inbox.
Common Bookly Pro Issues and Calm, Methodical Troubleshooting
Most Bookly problems look like "the plugin is not working," but in practice they usually break down into a few typical symptoms: the form does not show a service, no slots are available, emails are not arriving, Google Calendar is not syncing, the selected time is wrong, or payment statuses conflict. The right approach is to move from the symptom to the setting, not to reinstall the plugin blindly.
The service does not appear in the form
Symptom: the administrator created a service, but the visitor does not see it in the list. Possible reasons include a private service, no category, no assigned staff member, a private staff member, a form filtered to another category, or a hidden field with the wrong default value.
Check the service profile, category, providers, and the page where the form is embedded. If you hid the service or staff field, temporarily show it again. That will reveal which options are actually available. The rollback should target the last hidden field or filter, not the entire configuration.
No available time slots
Symptom: a date is available, but no time is offered, or the calendar appears empty. The cause is usually found where business hours, the staff schedule, service duration, padding time, minimum lead time, booking period, and busy events from an external calendar intersect.
Create a short test service without a buffer and assign it to the same staff member. If slots appear, the issue is in the duration, buffer, or restrictions of the specific service. If they still do not appear, check the staff schedule and the global business hours. If Google Calendar sync is enabled, temporarily disable it for the test staff member and see whether the external calendar is blocking the entire day.
Emails are not reaching the customer or staff member
Symptom: the booking is created, but notifications are not delivered. Possible causes include a disabled template, the wrong recipient, WordPress not sending mail, messages going to spam, SMTP not being configured, or the booking status not triggering the required notification.
Check the email template in Bookly, then run a WordPress test email through your SMTP plugin. If WordPress itself cannot send email, Bookly will not be able to deliver notifications reliably either. For the staff member, also verify the email address in the staff profile and the recipients set in the specific template.
Google Calendar does not sync or returns an error
Symptom: the booking does not appear in the external calendar, busy events do not block time, or connecting a staff member produces an access error. The cause may be in the OAuth credentials, Redirect URI, Google app status, HTTPS, sync mode, or refresh token limits.
Start by matching the settings against the official Bookly instructions: Client ID, Client Secret, and Redirect URI must match what is configured in Google Cloud Console. If sync stopped working after a plugin update, check whether the Redirect URI changed. For full two-way sync, make sure the required add-on is installed and the site runs over HTTPS.
The booking is created at the wrong time
Symptom: the customer selects one time, but the staff member sees another, or the email shows an unexpected hour. Possible reasons include different time zones in WordPress, the staff profile, the customer's device, or the external calendar; settings that display time in the customer's time zone; or an issue in the email template.
Check the WordPress time zone, the staff member's time zone in Bookly, and how the form behaves on the customer's device. Create a test booking for the nearest available time and compare three places: the form, the Bookly calendar, and the email. If the mismatch only appears in the external calendar, troubleshoot synchronization, not the service.
The form breaks after performance optimization
Symptom: the next step does not open, the calendar does not respond, or the button does not submit the form. Common causes include deferred JavaScript, file bundling, excluded Bookly assets, or a page builder conflict.
Disable optimization for the booking page or exclude Bookly assets from bundling and delay rules. In the setting "Method to include Bookly JavaScript and CSS files on the page," temporarily choose loading on all pages. If the form starts working again, reintroduce optimization gradually and identify the exact rule that breaks the flow.
Useful Modes and Limitations You Should Understand Early
Bookly Pro is often purchased because of its broad feature set, but some advanced scenarios live in the add-on ecosystem. That is a normal model for a large plugin, but it requires attention: recurring appointments, waiting list, group booking, service extras, Customer Cabinet, advanced calendar sync, locations, deposits, and many integrations may require separate extensions.
Before implementing a complex setup, make a list of what absolutely needs to be part of the first launch and what can be added later. If you start at the same time with group bookings, prepayments, customer accounts, multiple locations, and two-way sync, troubleshooting becomes much harder. It is better to launch a stable base flow and then expand it one direction at a time.
Admin calendar and appointments list
Bookly Calendar lets you review workload in different views: by day, week, month, timeline, or list, depending on the settings available in your setup. For the administrator, this is a working hub, not just a report. Train the team to edit bookings through the calendar or the Appointments list so customer history, status, and payment information stay aligned with reality.
Customer access to appointments
With the appropriate shortcodes and add-on features, you can allow customers to view their own appointments and cancel them. This is useful for repeat services and reduces administrative workload. But that setup requires careful handling of WordPress users, emails with login details, and a clear cancellation policy. If the business does not need a customer area, do not enable it just because it exists.
Multilingual support and appearance
Bookly supports interface translation and mentions WPML integration for multilingual websites. If the site runs in multiple languages, test not only the form but also the emails, statuses, cancellation page, and final screen. Problems often show up not in time selection itself, but in a notification that still contains an untranslated string or the wrong link.
Bookly Settings Video
In the official Bookly help center, a video tutorial channel is linked from the settings sections. Below is a useful video on the main Bookly settings. It addresses the intent behind "how to use Bookly Pro after installation" and helps connect interface items with the sections covered above. Use the video as a visual reference, but verify any exact or questionable parameters against the current documentation, because both the interface and the add-on lineup can change.
FAQ About CodeCanyon Bookly Pro
Can I place the Bookly form on multiple pages of the same site?
Yes. The Bookly documentation states that the form can be placed on different pages of the same WordPress site, and all bookings will still be collected in one calendar and one list. In practice, that makes it possible to create separate pages for services or staff members while keeping administration centralized.
Why do no slots appear after I configure a service?
Most often, there is no overlap between business hours, the staff member's schedule, the service duration, the buffer, and the booking restrictions. Also check whether the staff member is assigned to the service and whether external sync is blocking the entire day with busy events.
Is WooCommerce required for Bookly Pro to work?
No. Basic booking does not require WooCommerce. WooCommerce integration is useful if you want to process payments through the store infrastructure. If payment happens on site or the booking is free, you can use a local flow without a cart.
Can I connect Google Calendar for each staff member?
Yes. Bookly allows synchronization to be enabled at the staff level. But the sync modes are different: one-way, two-way front-end only, and full two-way sync with the Advanced Google Calendar add-on. For two-way sync, carefully verify HTTPS, Redirect URI, and Google Cloud settings.
Why are Bookly emails not being delivered?
The issue may not be in Bookly at all, but in WordPress mail delivery. Check whether the notification template is active, verify recipients, the staff email address, the booking status, and SMTP delivery. If a WordPress test email does not send, configure the mail infrastructure first.
Should I enable all add-on extensions right away?
No. Start with the minimum working flow: services, staff, schedule, form, and notifications. Add add-ons one at a time, and each time verify exactly what changes in the form, calendar, emails, and payments. That makes it much easier to identify the cause of an error.
Is Bookly Pro suitable for group classes?
Yes, but group scenarios usually depend on the relevant add-on and capacity settings. If you need groups, a waiting list, packages, or recurring appointments, verify the exact scenario against the documentation in advance and do not promise the feature to customers before testing it.
When CodeCanyon Bookly Pro Is the Right Choice
CodeCanyon Bookly Pro is worth using if your WordPress site needs to do more than collect inquiries. It should manage real appointments: show available time slots, account for staff members, send notifications, maintain a calendar, and, when needed, connect payments and synchronization. The plugin is especially useful when the schedule can be described by clear rules and the team is ready to keep services and schedules up to date.
Before launch, do not try to configure everything in a single pass. Build the minimum working setup, run several test bookings, check emails, the calendar, the mobile form, and any cache conflicts. Then add more advanced features: WooCommerce, Google Calendar, group bookings, customer accounts, extra fields, or other add-ons.
If, after testing, your workflow matches the plugin's logic, you can download the latest version of CodeCanyon Bookly Pro and test it on your site or staging copy. The key is to evaluate not the number of features listed in the description, but how cleanly the plugin solves your exact booking workflow.


