Transform your Perfex CRM with the most advanced appointment booking system featuring Google Calendar sync, Outlook integration, and powerful analytics dashboard.
NOTE: This is not a standalone appointments module. It requires Perfex CRM application version 3.0.0 or higher installed, as this is a module for Perfex CRM.
Appointly is a comprehensive appointment management solution that seamlessly integrates with Perfex CRM to revolutionize your business scheduling. This powerful module combines advanced service management, analytics reports, appointment to invoice, leads, tasks conversion, and intelligent calendar synchronization to create the ultimate appointment booking experience for service-based businesses.
Whether you’re running a consulting firm, healthcare practice, beauty salon, or any service-based business, Appointly streamlines your entire appointment workflow from initial booking to final invoicing. With support for Google Calendar, Outlook Calendar, SMS and Email notifications, and mobile-responsive design, your clients can book appointments anytime, anywhere.
Want to contribute a translation? If you want to contribute translation please contact us via Envato support section.
For support, please contact us through:
We typically respond within 24-48 business hours. Regular updates ensure compatibility with the latest Perfex CRM versions and introduce new features based on user feedback.
Transform your appointment scheduling today with Appointly – The most advanced appointment management solution for Perfex CRM!
Release Date: February 01, 2026
Bug Fixes: - Critical date parsing bug affecting first week of any month (days 1-7) causing appointments to revert to invalid dates - Date handling in main appointment insert misinterpreting single-digit day numbers - Email merge field date concatenation showing incorrect dates in confirmation emails - Date conversion fallback function parsing dates incorrectly as datetime instead of date-only - Date validation function applying incorrect datetime parsing to date fields - Google Calendar insert function fallback causing calendar sync failures for early month dates - Google Calendar update function fallback mishandling dates 1-7 during event updates - Language error when only English language is available in system causing external booking form failures - UTF-8 encoding issues in services DataTable causing 'Invalid JSON response' error with Greek and multi-byte characters - UTF-8 character display issues in service names, descriptions, and staff names - htmlspecialchars() not using explicit UTF-8 charset parameter causing encoding problems - JSON encoding not handling UTF-8 characters properly in DataTables responses - String length functions not properly handling multi-byte characters fix Improvements: - Enhanced date handling across all booking scenarios (external form, admin panel, calendar sync) - Optimized date parsing to use date-only format instead of datetime for appointment dates - Improved Google Calendar synchronization reliability for all dates of the month - Strengthened email notification date formatting consistency - Better date validation and conversion error handling - Enhanced language detection with fallback mechanism for systems with limited language support - Improved external appointment form JavaScript functionality - Updated Italian language translations - Enhanced appointment view with better information display - Added Content-Type header with UTF-8 charset for proper JSON encoding in DataTables
Release Date: November 08, 2025
New Features: - Complete client self-service email notification system with 17 new email templates - Client cancellation request workflow with automatic staff notifications - Client reschedule request workflow with confirmation emails and staff alerts - Provider change notification system (assignment and removal alerts) - Comprehensive appointment status change notifications (completed, no-show, cancelled) - Attendee management notifications (added/removed from appointments) - Reschedule request approval/denial workflow with client notifications - Enhanced appointment approval notifications for staff and clients - "Upcoming" badge display in appointments datatable for future appointments - Approve/Deny reschedule buttons on individual appointment view pages - Enhanced appointment row coloring for cancelled, no-show, and missed appointments - Professional row options styling in appointments datatable with intuitive icons - Visual feedback system with loading states for reschedule actions - Enhanced working hours display in appointment views (desktop and mobile responsive) - Staff working hours management with company schedule integration - "Use Company Schedule" toggle functionality for individual staff members - Time preservation system when toggling availability states - Database performance optimization with comprehensive indexing strategy (15+ new indexes) - Real-time notification system improvements with enhanced Pusher integration - Comprehensive merge fields system with 15+ appointment-specific fields - Notification system debugging and tracking documentation - Google Calendar and Outlook integration buttons in appointment view page for manual calendar addition - Auto-add external appointments to Google Calendar upon approval (configurable setting) - Multi-language support for external booking form with dynamic language dropdown - Language persistence across booking form and success page - Admin setting to enable/disable language dropdown on external booking form - Admin setting to show/hide staff phone numbers on external booking form - Recurring appointment badge in appointments datatable showing recurrence type, frequency, and cycle progress - Recurring information section in appointment view page with detailed recurrence details - "Stop Recurring" functionality with button to stop future recurring appointment instances - "Edit Recurring Settings" button in appointment view for managing recurring appointments Bug Fixes: - Merge fields not being replaced in reschedule denial and approval emails - Client reschedule request notifications not reaching assigned providers - Missing email templates causing notification system failures - Notification recipient targeting issues (improved provider and creator-focused delivery) - Staff working hours toggle switches not updating visually - Time dropdowns remaining disabled when availability is toggled on - Times reverting to defaults when toggling availability and saving - "Use Company Schedule" toggle not working for non-current days - Form submission issues with disabled time inputs - Upcoming appointment status discrepancy between summary and datatable - Appointment status filter logic not matching summary calculations - "No Show" filter not displaying past in-progress appointments (now matches summary count logic) - Calendar display issues with duplicate meetings and time formatting - Google Calendar sync performance issues - Legacy status column migration issues - Database helper syntax errors - N+1 query performance issues causing slow page loads with large datasets - Missing database indexes causing inefficient appointment table queries - XSS vulnerabilities in appointment table output - SQL injection risks in appointment access control logic - Success page hardcoded text not translating properly - Google Calendar events not being created due to invalid sendUpdates property in Event object - Duplicate Google Meet email notifications (Google Calendar and Perfex CRM both sending emails to attendees) - Invoice auto-creation not working when booking appointments from admin panel (only worked for external bookings) - External booking form showing primary contact data instead of actual logged-in contact information - External form accepting invalid/empty date and time fields causing 00:00 time submissions - Staff without Google Calendar connected receiving misleading "time slot unavailable" error messages - Tax custom percentage input field not showing when selected in invoice settings (JavaScript selector issue) - Invoice auto-creation not applying configured tax rates from settings (custom percentage and CRM tax rates) - Google Calendar 2-way sync ignoring date range filter setting - Duplicate Google Calendar events with different Meet URLs being created - Recurring appointments missing critical fields (end_hour, duration, timezone, service_id, provider_id, files) - Recurring appointments not copying service relationships from appointly_appointment_services table - Staff-only appointments hardcoded to 08:00-17:00 time range regardless of availability settings - Staff-only appointments not sending any notifications (email or system) to attendees - Invoice model loading failure on Linux servers due to case-sensitive filename (AppointlyInvoices_model → Appointlyinvoices_model) - Recurring appointments created without slot availability validation, causing double bookings and conflicts - Recurring appointments created on blocked company holiday dates - Staff-only appointments restricted to company working hours (now allow 00:00-23:30 full day scheduling) - Staff-only appointments blocking time slots with conflicts instead of showing warnings - PHP 8.1+ deprecation warnings for nullable parameters (explicit ?type syntax required) - Google Calendar authentication failing with "Data too long for column 'access_token'" error on PHP 8.1+ servers (with auto-migration for multi-tenant systems) - External form appending "00:00:00" to date field causing incorrect datetime strings in merge fields - Email confirmation showing wrong date (12/31/1969) due to malformed datetime merge field concatenation Improvements: - Complete email template system overhaul with consistent merge field support - Appointments datatable with enhanced visual hierarchy and professional styling - Enhanced SMS merge fields system with 10+ appointment-specific fields for comprehensive SMS notifications - Staff working hours JavaScript functionality with complete rewrite - Enhanced appointment status logic consistency across all views - Database migration system with comprehensive status data migration - Notification recipient targeting (provider and creator-focused) - Real-time notification system with Pusher integration - Form validation and submission handling - Enhanced appointment filtering system with accurate logic - Mobile-responsive working hours display - Time preservation system when toggling availability states - Enhanced appointment data retrieval for complete template support - Database query performance with comprehensive indexing strategy - Security hardening with enhanced permission checks and input validation - Appointment table loading speed with optimized database queries - Google Calendar sync performance with strategic event ID indexing - Recurring appointments now validate slot availability before creation (skips conflicts with admin notification) - Staff-only appointments now show all time slots (00:00-23:30) with visual conflict warnings instead of blocking - Time slot selection for staff appointments with color-coded warnings (orange for conflicts, red for unavailable)
Release Date: July 29, 2025
- New: Comprehensive Google Meet settings panel with advanced configuration options - New: Auto-enable Google Meet for all appointment settings - New: Default Google Meet recording option with enable/disable toggle - New: Waiting room enable/disable setting for Google Meet meetings - New: Customizable reminder timing (5, 10, 15, 30 minutes, 1-2 hours, 1 day) - New: Option to disable Google Calendar email notifications to prevent duplicates - New: Enhanced Google Meet button with a dropdown menu for copying links and viewing meeting details - New: Google Meet meeting details modal with comprehensive information - New: Copy Google Meet link functionality with success notifications - New: Enhanced Google Meet invitation system with attendee notifications - New: Google Meet quick actions panel (join meeting, send invitations) - New: Google Meet features display (HD video/audio, recording status, screen sharing, waiting room) - New: Staff now respect booking conflicts (busy times) when enabled in settings - New: Settings-based Google Meet feature configuration (recording, waiting room, reminders) - New: One-click integration to download ICS file on appointment view and the client's area - New: Custom Fields System updated - New: Complete custom fields support for appointments on the external booking form - New: Custom fields in the external booking form - New: Invoice & Client Management - New: Complete invoice automation system - New: Client appointments dashboard/tab for viewing their appointments - New: Automatic invoice creation when an appointment is booked - New: Client-side appointment management interface with permissions per contact - New: Settings option to show staff/provider email addresses in the external booking form - Fixed: Outlook attendees not being added correctly to calendar events - Fixed: Outlook integration failing with empty attendees array (400 Bad Request) - Fixed: Double alert issue when deleting Outlook events - Fixed: Google Calendar sync filtering issues - Fixed: Form submission issues with special characters in appointment subjects when not using English language - Fixed: Provider dependency validation issues - Fixed: Appointment creation form UX issues - Fixed: Lead display issues in client hash - Fixed: Terms and conditions link on booking form and updated validation - Fixed: Start and end hour handling for appointments - Fixed: External form blocked dates - Fixed: Client hash authentication issues - Fixed: Admin notifications for new appointments via the booking form - Fixed: Staff attendees not receiving email notifications when appointments are approved - Improved: Appointments settings UI/UX - Improved: Client public area - Improved: Appointment update and view pages - Improved: Enhanced Google Meet button styling and functionality - Improved: Better Google Meet link management and sharing - Improved: Comprehensive Google Meet settings with icons and better organization - Improved: Google Meet attendee handling and email notifications - Improved: Google Meet integration with appointment settings and preferences - Improved: Enhanced Outlook attendee handling for all appointment types (internal, external, lead) - Improved: Proper attendee inclusion (provider + related contacts/clients) - Improved: Google Calendar Integration - Improved: Custom fields in appointment edit/update forms - Improved: Outlook Integration - Improved: Better calendar integration, status display - Improved: Form UX & Validation - Improved: Security - Improved: Notifications & Reminders - Improved: Two-way sync improvements with better filtering - Improved: Language & Localization
Release Date: June 21, 2025
- New: View Appointment direct navigation from edit page - Added quick navigation button to view appointment details from edit form - New: Edit Appointment direct navigation from appointment view page - Added edit button for seamless editing from appointment view - New: Delete option from Google Calendar on Edit and Appointment view pages - Added ability to remove Google Calendar integration directly from appointment pages with confirmation - New: Delete option from Outlook Calendar on Edit and Appointment view pages - Added ability to remove Outlook Calendar integration directly from appointment pages with confirmation - New: Improved Outlook API integration - Updated to use App permissions instead of delegated permissions for better reliability - New: Staff attendees validation - Added validation for internal staff appointments to ensure attendees are selected - New: Client email confirmation system - Added automatic email confirmations for external appointment submissions - New: Customizable success pages - Complete success page customization with color schemes and layout options - New: Added option to delete appointments directly from the Customers tab - New: Added option to delete appointments directly from the Leads tab - New: Dashboard widget for upcoming appointments with configurable date ranges (7 days, 14 days, 30 days, 4 weeks) - New: Settings to enable/disable both today's appointments and upcoming appointments dashboard widgets - New: Smart linking for Google Calendar appointments - opens Google Calendar instead of local appointment view - New: Support for Google Calendar appointment status mapping (confirmed → pending) - New: Added option in settings to apply default VAT/Tax rate when converting appointment to invoiceNew: Red light colour will show in the appointments table list if date is in the past - Fixed: Removed missing status from table — redundant - Fixed: Search on contacts on the Customers side was searching all company contacts instead of current client contacts - Fixed: Staff non working days showing correctly on date picker on create and update pages - Fixed: Client auto-fill on booking form - External booking form now automatically fills client data when logged in and shows appointments in Customers section - Fixed: External booking notifications - Fixed notification system for external appointments to send proper confirmations - Fixed: Service update white screen issue - Fixed service update functionality that was causing blank pages - Fixed: Buffer output issues - Fixed potential buffer issues that could affect some users - Fixed: Contact relation switching bug - Fixed issue when switching between staff and internal contact relations - Fixed: Google/Outlook checkbox functionality - Fixed calendar integration checkboxes on appointment creation - Fixed: Language file inconsistencies - Fixed and improved language file handling and translations - Fixed: Mobile responsiveness issues - Fixed broken mobile layouts, working hours display, and form elements - Improved: Now contacts are show in the dropdown instead of searching - Improved: Mobile-first responsive design - Complete mobile optimization for all appointment pages - Improved: Responsive grid layouts - Improved grid systems that work across all device sizes - Improved: Working hours mobile layout - Working hours now display properly under provider image on mobile - Improved: Icon-only mobile buttons - Calendar integration buttons show icons only on mobile with tooltips - Improved: Consistent processing messages - Standardized "Adding to [Service] Calendar" messages for both Google and Outlook - Improved: Enhanced navigation - Better button layouts and navigation flow between appointment pages - Improved: Calendar cards - Modern gradient cards with hover effects and delete functionality - Improved: Form layouts - Responsive form elements that stack properly on mobile devices - Improved: Code cleanup - Removed deprecated code and improved code organization - Improved: Error handling - Better error handling for calendar integrations and form submissions - Improved: Validation - Enhanced form validation, especially for staff attendee selection - Improved: Performance optimizations - Various performance improvements throughout the module - Improved: Email template system - Added client confirmation email templates and database integration - Improved: Language support - Added new translation keys for all new features for all languages - Improved: Terminology consistency - Standardized terminology across all language files - Updated: Outlook API changes - Updated to use App permissions instead of delegated permissions (documentation updated) — will need this for teams when implementing - Updated: Better CSS organization - Improved CSS structure and responsive utilities
- New: Implemented user-friendly appointment URLs with clean, professional structure (appointly/appointment/hash) - New: Added automatic browser cache clearing system ensuring new routes work immediately after installation/upgrade - New: Added comprehensive client reschedule request system with staff approval workflow - New: Implemented "Book Again" functionality for cancelled and no-show appointments - New: Added delete option for two-way synced appointments directly from CRM - New: Created dedicated reschedule requests table with proper referential integrity - New: Added email notification templates for reschedule approvals and denials - New: Enhanced staff dashboard with pending reschedule and cancellation request sections - New: Added multi-language support for reschedule and book again features - New: Button added to edit the appointment directly from the appointment view - Updated: Enhanced staff-only appointments with improved attendees validation and Google/Outlook integration - Updated: Improved client appointment view with modern UI and better status indicators - Updated: All email templates and system references to use new friendly URL format - Updated: Implemented time-based versioning for all JavaScript files to prevent cache issues - Fixed: Service editing and updating functionality for services currently in use - Fixed: Form submission errors and validation messaging - Fixed: Primary provider selection not displaying correctly in service management - Fixed: Time format consistency in appointment editing interface - Fixed: Hardcoded language strings throughout the module - Fixed: Time display formatting during appointment updates - Improved: Refactored appointment submission logic for better maintainability and debugging - Improved: Removed legacy backend validation while maintaining security - Improved: Maintained backward compatibility for existing appointment bookmarks and links
- Fixed minor bug in installation and migration - Fixed Booking form issue if no blocked days available - Fixed database migration order - moved column checks after table creation - Fixed invalid status migration from 'confirmed' to 'in-progress' - Added table existence checks for all database operations
- Complete services management interface - Multi-provider assignment with primary provider designation - Default provider selection for each service - Service-specific pricing, duration, and descriptions - Buffer time configuration (before/after appointments) - Color-coded service identification - Service availability control for booking forms
- Comprehensive analytics dashboard with real-time statistics - Advanced date range filtering (today, week, month, year, custom) - Monthly appointment trends with visual charts - Service popularity and performance metrics - Staff performance tracking with completion rates
- Create invoices from completed appointments - Create tasks from appointments with context preservation - Create leads from appointments with context preservation - Streamlined workflow from appointment to business processes
- Company-wide schedule configuration - Individual staff working hours override - 15-minute interval precision - Weekend and holiday management
- Completely redesigned dashboard with modern UI - Improved appointment creation/editing forms - Enhanced external booking form with service selection - New appointment status management system - Mobile-optimized responsive design
- Optimized database structure with new tables for services and working hours - Improved appointment status management with enum fields - Enhanced data relationships and foreign key constraints - Modular controller structure (Appointments, Services, Reports) - Enhanced model layer with specialized service and report models - Better error handling and validation - Streamlined appointment booking workflow - Improved provider selection interface
- Legacy callback functionality (streamlined focus on appointments) - Outdated appointment type system (replaced with services) - Legacy status fields (replaced with modern enum system) - Deprecated working hours fields (moved to dedicated tables)
- Automatic data migration from v1.2.x to v1.3.0 - Backward compatibility for existing appointments - Preserved calendar integrations and settings - Maintained email template compatibility
- Fix: Services & Reports view permissions - Fix: Menu items list minor issues fix and reorder - Fix: Minor issues with permissions globally