What is JetAppointment plugin?
JetAppointment is Crocoblock’s appointment booking plugin for Elementor and Gutenberg, designed specifically for hourly-based service businesses: spas, salons, medical practices, coaching services, tutoring, and any business where clients book appointments at specific times of day. Unlike JetBooking (which handles daily-based bookings like hotel rooms), JetAppointment manages time-slot-based availability with multiple service providers, services, and locations.
JetAppointment integrates with JetEngine to display service availability and booking calendars using Elementor widgets. Administrators configure services, service providers (staff members), working hours, breaks, and time slot duration. Customers select a service, provider, date, and available time slot — then complete payment (WooCommerce or Stripe). The plugin sends email confirmation and reminder notifications to both customer and provider.
Pricing: $19/year per site. JetAppointment is part of the Crocoblock All-Inclusive plan ($199/year). Compared to dedicated appointment plugins like Amelia ($69/year) or Bookly (from $89/year), JetAppointment is more affordable but requires the Crocoblock ecosystem (Elementor + JetEngine) for full functionality — making it best suited for sites already using Crocoblock tools.
Need Help With JetAppointment Setup, Troubleshooting, or Customization?
Need help with JetAppointment? Whether you are dealing with errors, broken functionality, styling problems, plugin conflicts, or advanced customization, we can help you fix the issue and get the plugin working properly on your WordPress site.
Get JetAppointment Expert HelpKey Features
- Time-slot-based appointment booking (hourly services)
- Multiple services with individual durations
- Multiple service providers with individual schedules
- Working hours, breaks, and days-off configuration
- Booking calendar with availability display
Pros & Cons
Pros
- Very affordable at $19/year compared to Amelia ($69/year) or Bookly ($89/year+)
- Part of Crocoblock ecosystem — native JetEngine integration for dynamic provider/service display
- Google Calendar sync keeps providers' personal calendars updated with bookings
Cons
- Requires Elementor + JetEngine for full functionality — not standalone
- Less polished than dedicated alternatives like Amelia for non-Crocoblock users
Free vs Premium
Paid only. $19/year per site. Included in Crocoblock All-Inclusive ($199/year, 1 site).
Common Problems & Fixes
JetAppointment is showing all time slots as unavailable even though working hours are configured. How do I fix availability display?
Time slot availability requires: (1) the service provider’s working hours are correctly configured in JetAppointment → Appointments → Service Providers → [provider] → Schedule; (2) the service’s duration is configured — a 60-minute service in a provider’s 9am-5pm schedule should show time slots from 9am to 4pm (last slot starts 1 hour before closing); (3) the appointment form widget is connected to the correct service and provider; (4) buffer time between appointments may be consuming available slots — reduce or disable buffer time for testing; (5) verify the date being checked is not a configured day off.
JetAppointment email notifications are not being received after booking confirmation. How do I configure emails?
JetAppointment email notifications use WordPress wp_mail(). Check: (1) in JetAppointment → Settings → Email Notifications, verify customer confirmation email is enabled with correct template and recipient (the booking email address field); (2) configure WP Mail SMTP for reliable delivery of transactional booking emails; (3) check the booking email address in the customer’s submission — if the email field was not required and was left blank, no confirmation can be sent; (4) verify the email is not in spam; (5) test with a real email address on a test booking.
Google Calendar sync is not working — bookings are not appearing in the service provider's Google Calendar. How do I configure the sync?
Google Calendar sync requires OAuth connection: (1) in JetAppointment → Settings → Google Calendar, connect with a Google account that has Calendar API access; (2) each service provider must be assigned a Google Calendar in their provider settings (their individual work calendar); (3) verify the Google Cloud project has the Calendar API enabled; (4) OAuth tokens can expire — reconnect the Google Calendar integration if sync was previously working; (5) new bookings sync to Google Calendar on booking confirmation, not retroactively — verify new bookings after configuration.
Customization & Developer Notes
How do I create a booking form for multiple service providers using JetAppointment?
In JetAppointment, create multiple Service Providers (staff members) each with their own schedule and service assignments. Create an Elementor page with the JetAppointment Booking Form widget. In the widget settings, configure the form to show Service Provider selection as a field — customers choose their preferred provider. The time slot availability updates dynamically based on the selected provider’s schedule. Connect the booking form to WooCommerce or Stripe for payment collection at the booking step.
How do I use JetEngine to display all service providers with their availability on a directory-style page?
Create a JetEngine Listing Grid that displays service providers as posts (if providers are a custom post type) or as a repeater from JetEngine’s meta data. Add JetAppointment dynamic tags to show each provider’s next available slot in the listing cards. Combine with JetSmartFilters to allow filtering providers by service type, location, or availability. Each provider card links to their individual booking page. This creates a provider directory with embedded availability indicators.
Frequently Asked Questions
Is JetAppointment better than Amelia for a spa website?
Amelia is a more mature, standalone appointment solution with a superior admin management interface, richer reporting, customer profiles, and more comprehensive email workflows — making it better for businesses where appointment management is the primary focus. JetAppointment is better for Crocoblock users already using Elementor + JetEngine who want native ecosystem integration at a lower cost ($19 vs $69/year). For a spa website not already using Crocoblock, Amelia’s better UX and appointment-focused feature depth make it the more suitable choice.
Can JetAppointment handle group appointments (multiple clients per time slot)?
JetAppointment is designed for one-on-one appointments where one client books one provider per time slot. For group bookings (e.g., a yoga class with 15 participants booking the same session), JetBooking’s capacity-based booking or a dedicated group booking solution is more appropriate. Some workarounds exist for group bookings in JetAppointment, but it requires custom configuration and is not a native supported use case.
Can JetAppointment break after updates?
Yes, that can happen, especially on older sites with many plugins. This usually happens when the plugin, theme, and add-ons are updated out of sequence. In most cases, testing on staging catches the issue before it reaches the live site. From experience, backups and changelog reviews save a lot of cleanup time.
What should I check before installing JetAppointment?
Start by checking whether another plugin already does the same job. In most cases, overlap is what creates avoidable conflicts and performance issues. A common issue is installing a plugin because it looks convenient without checking the stack first. From experience, a short compatibility review avoids most of the pain later.