*** WooCommerce Appointments Changelog ***

2026.01.26 - version 5.1.2
* 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.

2026.01.22 - version 5.1.1
* Fix           - Staff permissions in admin calendar: Staff members without 'manage_others_appointments' capability can now only see their own appointments. Issue #1265.
* Fix           - Add-on price not calculated correctly with product quantity (flat fee, quantity-based, percentage-based). Issue #1266.
* Fix           - WCML 5.5.x compatibility: Restored version checking logic for WCML_Product_Addons constructor. Issue #1264.
* Fix           - Google Calendar 2-way sync: Changes made in gCal were not reflecting in WP due to overly aggressive date comparison check blocking updates. Issue #1263.

2026.01.21 - version 5.1.0
* 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.

2026.01.19 - version 5.1.0-rc2
* Feature       - Create new Calendar API, used internally to power the new admin calendar.
* Improvement   - Instantly load appointment modal and all data when selected in admin calendar.
* Improvement   - Show hover effects in admin calendar.
* Improvement   - Show admin calendar times in WordPress time format set by user.
* Improvement   - Remove automatic redirect to what's new admin page after update/installation. Issue #1260.
* Improvement   - Update all translations.
* Fix           - Error with "autoselect first slot" in 5.1.0-rc1. Issue #1259.
* Fix           - Appointments sync back as availability rules in 5.1.0-rc1. Issue #1258.
* Fix           - When syncing back from google calendar, make sure modified date is processed correctly. Issue #1253.
* Fix           - PayPal Payments plugin compatibility: Disable smart buttons on appointment product pages to prevent cart issues.
* Fix           - "Requires confirmation" with 100% discount coupon now correctly completes order after confirmation. Issue #1254.
* Fix           - Make sure 'checkout-draft' doesn't clear appointments from cart/checkout with persistent sessions.

2026.01.15 - version 5.1.0-rc1
* Feature       - Export system refactoring: Implemented unified exporter interface for CSV and ICS formats.
* Improvement   - Added Export Manager class to centralize exporter registration and routing.
* Improvement   - Reorganized all exporter files under includes/admin/export/ for better organization.
* Improvement   - Added format selection (CSV/ICS) to admin export page.
* Improvement   - ICS export now respects all filter options (date range, products, staff, add-ons).
* Improvement   - Renamed WC_Appointment_CSV_Exporter to WC_Appointments_CSV_Exporter for consistency.
* Improvement   - Update all translations to account for updated and new strings.
* Improvement   - Interval should start from first available slot. Issue #1214.
* Fix           - Staff with gCal sync issue 5.1.0-beta2.
* Fix           - WooCommerce Deposits not working ok on any more. Issue #1250.
* Fix           - Do not mark global calendar unavailable, when availability rule doesn't cover all days.
* Fix           - Indexing turned on makes produce Interval start from midnight instead of inside each available range. Issue #1252.
* Fix           - When there are available gaps but not long enough for the whole appointment, the day is clickable, still not available. Issue #1252.
* Fix           - Appointment remains in cart as order is created too late in some cases.

2026.01.09 - version 5.1.0-beta3
* Improvement   - Optimized slow appointment queries by adding composite index on (post_id, meta_key) to postmeta table.
* Improvement   - Query optimization: Use INNER JOIN instead of LEFT JOIN when meta values are required (used in WHERE or ORDER BY).
* Improvement   - Query optimization: Use EXISTS subqueries for filtering conditions instead of JOINs when meta is not used in ORDER BY (significantly faster).
* Improvement   - Query optimization: Only JOIN meta keys that are needed for ORDER BY, use EXISTS for pure filtering (reduces JOIN overhead).
* Improvement   - Optimized get_qty_input_max() query: Replaced OR conditions with UNION for better index usage and performance.
* Improvement   - Added composite index on availability_cache table (source, qty, appointable, scope, product_id, staff_id, source_id) for get_qty_input_max() queries.
* Improvement   - Added automatic index creation for appointment postmeta queries on plugin activation/update.
* Improvement   - Added index verification and logging to ensure indexes are created successfully.
* Improvement   - Phase 3: Single Responsibility Refactoring - Extracted booking logic into dedicated classes.
* Improvement   - Created WC_Appointment_Booking_Lock class with exponential backoff retry mechanism.
* Improvement   - Created WC_Appointment_Booking_Handler class to centralize booking operations.
* Improvement   - Refactored create_wc_appointment() and add_appointment_from_cart_data() to use booking handler.
* Improvement   - Updated booking lock functions to use WC_Appointment_Booking_Lock class with backward compatibility.
* Improvement   - Admin modal customer creation now saves all billing fields to user account, matching checkout.
* Improvement   - Admin modal now saves billing data for existing customers when provided.
* Improvement   - Admin modal staff selection properly handles multiple staff scenarios and "No preference" option.
* Improvement   - Admin modal "Create account" checkbox automatically hides when customer is selected.
* Improvement   - Added comprehensive timezone architecture documentation across codebase. See docs/TIMEZONE_ARCHITECTURE.md.
* Improvement   - Significantly improved performance of get_appointment_ids_by() queries, especially for customer appointment lookups with date filters. Reduced from 3 JOINs to 1 JOIN + 2 EXISTS subqueries for typical queries.
* Improvement   - Improved get_qty_input_max() query performance by using UNION instead of OR conditions, allowing MySQL to use indexes more efficiently.
* Fix           - Fixed staff selection field not being enabled when multiple staff available.
* Fix           - Fixed array to string conversion warning when creating appointments in admin modal.
* Fix           - Admin modal staff selection only disables when "all staff assigned together", not when staff data is temporarily empty.
* Fix           - Admin modal now randomly selects staff when "no preference" is selected, matching frontend behavior.
* Fix           - Fixed timezone handling where selecting a day showed 23:00 for previous day. Changed to local methods in timestamp extraction.

2026.01.08 - version 5.1.0-beta2
* Improvement   - Document the whole code base properly. PHPDoc was missing or wasn't done correctly for a lot of cases.
* Improvement   - Querystring date/month/time selections now use direct function calls instead of triggering click events.
* Improvement   - Optimized WC_Appointments_Cache::set() to avoid unnecessary database writes when values haven't changed.
* Improvement   - License activation, when limit is reached now displays the notice that reflects this.
* Fix           - REST API v2 slots endpoint now correctly returns WP_REST_Response instead of array.
* Fix           - REST API v2 slots endpoint date-only max_date parameter now correctly includes all slots on the day.
* Fix           - "Use legacy calendar temporarily" option does not work.
* Fix           - Programmatic clicks from date/month/time picker now stop propagation to prevent theme conflicts.
* Fix           - Unavailable slots are no longer displayed when staff rules make them unavailable.
* Fix           - Latest WooPayments (10.4.0) causes Internal server error on wc_appointments_calculate_costs.

2026.01.05 - version 5.1.0-beta1
* Improvement   - event.stopPropagation() on time slot click.
* Improvement   - PHP modernization: Added 5 interfaces for better code contracts and type safety.
* Improvement   - PHP modernization: Created 2 traits to eliminate code duplication across 8 classes.
* Improvement   - PHP modernization: Refactored 3 meta box classes to use shared trait, eliminating ~45 lines.
* Improvement   - PHP modernization: Implemented exporter interface in CSV and ICS exporters.
* Improvement   - PHP modernization: Refactored 5 manager classes to use shared manager trait.
* Improvement   - PHP modernization: Updated integration classes to implement integration interface.
* Improvement   - Modernization of integrations usage and dependencies.
* Fix           - License management refresh shows notice and deactivation doesn't hide it.

2026.01.04 - version 5.0.2
* Improvement   - Speed up loading of avatar, staff and order in admin calendar appointment modal.

2026.01.03 - version 5.0.1
* Improvement   - Update documentation suggestions to the new docs.bookingwp.com site.
* Improvement   - Re-index up to retention date, do not index all appointments.
* Improvement   - Speed up re-indexing and avoid logging deletion, truncate instead.
* Fix           - Re-indexing large amounts of data should not result in PHP timeout.
* Fix           - Next suggest time in admin modal for creating appointment should not use timezone conversion twice.

2026.01.02 - version 5.0.0
* Improvement   - Compatibility with WooCommerce 10.4.
* Improvement   - Deprecation of  wc_enqueue_js()  in WooCommerce 10.4 addressed.
* Improvement   - Add animation to license activation button to avoid confusion, when modal doesn't open instantly.
* Improvement   - Updated all translations.
* Improvement   - Abandoned cart should not send the cancelation email.
* Fix           - WooCommerce Payments multicurrency functionality now correctly converts currency in cart/checkout.

2025.12.12 - version 5.0.0-rc3
* Improvement   - Add option to apply/limit inventory/quantity per day instead of per slot (default).
* Improvement   - Add back the deprecated/misspelled hook for BC 'wc_apointments_check_appointment_product'.
* Improvement   - Add Billing option to create new account for a Guest customer in modal for adding new appointments.
* Improvement   - Make What's New page under Appointments in admin permanent, hide it in later smaller updates.
* Improvement   - Hide notice after the license is successfully activated for the plugin.
* Improvement   - Initial admin calendar view is for the week, preload appointments for the whole month regardless.
* Improvement   - Appointments API v2 should load faster by reducing meta queries and eliminating N+1 queries.
* Fix           - Force open "Product data" tab that in some cases always stays collapsed.
* Fix           - WP 6.9 Command Palette doesn't work - creates empty appointment.
* Fix           - Appointment not saved in final checkout step. Add comprehensive logging and fallbacks to prevent this.
* Fix           - Pagination for Appointments in My Account page broken after WooCommerce update.

2025.12.10 - version 5.0.0-rc2
* Improvement   - Create internal rest api to cover all plugin aspects from a single source of truth.
* Improvement   - When appointment is edited in admin, add detailed changes to order note.
* Improvement   - Add Screen Options for admin calendar, where user can switch to legacy calendar temporarily.
* Improvement   - Make all API text strings not translatable to reduce translation workload, end user does not see them.
* Improvement   - Speed up front calendar loading.
* Improvement   - Use same loading animation for the new admin calendar and front-end calendar.
* Improvement   - Complete front calendar ajax call quick with daily buckets.
* Improvement   - Front calendar staff in querystring now performs only 1 ajax call.
* Improvement   - Updated Product Add-ons to 8.1.2
* Improvement   - Add what's new page for the 5.0.0 release in admin when user updates to 5.0.0 or activates it.
* Improvement   - Inventory maximum will be enforced through validation with cost calculations.
* Improvement   - Update license key activation process.
* Improvement   - Updated all translations.
* Improvement   - Apply user selected color scheme in admin across appointment pages
* Fix           - Front calendar does not have product ID properly set on init.
* Fix           - Do not show notice to add appointable product on plugin activation if any already exist.
* Fix           - All staff assigned together issue fix applied to multiple levels for future reference.

2025.12.04 - version 5.0.0-rc1
* Improvement   - Adding a function to ensure postmeta indexes exist for appointment date queries. Plugin reactivation/update needed.
* Improvement   - Add daily fail check for the appointments indexed health to make sure they are in check at all times.
* Improvement   - Make backfill for indexing fail proof by saving progress by each batch processed.
* Improvement   - Update readme file in root with new build instructions.
* Improvement   - Add warning in admin calendar when REST API is disabled for the site.
* Improvement   - Make front-end calendar resilient to errors in external scripts so it loads at all times.
* Fix           - ESbuild corrupts JS during minification and removes dependencies so minified JS files are not working as expected.
* Fix           - Indexed path does not consider global rules correctly.
* Fix           - Generate slots for days that are booked out, to avoid skipping days when checking for availability.
* Fix           - Backwards compatibility with PHP 7.4 to ensure compatibility with older configurations.
* Fix           - Admin calendar not rendering unavailability for date based rules.
* Fix           - Hide normal dropdown before select2 dropdown renders for staff selection.

2025.12.02 - version 5.0.0-beta9
* Feature       - Updated and modernized build process, pure NPM without Grunt and complexities, no compiles from crap like Webpack.
* Improvement   - Named constants over magic values, created WC_Appointments_Constants.
* Improvement   - Make sure NPM does not execute git commands without approval.
* Improvement   - Added plugin hook validation for all hooks so we do not push broken actions/filters.
* Improvement   - Added PHPUnit test to run tests on functionality automatically.
* Improvement   - Load appointments to admin calendar instantly and preload all views dynamically.
* Improvement   - Structure code with better semantics for input/output expectations.
* Improvement   - Document main code functions better with better explanations.
* Improvement   - Linted all translation strings and translations comments and fixed all remaining issues.
* Improvement   - Linted all CSS and JS files with updated rules and fixed the remaining issues.
* Improvement   - Add better fail checks and validation so rules reach horizon at all times.
* Improvement   - Make sure SSE works on multisite installations fine and resets last event ID correctly.
* Improvement   - Reduced plugin delivery code size by 20% due to optimizations and removal of redundancy.
* Fix           - Fixed all hooks with own script that validates them automatically during build process now.
* Fix           - Make sure appointment status is not null at any point.

2025.11.27 - version 5.0.0-beta8
* Feature       - Atomic reservation operations that handle race conditions and prevents double appointments at high traffic.
* Improvement   - Updated v2/appointments and v2/availabilities API to use indexed path when within horizon and enabled.
* Improvement   - Updated v2/appointments and v2/availabilities API to use scope(s) to return available/unavailable range.
* Improvement   - Admin calendar should not only show unavailability from rrules, but also consider exceptions.
* Improvement   - Admin calendar filters should sort product and staff alphabetically.
* Improvement   - Admin calendar filter for staff should show avatar/gravatar.
* Improvement   - Admin calendar appointment view modal should show avatar/gravatar for customer.
* Improvement   - Admin calendar has ability to confirm/cancel appointment instantly.
* Improvement   - Admin calendar loads appointments slightly faster on initial load.
* Improvement   - Admin calendar appointment view popup should show skeleton until elements are loaded inside.
* Improvement   - Admin calendar Should load appointments and availabilities once and avoid double fetching.
* Improvement   - Admin calendar should show reload button when 403 API error is shown.
* Improvement   - Admin calendar should follow the same rules hierarchy server side uses.
* Improvement   - Integrate WooPayments multi-currency with new appointment creation modal in admin.
* Improvement   - Use indexed results for the appointments API when in range and enabled.
* Improvement   - Updated all translations.
* Improvement   - Admin modal for creating appointments should use formatted dates that are easily readable.
* Fix           - Bug fix #1014, Admin calendar not showing rules in the background.
* Fix           - Unavailability not showing ok in admin calendar when switching views.
* Fix           - Do not update duration in appointment creation modal, when selecting add-on that has no duration.
* Fix           - Unavailability not showing ok in admin calendar in month view.
* Fix           - Bug fix #839, Appointment card in the calendar doesn't show the discounted price of the appointment.
* Fix           - SSE should reconnect after errors and work reliably at all times.
* Fix           - Bug fix #1225, Admin calendar should not duplicate appointments/rules when they are updated.
* Fix           - Account for tax when creating appointments in admin modal and make sure to calculate order totals correctly.
* Fix           - Appointments API should return appointments that overlap with the requested date range, not just those completely within it.

2025.11.22 - version 5.0.0-beta7
* Feature       - Live real-time Admin Calendar where user can create/move/cancel appointments from the calendar.
* Feature       - Live real-time Admin Calendar works 2-ways and shows appointments/rules instantly after being created/edited anywhere.
* Feature       - Introducing WebHooks, initially for appointments and availabilities.
* Feature       - Introducing SSE, used for live stream of updated appointment and availabilities.
* Improvement   - Add order note when editing appointment in admin calendar.
* Improvement   - Admin calendar appointment should be represented with the set appointable product color.
* Improvement   - Admin calendar should load appointments as first paint and availabilities concurrently.
* Improvement   - Admin calendar changes should add order note for every change.
* Improvement   - Cancelled appointment in admin calendar have reduced opacity, same as past appointments.
* Improvement   - Updated all translations.
* Improvement   - Move external scripts to /vendor folder and only registere minimized versions.
* Fix           - Make sure appointment does not stay in cart, status transitions and order ID is queried after DB cache.
* Fix           - Add availability rule validation to block empty availability saves.
* Fix           - Add guards to prevent multiple same-time openings of appointment creation modal in admin.
* Fix           - Price calculations with add-ons selected is off in some cases, negative price must be properly included.
* Fix           - Fix translations in file templates\order\admin\appointment-display.php, escaping dropped translations.

2025.11.17 - version 5.0.0-beta6
* Improvement   - Compatibility with WordPress 6.9.
* Improvement   - Added downloadable items to the confirmation email.
* Improvement   - Compatibility with WooCommerce Twilio SMS Notifications 1.19.3.
* Improvement   - Updated Product Add-ons to 8.1.1.
* Improvement   - Time zone calculations fallback to UTC when timezone is not set.
* Improvement   - Make indexed path very fast and avoid appointment-day bucketing.
* Improvement   - Make Rest API /slots indexed path very fast with option to combine staff and pagination.
* Improvement   - Rest API for /slots can be used as paged_stream with fast track to slots.
* Improvement   - Rest API for /staff show show all staff, when product isn't set.
* Fix           - Modal for creating appointment price editing styling issue.
* Fix           - Modal for creating appointment not loading correctly on some pages in admin.
* Fix           - REST API /appointments cancelled status doesn't work.
* Fix           - Staff assignment not working, when all staff are assigned together.
* Fix           - Some slots for staff are shown, but are not available.
* Fix           - When changing the appointment quantity, it doesn't update it in the order.
* Fix           - Memcached might cause multiple new order email. Prevent same status set multiple times.
* Fix           - Memcached might cause appointments to not be tied to order.
* Fix           - Memcached might revert changes in 2-way gcal sync.
* Fix           - Memcached might cause appointments to not go to 'paid' status.

2025.11.13 - version 5.0.0-beta5
* Feature       - REST API v2 added with full support for GET, POST, PUT, DELETE and PATCH.
* Improvement   - REST API uses WooCommerce’s permission check in public read endpoints.
* Improvement   - Do not duplicate Confirmation email if sent at the same time to same email address (customer and admin).
* Improvement   - All API calls fully documented in code.
* Improvement   - Appointments API returns start_utc and end_utc in ISO 8601 format.
* Improvement   - Updated all translations.
* Fix           - Add include_sold_out option to indexed path.
* Fix           - Product with no staff does not show occupancy indicators in calendar correctly.
* Fix           - Undefined variable $is_next_day in rule manager.

2025.11.10 - version 5.0.0-beta4
* Feature       - Add COGs for appointment edit screen (WC 10.3 feature). Internal price of goods/services to monitor.
* Improvement   - Modal for creating appointments should only use time dropdown instead of html5 time selection.
* Improvement   - Use date_i18n() instead of date() when editing appointment in admin.
* Improvement   - Compatibility with WooCommerce 10.3.
* Improvement   - Creating appointment in modal includes simple actions after appointment has been created.
* Improvement   - Modal for creating appointments now includes payment methods.
* Improvement   - Modal for creating appointments should trigger actions selectively and only when needed.
* Improvement   - Modal for creating appointments opens product search instantly after being opened.
* Improvement   - Appointment form block change/edit/view buttons moved to block toolbar.
* Improvement   - When manual re-indexing, first flush all the cache and drop the indexed results, do not overwrite.
* Improvement   - When manual re-indexing, finish in one go until your reach the horizon.
* Fix           - Modal not saving day and month duration appointments correctly.
* Fix           - Re-index untrashed appointments.
* Fix           - Add-ons image swatch does not keep preselected value.
* Fix           - Add-ons called twice which corrupted the output in some cases.
* Fix           - Confirmed appointments trigger multiple actions unnecessarily.
* Fix           - Bug fix #1021, overnight appointment not checking availability for next day.
* Fix           - Bug fix #1218, multiple appointment forms not working with auto-select on same page.
* Fix           - Bug fix #1203, same staff on different products not working ok with hour/minute duration.
* Fix           - Bug Fix #1215, shows non-bookable slots and end is not enforced in rules correctly.
* Fix           - Bug Fix #1194, added safeguards to prevent scheduled notifications being sent in a loop.
* Fix           - Bug Fix #1212, padding from product in the appointment not taken into account.
* Fix           - Bug Fix #1195, was-in-cart appointments created and added to order .
* Fix           - Stop Sync same multievent creation by combining a short-lived atomic lock and an idempotent preflight search.
* Fix           - When no staff selected, slots do not have correct quantity computed or are missing.
* Fix           - Deleting availability rules does not delete them from index instantly.
* Fix           - Product auto-select skips current day.

2025.10.30 - version 5.0.0-beta3
* Feature       - Creating appointments in admin through modal.
* Improvement   - Custom pricing rules: base cost applies if appointment is within rule range by part or as a whole.
* Improvement   - Custom pricing rules: slot cost applies for each slot calculated by intervals.
* Improvement   - Allow creating new appointments in admin that are not available.
* Improvement   - Manual re-indexing shows gradual progress and runs in small chunks of 50 items per run.
* Fix           - Fixed issue #1208, where showing slots that are not available.
* Fix           - When interval is longer than available time, it shows no slots for that day.
* Fix           - Indexing custom:daterange rules might add additional day.
* Fix           - time:range and custom:daterange overnight rules not working fine.
* Fix           - Default add-on header text in product edit screen wrongly wrapped with <p></p>.
* Fix           - Indexing could skip current time if start date/time was in the past.
* Fix           - custom:daterange rule until midnight blocks the whole next day.
* Fix           - Add 30 days grace period for rules to be :expired and hidden from admin.

2025.10.18 - version 5.0.0-beta2
* Feature       - Introduce Availability Filter block.
* Feature       - Introduce Appointment Form block.
* Improvement   - Max quantity available normalization across product/staff/rules.
* Improvement   - Re-indexing indicators should be more apparent.
* Improvement   - Manually saving lots of availability rules is now possible without server adjustments.
* Improvement   - Updated all translations and added strings for new features.
* Improvement   - Updated analytics code rendering for Staff selection.
* Fix           - Staff sync not working correctly for new users.
* Fix           - Normalize hooks with typos and make sure it works both ways.

2025.10.15 - version 5.0.0-beta1
* Feature       - Introduce indexing or availability rules and appointments.
* Improvement   - Improved default date selection when you opt for first available slot selection.
* Improvement   - Updated Product Add-ons to 8.1.0.
* Improvement   - Product Add-ons display control over heading for each section.
* Improvement   - Compatibility with WooCommerce 10.2.
* Improvement   - Google Calendar sync now works with better logic.
* Improvement   - Sync cancelled instances or recurring events as exceptions.
* Fix           - Automatically assigned (all staff together) doesnt check all staff's availability.
* Fix           - WP update handling metaboxes collapses whole product edit screen on staff toggle.
* Fix           - Remove persistent notice when appointment has been removed from cart.
* Fix           - Month picker querystring not updating.
* Fix           - RRule should block the whole days with time range for daily duration products.
* Fix           - Availability from not working ok with daily duration for custom:daterange rules.
* Fix           - Products that go overnight can be overbooked - no check for actual availability.
* Fix           - Google Sync is slowing down Appointments and Check out process.
* Fix           - Padding not working fine in some occasions, when duration and intervals are different.
* Fix           - Fixed Cart Coupon not working ok when canceling an appointment.
* Fix           - interval larger than duration might cause issues.
* Fix           - Monthly duration doesn't jump to the first available month.
* Fix           - Make sure get_cart is not called before wp_loaded action.

2025.08.23 - version 4.26.4
* Fix           - Return $appointments to filters to avoid breaks with custom code.

2025.08.22 - version 4.26.3
* Fix           - Exclude expired availability and cost rules.

2025.08.22 - version 4.26.2
* Improvement   - Compatibility with WooCommerce 10.1.
* Fix           - Updated compatibility with WooCommerce Sequential Order Numbers Pro.
* Fix           - Make sure expired availability rules are not included.

2025.08.21 - version 4.26.1
* Fix           - Caching start/end times breaks capacity rules.

2025.08.20 - version 4.26.0
* Improvement   - Avoid multiple appointments query and cache the query.
* Improvement   - Updated php rrule to 2.6.0.
* Improvement   - Clean up old availability rules. Old rules have '%:expired' added to 'range_type'.
* Improvement   - RRules loading times are faster.
* Improvement   - Optimize function get_appointment_ids_by for better performance.
* Fix           - Make sure appointments query skips false objects from DB (caching issue).
* Fix           - Mislabeled months availability rule with week count (52) instead of month count (12).
* Fix           - 'jquery-tiptip' script missing 'dompurify' dependency.
* Fix           - Syncing custom statuses to Google Calendar not working.

2025.07.20 - version 4.25.2
* Improvement   - Compatibility with WooCommerce 10.0.
* Improvement   - Updated Product Add-ons to 7.9.1.
* Fix           - Clear appointments from cart even ifWooCommerce hold stock options are set to zero.

2025.06.16 - version 4.25.1
* Fix           - Filter typo 'wc_apointments_sync_with_padding' is written as 'wc_appointments_sync_with_padding'.

2025.06.15 - version 4.25.0
* Feature       - Add revenue/sales by staff in WC Analytics.
* Improvement   - Option to apply product padding to synced rules with a filter 'wc_appointments_sync_with_padding'.
* Improvement   - Updated Product Add-ons to 7.9.0.
* Improvement   - Compatibility with WooCommerce 9.9.
* Improvement   - Option to filter timezone options with filter 'woocommerce_appointments_wp_timezone_choice'.
* Improvement   - Added new action hook 'woocommerce_after_' . $this->object_type . '_object_save'.
* Improvement   - Added new action hook 'woocommerce_appointment_maybe_schedule_event'.
* Improvement   - Added new action hook 'woocommerce_appointment_clear_cron_hooks.
* Improvement   - Added new filter hook 'woocommerce_appointments_stop_order_delete'.
* Improvement   - Added new filter hook 'woocommerce_appointments_stop_order_update'.
* Improvement   - Added new filter hook 'wc_appointments_staff_display_name'.
* Improvement   - Added product padding info to synced event.
* Fix           - Undefined variable $wp_button_class.
* Fix           - Filtering by appointment product type in WC Analytics not working correctly.
* Fix           - Navigation compatibility with WC 9.9.
* Fix           - Missing param in woocommerce_appointments_gcal_sync_order_meta.
* Fix           - Addons with Images are missing the "none" option.

2025.04.26 - version 4.24.0
* Improvement   - Compatibility with WordPress 6.8.
* Improvement   - Privacy compatibility with WooCommerce.
* Improvement   - Updated compatibility with Polylang for WooCommerce 2.1.4.
* Improvement   - Added duration variable for AutomateWoo.
* Improvement   - Add order related variables to AutomateWoo.
* Improvement   - PHP 8.4 compatibility for implicitly defined variables.
* Improvement   - Updated all translations.
* Improvement   - Minimum PHP requirement bumped to 7.4.
* Fix           - Some translations loading too early since WordPress 6.8.
* Fix           - Fatal error when removing staff from appointment.
* Fix           - Time slots not available for staff, when they should be.

2025.04.14 - version 4.23.1
* Feature       - WooCommerce Email Preview full integration.
* Improvement   - Make sure email classes are not redeclared with external extensions.
* Improvement   - Updated Product Add-ons to 7.8.1.
* Fix           - Missing $product object for WooCommerce Payments extension.

2025.04.12 - version 4.23.0
* Improvement   - Compatibility with WooCommerce 9.8.
* Improvement   - WooCommerce minimum supported is 9.6.
* Improvement   - Updated integration with WooCommerce Deposits 2.3.7.
* Improvement   - Updated integration with WooCommerce Deposits by Webtomizer 4.6.9.
* Improvement   - Updated integration with  WooCommerce Payments 9.2.0.

2025.03.13 - version 4.22.8
* Improvement   - Updated Product Add-ons to 7.7.0.
* Improvement   - 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.

2025.03.10 - version 4.22.7
* Improvement   - Product add-ons CSS fixes.
* Improvement   - Updated php rrule to 2.5.2.
* Fix           - Custom pricing rules not saving correctly.

2025.03.08 - version 4.22.6
* Improvement   - Updated Product Add-ons to 7.6.0.
* Improvement   - Hide appointment add-on options in admin different product types.
* Improvement   - Make sure 'require confirmation' payment method is always available.
* Improvement   - Updated all translations.
* Improvement   - Added missing plural forms for Hebrew translations.
* Improvement   - PHP 8.4 compatibility for custom pricing fields.
* Fix           - Cancelled appointments do not get deleted in sync in some cases.

2025.03.05 - version 4.22.5
* 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.

2025.02.27 - version 4.22.4
* Improvement   - Backwards compatiblity with WooCommerce Twilio SMS Notifications extension.
* Improvement   - Make sure appointment quantity cannot be set as zero in admin.
* Fix           - WCML not working if multicurrency is disabled.
* Fix           - Ensure that the 'WooCommerce Appointments' gateway remains hidden on the new WooCommerce Payments settings page.
* Fix           - Do not run sync of cancelled appointment twice.
* Fix           - Canceling an appointment doesn't remove it from staff's synced gCal.

2025.02.19 - version 4.22.3
* Improvement   - WooCommerce Twilio SMS Notifications 1.19.0 not calling get_cart() correctly.

2025.02.19 - version 4.22.2
* Improvement   - Reset selected time slots when switching months or years on the calendar.
* Improvement   - Compatibility with WooCommerce Twilio SMS Notifications 1.19.0.
* Improvement   - Updated all translations and improved plural forms for Hebrew.
* Fix           - Error with WooCommerce Multilingual & Multicurrency (5.4.0).

2025.02.16 - version 4.22.1
* Improvement   - Compatibility with WooCommerce 9.7.
* Improvement   - WooCommerce Multilingual 5.4.0 compatibility.
* Improvement   - Updated Product Add-ons to 7.5.0.
* Improvement   - 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.

2025.02.13 - version 4.22.0
* Improvement   - Updated Product Add-ons to 7.4.0.
* Improvement   - Remove additional unnecessary strings for gcal event sync.
* Improvement   - Log errors on appointment / appointable product query.
* Improvement   - Compatibility with WooCommerce 9.6.
* Improvement   - Compatibility with AutomateWoo 6.1.5.
* Improvement   - Compatibility with WooCommerce Multilingual 5.3.9.
* Improvement   - WPML multicurrency for addons not working.
* Improvement   - Compatibility with WPML Multilingual CMS 4.6.15.
* Improvement   - Updated code build process to match PHP 8.3.
* Improvement   - Updated all translations and added new add-ons strings.
* Improvement   - Better file loading structure.
* Fix           - Analytics translation for filtering by Appointable products.
* Fix           - TM Extra Product Options not syncing to gCal.
* Fix           - Removed redundant 'notranslate' class as it is added on fields directly.
* Fix           - Google calendar sync can offset time for 1 hour unintentionally.
* Fix           - iOS and Firefox issue with too many addons.
* Fix           - Changing time of synced app in gCal syncs it back with wrong time.
* Fix           - Changing staff won’t syn to Gcal.
* Fix           - Staff 2-way sync for multiple staff doesn't work properly.
* Fix           - Make sure different time zones on website and Google calendar work ok together in all cases.
* Fix           - Reminder email before send checking uses UTC instead of local time.

2024.12.03 - version 4.21.8
* Improvement   - Updated Product Add-ons to 7.2.1.
* Improvement   - Compatibility with WooCommerce 9.5.
* Fix           - Product Add-ons quantity field not updating price.

2024.12.02 - version 4.21.7
* Improvement   - Move core plugin functions to load earlier.
* Improvement   - Add-ons plugin activation loading for both admin/frontend.
* Improvement   - Updated moment-timezone-with-data.js lib to v0.5.45.
* Improvement   - Updated moment-with-locales.js lib to v2.30.1.
* Fix           - PHP 7.4 error correction. Though PHP 8.2+ is required.
* Fix           - REST API: usort fix for PHP 8.0+.

2024.11.29 - version 4.21.6
* Fix           - Final correction in 4.21.+ saga.

2024.11.28 - version 4.21.5
* Improvement   - Load integrations early after plugins are loaded.
* Improvement   - Remove Select2 scripts and styles and only use Select2 from WooCommerce.
* Fix           - Google calendar sync PHP error.

2024.11.27 - version 4.21.4
* Improvement   - Filter ‘get_appointment_products_args’ includes all args.
* Improvement   - Move $qrey_vars in get_appointments_for_user function.
* Fix           - Appointable product edit screen broken.

2024.11.26 - version 4.21.3
* Improvement   - Updated Product Add-ons to 7.2.0.
* Improvement   - Updated Slovenian translation.
* Fix           - Google calendar sync not working.
* Fix           - Exporting appointments not working.
* Fix           - Email notifications not working.
* Fix           - Appointments permalink in my-account not working.
* Fix           - Requiring confirmations not working.

2024.11.22 - version 4.21.2
* Improvement   - Remove 2 metadata fields in synced gCal.
* Fix           - Appointments shortcodes not working.

2024.11.20 - version 4.21.1
* Improvement   - Remove deprecated WooCommerce Admin plugin menus.
* Improvement   - Updated Product Add-ons to 7.1.2.
* Improvement   - Compatibility with WordPress 6.7.
* Improvement   - Compatibility with WooCommerce 9.4.
* Improvement   - Added additional 'notranslate' class to prevent plugin from transating fields.
* Improvement   - Filter ‘get_appointment_products_args’ should include ‘author’.
* Fix           - Translations not working (for non English sites).

2024.10.07 - version 4.21.0
* Improvement   - Clear cache only when post object is defined for the appointments.
* Improvement   - Improved compatibility with Polylang for WooCommerce.
* Improvement   - Fixed strings to Hebrew translation.
* Improvement   - Updated Product Add-ons to 7.1.0.
* Improvement   - Updated all translations and adjusted add-ons strings.
* Improvement   - Compatibility with WooCommerce 9.3.
* Improvement   - Use pretty uniform pretty time duration display.
* Improvement   - SMS "Customer Confirmation message" missing info.
* Improvement   - Removed option to edit order inside appointment edit screen in admin.
* Improvement   - Added filter to allow not updating gCal description on appointment update.
* Improvement   - Updated php rrule to 2.5.1.
* Fix           - PHP 8.2 error when empty array present.
* Fix           - Recurring events in gCal not blocking out times.
* Fix           - gCal recurring event blocking out the wrong time.

2024.06.29 - version 4.20.0
* Feature       - Added WC Payments multicurrency support.
* Feature       - Added Appointable product to Analytics for filtering.
* Improvement   - Better integration with WooCommerce Payments gateway.
* Improvement   - Add-ons integration added earlier, better compatibility with external plugins.
* Improvement   - Updated Product Add-ons to 6.8.4.
* Improvement   - Handling failed orders with appointments added back with additional validations.
* Improvement   - Bump "WC requires at least" to version 8.7.
* Improvement   - Compatibility with WooCommerce 9.0.
* Fix           - Add-ons work with WC Payments for appointable products.
* Fix           - Updating manually added Appointment in Order can create critical error.
* Fix           - Timezone visible in admin for non-timezone appointments.

2024.05.22 - version 4.19.1
* Feature       - Integration with Official WooCommerce Stripe Gateway.
* Improvement   - List WooCommerce plugin as a requirement for Appointments to work properly.
* Improvement   - Updated Product Add-ons to 6.8.3.
* Improvement   - Compatibility with WordPress 6.5.
* Improvement   - Compatibility with WooCommerce 8.9.
* Fix           - Uncaught Error: Class ‘WC_PAO_Admin_Notices’ not found.
* Fix           - Report dashboard count translation error.

2024.03.26 - version 4.19.0
* Feature       - Add a DATE add-on custom field.
* Feature       - Appointments saved with a site's timezone and customer's set timezone (optional).
* Feature       - Integration with AutomateWoo extension.
* Improvement   - Updated all translations.
* Improvement   - Updated and added strings to Hebrew translation.
* Improvement   - Updated Product Add-ons to 6.8.0.
* Improvement   - Revert Appointment status to "in-cart" when order fails to enable re-payment.
* Improvement   - Compatibility with WooCommerce 8.7.
* Fix           - Importing addons globally does not work.
* Fix           - Missing View cart button on individually sold appointments.
* Fix           - Clear cache when appointment is trashed/untrashed.
* Fix           - Can't reorder addons.

2024.02.22 - version 4.18.2
* Improvement   - Simplified each order item ID call to speed the query.
* Fix           - Blocks for appointments not loading, remove version checking as core supports it.
* Fix           - Exporting admin created appointments with tax is wrong.

2024.02.16 - version 4.18.1
* Improvement   - Updated Product Add-ons to 6.6.0.
* Improvement   - PHP 8.3 compatibility.
* Improvement   - Updated all translations.
* Improvement   - Compatibility with WooCommerce Deposits 2.2.5.
* Improvement   - Compatibility with WooCommerce 8.6.
* Improvement   - DB length of the calendar event ID in availability rules set from 100 to 255.
* Improvement   - Improved loading times for the time slots.
* Fix           - Product Add-ons import not working.
* Fix           - Manual appointment with customer not working.
* Fix           - WooCommerce Deposits stutus set as paid for non-deposit appointments.
* Fix           - Adding appointments in admin with WooCommerce 8.6+.

2023.11.10 - version 4.18.0
* Improvement   - Compatibility with WordPress 6.4.
* Improvement   - Include quantity field as hidden even when customer cannot choose the qty.
* Improvement   - Removed excessive caching that could cause query issues.
* Improvement   - gCal additonal staff ID checks when syncing.
* Improvement   - Updated all translations.
* Fix           - Free products status stays in-cart instead of paid.
* Fix           - Big issue when booking multiple appointments in one order with 100% discount.
* Fix           - Addons add a + sign even if the value is negative - fix it.
* Fix           - Skip staff ID's on sync attempt when empty.
* Fix           - Cannot assign appointments to existing orders with COT enabled.
* Fix           - WooCommerce TM Extra Product Options not working, when product quantity is missing.

2023.11.07 - version 4.17.4
* Improvement   - Compatibility check with WooCommerce TM Extra Product Options 6.3.2.
* Improvement   - Compatibility with WooCommerce 8.2.
* Improvement   - Updated Product Add-ons to 6.5.0.
* Improvement   - Better integration with Product Add-ons blocks.
* Improvement   - Updated all translations. Added lots on new strings.
* Fix           - Additional checks to make sure only appointments are rendered in templates.

2023.8.22 - version 4.17.3
* Improvement   - Compatibility with WordPress 6.3.
* Fix           - Some addons missing closing DIV element - breaks layout of the site.
* Fix           - gCal for staff not working.

2023.8.17 - version 4.17.2
* Improvement   - PHP 8.2.8 compatibility.
* Improvement   - Updated Product Add-ons to 6.4.5.
* Improvement   - Radio Addons add a "none" feature people don't want.
* Improvement   - Updated php rrule to 2.4.1.
* Improvement   - Compatibility with WooCommerce 8.0.
* Fix           - Addons checkbox missing closing DIV element - breaks layout of the site.

2023.7.11 - version 4.17.1
* Improvement   - Hidden input forms don't need a label.
* Improvement   - Prevent quantity editing for appointable products.
* Fix           - Adding appointment in admin to existing order not working.
* Fix           - Adding appointment in admin redirect is wrong.

2023.7.08 - version 4.17.0
* Improvement   - Unnecessary call to constructor of extended WC_Appointment_CSV_Exporter class.
* Improvement   - Do not cancel appointments with failed payments, unpaid status is sufficient.
* Improvement   - Added filter 'woocommerce_appointments_gcal_remove_from_gcal'.
* Improvement   - Updated php rrule to 2.3.2.
* Improvement   - Updated rrule.js to v2.7.1.
* Improvement   - Updated Product Add-ons to 6.4.3.
* Improvement   - Compatible with PHP 8.1.9.
* Improvement   - Removed Action Scheduler library since it is included with WooCommerce since 3.0.
* Improvement   - Compatibility with WordPress 6.2.
* Improvement   - Compatibility with WooCommerce 7.8.
* Improvement   - Updated all translations. Added lots on new strings.
* Improvement   - Updated Moment.js timezone lib to v0.5.43.
* Fix           - Customer cancelled appointment does not cancel the TAX.
* Fix           - Cart block product quantity editing disabled.
* Fix           - Bug with untrash_post.
* Fix           - unneccessary pao_ids in gCal event after.
* Fix           - FUE (Follow Ups) integration update.
* Fix           - Fix Hebrew translation.
* Fix           - Restore trashed Appointment triggers FATAL ERROR.

2022.11.28 - version 4.16.1
* Fix           - Do not cancel unpaid orders.

2022.11.28 - version 4.16.0
* Feature       - Support for High-performance Order Storage ("HPOS"), also known as Custom Order Tables, "COT".
* Feature       - Structure to support WooCommerce blocks.
* Feature       - Ability to checkout appointments that require confirmation with the new WooCommerce blocks.
* Improvement   - Simplified appointment page for customer accounts.
* Improvement   - Pricing override slot rule redundant.
* Improvement   - Updated Product Add-ons to 5.0.2.
* Improvement   - Set minimum PHP version to 7.0.
* Improvement   - Set minimum WordPress version to 5.6.
* Improvement   - Set minimum WooCommerce version to 6.0.
* Improvement   - Compatibility with WooCommerce 7.1.
* Improvement   - Remove redundant cost calculation for overrides.
* Improvement   - Hide appointments payment gateway in the admin as it has no configuration.
* Improvement   - Mark the confirmed appointments order as complete if the total is zero.
* Improvement   - Removed legacy code for appointable product setup.
* Improvement   - Option to register scripts as the type of 'module'.
* Improvement   - Renamed gateway name/ID from 'wc-appointment-gateway' to 'wcappointmentsgateway'.
* Improvement   - Updated all translations.
* Fix           - Avoid PHP warnings when adding appointment manually.
* Fix           - Delete transient of appointment removed from cart to free up the product slots.
* Fix           - Do not change a failed order to "pending" when the appointment goes to "unpaid".
* Fix           - Appointments list API results count inconsistent.
* Fix           - Show category in API only if it has a appointable product.
* Fix           - REST API returns days that are not appointable.
* Fix           - Hide products from the `/slot` endpoint if their catalog visibility is set to `hidden`.

2022.10.21 - version 4.15.0
* Improvement   - Beginning the switch to ES6 in JS files.
* Improvement   - Remaining chars in add-on fields duplicated.
* Improvement   - Compatibility with WooCommerce 7.0.
* Improvement   - Compatibility with WordPress 6.0.
* Improvement   - Updated Product Add-ons to 5.0.0.
* Improvement   - Filtered statuses for the Follow up emails.
* Fix           - Inventory not taken into account when rescheduling in frontend - overbookings possible.
* Fix           - The tax string on single product page is displayed twice for Appointable products.

2022.05.03 - version 4.14.8
* Improvement   - Updated Product Add-ons to 4.9.0.
* Improvement   - Compatibility with WooCommerce 6.4.
* Improvement   - Updated all translations.
* Fix           - was-in-cart status not removed and can build up in the backlog.
* Fix           - German, Dutch and French translation issues.
* Fix           - WPML availability rule quantity not copied.

2022.01.27 - version 4.14.7
* Fix           - Product Add-ons Subtotal never shown in 4.14.5.

2022.01.27 - version 4.14.6
* Improvement   - Replaced all dashicons for the calendar with HTML character.
* Improvement   - Appointment number can now also accept strings from external plugins.
* Fix           - Product Add-ons Subtotal never shown in 4.14.5.
* Fix           - TM Product Extra Product Options plugin and Add-ons positioning issue in cart.

2022.01.26 - version 4.14.5
* Improvement   - Compatibility with WordPress 5.9.
* Improvement   - Updated compatibility with Polylang for WooCommerce 1.6.2.
* Improvement   - Updated Product Add-ons to 4.5.0.
* Fix           - Polylang staff costs and quantity erased on translated products.
* Fix           - Datepicker in admin shows html instead of icon from WP 5.9.
* Fix           - WC product Addons translation not working.

2022.01.02 - version 4.14.4
* Improvement   - Added 'woocommerce_appointments_product_defaults' to filter product defaults.
* Improvement   - Added better compatibility with the Square payment plugin.
* Improvement   - Compatibility with WooCommerce 6.1.
* Improvement   - Updated Product Add-ons to 4.4.0.
* Fix           - Pagination at My Appointments account section.

2021.10.08 - version 4.14.3
* Improvement   - Replaced more array() instances with shorthand [] instance.
* Improvement   - Updated Spanish translations.
* Improvement   - Added new translated strings to all languages.
* Improvement   - WooCommerce Payments multicurrency support for add-on fields.
* Fix           - Some strings in "appointment-summary-list.php" are not translatable since 4.14.1.
* Fix           - Admin calendar should include the tax amount for listed appointments.
* Fix           - All new products (even simple) have the 'Virtual' option checked.
* Fix           - Saved customer ID for the appointment not shown.
* Fix           - Multi-day duration does not highlight selected days on disabled dates.
* Fix           - Pagination at My Appointments account section.

2021.10.02 - version 4.14.2
* Improvement   - Updated Product Add-ons to 4.2.0.
* Improvement   - Products sold individually now work the same as default WC functionality.
* Improvement   - Updated all translations.
* Improvement   - WooCommerce Payments integration support.
* Fix           - Heading for confirmation emails might be empty with external plugins.
* Fix           - WPML multicurrency does not work ok for appointments created in admin.
* Fix           - Reminder emails not always sent, when they should be.
* Fix           - Wrong time zone auto selected due to caching.

2021.09.26 - version 4.14.1
* Fix           - md5() has array instead of string.
* Fix           - When more slots are scheduled than available, the slot should not be visible.

2021.09.17 - version 4.14.0
* Feature       - Send email to admin/staff when customer reschedules the appointment.
* Feature       - Add the 'sold individually' option for appointable products.
* Improvement   - Compatibility with WooCommerce 5.7.
* Improvement   - Simplified echos to esc_html_e and esc_url_e.
* Improvement   - Updated all translations.
* Improvement   - Added 'woocommerce_appointments_cancel_appointment_redirect' &
                  'woocommerce_appointments_reschedule_appointment_redirect' to filter the redirects.
* Fix           - Properly escaped appointment name and status.
* Fix           - Wrong Appointment Duration on Reschedule.
* Fix           - Added robust appointment validation in admin as well.
* Fix           - REST API visible to everyone with a link - should not be.
* Fix           - http_build_query() PHP8 warning.

2021.07.06 - version 4.13.1
* Improvement   - Send customer email notification when unpaid appointments are canceled.
* Improvement   - Updated Product Add-ons to 4.1.0.
* Improvement   - Percentage based fee for add-ons for NON Appointable products.
* Improvement   - Better sanitization for the appointment ID display.
* Improvement   - Removed "WooCommerce Create Customer on Order" integration.
* Improvement   - Updated all translations.
* Fix           - Reschedule button does not work outside My account pages.

2021.06.15 - version 4.13.0
* Feature       - Phone orders: add customer (billing) data, when adding appointments in admin.
* Improvement   - Compatibility with WooCommerce 5.4.
* Improvement   - Compatibility with WordPress 5.8.
* Improvement   - Updated all translations.
* Improvement   - Option to skip cache for the "get_appointment_ids_from_order_item_id" method.
* Improvement   - Updated Product Add-ons to 4.0.0.
* Fix           - Add-ons console error when required fields are selected.
* Fix           - Availability filter widget not counting for the start day.
* Fix           - Missing closing <div> on the appointment edit screen.
* Fix           - Select add-ons do not show selected options on page reload.
* Fix           - When using radio select add-ons, the providers selection is reset on page reload.
* Fix           - Cart adding appointments twice.
* Fix           - Staff all together not working ok.
* Fix           - Selecting staff can result in rendering HTML instead of staff images.

2021.04.16 - version 4.12.0
* Improvement   - Compatibility with WooCommerce 5.2.
* Improvement   - Updated Product Add-ons to 3.7.0.
* Improvement   - Updated all translations.
* Improvement   - Only add appointment status in 'view-order' endpoint, order already has this.
* Improvement   - REST-API filter appointments by customer_id.
* Improvement   - Availability widget filter should include the end date.
* Improvement   - Added 'wc_appointments_before_find_scheduled_day_slots' for filtering posted data.
* Fix           - Default date not working correctly.
* Fix           - Auto updater not working.
* Fix           - Staff selection now only loads slots for the selected staff.
* Fix           - Cancel and Reschedule buttons now have nowrap style to prevent letter breaking.

2021.03.22 - version 4.11.9
* Improvement   - Add filter 'woocommerce_appointments_gcal_sync_twoway_enabled' for two way sync.
* Improvement   - Add filter 'woocommerce_appointments_sync_from_gcal_event_start' for event sync.
* Improvement   - Removed Select2 override classes for the admin fields.
* Improvement   - WooCommerce Follow Up Emails appointment statuses trigger error.

2021.03.20 - version 4.11.8
* Improvement   - Attach user to appointment status changes.
* Improvement   - Additional check for $product object (better compatibility with other plugins).
* Improvement   - Re-tested compatibility with WooCommerce Follow Up Emails 4.9.13.
* Fix           - Availability filter not formatted correctly as yyyy-mm-dd.
* Fix           - User not queried correctly after the product import.
* Fix           - Appointment customer not showing correctly.
* Fix           - Exporting/importing add-ons not importing duration.
* Fix           - Added was-in-cart appointment status to the list of all statuses.

2021.03.14 - version 4.11.7
* Improvement   - Removed code for very old WooCommerce versions not supported any more.
* Fix           - Payments can remain unpaid when payment gateways complete orders early.

2021.03.12 - version 4.11.6
* Improvement   - Prioritize WC_Customer data over pulling customer info from orders.
* Improvement   - Updated French translation.
* Improvement   - Cached WC_Order and WC_Customer queries for the appointment object.
* Improvement   - Better code standards (phase 1).
* Improvement   - Updated Product Add-ons to 3.5.0.
* Fix           - Flush cache for products with single staff.
* Fix           - Don't cancel already cancelled appointment during sync.
* Fix           - Recurring events can sync with 1 hour difference (DST issue).

2021.03.01 - version 4.11.5
* Improvement   - Add 'woocommerce_appointments_gcal_sync_order_meta' filter for order meta sync.
* Fix           - Make compatibility check for navigation work correctly in older WC versions.
* Fix           - Updating appointment changes from the synced gcal event can break time.
* Fix           - Sync appointment changes to the calendar event's description.

2021.02.27 - version 4.11.4
* Improvement   - Register menu items with WC Admin Navigation feature (deactivated by default).
* Improvement   - Integration with WooCommerce PDF Invoices & Packing Slips plugin.
* Improvement   - Compatibility with WooCommerce 5.1. Beta tested.
* Improvement   - Compatibility with WordPress 5.7. Beta tested.
* Improvement   - Updated Product Add-ons to 3.4.0.
* Improvement   - Do not include addons.js when no addons are set for the product.
* Fix           - Bug with gCal sync, typo.
* Fix           - Pretty timestamp not calculated correctly for long duration in months/days.
* Fix           - Google Calendar not updating when appointment is rescheduled.

2021.02.13 - version 4.11.3
* Improvement   - Compatibility with WooCommerce 5.0.
* Improvement   - Compatibility with WooCommerce Multilingual 4.11.2.
* Improvement   - Updated Product Add-ons to 3.3.1.
* Improvement   - Added 'woocommerce_appointment_status_changed' hook, when status transition changed.
* Improvement   - Replaced empty array() instances with shorthand [] instance.
* Improvement   - When billing data is empty, try getting it from shipping data.
* Improvement   - Removed duplicate appointment ID queries in admin.
* Fix           - PHP 8 notices for required parameters after optional ones.
* Fix           - PHP 8 notices with WPML activated.
* Fix           - Syncing staff and global sync for the same appointment.

2021.01.24 - version 4.11.2
* Improvement   - Faster shop page rendering by caching global addon query.
* Improvement   - Always add search for staff selection.
* Improvement   - Filter 'woocommerce_product_is_in_stock' reinstated.
* Improvement   - Updated php rrule to 2.2.2.
* Fix           - PHP 8 issue with get_price_html() method.
* Fix           - Fixed filter 'woocommerce_email_confirmed_recipients'.
* Fix           - Fixed filter 'woocommerce_email_reminder_recipients'.
* Fix           - Fixed filter 'woocommerce_email_follow_up_recipients'.
* Fix           - Uploading files as add-on fields not working, when appointment added in admin.

2021.01.10 - version 4.11.1
* Improvement   - Added 'woocommerce_appointments_get_addons' filter.
* Fix           - PHP 8 issue with single '&' operator for comparison.

2020.12.29 - version 4.11.0
* Improvement   - Add filter 'woocommerce_appointments_before_rescheduled_appointment'.
* Improvement   - Also export custom appointment statuses.
* Improvement   - Also export customer status.
* Improvement   - Include product ID instead of object inside appointment form template.
* Fix           - Rescheduling duration not always taken into account.
* Fix           - Make sure quantity added to cart is never zero.

2020.12.23 - version 4.10.9
* Improvement   - Added full Slovenian translation.
* Improvement   - Compatibility with WooCommerce 4.9.
* Improvement   - Integration with WooCommerce Multi Currency plugin.

2020.12.18 - version 4.10.8
* Improvement   - Add filter 'wc_appointments_find_scheduled_day_slots' for filtering ajax call for slots.
* Improvement   - Escape JS text strings.
* Improvement   - Confirmation dialog for “cancel appointment” (customer side).
* Improvement   - Updated all translations.
* Improvement   - Admin calendar now lists customer name before the appointment time.
* Improvement   - Updated Product Add-ons to 3.3.0.
* Improvement   - Updated Select2 library to 4.0.13.
* Improvement   - Compatibility with WooCommerce 4.8.
* Improvement   - Added partial Slovenian translation.
* Fix           - Translate calendars in admin through $wp_locale.
* Fix           - Add missing placeholders to appointment emails.
* Fix           - Only send out a reminder and follow up emails if the appointment is active.
* Fix           - Availability widget not working for same day from/to dates.
* Fix           - Availability widget showing unavailable products after the first available product.

2020.11.12 - version 4.10.7
* Improvement   - Enqueue "Select2" script above "selectWoo" in admin due to html rendering issues.
* Improvement   - Make sure get_current_screen() function exists to avoid errors.
* Improvement   - Do not auto-select same time slot on time zone change.
* Fix           - Check if availability object exists before attempting to delete it.
* Fix           - Undefined variable: pre_wc_30 for confirmation email template.
* Fix           - Overriding rrules from Google calendar not working.
* Fix           - Flushing cache for products when staff profile is updated or deleted.
* Fix           - Flushing cache for products when appointment is updated or deleted.

2020.11.03 - version 4.10.6
* Improvement   - Updated all translations.
* Improvement   - Refactored meta-boxes file structure.
* Improvement   - Cleaned customer meta-box html.
* Fix           - Week numbers for the availability not correct for following years.
* Fix           - Follow up variables not working.
* Fix           - Show current appointments in My-account instead of Today's.

2020.11.01 - version 4.10.5
* Improvement   - Added filters to include sold out time slots.
* Improvement   - Removed deprecated "jQuery( document ).ready" method to prevent late script execution.
* Improvement   - Remove useless "slug" meta box for appointments edit screen.
* Improvement   - Updated moment-timezone.js lib to v0.5.31.
* Improvement   - Updated moment-with-locales.js lib to v2.29.1.
* Fix           - Padding duration filter name duplicated.
* Fix           - Showing slots that are unavailable due to padding.
* Fix           - Overbooking - padding not taken into account.
* Fix           - Slots left not working ok with padding.

2020.10.28 - version 4.10.4
* Improvement   - Compatibility with WooCommerce 4.7.
* Improvement   - Integration with WooCommerce Deposits - Partial Payments Plugin v3.0.
* Improvement   - Add filter for Follow up emails variables: 'fue_appointments_variable_replacements'.
* Improvement   - Add customer details to admin/staff email types.
* Improvement   - Add order details to cancellation email sent to admin/staff.
* Improvement   - Update rrule.js to v2.6.6.
* Fix           - Exporting only 50 appointments and excluding cancelled appointments.
* Fix           - Available slots visible from previously selected staff (if new staff has no availability).

2020.10.23 - version 4.10.3
* Improvement   - Add end date/time to Admin Calendar View.
* Improvement   - Added action attribute to appointment form for better compatibility with external plugins.
* Fix           - Reduce appointment quantity for partial refunds.
* Fix           - Reminder email is sent even if there is not enough time.

2020.10.21 - version 4.10.2
* Improvement   - Compatibility with WordPress 5.6.
* Improvement   - Ensure cache expires.
* Improvement   - Replace WC date and time formats with function to avoid empty strings.
* Improvement   - Searching for appointments in admin not working ok without orders.
* Improvement   - Hiding addon price and/or duration label across board (emails, orders,...).
* Improvement   - Updated all translations.
* Fix           - Pagination for appointments in My account not working correctly.
* Fix           - Remove deprecated jQuery methods.
* Fix           - When retrieving ICS file, Use `get_site_url` instead of `home_url` for multisite installs.

2020.10.20 - version 4.10.1
* Improvement   - Harden the compatibility with product add-ons extension.
* Improvement   - Cleaned the onboarding screen from unnecessary extensions.
* Fix           - When creating new account, add customer from created order.
* Fix           - Follow Ups not working ok with v4.10.0.

2020.10.09 - version 4.10.0
* Improvement   - Compatibility with WooCommerce 4.6.
* Improvement   - Possibility to change all arguments for appointment export functionality.
* Improvement   - Add-ons trigger admin-ajax on every char typed - only trigger on cost/duration change.
* Improvement   - Hide appointment status on thank you page, since it is not relevant there.
* Improvement   - Send a note to customer, when they have rescheduled their appointment.
* Improvement   - Option to send a note to customer, when appointment is manually updated by admin or staff.
* Improvement   - Added $appointment object to filters:
                    + woocommerce_appointments_remind_before_time
                    + woocommerce_appointments_complete_time
                    + woocommerce_appointments_follow_up_time
* Improvement   - Datepicker in the availability widget needs to use local WP date format.
* Improvement   - Updated Product Add-ons to 3.1.0.
* Improvement   - Updated all translations.
* Improvement   - Compatibility with WooCommerce Box Office extension.
* Improvement   - Added hooks before and after quantity field for better compatibility with external plugins.
* Fix           - Free appointments that require confirmation should not ask the client for payment.
* Fix           - Current appointments not showing in customer account.
* Fix           - Fix SQL query filtering for availabilities.
* Fix           - Restricting days option missing Sat and Sun due to CSS bug.
* Fix           - Duration not taken into account with NOT available rules.
* Fix           - Availability widget not checking all dates in range.
* Fix           - Automatically assigned (all staff together) not working ok.
* Fix           - Product with staff members (one unavailable) and inventory more than 1 not working fine.
* Fix           - Fatal error in 4.9.9 regarding Follow Ups integration.
* Fix           - When quantity is more than the max - it shows wrong 'slots left' message.
* Fix           - Linted PHP files to prepare everything for PHP 8.
* Fix           - Slots visible from previously selected staff (if other staff has no availability).

2020.08.19 - version 4.9.10
* Improvement   - Google Calendar oAuth access set to offline to work when user is absent.
* Improvement   - Compatibility with WooCommerce 4.4.
* Improvement   - Lowered transient deletion to 500 at a time. Avoid timeout.
* Improvement   - 'woocommerce_appointment_export_data_args' to allow changing export data arguments.
* Improvement   - WordPress 5.5 metabox arrows removed from appointment info edit screen.
* Improvement   - Brought back stupid Marketing menu item, since WooCommerce moved coupons there.
* Fix           - WordPress 5.5 REST API compatibility changes.
* Fix           - Check for appointment object before looking further.
* Fix           - date_i18n bug.
* Fix           - Product Availability rule with lowest Quantity overrides all other quantities.
* Fix           - Rescheduling does not apply changes to synced gCal event.
* Fix           - Availability widget showing products that have no availability.

2020.07.27 - version 4.9.9
* Improvement   - Compatibility with WordPress 5.5.
* Improvement   - Additional checks for email templates to make sure appointment object is present.
* Improvement   - Updated Product Add-ons to 3.0.36.
* Fix           - 'woocommerce_cart_emptied' can cause overbookings.
* Fix           - Appointments Export does not export add-ons.
* Fix           - Adjust for timezone when requesting available slots from the API.

2020.07.07 - version 4.9.8
* Feature       - Rescheduling appointments by customers (when enabled).
* Improvement   - Updated Product Add-ons to 3.0.34.
* Improvement   - Remove WooCommerce Marketing menu (again).
* Improvement   - Updated all translations.
* Fix           - Add-on images notice, when no image assigned to swatch option.
* Fix           - Multiple shortcodes on same page with autoselect don't work.
* Fix           - Using 'all staff together' shows unavailable days (without slots).
* Fix           - Twilio SMS integration: reminders not going out at the right time.
* Fix           - Input fields styling in admin misaligned.
* Fix           - Make sure staff selection is not crippled by selectWoo script.
* Fix           - Quatity add-on allows overbooking in backend.

2020.06.23 - version 4.9.7
* Feature       - Export appointments to CSV.
* Improvement   - Added add-ons to appointment list and calendars in admin.
* Improvement   - Compatibility with WooCommerce 4.3. Beta tested.
* Improvement   - Add product pricing rules and add-on rules to standard WC import/export.
* Improvement   - Updated all translations.
* Improvement   - Minimum WooCommerce version requirement is now 3.1.
* Improvement   - Datepickers in admin do not require jQuery UI css any more.
* Fix           - Scheduling window defined in hours and over 24 hours not working ok.
* Fix           - Possible bug in Gmail with multiple ICS files in one email.
* Fix           - Admin calendar not linking to synced events.

2020.06.13 - version 4.9.6
* Improvement   - Improved French translation. Big thank you to Alexandre Doyen.
* Improvement   - Add appointment object variable to wc_twilio_sms_appointments_token_map filter.
* Fix           - Overlapping appointments in admin calendar over the header section.
* Fix           - Fresh installation can throw error since plugin version is not saved yet.
* Fix           - Availability rules spanning overnight not removing time slots.
* Fix           - Inventory acting weird for next day when day before goes after midnight.
* Fix           - Availability widget showing products when none have availability.

2020.05.21 - version 4.9.5
* Improvement   - Compatibility with WooCommerce Follow Up Emails 4.9.1.
* Improvement   - Updated Product Add-ons to 3.0.33.
* Improvement   - Flush memcahe, when external object caching is detected.
* Fix           - Customer not attached to appointment when existing customer logs in during the checkout process.
* Fix           - WC Follow-ups 'Last status' not working.
* Fix           - Problem with Admin Calendar Day View. WP defined time zone not taken into account.
* Fix           - Availability widget showing products when none have availability.

2020.05.09 - version 4.9.4
* Improvement   - Updated Product Add-ons to 3.0.32.
* Improvement   - Added filter 'wc_apointments_qty_scheduled_in_slot'.
* Improvement   - Add 'data-remaining' to time slots.
* Improvement   - Added filter 'woocommerce_appointments_get_padding_duration'.
* Improvement   - Updated all translations.
* Fix           - Security risk - mask Google calendar sync fields and store data securely.
* Fix           - When order is reverted to Pending Payment, mark appointments as unpaid.
* Fix           - Translators guidance for specific strings.
* Fix           - Reverse back .ics file change introduced in 4.9.2.
* Fix           - TC Extra Product Options not working with.

2020.04.08 - version 4.9.3
* Improvement   - Updated Product Add-ons to 3.0.28.
* Improvement   - Disabled WC Marketing menu item.
* Fix           - Select2 library CSS fixes in admin.
* Fix           - Need to add overflow CSS rule for availability rules in edit-product.
* Fix           - Bug with inventory allows overbooking in v4.9.2.

2020.03.30 - version 4.9.2
* Improvement   - Compatibility with WooCommerce 4.0.1+.
* Improvement   - Updated Product Add-ons to 3.0.27.
* Improvement   - Added filter 'wc_apointments_check_appointment_qty'.
* Improvement   - Updated all translations.
* Improvement   - ics for client has wrong time when using timezones.
* Fix           - Fix issue with quotes translations on default email subjects.
* Fix           - Reminder email not sent on partially paid appointments with deposits.

2020.03.09 - version 4.9.1
* Fix           - Use Action Scheduler 3.0+ only with WooCommerce 4.0+.

2020.03.09 - version 4.9.0
* Improvement   - Compatibility with WooCommerce 4.0.
* Improvement   - Compatibility with WordPress 5.4.
* Improvement   - Updated Action Scheduler to 3.1.1.
* Improvement   - Highlight appointment data instead of labels in appointment summary list.
* Improvement   - Updated Product Add-ons to 3.0.25.
* Improvement   - Updated all translations.
* Fix           - Duplicated messages when removing inactive appointments from cart.
* Fix           - Fix integration with Deposits when the order is manually set to partially paid.
* Fix           - Missing time slot at 00:00 when overnight availability rules are set.
* Fix           - Overnight availability rules not working correctly.
* Fix           - Time zones missing time slots.
* Fix           - Problem with availability when automatically selecting staff.

2020.02.21 - version 4.8.20
* Improvement   - Updated compatibility with Polylang for WooCommerce 1.3.2.
* Improvement   - Appointment providers label in emails should reflect staff label set in product edit screen.
* Improvement   - Sanitize all tooltips.
* Improvement   - Sanitize all recurring rule errors.
* Improvement   - Updated all translations.
* Fix           - On page reload with selected addon the addon price is not taken into account.
* Fix           - Confirmation required product gives fatal error when non-appointable product is added to cart.
* Fix           - Combine admin notices on appointments removed due to inactivity.

2020.02.18 - version 4.8.19
* Improvement   - Updated Product Add-ons to 3.0.24.
* Improvement   - Order with free and paying product should set the free appointment as 'paid'.
* Improvement   - Added "autocomplete=off" to appointment form to prevent browser issues with add-ons.
* Fix           - Product import/export doesn't import everything.
* Fix           - Changing product of booked appointent doesn't reflect the change in order.

2020.01.31 - version 4.8.18
* Improvement   - Grey out all unavailable days.
* Improvement   - Make Addons integration global through $GLOBALS['Appointments_Integration_Addons'].

2020.01.31 - version 4.8.17
* Improvement   - Updated all translations.
* Fix           - Staff ID missing.
* Fix           - gCal rule that ends at the same time the slot should start doesn't work.

2020.01.30 - version 4.8.16
* Fix           - Make sure staff quantity cannot be zero by default.
* Fix           - Appointments break manual subscription renewal for Woocommerce subscriptions.

2020.01.28 - version 4.8.15
* Improvement   - Cache calendar data once and remove duplicate day attributes.
* Fix           - Availability widget not showing all products.
* Fix           - Follow Up email being cancelled.
* Fix           - On page reload with selected addon the addon price is not taken into account.

2020.01.26 - version 4.8.14
* Improvement   - Updated Product Add-ons to 3.0.21.
* Improvement   - Prevent browser auto-complete to fill calendar date/time inputs.
* Improvement   - For monthly appointable products, made it more clear with a 4-digit year instead of 2-digit.
* Improvement   - New filter woocommerce_appointments_apply_multiple_rules_per_slot to allow rule cost calculation logic to be modified.
* Fix           - Follow up emails extension: does not load individual product.
* Fix           - Restrict start/end days CSS issue (Saturday not available).
* Fix           - Product calendar styling sometimes incorrect on first page load.
* Fix           - Repeating gCal events blocking out too much time.

2020.01.09 - version 4.8.13
* Improvement   - Add $appointments to all slot filters.
* Improvement   - Removed unnecessary styling for appointment summary in my-account orders.
* Fix           - Recurring rules can break the availability, when not structured properly.
* Fix           - Sending time for the Follow Up email is not taken from the Email settings.

2019.12.28 - version 4.8.12
* Fix           - When staff syncs to the same Google calendar as site, always sync to site's global rules.
* Fix           - Date range with time rule not working correctly.

2019.12.27 - version 4.8.11
* Improvement   - Add add-ons in the edit-appontment for Appointments with status ‘in-cart’ or ‘was-in-cart’.
* Improvement   - Add the order details to the 'New Appointment admin' email.
* Improvement   - Filter for .ics file 'wc_appointments_ics_appointment' has been refactored.
* Fix           - Staff view calendar in admin is off.

2019.12.25 - version 4.8.10
* Improvement   - Full error log for gcal sync errors.
* Improvement   - WooCommerce 3.9.0 compatibility.
* Fix           - Do not sync back cancelled events as cancelled appointments.
* Fix           - Staff can sync to same google calendar, even if it doesn't make any sense.
* Fix           - No preference shows no availability when staff has no rules.
* Fix           - No preference does not show rules correctly, when not all staff have rules.

2019.12.24 - version 4.8.9
* Improvement   - Updated all translations.
* Improvement   - Improved German translation.
* Improvement   - More info in calendar header in admin, when scrolling.
* Improvement   - Updated compatibility with WooCommerce Multilingual 4.7.5.
* Fix           - WPML related error in latest version of WC and Appointments.
* Fix           - 'Date Range with time' not working when duration spans to next day.
* Fix           - Automatically Completing orders sends out the New Appointment email twice.

2019.11.25 - version 4.8.8
* Fix           - No preference does not show available dates for staff.

2019.11.23 - version 4.8.7
* Fix           - Revert back availability check change.

2019.11.22 - version 4.8.6
* Improvement   - Updated compatibility with WooCommerce Multilingual 4.7.3.
* Improvement   - Required image swatches don't show error wih JS but reload the page.
* Improvement   - Updated Product Add-ons to 3.0.20.
* Fix           - Datepicker not working with Google Translate.
* Fix           - Addon quantity does not store minimum number 0.
* Fix           - Quantity add-on field does not respect min/max limits range.
* Fix           - Unavailable minutes should not be appointable.

2019.11.14 - version 4.8.5
* Fix           - Rendering of rules not working correctly.

2019.11.14 - version 4.8.4
* Improvement   - Better processing of staff rules, faster loading with lots of staff.
* Fix           - Requesting specific staff availability resulted in error.

2019.11.13 - version 4.8.3
* Improvement   - Updated German translation.
* Improvement   - WordPress 5.3 styling compatibility.
* Improvement   - Multiple themes font size compatibility.
* Improvement   - Much faster loading with lots of synced events.

2019.11.07 - version 4.8.2
* Improvement   - Separate availability rules from Gcal rules for better overview.
* Improvement   - Highlighted rows in admin that are currently being edited.
* Improvement   - Updated all translations.
* Improvement   - Required checkbox Add-ons don't show error with JS but reload the page.
* Fix           - Admin UI borders were not collapsed correctly on Chrome browser.
* Fix           - Prevent rendering scheduled day slots when provided product ID is empty string.

2019.11.04 - version 4.8.1
* Improvement   - Compact appointments list template inside my-account.
* Improvement   - Updated RRULE to v2.2.0.
* Improvement   - Forced block styling for appointment form to prevent spilling with some themes.
* Improvement   - Appointments tables in my-account are not responsive.
* Improvement   - Updated Product Add-ons to 3.0.18.
* Improvement   - Updated all translations.
* Fix           - RRULE uses locale, where datetime string is defined as 'en'.

2019.10.26 - version 4.8.0
* Feature       - Added follow-up email option.
* Feature       - Added additional content to all customer emails.
* Improvement   - Admin Calendar - border radius on calendar events.
* Improvement   - Simplified email content and headings.
* Improvement   - Code cleanup.
* Improvement   - Updated all translations.
                  There are lots of changed strings in this release, especially for email content.
* Fix           - Admin Calendar - Adding Product Filter with No Appointments changes date range to 1969 :)
* Fix           - REST API Slots were missing staff ID and scheduled count was not working.

2019.10.21 - version 4.7.6
* Improvement   - Introduced 'woocommerce_appointments_slots_availability' filter.
* Improvement   - Updated menu icon from 'dashicons-backup' to 'dashicons-clock'.
* Improvement   - Simplified menu name for adding new appointment.
* Improvement   - Moved customer name from separate column to ID column in appointments list in admin.
* Improvement   - Updated all translations.
* Improvement   - Updated Product Add-ons to 3.0.17.
* Improvement   - Do not load add-ons when post is not a product type.
* Improvement   - Set new default availability rule to 'No', not 'Yes'.
* Fix           - Admin/staff emails may be duplicated, send to unique addresses only.
* Fix           - When multiple appointment forms are displayed, only set time slot selected.
* Fix           - When multiple appointment forms are displayed, cache add-ons by product ID.

2019.10.09 - version 4.7.5
* Improvement   - Compatibility with WooCommerce 3.8.
* Fix           - WPML Multilingual CMS 4.2.9 compatibility fixes.
* Fix           - WooCommerce Multilingual 4.6.7 compatibility fixes.

2019.10.04 - version 4.7.4
* Fix           - Global availability rules not saving correctly with recurring rules from Google calendar.

2019.10.03 - version 4.7.3
* Fix           - Memberships integration. Price set to 1, when product price is zero.

2019.10.02 - version 4.7.2
* Improvement   - Added attributes to Appointments REST API controller.
* Fix           - Memberships integration.

2019.10.01 - version 4.7.1
* Improvement   - Custom pricing rule for duration.
* Fix           - Staff costs not calculated.

2019.10.01 - version 4.7.0
* Improvement   - Much faster loading of appointment pages in admin with thousands of products.
* Improvement   - Updated Product Add-ons to 3.0.16.
* Improvement   - Appointment list in admin now renders through WC_Admin_List_Table.
* Improvement   - Consolidated cache logic into a single class.
* Improvement   - Cache is disabled when WC_APPOINTMENTS_DEBUG is true.
* Improvement   - Consolidated appointment cost caluclation into asingle class.
* Improvement   - Minimum height for calendar events in admin not set.
* Improvement   - Updated all translations.
* Improvement   - Customer billing data is display preferably if available.
* Improvement   - Soft deprecated `WC_Appointments_Form::convert_to_moment_format()` replaced with `wc_appointments_convert_to_moment_format()`.
* Improvement   - Soft deprecated `WC_Appointments_Form::get_posted_data()` replaced with `wc_appointments_get_posted_data()`.
* Improvement   - Soft deprecated `WC_Appointments_Form::is_appointable()` replaced with `WC_Product_Appointment::is_appointable()`.
* Improvement   - Soft deprecated `WC_Appointments_Form::get_formatted_times()` replaced with `wc_appointments_get_formatted_times()`.
* Improvement   - Soft deprecated `WC_Appointments_Form::calculate_appointment_cost()` replaced with `WC_Appointments_Cost_Calculation::calculate_appointment_cost()`.
* Improvement   - Soft deprecated `WC_Appointments_Controller::get_appointments_in_date_range()` replaced with `WC_Appointment_Data_Store::get_appointments_in_date_range()`.
* Improvement   - Soft deprecated `WC_Appointments_Controller::get_appointments_in_date_range_query()` replaced with `WC_Appointment_Data_Store::get_appointments_in_date_range_query()`.
* Improvement   - Soft deprecated `WC_Appointments_Controller::get_events_in_date_range()` replaced with `WC_Appointments_Availability_Data_Store::get_events_in_date_range()`.
* Improvement   - Soft deprecated `WC_Appointments_Controller::get_global_availability_in_date_range()` replaced with `WC_Appointments_Availability_Data_Store::get_global_availability_in_date_range()`.
* Improvement   - Soft deprecated `WC_Appointments_Controller::get_all_existing_appointments()` replaced with `WC_Appointment_Data_Store::get_all_existing_appointments()`.
* Improvement   - Soft deprecated `WC_Appointments_Controller::get_appointments_for_objects()` replaced with `WC_Appointment_Data_Store::get_appointments_for_objects()`.
* Improvement   - Soft deprecated `WC_Appointments_Controller::get_appointments_for_objects_query()` replaced with `WC_Appointment_Data_Store::get_appointments_for_objects_query()`.
* Improvement   - Soft deprecated `WC_Appointments_Controller::get_appointments_for_product()` replaced with `WC_Appointment_Data_Store::get_appointments_for_product()`.
* Improvement   - Soft deprecated `WC_Appointments_Controller::get_appointments_for_user()` replaced with `WC_Appointment_Data_Store::get_appointments_for_user()`.
* Improvement   - Soft deprecated `WC_Appointments_Controller::get_latest_appointments()`. Not used in Appointments.
* Improvement   - Soft deprecated `wc_appointments_get_time_slots()` replaced with `WC_Product_Appointment::get_time_slots()`.
* Improvement   - Soft deprecated `wc_appointments_get_time_slots_html()` replaced with `WC_Product_Appointment::get_time_slots_html()`.
* Improvement   - Soft deprecated `wc_appointments_get_global_availability()` replaced with `WC_Appointments_Availability_Data_Store::get_global_availability()`.
* Improvement   - Soft deprecated `wc_appointments_get_staff_availability()` replaced with `WC_Appointments_Availability_Data_Store::wc_appointments_get_staff_availability()`.
* Improvement   - Soft deprecated `delete_appointment_slots_transient()` replaced with `WC_Appointments_Cache::delete_appointment_slots_transient()`.
* Fix           - Filtering product and staff in admin calendar were not strict.
* Fix           - Add-ons and membership plugin not working ok - add-ons being discounted when they shouldn't.
* Fix           - WC POS seems to not be compatible - throwing error.
* Fix           - Availability for staff shown unavailable (blocked) when padding days are used.
* Fix           - Inclusive/exclusive inconsistency in logic for blocking Google Events' times.
* Fix           - Some Google Calendar events hidden in admin calendar.
* Fix           - Addons query duplicated and slows down loading with a lot of addons.

2019.09.09 - version 4.6.2
* Improvement   - Clear time slots transients.
* Fix           - Saving any product type saves it as 'Appointable product'.
* Fix           - Lead Time - Weeks interpreted as Months.

2019.09.08 - version 4.6.1
* Fix           - Cart item removal error.

2019.09.07 - version 4.6.0
* Feature       - Full integration with Kadence WooCommerce Email Designer plugin.
* Improvement   - Updated Product Add-ons to 3.0.15.
* Improvement   - Simplified the email templates.
* Improvement   - Simplified the email templates styling to conform with external email editing plugins.
* Improvement   - [appointment_form] shortcode loads without parameters on a product page.
* Improvement   - Added RTL support to all email templates.
* Improvement   - Revert to default duration, when duration is zero or negative.
* Improvement   - Deposits compatibility when adding apointment in admin.
* Improvement   - Make the custom pricing rules accept 5 decimal places so that it can be rounded properly.
* Improvement   - Updated all translations.
* Fix           - Fatal error in admin calendar – Invalid UNTIL property for RRULE.
* Fix           - Conflict with Free products and Memeberships plugin.
* Fix           - Lead time hours not working ok - adds 1 hour too much.
* Fix           - Wrong duration when more than 24 hours.
* Fix           - Renamed filters back:
                  'woocommerce_events_calendar_single_card_data' => 'woocommerce_appointments_calendar_single_card_data'
                  'woocommerce_events_calendar_view_day_scale' => 'woocommerce_appointments_calendar_view_day_scale'
                  'woocommerce_events_calendar_view_single_card' => 'woocommerce_appointments_calendar_view_single_card'
* Fix           - Multiple appointments with add-ons in 1 order add add-on options prom prev appointments.

2019.07.25 - version 4.5.14
* Improvement   - Dropped support for WooCommerce 2.6 (3 years old) for security issues.
* Improvement   - Compatibility with WooCommerce Twilio SMS Notifications 1.12.3.
* Improvement   - Attch .ics to Customer order emails.
* Improvement   - Updated all translations.
* Improvement   - Replaced method_exists with is_callable to prevent private methods from showing up.
* Fix           - Fatal error – Invalid UNTIL property for RRULE.

2019.07.23 - version 4.5.13
* Improvement   - Removal of all plugin data on un-installation. Constant 'WC_REMOVE_ALL_DATA' must be true.
* Improvement   - Added filter 'woocommerce_appointments_stop_recalculate_order' customers can use
                  to prevent order recalculation after appointment cancellation.
* Improvement   - Compatibility with WooCommerce 3.7.
* Fix           - Hold stock (minutes) used for holding appointments in cart. Stock time not respected.
* Fix           - empty_cart empties customer cart, but does not clear the Appointment cart.
* Fix           - Qty was set for appointment on each appointment load.
* Fix           - Change reminder scheduled action, when start time changes.
* Fix           - Editing appointment that was added through admin could cancel the reminder.
* Fix           - Editing appointment that was paid with COD could cancel the reminder.
* Fix           - Stop plugin from rendering, when WooCommerce isn't installed correctly.

2019.07.18 - version 4.5.12
* Fix           - In Calendar guest name is not displayed anymore.
* Improvement   - Updated @build dependencies for more efficient compressions.
* Improvement   - Used advanced ESlink rules to tidy the JS code.

2019.07.15 - version 4.5.11
* Improvement   - Moved Availability filtering widget to /includes folder.
* Improvement   - Moved Customize controls to /includes folder.
* Improvement   - Merged product import and export class to remove duplicated default properties.
* Fix           - Fixed integration with plugin WooCommerce Price Based on Country.

2019.07.14 - version 4.5.10
* Improvement   - Updated Add-Fons to 3.0.13.
* Improvement   - Updated all translations.
* Fix           - Admin calendar events overlapping.

2019.07.13 - version 4.5.9
* Improvement   - Mark unavailable times synced from gCal in WP admin calendar.
* Fix           - Recurring events from Google calendar not synced to correct time zone.
* Fix           - Appointments in Trash sending appt reminders.

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

2019.07.05 - version 4.5.7
* Improvement   - Prepared appointment form to support rescheduling in future updates.
* Fix           - Product Time zone not working in shortcode.
* Fix           - Product Availability auto-select not working in shortcode.

2019.07.04 - version 4.5.6
* Improvement   - Remove appointments filtering by created date in admin list table.
* Improvement   - Option to filter appointments in admin with Start/End date filters.
* Improvement   - Updated all translations.

2019.07.02 - version 4.5.5
* Improvement   - Appointment customer details now read from WC_Customer class.
* Improvement   - Filter 'appointments_cancel_appointment_url' now includes the appointment class as parameter.
* Improvement   - Fixed customer phone display in calendar dialog in admin.
* Improvement   - Updated Hebrew translation.

2019.07.01 - version 4.5.4
* Improvement   - Checking if product is 'appointment' type is simplified.
* Fix           - Removed $order_parent_id that was not in use and caused plugin compatibility issues.

2019.06.28 - version 4.5.3
* Improvement   - Added 'calendar-data-loaded' trigger that allows hooking into calendar after it is loaded.
* Improvement   - Updated moment.js libraries.
* Improvement   - Performance optimization for generation of appointment slots.
* Improvement   - Staff - No preference - selection is now disabled by default.
* Improvement   - REST API permissions were not set correctly.
* Fix           - Compatibility issue with API hook timing.
* Fix           - When multiple staff assigned and one is unavailable, the 'no preference' shows no slots.
* Fix           - Product with multiple staff 'No pref' not working ok.

2019.05.24 - version 4.5.2
* Fix           - gCal sync from WP to gCal does not work on 4.5.1.
* Fix           - Duplicating an appointable product resulted in an error.
* Fix           - Duplicating an appointable product did not duplicate availability.

2019.05.20 - version 4.5.1
* Improvement   - New Appointable products do not have the 'Virtual' option selected by default anymore.
* Improvement   - Sync appointments to gcal payed with a Deposit.
* Improvement   - Sync schedule now hooked to 'action_scheduler_after_process_queue'. Prevents crowding the DB.
* Improvement   - Sync schedule can now be disabled through 'action_scheduler_after_process_queue' action.
* Improvement   - 'availability_autoselect', 'customer_timezones' possible attributes for [appointment_form] shortcode.
* Fix           - Missing appointment ID from /appointments REST API.
* Fix           - Add-on error when product price is empty.
* Fix           - Add-on price could not be hidden with a filter.
* Fix           - Unable to view Global Availability issue.
* Fix           - Appointment reminder email seems to be timing on GMT not local time.
* Fix           - gCal too many action_schedulers even when there are no events in gCal.

2019.04.26 - version 4.5.0
* Feature       - REST API support to GET: /appointments, /availabilities, /products, /slots.
* Improvement   - Updated Action scheduler library to 2.2.5.
* Improvement   - Transients caching issues for availability rules and GCal sync.
* Improvement   - Updated all translations.
* Improvement   - Past Google events displayed as availability rules. Hide them.
* Fix           - Added missing $product object to 'woocommerce_before_add_to_cart_button' hook.
* Fix           - Twilio appointment confirmation and follow up SMS not sending.

2019.04.22 - version 4.4.9.4
* Improvement   - Updated Product Add-ons to 3.0.11.
* Improvement   - Caching plugin (probably W3TC) asks us to call to wp_cache_flush once the sync of is finished.
* Fix           - Appointment card shows the Cost of the order instead of the appointment.
* Fix           - Adding new date rules on staff profile page bug.

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

2019.04.16 - version 4.4.9.2
* Improvement   - Compatibility check with WooCommerce TM Extra Product Options 4.8.4.
* Improvement   - Duration not prettified for hours.
* Fix           - Add-on checkbox pre-selected, but empty after adding product to cart.
* Fix           - Can't add appointment to existing order.
* Fix           - Reset all appointment card details data on each selection.

2019.04.12 - version 4.4.9.1
* Fix           - Add-on duration error displayed.

2019.04.12 - version 4.4.9
* Improvement   - Moment Timezone JS library only included, when product supports time zones.
* Improvement   - Availability and Pricing rule validation with smarter inputs.
* Improvement   - Added more options to extend the calendar appearance.
* Fix           - Availability between different products and same staff not showing correctly in calendar.
* Fix           - Add-ons not hiding price on radio buttons.
* Fix           - Add-on duration and didn't accept negative price and duration.

2019.04.10 - version 4.4.8
* Fix           - $wp_locale not defined.
* Fix           - Recurring events failed to parse RFC string, unsupported property: EXDATE.

2019.04.09 - version 4.4.7
* Improvement   - Send reminders for appointments, created in admin.
* Fix           - Staff price not counted when multiple staff automatically assigned
* Fix           - Removed duplicated product property "get_padding_duration_minutes()".
* Fix           - Padding not working.
* Fix           - Recurring events not working when timezone for UNTIL is not specified.
* Fix           - Reminders not going out at the right time.
* Fix           - Addon duration display when adding appointment in admin.

2019.04.05 - version 4.4.6
* Improvement   - Big Performance improvement with large number of appointments scheduled.
* Improvement   - Add note to settings for Appointment Confirmed email.
* Improvement   - Updated all translations.
* Improvement   - Add the option to filter 'without staff' by selecting '–' in appointments list.
* Improvement   - Backend Calendar for staff members optimizations.
* Fix           - Addons with value below 1 are not being added to the total.
* Fix           - WooCommerce Twilio SMS Notifications 1.12.0 compatibility check.
* Fix           - Added back support for WooCommerce Twilio SMS Notifications below version 1.12.0.
* Fix           - Automatically assigned staff shows unavailable days as clickable.
* Fix           - Staff assigned together not working.

2019.04.03 - version 4.4.5
* Fix           - Performance issues.

2019.04.03 - version 4.4.4
* Fix           - Fatal error: after changing Gcal function name in version 4.4.3.

2019.04.02 - version 4.4.3
* Fix           - Fatal error: "class-wc-appointments-init.php" file had $this called wrong.

2019.04.02 - version 4.4.2
* Improvement   - Introduced 'woocommerce_appointments_calendar_single_card_data' filter.
* Improvement   - Simplified admin calendar dialog for appointments.
* Fix           - Fatal error during update.

2019.04.02 - version 4.4.1
* Fix           - Disallow zero as availability priority. Possibly set during upgrade to 4.4.0.
* Fix           - Spanish translation had some off strings.

2019.04.01 - version 4.4.0
* Feature       - Full/extended integration with Twilio SMS Notification extension.
* Feature       - Added CRUD for all availability rules.
* Feature       - Added "Date range with time" availability rule.
* Feature       - Ability for staff to sync 2-way or 1-way with their Google Calendar.
* Improvement   - Appointable product pre-selected when creating new product for the first time.
* Improvement   - Updated Action scheduler library to 2.2.1.
* Improvement   - Updated Product Add-ons to 3.0.10.
* Improvement   - Updated all translations.
* Improvement   - Simplified Add Appointment screen in admin. Removed No order option.
* Improvement   - Global availability is not set by default any more.
* Improvement   - Better compatibility with external email customization plugins.
* Improvement   - Disable marketplace suggestions to remove confusion.
* Improvement   - Sync from Google now operates on 1 minute intervals for both staff and globally.
* Improvement   - Sync cash on delivery appointments to Google.
* Fix           - Cannot add appointments in the backend.
* Fix           - Staff cannot select a calendar after initial calendar ID selection.
* Fix           - Gcal manual update shows last synced timestamp even if no events are synced.
* Fix           - PHP 7.3.2 compatibility.
* Fix           - Date picker not showing blocked dates correctly.
* Fix           - Padding calculations.
* Fix           - WPML compatibility re-check.
* Fix           - No preference showing unavailable days.

2019.03.02 - version 4.3.4
* Feature       - Added today's appointments to My account page.
* Improvement   - WordPress 5.1 compatibility.
* Improvement   - Moved installation and initialization functions into a separate class.
* Improvement   - Increased JS standard to ES6.
* Improvement   - Expanded compatibility for DateTime in older PHP versions and WC Ajax.
* Improvement   - Added libraries from "Google PHP Client" and "RRule" for both PHP and JS.
* Improvement   - Updated all translations.
* Fix           - My account appointments show "Appointment" instead of "Appointments".
* Fix           - Addon duration for time slots not transferred when switching days.
* Fix           - .ics missing for admin email notification.
* Fix           - All assigned staff have available slots, when there should be none.

2019.02.14 - version 4.3.3
* Fix           - Availability rules not showing up.

2019.02.13 - version 4.3.2
* Improvement   - Updated Product Add-ons to 3.0.8.
* Improvement   - Removed all 'dashicons' dependencies on frontend.
* Improvement   - Better RTL syntax.
* Improvement   - Admin Calendar now has split product and staff filter.
* Fix           - Timezone auto detection not working when multiple appointment shortcodes are used on same page.

2019.02.09 - version 4.3.1
* Fix           - Availability filter calendar not displayed correctly.

2019.02.08 - version 4.3.0
* Feature       - Added Availability filter widget.
* Feature       - Added full Italian translation. Many thanks to Giuseppe S. for the contribution.
* Improvement   - Add warning when adding Appointment to cart that requires confirmation and simple product is already in.
* Improvement   - Updated all translations.
* Improvement   - Updated Action scheduler library to 2.2.0.
* Improvement   - Updated Product Add-ons to 3.0.7.
* Improvement   - Decluttered appointment list UX and unified status label UI with WooCommerce order label UI.
* Improvement   - Incompatibility with Elementor plugin.
* Fix           - All users see staff fields in user edit screen.
* Fix           - Availability calculation for additional products is wrong when using WPML

2019.01.20 - version 4.2.9.6
* Feature       - Added filter 'appointment_form_pricing_rules_for_start_date' for pricing rules to work on start date only.
* Improvement   - Time zone name (city by default) is added to all appointments for products with time zones enabled.
* Improvement   - Time zone selection when multiple products with time zones are displayed at once.
* Improvement   - Staff selection when multiple products with staff are displayed at once.
* Improvement   - Additional check before running $field->validate().
* Improvement   - Updated all translations.
* Improvement   - Added option for month and year selection on the calendar through "wc_appointment_form_params" filter.
* Fix           - PHP 7.3 issue with add-ons.
* Fix           - RTL adjustment for prev/next month in calendar navigation.

2019.01.04 - version 4.2.9.5
* Improvement   - Changed naming to "Admin New Appointment" to better reflect mail recipient.
* Improvement   - Hardened emails for extensions send order instead of appointment object.

2019.01.04 - version 4.2.9.4
* Fix           - Automatic time zone conversion on initial cookie setup.
* Fix           - Time zone in customer's emails not showing up.

2019.01.03 - version 4.2.9.3
* Fix           - Timezone selection positioning.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/450/padding-not-working-ok-in-4292

2018.12.31 - version 4.2.9.2
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/449/js-tiptip-error-on-single-product-page-of

2018.12.28 - version 4.2.9.1
* Fix           - https://bookingwp.com/forums/topic/ghost-appointment/

2018.12.24 - version 4.2.9
* Feature       - Added reminder email time control.
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/402/add-reminder-email-time-control
* Improvement   - Decluttered email settings and made them in line with default WooCommerce email options.
* Improvement   - Shorter default emails subject lines more in line with default WooCommerce email lines.
* Improvement   - Updated all translations.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/447/staff-inventory-not-working-ok
* Fix           - Compatibility with WC Follow Up Emails extension.
* Fix           - Temporarily moved jQuery TipTip addon to all pages.

2018.12.18 - version 4.2.8
* Fix           - Add-ons not calculating duration, when quantity based.
* Fix           - Make sure translated plugin still updates automatically.

2018.12.13 - version 4.2.7
* Improvement   - Add default date / time format when empty
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/444/add-default-date-time-format-when-empty
* Improvement   - Updated Product Add-ons to 3.0.5.
* Improvement   - Added WooCommerce plugin required notice after Appointments activation and no WooCommerce present.
* Fix           - License screen error.
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/406/php-warnings-on-edd_sl_plugin_updatephp
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/443/with-padding-before-it-does-not-remove-the
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/429/my-account-wpml-not-all-appointments-are

2018.12.08 - version 4.2.6
* Improvement   - Appointment form style as inline-block to make sure width is 100% when form is floated.
* Improvement   - Better connection with WooCommerce TM Extra Product Options and Add-ons combined.
* Fix           - Timezone picker could disable click actions on product site.
* Fix           - Select options for add-ons were missing None.

2018.12.05 - version 4.2.5
* Feature       - Auto-detect customer's timezone.
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/431/automatically-select-customers-timezone
* Improvement   - Timezone selection closed when clicked outside the selection box.
* Improvement   - Added "Moment" JS library for better time manipulation.
* Improvement   - Updated all translations.
* Fix           - Addon cart error during update.

2018.12.03 - version 4.2.4
* Fix           - Make sure appointment is displayed only on orders with products attached.

2018.12.01 - version 4.2.3
* Improvement   - Deactivate WC Product Add-ons extension if active and add a notice.
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/437/add-warning-for-those-who-use-the-product
* Improvement   - Better license activation notice.
* Improvement   - Import/Export meta fields not translated, decluttering translation text-strings.
* Improvement   - Updated all translations.
* Improvement   - Updated Action scheduler library to 2.1.1.

2018.11.30 - version 4.2.2
* Improvement   - Temporarily disable None option for add-on fields (multichoice, radio button, ...)
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/435/multichoice-unrequired-addon-adds-an-extra
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/433/template-datetime-pickerphp-missing
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/434/incompatibility-with-yith-wc-gift-cards
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/436/problems-with-latest-version
* Fix           - Backward compatible with default WC Product Add-ons extension.

2018.11.24 - version 4.2.1
* Improvement   - Updated Product Add-ons to 3.0.4.
* Fix           - Error in certain cases for the date picker.
* Fix           - Addons with no cost or duration disable "book now" button.

2018.11.23 - version 4.2.0
* Improvement   - WordPress 5.0 + Gutenberg full compatibility.
* Improvement   - Updated Product Add-ons to 3.0.3.
* Improvement   - Allow negative duration value in add-ons.
* Improvement   - Ability to calculate add-on duration, based on quantity scheduled.
* Improvement   - Switch to WooCommerce library for Select2 script.
* Improvement   - Performance improvement for products that contain many appointable slots.
* Improvement   - Prevent loading of availability on initial page load.
* Improvement   - Added 100% Hebrew translation. Thanks yoni katz ;)
* Improvement   - Updated all translations.
* Improvement   - Move add-ons on orders to end of meta instead of the beginning.
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/427/availabilty-not-syncing-with-gcal
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/426/add-ons-are-always-multiplied-with-cost
* Fix           - Outdated Order again button template.
* Fix           - JS error in console when trying to save a product that's not an appointment. Prevents saving.
* Fix           - Break after first application of custom rule on an appointment slot.
* Fix           - Rounding issue when manually adding an appointment and generating an order.
* Fix           - File upload add-on fields did not calculate cost and duration properly.

2018.10.28 - version 4.1.8
* Improvement   - added filter 'woocommerce_appointments_time_slot' to allow filtering single slots.

2018.10.28 - version 4.1.7
* Improvement   - Updated Action scheduler library to 2.1.0.
* Improvement   - Display update notification even when license is not active.
* Fix           - Multiple dates in querystring.
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/424/multiple-dates-in-querystring
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/425/autoselect-first-available-slot-nor
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/419/simple-and-appointbale-product-in-one

2018.10.23 - version 4.1.6
* Improvement   - Do not display user edit link when current user cannot edit the user.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/415/the-slot-cannot-be-scheduled-issue
* Fix           - Calendar color selection in Customizer no longer works.
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/417/calendar-color-selection-in-customizer-no
* Fix           - Querystring does not retain all parameters after refresh.
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/418/missing-slot-on-page-refresh-when-failing
* Fix           - Retain selected time (when available) when switching through dates.

2018.10.12 - version 4.1.5
* Feature       - Added "One Page Checkout" integration.
                  https://woocommerce.com/products/woocommerce-one-page-checkout/
* Improvement   - Do not query staff for appointments without staff.
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/412/ics-provider-unknown
* Improvement   - Added 'wc_appointments_ics_exporter' filter for .ics output.
* Improvement   - Added 'wc_appointments_ics_appointment' filter for .ics appointment event.
* Improvement   - Updated Product Add-ons to 2.9.7.
* Improvement   - Better translation guidance.
* Improvement   - Querytring updated upon each selection of date, time or staff.
* Improvement   - No need for disabled (i18n_choose_options) alert as buttons have disabled prop, not class.
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/410/remove-failed-to-retrieve-and-generate-the
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/409/fix-wpml-appointment-to-not-have
* Improvement   - Updated all translations.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/414/bug-wc_product_appointment_rule_manager
* Fix           - Staff extra cost HTML escaped incorrectly.

2018.09.22 - version 4.1.4
* Improvement   - Big security update, escaped all output.
* Improvement   - Optimized code according to WordPress coding standards.
* Improvement   - Appointments list in admin styled for mobile.
* Improvement   - Updated all translations.
* Fix           - Added back "datepicker( 'refresh' )" to after each autoselect.
* Fix           - Only fetch Google Calendar events, when access token exists.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/403/cant-set-email-subject-and-heading-through
* Fix           - Emails not sent for apppointments without orders
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/408/send-reminder-email-to-appointments

2018.09.09 - version 4.1.3
* Improvement   - Removed "datepicker( 'refresh' )" after each autoselect.

2018.09.09 - version 4.1.2
* Improvement   - Faster appointment form load times by code optimization.
* Improvement   - Removed double cost calculation on add-on selection.
* Improvement   - Removed double cost calculation on staff selection.
* Improvement   - Removed double cost calculation on date selection.
* Improvement   - Reduced staff queries to $product, when call is just by staff_id.
* Improvement   - Cached staff query to remove duplicates on single page load.
* Improvement   - Removed duplicated add-on calls for before/after appointment form.
* Improvement   - Updated WPML compatibility to WooCommerce Multilingual 4.3.5.
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/390/inventory-with-wpml-missing-slots-left-for
* Fix           - Added "datepicker( 'refresh' )" to after each autoselect.
* Fix           - Add-ons added in admin were sometimes not added.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/394/check-tm-extra-options-plugin-integration

2018.08.31 - version 4.1.1
* Fix           - Auto-selecting first available slot not working. Props to /Mattias F.

2018.08.31 - version 4.1.0
* Improvement   - Replaced WP cron with Action scheduler for better transparency and reliability.
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/385/add-possibility-to-schedule-cron-server
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/374/multiple-emails-sent
* Improvement   - All scheduled actions/emails are available inside "WooCommerce > Status > Scheduled Actions".
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/398/follow-ups-plugin-should-have-the-user
* Improvement   - Removed $product dependencies in static wc_appointment_form_params script
                  to allow for multiple dynamic appointment forms on the same page.
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/382/could-we-use-staff-everywhere-on-the
* Improvement   - Removed manual email notifications from commented code.
* Improvement   - Confirmation emails are not sent the same way as admin appointment notifications for better tracking.
* Fix           - Make sure staff quantity cannot be negative.
* Fix           - Do not initiate staff gcal sync, when calendar ID is not set.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/399/slots-with-staff-availability-not-working
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/397/calendar-not-refreshing-right-when-auto
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/362/multiple-shortcodes-on-same-page-are-not

2018.08.18 - version 4.0.0
* Feature       - Customers can set their own timezones.
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/164/calendar-not-changing-with-local-time
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/173/better-timezone-support
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/361/timezone-not-working-ok
* Improvement   - Custom pricing rules now apply to add-ons as well.
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/392/add-custom-pricing-rules-for-add-ons
* Improvement   - Updated all translations.
* Improvement   - Added hook to allow bypassing slot availability checker
* Improvement   - Product filters now ordered by product title for easier searching.
* Improvement   - Reduced ajax cost calculation calls with time slots.
* Improvement   - Added hook 'woocommerce_appointments_gcal_sync_parameters' to allow filtering all gcal parameters.
* Fix           - Display appointments from "order ID" instead of "order item ID" as "_appointment_order_item_id" is not always unique.
* Fix           - Deprecated "btoa" function in JS for DatePicker in International Browsers.
* Fix           - Book now button is now disabled per html and per css class "disabled"
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/345/disable-book-now-button-until-everything

2018.07.13 - version 3.9.2
* Improvement   - Updated all translations. Thank you "Julien Lorion" for French translation.
* Fix           - WPML now works for product staff quantity.
* Fix           - WPML translates email notifications.
* Fix           - WPML missing staff added to all translated appointments.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/384/refunding-part-of-appointment-cancels-the

2018.07.04 - version 3.9.1
* Fix           - Transferred plugin license to a new BookingWP site.

2018.07.02 - version 3.9.0
* Improvement   - Rebranded plugin's author and parent to BookingWP
* Improvement   - Re-tested WooCommerce Multilingual (WPML) 4.3.2.1 compatibility. No issues, added restricted days meta fields.
* Improvement   - Better Polylang for WooCommerce 1.0.1 compatibility.
* Fix           - https://bookingwp.com/forums/topic/the-booking-calendar-no-longer-shows/
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/346/date-picker-problem-with-non-latin-chars
* Fix           - https://bookingwp.com/forums/topic/fatal-php-error/

2018.05.25 - version 3.8.9
* Improvement   - Updated Product Add-ons to 2.9.6

2018.05.25 - version 3.8.8
* Improvement   - Updated Product Add-ons to 2.9.5
* Improvement   - GDPR Privacy policies.
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/372/add-gdrp-privacy-tools-for-appointments
* Improvement   - Export/erasure hooks added.
* Improvement   - WC 3.4 compatibility.
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/371/staff-details-in-edit-user-profile-doubled
* Improvement   - Updated all translations.
* Fix           - https://bookingwp.com/forums/topic/manually-added-appointments-that-get-deposit-paid-dont-sync-to-gcal/
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/365/add-the-option-to-set-the-display-of-days
* Fix           - Notice:  Undefined variable: array in ..../class-wc-appointments-integration-gcal.php on line 762
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/370/staff-members-error-when-adding
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/368/calendar-bug-when-duration-is-1-day
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/367/show-error-when-saving-product-without-add
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/360/appointment-quantity-bug
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/363/cant-sync-staff-calendar-when-signed-in-as

2018.05.11 - version 3.8.7
* Improvement   - Switched from `wp_ajax` to `wc_ajax`
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/355/staff-availability-wrong
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/356/sms-reminder-sent-after-appointment

2018.05.04 - version 3.8.6
* Improvement   - Lighter borders for appointment form.
* Improvement   - Changed default highlight color to hex #111
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/350/add-appointment_date-to-the-new
                  Added {appointment_start} and {appointment_end} email shortcodes for email notifications.
* Improvement   - Added option to not show -- No preference -- option for staff selection.
* Improvement   - Updated Product Add-ons to 2.9.3
* Improvement   - Updated all translations.
* Fix           - FirstDay in admin calendar picker not working, typo: fistday instead of firstday
* Fix           - Do not display empty rule for staff with no rules in admin user profile edit screen.
* Fix           - No preference doesn't count staff qty correctly, when staff is assigned through profile edit screen.

2018.04.30 - version 3.8.5
* Feature       - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/347/choose-weather-to-muliply-addon-price-per
* Improvement   - Add .disabled class attributes for themes that do not have it.
* Improvement   - Updated all translations.
* Improvement   - Refactor `get_available_slots` parameters.
* Improvement   - Added 'woocommerce_after_appointment_form_output' hook for processing addons.
* Improvement   - Moved 'woocommerce_before_add_to_cart_button' hook to default location.
* Improvement   - Simplified integration with TM Extra Product options plugin.
* Improvement   - Simplified integration with Gravity Forms Product Add-Ons plugin.
* Fix           - Error, when Google Calendar sync settings not set correctly.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/344/gcal-connection-show-error-but-works-ok
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/342/appointment-color-from-customizer-not
* Fix           - Reminder Emails: Same-day appointments contain the text 'tomorrow'.
* Fix           - Calendar doesn't load the correct availability for different staff.
* Fix           - JavaScript error for DatePicker in International Browsers.
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/346/date-picker-problem-with-non-latin-chars
* Fix           - Make sure arrays in order values are imploded with gCal sync.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/348/throw-error-on-activation-is-wc-addons
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/351/calendar-not-loading-when-opening-website

2018.04.20 - version 3.8.4
* Improvement   - Temporarily disable 'find-scheduled-day-slots' nonce.

2018.04.18 - version 3.8.3
* Fix           - Padding for products messed calendar with hour/minute duration.

2018.04.18 - version 3.8.2
* Improvement   - Send new appointment notification to admin and staff for Cash on Delivery appointments.
* Improvement   - Delete all gCal sync events on plugin un-installation.
* Fix           - Auto-select first available date in one of next available months.

2018.04.17 - version 3.8.1
* Improvement   - Updated Product Add-ons to 2.9.2
* Fix           - Cannot add appointments in admin.

2018.04.16 - version 3.8.0
* Feature       - Lazy load front-end calendar and cache the output for large number of appointments.
* Feature       - Present appointment info in WooCommerce dashboard widget in admin.
                  For new appointments (monthly) and appointments that require confirmation
* Improvement   - Moved new email notifications for admin/staff outside WC_Emails::send_transactional_email.
* Improvement   - Show when month is fully or partially scheduled.
* Improvement   - Improved UI for appointment edit screen in admin.
* Improvement   - Updated all translations.
* Fix           - Don't allow last minute to be removed for global availability.
* Fix           - Slots shown as unavailable, when quantity still exists.
* Fix           - PHP Notice:  Undefined variable: settings.
* Fix           - New appointment email notification to admin goes into loop.
* Fix           - Billing details overwritten when assigning new manual appointment to existing order purchased by guest.
* Fix           - Fix PHP notices by passing through the email parameter.

2018.04.06 - version 3.7.3
* Fix           - Admin calendar fixed header height span.

2018.04.06 - version 3.7.2
* Improvement   - Admin calendar now includes staff view.
* Improvement   - Admin calendar improved on all levels, built with flexbox and more responsive.
* Fix           - Event removal for staff and main calendar upon cancellation.
* Fix           - Admin calendar positioning for daily view appointments.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/332/translation-not-working-because-of-typo
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/335/cancelled-appointment-not-removed-from
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/337/staff-stays-linked-when-changing-product
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/333/gcal-sync-not-working-ok

2018.04.02 - version 3.7.1
* Fix           - Fix 500 error on gCal sync with misconfigured calendar ID.

2018.04.02 - version 3.7.0
* Feature       - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/20/option-to-sync-staff-with-their-own-google
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/315/refactor-calendar-sync-from-google
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/322/gcal-livesync-not-working
* Improvement   - Only show quantity Left per slot, when Max and Left are the same.
* Improvement   - 50% Better performance for large number of appointments.
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/325/memberships-discount-not-working-from
* Improvement   - Updated all translations.
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/328/backend-appointment-gcal-sync
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/301/recuring-events-in-gcal-should-sync-more
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/326/wpml-slots-left-acting-weird
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/327/temporary-appointments-dont-get-deleted
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/330/inventory-in-availability-rueles-not

2018.03.20 - version 3.6.9
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/321/add-appointment-to-order-from-dashboard
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/323/time-picker-error-in-mozilla

2018.03.16 - version 3.6.8
* Improvement   - Additional checks for empty SKU in [appointment_form] shortcode.
* Improvement   - Add-ons with duration work better with appointment form.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/318/pending-confirmation-appointments-give
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/294/addons-multiplied-by-3
* Improvement   - Additional WPML checks for appointment email translations, which require WPML String translation service.

2018.03.04 - version 3.6.7
* Feature       - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/291/show-products-associated-with-staff-on
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/313/add-staff-to-product-even-if-staff-is-not
* Improvement   - Updated all translations.
* Improvement   - Slightly updated UX for staff management in product edit screen.
* Fix           - Additional checks for add-on field price format.
* Fix           - WPML duplicated appointment form on add-to-cart action.

2018.02.28 - version 3.6.6
* Improvement   - Reduce expensive ajax query to ""$appointment_form->get_posted_data" when possible.
* Improvement   - Improved Availability settings UX to better accommodate Gutenberg editor.
* Improvement   - Updated all translations.
* Fix           - Additional checks for [appointment_form] shortcode.
* Fix           - Don't duplicate WPML appointments, when translated product doesn't exist.
* Fix           - Schedule cart removal for duplicated appointments in WPML.

2018.02.26 - version 3.6.5
* Feature       - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/312/add-priority-levels-for-each-rule
* Improvement   - Updated all translations to include new strings from new features.
* Improvement   - 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.

2018.02.24 - version 3.6.4
* Feature       - Added full Polylang integration.
* Feature       - Added integration with WooCommerce Create Customer on Order; create a customer when adding appointment in admin.
* Feature       - Option to render add-on fields before and/or after the appointment form.
* Feature       - Add-on fields duration now adjust timeslots shown.
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/308/dont-count-cancelled-appointments-to-order
* Improvement   - Updated all translations to include new strings from new features.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/307/availability-display-issue-when-assign-all
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/310/polylang-emails-only-in-wp-site-language

2018.02.15 - version 3.6.3
* Improvement   - Improved compatibility with WooCommerce Follow Up Emails 4.6.4
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/309/auto-update-from-361-to-362-doesnt-work

2018.02.12 - version 3.6.2
* Improvement   - Updated all translations to include months feature.
* Fix           - Warning and notice for confirmation emails.

2018.02.11 - version 3.6.1
* Improvement   - Move Appointments customizer controls under WooCommerce panel.
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/303/add-option-to-only-sync-in-1-direction
* Fix           - Remove notice on appointment edit screen, when Google Calendar event is selected instead of regular product.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/298/1-day-duration-takes-2-days-after-syncing
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/304/gcal-events-synced-to-site-should-only

2018.02.10 - version 3.6.0
* Feature       - Added monthly duration option_name
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/305/add-monthly-duration-option
* Feature       - Appointments data included in WooCommerce core import and export functionality.
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/296/demo-imports
* Improvement   - Added $spaces_left to 'woocommerce_appointments_time_slot_html' filter.
* Improvement   - Added 'wc_appointments_staff_availability' filter for user availability.
* Improvement   - Added compatibility for Sequential Order Numbers Pro.
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/297/hide-an-unused-time-slot-range-in
* Improvement   - Added WPML compatibility with Add-on fields.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/299/remove-warning-for-global-rules-in
* Fix           - https://bookingwp.com/forums/topic/products-add-on-not-updating-pricing-in-cart/
* Fix           - Added fourth arg in Confirmation emails for actions.
* Fix           - Slots available after max available time.
* Fix           - Double check product exists before attempting to get_title().
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/306/inventory-in-no-pref-not-working-ok
* Fix           - Do not add custom pricing, when it is disabled, even when custom pricing rules exist.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/294/addons-multiplied-by-3
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/288/wrong-inventory-with-wpml
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/300/string-x-slots-left-wrong-with-wpml

2017.12.22 - version 3.5.7
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/286/incorrect-slot-availability-calculation-on
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/288/wrong-inventory-with-wpml
* Fix           - Filter "wc_apointments_check_appointment_product" was checking wrong product ID.

2017.12.18 - version 3.5.6
* Improvement   - Added weekday-x, with x as day number of week for each calendar day.
* Improvement   - Bump tested version to WooCommerce 3.3
* Improvement   - Order metadata synced with Google Calendar sync.
* Improvement   - Better indication of places left, with overall number when staff is assigned.
* Improvement   - Updated all translations.
* Improvement   - Updated Product Add-ons to v2.9.1
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/289/change-in-code
* Fix           - Appointments overwriting notes made directly on Google Calendar on subsequent syncs.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/216/wc-memberships-base-price-discounted-twice
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/284/week-start-day-wrong-calendar-class-ui
* Fix           - Customer defined slots by hour durations buffering by incorrect amounts.
* Fix           - Remove activation notice when plugin is deactivated.
* Fix           - Global and product rule not overriding staff rules when calling get_slots_in_range directly
* Fix           - Incorrect remaining count on slots when staff members overlap and are set to automatically assigned.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/290/wc_availability_rules_priority-acting
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/251/not-working-with-gravity-forms-add-ons
* Fix           - Added 1 hour to lead time to account for current time.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/286/incorrect-slot-availability-calculation-on
* Fix           - WPML not duplicating staff across all languages.
* Fix           - WPML removing all staff inventory for translated products, even when more qty is available.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/288/wrong-inventory-with-wpml
* Fix           - Deposit integration parent order not marked as completed when it contains an appointment.
* Fix           - Failed order's appointments are never cancelled.
* Fix           - Make sure lead time accounted for start time as well as end time.

2017.11.23 - version 3.5.5
* Improvement   - Autoselect first available slot for next 12 months.

2017.11.20 - version 3.5.4
* Feature       - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/19/switch-capacity-to-official-woocommerce
* Improvement   - Added 'wc_availability_rules_priority' filter for modifying appointment rules level weight.
* Improvement   - Updated translations.
* Fix           - Display addon duration and extra appointment fields in admin at all times.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/283/auto-select-first-slot-not-working

2017.11.15 - version 3.5.3.1
* Improvement   - Updated translations.
* Fix           - https://bookingwp.com/forums/topic/incorrect-remaining-places-message-missing-remaining-places-information/

2017.11.14 - version 3.5.3
* Fix           - https://bookingwp.com/forums/topic/incorrect-remaining-places-message-missing-remaining-places-information/

2017.11.14 - version 3.5.2.1
* Fix           - X-scroll issue with daily staff view in admin calendar

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

2017.11.11 - version 3.5.1
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/282/availability-with-staff-members-not

2017.11.07 - version 3.5.0
* Feature       - Allow price overriding for all Appointments by adding equals operator in the costs range.
* Improvement   - Removed Inventory from Global availability rules to reduce confusion and improve usability.
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/279/global-inventory-interfeers-with-staff
* Improvement   - Add new notice for plugin activation.
* Improvement   - Calendar page title.
* Improvement   - Updated translations.
* Improvement   - Improve error feedback on calendar timepicker.
* Improvement   - Update sanity check notices and convert them to warnings.
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/281/capacity-and-capacity-max-tooltip-the-same
* Fix           - Staff dropdown should only display the costs related to the staff.
* Fix           - Prevent deleting products that have appointments associated with them.
* Fix           - "Scheduled By" column is empty if there's no email address specified for the customer.
* Fix           - Restrict Days not working when site is translated.
* Fix           - Incorrect remaining count on slots when staff overlap.
* Fix           - Calendar not defaulting to first available date with shared staff.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/280/product-capacity-acting-strange
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/216/wc-memberships-base-price-discounted-twice

2017.10.28 - version 3.4.9
* Fix           - Missing slots, when no staff selected.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/276/the-status-bar-width-on-days-in-calendar
* Fix           - https://bookingwp.com/forums/topic/problem-with-last-one-update-3-4-7/

2017.10.24 - version 3.4.8
* Improvement   - Updated translations.
* Fix           - Calendar availability for appointments that end at midnight.
* Fix           - Calendar does not show schedule bar for staff not fully scheduled.
* Fix           - When no staff selected, available slots not shown.
* Fix           - https://bookingwp.com/forums/topic/problem-with-last-one-update-3-4-7/
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/276/the-status-bar-width-on-days-in-calendar
* Fix           - https://bookingwp.com/forums/topic/integration-with-gravity-forms-product-add-ons/page/2/#post-146233

2017.10.21 - version 3.4.7
* Improvement   - Removed compatibility for older version, where staff capacity was saved inside user edit screen.
* Improvement   - Big performance improvements, especially when staff is assigned to products.
* Fix           - https://bookingwp.com/forums/topic/integration-with-gravity-forms-product-add-ons/
* Fix           - Calendar admin week view grid lines.
* Fix           - Fixed availability issues for multiple staff.

2017.10.19 - version 3.4.6
* Feature       - Allow downloadable items with appointments.
* Improvement   - Added integration with "WooCommerce Print Invoices/Packing Lists" extension.
                  Also compatible with free "WooCommerce PDF Invoices".
* Improvement   - To reduce confusion, replaced staff inventory placeholder with N/A.
* Improvement   - Make sure Availability and Staff product admin menu tabs are place just below General and Inventory.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/269/wrong-appointment-status-with-pos-plugin
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/270/conflict-with-activity-log-plugin
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/271/general-tab-on-variable-products-with
* Fix           - Division by zero notice.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/272/appointments-added-through-gcal-block-all
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/273/when-saving-appointment-in-backend

2017.10.12 - version 3.4.5
* Improvement   - Remove ACF plugin's timepicker scripts.
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/144/attach-ics-to-customer-order-complete
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/251/not-working-with-gravity-forms-add-ons
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/243/duplicate-appointments-with-wpml-in-the-my
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/252/woocommerce-multilingual-custom-pricing

2017.10.09 - version 3.4.4
* Improvement   - Calendar view selection in admin saved and set to default automatically.
* Improvement   - Additional checks for staff existence.
* Fix           - Pagination of "My Appointments" for custom endpoints (other than "appointments") doesn't work.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/267/staff-notice-on-list-appointments
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/266/staff-members-cant-add-new-appointments
* Fix           - Uncaught Exception: Invalid product.

2017.10.03 - version 3.4.3
* Fix           - PHP Fatal error: Uncaught Error: Call to a member function skip_status_transition_events() on null

2017.10.02 - version 3.4.2
* Improvement   - Changed terminology from "Capacity" to "Inventory" before switching to WooCommerce default inventory system.
* Improvement   - Week selection in admin calendar's week view by datepicker.
* Improvement   - Updated translations.
* Fix           - Confirmation email sent twice.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/233/changing-order-status-from-complete-to
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/224/very-confusing-order-status

2017.09.30 - version 3.4.1
* Improvement   - Updated translations.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/251/not-working-with-gravity-forms-add-ons
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/227/refunding-an-appointable-product-leaves

2017.09.29 - version 3.4.0
* Feature       - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/184/view-appointments-by-week-in-backend
* Improvement   - Added link to staff profile inside admin calendar / appointment card.
* Improvement   - Pagination of "My Appointments".
* Improvement   - Switch order of operations for `status_transitioned_handler`.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/250/icon-position-issue
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/259/error-when-trying-to-delete-wocommerce
* Fix           - Full day appointments missing from Day view in admin calendar.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/260/woocommerce-order-appointment-displayphp
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/229/canelation-from-frontend-doesnt-remove
* Fix           - Customer cancelled appointments were not triggering cancellation emails.
* Fix           - Incorrect text domain for translation.
* Fix           - Appointments Calendar not functioning properly for RTL languages.
* Fix           - Random availability problem.
* Fix           - Calendar calculation wasn't taking into consideration days before actual appointment for duration of type days.
* Fix           - Data manipulation allows appointments outside of defined slots.
* Fix           - Orders with multiple cancelled appointments still show as "Completed".
* Fix           - PHP notice when adding appointable product that requires confirmation to the cart.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/262/capacity-count-in-custom-pricing-is-not
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/261/capcity-not-working-with-staff
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/264/email-triggered-everytime-confirmed
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/263/wrong-spaces-left-number
* Fix           - Appointment status was saved as 'pending' instead of 'pending-confirmation'.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/255/follow-ups-not-working-on-latest-version

2017.09.19 - version 3.3.3
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/256/duration-in-emails-is-wrong-in-332
* Fix           - https://bookingwp.com/forums/topic/dates-greyed-out-urgent/

2017.09.15 - version 3.3.2
* Fix           - Division by zero error.

2017.09.14 - version 3.3.1
* Fix           - Throwing JS errors for products with daily duration.

2017.09.14 - version 3.3.0
* Feature       - New functionality to restrict the day an appointment can start on.
* Improvement   - Optimized loading times, much faster on all levels.
* Improvement   - Added filters to allow switching to date created for My Account > Appointments.
* Improvement   - Added wc_appointments_summary_list_date filter for wc_appointments_get_summary_list.
* Improvement   - Moved Appointment Display to templates for orders on both front-end and admin.
* Improvement   - Moved Appointment Summary list to templates for orders on both front-end and admin.
* Improvement   - Send confirmation email for manually created appointments without an order.
* Improvement   - Querystring for "time" now uses more readable format. Instead of "12:00", now "1200".
* Improvement   - Removed "Order again" button for appointment orders.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/244/wc-memberships-with-discount-100-not-taken
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/242/time-zone-problems
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/241/sms-notification-doesn-t-work-for
* Fix           - Admin calendar day view incorrect when times below 10am.
* Fix           - Appointments calendar on the backend doesn't respect time format in WordPress settings.
* Fix           - Appointments with orders created in admin had totals without taxes included.
* Fix           - Fatal error when using woocommerce_email_recipient_appointment_confirmed
* Fix           - Fatal if create_wc_appointment used to create appointment based on parent.
* Fix           - Hour based slots overlapping midnight marks next day as partially booked even though it doesn't affect any of the slots.
* Fix           - Refunded orders will update the Appointments status to Refunded.
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/227/refunding-an-appointable-product-leaves
* Fix           - Today's availability rules were being ignored.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/246/issue-with-memberships-and-staff-extra
* Fix           - Updated price HTML display to correctly show additional costs.
* Fix           - Book button disabled on each price/slot calculation, prevents double appointment.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/251/not-working-with-gravity-forms-add-ons
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/248/lead-time-not-working-ok

2017.08.21 - version 3.2.9.1
* Improvement   - Unavailable days show as available on calendar.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/238/weird-acting-when-duration-interval-is-55
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/239/appointment-reminders-being-triggered
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/221/latest-tc-update-46-does-not-work-with
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/218/timezone-check-for-reminder-emails

2017.08.17 - version 3.2.9
* Improvement   - Book now button disabled until cost is calculated and availability checked.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/221/latest-tc-update-46-does-not-work-with
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/237/reminder-emails-not-sent

2017.08.16 - version 3.2.8
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/236/wc-memberships-not-working-ok
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/216/wc-memberships-base-price-discounted-twice
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/221/latest-tc-update-46-does-not-work-with
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/232/wrong-first-slot-with-combined-product-and
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/234/availability-rule-acting-weird

2017.07.31 - version 3.2.7
* Improvement   - Double check if order has been created for the appointment.
* Improvement   - Overnight rules for Sunday now correctly span into Monday.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/230/fatal-error-on-the-wc-settings-emails-page
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/231/cant-edit-the-subject-and-header-email-new

2017.07.28 - version 3.2.6
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/228/my-account-appointments-throws-an-error
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/195/wrong-availability-with-time-range-date
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/208/monday-15-00-00-30-with-duration-30min-no

2017.07.26 - version 3.2.5
* Fix           - Error 500 when using external object cache, such as Memcached.
* Fix           - Emails are triggered when saving an appointment and changes aren't made.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/222/no-preference-shows-no-slots-but-there-are
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/223/emails-sent-to-wrong-staff
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/226/connect-with-google-button-not-working
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/225/capacity-not-working-ok

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

2017.07.19 - version 3.2.3
* Fix           - Current day is not available, when lead time is less than 1 day.
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/220/lead-time-set-to-1-hour-disables-whole-day
* Fix           - Removed support for recurring events with Google Calendar sync, due to crashes.
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/219/add-max-date-for-gcal-sync

2017.07.18 - version 3.2.2
* Feature       - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/135/add-staff-and-add-ons-to-querystring
* Improvement   - Updated all translations.
* Improvement   - Added additional get_price checks for better external plugin compatibility.
* Improvement   - Updated WPML and added support for WPML multi-currency.

2017.07.15 - version 3.2.1
* Fix           - Current day is not available in any case.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/185/cant-have-2-autoselect-products-on-the

2017.07.14 - version 3.2.0
* Improvement   - Moved staff capacity from user edit screen to product edit screen.
* Improvement   - Removed availability capacity from staff/user edit screen, due to complexity.
* Improvement   - Simplified availability rule code checking.
* Improvement   - Addon duration missing for select add-on fields.
* Improvement   - Staff can also add products from other staff members, but can only edit products they created.
* Improvement   - Partially scheduled dates now show percentage remaining for selected days as well.
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/216/wc-memberships-base-price-discounted-twice
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/209/error-with-wc-memberships
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/156/make-it-compatible-with-discouts-using
* Fix           - Assigning all staff at once produces mixed results.
* Fix           - Double check that queried appointments don't return empty array.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/207/unavailable-dates-show-as-bookable-on
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/214/fatal-error-on-staff-appointments-list
* Fix           - Delete database entries on uninstall only in case `WC_REMOVE_ALL_DATA` is true.
* Fix           - `/appointments/` account slug rewrite rules now stay put on permalink flush.
* Fix           - Staff product tab showing wrong icon.
* Fix           - Only sync Google Calendar if the integration is configured.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/215/staff-members-dont-see-any-appointments
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/217/lead-time-title-od-unavailable-days-is
* Fix           - Brought back filter "woocommerce_appointments_remind_before_time".
                  https://bookingwp.com/forums/topic/has-the-filter-woocommerce_appointments_remind_before_time-been-removed/
* Fix           - Show "From: xy" next to price, when staff with additional cost is assigned.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/202/order-total-is-empty-when-creating
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/194/cancelling-appointment-in-edit-appointment
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/211/emails-not-working-ok-when-appointment-is
* Fix           - Not showing all staff in admin select box, when required.

2017.06.29 - version 3.1.9
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/205/add-a-filter-to-customr-details-meta-box
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/208/monday-15-00-00-30-with-duration-30min-no

2017.06.27 - version 3.1.8
* Improvement   - Refactored and moved most DB queries to Data Store.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/201/calendar-in-admin-shows-sunday-as-first
* Fix           - Email templates did not display cell borders correctly.
* Fix           - Tweaked availability rules.
* Fix           - Missing customer phone for admin created appointments.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/198/add-shop-manager-and-admin-as
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/196/product-slect-not-working-if-signed-in-as
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/143/fix-process_staff_unavailability_rules

2017.06.22 - version 3.1.7
* Improvement   - Calendar appointments in ASC order by start_date.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/193/notice-in-follow-up-emails
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/195/wrong-availability-with-time-range-date
* Fix           - Temporarily added https://bookingwp.com/forums/topic/order-notes-dont-seem-to-reflect-all-appointment-status-changes/#post-134484

2017.06.21 - version 3.1.6
* Improvement   - When customer is a registered user, show user details before billing details.
* Fix           - Staff unavailability rules not merged correctly for Time range (date range) rules.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/182/appointment-after-midnight-doesnt-take
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/183/availability-rule-from-20-00-to-06-00
* Fix           - Custom price label text. Deleted no payment for custom price label.
* Fix           - Order_by argument for my_appointments was wrong, was orderby instead of order_by.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/188/staff-name-is-blank-in-follow-ups
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/175/create-appointment-from-backend-doesnt

2017.06.07 - version 3.1.5
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/180/product-capacity-doesnt-work
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/178/slots-left-wrong-when-no-preference-is

2017.06.04 - version 3.1.4
* Fix           - Slots that extend over midnight are not able to schedule.

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

2017.06.02 - version 3.1.2
* Fix           - Midnight availability rules not working correctly.

2017.06.01 - version 3.1.1
* Improvement   - All availability rules now apply for all slots
* Improvement   - Global capacity now overrides product capacity for all products
* Improvement   - Deprecated days global availability rule set by default in older plugin versions
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/174/sale-price-not-displayed-correctly

2017.05.30 - version 3.1.0
* Feature       - Added customizer option to edit default color scheme
* Feature       - Deep WC Product Vendors integration
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/92/add-better-woocommerce-product-vendors
* Improvement   - Updated translations
* Fix           - Could not override myaccount/appointments.php template
* Fix           - Staff checking across multiple products.
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/153/padding-not-taken-into-account-over
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/169/capacity-in-availability-rules-is-ignored

2017.05.25 - version 3.0.9
* Improvement   - .ics file now attached to all email notifications, except cancelled ones:
                  https://bitbucket.org/bookingwp/woocommerce-appointments/issues/144/attach-ics-to-customer-order-complete
* Fix           - Capacity issues, defined with availability rules
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/168/staff-members-can-see-all-appointment-in

2017.05.23 - version 3.0.8
* Improvement   - More CRUD queries
* Improvement   - Refactored functions, controllers and rule manager
* Improvement   - "Cash on delivery" payments trigger reminders and admin/staff notifications
* Fix           - Conflict with WC Product Add-ons plugin
* Fix           - Staff availability rules
* Fix 			- https://bitbucket.org/bookingwp/woocommerce-appointments/issues/172/availability-rules-override-to-much
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/171/changing-status-of-order-falls-into-a-loop

2017.05.16 - version 3.0.7
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/137/product-add-on-duration-multiplier-does

2017.05.16 - version 3.0.6
* Feature       - Set customer status to "No Show" when appointment is past due and is not paid for
* Fix           - Order ajax search now works when editing appointment
* Fix           - Query for appointments didn't work correctly
* Fix           - Calendar capacity was incorrect, when no staff was assigned
* Fix           - Google calendar sync product name missing
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/166/hiding-duration-info-with
* Fix           - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/165/remove-view-my-appointments-for-guests

2017.05.12 - version 3.0.5
* Feature       - Add-on fields inside Google Calendar sync
* Feature       - On certain cases not syncing to Google calendar
* Fix           - Trashing an appointment will no longer trash its order if order has other items.
* Fix   		- Compatibility issue with Product Add-Ons integrations.

2017.05.09 - version 3.0.4
* Feature       - Added add-ons to appointment edit screen in admin
* Fix           - Fixed autoselect for date/time

2017.05.06 - version 3.0.3
* Fix           - Fixed Google calendar sync on appointments list

2017.05.05 - version 3.0.2
* Fix           - https://bookingwp.com/forums/topic/plugin-doesnt-show-pricing/

2017.05.04 - version 3.0.1
* Improvement   - My account page displays better appointment data

2017.05.04 - version 3.0.0
* Feature       - WooCommerce 3.0 full CRUD compatibility
* Improvement   - Better date/time rendering with duration always visible
* Improvement   - Update translations
* Fix           - The post_status field from submitdiv meta box causing unexpected transition appointment status events.
* Fix           - https://bookingwp.com/forums/topic/quick-edit-in-all-posts-missing/

2017.04.06 - version 2.6.3
* Feature       - Added Spanish translation es_ES
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/pull-requests/28/add-data-object-to-filter-for-gcal-add/diff
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/pull-requests/29/additional-past-and-upcoming-classes-for/diff
* Fix   		- https://bitbucket.org/bookingwp/woocommerce-appointments/pull-requests/25/fix-for-datepicker-not-showing-correct/diff
* Fix   		- https://bitbucket.org/bookingwp/woocommerce-appointments/pull-requests/30/fix-reference-to-customer-name-when-added/diff
* Fix   		- https://bitbucket.org/bookingwp/woocommerce-appointments/pull-requests/27/fix-for-issue-153-padding-not-taken-into/diff
* Fix   		- https://bitbucket.org/bookingwp/woocommerce-appointments/pull-requests/23/show-the-date-in-format-when-selected/diff

2017.03.02 - version 2.6.2
* Fix   		- https://bitbucket.org/bookingwp/woocommerce-appointments/pull-requests/21/format-single-day-view-date-by-general
* Fix   		- https://bitbucket.org/bookingwp/woocommerce-appointments/pull-requests/22/urgent-fix-administration-calendar-query/diff

2017.03.01 - version 2.6.1
* Fix   		- https://bitbucket.org/bookingwp/woocommerce-appointments/pull-requests/20/urgent-fix-to-use-or-instead-of-and-when

2017.02.26 - version 2.6.0
* Feature       - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/23/add-possibility-to-select-date-and-time
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/110/number-of-appointments-not-corresponding
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/120/add-php-code-sniffer-and-wpcs-to
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/129/follow-up-plugin-integration-missing
* Improvement   - ALL PHP files linted and improved for better readability
* Improvement   - Updated all languages
* Fix   		- https://bitbucket.org/bookingwp/woocommerce-appointments/issues/119/remove-first-ajax-request-on-cost
* Fix   		- https://bitbucket.org/bookingwp/woocommerce-appointments/issues/123/missing-slot-for-24-hour-business
* Fix   		- https://bitbucket.org/bookingwp/woocommerce-appointments/issues/125/display-duration-as-weeks-instead-of-days
* Fix   		- Issue with support for both padded appointments and 24/7 appointments (existing appointments query fix)

2017.02.21 - version 2.5.2
* Fix   		- https://bitbucket.org/bookingwp/woocommerce-appointments/issues/127/padding-time-is-not-taken-into-account
* Fix   		- https://bitbucket.org/bookingwp/woocommerce-appointments/issues/130/timezone-issues-with-different-date-format

2017.01.23 - version 2.5.1
* Improvement   - Linted all PHP files
* Fix   		- https://bitbucket.org/bookingwp/woocommerce-appointments/issues/117/next-slot-also-unavailable-when-duration

2017.01.22 - version 2.5.0
* Improvement   - Better automatic updates for the plugin.
* Fix   		- https://bitbucket.org/bookingwp/woocommerce-appointments/issues/102/autoselect-doesnt-work-if-current-month
* Fix   		- Better slot availability checking, when multiple staff is present. Added missing slots.
* Fix   		- https://bitbucket.org/bookingwp/woocommerce-appointments/issues/112/css-rules-for-global-availablity

2017.01.20 - version 2.4.9
* Improvement   - Added filter for time slots: 'woocommerce_appointments_time_slots_html'.
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/28/deleting-staff-should-update-products
* Improvement   - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/100/date-time-editing-for-approved-confirmed
* Improvement   - Updated translations.
* Fix   		- Fixed Google Calendar response_move variable notice.
* Fix           - Google calndar events not synced into existing products correctly.

2017.01.19 - version 2.4.8
* Improvement   - Added missing appointment_id variable to Follow Ups plugin integration.
* Fix           - Only schedule reminder for future appointments.
* Fix           - Midnight being 1 minute short is now fixed.
* Fix           - Datetime checking now works for the full appointment duration and not just intervals.
* Fix           - Added missing $minutes_not_available variable for checking scheduled out time.
* Fix           - Saving staff clears transients correctly.

2017.01.06 - version 2.4.7
* Fix           - Notices on comflict not working correctly.
* Fix           - Clearing transients on staff deleting on product edit screen.
* Fix           - Removed unused Appointment Notification email template to reduce confusion.

2017.01.04 - version 2.4.6
* Feature       - Notice on appointment conflicts in admin
* Improvement   - Deprecated 'woocommerce_appointments_appointment_cost_string' filter
				  and replaced it with 'woocommerce_appointments_appointment_cost_html'
				  for the whole ajax price HTML
* Improvement   - Date/time editing for approved/confirmed appointment should reschedule reminders.
* Improvement   - Better organized external integration classes
* Fix           - Frontend CSS fixes for various themes
* Fix           - Added plugin version number to all JS files for caching issues.
* Fix           - Clearing transients on staff saving on product edit screen.
* Fix           - https://bookingwp.com/forums/topic/not-sending-appointment-confirmation-email-and-error/

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

2016.12.23 - version 2.4.4
* Improvement   - Updated Product add-ons to version 2.7.26
* Improvement   - Dropped some support for WooCommerce 2.1 or older
* Fix           - Some date format might be causing unintended message: "The earliest appointment possible is currently..."

2016.12.14 - version 2.4.3
* Fix - https://bookingwp.com/forums/topic/appointment-confirmation-not-working-after-new-version-update-yesterday/
* Fix - https://bookingwp.com/forums/topic/only-one-slot-available-for-appointment/

2016.12.09 - version 2.4.2
* Fix - Availability rules issues.
* Improvement - Updated translations

2016.12.07 - version 2.4.1
* Fix - PHP error when adding appointment in admin.

2016.12.07 - version 2.4.0
* Feature - Better support for Deposits partialy paid status.
* Feature - Full compatibitily with Follow Up Emails extensions 5.0
* Improvement - Dropped support for WooCommerce 2.2 or older
* Improvement - Improved cutomer metabox
* Fix - "Time Range (date range)" availability rule now works as it should
* Fix - Different rule types couldn't be used on the same product as priorities were not respected across types.
* Fix - Unavailable slots showed when rule time range goes beyond midnight (e.g. 9:30 PM - 06:30 AM )
* Fix - Date with time showed days as not available when only a few hours was set is not available.
* Fix - Multiple appointments per order cancellation emails polluted email data.

2016.11.16 - version 2.3.0
* Improvement - Filter `woocommerce_appointments_get_posted_data` to filter the data within an ajax request.
* Improvement - Filter `woocommerce_appointment_is_scheduled_on_day`.
* Improvement - Appointment status strings can be translated.
* Improvement - Refactored appointment product query, broken into several parts
* Improvement - Better code quality
* Improvement - Updated translations
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/98/customer-status-on-completed-appointment
* Fix - Cache is not emptying properly.
* Fix - In cart appointments not showing unavailable in calendar.
* Fix - Appointment spanning into multi-day shows 0 slots available.
* Fix - Confirmation email sent with wrong dates when creating and changing an appointment date/time in admin.

2016.11.02 - version 2.2.9
* 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

2016.10.25 - version 2.2.8
* Improvement - Minor performance upgrade
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/93/synching-repeated-events-from-google
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/83/hide-others-appointments-with-staff-role
* Fix - Staff capacity

2016.10.19 - version 2.2.7
* Feature - Introduced staff capacity
* Improvement - Updated all translations
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/90/appointment-status-bug
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/84/multiply-duration-with-add-on-multiplier
* Fix - Fixed overflow issue for calendar in admin, where appointments would stretch far right

2016.10.14 - version 2.2.6
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/89/bug-assigning-managing-staff

2016.10.14 - version 2.2.5
* Improvement - Appointment filtering by staf and/or product available
* Fix - No more duplicates from Google Calendar sync to multiple sites
* Fix - Appointment filtering now works for date and status inside appointment list table

2016.10.13 - version 2.2.4
* Feature - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/73/auto-select-first-available-time-slot
* Improvement - Slightly optimized code for better performance
* Improvement - Added filter 'woocommerce_appointments_convert_to_hours'
* Improvement - Unavailable times don't show up for multiple staff assigned any more
* Improvement - Better day availability detection for multi-day duration

2016.10.05 - version 2.2.3
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/83/hide-others-appointments-with-staff-role

2016.10.05 - version 2.2.2
* Fix - Slots scheduled on Google Calendar not greyed out on calendar

2016.10.04 - version 2.2.1
* Improvement - Updated Product add-ons to 2.7.24
* Fix - Live Google Calendar sync now connects to correct resource ID
* Fix - Syncing all statuses now possible

2016.10.03 - version 2.2.0
* Feature - Calendar now has option to see all staff in columns for Day View
* Feature - Google Calendar v2
* Feature - Ability to define minimum and maximum quantity required for schduling
* Improvement - Calendar dilog box has better styling and customer avatars are enabled
* Improvement - Day View has been improved and allows for better display
* Improvement - Simpler query for appointable products
* Improvement - Twilio SMS now better integrated
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/80/settings-page

2016.09.16 - version 2.1.6
* Improvement - Added filter 'woocommerce_appointments_get_staff_assignment'
* Improvement - Product Add-ons: Duration label can be hidden for customers
* Improvement - Product Add-ons: Price label can be hidden for customers
* Fix - Better integration with plugin WooCommerce Twilio SMS Notification

2016.09.14 - version 2.1.5
* Improvement - Updated Product add-ons to 2.7.23
* Fix - https://bookingwp.com/forums/topic/received-3-email-when-appointment-status-updated/
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/74/appointment-edit-with-shop-staff-role

2016.09.05 - version 2.1.4
* Feature - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/70/staff-has-separated-view-for-all
* Improvement - Added much better WPML + WooCommerce Multilingual support
* Improvement - Priority for availability is now on product level: Product < Staff < Global
* Improvement - When duration is set to multiple days, all days available for scheduling are highlighted, not just start date
* Improvement - Updated My Appointments template page under My Account !IMPORTANT Save permalinks to take into account updated structure
* Fix - Renamed main plugin filename.
* Fix - Email recipients not showing "customer" in email settings.
* Improvement - Updated all translations

2016.09.01 - version 2.1.3
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/68/staff-date-range-time-range-date-range-bug
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/71/order-status-notes

2016.08.31 - version 2.1.2
* Fix - https://bookingwp.com/forums/topic/wrong-message/
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/64/malfunctioning-appointments-nonsense
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/65/bug-with-staff-availability-rules
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/68/staff-date-range-time-range-date-range-bug
* Fix - Fatal error:  Uncaught Error: Class 'WC_Appointments_Admin' not found
* Improvement - Updating appointment status manually now triggers events like reminder emails etc.
* Improvement - Deprecated filter 'woocommerce_appointments_remind_before_days' and replaced it with 'woocommerce_appointments_remind_before_time'
* Improvement - New filter 'woocommerce_appointments_remind_before_time' now allows you to specify '1 hour' or '1 day' etc.
* Improvement - When staff is changed and autoselected date/time is on, don't reload the whole calendar

2016.08.19 - version 2.1.1
* Fix - Email templates now copied to woocommerce/ folder for overriding

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

2016.08.16 - version 2.0.1
* Improvement - Admin calendar with miultiple staff assigned
* Fix - Gravity Forms Product Add-ons now works with newer versions
* Fix - Global Add-ons now work with duration as well
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/60/multiple-staff-will-not-appear-on-edit

2016.08.12 - version 2.0.0
* Feature - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/22/assign-multiple-staff-members-to-same
* Feature - Added French translation
* Feature - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/57/add-on-duration-for-multiple-days
* Improvement - Updated all translations
* Improvement - Avaialbility rules and capacity now work across board without any known glitches
* Improvement - Updated all email templates !IMPORTANT if you edited email templates
* Improvement - Product and staff now separated in admin
* Improvement - Padding is now simplified and works much smoother, when padding times are evalauted for multiple product for same staff
* Improvement - Added template versioning for better future compatibility
* Fix - https://bookingwp.com/forums/topic/padding-time-after-doesnt-work/
* Fix - Capacity now correctly configured for date and time. Only product capacity is taken, no multiplication by staff.
* Fix - Staff notification emails now work

2016.07.20 - version 1.9.15
* Improvement - Updated German translation

2016.07.19 - version 1.9.14
* Improvement - Updated translations and added RTL support

2016.07.19 - version 1.9.13
* Feature - Added German translation
* Improvement - Updated Product Add-ons to v2.7.21
* Improvement - Appointments with price set to zero are now labled as Free!
* Improvement - Transitioned to system fonts on all levels
* Improvement - Updated Hebrew translation
* Improvement - Updated Dutch translation
* Fix - Order status not being prefixed in db.
* Fix - Remove heavy appointment object cache from being saved to db causing performance issue.
* Fix - When staff is not enabled, default it to customer assignment.
* Fix - Partially scheduled days were not showing on the calendar for duration minute and hours.
* Add - Filter to account for different country calendar formats 'woocommerce_appointments_mdy_format'.

2016.07.18 - version 1.9.12
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/55/new-bug-in-1911

2016.07.18 - version 1.9.11
* Improvement - Fixed CRM Integration (filter instead of action) New features: display customer & order notes as tooltips.
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/54/appointment-reminder-don-t-get-send
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/53/appointment-guest
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/52/php-error

2016.07.08 - version 1.9.10
* Improvement - WordPress 4.6 compatibility
* Improvement - Date picker now unified across admin interface and automatically translated for WP 4.6+
* Improvement - Theme compatibility fixes for calendar on front-end
* Fix - Admin scripts for datepicker now called correctly
* Fix - Automatic staff assignment on empty staff

2016.07.07 - version 1.9.9
* Improvement - Styled datepicker in admin
* Improvement - Styled admin calendar
* Improvement - Moved all-day appointment to top
* Improvement - Removed jQuery UI style from front-end
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/47/serious-availability-bug

2016.07.04 - version 1.9.8
* Improvement - Moved appointments in My account to separate tab (WC 2.6+ feature)
* Improvement - Increased staff avatars size to 48px for retina displays
* Improvement - Further integration with http://codecanyon.net/item/woocommerce-point-of-sale-pos/7869665
* Improvement - Better appointment editing screen
* Improvement - Better day view calendar
* Improvement - Updated Select2 library to v4.0.3
* Improvement - When staff count is less than 6, search is disabled
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/47/serious-availability-bug
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/21/provider-no-preference-today

2016.06.23 - version 1.9.7.2
* Fix - Unavailable dates displayed on calendar

2016.06.23 - version 1.9.7.1
* Fix - PHP error

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

2016.06.22 - version 1.9.6
* Improvement - Staff availability drops to default if no availability is set up.
* Improvement - Only paid and confirmed appointments are considered for occupied date/time slots
* Add - Filter wc_appointments_product_get_available_slots
* Fix - WC 2.6 request confirmation showing even when no appointable product in cart.
* Fix - Google Calendar missign $wpdb variable
* Fix - Unable to pay for confirmed appointment if coupon reduces price.
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/29/customer-billing-shipping-address

2016.06.17 - version 1.9.5
* Fix - Site crash due to unregistered is_plugin_active() function

2016.06.17 - version 1.9.4.1
* Fix - https://bookingwp.com/forums/topic/how-to-disable-checkout-checkbox-check-appointment-availability/

2016.06.17 - version 1.9.4
* Feature - Option to Auto-select first available day
* Improvement - Reduced staff table queries to 1 transient
* Improvement - Significant loading time reduction
* Improvement - Updated Product Add-ons to v2.7.19
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/35/delete-appointment-from-postphp
* Fix - Local time conversion now works the same across all devices

2016.06.15 - version 1.9.3
* Feature - Integration with http://codecanyon.net/item/woocommerce-point-of-sale-pos/7869665
* Feature - Integration with http://codecanyon.net/item/woocommerce-customer-relationship-manager/5712695
* Improvement - Text "Book Appointment" is now "Book Now" and "Book Now" is now only "Book"
* Improvement - Slightly faster appointment form loading time
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/43/staff-members-see-only-their-own
* Fix - Staff filtering in admin now works as it should
* Fix - Cancelled appointments slots are available again
* Fix - Don't count padding time into interval
* Fix - Cart item quantity can't be modified any more in any theme (Avada fix)
* Fix - All admin tooltips are now generalized with wc_help_tip() function

2016.06.08 - version 1.9.2
* Improvement - Appointment form set to 100% width for wider theme compatibility
* Improvement - "Appointment cost" text set to just "Cost"
* Improvement - Removed Busy filter option as practically nobody used it
* Improvement - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/36/edit-appointment-format-of-date
* Fix - Integration with latest version of "WooCommerce TM Extra Product Options" plugin

2016.06.06 - version 1.9.1
* Improvement - Updated Product Add-ons to v2.7.18
* Improvement - admin calendar works better

2016.05.30 - version 1.9.0
* Feature - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/8/woothemes-twilio-sms-integration
* Improvement - admin CSS structure
* Improvement - admin calendar time format now in line with site's time format

2016.05.25 - version 1.8.9
* Feature - Times are converted to local times of visitors
* Improvement - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/16/display-cancelled-appointments-in-calendar
* Fix - Updating appointments with no orders PHP notice

2016.05.23 - version 1.8.8
* Improvement - Admin calendar view dialog now includes appointable product title

2016.05.21 - version 1.8.7
* Feature - Admin calendar appointment can be viewed in a dialog for better overview with basic actions
* Improvement - Improvement admin calendar view
* Improvement - Appointment reminder email now shows reminder for today if set so
* Fix - Frontend CSS fix for addons spacing
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/33/staff-capacity-mimicking-pre-version-182

2016.05.08 - version 1.8.6
* Improvement - Replaced all date and time format with native WooCommerce functions
* Improvement - Added current time indicator for day view, when viewing current day
* Improvement - Improvement admin calendar view
* Fix - https://bookingwp.com/forums/topic/php-error-when-saving-appointment/

2016.05.04 - version 1.8.5
* Improvement - Frontend calendar design looks slightly better
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/27/memory-issue-with-scheduled_slots-array
* Fix - Removed duplicated post type registration
* Fix - Warning on single product page caused by appointment objects transient stored
		as empty string. The reason for this is when false is stored via set_transient,
		it will return empty string when retrieved via get_transient.
* Fix - Plugin files loaded after all other plugins for better compatibility
* Fix - Appointment editing now syncs with order correctly, including customer ID

2016.04.22 - version 1.8.4
* Improvement - Cache appointment objects in appointment's controller.
* Improvement - Google calendar sync now works better for all statuses. Sync appointment when appointment is edited from edit appointment screen.
* Improvement - Use WC logging mechanism, especially when appointment is added to or removed from cart.
* Fix - Make sure appointment costs that span beyond end of the year are supported.
* Fix - Staff availability is now displayed correctly.
* Fix - Add a false value if order_ids return empty during search. This fixes issue of SQL syntax error when searching in Appointments.
* Fix - Limit status changes to only affect qualifying appointments. This should prevents status updated to 'was-in-cart' issue.
* Fix - Set default staff availability quantity to 1 which fixes issue of a product with staff is not appointable.
* Fix - Construct Date-object from UTC to ignore browser's TZ and incorrect calculated duration on particular timezones.
* Fix - Check automatic staff assignments on each date to make sure a fully scheduled date is not available instead of partially scheduled.
* Fix - 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.
* Fix - Reset tags on email body before each trigger which fixes tag placeholders. were not substituted properly.
* Fix - Removed deprecated args causing notices displayed in confirmation email.

2016.04.19 - version 1.8.3
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/11/admin-calendar-bug

2016.04.18 - version 1.8.2
* Feature - Added Hebrew language support
* Improvement - Added 'woocommerce_appointments_calendar_view' filter that allows setting default calendar view to 'day'
* Improvement - Updated Product add-ons to 2.7.17
* Fix - Addon total now displays again
* Fix - https://bookingwp.com/forums/topic/time-slot-gone-after-1-booking-but-capacity-is-80/
* Fix - Qty display for appointments in admin

2016.03.30 - version 1.8.1
* Improvement - Product Add-ons intergration updated to 2.7.16
* Fix - Capacity checking for daily appointments
* Fix - https://bitbucket.org/bookingwp/woocommerce-appointments/issues/1/wrong-z-index-lightbox-and-select-input
* Improvement - Select2 library updated from RC1 to 4.0.2
* Improvement - Linted all JS files

2016.03.25 - version 1.8.0
* Improvement - Added option for quantity inside Add appointment in admin screen
* Improvement - Localized admin calendar inside appointment edit screen
* Improvement - Appointments statuses now available for translation
* Improvement - Color palette resembles that from latest WooCommerce version
* Feature - Pricing rule for quantity scheduled
* Feature - Added support for padding days, not just padding hours
* Experimental - 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

2016.03.22 - version 1.7.9
* Fix - Undefined notice for global availability settings
* Fix - Availability rule order now correct global > product > staff
* Fix - Previous day was highlighted
* Fix - Dates that are not available are now disabled
* Improvement - Appointable product page load speed increased
* Improvement - Add-on price symbol now wrapped in span with class name "amount-symbol"
* Feature - Allow multiple appointments per staff at one time

2016.02.29 - version 1.7.8
* Fix - https://bookingwp.com/forums/topic/admin-calendar-tooltips-are-gone-with-last-update/

2016.02.27 - version 1.7.7
* Feature - Staff notification emails
* Improvement - Added margin below email notification table for better styling

2016.02.27 - version 1.7.6
* Improvement - Calendar font now inherits body font
* Improvement - Calendar day columns now have the same width
* Improvement - Select2 library updated to 4.0.2-RC1

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

2016.02.24 - version 1.7.4
* Fix - https://bookingwp.com/forums/topic/error-message-at-cart/
* Fix - Overrides Bookly absolute calendar positioning: https://bookingwp.com/forums/topic/divi-theme-not-showing-good-calendar-in-products-page/
* Fix - https://bookingwp.com/forums/topic/add-ons-are-not-being-added-to-the-order-item-list-properly/

2016.02.17 - version 1.7.3
* Fix - Scheduled multiple quantity is now correctly calculated in

2016.02.12 - version 1.7.2
* Feature - Select custom time intervals independently from duration
* Tweak - Cancel time is now by default 1 day prior to appointment instead of 1 month
* Fix - Adding appointment in now shows the calculated price

2016.02.12 - version 1.7.1
* Fix - Sale price display error
* Fix - Translation of remaining slots for scheduling

2016.02.11 - version 1.7.0
* Feature - Customer can now schedule multiple appointments at once
* Tweak - Add-ons cost now displayed with a plus + sign prefix
* Tweak - jQuery: deprecated size() replaced with length()
* Tweak - Updated translations
* Tweak - Add-ons multipled with quantity scheduled
* Fix - gCal sync error on appointment removal fixed
* Fix - Appointment editing in admin now correctly synced with corresponding Order

2016.02.09 - version 1.6.2
* Tweak - Added more WPML support
* Tweak - New Appointments specific add-on section under WooCommerce > Add-ons.
* Tweak - Show a notice when viewing an appointment if it's add-on plugin no longer is installed.
* Fix - Prevent the Duration input field from displaying on non appointment products when using the product add-ons extension.
* Fix - Prevent start times that end after date times from showing up when using padding times.
* Fix - Appointment in "My Account" not created with Confirmation Requried Appointment + New User account
* Fix - Missing ending double quotes in order note of appointment status transition
* Fix - Use full unit 'hour' when using date/time str in strtotime
* Fix - Removed a bug with cost calculation that resulted in PHP warning

2016.02.04 - version 1.6.1
* Fix - Price wasn't calculated correctly for Staff, when pricing rules were empty

2016.02.03 - version 1.6.0
* Feature - Custom pricing rule
* Feature - Additional price per staff
* Improvement - Price calculations on all product levels
* Improvement - Display FROM label before price, when additional costs are applied
* Tweak - Staff capacity overrides appointment capacity
* Tweak - Staff is set as appointment author, so you can filter capabilities correctly
* Fix - No preference for staff now selects only available staff
* Fix - Changing staff on scheduling form now reloads the time slots

2016.01.28 - version 1.5.4
* Improvement - Updated Add-ons to version 2.7.15
* Tweak - Sync appointments without orders (manually created appointments) to Google Calendar.
* Tweak - Humanized order status in order column of appointments list.
* Fix - If the new staff input is canceled, the staff input area will no longer be blocked.
* Fix - Format the datetime form based on site language (matches behavior for day form).
* Fix - Fix for possible availability problems using time range slots.
* Fix - Prevent extra border from showing on time slots when using TwentySixteen as your theme.
* Fix - Save the correct (appointment, not order) ID when saving appointment details on the admin screen.

2016.01.27 - version 1.5.3
* Feature - Ability to check availability rules against starting slot in range only

2016.01.26 - version 1.5.2
* Feature - Full integration with 'WooCommerce Follow Up Emails' extension
* Tweak - Display of appointment customer in admin

2016.01.20 - version 1.5.1
* Improvement - Updated Add-ons to version 2.7.14
* Fix - Staff access to their schedule
* Tweak - Some WooCommerce 2.5 compatibility fixes

2016.01.15 - version 1.5.0
* Feature - Capacity can be overriden on availability rule level, great for classes
* Tweak - 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".
* Tweak - Adding staff now more stramlined
* Improvement - Deprecated time range on specific date and replaced with time range with date range
* Improvement - Highlighted all selected day if appointment lasts for more than 1 day
* Improvement - Not messing with WooCommerce pricing any more. Selecting price label doesn't set price to zero.
* Fix - Fix ranges on non-product rules.

2015.12.23 - version 1.4.6
* Fix - Capacity is now independent from staff count
* Tweak - Added 'woocommerce_appointments_get_posted_data' filter
* Tweak - Added 'woocommerce_appointments_order_item_status' filter
* Feature - Full WPML compatibility

2015.12.23 - version 1.4.5
* Fix - Price including tax displayed correctly
* Tweak - Zero total in cart should avoid cache, temporarily disabled hiding price, when zero
* Tweak - Updated Select2 script to 4.0.1
* Feature - Integration with free plugin "WooCommerce Product Price Based on Countries"
* Feature - Integration with free plugin "TM Extra Product Options"

2015.12.17 - version 1.4.4
* Tweak - New filter added: 'woocommerce_appointments_gcal_sync_statuses'

2015.12.17 - version 1.4.3
* Tweak - New filter added: 'woocommerce_before_appointment_form_output'
* Tweak - WooCommerce 2.5+ compatibility
* Fix - Email reminders not looped any more
* Fix - Email reminders now sent on paid appointment status only

2015.12.08 - version 1.4.2
* Fix - Add-ons syntax error

2015.12.08 - version 1.4.1
* Fix - Calendar day names localization
* Fix - Product Add-ons localization is now merged with "woocommercea-appointments" text-string

2015.12.05 - version 1.4.0
* Tweak - Better UI for adding appointments in admin
* Tweak - Integrated product add-ons, when adding appointments in admin
* Tweak - Add-ons displayed after available time slot is selected
* Tweak - Add-ons now show extra duration next to each addon label
* Feature - Appointments by day - can be scheduled for multiple days at a time.

2015.12.01 - version 1.3.1
* Tweak - first day of week also applies to admin calendar picker

2015.12.01 - version 1.3.0
* Tweak - New filter to change custom appointment labels.
* Fix - Rules ending at midnight will now properly be parsed.
* Fix - Google Calendar events now properly include the correct end date.
* Fix - Slots smaller than 30 minute chunks will no longer get cut off on the admin calendar.
* Fix - Prevent the partial scheduled indicator from sometimes showing on a previous day to a day with appointments.
* Fix - If there are 0 time slots left, make sure not to show the slot at all.
* Fix - Fix a bug with hours spanning days that can potentially show (still unschedulable) slots on other days
* Feature - Time based appointments can now extend into the next day.
* Feature - Rules can now have priorities set to create custom availability schedules.
* Tweak - Our "partially scheduled" indicator now works for day slots with multiple spots.
* Tweak - Tooltips have been added on the appointment calendar to explain what each color means.
* Tweak - New get_wc_appointment_statuses() to return an array of appointment statuses.
* Tweak - Use wc_date_format/wc_time_format instead of hard-coded format strings for default date & time formats.
* Fix - Show days as available if time based rules say so.
* Fix - Fatal error that occurs when setting an appointment's scheduled product to N/A.
* Fix - Associate appointment details with an order, even if the appointment and order are created separately.
* Fix - Only send appointment cancelation emails for appointments and not orders.
* Fix - Next/Previous tooltip text can now be translated.
* Tweak - Updated Product Add-ons to 2.7.13
* Fix - Capacity not showing correct number

2015.11.09 - version 1.2.4
* Feature - added shortcode 'appointment_form'
* Improvement - Better price display with label instead of cost
* Improvement - Removed any cost mention, when cart/order total is zero
* Fix - appointment form design now more consistent
* Fix - time range with specific date now works correctly (leading zero not added for months and days)

2015.10.15 - version 1.2.3
* Fix - wc_appointment_pretty_addon_duration functions definition
* Fix - Product Add-ons assests linked correctly
* Fix - availability error

2015.10.15 - version 1.2.2
* Improvement - Better price display with sale price
* Fix - Price label display

2015.10.15 - version 1.2.1
* Fix - Availability for Time range (specific date) now works, when no other rule is active

2015.10.14 - version 1.2.0
* Feature - When duration longer than 120 minutes it gets broken into hours and minutes
* Improvement - Updated WooCommerce Product Add-ons to 2.7.10
* Improvement - Front-end classes now fire inside $GLOBALS[] variable
* Improvement - Translations can now be handled inside WP languages directory
* Improvement - Replaced WC deprecated functions
* Fix - Cancelled appointment staff member
* Fix - Select2 removed from datetime-picker.php template
* Fix - Padding time now assinged correctly

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

2015.09.01 - version 1.0.0
 * First Release.
