Sari la conținut
AssetQuarry

gAppointments – Appointment booking addon for Gravity Forms

60,00 €

Schedule appointments within Gravity Forms. gAppointments is great for any business that depends on an appointment calendar. Scroll down to see all features list. Now maintained by Marketing the Change – Gravity Forms 3.0 compatibility, security patches, and ongoing stability improvements. v1.25 fixes the appointment…

Affiliate disclosure: this product is sold on Envato Market. If you buy through our link we may earn a commission, at no extra cost to you.
  • 2,928 sales
  • 3.92 (73)
  • by wpcrunch
  • Updated October 2, 2026

Description

Schedule appointments within Gravity Forms. gAppointments is great for any business that depends on an appointment calendar. Scroll down to see all features list.

Now maintained by Marketing the Change – Gravity Forms 3.0 compatibility, security patches, and ongoing stability improvements. v1.25 fixes the appointment date arriving in notification emails as raw serialized data on AJAX-enabled forms under Gravity Forms 2.9 and later. It also carries an important security fix, makes the Prevent Double Bookings setting work again, restores Cancel, Confirm and Reschedule on appointment list pages, and fixes saving of per-form settings. Updating is strongly recommended.

Features

  1. Payed/Non-Payed Booking
  2. Supports any payment gateway
  3. Works with Gravity Perks Preview Submission. See demo
  4. Works with Gravity Perks Multi-Page Navigation. See demo
  5. Multiple slots selection & maximum bookings per date
  6. Services per form.
  7. Service interval time slots or custom time slots.
  8. Options for service interval slots (duration, cleanup, capacity, reduce gaps, lead time, show end times, time format, remove am/pm text, max bookings per date, multiple slots selection).
  9. Options for service custom slots (price per slot, capacity per slot, lead time, show end times, time format, remove am/pm text, max bookings per date, multiple slots selection). See demo
  10. Service option: Schedule appointments in the future, from today on an interval of days.
  11. Service option: Schedule appointments within a defined range of dates.
  12. Service option: Schedule appointments only on custom dates.
  13. Translation support, translation per individual form. See demo
  14. Flexible translation. See demo
  15. Activity page
  16. Personalized provider work hours, breaks and holidays
  17. Providers can edit their schedule from the front-end.
  18. Minimum appointment window required for new appointments (lead time required for new appointments).
  19. Client/Provider appointments management on the frontend.
  20. Clients or providers can add the appointment to their favourite calendar on the front-end. See demo
  21. Add calendar links (gcal, yahoo) in email
  22. Assign a registered user as service provider
  23. TimeSlot capacity
  24. Custom HTML Emails
  25. Email notifications
  26. SMS notifications using Twilio and WP Twilio Core free plugin
  27. Set calendar first day of the week to Sunday or Monday
  28. Auto confirm appointments
  29. Auto complete appointments
  30. Cancel unpaid appointments after a time interval
  31. Usage of Gravity Forms name/email/phone fields for appointments
  32. Endless colour possibilities
  33. Mobile Responsive

gAppointments - Appointment booking addon for Gravity Forms - 1

Support and Documentation

This plugin is now maintained by Marketing the Change. For support, contact us via Envato. Full documentation is included with the plugin.

Changelog

02.10.2026 – ver 1.25
– Fixed bug: The appointment date and time arrived in notification emails, confirmations and the entry list as raw serialized data, for example a:3:{s:4:“date”;s:10:“2026-09-30”;s:4:“time”;s:11:“15:00-18:00”;s:4:“cost”;s:1:“0”;} instead of the booked date. This affected forms with AJAX enabled on Gravity Forms 2.9 and later, which changed AJAX submissions to go through admin-ajax.php. WordPress reports that as an admin request, and the Booking Calendar field was skipping its date-to-text conversion on any admin request, so front-end bookings stored the raw array and every merge tag printed it verbatim. The field now tests for the entry edit screen specifically.
– Fixed bug: Entries already saved with a serialized date now display correctly without needing to be re-saved, in the entry detail screen, the entries list and notification merge tags.
– Fixed bug: A multiple-slot booking submitted with no slots selected could store an empty array in the entry, which appeared as serialized data for the same reason.
– Note: Appointments themselves were never affected. The appointment record, availability and the double-booking checks read the submitted values directly, so only the entry value and the notification text were wrong, and no booking data was lost.

12.09.2026 – ver 1.24
– Security: Fixed an SQL injection vulnerability in the double booking and max bookings checks, reachable from the public booking form. Updating is strongly recommended.
– Security: Fixed a reflected XSS vulnerability on the booking form when a submission failed validation.
– Security: Hardened the appointment status, cancel, confirm and reschedule actions against cross-site requests, and stopped one client from acting on or viewing another client’s appointment.
– Security: Reschedule now checks availability, so a booking cannot be moved to a closed or full slot.
– Security: Google Calendar sync now verifies TLS certificates and redacts tokens from the debug log.
– Fixed bug: Booking a service with “Multiple slots selection” enabled ended in a critical error on PHP 8.
– Fixed bug: The Reschedule window offered days the appointment’s provider does not actually work.
– Fixed bug: Editing an appointment could leave the end time stale, or shrink a long custom-slot booking.
– Fixed bug: Services with no providers could block submission when the provider field was required.
– Fixed bug: Appointment list bulk actions now only affect appointments you are allowed to edit.
– Fixed bug: Prevent Double Bookings did not stop a client from booking a time slot they already held.
– Fixed bug: Cancel, Confirm and Reschedule buttons on the client and provider appointment list pages scrolled the page to the top instead of opening the confirmation window.
– Fixed bug: Cancel, Confirm and Reschedule always ended in “Something went wrong.” They now complete, and the Reschedule calendar loads.
– Fixed bug: Providers could not save their work schedule from the front end.
– Fixed bug: Deleting a service category from the service editor did nothing.
– Fixed bug: Per-form gAppointments settings (booking category, review page and form translations) did not save.
– Fixed bug: Single-service forms with a hidden service field could not be submitted; a trashed provider kept front-end access.
– Fixed: WordPress 6.7+ “translation loading triggered too early” notice and a PHP 8.1+ deprecation notice.
– Update: Clients who leave the phone field empty are no longer matched against each other when checking earlier bookings.
– Update: Script version raised so browsers load the latest front-end and admin scripts after updating.

09.09.2026 – ver 1.23
– Fixed bug: The provider dropdown could pre-select a provider before a service was chosen, and kept the previous provider after the service changed. It now shows “Select a provider” until the client makes a choice.
– Fixed bug: The service dropdown skipped “Select a service” when only one service was available.

04.09.2026 – ver 1.22
– Update: Custom time slots with no availability days selected now show a warning in the service editor, ask for confirmation before saving, and report how many slots were removed.

04.09.2026 – ver 1.21
– Fixed bug: Gravity Forms conditional logic stopped working on booking forms. The booking script now loads at the correct point in the Gravity Forms script sequence.

04.09.2026 – ver 1.20
– Fixed bug: A JavaScript error occurred when a service or provider field was missing from the form.
– Update: Service and provider dropdowns now start on “Select a service” / “Select a provider”, so a required field can’t pass validation on a pre-selected default.

04.09.2026 – ver 1.19
– Fixed bug: Date-only services always blocked today’s date, even with no lead time configured.

26.08.2026 – ver 1.18
– Fixed bug: “Service was not selected” on submission even though the correct service was chosen. The submission validator looked services up by their URL slug instead of their title, so any service that had been renamed, duplicated or recreated after publishing could no longer be matched. The dropdown still rendered and submitted the correct value, so the form appeared entirely correct.
– Fixed bug: The same slug-instead-of-title lookup affected provider validation and the calendar provider AJAX request.
– Fixed bug: Google Calendar sync used an unrecognised query parameter when looking up a service by title. It was ignored and the most recently published service was returned regardless of title, so sync could attach events to the wrong service.
– Update: Service and provider lookups are now handled by a single shared resolver that matches on the exact title, falls back to the previous slug behaviour, handles HTML-encoded titles, and caches results.
– Update: A service that cannot be found now reports “Service not found” rather than “Service was not selected”, so it is distinguishable from a service excluded by the form’s service category. Both messages remain editable under the gAppointments translation settings.
– Update: Service validation failures are now written to the Gravity Forms debug log with the form ID, the submitted value and the reason for the failure.

14.08.2026 – ver 1.17
– Fixed bug: Provider and service selection AJAX calls were returning 403 / -1 (regression introduced in v1.15). The nonce ga_calendar_nonce was added to server-side verification in v1.15 but was never passed to the front-end via wp_localize_script, nor included in the jQuery AJAX data payloads in main.js. Selecting a provider or service silently failed and the calendar never populated.
– Update: Gravity Forms version notice now has a dismiss button so administrators can hide it.
– Update: Confirmed full compatibility with Gravity Forms 3.0.2.5. Calendar render, provider and service selection, slot generation, and form submission all verified end to end.

12.08.2026 – ver 1.16
– Fixed bug: Gravity Forms 3.0 compatibility. Booking cost was not added to the Total field, causing submissions to fail with “Submitted value () does not match expected value”.
– Update: Price recalculation now uses the Gravity Forms products module (gform.products.updateProducts()), with the legacy gformInitPriceFields() retained as a fallback for Gravity Forms 2.9 and older.
– Fixed bug: main.js and total.js now declare gform_gravityforms as a script dependency, fixing a load-order race under Gravity Forms 3.0 asynchronous script loading.
– Fixed bug: Appointment cost is now resolved per form, so pages containing more than one booking form calculate their totals independently.
– Update: Added a Gravity Forms version check. An admin notice now warns when the active Gravity Forms version falls outside the tested range.
– Update: Added Requires at least and Requires PHP plugin headers.

01.04.2026 – ver 1.15
– Fixed bug: Google Calendar Sync Not Working
– Security improvements: Updated use of exec()
– Fixed bug: Calendar Navigation Bug
– Fixed bug: Time Slot Ordering
– Update: Improved general instability issues

07.11.2023 – ver 1.14.1
– Fixed bug: Providers and services selecting issue.
– Fixed bug: Form submitting issue.

31.10.2023 – ver 1.14
– Security improvements.
– Fixed bug: Invalid appointment name fix.
– New Feature: Added custom sorting functionality for services and providers.

10.10.2023 – ver 1.13.1
– Fixed bug: Fixed service selecting crash.

03.10.2023 – ver 1.13.0
– Update: Improved compatibility with PHP 8.2.

14.08.2023 – ver 1.12.0
– Update: Google Calendar Authorize access update.

19.06.2023 – ver 1.11.0
– Update: Updated HTML entity encode.

16.08.2022 – ver 1.10.0
– Update: WordPress 6.0 – design adaptation.

02.03.2022 – ver 1.9.7
– Fixed bug: “Forms” → “Settings” → “gAppointments” → “Form booking category” (function gf_get_field_type_postid).

14.09.2021 – ver 1.9.6
– Feature: Ability to dynamically change the calendar service without resetting the provider selection during a booking
– Fixed bug: Time slot capacity pop-up not displayed when available slot capacity is reduced to one
– Fixed bug: “Custom” service type creation validation issues
– Enhancement: Automated “Custom” service type appointment slot sorting
– Feature: “Payment Order Details” appointment field will only return entries from the form in which the appointment was booked
– Fixed bug: Conflicts with some WordPress themes and theme builders
– Fixed bug: Failure loading the calendar widget when service/provider title contained special characters
– Fixed bug: Calendar errors returning incorrect text messages
– Fixed bug: Processing payment detection and handling issues during new appointment creation
– Fixed bug: Unnecessary insertions of empty spaces after calendar field merge tag
– Fixed bug: Conflict with Advanced Custom Fields PRO and Advanced Custom Fields Gravity Forms add-ons
– Feature: New appointment time-end shortcode added in “Date & Time” translations
– Feature: New hook that allows to override Google Calendar event description during calendar synchronization
– Feature: New hook that allows to define additional custom hints for Google Calendar event description
– Fixed bug: Issues assigning new appointments to the global provider
– Fixed bug: Google Calendar access token issues within provider synchronization setup
– Fixed bug: “jQuery(…).chosen is not a function” front-end error
– Fixed bug: Review page issues with all date appointment slots

26.01.2021 – ver 1.9.5.2
– Fixed bug: Appointment values saved incorrectly when a service is assigned to multiple providers
– Fixed bug: Inconsistencies in Google Calendar two-way sync comparison functionality
– Fixed bug: Possible undefined index error message after form submission
– Fixed bug: Cannot change provider to global provider in entry edits
– Fixed bug: Submission validation bug when calendar field is hidden
– Fixed bug: Possibility that a notification with undefined values is sent
– Fixed bug: Submission issue due to duplicate get provider options method
– Fixed bug: Submission issue when multiple bookings and prevent double bookings options are enabled
– Fixed bug: Issue displaying Gravity Forms entries
– Enhancement: Show the calendar month of the first available appointment

22.10.2020 – ver 1.9.5.1
– Fixed bug: Appointments availability issue: capacity not reduced after new appointment booking
– Fixed bug: Issues with payment request authorization and capture
– Fixed bug: Payment issues due to Gravity Forms conditional logic
– Fixed bug: Script function incompatibilities

06.10.2020 – ver 1.9.5
– Fixed bug: Performance issues and slowdowns caused by translation functions
– Fixed bug: Various duplicate query calls in booking form field pages
– Enhancement: Improved how appointment entry data is processed and saved (compatibility improvements with third-party integration services, i.e. Zapier, ActiveCampaign; and other Gravity Forms add-ons, i.e. Stripe, PayPal)
– Enhancement: “Communication” with Google Calendar API
– Enhancement: Added support for Google Calendar recurring events
– Fixed bug: Extreme performance issues related to Google Calendar two-way sync
– Fixed bug: Google Calendar one-way sync functionality not working as defined
– Fixed bug: Cancelled/re-confirmed appointments do not re-appear/disappear in the booking calendar
– Fixed bug: Google Calendar pending and confirmed event colours do not change dynamically
– Feature: Max bound option in Google Calendar settings (allows to define how far into the future events should be fetched from Google Calendar)
– Feature: Added Synchronization mode option to provider page
– Feature: Added option to provider and Calendar settings pages (allows to set a global or server-based availability)
– Feature: Added a review page option in Gravity Forms settings (allows to show a review page before a form submission)
– Fixed bug: Search functionality in Appointments page not working
– Enhancement: Two-field column sorting in appointments list page
– Fixed bug: Possible issues with WordPress redirects
– Fixed bug: New appointment submission issues when service capacity is set to 1
– Enhancement: Improved compatibility with Gravity Forms entry export feature
– Enhancement: Validations in edit provider page
– Feature: Appointment booking date can now be edited in Gravity Forms entries
– Fixed bug: Appointment cancellation issues due to time zone value
– Fixed bug: Appointments list page display incompatibilities on mobile devices
– Fixed bug: Spelling mistake in notification email calendar links

11.06.2020 – ver 1.9.4
– Enhancement: New provider can prevent duplicate title
– Enhancement: Appointments page now has available options in “Bulk actions” – “Cancel”, “Confirm” appointments
– Feature: Appointments page now has an option in “Bulk actions” – “Resend Email Notifications”
– Feature: Appointments page can be sorted by chosen columns
– Feature: Each provider now has a field “location”, which can be synced with appointments in Google Calendar

24.10.2019 – ver 1.9.3
– Fixed bug: Fixed an issue with ICS generation
– Fixed bug: Default Google Calendar for appointments with no provider regardless of settings
– Fixed bug: Assets unreachable
– Fixed bug: Appointment date not being picked up in notifications upon submitting a form entry
– Fixed bug: Email being picked up instead of phone number
– Enhancement: Made some changes to work with Thrive Architect
– Enhancement: Added ability to complete appointments after X hours instead of instant completion
– Enhancement: Extended cancellation functionality to allow cancelling until X hours before the appointment
– Feature: Clients can reschedule their appointments from the front-end

19.07.2019 – ver 1.9.2
– Fixed bug: Fixed Google Calendar API authentication not working in some cases
– Fixed bug: Some calendar appearance colours not affecting front-end calendar
– Fixed bug: Removed deprecated function usages
– Fixed bug: Fixed an issue where appointment date was not being sent in initial Gravity Forms notification
– Fixed bug: Custom time slots with the same starting hour being removed when saving service
– Fixed bug: Bad available time slot calculation in certain cases
– Enhancement: Added appointment_duration merge tag to certain appointment notifications
– Enhancement: Added the ability to override appointment email template, see the documentation for details
– Enhancement: Provider and Service fields are now sent as names instead of IDs when exporting Gravity Forms entries
– Enhancement: Added ability to paginate appointments in shortcodes, see the documentation for details
– Enhancement: Added ability to add a description to appointments when generating calendar links (ical)
– Enhancement: Documentation is being moved to an online source instead of local

15.01.2019 – ver 1.9.1
– New Feature: Google Calendar synchronization.

22.06.2018 – ver 1.8.11
– Removed flush_rewrite_rules() function.

06.06.2018 – ver 1.8.10
– Clients or providers can cancel confirmed appointments.

30.05.2018 – ver 1.8.9
– Fixed some bugs.

20.05.2018 – ver 1.8.5
– Feature added: Custom Time Slots.

11.05.2018 – ver 1.8.4
– Fixed a conflict with the GravityView plugin.

11.05.2018 – ver 1.8.3
– Feature added: First day of the week on the calendar.

25.04.2018 – ver 1.8.2
– Providers can edit their schedule from the front-end.

26.03.2018 – ver 1.8
– SMS notifications.

08.03.2018 – ver 1.7
– Added translation support.

03.03.2018 – ver 1.6
– New feature: Multiple slots selection.

23.02.2018 – ver 1.5
– Added options: service date range & custom dates availability period.

16.02.2018 – ver 1.4
– New feature: Services per form.

13.02.2018 – ver 1.3.2
– Fixed a few issues.

11.02.2018 – ver 1.3
– New feature: Bookable dates without time slots.
– Added support: Usage of Gravity Forms name/email/phone fields for appointments.

01.02.2018 – ver 1.2
– Added support for: Gravity Perks Preview Submission & Multi-Page Navigation plugins.
– Some fixes.

30.01.2018 – ver 1.1
– New feature: Minimum appointment window required for new appointments (lead time required for new appointments).
– Some fixes.

12.01.2018 – ver 1.0