13 versions available
Subscribe to connect and install
* Fix - REST API v1: Fixed critical bug in Products controller where appointment-specific fields (duration, interval, staff assignments, etc.) could not be updated via PATCH/PUT requests due to incorrect use of array_keys() in the update loop. * Fix - Timezone display setting now only controls timezone UI/selection by context (frontend/admin/all); when disabled, timezone picker behavior is suppressed and booking/slot/cost calculations consistently fall back to site timezone. * Fix - Google Calendar: Importing or restoring synced availability rules (including backup restores) no longer triggers rule sync to Google Calendar.
* Fix - Google Calendar: manual sync from a staff profile now pulls that staff’s calendar; `sync_from_gcal()` no longer ignored `set_user_id()` when called without a user ID argument. * Fix - Google Calendar: staff calendars eligible for automatic multi-calendar sync now include users with the `wc_appointment_staff` role as well as `shop_staff`; role list is filterable via `wc_appointments_gcal_staff_roles_for_sync`. * Fix - Sold out snippet: add_filter( 'woocommerce_appointments_include_sold_out', '__return_true' ); not rendering fine on frontend. * Fix - End slots might be cut off due to wrong timezone calculations. * Fix - Sorting time slots sometimes puts time slot from end to the middle of the array. * Fix - Prevent spill of time slots from other days into viewed day.
* Fix - Admin panel: resolved "Call to unknown method: WC_Product::get_staff_ids()" by ensuring it is only called on valid appointment products with the missing method check. * Fix - Product Add-Ons duration + padding: storefront cost/availability checks for time-based products now include padding in extended-range slot coverage, preventing false "Sorry, the selected slot is not available." when add-ons extend duration across slot boundaries.
* Improvement - Clear date, time, addons and cost on month/year switching on the date picker. * Improvement - Remove all transient caching from the slot generation, actually slows down loading with indexing enabled. * Improvement - Add a fail-safe approach to "woocommerce_appointments_time_slots" filter by adding back the 10th arg. * Fix - all-day appointments are timezone agnostic, treat them like that in admin calendar and elsewhere. * Fix - edge case when indexing is disabled, indexing rules and appointments should not add them to the cache table. * Fix - Failed Schedule Action wc-appointment-reminder (Twilio SMS connection). Issue #1305. * Fix - Rule priority order should be respected from DB query. Issue #1306. * Fix - When timezones are disabled for frontend do not account for the timezone cookie, which might remain from previous state. * Fix - Admin datepicker header navigation SCSS is slightly off. * Fix - Recurring time rule lasting till midnight does not show day as available on the calendar.
* Fix - Staff availability rules are now indexed to the availability cache during save (synchronously), same as global rules, so availability is correct immediately after saving. * Fix - Staff rule indexing was previously deferred to async jobs and could result in corrupted or missing cache entries; indexing now runs in the same request after the transaction commit.
* Feature - Add timezone enable/disable setting, not just the filter. Filter overrides the setting. * Feature - Add much more context to admin/staff when customer books in different timezone. * Feature - Add timezone context to admin and staff separately, when in different timezone for all involved: admin, staff and customer. * Improvement - Remove "—" before time selection in date-time form. * Improvement - Gcal sync should not deuthorize instantly and should deuthorize only after 3 failed attempts. * Improvement - Stale appointments shown from cache briefly and then hidden. Issue #1301. * Improvement - Add a setting to disable the timezones inside Appointment WooCommerce settings. * Improvement - Updated all translations. Added translations for the General product settings. * Improvement - FOUC fixes applied to availability rule settings, which did not render nice from initial load. * Improvement - Show uploaded files in addon fields as links in appointment viewing modal in admin. * Improvement - Show uploaded files in addon fields as links in appointment viewing modal in admin. * Improvement - Centralize cart simulation for testing, so any plugin can hook in, woocommerce default factored in. * Improvement - Snippet to show month/year dropdown on frontend booking form doesn't work. Issue #1300. * Fix - date and time format should never use localize version for internal checking. 3-layer fix applied. * Fix - gcal_availability_rules() calls set_sync_token() without user context. * Fix - sync_from_gcal should return after the staff loop to avoid re-running the global sync with a potentially corrupted context. * Fix - date and time format should never use localize version for internal checking. 3-layer fix applied. * Fix - When staff disconnects the sync with gcal, it disconnects the main calendar sync. clear local tokens only. Issue #1298. * Fix - When staff disconnects the sync with gcal, it should clear their calendar as well as gcal config to avoid stale data. * Fix - PayPal sandbox testing can cause overbooking. Not a live example, but still should not do that. * Fix - Fix already_indexed_in_request guard to track status — allow re-index on status change. * Fix - Count of synced rules includes expired rules, but shouldn't. * Fix - Yellow background highlighting availability rows should be removed when out of input focus. * Fix - Timezones strtching to other days when switched do not open those days for certain availability rule types.
* Feature - Staff permissions: Rules set by staff now sectioned into minimal, standard and full, staff doesn't need that many options. * Improvement - ICS export not working for other calendars (only works for gCal). Issue #970. * Improvement - Updated all translations. Staff permission settings missing translations. * Improvement - Appointments edited in admin calendar should instantly sync to the Google calendar, when connected. * Improvement - Appointment creation modal now has slightly polised UX, less autoclosing/autoopening, better timing and spacing. * Improvement - Appointment creation modal and viewing modal should have a simple link to appointment edit page, no fancy redirects. * Fix - Staff permission for editing and creating products not working, but should grant staff access to all products. * Fix - Automatically assigned staff together issue when no staff assigned. Issue #1292. * Fix - Patch non-indexed path where showing sold out slots could trigger fatal error through filter. * Fix - Minimal CSS patch to prevent transition effect (added elsewhere) on datepicker back/forward buttons. * Fix - Patch to show status drodown correctly on appointment viewing modal when statuses have long translations. * Fix - Timezone change to UTC on frontend not working. Issue #1294. * Fix - Timezone text on frontend not changing when selecting default. Issue #1295. * Fix - Timezone overnight change not reflected on the calendar date picker. Issue #438. * Fix - Appointment vierwing modal shows wrong duration for daily or monthly duration types. Issue #1296. * Fix - Timezone should also be added to daily and monthly durations during creation or editing in admin calendar. Issue #1296. * Fix - When product is selected in modal, end date/time is not adjusted based on product duration. * Fix - When staff creates appointment in modal, they should be assigned to the product, not any other staff member. * Fix - When staff is logged in, admin calendar should server preload appointment for the staff, but loads the via API (slower). * Fix - Fix get_slots_availability to expand DB query range by padding. Issue #1256. * Fix - Fix indexed path to include padded range more strictly. Issue #1256.
* Improvement - Remove JS hover effect for back/forward buttons on the frontend date picker, CSS styling only. Issue #1276. * Improvement - Add back option for Add as customer in modal for creating appointment, needs Screen options enabling. Issue #1290. * Improvement - Add better error feedback notice for quantity in admin modal for creating appointments. * Improvement - Refactored responsiveness and mobile UX for viewing and creating appointment modals in admin. * Improvement - Admin modal for viewing appointments status changing for more statuses, moved into conntent from modal footer. * Improvement - Updated all translations. * Fix - Admin modal for creating appointments should refresh mini date picker when quantity or staff chanage. Issue #1289. * Fix - Staff dashboard link to availability section in their profile is broken.
* Feature - Staff dashboard: Migrated from custom submenu page to native WordPress dashboard widgets using wp_add_dashboard_widget().
* Feature - Staff dashboard: 8 individual widgets — Overview, Appointment Trends, Upcoming Appointments, Insights, This Week, Monthly Schedule, Top Products, Quick Actions.
* Feature - Staff dashboard: 3-column layout with automatic widget placement for staff users on first visit.
* Feature - Staff dashboard: Pending appointments alert rendered as native WP admin notice at the top of the dashboard.
* Feature - Refactored email timezone approach so each recipient will receive appointment times in separate email in their own timezone.
* Feature - Refactored admin calendar filtering system to work much better.
* Improvement - Staff dashboard: Removed forced redirect from WP dashboard (index.php) to custom page — staff now land on the native dashboard.
* Improvement - Staff dashboard: WordPress Dashboard menu item now visible for staff users.
* Improvement - Staff dashboard: Admin bar "Dashboard" link points to WP dashboard instead of old custom page.
* Improvement - Staff dashboard: Default WP/WooCommerce widgets removed for staff to keep dashboard focused on appointments.
* Improvement - Staff dashboard: Split monolithic template into 8 widget partials in views/dashboard-widgets/.
* Improvement - Remove extra week addded to month view in admin as it adds confusion.
* Improvement - Missed cached/indexed path are now patched: slots API, availability widget and block, finding default date.
* Improvement - Add timezone in my-account, so customer always know which timezone appointment time is displayed in.
* Improvement - Update all translations. Fixed mistranslated strings.
* Improvement - When panel in admin modal for creating appointments is toggled gently scroll to the content if outside the viewport.
* Improvement - Make past appointments faded, but not semi-transparent.
* Improvement - Faster product preload for appointment creation modal.
* Improvement - Add a legend to the footer of admin calendar, indicating stripped background meaning.
* Improvement - Timezone setting for staff should include current timezone suggestion, same as customer setting does in my-account on frontend.
* Improvement - Add appointment ID to toast messages in admin calendar.
* Improvement - Staff dashboard should align more with the profile color scheme staff selects.
* Cleanup - Staff dashboard: Removed old html-staff-dashboard.php template, add_dashboard_page(), render_dashboard(), and redirect_staff_dashboard() methods.
* Cleanup - Staff dashboard: Updated all references from old page slug (wca-staff-dashboard) to admin_url('index.php').
* Fix - Staff can create appointments with any product if permission allows it, otherwise not.
* Fix - Staff control panel live update/refresh does not work.
* Fix - Availability check in modal wrongly allowed manually entered time that wasn't available with selected staff.
* Fix - Are you sure not translatable in admin modal prompt.
* Fix - When product is selected in admin calendar filter, preselect it when creating appointment from calendar with name set, not just ID.
* Fix - Current week widget for staff did not account for timezone.
* Fix - Admin modal for creating appointments has slightly bigger font now, 13->14px.
* Fix - DST adjustments on all levels, use wall-clock-based conversion instead of offset, time conversion should follow exact date as well.
* Fix - Email order summary timezone conversion not working for admin and staff and still shows times in customers timezone.
* Fix - Some email templates are falsely flagged as not-admin email types, but they are, timezone conversion suffers in some cases.
* Fix - "appointment_time_from" validates input incorrectly inside modal for creating appointments.
* Fix - Toast message in admin calendar should only appear once for single action.
* Fix - Current time and day in week and day view should also be timezone aware in admin calendar.
* Fix - Invalidate cache selectively in admin calendar when appointments change to update stale cache and prevent double rendering.
* Fix - Recurring rules display also needs to account for the timezone of user.
* Fix - When admin is editing staff profile, edit in admin's timezone, but still show what timezone staff has set.* Feature - Admin calendar toast notifications: Real-time updates when appointments are created, updated, cancelled, or rescheduled via SSE. * Improvement - Customer contact icons in appointment modal: Email and phone icons appear on hover with click-to-action (mailto/tel). * Improvement - Appointment needs to use staff_ids as single source of truth, added comprehensive checks to ensure this. * Improvement - Guest appointment that leaves name/surname should display it in admin calendar even if not registered. * Improvement - Update all translations. * Improvement - Show Guest name in Calendar view + change default calendar view. Issue #1271. * Improvement - Appointment modal has all content filterable through React/JS. * Improvement - Ensure plugin installation does not happen too early and everything hooks after 'init' call to avoid potential issues. * Improvement - Deposits with one full and one part payment appointment in the same order. Issue #1270. * Fix - Resolved double notification issue when cancelling appointments by improving SSE event deduplication. * Fix - SSE not updating admin calendar for appointments created via shortcode checkout (deduplication was blocking status change events in same request). * Fix - Fix NL translation. * Fix - Staff 2-way sync doesn't work fine with multiple calendars sync (staff + global). Issue #1268. * Fix - Sync issue: when parent recurring event was deleted, modified instance availability rules remained orphaned. Issue #1216.
* Improvement - Updated What's New admin page with better styling and to include clear roadmap, updates with improved release notes. * Improvement - Refining admin calendar hover effects, turn past appointments grayscale and unavailable time ranges into stripes. * Fix - Non-recurring rules could expire same day, before the 30 days grace period. Issue #1261. * Fix - Cart persistence: Rewrote cart_loaded_from_session with whitelist approach to prevent premature cart clearing with any payment plugin. * Fix - Only removes items from cart when order is definitively paid (processing/completed/partial-payment). * Fix - Removed delete_in_cart_appointments_before_empty method as it was too unpredictable.
* Improvement - Speed up loading of avatar, staff and order in admin calendar appointment modal.
* Fix - Return $appointments to filters to avoid breaks with custom code.
WooCommerce AJAX filtering solution enabling dynamic product refinement without page reloads across multiple filter types.
WordPress SMTP plugin that routes emails through reliable SMTP servers and email service providers to improve deliverability.
Conceals WordPress, plugin, and theme information to reduce automated attack exposure without modifying server files.
No-code automation platform that connects WordPress plugins, sites, and external applications to create automated workflows.
WordPress performance optimization plugin that improves site speed through code optimization, lazy loading, caching, and resource management.
WordPress caching and performance optimization plugin that improves site speed through caching, compression, and lazy loading.