Skip to main content

Appointments Changelog

A comprehensive record of all changes, improvements, and fixes made to the WooCommerce Appointments plugin across all versions.


[5.0.0] - January 2, 2026

Improvements

  • Deprecation of wc_enqueue_js() in WooCommerce 10.4 addressed.
  • Add animation to license activation button to avoid confusion, when modal doesn't open instantly.
  • Updated all translations.
  • Abandoned cart should not send the cancelation email.

Fix

  • WooCommerce Payments multicurrency functionality now correctly converts currency in cart/checkout.

[5.0.0-rc3] - December 12, 2025

Improvements

  • Add option to apply/limit inventory/quantity per day instead of per slot (default).
  • Add back the deprecated/misspelled hook for BC 'wc_apointments_check_appointment_product'.
  • Add Billing option to create new account for a Guest customer in modal for adding new appointments.
  • Make What's New page under Appointments in admin permanent, hide it in later smaller updates.
  • Hide notice after the license is successfully activated for the plugin.
  • Initial admin calendar view is for the week, preload appointments for the whole month regardless.
  • Appointments API v2 should load faster by reducing meta queries and eliminating N+1 queries.

Fixes

  • Force open "Product data" tab that in some cases always stays collapsed.
  • WP 6.9 Command Palette doesn't work - creates empty appointment.
  • Appointment not saved in final checkout step. Add comprehensive logging and fallbacks to prevent this.
  • Pagination for Appointments in My Account page broken after WooCommerce update.

[5.0.0-rc2] - December 10, 2025

Improvements

  • Create internal rest api to cover all plugin aspects from a single source of truth.
  • When appointment is edited in admin, add detailed changes to order note.
  • Add Screen Options for admin calendar, where user can switch to legacy calendar temporarily.
  • Make all API text strings not translatable to reduce translation workload, end user does not see them.
  • Speed up front calendar loading.
  • Use same loading animation for the new admin calendar and front-end calendar.
  • Complete front calendar ajax call quick with daily buckets.
  • Front calendar staff in querystring now performs only 1 ajax call.
  • Updated Product Add-ons to 8.1.2
  • Add what's new page for the 5.0.0 release in admin when user updates to 5.0.0 or activates it.
  • Inventory maximum will be enforced through validation with cost calculations.
  • Update license key activation process.
  • Updated all translations.
  • Apply user selected color scheme in admin across appointment pages

Fixes

  • Front calendar does not have product ID properly set on init.
  • Do not show notice to add appointable product on plugin activation if any already exist.
  • All staff assigned together issue fix applied to multiple levels for future reference.

[5.0.0-rc1] - December 4, 2025

Improvements

  • Adding a function to ensure postmeta indexes exist for appointment date queries. Plugin reactivation/update needed.
  • Add daily fail check for the appointments indexed health to make sure they are in check at all times.
  • Make backfill for indexing fail proof by saving progress by each batch processed.
  • Update readme file in root with new build instructions.
  • Add warning in admin calendar when REST API is disabled for the site.
  • Make front-end calendar resilient to errors in external scripts so it loads at all times.

Fixes

  • ESbuild corrupts JS during minification and removes dependencies so minified JS files are not working as expected.
  • Indexed path does not consider global rules correctly.
  • Generate slots for days that are booked out, to avoid skipping days when checking for availability.
  • Backwards compatibility with PHP 7.4 to ensure compatibility with older configurations.
  • Admin calendar not rendering unavailability for date based rules.
  • Hide normal dropdown before select2 dropdown renders for staff selection.

[5.0.0-beta9] - December 2, 2025

✨ Feature

  • Updated and modernized build process, pure NPM without Grunt and complexities, no compiles from crap like Webpack.

Improvements

  • Named constants over magic values, created WC_Appointments_Constants.
  • Make sure NPM does not execute git commands without approval.
  • Added plugin hook validation for all hooks so we do not push broken actions/filters.
  • Added PHPUnit test to run tests on functionality automatically.
  • Load appointments to admin calendar instantly and preload all views dynamically.
  • Structure code with better semantics for input/output expectations.
  • Document main code functions better with better explanations.
  • Linted all translation strings and translations comments and fixed all remaining issues.
  • Linted all CSS and JS files with updated rules and fixed the remaining issues.
  • Add better fail checks and validation so rules reach horizon at all times.
  • Make sure SSE works on multisite installations fine and resets last event ID correctly.
  • Reduced plugin delivery code size by 20% due to optimizations and removal of redundancy.

Fixes

  • Fixed all hooks with own script that validates them automatically during build process now.
  • Make sure appointment status is not null at any point.

[5.0.0-beta8] - November 27, 2025

✨ Feature

  • Atomic reservation operations that handle race conditions and prevents double appointments at high traffic.

Improvements

  • Updated v2/appointments and v2/availabilities API to use indexed path when within horizon and enabled.
  • Updated v2/appointments and v2/availabilities API to use scope(s) to return available/unavailable range.
  • Admin calendar should not only show unavailability from rrules, but also consider exceptions.
  • Admin calendar filters should sort product and staff alphabetically.
  • Admin calendar filter for staff should show avatar/gravatar.
  • Admin calendar appointment view modal should show avatar/gravatar for customer.
  • Admin calendar has ability to confirm/cancel appointment instantly.
  • Admin calendar loads appointments slightly faster on initial load.
  • Admin calendar appointment view popup should show skeleton until elements are loaded inside.
  • Admin calendar Should load appointments and availabilities once and avoid double fetching.
  • Admin calendar should show reload button when 403 API error is shown.
  • Admin calendar should follow the same rules hierarchy server side uses.
  • Integrate WooPayments multi-currency with new appointment creation modal in admin.
  • Use indexed results for the appointments API when in range and enabled.
  • Updated all translations.
  • Admin modal for creating appointments should use formatted dates that are easily readable.

Fixes

  • Bug fix #1014, Admin calendar not showing rules in the background.
  • Unavailability not showing ok in admin calendar when switching views.
  • Do not update duration in appointment creation modal, when selecting add-on that has no duration.
  • Unavailability not showing ok in admin calendar in month view.
  • Bug fix #839, Appointment card in the calendar doesn't show the discounted price of the appointment.
  • SSE should reconnect after errors and work reliably at all times.
  • Bug fix #1225, Admin calendar should not duplicate appointments/rules when they are updated.
  • Account for tax when creating appointments in admin modal and make sure to calculate order totals correctly.
  • Appointments API should return appointments that overlap with the requested date range, not just those completely within it.

[5.0.0-beta7] - November 22, 2025

✨ Features

  • Live real-time Admin Calendar where user can create/move/cancel appointments from the calendar.
  • Live real-time Admin Calendar works 2-ways and shows appointments/rules instantly after being created/edited anywhere.
  • Introducing WebHooks, initially for appointments and availabilities.
  • Introducing SSE, used for live stream of updated appointment and availabilities.

Improvements

  • Add order note when editing appointment in admin calendar.
  • Admin calendar appointment should be represented with the set appointable product color.
  • Admin calendar should load appointments as first paint and availabilities concurrently.
  • Admin calendar changes should add order note for every change.
  • Cancelled appointment in admin calendar have reduced opacity, same as past appointments.
  • Updated all translations.
  • Move external scripts to /vendor folder and only registere minimized versions.

Fixes

  • Make sure appointment does not stay in cart, status transitions and order ID is queried after DB cache.
  • Add availability rule validation to block empty availability saves.
  • Add guards to prevent multiple same-time openings of appointment creation modal in admin.
  • Price calculations with add-ons selected is off in some cases, negative price must be properly included.
  • Fix translations in file templates\order\admin\appointment-display.php, escaping dropped translations.

[5.0.0-beta6] - November 17, 2025

Improvements

  • Compatibility with WordPress 6.9.
  • Added downloadable items to the confirmation email.
  • Compatibility with WooCommerce Twilio SMS Notifications 1.19.3.
  • Updated Product Add-ons to 8.1.1.
  • Time zone calculations fallback to UTC when timezone is not set.
  • Make indexed path very fast and avoid appointment-day bucketing.
  • Make Rest API /slots indexed path very fast with option to combine staff and pagination.
  • Rest API for /slots can be used as paged_stream with fast track to slots.
  • Rest API for /staff show show all staff, when product isn't set.

Fixes

  • Modal for creating appointment price editing styling issue.
  • Modal for creating appointment not loading correctly on some pages in admin.
  • REST API /appointments cancelled status doesn't work.
  • Staff assignment not working, when all staff are assigned together.
  • Some slots for staff are shown, but are not available.
  • When changing the appointment quantity, it doesn't update it in the order.
  • Memcached might cause multiple new order email. Prevent same status set multiple times.
  • Memcached might cause appointments to not be tied to order.
  • Memcached might revert changes in 2-way gcal sync.
  • Memcached might cause appointments to not go to 'paid' status.

[5.0.0-beta5] - November 13, 2025

✨ Feature

  • REST API v2 added with full support for GET, POST, PUT, DELETE and PATCH.

Improvements

  • REST API uses WooCommerce’s permission check in public read endpoints.
  • Do not duplicate Confirmation email if sent at the same time to same email address (customer and admin).
  • All API calls fully documented in code.
  • Appointments API returns start_utc and end_utc in ISO 8601 format.
  • Updated all translations.

Fixes

  • Add include_sold_out option to indexed path.
  • Product with no staff does not show occupancy indicators in calendar correctly.
  • Undefined variable $is_next_day in rule manager.

[5.0.0-beta4] - November 10, 2025

✨ Feature

  • Add COGs for appointment edit screen (WC 10.3 feature). Internal price of goods/services to monitor.

Improvements

  • Modal for creating appointments should only use time dropdown instead of html5 time selection.
  • Use date_i18n() instead of date() when editing appointment in admin.
  • Compatibility with WooCommerce 10.3.
  • Creating appointment in modal includes simple actions after appointment has been created.
  • Modal for creating appointments now includes payment methods.
  • Modal for creating appointments should trigger actions selectively and only when needed.
  • Modal for creating appointments opens product search instantly after being opened.
  • Appointment form block change/edit/view buttons moved to block toolbar.
  • When manual re-indexing, first flush all the cache and drop the indexed results, do not overwrite.
  • When manual re-indexing, finish in one go until your reach the horizon.

Fixes

  • Modal not saving day and month duration appointments correctly.
  • Re-index untrashed appointments.
  • Add-ons image swatch does not keep preselected value.
  • Add-ons called twice which corrupted the output in some cases.
  • Confirmed appointments trigger multiple actions unnecessarily.
  • Bug fix #1021, overnight appointment not checking availability for next day.
  • Bug fix #1218, multiple appointment forms not working with auto-select on same page.
  • Bug fix #1203, same staff on different products not working ok with hour/minute duration.
  • Bug Fix #1215, shows non-bookable slots and end is not enforced in rules correctly.
  • Bug Fix #1194, added safeguards to prevent scheduled notifications being sent in a loop.
  • Bug Fix #1212, padding from product in the appointment not taken into account.
  • Bug Fix #1195, was-in-cart appointments created and added to order .
  • Stop Sync same multievent creation by combining a short-lived atomic lock and an idempotent preflight search.
  • When no staff selected, slots do not have correct quantity computed or are missing.
  • Deleting availability rules does not delete them from index instantly.
  • Product auto-select skips current day.

[5.0.0-beta3] - October 30, 2025

✨ Feature

  • Creating appointments in admin through modal.

Improvements

  • Custom pricing rules: base cost applies if appointment is within rule range by part or as a whole.
  • Custom pricing rules: slot cost applies for each slot calculated by intervals.
  • Allow creating new appointments in admin that are not available.
  • Manual re-indexing shows gradual progress and runs in small chunks of 50 items per run.

Fixes

  • Fixed issue #1208, where showing slots that are not available.
  • When interval is longer than available time, it shows no slots for that day.
  • Indexing custom:daterange rules might add additional day.
  • time:range and custom:daterange overnight rules not working fine.
  • Default add-on header text in product edit screen wrongly wrapped with <p></p>.
  • Indexing could skip current time if start date/time was in the past.
  • custom:daterange rule until midnight blocks the whole next day.
  • Add 30 days grace period for rules to be :expired and hidden from admin.

[5.0.0-beta2] - October 18, 2025

✨ Features

  • Introduce Availability Filter block.
  • Introduce Appointment Form block.

Improvements

  • Max quantity available normalization across product/staff/rules.
  • Re-indexing indicators should be more apparent.
  • Manually saving lots of availability rules is now possible without server adjustments.
  • Updated all translations and added strings for new features.
  • Updated analytics code rendering for Staff selection.

Fixes

  • Staff sync not working correctly for new users.
  • Normalize hooks with typos and make sure it works both ways.

[5.0.0-beta1] - October 15, 2025

✨ Feature

  • Introduce indexing or availability rules and appointments.

Improvements

  • Improved default date selection when you opt for first available slot selection.
  • Updated Product Add-ons to 8.1.0.
  • Product Add-ons display control over heading for each section.
  • Compatibility with WooCommerce 10.2.
  • Google Calendar sync now works with better logic.
  • Sync cancelled instances or recurring events as exceptions.

Fixes

  • Automatically assigned (all staff together) doesnt check all staff's availability.
  • WP update handling metaboxes collapses whole product edit screen on staff toggle.
  • Remove persistent notice when appointment has been removed from cart.
  • Month picker querystring not updating.
  • RRule should block the whole days with time range for daily duration products.
  • Availability from not working ok with daily duration for custom:daterange rules.
  • Products that go overnight can be overbooked - no check for actual availability.
  • Google Sync is slowing down Appointments and Check out process.
  • Padding not working fine in some occasions, when duration and intervals are different.
  • Fixed Cart Coupon not working ok when canceling an appointment.
  • interval larger than duration might cause issues.
  • Monthly duration doesn't jump to the first available month.
  • Make sure get_cart is not called before wp_loaded action.

[4.26.4] - August 23, 2025

Fix

  • Return $appointments to filters to avoid breaks with custom code.

[4.26.3] - August 22, 2025

Fix

  • Exclude expired availability and cost rules.

[4.26.2] - August 22, 2025

Improvement

  • Compatibility with WooCommerce 10.1.

Fixes

  • Updated compatibility with WooCommerce Sequential Order Numbers Pro.
  • Make sure expired availability rules are not included.

[4.26.1] - August 21, 2025

Fix

  • Caching start/end times breaks capacity rules.

[4.26.0] - August 20, 2025

Improvements

  • Avoid multiple appointments query and cache the query.
  • Updated php rrule to 2.6.0.
  • Clean up old availability rules. Old rules have '%:expired' added to 'range_type'.
  • RRules loading times are faster.
  • Optimize function get_appointment_ids_by for better performance.

Fixes

  • Make sure appointments query skips false objects from DB (caching issue).
  • Mislabeled months availability rule with week count (52) instead of month count (12).
  • 'jquery-tiptip' script missing 'dompurify' dependency.
  • Syncing custom statuses to Google Calendar not working.

[4.25.2] - July 20, 2025

Improvements

  • Compatibility with WooCommerce 10.0.
  • Updated Product Add-ons to 7.9.1.

Fix

  • Clear appointments from cart even ifWooCommerce hold stock options are set to zero.

[4.25.1] - June 16, 2025

Fix

  • Filter typo 'wc_apointments_sync_with_padding' is written as 'wc_appointments_sync_with_padding'.

[4.25.0] - June 15, 2025

✨ Feature

  • Add revenue/sales by staff in WC Analytics.

Improvements

  • Option to apply product padding to synced rules with a filter 'wc_appointments_sync_with_padding'.
  • Updated Product Add-ons to 7.9.0.
  • Compatibility with WooCommerce 9.9.
  • Option to filter timezone options with filter 'woocommerce_appointments_wp_timezone_choice'.
  • Added new action hook 'woocommerce_after_' . $this->object_type . '_object_save'.
  • Added new action hook 'woocommerce_appointment_maybe_schedule_event'.
  • Added new action hook 'woocommerce_appointment_clear_cron_hooks.
  • Added new filter hook 'woocommerce_appointments_stop_order_delete'.
  • Added new filter hook 'woocommerce_appointments_stop_order_update'.
  • Added new filter hook 'wc_appointments_staff_display_name'.
  • Added product padding info to synced event.

Fixes

  • Undefined variable $wp_button_class.
  • Filtering by appointment product type in WC Analytics not working correctly.
  • Navigation compatibility with WC 9.9.
  • Missing param in woocommerce_appointments_gcal_sync_order_meta.
  • Addons with Images are missing the "none" option.

[4.24.0] - April 26, 2025

Improvements

  • Compatibility with WordPress 6.8.
  • Privacy compatibility with WooCommerce.
  • Updated compatibility with Polylang for WooCommerce 2.1.4.
  • Added duration variable for AutomateWoo.
  • Add order related variables to AutomateWoo.
  • PHP 8.4 compatibility for implicitly defined variables.
  • Updated all translations.
  • Minimum PHP requirement bumped to 7.4.

Fixes

  • Some translations loading too early since WordPress 6.8.
  • Fatal error when removing staff from appointment.
  • Time slots not available for staff, when they should be.

[4.23.1] - April 14, 2025

✨ Feature

  • WooCommerce Email Preview full integration.

Improvements

  • Make sure email classes are not redeclared with external extensions.
  • Updated Product Add-ons to 7.8.1.

Fix

  • Missing $product object for WooCommerce Payments extension.

[4.23.0] - April 12, 2025

Improvements

  • Compatibility with WooCommerce 9.8.
  • WooCommerce minimum supported is 9.6.
  • Updated integration with WooCommerce Deposits 2.3.7.
  • Updated integration with WooCommerce Deposits by Webtomizer 4.6.9.
  • Updated integration with WooCommerce Payments 9.2.0.

[4.22.8] - March 13, 2025

Improvements

  • Updated Product Add-ons to 7.7.0.
  • Max capacity can now be defined above inventory limit to suit availability rules defined capacity.

Fix

  • Cancelled appointments do not get deleted for staff in synced calendar.

[4.22.7] - March 10, 2025

Improvements

  • Product add-ons CSS fixes.
  • Updated php rrule to 2.5.2.

Fix

  • Custom pricing rules not saving correctly.

[4.22.6] - March 8, 2025

Improvements

  • Updated Product Add-ons to 7.6.0.
  • Hide appointment add-on options in admin different product types.
  • Make sure 'require confirmation' payment method is always available.
  • Updated all translations.
  • Added missing plural forms for Hebrew translations.
  • PHP 8.4 compatibility for custom pricing fields.

Fix

  • Cancelled appointments do not get deleted in sync in some cases.

[4.22.5] - March 5, 2025

Improvement

  • Deprecated 'wc_appointment_get_timezone_string' in favor of 'wc_timezone_string'.

Fix

  • Cancelled appointments do not get deleted in sync in some cases.

[4.22.4] - February 27, 2025

Improvements

  • Backwards compatiblity with WooCommerce Twilio SMS Notifications extension.
  • Make sure appointment quantity cannot be set as zero in admin.

Fixes

  • WCML not working if multicurrency is disabled.
  • Ensure that the 'WooCommerce Appointments' gateway remains hidden on the new WooCommerce Payments settings page.
  • Do not run sync of cancelled appointment twice.
  • Canceling an appointment doesn't remove it from staff's synced gCal.

[4.22.3] - February 19, 2025

Improvement

  • WooCommerce Twilio SMS Notifications 1.19.0 not calling get_cart() correctly.

[4.22.2] - February 19, 2025

Improvements

  • Reset selected time slots when switching months or years on the calendar.
  • Compatibility with WooCommerce Twilio SMS Notifications 1.19.0.
  • Updated all translations and improved plural forms for Hebrew.

Fix

  • Error with WooCommerce Multilingual & Multicurrency (5.4.0).

[4.22.1] - February 16, 2025

Improvements

  • Compatibility with WooCommerce 9.7.
  • WooCommerce Multilingual 5.4.0 compatibility.
  • Updated Product Add-ons to 7.5.0.
  • All formated order meta data now synced with Google calendar event.

Fix

  • Deleting synced event in staff's gCal doesn't cancel it on the site.

[4.22.0] - February 13, 2025

Improvements

  • Updated Product Add-ons to 7.4.0.
  • Remove additional unnecessary strings for gcal event sync.
  • Log errors on appointment / appointable product query.
  • Compatibility with WooCommerce 9.6.
  • Compatibility with AutomateWoo 6.1.5.
  • Compatibility with WooCommerce Multilingual 5.3.9.
  • WPML multicurrency for addons not working.
  • Compatibility with WPML Multilingual CMS 4.6.15.
  • Updated code build process to match PHP 8.3.
  • Updated all translations and added new add-ons strings.
  • Better file loading structure.

Fixes

  • Analytics translation for filtering by Appointable products.
  • TM Extra Product Options not syncing to gCal.
  • Removed redundant 'notranslate' class as it is added on fields directly.
  • Google calendar sync can offset time for 1 hour unintentionally.
  • iOS and Firefox issue with too many addons.
  • Changing time of synced app in gCal syncs it back with wrong time.
  • Changing staff won’t syn to Gcal.
  • Staff 2-way sync for multiple staff doesn't work properly.
  • Make sure different time zones on website and Google calendar work ok together in all cases.
  • Reminder email before send checking uses UTC instead of local time.

[4.21.8] - December 3, 2024

Improvements

  • Updated Product Add-ons to 7.2.1.
  • Compatibility with WooCommerce 9.5.

Fix

  • Product Add-ons quantity field not updating price.

[4.21.7] - December 2, 2024

Improvements

  • Move core plugin functions to load earlier.
  • Add-ons plugin activation loading for both admin/frontend.
  • Updated moment-timezone-with-data.js lib to v0.5.45.
  • Updated moment-with-locales.js lib to v2.30.1.

Fixes

  • PHP 7.4 error correction. Though PHP 8.2+ is required.
  • REST API: usort fix for PHP 8.0+.

[4.21.6] - November 29, 2024

Fix

  • Final correction in 4.21.+ saga.

[4.21.5] - November 28, 2024

Improvements

  • Load integrations early after plugins are loaded.
  • Remove Select2 scripts and styles and only use Select2 from WooCommerce.

Fix

  • Google calendar sync PHP error.

[4.21.4] - November 27, 2024

Improvements

  • Filter ‘get_appointment_products_args’ includes all args.
  • Move $qrey_vars in get_appointments_for_user function.

Fix

  • Appointable product edit screen broken.

[4.21.3] - November 26, 2024

Improvements

  • Updated Product Add-ons to 7.2.0.
  • Updated Slovenian translation.

Fixes

  • Google calendar sync not working.
  • Exporting appointments not working.
  • Email notifications not working.
  • Appointments permalink in my-account not working.
  • Requiring confirmations not working.

[4.21.2] - November 22, 2024

Improvement

  • Remove 2 metadata fields in synced gCal.

Fix

  • Appointments shortcodes not working.

[4.21.1] - November 20, 2024

Improvements

  • Remove deprecated WooCommerce Admin plugin menus.
  • Updated Product Add-ons to 7.1.2.
  • Compatibility with WordPress 6.7.
  • Compatibility with WooCommerce 9.4.
  • Added additional 'notranslate' class to prevent plugin from transating fields.
  • Filter ‘get_appointment_products_args’ should include ‘author’.

Fix

  • Translations not working (for non English sites).

[4.21.0] - October 7, 2024

Improvements

  • Clear cache only when post object is defined for the appointments.
  • Improved compatibility with Polylang for WooCommerce.
  • Fixed strings to Hebrew translation.
  • Updated Product Add-ons to 7.1.0.
  • Updated all translations and adjusted add-ons strings.
  • Compatibility with WooCommerce 9.3.
  • Use pretty uniform pretty time duration display.
  • SMS "Customer Confirmation message" missing info.
  • Removed option to edit order inside appointment edit screen in admin.
  • Added filter to allow not updating gCal description on appointment update.
  • Updated php rrule to 2.5.1.

Fixes

  • PHP 8.2 error when empty array present.
  • Recurring events in gCal not blocking out times.
  • gCal recurring event blocking out the wrong time.

[4.20.0] - June 29, 2024

✨ Features

  • Added WC Payments multicurrency support.
  • Added Appointable product to Analytics for filtering.

Improvements

  • Better integration with WooCommerce Payments gateway.
  • Add-ons integration added earlier, better compatibility with external plugins.
  • Updated Product Add-ons to 6.8.4.
  • Handling failed orders with appointments added back with additional validations.
  • Bump "WC requires at least" to version 8.7.
  • Compatibility with WooCommerce 9.0.

Fixes

  • Add-ons work with WC Payments for appointable products.
  • Updating manually added Appointment in Order can create critical error.
  • Timezone visible in admin for non-timezone appointments.

[4.19.1] - May 22, 2024

✨ Feature

  • Integration with Official WooCommerce Stripe Gateway.

Improvements

  • List WooCommerce plugin as a requirement for Appointments to work properly.
  • Updated Product Add-ons to 6.8.3.
  • Compatibility with WordPress 6.5.
  • Compatibility with WooCommerce 8.9.

Fixes

  • Uncaught Error: Class ‘WC_PAO_Admin_Notices’ not found.
  • Report dashboard count translation error.

[4.19.0] - March 26, 2024

✨ Features

  • Add a DATE add-on custom field.
  • Appointments saved with a site's timezone and customer's set timezone (optional).
  • Integration with AutomateWoo extension.

Improvements

  • Updated all translations.
  • Updated and added strings to Hebrew translation.
  • Updated Product Add-ons to 6.8.0.
  • Revert Appointment status to "in-cart" when order fails to enable re-payment.
  • Compatibility with WooCommerce 8.7.

Fixes

  • Importing addons globally does not work.
  • Missing View cart button on individually sold appointments.
  • Clear cache when appointment is trashed/untrashed.
  • Can't reorder addons.

[4.18.2] - February 22, 2024

Improvement

  • Simplified each order item ID call to speed the query.

Fixes

  • Blocks for appointments not loading, remove version checking as core supports it.
  • Exporting admin created appointments with tax is wrong.

[4.18.1] - February 16, 2024

Improvements

  • Updated Product Add-ons to 6.6.0.
  • PHP 8.3 compatibility.
  • Updated all translations.
  • Compatibility with WooCommerce Deposits 2.2.5.
  • Compatibility with WooCommerce 8.6.
  • DB length of the calendar event ID in availability rules set from 100 to 255.
  • Improved loading times for the time slots.

Fixes

  • Product Add-ons import not working.
  • Manual appointment with customer not working.
  • WooCommerce Deposits stutus set as paid for non-deposit appointments.
  • Adding appointments in admin with WooCommerce 8.6+.

[4.18.0] - November 10, 2023

Improvements

  • Compatibility with WordPress 6.4.
  • Include quantity field as hidden even when customer cannot choose the qty.
  • Removed excessive caching that could cause query issues.
  • gCal additonal staff ID checks when syncing.
  • Updated all translations.

Fixes

  • Free products status stays in-cart instead of paid.
  • Big issue when booking multiple appointments in one order with 100% discount.
  • Addons add a + sign even if the value is negative - fix it.
  • Skip staff ID's on sync attempt when empty.
  • Cannot assign appointments to existing orders with COT enabled.
  • WooCommerce TM Extra Product Options not working, when product quantity is missing.

[4.17.4] - November 7, 2023

Improvements

  • Compatibility check with WooCommerce TM Extra Product Options 6.3.2.
  • Compatibility with WooCommerce 8.2.
  • Updated Product Add-ons to 6.5.0.
  • Better integration with Product Add-ons blocks.
  • Updated all translations. Added lots on new strings.
  • Compatibility with WordPress 6.3.
  • PHP 8.2.8 compatibility.
  • Updated Product Add-ons to 6.4.5.
  • Radio Addons add a "none" feature people don't want.
  • Updated php rrule to 2.4.1.
  • Compatibility with WooCommerce 8.0.
  • Hidden input forms don't need a label.
  • Prevent quantity editing for appointable products.
  • Unnecessary call to constructor of extended WC_Appointment_CSV_Exporter class.
  • Do not cancel appointments with failed payments, unpaid status is sufficient.
  • Added filter 'woocommerce_appointments_gcal_remove_from_gcal'.
  • Updated php rrule to 2.3.2.
  • Updated rrule.js to v2.7.1.
  • Updated Product Add-ons to 6.4.3.
  • Compatible with PHP 8.1.9.
  • Removed Action Scheduler library since it is included with WooCommerce since 3.0.
  • Compatibility with WordPress 6.2.
  • Compatibility with WooCommerce 7.8.
  • Updated all translations. Added lots on new strings.
  • Updated Moment.js timezone lib to v0.5.43.

Fixes

  • Additional checks to make sure only appointments are rendered in templates.
  • Some addons missing closing DIV element - breaks layout of the site.
  • gCal for staff not working.
  • Addons checkbox missing closing DIV element - breaks layout of the site.
  • Adding appointment in admin to existing order not working.
  • Adding appointment in admin redirect is wrong.
  • Customer cancelled appointment does not cancel the TAX.
  • Cart block product quantity editing disabled.
  • Bug with untrash_post.
  • unneccessary pao_ids in gCal event after.
  • FUE (Follow Ups) integration update.
  • Fix Hebrew translation.
  • Restore trashed Appointment triggers FATAL ERROR.

[4.16.1] - November 28, 2022

Fix

  • Do not cancel unpaid orders.

[4.16.0] - November 28, 2022

✨ Features

  • Support for High-performance Order Storage ("HPOS"), also known as Custom Order Tables, "COT".
  • Structure to support WooCommerce blocks.
  • Ability to checkout appointments that require confirmation with the new WooCommerce blocks.

Improvements

  • Simplified appointment page for customer accounts.
  • Pricing override slot rule redundant.
  • Updated Product Add-ons to 5.0.2.
  • Set minimum PHP version to 7.0.
  • Set minimum WordPress version to 5.6.
  • Set minimum WooCommerce version to 6.0.
  • Compatibility with WooCommerce 7.1.
  • Remove redundant cost calculation for overrides.
  • Hide appointments payment gateway in the admin as it has no configuration.
  • Mark the confirmed appointments order as complete if the total is zero.
  • Removed legacy code for appointable product setup.
  • Option to register scripts as the type of 'module'.
  • Renamed gateway name/ID from 'wc-appointment-gateway' to 'wcappointmentsgateway'.
  • Updated all translations.

Fixes

  • Avoid PHP warnings when adding appointment manually.
  • Delete transient of appointment removed from cart to free up the product slots.
  • Do not change a failed order to "pending" when the appointment goes to "unpaid".
  • Appointments list API results count inconsistent.
  • Show category in API only if it has a appointable product.
  • REST API returns days that are not appointable.
  • Hide products from the /slot endpoint if their catalog visibility is set to hidden.

[4.15.0] - October 21, 2022

Improvements

  • Beginning the switch to ES6 in JS files.
  • Remaining chars in add-on fields duplicated.
  • Compatibility with WooCommerce 7.0.
  • Compatibility with WordPress 6.0.
  • Updated Product Add-ons to 5.0.0.
  • Filtered statuses for the Follow up emails.

Fixes

  • Inventory not taken into account when rescheduling in frontend - overbookings possible.
  • The tax string on single product page is displayed twice for Appointable products.

[4.14.8] - May 3, 2022

Improvements

  • Updated Product Add-ons to 4.9.0.
  • Compatibility with WooCommerce 6.4.
  • Updated all translations.

Fixes

  • was-in-cart status not removed and can build up in the backlog.
  • German, Dutch and French translation issues.
  • WPML availability rule quantity not copied.

[4.14.7] - January 27, 2022

Fix

  • Product Add-ons Subtotal never shown in 4.14.5.

[4.14.6] - January 27, 2022

Improvements

  • Replaced all dashicons for the calendar with HTML character.
  • Appointment number can now also accept strings from external plugins.

Fixes

  • Product Add-ons Subtotal never shown in 4.14.5.
  • TM Product Extra Product Options plugin and Add-ons positioning issue in cart.

[4.14.5] - January 26, 2022

Improvements

  • Compatibility with WordPress 5.9.
  • Updated compatibility with Polylang for WooCommerce 1.6.2.
  • Updated Product Add-ons to 4.5.0.

Fixes

  • Polylang staff costs and quantity erased on translated products.
  • Datepicker in admin shows html instead of icon from WP 5.9.
  • WC product Addons translation not working.

[4.14.4] - January 2, 2022

Improvements

  • Added 'woocommerce_appointments_product_defaults' to filter product defaults.
  • Added better compatibility with the Square payment plugin.
  • Compatibility with WooCommerce 6.1.
  • Updated Product Add-ons to 4.4.0.

Fix

  • Pagination at My Appointments account section.

[4.14.3] - October 8, 2021

Improvements

  • Replaced more array() instances with shorthand [] instance.
  • Updated Spanish translations.
  • Added new translated strings to all languages.
  • WooCommerce Payments multicurrency support for add-on fields.

Fixes

  • Some strings in "appointment-summary-list.php" are not translatable since 4.14.1.
  • Admin calendar should include the tax amount for listed appointments.
  • All new products (even simple) have the 'Virtual' option checked.
  • Saved customer ID for the appointment not shown.
  • Multi-day duration does not highlight selected days on disabled dates.
  • Pagination at My Appointments account section.

[4.14.2] - October 2, 2021

Improvements

  • Updated Product Add-ons to 4.2.0.
  • Products sold individually now work the same as default WC functionality.
  • Updated all translations.
  • WooCommerce Payments integration support.

Fixes

  • Heading for confirmation emails might be empty with external plugins.
  • WPML multicurrency does not work ok for appointments created in admin.
  • Reminder emails not always sent, when they should be.
  • Wrong time zone auto selected due to caching.

[4.14.1] - September 26, 2021

Fixes

  • md5() has array instead of string.
  • When more slots are scheduled than available, the slot should not be visible.

[4.14.0] - September 17, 2021

✨ Features

  • Send email to admin/staff when customer reschedules the appointment.
  • Add the 'sold individually' option for appointable products.

Improvements

  • Compatibility with WooCommerce 5.7.
  • Simplified echos to esc_html_e and esc_url_e.
  • Updated all translations.
  • Added 'woocommerce_appointments_cancel_appointment_redirect' &

Fixes

  • Properly escaped appointment name and status.
  • Wrong Appointment Duration on Reschedule.
  • Added robust appointment validation in admin as well.
  • REST API visible to everyone with a link - should not be.
  • http_build_query() PHP8 warning.

[4.13.1] - July 6, 2021

Improvements

  • Send customer email notification when unpaid appointments are canceled.
  • Updated Product Add-ons to 4.1.0.
  • Percentage based fee for add-ons for NON Appointable products.
  • Better sanitization for the appointment ID display.
  • Removed "WooCommerce Create Customer on Order" integration.
  • Updated all translations.

Fix

  • Reschedule button does not work outside My account pages.

[4.13.0] - June 15, 2021

✨ Feature

  • Phone orders: add customer (billing) data, when adding appointments in admin.

Improvements

  • Compatibility with WooCommerce 5.4.
  • Compatibility with WordPress 5.8.
  • Updated all translations.
  • Option to skip cache for the "get_appointment_ids_from_order_item_id" method.
  • Updated Product Add-ons to 4.0.0.

Fixes

  • Add-ons console error when required fields are selected.
  • Availability filter widget not counting for the start day.
  • Missing closing <div> on the appointment edit screen.
  • Select add-ons do not show selected options on page reload.
  • When using radio select add-ons, the providers selection is reset on page reload.
  • Cart adding appointments twice.
  • Staff all together not working ok.
  • Selecting staff can result in rendering HTML instead of staff images.

[4.12.0] - April 16, 2021

Improvements

  • Compatibility with WooCommerce 5.2.
  • Updated Product Add-ons to 3.7.0.
  • Updated all translations.
  • Only add appointment status in 'view-order' endpoint, order already has this.
  • REST-API filter appointments by customer_id.
  • Availability widget filter should include the end date.
  • Added 'wc_appointments_before_find_scheduled_day_slots' for filtering posted data.

Fixes

  • Default date not working correctly.
  • Auto updater not working.
  • Staff selection now only loads slots for the selected staff.
  • Cancel and Reschedule buttons now have nowrap style to prevent letter breaking.

[4.11.9] - March 22, 2021

Improvements

  • Add filter 'woocommerce_appointments_gcal_sync_twoway_enabled' for two way sync.
  • Add filter 'woocommerce_appointments_sync_from_gcal_event_start' for event sync.
  • Removed Select2 override classes for the admin fields.
  • WooCommerce Follow Up Emails appointment statuses trigger error.

[4.11.8] - March 20, 2021

Improvements

  • Attach user to appointment status changes.
  • Additional check for $product object (better compatibility with other plugins).
  • Re-tested compatibility with WooCommerce Follow Up Emails 4.9.13.

Fixes

  • Availability filter not formatted correctly as yyyy-mm-dd.
  • User not queried correctly after the product import.
  • Appointment customer not showing correctly.
  • Exporting/importing add-ons not importing duration.
  • Added was-in-cart appointment status to the list of all statuses.

[4.11.7] - March 14, 2021

Improvement

  • Removed code for very old WooCommerce versions not supported any more.

Fix

  • Payments can remain unpaid when payment gateways complete orders early.

[4.11.6] - March 12, 2021

Improvements

  • Prioritize WC_Customer data over pulling customer info from orders.
  • Updated French translation.
  • Cached WC_Order and WC_Customer queries for the appointment object.
  • Better code standards (phase 1).
  • Updated Product Add-ons to 3.5.0.

Fixes

  • Flush cache for products with single staff.
  • Don't cancel already cancelled appointment during sync.
  • Recurring events can sync with 1 hour difference (DST issue).

[4.11.5] - March 1, 2021

Improvement

  • Add 'woocommerce_appointments_gcal_sync_order_meta' filter for order meta sync.

Fixes

  • Make compatibility check for navigation work correctly in older WC versions.
  • Updating appointment changes from the synced gcal event can break time.
  • Sync appointment changes to the calendar event's description.

[4.11.4] - February 27, 2021

Improvements

  • Register menu items with WC Admin Navigation feature (deactivated by default).
  • Integration with WooCommerce PDF Invoices & Packing Slips plugin.
  • Compatibility with WooCommerce 5.1. Beta tested.
  • Compatibility with WordPress 5.7. Beta tested.
  • Updated Product Add-ons to 3.4.0.
  • Do not include addons.js when no addons are set for the product.

Fixes

  • Bug with gCal sync, typo.
  • Pretty timestamp not calculated correctly for long duration in months/days.
  • Google Calendar not updating when appointment is rescheduled.

[4.11.3] - February 13, 2021

Improvements

  • Compatibility with WooCommerce 5.0.
  • Compatibility with WooCommerce Multilingual 4.11.2.
  • Updated Product Add-ons to 3.3.1.
  • Added 'woocommerce_appointment_status_changed' hook, when status transition changed.
  • Replaced empty array() instances with shorthand [] instance.
  • When billing data is empty, try getting it from shipping data.
  • Removed duplicate appointment ID queries in admin.

Fixes

  • PHP 8 notices for required parameters after optional ones.
  • PHP 8 notices with WPML activated.
  • Syncing staff and global sync for the same appointment.

[4.11.2] - January 24, 2021

Improvements

  • Faster shop page rendering by caching global addon query.
  • Always add search for staff selection.
  • Filter 'woocommerce_product_is_in_stock' reinstated.
  • Updated php rrule to 2.2.2.

Fixes

  • PHP 8 issue with get_price_html() method.
  • Fixed filter 'woocommerce_email_confirmed_recipients'.
  • Fixed filter 'woocommerce_email_reminder_recipients'.
  • Fixed filter 'woocommerce_email_follow_up_recipients'.
  • Uploading files as add-on fields not working, when appointment added in admin.

[4.11.1] - January 10, 2021

Improvement

  • Added 'woocommerce_appointments_get_addons' filter.

Fix

  • PHP 8 issue with single '&' operator for comparison.

[4.11.0] - December 29, 2020

Improvements

  • Add filter 'woocommerce_appointments_before_rescheduled_appointment'.
  • Also export custom appointment statuses.
  • Also export customer status.
  • Include product ID instead of object inside appointment form template.

Fixes

  • Rescheduling duration not always taken into account.
  • Make sure quantity added to cart is never zero.

[4.10.9] - December 23, 2020

Improvements

  • Added full Slovenian translation.
  • Compatibility with WooCommerce 4.9.
  • Integration with WooCommerce Multi Currency plugin.

[4.10.8] - December 18, 2020

Improvements

  • Add filter 'wc_appointments_find_scheduled_day_slots' for filtering ajax call for slots.
  • Escape JS text strings.
  • Confirmation dialog for “cancel appointment” (customer side).
  • Updated all translations.
  • Admin calendar now lists customer name before the appointment time.
  • Updated Product Add-ons to 3.3.0.
  • Updated Select2 library to 4.0.13.
  • Compatibility with WooCommerce 4.8.
  • Added partial Slovenian translation.

Fixes

  • Translate calendars in admin through $wp_locale.
  • Add missing placeholders to appointment emails.
  • Only send out a reminder and follow up emails if the appointment is active.
  • Availability widget not working for same day from/to dates.
  • Availability widget showing unavailable products after the first available product.

[4.10.7] - November 12, 2020

Improvements

  • Enqueue "Select2" script above "selectWoo" in admin due to html rendering issues.
  • Make sure get_current_screen() function exists to avoid errors.
  • Do not auto-select same time slot on time zone change.

Fixes

  • Check if availability object exists before attempting to delete it.
  • Undefined variable: pre_wc_30 for confirmation email template.
  • Overriding rrules from Google calendar not working.
  • Flushing cache for products when staff profile is updated or deleted.
  • Flushing cache for products when appointment is updated or deleted.

[4.10.6] - November 3, 2020

Improvements

  • Updated all translations.
  • Refactored meta-boxes file structure.
  • Cleaned customer meta-box html.

Fixes

  • Week numbers for the availability not correct for following years.
  • Follow up variables not working.
  • Show current appointments in My-account instead of Today's.

[4.10.5] - November 1, 2020

Improvements

  • Added filters to include sold out time slots.
  • Removed deprecated "jQuery( document ).ready" method to prevent late script execution.
  • Remove useless "slug" meta box for appointments edit screen.
  • Updated moment-timezone.js lib to v0.5.31.
  • Updated moment-with-locales.js lib to v2.29.1.

Fixes

  • Padding duration filter name duplicated.
  • Showing slots that are unavailable due to padding.
  • Overbooking - padding not taken into account.
  • Slots left not working ok with padding.

[4.10.4] - October 28, 2020

Improvements

  • Compatibility with WooCommerce 4.7.
  • Integration with WooCommerce Deposits - Partial Payments Plugin v3.0.
  • Add filter for Follow up emails variables: 'fue_appointments_variable_replacements'.
  • Add customer details to admin/staff email types.
  • Add order details to cancellation email sent to admin/staff.
  • Update rrule.js to v2.6.6.

Fixes

  • Exporting only 50 appointments and excluding cancelled appointments.
  • Available slots visible from previously selected staff (if new staff has no availability).

[4.10.3] - October 23, 2020

Improvements

  • Add end date/time to Admin Calendar View.
  • Added action attribute to appointment form for better compatibility with external plugins.

Fixes

  • Reduce appointment quantity for partial refunds.
  • Reminder email is sent even if there is not enough time.

[4.10.2] - October 21, 2020

Improvements

  • Compatibility with WordPress 5.6.
  • Ensure cache expires.
  • Replace WC date and time formats with function to avoid empty strings.
  • Searching for appointments in admin not working ok without orders.
  • Hiding addon price and/or duration label across board (emails, orders,...).
  • Updated all translations.

Fixes

  • Pagination for appointments in My account not working correctly.
  • Remove deprecated jQuery methods.
  • When retrieving ICS file, Use get_site_url instead of home_url for multisite installs.

[4.10.1] - October 20, 2020

Improvements

  • Harden the compatibility with product add-ons extension.
  • Cleaned the onboarding screen from unnecessary extensions.

Fixes

  • When creating new account, add customer from created order.
  • Follow Ups not working ok with v4.10.0.

[4.10.0] - October 9, 2020

Improvements

  • Compatibility with WooCommerce 4.6.
  • Possibility to change all arguments for appointment export functionality.
  • Add-ons trigger admin-ajax on every char typed - only trigger on cost/duration change.
  • Hide appointment status on thank you page, since it is not relevant there.
  • Send a note to customer, when they have rescheduled their appointment.
  • Option to send a note to customer, when appointment is manually updated by admin or staff.
  • Added $appointment object to filters:
  • Datepicker in the availability widget needs to use local WP date format.
  • Updated Product Add-ons to 3.1.0.
  • Updated all translations.
  • Compatibility with WooCommerce Box Office extension.
  • Added hooks before and after quantity field for better compatibility with external plugins.

Fixes

  • Free appointments that require confirmation should not ask the client for payment.
  • Current appointments not showing in customer account.
  • Fix SQL query filtering for availabilities.
  • Restricting days option missing Sat and Sun due to CSS bug.
  • Duration not taken into account with NOT available rules.
  • Availability widget not checking all dates in range.
  • Automatically assigned (all staff together) not working ok.
  • Product with staff members (one unavailable) and inventory more than 1 not working fine.
  • Fatal error in 4.9.9 regarding Follow Ups integration.
  • When quantity is more than the max - it shows wrong 'slots left' message.
  • Linted PHP files to prepare everything for PHP 8.
  • Slots visible from previously selected staff (if other staff has no availability).

[4.9.10] - August 19, 2020

Improvements

  • Google Calendar oAuth access set to offline to work when user is absent.
  • Compatibility with WooCommerce 4.4.
  • Lowered transient deletion to 500 at a time. Avoid timeout.
  • 'woocommerce_appointment_export_data_args' to allow changing export data arguments.
  • WordPress 5.5 metabox arrows removed from appointment info edit screen.
  • Brought back stupid Marketing menu item, since WooCommerce moved coupons there.

Fixes

  • WordPress 5.5 REST API compatibility changes.
  • Check for appointment object before looking further.
  • date_i18n bug.
  • Product Availability rule with lowest Quantity overrides all other quantities.
  • Rescheduling does not apply changes to synced gCal event.
  • Availability widget showing products that have no availability.

[4.9.9] - July 27, 2020

Improvements

  • Compatibility with WordPress 5.5.
  • Additional checks for email templates to make sure appointment object is present.
  • Updated Product Add-ons to 3.0.36.

Fixes

  • 'woocommerce_cart_emptied' can cause overbookings.
  • Appointments Export does not export add-ons.
  • Adjust for timezone when requesting available slots from the API.

[4.9.8] - July 7, 2020

✨ Feature

  • Rescheduling appointments by customers (when enabled).

Improvements

  • Updated Product Add-ons to 3.0.34.
  • Remove WooCommerce Marketing menu (again).
  • Updated all translations.

Fixes

  • Add-on images notice, when no image assigned to swatch option.
  • Multiple shortcodes on same page with autoselect don't work.
  • Using 'all staff together' shows unavailable days (without slots).
  • Twilio SMS integration: reminders not going out at the right time.
  • Input fields styling in admin misaligned.
  • Make sure staff selection is not crippled by selectWoo script.
  • Quatity add-on allows overbooking in backend.

[4.9.7] - June 23, 2020

✨ Feature

  • Export appointments to CSV.

Improvements

  • Added add-ons to appointment list and calendars in admin.
  • Compatibility with WooCommerce 4.3. Beta tested.
  • Add product pricing rules and add-on rules to standard WC import/export.
  • Updated all translations.
  • Minimum WooCommerce version requirement is now 3.1.
  • Datepickers in admin do not require jQuery UI css any more.

Fixes

  • Scheduling window defined in hours and over 24 hours not working ok.
  • Possible bug in Gmail with multiple ICS files in one email.
  • Admin calendar not linking to synced events.

[4.9.6] - June 13, 2020

Improvements

  • Improved French translation. Big thank you to Alexandre Doyen.
  • Add appointment object variable to wc_twilio_sms_appointments_token_map filter.

Fixes

  • Overlapping appointments in admin calendar over the header section.
  • Fresh installation can throw error since plugin version is not saved yet.
  • Availability rules spanning overnight not removing time slots.
  • Inventory acting weird for next day when day before goes after midnight.
  • Availability widget showing products when none have availability.

[4.9.5] - May 21, 2020

Improvements

  • Compatibility with WooCommerce Follow Up Emails 4.9.1.
  • Updated Product Add-ons to 3.0.33.
  • Flush memcahe, when external object caching is detected.

Fixes

  • Customer not attached to appointment when existing customer logs in during the checkout process.
  • WC Follow-ups 'Last status' not working.
  • Problem with Admin Calendar Day View. WP defined time zone not taken into account.
  • Availability widget showing products when none have availability.

[4.9.4] - May 9, 2020

Improvements

  • Updated Product Add-ons to 3.0.32.
  • Added filter 'wc_apointments_qty_scheduled_in_slot'.
  • Add 'data-remaining' to time slots.
  • Added filter 'woocommerce_appointments_get_padding_duration'.
  • Updated all translations.

Fixes

  • Security risk - mask Google calendar sync fields and store data securely.
  • When order is reverted to Pending Payment, mark appointments as unpaid.
  • Translators guidance for specific strings.
  • Reverse back .ics file change introduced in 4.9.2.
  • TC Extra Product Options not working with.

[4.9.3] - April 8, 2020

Improvements

  • Updated Product Add-ons to 3.0.28.
  • Disabled WC Marketing menu item.

Fixes

  • Select2 library CSS fixes in admin.
  • Need to add overflow CSS rule for availability rules in edit-product.
  • Bug with inventory allows overbooking in v4.9.2.

[4.9.2] - March 30, 2020

Improvements

  • Compatibility with WooCommerce 4.0.1+.
  • Updated Product Add-ons to 3.0.27.
  • Added filter 'wc_apointments_check_appointment_qty'.
  • Updated all translations.
  • ics for client has wrong time when using timezones.

Fixes

  • Fix issue with quotes translations on default email subjects.
  • Reminder email not sent on partially paid appointments with deposits.

[4.9.1] - March 9, 2020

Fix

  • Use Action Scheduler 3.0+ only with WooCommerce 4.0+.

[4.9.0] - March 9, 2020

Improvements

  • Compatibility with WooCommerce 4.0.
  • Compatibility with WordPress 5.4.
  • Updated Action Scheduler to 3.1.1.
  • Highlight appointment data instead of labels in appointment summary list.
  • Updated Product Add-ons to 3.0.25.
  • Updated all translations.

Fixes

  • Duplicated messages when removing inactive appointments from cart.
  • Fix integration with Deposits when the order is manually set to partially paid.
  • Missing time slot at 00:00 when overnight availability rules are set.
  • Overnight availability rules not working correctly.
  • Time zones missing time slots.
  • Problem with availability when automatically selecting staff.

[4.8.20] - February 21, 2020

Improvements

  • Updated compatibility with Polylang for WooCommerce 1.3.2.
  • Appointment providers label in emails should reflect staff label set in product edit screen.
  • Sanitize all tooltips.
  • Sanitize all recurring rule errors.
  • Updated all translations.

Fixes

  • On page reload with selected addon the addon price is not taken into account.
  • Confirmation required product gives fatal error when non-appointable product is added to cart.
  • Combine admin notices on appointments removed due to inactivity.

[4.8.19] - February 18, 2020

Improvements

  • Updated Product Add-ons to 3.0.24.
  • Order with free and paying product should set the free appointment as 'paid'.
  • Added "autocomplete=off" to appointment form to prevent browser issues with add-ons.

Fixes

  • Product import/export doesn't import everything.
  • Changing product of booked appointent doesn't reflect the change in order.

[4.8.18] - January 31, 2020

Improvements

  • Grey out all unavailable days.
  • Make Addons integration global through $GLOBALS['Appointments_Integration_Addons'].

[4.8.17] - January 31, 2020

Improvement

  • Updated all translations.

Fixes

  • Staff ID missing.
  • gCal rule that ends at the same time the slot should start doesn't work.

[4.8.16] - January 30, 2020

Fixes

  • Make sure staff quantity cannot be zero by default.
  • Appointments break manual subscription renewal for Woocommerce subscriptions.

[4.8.15] - January 28, 2020

Improvement

  • Cache calendar data once and remove duplicate day attributes.

Fixes

  • Availability widget not showing all products.
  • Follow Up email being cancelled.
  • On page reload with selected addon the addon price is not taken into account.

[4.8.14] - January 26, 2020

Improvements

  • Updated Product Add-ons to 3.0.21.
  • Prevent browser auto-complete to fill calendar date/time inputs.
  • For monthly appointable products, made it more clear with a 4-digit year instead of 2-digit.
  • New filter woocommerce_appointments_apply_multiple_rules_per_slot to allow rule cost calculation logic to be modified.

Fixes

  • Follow up emails extension: does not load individual product.
  • Restrict start/end days CSS issue (Saturday not available).
  • Product calendar styling sometimes incorrect on first page load.
  • Repeating gCal events blocking out too much time.

[4.8.13] - January 9, 2020

Improvements

  • Add $appointments to all slot filters.
  • Removed unnecessary styling for appointment summary in my-account orders.

Fixes

  • Recurring rules can break the availability, when not structured properly.
  • Sending time for the Follow Up email is not taken from the Email settings.

[4.8.12] - December 28, 2019

Fixes

  • When staff syncs to the same Google calendar as site, always sync to site's global rules.
  • Date range with time rule not working correctly.

[4.8.11] - December 27, 2019

Improvements

  • Add add-ons in the edit-appontment for Appointments with status ‘in-cart’ or ‘was-in-cart’.
  • Add the order details to the 'New Appointment admin' email.
  • Filter for .ics file 'wc_appointments_ics_appointment' has been refactored.

Fix

  • Staff view calendar in admin is off.

[4.8.10] - December 25, 2019

Improvements

  • Full error log for gcal sync errors.
  • WooCommerce 3.9.0 compatibility.

Fixes

  • Do not sync back cancelled events as cancelled appointments.
  • Staff can sync to same google calendar, even if it doesn't make any sense.
  • No preference shows no availability when staff has no rules.
  • No preference does not show rules correctly, when not all staff have rules.

[4.8.9] - December 24, 2019

Improvements

  • Updated all translations.
  • Improved German translation.
  • More info in calendar header in admin, when scrolling.
  • Updated compatibility with WooCommerce Multilingual 4.7.5.

Fixes

  • WPML related error in latest version of WC and Appointments.
  • 'Date Range with time' not working when duration spans to next day.
  • Automatically Completing orders sends out the New Appointment email twice.

[4.8.8] - November 25, 2019

Fix

  • No preference does not show available dates for staff.

[4.8.7] - November 23, 2019

Fix

  • Revert back availability check change.

[4.8.6] - November 22, 2019

Improvements

  • Updated compatibility with WooCommerce Multilingual 4.7.3.
  • Required image swatches don't show error wih JS but reload the page.
  • Updated Product Add-ons to 3.0.20.

Fixes

  • Datepicker not working with Google Translate.
  • Addon quantity does not store minimum number 0.
  • Quantity add-on field does not respect min/max limits range.
  • Unavailable minutes should not be appointable.

[4.8.5] - November 14, 2019

Fix

  • Rendering of rules not working correctly.

[4.8.4] - November 14, 2019

Improvement

  • Better processing of staff rules, faster loading with lots of staff.

Fix

  • Requesting specific staff availability resulted in error.

[4.8.3] - November 13, 2019

Improvements

  • Updated German translation.
  • WordPress 5.3 styling compatibility.
  • Multiple themes font size compatibility.
  • Much faster loading with lots of synced events.

[4.8.2] - November 7, 2019

Improvements

  • Separate availability rules from Gcal rules for better overview.
  • Highlighted rows in admin that are currently being edited.
  • Updated all translations.
  • Required checkbox Add-ons don't show error with JS but reload the page.

Fixes

  • Admin UI borders were not collapsed correctly on Chrome browser.
  • Prevent rendering scheduled day slots when provided product ID is empty string.

[4.8.1] - November 4, 2019

Improvements

  • Compact appointments list template inside my-account.
  • Updated RRULE to v2.2.0.
  • Forced block styling for appointment form to prevent spilling with some themes.
  • Appointments tables in my-account are not responsive.
  • Updated Product Add-ons to 3.0.18.
  • Updated all translations.

Fix

  • RRULE uses locale, where datetime string is defined as 'en'.

[4.8.0] - October 26, 2019

✨ Features

  • Added follow-up email option.
  • Added additional content to all customer emails.

Improvements

  • Admin Calendar - border radius on calendar events.
  • Simplified email content and headings.
  • Code cleanup.
  • Updated all translations.

Fixes

  • Admin Calendar - Adding Product Filter with No Appointments changes date range to 1969 :)
  • REST API Slots were missing staff ID and scheduled count was not working.

[4.7.6] - October 21, 2019

Improvements

  • Introduced 'woocommerce_appointments_slots_availability' filter.
  • Updated menu icon from 'dashicons-backup' to 'dashicons-clock'.
  • Simplified menu name for adding new appointment.
  • Moved customer name from separate column to ID column in appointments list in admin.
  • Updated all translations.
  • Updated Product Add-ons to 3.0.17.
  • Do not load add-ons when post is not a product type.
  • Set new default availability rule to 'No', not 'Yes'.

Fixes

  • Admin/staff emails may be duplicated, send to unique addresses only.
  • When multiple appointment forms are displayed, only set time slot selected.
  • When multiple appointment forms are displayed, cache add-ons by product ID.

[4.7.5] - October 9, 2019

Improvement

  • Compatibility with WooCommerce 3.8.

Fixes

  • WPML Multilingual CMS 4.2.9 compatibility fixes.
  • WooCommerce Multilingual 4.6.7 compatibility fixes.

[4.7.4] - October 4, 2019

Fix

  • Global availability rules not saving correctly with recurring rules from Google calendar.

[4.7.3] - October 3, 2019

Fix

  • Memberships integration. Price set to 1, when product price is zero.

[4.7.2] - October 2, 2019

Improvement

  • Added attributes to Appointments REST API controller.

Fix

  • Memberships integration.

[4.7.1] - October 1, 2019

Improvement

  • Custom pricing rule for duration.

Fix

  • Staff costs not calculated.

[4.7.0] - October 1, 2019

Improvements

  • Much faster loading of appointment pages in admin with thousands of products.
  • Updated Product Add-ons to 3.0.16.
  • Appointment list in admin now renders through WC_Admin_List_Table.
  • Consolidated cache logic into a single class.
  • Cache is disabled when WC_APPOINTMENTS_DEBUG is true.
  • Consolidated appointment cost caluclation into asingle class.
  • Minimum height for calendar events in admin not set.
  • Updated all translations.
  • Customer billing data is display preferably if available.
  • Soft deprecated WC_Appointments_Form::convert_to_moment_format() replaced with wc_appointments_convert_to_moment_format().
  • Soft deprecated WC_Appointments_Form::get_posted_data() replaced with wc_appointments_get_posted_data().
  • Soft deprecated WC_Appointments_Form::is_appointable() replaced with WC_Product_Appointment::is_appointable().
  • Soft deprecated WC_Appointments_Form::get_formatted_times() replaced with wc_appointments_get_formatted_times().
  • Soft deprecated WC_Appointments_Form::calculate_appointment_cost() replaced with WC_Appointments_Cost_Calculation::calculate_appointment_cost().
  • Soft deprecated WC_Appointments_Controller::get_appointments_in_date_range() replaced with WC_Appointment_Data_Store::get_appointments_in_date_range().
  • Soft deprecated WC_Appointments_Controller::get_appointments_in_date_range_query() replaced with WC_Appointment_Data_Store::get_appointments_in_date_range_query().
  • Soft deprecated WC_Appointments_Controller::get_events_in_date_range() replaced with WC_Appointments_Availability_Data_Store::get_events_in_date_range().
  • Soft deprecated WC_Appointments_Controller::get_global_availability_in_date_range() replaced with WC_Appointments_Availability_Data_Store::get_global_availability_in_date_range().
  • Soft deprecated WC_Appointments_Controller::get_all_existing_appointments() replaced with WC_Appointment_Data_Store::get_all_existing_appointments().
  • Soft deprecated WC_Appointments_Controller::get_appointments_for_objects() replaced with WC_Appointment_Data_Store::get_appointments_for_objects().
  • Soft deprecated WC_Appointments_Controller::get_appointments_for_objects_query() replaced with WC_Appointment_Data_Store::get_appointments_for_objects_query().
  • Soft deprecated WC_Appointments_Controller::get_appointments_for_product() replaced with WC_Appointment_Data_Store::get_appointments_for_product().
  • Soft deprecated WC_Appointments_Controller::get_appointments_for_user() replaced with WC_Appointment_Data_Store::get_appointments_for_user().
  • Soft deprecated WC_Appointments_Controller::get_latest_appointments(). Not used in Appointments.
  • Soft deprecated wc_appointments_get_time_slots() replaced with WC_Product_Appointment::get_time_slots().
  • Soft deprecated wc_appointments_get_time_slots_html() replaced with WC_Product_Appointment::get_time_slots_html().
  • Soft deprecated wc_appointments_get_global_availability() replaced with WC_Appointments_Availability_Data_Store::get_global_availability().
  • Soft deprecated wc_appointments_get_staff_availability() replaced with WC_Appointments_Availability_Data_Store::wc_appointments_get_staff_availability().
  • Soft deprecated delete_appointment_slots_transient() replaced with WC_Appointments_Cache::delete_appointment_slots_transient().

Fixes

  • Filtering product and staff in admin calendar were not strict.
  • Add-ons and membership plugin not working ok - add-ons being discounted when they shouldn't.
  • WC POS seems to not be compatible - throwing error.
  • Availability for staff shown unavailable (blocked) when padding days are used.
  • Inclusive/exclusive inconsistency in logic for blocking Google Events' times.
  • Some Google Calendar events hidden in admin calendar.
  • Addons query duplicated and slows down loading with a lot of addons.

[4.6.2] - September 9, 2019

Improvement

  • Clear time slots transients.

Fixes

  • Saving any product type saves it as 'Appointable product'.
  • Lead Time - Weeks interpreted as Months.

[4.6.1] - September 8, 2019

Fix

  • Cart item removal error.

[4.6.0] - September 7, 2019

✨ Feature

  • Full integration with Kadence WooCommerce Email Designer plugin.

Improvements

  • Updated Product Add-ons to 3.0.15.
  • Simplified the email templates.
  • Simplified the email templates styling to conform with external email editing plugins.
  • [appointment_form] shortcode loads without parameters on a product page.
  • Added RTL support to all email templates.
  • Revert to default duration, when duration is zero or negative.
  • Deposits compatibility when adding apointment in admin.
  • Make the custom pricing rules accept 5 decimal places so that it can be rounded properly.
  • Updated all translations.

Fixes

  • Fatal error in admin calendar – Invalid UNTIL property for RRULE.
  • Conflict with Free products and Memeberships plugin.
  • Lead time hours not working ok - adds 1 hour too much.
  • Wrong duration when more than 24 hours.
  • Renamed filters back:
  • Multiple appointments with add-ons in 1 order add add-on options prom prev appointments.

[4.5.14] - July 25, 2019

Improvements

  • Dropped support for WooCommerce 2.6 (3 years old) for security issues.
  • Compatibility with WooCommerce Twilio SMS Notifications 1.12.3.
  • Attch .ics to Customer order emails.
  • Updated all translations.
  • Replaced method_exists with is_callable to prevent private methods from showing up.

Fix

  • Fatal error – Invalid UNTIL property for RRULE.

[4.5.13] - July 23, 2019

Improvements

  • Removal of all plugin data on un-installation. Constant 'WC_REMOVE_ALL_DATA' must be true.
  • Added filter 'woocommerce_appointments_stop_recalculate_order' customers can use
  • Compatibility with WooCommerce 3.7.

Fixes

  • Hold stock (minutes) used for holding appointments in cart. Stock time not respected.
  • empty_cart empties customer cart, but does not clear the Appointment cart.
  • Qty was set for appointment on each appointment load.
  • Change reminder scheduled action, when start time changes.
  • Editing appointment that was added through admin could cancel the reminder.
  • Editing appointment that was paid with COD could cancel the reminder.
  • Stop plugin from rendering, when WooCommerce isn't installed correctly.

[4.5.12] - July 18, 2019

Improvements

  • Updated @build dependencies for more efficient compressions.
  • Used advanced ESlink rules to tidy the JS code.

Fix

  • In Calendar guest name is not displayed anymore.

[4.5.11] - July 15, 2019

Improvements

  • Moved Availability filtering widget to /includes folder.
  • Moved Customize controls to /includes folder.
  • Merged product import and export class to remove duplicated default properties.

Fix

  • Fixed integration with plugin WooCommerce Price Based on Country.

[4.5.10] - July 14, 2019

Improvements

  • Updated Add-Fons to 3.0.13.
  • Updated all translations.

Fix

  • Admin calendar events overlapping.

[4.5.9] - July 13, 2019

Improvement

  • Mark unavailable times synced from gCal in WP admin calendar.

Fixes

  • Recurring events from Google calendar not synced to correct time zone.
  • Appointments in Trash sending appt reminders.

[4.5.8] - July 5, 2019

Improvements

  • Updated Add-ons to 3.0.12.
  • Updated RRULE to 2.1.0. PHP 5.6 is now required as minimum.
  • Improved integration with plugin WooCommerce Price Based on Country 1.8.9.

[4.5.7] - July 5, 2019

Improvement

  • Prepared appointment form to support rescheduling in future updates.

Fixes

  • Product Time zone not working in shortcode.
  • Product Availability auto-select not working in shortcode.

[4.5.6] - July 4, 2019

Improvements

  • Remove appointments filtering by created date in admin list table.
  • Option to filter appointments in admin with Start/End date filters.
  • Updated all translations.

[4.5.5] - July 2, 2019

Improvements

  • Appointment customer details now read from WC_Customer class.
  • Filter 'appointments_cancel_appointment_url' now includes the appointment class as parameter.
  • Fixed customer phone display in calendar dialog in admin.
  • Updated Hebrew translation.

[4.5.4] - July 1, 2019

Improvement

  • Checking if product is 'appointment' type is simplified.

Fix

  • Removed $order_parent_id that was not in use and caused plugin compatibility issues.

[4.5.3] - June 28, 2019

Improvements

  • Added 'calendar-data-loaded' trigger that allows hooking into calendar after it is loaded.
  • Updated moment.js libraries.
  • Performance optimization for generation of appointment slots.
  • Staff - No preference - selection is now disabled by default.
  • REST API permissions were not set correctly.

Fixes

  • Compatibility issue with API hook timing.
  • When multiple staff assigned and one is unavailable, the 'no preference' shows no slots.
  • Product with multiple staff 'No pref' not working ok.

[4.5.2] - May 24, 2019

Fixes

  • gCal sync from WP to gCal does not work on 4.5.1.
  • Duplicating an appointable product resulted in an error.
  • Duplicating an appointable product did not duplicate availability.

[4.5.1] - May 20, 2019

Improvements

  • New Appointable products do not have the 'Virtual' option selected by default anymore.
  • Sync appointments to gcal payed with a Deposit.
  • Sync schedule now hooked to 'action_scheduler_after_process_queue'. Prevents crowding the DB.
  • Sync schedule can now be disabled through 'action_scheduler_after_process_queue' action.
  • 'availability_autoselect', 'customer_timezones' possible attributes for [appointment_form] shortcode.

Fixes

  • Missing appointment ID from /appointments REST API.
  • Add-on error when product price is empty.
  • Add-on price could not be hidden with a filter.
  • Unable to view Global Availability issue.
  • Appointment reminder email seems to be timing on GMT not local time.
  • gCal too many action_schedulers even when there are no events in gCal.

[4.5.0] - April 26, 2019

✨ Feature

  • REST API support to GET: /appointments, /availabilities, /products, /slots.

Improvements

  • Updated Action scheduler library to 2.2.5.
  • Transients caching issues for availability rules and GCal sync.
  • Updated all translations.
  • Past Google events displayed as availability rules. Hide them.

Fixes

  • Added missing $product object to 'woocommerce_before_add_to_cart_button' hook.
  • Twilio appointment confirmation and follow up SMS not sending.

[4.4.9.4] - April 22, 2019

Improvements

  • Updated Product Add-ons to 3.0.11.
  • Caching plugin (probably W3TC) asks us to call to wp_cache_flush once the sync of is finished.

Fixes

  • Appointment card shows the Cost of the order instead of the appointment.
  • Adding new date rules on staff profile page bug.

[4.4.9.3] - April 18, 2019

Fixes

  • Don't sync when access token is empty.
  • Add-on duration defined in minutes, when product duration is either hours or minutes.
  • Unwanted element at the bottom of the single appointable product page.
  • WPML not syncing availability rules across products.

[4.4.9.2] - April 16, 2019

Improvements

  • Compatibility check with WooCommerce TM Extra Product Options 4.8.4.
  • Duration not prettified for hours.

Fixes

  • Add-on checkbox pre-selected, but empty after adding product to cart.
  • Can't add appointment to existing order.
  • Reset all appointment card details data on each selection.

[4.4.9.1] - April 12, 2019

Fix

  • Add-on duration error displayed.

[4.4.9] - April 12, 2019

Improvements

  • Moment Timezone JS library only included, when product supports time zones.
  • Availability and Pricing rule validation with smarter inputs.
  • Added more options to extend the calendar appearance.

Fixes

  • Availability between different products and same staff not showing correctly in calendar.
  • Add-ons not hiding price on radio buttons.
  • Add-on duration and didn't accept negative price and duration.

[4.4.8] - April 10, 2019

Fixes

  • $wp_locale not defined.
  • Recurring events failed to parse RFC string, unsupported property: EXDATE.

[4.4.7] - April 9, 2019

Improvement

  • Send reminders for appointments, created in admin.

Fixes

  • Staff price not counted when multiple staff automatically assigned
  • Removed duplicated product property "get_padding_duration_minutes()".
  • Padding not working.
  • Recurring events not working when timezone for UNTIL is not specified.
  • Reminders not going out at the right time.
  • Addon duration display when adding appointment in admin.

[4.4.6] - April 5, 2019

Improvements

  • Big Performance improvement with large number of appointments scheduled.
  • Add note to settings for Appointment Confirmed email.
  • Updated all translations.
  • Add the option to filter 'without staff' by selecting '–' in appointments list.
  • Backend Calendar for staff members optimizations.

Fixes

  • Addons with value below 1 are not being added to the total.
  • WooCommerce Twilio SMS Notifications 1.12.0 compatibility check.
  • Added back support for WooCommerce Twilio SMS Notifications below version 1.12.0.
  • Automatically assigned staff shows unavailable days as clickable.
  • Staff assigned together not working.

[4.4.5] - April 3, 2019

Fix

  • Performance issues.

[4.4.4] - April 3, 2019

Fix

  • Fatal error: after changing Gcal function name in version 4.4.3.

[4.4.3] - April 2, 2019

Fix

  • Fatal error: "class-wc-appointments-init.php" file had $this called wrong.

[4.4.2] - April 2, 2019

Improvements

  • Introduced 'woocommerce_appointments_calendar_single_card_data' filter.
  • Simplified admin calendar dialog for appointments.

Fix

  • Fatal error during update.

[4.4.1] - April 2, 2019

Fixes

  • Disallow zero as availability priority. Possibly set during upgrade to 4.4.0.
  • Spanish translation had some off strings.

[4.4.0] - April 1, 2019

✨ Features

  • Full/extended integration with Twilio SMS Notification extension.
  • Added CRUD for all availability rules.
  • Added "Date range with time" availability rule.
  • Ability for staff to sync 2-way or 1-way with their Google Calendar.

Improvements

  • Appointable product pre-selected when creating new product for the first time.
  • Updated Action scheduler library to 2.2.1.
  • Updated Product Add-ons to 3.0.10.
  • Updated all translations.
  • Simplified Add Appointment screen in admin. Removed No order option.
  • Global availability is not set by default any more.
  • Better compatibility with external email customization plugins.
  • Disable marketplace suggestions to remove confusion.
  • Sync from Google now operates on 1 minute intervals for both staff and globally.
  • Sync cash on delivery appointments to Google.

Fixes

  • Cannot add appointments in the backend.
  • Staff cannot select a calendar after initial calendar ID selection.
  • Gcal manual update shows last synced timestamp even if no events are synced.
  • PHP 7.3.2 compatibility.
  • Date picker not showing blocked dates correctly.
  • Padding calculations.
  • WPML compatibility re-check.
  • No preference showing unavailable days.

[4.3.4] - March 2, 2019

✨ Feature

  • Added today's appointments to My account page.

Improvements

  • WordPress 5.1 compatibility.
  • Moved installation and initialization functions into a separate class.
  • Increased JS standard to ES6.
  • Expanded compatibility for DateTime in older PHP versions and WC Ajax.
  • Added libraries from "Google PHP Client" and "RRule" for both PHP and JS.
  • Updated all translations.

Fixes

  • My account appointments show "Appointment" instead of "Appointments".
  • Addon duration for time slots not transferred when switching days.
  • .ics missing for admin email notification.
  • All assigned staff have available slots, when there should be none.

[4.3.3] - February 14, 2019

Fix

  • Availability rules not showing up.

[4.3.2] - February 13, 2019

Improvements

  • Updated Product Add-ons to 3.0.8.
  • Removed all 'dashicons' dependencies on frontend.
  • Better RTL syntax.
  • Admin Calendar now has split product and staff filter.

Fix

  • Timezone auto detection not working when multiple appointment shortcodes are used on same page.

[4.3.1] - February 9, 2019

Fix

  • Availability filter calendar not displayed correctly.

[4.3.0] - February 8, 2019

✨ Features

  • Added Availability filter widget.
  • Added full Italian translation. Many thanks to Giuseppe S. for the contribution.

Improvements

  • Add warning when adding Appointment to cart that requires confirmation and simple product is already in.
  • Updated all translations.
  • Updated Action scheduler library to 2.2.0.
  • Updated Product Add-ons to 3.0.7.
  • Decluttered appointment list UX and unified status label UI with WooCommerce order label UI.
  • Incompatibility with Elementor plugin.

Fixes

  • All users see staff fields in user edit screen.
  • Availability calculation for additional products is wrong when using WPML

[4.2.9.6] - January 20, 2019

✨ Feature

  • Added filter 'appointment_form_pricing_rules_for_start_date' for pricing rules to work on start date only.

Improvements

  • Time zone name (city by default) is added to all appointments for products with time zones enabled.
  • Time zone selection when multiple products with time zones are displayed at once.
  • Staff selection when multiple products with staff are displayed at once.
  • Additional check before running $field->validate().
  • Updated all translations.
  • Added option for month and year selection on the calendar through "wc_appointment_form_params" filter.

Fixes

  • PHP 7.3 issue with add-ons.
  • RTL adjustment for prev/next month in calendar navigation.

[4.2.9.5] - January 4, 2019

Improvements

  • Changed naming to "Admin New Appointment" to better reflect mail recipient.
  • Hardened emails for extensions send order instead of appointment object.

[4.2.9.4] - January 4, 2019

Fixes

  • Automatic time zone conversion on initial cookie setup.
  • Time zone in customer's emails not showing up.

[4.2.9.3] - January 3, 2019

Fixes


[4.2.9.2] - December 31, 2018

Fix


[4.2.9.1] - December 28, 2018

Fix


[4.2.9] - December 24, 2018

✨ Feature

  • Added reminder email time control.

Improvements

  • Decluttered email settings and made them in line with default WooCommerce email options.
  • Shorter default emails subject lines more in line with default WooCommerce email lines.
  • Updated all translations.

Fixes


[4.2.8] - December 18, 2018

Fixes

  • Add-ons not calculating duration, when quantity based.
  • Make sure translated plugin still updates automatically.

[4.2.7] - December 13, 2018

Improvements

  • Add default date / time format when empty
  • Updated Product Add-ons to 3.0.5.
  • Added WooCommerce plugin required notice after Appointments activation and no WooCommerce present.

Fixes


[4.2.6] - December 8, 2018

Improvements

  • Appointment form style as inline-block to make sure width is 100% when form is floated.
  • Better connection with WooCommerce TM Extra Product Options and Add-ons combined.

Fixes

  • Timezone picker could disable click actions on product site.
  • Select options for add-ons were missing None.

[4.2.5] - December 5, 2018

✨ Feature

  • Auto-detect customer's timezone.

Improvements

  • Timezone selection closed when clicked outside the selection box.
  • Added "Moment" JS library for better time manipulation.
  • Updated all translations.

Fix

  • Addon cart error during update.

[4.2.4] - December 3, 2018

Fix

  • Make sure appointment is displayed only on orders with products attached.

[4.2.3] - December 1, 2018

Improvements

  • Deactivate WC Product Add-ons extension if active and add a notice.
  • Better license activation notice.
  • Import/Export meta fields not translated, decluttering translation text-strings.
  • Updated all translations.
  • Updated Action scheduler library to 2.1.1.

[4.2.2] - November 30, 2018

Improvement

  • Temporarily disable None option for add-on fields (multichoice, radio button, ...)

Fixes


[4.2.1] - November 24, 2018

Improvement

  • Updated Product Add-ons to 3.0.4.

Fixes

  • Error in certain cases for the date picker.
  • Addons with no cost or duration disable "book now" button.

[4.2.0] - November 23, 2018

Improvements

  • WordPress 5.0 + Gutenberg full compatibility.
  • Updated Product Add-ons to 3.0.3.
  • Allow negative duration value in add-ons.
  • Ability to calculate add-on duration, based on quantity scheduled.
  • Switch to WooCommerce library for Select2 script.
  • Performance improvement for products that contain many appointable slots.
  • Prevent loading of availability on initial page load.
  • Added 100% Hebrew translation. Thanks yoni katz ;)
  • Updated all translations.
  • Move add-ons on orders to end of meta instead of the beginning.
  • https://bitbucket.org/bookingwp/woocommerce-appointments/issues/427/availabilty-not-syncing-with-gcal

Fixes


[4.1.8] - October 28, 2018

Improvement

  • added filter 'woocommerce_appointments_time_slot' to allow filtering single slots.

[4.1.7] - October 28, 2018

Improvements

  • Updated Action scheduler library to 2.1.0.
  • Display update notification even when license is not active.

Fixes


[4.1.6] - October 23, 2018

Improvement

  • Do not display user edit link when current user cannot edit the user.

Fixes


[4.1.5] - October 12, 2018

✨ Feature

  • Added "One Page Checkout" integration.

Improvements

Fixes


[4.1.4] - September 22, 2018

Improvements

  • Big security update, escaped all output.
  • Optimized code according to WordPress coding standards.
  • Appointments list in admin styled for mobile.
  • Updated all translations.

Fixes


[4.1.3] - September 9, 2018

Improvement

  • Removed "datepicker( 'refresh' )" after each autoselect.

[4.1.2] - September 9, 2018

Improvements

  • Faster appointment form load times by code optimization.
  • Removed double cost calculation on add-on selection.
  • Removed double cost calculation on staff selection.
  • Removed double cost calculation on date selection.
  • Reduced staff queries to $product, when call is just by staff_id.
  • Cached staff query to remove duplicates on single page load.
  • Removed duplicated add-on calls for before/after appointment form.
  • Updated WPML compatibility to WooCommerce Multilingual 4.3.5.

Fixes


[4.1.1] - August 31, 2018

Fix

  • Auto-selecting first available slot not working. Props to /Mattias F.

[4.1.0] - August 31, 2018

Improvements

Fixes


[4.0.0] - August 18, 2018

✨ Feature

  • Customers can set their own timezones.

Improvements

  • Custom pricing rules now apply to add-ons as well.
  • Updated all translations.
  • Added hook to allow bypassing slot availability checker
  • Product filters now ordered by product title for easier searching.
  • Reduced ajax cost calculation calls with time slots.
  • Added hook 'woocommerce_appointments_gcal_sync_parameters' to allow filtering all gcal parameters.

Fixes

  • Display appointments from "order ID" instead of "order item ID" as "_appointment_order_item_id" is not always unique.
  • Deprecated "btoa" function in JS for DatePicker in International Browsers.
  • Book now button is now disabled per html and per css class "disabled"

[3.9.2] - July 13, 2018

Improvement

  • Updated all translations. Thank you "Julien Lorion" for French translation.

Fixes


[3.9.1] - July 4, 2018

Fix

  • Transferred plugin license to a new BookingWP site.

[3.9.0] - July 2, 2018

Improvements

  • Rebranded plugin's author and parent to BookingWP
  • Re-tested WooCommerce Multilingual (WPML) 4.3.2.1 compatibility. No issues, added restricted days meta fields.
  • Better Polylang for WooCommerce 1.0.1 compatibility.

Fixes


[3.8.9] - May 25, 2018

Improvement

  • Updated Product Add-ons to 2.9.6

[3.8.8] - May 25, 2018

Improvements

Fixes


[3.8.7] - May 11, 2018

Improvement

  • Switched from wp_ajax to wc_ajax

Fixes


[3.8.6] - May 4, 2018

Improvements

Fixes

  • FirstDay in admin calendar picker not working, typo: fistday instead of firstday
  • Do not display empty rule for staff with no rules in admin user profile edit screen.
  • No preference doesn't count staff qty correctly, when staff is assigned through profile edit screen.

[3.8.5] - April 30, 2018

✨ Feature

Improvements

  • Add .disabled class attributes for themes that do not have it.
  • Updated all translations.
  • Refactor get_available_slots parameters.
  • Added 'woocommerce_after_appointment_form_output' hook for processing addons.
  • Moved 'woocommerce_before_add_to_cart_button' hook to default location.
  • Simplified integration with TM Extra Product options plugin.
  • Simplified integration with Gravity Forms Product Add-Ons plugin.

Fixes


[3.8.4] - April 20, 2018

Improvement

  • Temporarily disable 'find-scheduled-day-slots' nonce.

[3.8.3] - April 18, 2018

Fix

  • Padding for products messed calendar with hour/minute duration.

[3.8.2] - April 18, 2018

Improvements

  • Send new appointment notification to admin and staff for Cash on Delivery appointments.
  • Delete all gCal sync events on plugin un-installation.

Fix

  • Auto-select first available date in one of next available months.

[3.8.1] - April 17, 2018

Improvement

  • Updated Product Add-ons to 2.9.2

Fix

  • Cannot add appointments in admin.

[3.8.0] - April 16, 2018

✨ Features

  • Lazy load front-end calendar and cache the output for large number of appointments.
  • Present appointment info in WooCommerce dashboard widget in admin.

Improvements

  • Moved new email notifications for admin/staff outside WC_Emails::send_transactional_email.
  • Show when month is fully or partially scheduled.
  • Improved UI for appointment edit screen in admin.
  • Updated all translations.

Fixes

  • Don't allow last minute to be removed for global availability.
  • Slots shown as unavailable, when quantity still exists.
  • PHP Notice: Undefined variable: settings.
  • New appointment email notification to admin goes into loop.
  • Billing details overwritten when assigning new manual appointment to existing order purchased by guest.
  • Fix PHP notices by passing through the email parameter.

[3.7.3] - April 6, 2018

Fix

  • Admin calendar fixed header height span.

[3.7.2] - April 6, 2018

Improvements

  • Admin calendar now includes staff view.
  • Admin calendar improved on all levels, built with flexbox and more responsive.

Fixes


[3.7.1] - April 2, 2018

Fix

  • Fix 500 error on gCal sync with misconfigured calendar ID.

[3.7.0] - April 2, 2018

✨ Feature

Improvements

Fixes


[3.6.9] - March 20, 2018

Fixes


[3.6.8] - March 16, 2018

Improvements

  • Additional checks for empty SKU in [appointment_form] shortcode.
  • Add-ons with duration work better with appointment form.
  • Additional WPML checks for appointment email translations, which require WPML String translation service.

Fixes


[3.6.7] - March 4, 2018

✨ Feature

Improvements

Fixes

  • Additional checks for add-on field price format.
  • WPML duplicated appointment form on add-to-cart action.

[3.6.6] - February 28, 2018

Improvements

  • Reduce expensive ajax query to ""$appointment_form->get_posted_data" when possible.
  • Improved Availability settings UX to better accommodate Gutenberg editor.
  • Updated all translations.

Fixes

  • Additional checks for [appointment_form] shortcode.
  • Don't duplicate WPML appointments, when translated product doesn't exist.
  • Schedule cart removal for duplicated appointments in WPML.

[3.6.5] - February 26, 2018

✨ Feature

Improvements

  • Updated all translations to include new strings from new features.
  • Clear 'wc-appointment-remove-inactive-cart' scheduled hook on execution. Loophole when fired manually.

Fix

  • Do not calculate costs twice when add-ons selected with timeslots.

[3.6.4] - February 24, 2018

✨ Features

  • Added full Polylang integration.
  • Added integration with WooCommerce Create Customer on Order; create a customer when adding appointment in admin.
  • Option to render add-on fields before and/or after the appointment form.
  • Add-on fields duration now adjust timeslots shown.

Improvements

Fixes


[3.6.3] - February 15, 2018

Improvement

  • Improved compatibility with WooCommerce Follow Up Emails 4.6.4

Fix


[3.6.2] - February 12, 2018

Improvement

  • Updated all translations to include months feature.

Fix

  • Warning and notice for confirmation emails.

[3.6.1] - February 11, 2018

Improvements

Fixes


[3.6.0] - February 10, 2018

✨ Features

  • Added monthly duration option_name
  • Appointments data included in WooCommerce core import and export functionality.

Improvements

Fixes


[3.5.7] - December 22, 2017

Fixes


[3.5.6] - December 18, 2017

Improvements

  • Added weekday-x, with x as day number of week for each calendar day.
  • Bump tested version to WooCommerce 3.3
  • Order metadata synced with Google Calendar sync.
  • Better indication of places left, with overall number when staff is assigned.
  • Updated all translations.
  • Updated Product Add-ons to v2.9.1

Fixes


[3.5.5] - November 23, 2017

Improvement

  • Autoselect first available slot for next 12 months.

[3.5.4] - November 20, 2017

✨ Feature

Improvements

  • Added 'wc_availability_rules_priority' filter for modifying appointment rules level weight.
  • Updated translations.

Fixes


[3.5.3.1] - November 15, 2017

Improvement

  • Updated translations.

Fix


[3.5.3] - November 14, 2017

Fix


[3.5.2.1] - November 14, 2017

Fix

  • X-scroll issue with daily staff view in admin calendar

[3.5.2] - November 14, 2017

Improvements

  • Updated calendar design in admin.
  • Updated calendar design in frontend.

Fixes

  • When multiple staff is scheduled at once, use max quantity of all combined.
  • Make sure CSS classes are accounted for even for disabled days on calendar.
  • 'schedule_fo_' transient cache not working properly, missing from and to dates.
  • Google calendar events don't remove staff slots, when -- No Preference -- is selected.

[3.5.1] - November 11, 2017

Fix


[3.5.0] - November 7, 2017

✨ Feature

  • Allow price overriding for all Appointments by adding equals operator in the costs range.

Improvements

Fixes


[3.4.9] - October 28, 2017

Fixes


[3.4.8] - October 24, 2017

Improvement

  • Updated translations.

Fixes


[3.4.7] - October 21, 2017

Improvements

  • Removed compatibility for older version, where staff capacity was saved inside user edit screen.
  • Big performance improvements, especially when staff is assigned to products.

Fixes


[3.4.6] - October 19, 2017

✨ Feature

  • Allow downloadable items with appointments.

Improvements

  • Added integration with "WooCommerce Print Invoices/Packing Lists" extension.
  • To reduce confusion, replaced staff inventory placeholder with N/A.
  • Make sure Availability and Staff product admin menu tabs are place just below General and Inventory.

Fixes


[3.4.5] - October 12, 2017

Improvements

Fixes


[3.4.4] - October 9, 2017

Improvements

  • Calendar view selection in admin saved and set to default automatically.
  • Additional checks for staff existence.

Fixes


[3.4.3] - October 3, 2017

Fix

  • PHP Fatal error: Uncaught Error: Call to a member function skip_status_transition_events() on null

[3.4.2] - October 2, 2017

Improvements

  • Changed terminology from "Capacity" to "Inventory" before switching to WooCommerce default inventory system.
  • Week selection in admin calendar's week view by datepicker.
  • Updated translations.

Fixes


[3.4.1] - September 30, 2017

Improvement

  • Updated translations.

Fixes


[3.4.0] - September 29, 2017

✨ Feature

Improvements

  • Added link to staff profile inside admin calendar / appointment card.
  • Pagination of "My Appointments".
  • Switch order of operations for status_transitioned_handler.

Fixes


[3.3.3] - September 19, 2017

Fixes


[3.3.2] - September 15, 2017

Fix

  • Division by zero error.

[3.3.1] - September 14, 2017

Fix

  • Throwing JS errors for products with daily duration.

[3.3.0] - September 14, 2017

✨ Feature

  • New functionality to restrict the day an appointment can start on.

Improvements

  • Optimized loading times, much faster on all levels.
  • Added filters to allow switching to date created for My Account > Appointments.
  • Added wc_appointments_summary_list_date filter for wc_appointments_get_summary_list.
  • Moved Appointment Display to templates for orders on both front-end and admin.
  • Moved Appointment Summary list to templates for orders on both front-end and admin.
  • Send confirmation email for manually created appointments without an order.
  • Querystring for "time" now uses more readable format. Instead of "12:00", now "1200".
  • Removed "Order again" button for appointment orders.

Fixes


[3.2.9.1] - August 21, 2017

Improvement

  • Unavailable days show as available on calendar.

Fixes


[3.2.9] - August 17, 2017

Improvement

  • Book now button disabled until cost is calculated and availability checked.

Fixes


[3.2.8] - August 16, 2017

Fixes


[3.2.7] - July 31, 2017

Improvements

  • Double check if order has been created for the appointment.
  • Overnight rules for Sunday now correctly span into Monday.

Fixes


[3.2.6] - July 28, 2017

Fixes


[3.2.5] - July 26, 2017

Fixes


[3.2.4] - July 24, 2017

Improvement

  • Updated Product add-ons to version 2.9.0

Fixes

  • Update WC 3.x compatibilities when duplicating product.
  • Taxes not added when creating an appointment from admin.
  • Reminder and complete cron events not set if Appointment is created without an order from the backend.
  • Fatal error when appointments used with a cached objects.
  • Email ID was the same for customer and admin appointment cancelled email.
  • All day appointment option was being ignored on calendar after availability refactor.
  • Availability rules using Date Range calculation on the frontend.
  • "Connect with Google" does not save/update entries.
  • Availability rules with dates in the past should be ignored for performance reasons.
  • Add woocommerce_appointments_email_actions filter to allow additional Appointments emails.
  • Default price being used when price rules make price 0.
  • Incorrect date being checked when getting time slots vs availability rules.
  • Endless loop when auto completion of appointment when it has no order.

[3.2.3] - July 19, 2017

Fixes

  • Current day is not available, when lead time is less than 1 day.
  • Removed support for recurring events with Google Calendar sync, due to crashes.

[3.2.2] - July 18, 2017

✨ Feature

Improvements

  • Updated all translations.
  • Added additional get_price checks for better external plugin compatibility.
  • Updated WPML and added support for WPML multi-currency.

[3.2.1] - July 15, 2017

Fixes


[3.2.0] - July 14, 2017

Improvements

Fixes


[3.1.9] - June 29, 2017

Improvement

Fix


[3.1.8] - June 27, 2017

Improvement

  • Refactored and moved most DB queries to Data Store.

Fixes


[3.1.7] - June 22, 2017

Improvement

  • Calendar appointments in ASC order by start_date.

Fixes


[3.1.6] - June 21, 2017

Improvement

  • When customer is a registered user, show user details before billing details.

Fixes


[3.1.5] - June 7, 2017

Fixes


[3.1.4] - June 4, 2017

Fix

  • Slots that extend over midnight are not able to schedule.

[3.1.3] - June 4, 2017

Fixes

  • Availability rules for next day not working correctly.
  • Custom pricing for base cost and slot cost fixes.
  • Removed division and multiplier for custom slot cost as you can't multiply and divide zero.

[3.1.2] - June 2, 2017

Fix

  • Midnight availability rules not working correctly.

[3.1.1] - June 1, 2017

Improvements

  • All availability rules now apply for all slots
  • Global capacity now overrides product capacity for all products
  • Deprecated days global availability rule set by default in older plugin versions

Fix


[3.1.0] - May 30, 2017

✨ Features

  • Added customizer option to edit default color scheme
  • Deep WC Product Vendors integration

Improvement

  • Updated translations

Fixes


[3.0.9] - May 25, 2017

Improvement

  • .ics file now attached to all email notifications, except cancelled ones:

Fixes


[3.0.8] - May 23, 2017

Improvements

  • More CRUD queries
  • Refactored functions, controllers and rule manager
  • "Cash on delivery" payments trigger reminders and admin/staff notifications

Fixes


[3.0.7] - May 16, 2017

Fix


[3.0.6] - May 16, 2017

✨ Feature

  • Set customer status to "No Show" when appointment is past due and is not paid for

Fixes


[3.0.5] - May 12, 2017

✨ Features

  • Add-on fields inside Google Calendar sync
  • On certain cases not syncing to Google calendar

Fixes

  • Trashing an appointment will no longer trash its order if order has other items.
  • Compatibility issue with Product Add-Ons integrations.

[3.0.4] - May 9, 2017

✨ Feature

  • Added add-ons to appointment edit screen in admin

Fix

  • Fixed autoselect for date/time

[3.0.3] - May 6, 2017

Fix

  • Fixed Google calendar sync on appointments list

[3.0.2] - May 5, 2017

Fix


[3.0.1] - May 4, 2017

Improvement

  • My account page displays better appointment data

[3.0.0] - May 4, 2017

✨ Feature

  • WooCommerce 3.0 full CRUD compatibility

Improvements

  • Better date/time rendering with duration always visible
  • Update translations

Fixes


[2.6.3] - April 6, 2017

✨ Feature

  • Added Spanish translation es_ES

Improvements

Fixes


[2.6.2] - March 2, 2017

Fixes


[2.6.1] - March 1, 2017

Fix


[2.6.0] - February 26, 2017

✨ Feature

Improvements

Fixes


[2.5.2] - February 21, 2017

Fixes


[2.5.1] - January 23, 2017

Improvement

  • Linted all PHP files

Fix


[2.5.0] - January 22, 2017

Improvement

  • Better automatic updates for the plugin.

Fixes


[2.4.9] - January 20, 2017

Improvements

Fixes

  • Fixed Google Calendar response_move variable notice.
  • Google calndar events not synced into existing products correctly.

[2.4.8] - January 19, 2017

Improvement

  • Added missing appointment_id variable to Follow Ups plugin integration.

Fixes

  • Only schedule reminder for future appointments.
  • Midnight being 1 minute short is now fixed.
  • Datetime checking now works for the full appointment duration and not just intervals.
  • Added missing $minutes_not_available variable for checking scheduled out time.
  • Saving staff clears transients correctly.

[2.4.7] - January 6, 2017

Fixes

  • Notices on comflict not working correctly.
  • Clearing transients on staff deleting on product edit screen.
  • Removed unused Appointment Notification email template to reduce confusion.

[2.4.6] - January 4, 2017

✨ Feature

  • Notice on appointment conflicts in admin

Improvements

  • Deprecated 'woocommerce_appointments_appointment_cost_string' filter
  • Date/time editing for approved/confirmed appointment should reschedule reminders.
  • Better organized external integration classes

Fixes


[2.4.5] - December 26, 2016

Fixes

  • Minute slots shows not available when paired with time range with date rule type.
  • Blogname not shown when cancelling appointments via bulk order.
  • Availability rules ignored for hour duration type in certain configurations.
  • Form fields don't save due to non-indexed form arrays.
  • Fully scheduled days showing up as partially scheduled days and can be over scheduled.
  • Product add on not calculating on when the duration unit was set to day.

[2.4.4] - December 23, 2016

Improvements

  • Updated Product add-ons to version 2.7.26
  • Dropped some support for WooCommerce 2.1 or older

Fix

  • Some date format might be causing unintended message: "The earliest appointment possible is currently..."

[2.4.3] - December 14, 2016

Fixes


[2.4.2] - December 9, 2016

Improvement

  • Updated translations

Fix

  • Availability rules issues.

[2.4.1] - December 7, 2016

Fix

  • PHP error when adding appointment in admin.

[2.4.0] - December 7, 2016

✨ Features

  • Better support for Deposits partialy paid status.
  • Full compatibitily with Follow Up Emails extensions 5.0

Improvements

  • Dropped support for WooCommerce 2.2 or older
  • Improved cutomer metabox

Fixes

  • "Time Range (date range)" availability rule now works as it should
  • Different rule types couldn't be used on the same product as priorities were not respected across types.
  • Unavailable slots showed when rule time range goes beyond midnight (e.g. 9:30 PM - 06:30 AM )
  • Date with time showed days as not available when only a few hours was set is not available.
  • Multiple appointments per order cancellation emails polluted email data.

[2.3.0] - November 16, 2016

Improvements

  • Filter woocommerce_appointments_get_posted_data to filter the data within an ajax request.
  • Filter woocommerce_appointment_is_scheduled_on_day.
  • Appointment status strings can be translated.
  • Refactored appointment product query, broken into several parts
  • Better code quality
  • Updated translations

Fixes


[2.2.9] - November 2, 2016

✨ Feature

  • Set up advanced caching functions for implementation with one of next updates

Improvement

  • Updated Product add-ons to 2.7.25

Fix

  • Staff capacity re-fix

[2.2.8] - October 25, 2016

Improvement

  • Minor performance upgrade

Fixes


[2.2.7] - October 19, 2016

✨ Feature

  • Introduced staff capacity

Improvement

  • Updated all translations

Fixes


[2.2.6] - October 14, 2016

Fix


[2.2.5] - October 14, 2016

Improvement

  • Appointment filtering by staf and/or product available

Fixes

  • No more duplicates from Google Calendar sync to multiple sites
  • Appointment filtering now works for date and status inside appointment list table

[2.2.4] - October 13, 2016

✨ Feature

Improvements

  • Slightly optimized code for better performance
  • Added filter 'woocommerce_appointments_convert_to_hours'
  • Unavailable times don't show up for multiple staff assigned any more
  • Better day availability detection for multi-day duration

[2.2.3] - October 5, 2016

Fix


[2.2.2] - October 5, 2016

Fix

  • Slots scheduled on Google Calendar not greyed out on calendar

[2.2.1] - October 4, 2016

Improvement

  • Updated Product add-ons to 2.7.24

Fixes

  • Live Google Calendar sync now connects to correct resource ID
  • Syncing all statuses now possible

[2.2.0] - October 3, 2016

✨ Features

  • Calendar now has option to see all staff in columns for Day View
  • Google Calendar v2
  • Ability to define minimum and maximum quantity required for schduling

Improvements

  • Calendar dilog box has better styling and customer avatars are enabled
  • Day View has been improved and allows for better display
  • Simpler query for appointable products
  • Twilio SMS now better integrated

Fix


[2.1.6] - September 16, 2016

Improvements

  • Added filter 'woocommerce_appointments_get_staff_assignment'
  • Product Add-ons: Duration label can be hidden for customers
  • Product Add-ons: Price label can be hidden for customers

Fix

  • Better integration with plugin WooCommerce Twilio SMS Notification

[2.1.5] - September 14, 2016

Improvement

  • Updated Product add-ons to 2.7.23

Fixes


[2.1.4] - September 5, 2016

✨ Feature

Improvements

  • Added much better WPML + WooCommerce Multilingual support
  • Priority for availability is now on product level: Product < Staff < Global
  • When duration is set to multiple days, all days available for scheduling are highlighted, not just start date
  • Updated My Appointments template page under My Account !IMPORTANT Save permalinks to take into account updated structure
  • Updated all translations

Fixes

  • Renamed main plugin filename.
  • Email recipients not showing "customer" in email settings.

[2.1.3] - September 1, 2016

Fixes


[2.1.2] - August 31, 2016

Improvements

  • Updating appointment status manually now triggers events like reminder emails etc.
  • Deprecated filter 'woocommerce_appointments_remind_before_days' and replaced it with 'woocommerce_appointments_remind_before_time'
  • New filter 'woocommerce_appointments_remind_before_time' now allows you to specify '1 hour' or '1 day' etc.
  • When staff is changed and autoselected date/time is on, don't reload the whole calendar

Fixes


[2.1.1] - August 19, 2016

Fix

  • Email templates now copied to woocommerce/ folder for overriding

[2.1.0] - August 18, 2016

Improvements

  • Moved all template overrides from /woocommerce-appointments/ to core /woocommerce/ theme folder
  • Support core template overrides scan via 'woocommerce_template_overrides_scan_paths'.
  • Introduced better template versioning, baked into core WooCommerce system
  • Optimized DB query for existing appointment
  • Updated all translations

[2.0.1] - August 16, 2016

Improvement

  • Admin calendar with miultiple staff assigned

Fixes


[2.0.0] - August 12, 2016

✨ Features

Improvements

  • Updated all translations
  • Avaialbility rules and capacity now work across board without any known glitches
  • Updated all email templates !IMPORTANT if you edited email templates
  • Product and staff now separated in admin
  • Padding is now simplified and works much smoother, when padding times are evalauted for multiple product for same staff
  • Added template versioning for better future compatibility

Fixes


[1.9.15] - July 20, 2016

Improvement

  • Updated German translation

[1.9.14] - July 19, 2016

Improvement

  • Updated translations and added RTL support

[1.9.13] - July 19, 2016

✨ Feature

  • Added German translation

Improvements

  • Updated Product Add-ons to v2.7.21
  • Appointments with price set to zero are now labled as Free!
  • Transitioned to system fonts on all levels
  • Updated Hebrew translation
  • Updated Dutch translation
  • Filter to account for different country calendar formats 'woocommerce_appointments_mdy_format'.

Fixes

  • Order status not being prefixed in db.
  • Remove heavy appointment object cache from being saved to db causing performance issue.
  • When staff is not enabled, default it to customer assignment.
  • Partially scheduled days were not showing on the calendar for duration minute and hours.

[1.9.12] - July 18, 2016

Fix


[1.9.11] - July 18, 2016

Improvement

  • Fixed CRM Integration (filter instead of action) New features: display customer & order notes as tooltips.

Fixes


[1.9.10] - July 8, 2016

Improvements

  • WordPress 4.6 compatibility
  • Date picker now unified across admin interface and automatically translated for WP 4.6+
  • Theme compatibility fixes for calendar on front-end

Fixes

  • Admin scripts for datepicker now called correctly
  • Automatic staff assignment on empty staff

[1.9.9] - July 7, 2016

Improvements

  • Styled datepicker in admin
  • Styled admin calendar
  • Moved all-day appointment to top
  • Removed jQuery UI style from front-end

Fix


[1.9.8] - July 4, 2016

Improvements

  • Moved appointments in My account to separate tab (WC 2.6+ feature)
  • Increased staff avatars size to 48px for retina displays
  • Further integration with http://codecanyon.net/item/woocommerce-point-of-sale-pos/7869665
  • Better appointment editing screen
  • Better day view calendar
  • Updated Select2 library to v4.0.3
  • When staff count is less than 6, search is disabled

Fixes


[1.9.7.2] - June 23, 2016

Fix

  • Unavailable dates displayed on calendar

[1.9.7.1] - June 23, 2016

Fix

  • PHP error

[1.9.7] - June 23, 2016

Fixes

  • Staff select box now displays correctly with increased z-index
  • Edit staff link in admin is now fully clickable
  • Auto-selecting first available day doesn't trigger automatically any more
  • Availability rules work for time range with date correctly

[1.9.6] - June 22, 2016

Improvements

  • Staff availability drops to default if no availability is set up.
  • Only paid and confirmed appointments are considered for occupied date/time slots
  • Filter wc_appointments_product_get_available_slots

Fixes


[1.9.5] - June 17, 2016

Fix

  • Site crash due to unregistered is_plugin_active() function

[1.9.4.1] - June 17, 2016

Fix


[1.9.4] - June 17, 2016

✨ Feature

  • Option to Auto-select first available day

Improvements

  • Reduced staff table queries to 1 transient
  • Significant loading time reduction
  • Updated Product Add-ons to v2.7.19

Fixes


[1.9.3] - June 15, 2016

✨ Features

Improvements

  • Text "Book Appointment" is now "Book Now" and "Book Now" is now only "Book"
  • Slightly faster appointment form loading time

Fixes


[1.9.2] - June 8, 2016

Improvements

Fix

  • Integration with latest version of "WooCommerce TM Extra Product Options" plugin

[1.9.1] - June 6, 2016

Improvements

  • Updated Product Add-ons to v2.7.18
  • admin calendar works better

[1.9.0] - May 30, 2016

✨ Feature

Improvements

  • admin CSS structure
  • admin calendar time format now in line with site's time format

[1.8.9] - May 25, 2016

✨ Feature

  • Times are converted to local times of visitors

Improvement

Fix

  • Updating appointments with no orders PHP notice

[1.8.8] - May 23, 2016

Improvement

  • Admin calendar view dialog now includes appointable product title

[1.8.7] - May 21, 2016

✨ Feature

  • Admin calendar appointment can be viewed in a dialog for better overview with basic actions

Improvements

  • Improvement admin calendar view
  • Appointment reminder email now shows reminder for today if set so

Fixes


[1.8.6] - May 8, 2016

Improvements

  • Replaced all date and time format with native WooCommerce functions
  • Added current time indicator for day view, when viewing current day
  • Improvement admin calendar view

Fix


[1.8.5] - May 4, 2016

Improvement

  • Frontend calendar design looks slightly better

Fixes


[1.8.4] - April 22, 2016

Improvements

  • Cache appointment objects in appointment's controller.
  • Google calendar sync now works better for all statuses. Sync appointment when appointment is edited from edit appointment screen.
  • Use WC logging mechanism, especially when appointment is added to or removed from cart.

Fixes

  • Make sure appointment costs that span beyond end of the year are supported.
  • Staff availability is now displayed correctly.
  • Add a false value if order_ids return empty during search. This fixes issue of SQL syntax error when searching in Appointments.
  • Limit status changes to only affect qualifying appointments. This should prevents status updated to 'was-in-cart' issue.
  • Set default staff availability quantity to 1 which fixes issue of a product with staff is not appointable.
  • Construct Date-object from UTC to ignore browser's TZ and incorrect calculated duration on particular timezones.
  • Check automatic staff assignments on each date to make sure a fully scheduled date is not available instead of partially scheduled.
  • Use admin_url instead of WC()->ajax_url() for ajax_url in class-wc-appointment-form.php WC()->ajax_url() uses relative scheme that might cause if fronted site is SSL'ed.
  • Reset tags on email body before each trigger which fixes tag placeholders. were not substituted properly.
  • Removed deprecated args causing notices displayed in confirmation email.

[1.8.3] - April 19, 2016

Fix


[1.8.2] - April 18, 2016

✨ Feature

  • Added Hebrew language support

Improvements

  • Added 'woocommerce_appointments_calendar_view' filter that allows setting default calendar view to 'day'
  • Updated Product add-ons to 2.7.17

Fixes


[1.8.1] - March 30, 2016

Improvements

  • Product Add-ons intergration updated to 2.7.16
  • Select2 library updated from RC1 to 4.0.2
  • Linted all JS files

Fixes


[1.8.0] - March 25, 2016

✨ Features

  • Pricing rule for quantity scheduled
  • Added support for padding days, not just padding hours

Improvements

  • Added option for quantity inside Add appointment in admin screen
  • Localized admin calendar inside appointment edit screen
  • Appointments statuses now available for translation
  • Color palette resembles that from latest WooCommerce version
  • Show discounts for each day in calendar with 'add_theme_support( 'woocomerce-appointments-show-discounted-slots' );' added to your theme

Fix

  • Appointment with guest checkouts now list 'Guest' on the list of appointments

[1.7.9] - March 22, 2016

✨ Feature

  • Allow multiple appointments per staff at one time

Improvements

  • Appointable product page load speed increased
  • Add-on price symbol now wrapped in span with class name "amount-symbol"

Fixes

  • Undefined notice for global availability settings
  • Availability rule order now correct global > product > staff
  • Previous day was highlighted
  • Dates that are not available are now disabled

[1.7.8] - February 29, 2016

Fix


[1.7.7] - February 27, 2016

✨ Feature

  • Staff notification emails

Improvement

  • Added margin below email notification table for better styling

[1.7.6] - February 27, 2016

Improvements

  • Calendar font now inherits body font
  • Calendar day columns now have the same width
  • Select2 library updated to 4.0.2-RC1

[1.7.5] - February 24, 2016

Fixes

  • PHP Notice: Trying to get property of non-object in \includes\class-wc-appointment.php on line 566
  • PHP Notice: Undefined variable: values in \includes\integrations\class-wc-appointments-integration-addons.php on line 98

[1.7.4] - February 24, 2016

Fixes


[1.7.3] - February 17, 2016

Fix

  • Scheduled multiple quantity is now correctly calculated in

[1.7.2] - February 12, 2016

✨ Feature

  • Select custom time intervals independently from duration

Improvement

  • Cancel time is now by default 1 day prior to appointment instead of 1 month

Fix

  • Adding appointment in now shows the calculated price

[1.7.1] - February 12, 2016

Fixes

  • Sale price display error
  • Translation of remaining slots for scheduling

[1.7.0] - February 11, 2016

✨ Feature

  • Customer can now schedule multiple appointments at once

Improvements

  • Add-ons cost now displayed with a plus + sign prefix
  • jQuery: deprecated size() replaced with length()
  • Updated translations
  • Add-ons multipled with quantity scheduled

Fixes

  • gCal sync error on appointment removal fixed
  • Appointment editing in admin now correctly synced with corresponding Order

[1.6.2] - February 9, 2016

Improvements

  • Added more WPML support
  • New Appointments specific add-on section under WooCommerce > Add-ons.
  • Show a notice when viewing an appointment if it's add-on plugin no longer is installed.

Fixes

  • Prevent the Duration input field from displaying on non appointment products when using the product add-ons extension.
  • Prevent start times that end after date times from showing up when using padding times.
  • Appointment in "My Account" not created with Confirmation Requried Appointment + New User account
  • Missing ending double quotes in order note of appointment status transition
  • Use full unit 'hour' when using date/time str in strtotime
  • Removed a bug with cost calculation that resulted in PHP warning

[1.6.1] - February 4, 2016

Fix

  • Price wasn't calculated correctly for Staff, when pricing rules were empty

[1.6.0] - February 3, 2016

✨ Features

  • Custom pricing rule
  • Additional price per staff

Improvements

  • Price calculations on all product levels
  • Display FROM label before price, when additional costs are applied
  • Staff capacity overrides appointment capacity
  • Staff is set as appointment author, so you can filter capabilities correctly

Fixes

  • No preference for staff now selects only available staff
  • Changing staff on scheduling form now reloads the time slots

[1.5.4] - January 28, 2016

Improvements

  • Updated Add-ons to version 2.7.15
  • Sync appointments without orders (manually created appointments) to Google Calendar.
  • Humanized order status in order column of appointments list.

Fixes

  • If the new staff input is canceled, the staff input area will no longer be blocked.
  • Format the datetime form based on site language (matches behavior for day form).
  • Fix for possible availability problems using time range slots.
  • Prevent extra border from showing on time slots when using TwentySixteen as your theme.
  • Save the correct (appointment, not order) ID when saving appointment details on the admin screen.

[1.5.3] - January 27, 2016

✨ Feature

  • Ability to check availability rules against starting slot in range only

[1.5.2] - January 26, 2016

✨ Feature

  • Full integration with 'WooCommerce Follow Up Emails' extension

Improvement

  • Display of appointment customer in admin

[1.5.1] - January 20, 2016

Improvements

  • Updated Add-ons to version 2.7.14
  • Some WooCommerce 2.5 compatibility fixes

Fix

  • Staff access to their schedule

[1.5.0] - January 15, 2016

✨ Feature

  • Capacity can be overriden on availability rule level, great for classes

Improvements

  • When manually creating appointments that either have no order or are attached to an existing order, the status will now default to "confirmed" instead of "pending confirmation".
  • Adding staff now more stramlined
  • Deprecated time range on specific date and replaced with time range with date range
  • Highlighted all selected day if appointment lasts for more than 1 day
  • Not messing with WooCommerce pricing any more. Selecting price label doesn't set price to zero.

Fix

  • Fix ranges on non-product rules.

[1.4.6] - December 23, 2015

✨ Feature

  • Full WPML compatibility

Improvements

  • Added 'woocommerce_appointments_get_posted_data' filter
  • Added 'woocommerce_appointments_order_item_status' filter

Fix

  • Capacity is now independent from staff count

[1.4.5] - December 23, 2015

✨ Features

  • Integration with free plugin "WooCommerce Product Price Based on Countries"
  • Integration with free plugin "TM Extra Product Options"

Improvements

  • Zero total in cart should avoid cache, temporarily disabled hiding price, when zero
  • Updated Select2 script to 4.0.1

Fix

  • Price including tax displayed correctly

[1.4.4] - December 17, 2015

Improvement

  • New filter added: 'woocommerce_appointments_gcal_sync_statuses'

[1.4.3] - December 17, 2015

Improvements

  • New filter added: 'woocommerce_before_appointment_form_output'
  • WooCommerce 2.5+ compatibility

Fixes

  • Email reminders not looped any more
  • Email reminders now sent on paid appointment status only

[1.4.2] - December 8, 2015

Fix

  • Add-ons syntax error

[1.4.1] - December 8, 2015

Fixes

  • Calendar day names localization
  • Product Add-ons localization is now merged with "woocommercea-appointments" text-string

[1.4.0] - December 5, 2015

✨ Feature

  • Appointments by day - can be scheduled for multiple days at a time.

Improvements

  • Better UI for adding appointments in admin
  • Integrated product add-ons, when adding appointments in admin
  • Add-ons displayed after available time slot is selected
  • Add-ons now show extra duration next to each addon label

[1.3.1] - December 1, 2015

Improvement

  • first day of week also applies to admin calendar picker

[1.3.0] - December 1, 2015

✨ Features

  • Time based appointments can now extend into the next day.
  • Rules can now have priorities set to create custom availability schedules.

Improvements

  • New filter to change custom appointment labels.
  • Our "partially scheduled" indicator now works for day slots with multiple spots.
  • Tooltips have been added on the appointment calendar to explain what each color means.
  • New get_wc_appointment_statuses() to return an array of appointment statuses.
  • Use wc_date_format/wc_time_format instead of hard-coded format strings for default date & time formats.
  • Updated Product Add-ons to 2.7.13

Fixes

  • Rules ending at midnight will now properly be parsed.
  • Google Calendar events now properly include the correct end date.
  • Slots smaller than 30 minute chunks will no longer get cut off on the admin calendar.
  • Prevent the partial scheduled indicator from sometimes showing on a previous day to a day with appointments.
  • If there are 0 time slots left, make sure not to show the slot at all.
  • Fix a bug with hours spanning days that can potentially show (still unschedulable) slots on other days
  • Show days as available if time based rules say so.
  • Fatal error that occurs when setting an appointment's scheduled product to N/A.
  • Associate appointment details with an order, even if the appointment and order are created separately.
  • Only send appointment cancelation emails for appointments and not orders.
  • Next/Previous tooltip text can now be translated.
  • Capacity not showing correct number

[1.2.4] - November 9, 2015

✨ Feature

  • added shortcode 'appointment_form'

Improvements

  • Better price display with label instead of cost
  • Removed any cost mention, when cart/order total is zero

Fixes

  • appointment form design now more consistent
  • time range with specific date now works correctly (leading zero not added for months and days)

[1.2.3] - October 15, 2015

Fixes

  • wc_appointment_pretty_addon_duration functions definition
  • Product Add-ons assests linked correctly
  • availability error

[1.2.2] - October 15, 2015

Improvement

  • Better price display with sale price

Fix

  • Price label display

[1.2.1] - October 15, 2015

Fix

  • Availability for Time range (specific date) now works, when no other rule is active

[1.2.0] - October 14, 2015

✨ Feature

  • When duration longer than 120 minutes it gets broken into hours and minutes

Improvements

  • Updated WooCommerce Product Add-ons to 2.7.10
  • Front-end classes now fire inside $GLOBALS[] variable
  • Translations can now be handled inside WP languages directory
  • Replaced WC deprecated functions

Fixes

  • Cancelled appointment staff member
  • Select2 removed from datetime-picker.php template
  • Padding time now assinged correctly

[1.1.0] - September 7, 2015

Fixes

  • Clear transients after an order is canceled by a user
  • Show an error message if an invalid date is entered
  • Fatal error that sometimes occurs when canceling a "requires confirmation" appointment
  • Search now correctly pulls out appointments when you search for customer info
  • Correctly calculate the quantity of spots needed in create_wc_appointment if the multiplier is set to yes & multiple persons are appointment

[1.0.0] - September 1, 2015

No changes documented for this release.


This changelog is automatically generated from the plugin's changelog.txt file during the build process.