Help Center
Useful Resources

JetBooking vs. JetAppointment:  Side-by-Side Breakdown

ivanova
Helena Ivanova
|
Technical content writer
Show all articles

These days, booking anything, from a haircut to a weekend cabin, is easier than ever. No need to make phone calls or deal with long back-and-forths. Just a few clicks, and you’re done. Whether you’re running a business or building a site for one, offering that kind of smooth, no-hassle experience has become the standard.

Crocoblock offers two powerful solutions for handling online bookings on WordPress: JetBooking and JetAppointment. While they may sound similar, each is built for a different purpose.

In this article, we’ll walk you through what makes them different, where each one shines, and how to choose the right one for your specific needs.

JetBooking vs. JetAppointment: What’s the Difference?

At first glance, it might not be obvious why there are two separate plugins for booking-related functionality. After all, appointments and bookings sound pretty similar, but they serve different purposes.

Here’s the key distinction:

  • JetBooking is designed for services that are booked per day – think rental properties, equipment, or hotel rooms.
  • JetAppointment is built for hourly-based services like haircuts, consultations, or fitness sessions.

Once you understand this core difference, everything else starts to make sense, and I will add more details below. 

JetBookingJetAppointment
Booking unitDay / NightTime slot (minutes/hours)
Supports providers/staff to choose fromNoYes
Typical min. duration1 day1 hour
Webhook and automated emails supportYesYes
WooCommerce Checkout supportYesYes
Best forRentals, propertiesServices, appointments

Which Plugin Is Right for You?

JetAppointment – for time-based services

🕐 JetAppointment is built for service-based businesses where clients need to book specific time slots. Think hair salons, medical clinics, personal trainers, or consultants. In these scenarios, precision is everything — the service is typically short, scheduled by the hour or minute, and often delivered by a specific person.

Key characteristics:

  • Fixed session duration based on time slots (e.g., 30-minute or 1-hour slots) for a particular service, and the customer can’t choose how long it lasts – they can book a few slots, if needed, to extend the session. Both parties should strictly respect the starting and ending timings.
  • Focused on scheduling, not service variety – the emphasis is on when and with whom, not offering lots of different service types.
  • Real-time availability – in simple terms, slots update automatically, without waiting for a manual confirmation to avoid double-booking.
  • In most cases, customers can choose a staff member, service, or location.
  • In most cases, it’s for an individual, not a group service – one person per one appointment. 

If you’re running a service where appointments are tightly tied to time and staff schedules, this is the plugin you need. For example:

  • hair, nail, beauty salons, and barbershops;
  • clinics;
  • massage therapists and spa centers;
  • personal trainers or fitness coaches;
  • psychologists, or life coaches;
  • legal or financial consultants;
  • driving and art schools;
  • tutors;
  • tattoo studios;
  • photography studios.

To see how the plugin works, check these dynamic templates powered by JetAppointment:

JetBooking – for day-based rentals

🏠 JetBooking is ideal for daily-based rentals or longer-term bookings – things like apartment rentals, equipment hire, tours, or car bookings. In these cases, timing is more flexible, and the emphasis is on availability over a span of days, not hours.

Key characteristics:

  • Multi-day bookings or range selections, when users can choose a start and end date, are perfect for rentals or stays.
  • Often includes optional extras or paid add-ons (e.g., airport pickup) offered during booking for a fixed price.
  • Not tied to specific staff or personal schedules, as the focus is on item availability, not who provides the service.
  • Can support group or multi-person bookings, which is ideal for scenarios like family trips or team rentals, where one booking covers several people.

When your users are booking things rather than people, and they need flexibility over several days, JetBooking is your go-to solution. For example:

  • vacation rentals (Airbnb-style) or hotel bookings;
  • car or bike rentals;
  • equipment or tool rentals;
  • campgrounds or cabins;
  • event space or venue rentals;
  • tour operators with multi-day packages;
  • boat or kayak rentals;
  • co-working space bookings (per day or longer);
  • party supply rentals (e.g., tents, furniture).

To see how the plugin works, check these dynamic templates powered by JetBooking:

Use case examples

Business typeUse casePlugin
Property rentalBook an apartment for 3 nightsJetBooking
Boat rentalRent a boat for 2 daysJetBooking
Boat day trip1-day guided tour, specific datesJetBooking
Car rentalRent a car for 5 daysJetBooking
Exclusive car rental Rent a car for 8 hoursJetAppointment
Photo studio rentalRent a studio by the hourJetAppointment
SPA/massage60-min session with therapistJetAppointment
Medical clinicConsultation with a doctorJetAppointment
RestaurantTable reservation at a specific timeJetAppointment
Yoga/fitnessWeekly recurring classJetAppointment
Tour with fixed datesDay tour, morning/afternoon slotsJetAppointment
Group tours (capacity)10-seat tour on specific datesJetAppointment
JetAppointment vs JetBooking wordpress plugin

When it’s not so clear which one to choose

In many cases, it’s obvious whether you need JetBooking or JetAppointment. 

But there are plenty of real-world situations where things are not quite so black and white. Some businesses offer both hourly and daily services, or the booking structure doesn’t fit particularly into one category. Let’s look at a few examples.

Bike or scooter rentals
Hourly rental for city use – JetAppointment.
Daily/weekly rental for travel or tours – JetBooking.

Car rentals
In most cases, JetBooking is the go-to solution for rentals like cars or apartments. But there are situations where JetAppointment might actually be more profitable. 
For example, if tourists in your area usually rent a car just to visit a nearby attraction that’s an hour or two away, it makes more sense to offer shorter rental slots – say, four hours. With JetAppointment, you can set up these fixed time blocks and rent out the same car multiple times a day. This way, instead of one 24-hour rental, you could fit in two or three shorter bookings, which will be more profitable for your total revenue.

Photography services
Studio sessions with fixed time slots – JetAppointment.
Full-day event shoots (e.g., for a film production studio) – JetBooking.

Coaching or training
One-on-one hourly individual lessons – JetAppointment.
Full-day corporate workshops or team-building – JetBooking.

Equipment, kayak, or boat rentals
A short session at a local lake would typically be booked by the hour, and JetAppointment is ideal for that. However, if you’re renting gear for a weekend camping trip, you’ll need JetBooking to handle multi-day availability and add-ons like tents or sleeping bags.

Coworking spaces
Meeting rooms booked by the hour work well with JetAppointment, especially if multiple rooms or team members are involved. 

But desk or office rentals for full days, weeks, or even months make more sense with JetBooking.

Can I use both?

If your business is about both scenarios, e.g., you rent out kayaks just for a few hours for a local river, but you can also rent them out for several-week-long trips? You can actually use both plugins on the same site – just keep the workflows separate. Create two different pages with different services, each supported by a separate plugin – JetBooking and JetAppointment. 

Read this article about a car reservation system that uses both plugins. 

JetBooking Brief Overview

JetBooking plugin

🔌 JetBooking works with Block Editor, Elementor, and Bricks. 

JetBooking is one of the top booking plugins in the WordPress ecosystem. It offers everything required to design an advanced WordPress booking system

Straight to the point: 

  • The Availability Calendar gives users a clear overview of open dates. You can sync it with iCal, Google Calendar, Make, or Zapier, and also set booking notifications and add tooltips for booked dates. 
  • Booking periods. You can offer one-day or weekly bookings, or restrict it to one type, depending on your service. Bookings can be calculated per night or day, with the option to include or exclude the checkout day.
  • Booking rates, which you can set per person, allow for applying different prices or discounts based on guest count. You can also use stay length rates to reduce the per-night price for longer bookings.
  • Advanced pricing. Enable dynamic price calculation based on selected dates and booking rules. Choose how prices are displayed: base price, minimum, or maximum:
    • add weekend pricing for specific days;
    • set seasonal pricing for holidays or peak times;
    • combine multiple pricing rules (e.g., weekend + seasonal).
  • Extra booking features:
    • optional services like breakfast, transfers, or equipment;
    • additional guests with form fields for their info.
  • Use the Units Manager to define how many identical bookings can be made for the same dates (e.g., multiple rooms of the same type).
  • WooCommerce integration (full integration where each booking unit is a Product) or just WooCommerce checkout is available. You can also implement booking functionality without WooCommerce, using CPTs for booking units and JetFormBuilder’s payment integrations. 
  • Flexible workflows for notifications, validation, and cancellation links. 
  • Integrations with calendars, mail, or other third-party services via webhook. 
  • Displaying booked units on the user’s dashboard (requires JetEngine). 

📺 Want more videos about JetBooking? Check this playlist

Booking (checkout) modes in JetBooking

JetBooking basically has 3 modes or variations in the way it works:

  1. Plain Mode – uses the JetFormBuilder’s checkout, with payments handled entirely by JetFormBuilder. WooCommerce is not required in this case.
  2. WooCommerce Basic Integration (checkout) – essentially the same as the Plain Mode, but WooCommerce manages the checkout process, connects to payment gateways, and stores orders.
  3. WooCommerce-Based Mode – bookable items are actually WooCommerce products of a special “Bookable” type, with additional fields and functionality provided by JetBooking. In this setup, WooCommerce handles everything, while JetFormBuilder is not involved at all.

For most cases, the second option – WooCommerce Basic Integration (checkout) – works best, as it combines flexibility in editing templates with a wide range of WooCommerce payment integrations.

JetAppointment Brief Overview

JetAppointment plugin

NOTE

The JetAppointment plugin requires JetEngine to work properly.

🔌 JetAppointment works with Block Editor, Elementor, and Bricks. 

JetAppointment features all the settings needed to organize a convenient appointment process as a well-elaborated appointment plugin. Let’s see what is under the hood:

  • Calendars. JetAppointment guarantees flexible scheduling and easily manageable calendars. First, you can set an Availability Calendar with some specific Labels, if needed, and provide time slots right there for each day. Combining JetAppointment and Google Calendar, you can easily synchronize the schedule, add the necessary events, and even connect it with WooCommerce. 
  • Multiple services and providers. If you offer multiple services, like “hair dyeing” and “haircut” in a hair salon, JetAppointment lets you add and manage all of them easily. It automatically sets up post relations between services and providers (colorist and hairstylist), so you don’t need to configure them manually. You just need to select the corresponding specialists or departments that provide each service. 
  • Individual service settings. The beauty of JetAppointment is how effortlessly you can set specific prices, times, and other parameters for each service you add. The same applies to individual timings for each specialist or department that provides services. 
  • WooCommerce integration – you can choose either to use JetFormBuilder’s payment methods with JetFormBuilder or connect WooCommerce payment methods and analytics dashboard to handle payments for the appointment bookings. 
  • Custom workflow scenarios – set up email confirmations, validation, and cancellation links. 
  • Time settings are fully flexible in JetAppointment. You can define working hours, set days off, add buffer time between appointments, and require a minimum notice before booking – everything you need to avoid last-minute chaos and keep your schedule under control.
  • Appointment capacity. A helpful feature for defining the number of available spots for each time slot.
  • Multi-booking. If the customer likes your center so much that they want to make several appointments and get different services from your providers, you can guarantee them this possibility. Let them choose different time slots and dates. 
  • Integrations with calendars and any third-party services are available via webhook.
  • Built-in Zoom integration to schedule calls based on appointments. 
  • Total freedom in building appointment forms – you can add different elements there and combine with the dynamic functionality of JetFormBuilder. After creating a form, style its every detail using Elementor or Bricks widgets. 
  • Intuitive dashboard for adding and editing appointments – convenient bird-view and easy management are important. Also, you can filter all the appointments you get by Service, Provider, Status, and search by date or meta fields.

📚 Read this guide to learn how to create a JetAppointment appointment system, step-by-step. 

To learn even more about JetAppointment, watch this video, but pay attention that here, the legacy JetEngine forms were used. Use JetFormBuilder instead; its core version is free. 

📺 Want more videos about JetAppointment? Check this playlist

Powerful Combos: JetPlugins Starter Packs

To have the best experience with both JetAppointment and JetBooking (especially to have the best dynamic experience, as I mentioned before), you’ll need some additional tools. In both cases, it’s JetEngine because it’s our dynamic core. And some other plugins are needed, but let’s reveal everything step by step.

JetBooking and JetAppointment + JetEngine

Actually, JetEngine makes any website and any other Crocoblock plugin better, more powerful, and flexible. 

This is what can be done with it on a booking or appointment website: 

  • creating custom post types for your booking instances, service, and providers post types;
  • custom fields to add details about each booking (like price, amenities, facilities, and extra services) and appointment;
  • custom taxonomies and terms to add tags and categories and organize the booking/rental/appointment options; 
  • data stores for users to create collections of their preferred destinations, properties, services, specialists, etc.;
  • JetEngine’s listing templates are a great way to display services or properties as a well-designed grid or list. Moreover, it has Dynamic Calendar, Map, and Tables options – exactly what you need for anything bookable. 

JetBooking and JetAppointment + JetSmartFilters

Smart filtering is essential for any booking website, as it helps users narrow down options quickly based on what matters most to them. 

JetSmartFilters integrates seamlessly with JetEngine’s dynamic templates to filter by any custom meta field.

It would probably be about availability, location, price, facilities, or specific dates, but don’t hesitate to create even more advanced, user-friendly filter sets – the JetSmartFilters plugin can do it. 

JetBooking + JetThemeCore

Using JetThemeCore, you can create and assign templates for single or archive pages and custom post types (e.g., services/properties), combine them with custom headers and footers, and assign advanced conditions. 

JetThemeCore is an advanced template builder that works with both Elementor and the Block Editor. 

Forms functionality by JetFormBuilder

The form functionality for both JetBooking and JetAppointment is implemented with the help of the JetFormBuilder plugin. Forms will be generated for you as one of the Wizard steps. 

booking form setup

But JetFormBuilder is a powerful form plugin, so you can add dynamically populated fields – for example, show the list of additional services based on existing posts, and the user can select what they need. 

Common Errors and How to Fix Them

I get “Booking dates already taken,” but there are no active bookings for those dates.
Most common causes: (1) canceled bookings still have a status that blocks dates — change status to “Failed” or delete them; (2) a renamed/deleted database column broke the availability check; (3) caching — clear site cache and try again.

I get “Appointment info is missing” when submitting the form.
Check your Insert Appointment action settings in JetFormBuilder. Required fields that must be mapped: Email, User name, Appointment Date, Service ID. If you have no providers, use a hidden field with the Service ID as manual input.

“Service info is missing in the form request” — how do I fix this?
This usually means the Service field is not properly mapped in the Insert Appointment action, or the Service ID doesn’t match any existing service in your Services CPT. If you have only one service and no providers, use a hidden field with the service ID set to manual input.

I enabled “Manage Capacity” in JetAppointment, but the Capacity field doesn’t appear in service posts.
Try saving the service settings again after enabling Manage Capacity. If it still doesn’t appear, deactivate other plugins temporarily to check for conflicts.

How do I count adults and children separately and deduct from the total capacity?
This requires a custom solution. JetAppointment’s built-in capacity control deducts 1 unit per booking by default. To count participants from custom form fields (adults + children), you’ll need a hook or filter — see the Knowledge Base for available hooks.

Checkout dates from Airbnb show incorrectly (shifted by 1 day).
This is a known iCal interpretation difference. Airbnb’s checkout date in iCal is exported as the next day at 00:00. Set your “Booking period” option to “Per night” instead of “Per day” to align the date counting.

FAQ

What is the difference between the JetBooking and JetAppointment plugins?

JetBooking is for daily-based rentals like apartments or equipment, while JetAppointment is for hourly services like haircuts or consultations.

Can users filter options by things like location or price?

Yes. With JetSmartFilters, you can let users filter listings by any custom field, e.g., location, facilities, stay length, you name it.

Is it hard to set all this up if I’m not a developer?

Not at all. Crocoblock tools are built for non-coders. As long as you’re comfortable working with WordPress and builders like Elementor, Bricks, and Block Editor, you’re good to go.

Can JetBooking work as a channel manager for Airbnb, Booking.com, and VRBO?

No. JetBooking supports iCal import/export for one-way or two-way calendar sync, but it is not a channel manager. It cannot sync prices or manage availability across multiple OTA platforms in real time.

I need to book a boat for a day trip — which plugin should I use?

JetBooking. Even if the trip lasts only a few hours, if the entire boat is booked for a full calendar day, JetBooking is the right choice. Use JetAppointment only if you offer multiple departure slots per day (e.g., 9 a.m. and 2 p.m. trips).

I’m building a restaurant table booking system. Should I use JetBooking or JetAppointment?

JetAppointment. Restaurants operate on time slots with specific working hours. JetAppointment handles this natively; JetBooking is designed for day/night rentals.

Can I use JetBooking for hourly studio rentals?

Yes, but JetAppointment is better suited. JetBooking works best with full days. For hourly rentals with specific working hours and time slots, JetAppointment provides a more natural setup.

I need to book tours on specific, non-recurring dates. Which plugin do I need?

JetAppointment. Create each tour date as a service with specific available slots. JetBooking works with date ranges, not specific fixed dates.

I need both daily rentals AND hourly appointments on the same site — is that possible?

Yes. You can use both plugins simultaneously on the same WordPress site. They operate independently.

Do I need WooCommerce to use JetAppointment?

No. WooCommerce is optional. If your services are free or you’re using a custom payment flow, you can use Plain mode. Note: without WooCommerce, new appointments will show a “Pending payment” status — this is expected behavior, not a bug.

Do I need JetFormBuilder to use JetBooking or JetAppointment?

Yes. JetFormBuilder is required to create the booking or appointment form. It is included in the Crocoblock subscription.

Do I need JetEngine to use JetBooking or JetAppointment?

JetEngine is not strictly required but is strongly recommended. You’ll need it to create custom post types (Services, Providers, Apartments) and to build listings and single templates.

Why does a new “Appointment product” appear in WooCommerce after I set up JetAppointment?

This is expected. JetAppointment automatically creates a hidden WooCommerce product to process payments. The price is pulled from this product — make sure it matches the service price you set in JetAppointment settings.

My appointment shows “Pending payment” even though the service is free and I’m not using WooCommerce. Is this a bug?

No. This is the default behavior when WooCommerce is not handling the payment flow. You can auto-complete appointments using a workflow or a code snippet, or manually change the status.

WooCommerce order status is “Processing,” but the booking is still “Pending” — why?

WooCommerce order statuses and JetBooking/JetAppointment statuses are separate systems. You need to configure the automatic status sync in JetBooking settings or use a workflow in JetFormBuilder to link them.

The Bottom Line

JetBooking and JetAppointment may look similar at first, but they’re built for different tasks:

  • If you’re offering daily or multi-day rentals, go with JetBooking.
  • If you’re providing time-specific services, JetAppointment is a better fit.

And if your business does both? You can use both plugins on the same site, but separate the pages and workflows. The key is knowing your service flow and choosing the tool that matches it best.

Was this article helpful?
YesNo