[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fD-oVCVC-qjvipMgMaiIgP0MoMhISrY8_TIXbUOPuBaU":3},{"slug":4,"name":5,"version":6,"author":5,"author_profile":7,"description":8,"short_description":9,"active_installs":10,"downloaded":11,"rating":12,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":124,"crawl_stats":37,"alternatives":129,"analysis":235,"fingerprints":1157},"easy-appointments","Easy Appointments","3.12.21","https:\u002F\u002Fprofiles.wordpress.org\u002Feasyappointments\u002F","\u003Cp>Add Booking Appointments system to your WordPress site and manage Appointments with ease. Extremely flexible time management. Multiple location, services and workers. Email notifications.\u003C\u002Fp>\n\u003Cp>Can be used for : \u003Cstrong>Lawyers\u003C\u002Fstrong>, \u003Cstrong>Salons\u003C\u002Fstrong>, \u003Cstrong>Mechanic\u003C\u002Fstrong>, \u003Cstrong>Cleaning services\u003C\u002Fstrong>, \u003Cstrong>Doctors\u003C\u002Fstrong>, \u003Cstrong>Spas\u003C\u002Fstrong>, \u003Cstrong>Personal trainers \u003C\u002Fstrong>, \u003Cstrong>Private Lessons\u003C\u002Fstrong>, \u003Cstrong>Escape rooms\u003C\u002Fstrong> etc,\u003C\u002Fp>\n\u003Ch4>Live Demo\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Feasy-appointments.com\u002Fresponsive-single-column-layout\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Responsive Appointment form\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Feasy-appointments.com\u002Fresponsive-two-columns\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Responsive Appointment form – two column layout\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Feasy-appointments.com\u002Ffull-calendar\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Full calendar NEW\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Feasy-appointments.com\u002Fdemo-standard-single-column-layout\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Standard Appointment form\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Doc\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Feasy-appointments.com\u002Fdocumentation\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Multiple \u003Cstrong>Locations\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Multiple \u003Cstrong>Services\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Multiple \u003Cstrong>Workers\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Create dedicated calendar for one location \u002F service \u002F worker\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Create time slots by connecting location – service – worker and date\u002Ftime\n\u003Cul>\n\u003Cli>Multiple time slots\u003C\u002Fli>\n\u003Cli>Fine granular option for creating even most complex time table\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bulk connections builder\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Extremely flexible time table\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Email notifications :\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Send email notification to customer on creation and update of appointment\u003C\u002Fli>\n\u003Cli>Send email notification to predefined list of admin users\u003C\u002Fli>\n\u003Cli>Send email notification to employee\u003C\u002Fli>\n\u003Cli>Custom content and subject\u003C\u002Fli>\n\u003Cli>Custom admin email\u003C\u002Fli>\n\u003Cli>Confirm booking via link provided inside email\u003C\u002Fli>\n\u003Cli>Cancel booking via link provided inside email\u003C\u002Fli>\n\u003Cli>HTML content via WYSIWYG editor\u003C\u002Fli>\n\u003Cli>Custom emails for different status of appointments : pending, reservation, canceled, confirmed\u003C\u002Fli>\n\u003Cli>Include any information from booking inside email content even from custom fields\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Single Column Responsive Bootstrap Layout\u003C\u002Fstrong> for Appointment form\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Two Column Responsive Bootstrap layout\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom form fields :\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>\u003Cstrong>Create your own custom form fields in a few clicks\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>textarea\u003C\u002Fli>\n\u003Cli>select\u003C\u002Fli>\n\u003Cli>input\u003C\u002Fli>\n\u003Cli>Make fields required\u003C\u002Fli>\n\u003Cli>Drag and drop order\u003C\u002Fli>\n\u003Cli>Google reCAPTCHA v2\u003C\u002Fli>\n\u003Cli>Google reCAPTCHA v3 \u003Cstrong>NEW\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>NEW\u003C\u002Fstrong> use current logged in user data sa default value for custom field.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Internationalization\u003C\u002Fstrong> – support for translations (you can create your own translation \u003Ca href=\"https:\u002F\u002Feasy-appointments.com\u002Fdocumentation\u002F#translate\" rel=\"nofollow ugc\">>> tutorial \u003C\u003C\u003C\u002Fa>)\n\u003Cul>\n\u003Cli>German translation (thanks to Matthias)\u003C\u002Fli>\n\u003Cli>Romanian translation (thanks to Vlad)\u003C\u002Fli>\n\u003Cli>Polish translation (thanks to \u003Ca href=\"mailto:maciej@bauza.pl\" rel=\"nofollow ugc\">Maciej Bauza\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Finnish translation thanks to Maija\u003C\u002Fli>\n\u003Cli>Portuguese translation thanks to Antonio\u003C\u002Fli>\n\u003Cli>Portuguese Brazil translation thanks to seniweb\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Labels\n\u003Cul>\n\u003Cli>Hide price\u003C\u002Fli>\n\u003Cli>Add custom currency\u003C\u002Fli>\n\u003Cli>Set currency before\u002Fafter price\u003C\u002Fli>\n\u003Cli>Custom style\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Localization of \u003Cstrong>datepicker for 77 different languages\u003C\u002Fstrong> (day of week, months)\u003C\u002Fli>\n\u003Cli>Reports\n\u003Cul>\n\u003Cli>Time table overview\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Export to CSV (for Calc, Excel…)\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Need even more like Google Calendar, iCalendar, WooCommerce, Room Booking or SMS support?\u003C\u002Fh4>\n\u003Cp>There is extension plugin that you can buy and add to your Easy Appointments plugin :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Google Calendar with 2 way sync\u003C\u002Fli>\n\u003Cli>iCalendar\u003C\u002Fli>\n\u003Cli>Notifications SMS & Mail (custom template for each status as well for reminder and follow up messages)\n\u003Cul>\n\u003Cli>Twilio SMS\u003C\u002Fli>\n\u003Cli>Omnicom SMS (Greece 🇬🇷)\u003C\u002Fli>\n\u003Cli>Mail\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>WooCommerce integration\u003C\u002Fli>\n\u003Cli>PayPal integration\u003C\u002Fli>\n\u003Cli>WhatsApp Notification integration\u003C\u002Fli>\n\u003Cli>AI Booking Assistant\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For more info follow the link for \u003Ca href=\"https:\u002F\u002Feasy-appointments.com\u002F#extension\" rel=\"nofollow ugc\">Extension plugin\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>HomePage\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Feasy-appointments.com\u002F\" rel=\"nofollow ugc\">easy-appointments.com\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cp>FullCalendar\u003C\u002Fp>\n\u003Cp>This plugin uses the FullCalendar JavaScript library to display interactive calendars and events within the plugin interface.\u003Cbr \u002F>\nFullCalendar itself does not collect or transmit personal data. All calendar data is generated and managed locally within the plugin or retrieved from configured services such as Google Calendar.\u003C\u002Fp>\n\u003Cp>This service is provided by FullCalendar LLC\u003Cbr \u002F>\nTerms of use and Policy : https:\u002F\u002Ffullcalendar.io\u002Flicense\u003C\u002Fp>\n","Add Booking system to your WordPress site and manage Appointments with ease. Extremely flexible time management and custom email notifications.",10000,1756027,86,129,"2026-02-24T14:01:00.000Z","6.9.4","3.7","5.3",[19,20,21,22,23],"appointment","appointments","booking","calendar","reservation","https:\u002F\u002Feasy-appointments.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feasy-appointments.3.12.21.zip",96,7,0,"2025-09-09 00:00:00","2026-03-15T15:16:48.613Z",[32,48,63,73,87,100,111],{"id":33,"url_slug":34,"title":35,"description":36,"plugin_slug":4,"theme_slug":37,"affected_versions":38,"patched_in_version":39,"severity":40,"cvss_score":41,"cvss_vector":42,"vuln_type":43,"published_date":29,"updated_date":44,"references":45,"days_to_patch":47},"CVE-2025-49398","easy-appointments-unauthenticated-arbitrary-shortcode-execution","Easy Appointments \u003C= 3.12.14 - Unauthenticated Arbitrary Shortcode Execution","The The Easy Appointments plugin for WordPress is vulnerable to arbitrary shortcode execution in all versions up to, and including, 3.12.14. This is due to the software allowing users to execute an action that does not properly validate a value before running do_shortcode. This makes it possible for unauthenticated attackers to execute arbitrary shortcodes.",null,"\u003C=3.12.14","3.12.14.1","medium",6.5,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:L\u002FI:L\u002FA:N","Improper Control of Generation of Code ('Code Injection')","2025-11-12 13:54:21",[46],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F8ddbfa41-94c3-4aca-a3ec-f46b4b248f66?source=api-prod",65,{"id":49,"url_slug":50,"title":51,"description":52,"plugin_slug":4,"theme_slug":37,"affected_versions":53,"patched_in_version":54,"severity":40,"cvss_score":55,"cvss_vector":56,"vuln_type":57,"published_date":58,"updated_date":59,"references":60,"days_to_patch":62},"CVE-2024-2842","easy-appointments-authenticated-contributor-stored-cross-site-scripting","Easy Appointments \u003C= 3.11.18 - Authenticated (Contributor+) Stored Cross-Site Scripting","The Easy Appointments plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the plugin's 'ea_full_calendar' shortcode in all versions up to, and including, 3.11.18 due to insufficient input sanitization and output escaping on user supplied attributes. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.","\u003C=3.11.18","3.11.19",6.4,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2024-03-28 00:00:00","2024-03-29 05:35:36",[61],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F9e1514c8-3752-4d0a-87a3-3f245a7cb914?source=api-prod",1,{"id":64,"url_slug":65,"title":66,"description":67,"plugin_slug":4,"theme_slug":37,"affected_versions":53,"patched_in_version":54,"severity":40,"cvss_score":68,"cvss_vector":69,"vuln_type":70,"published_date":58,"updated_date":59,"references":71,"days_to_patch":62},"CVE-2024-2844","easy-appointments-insufficient-authorization","Easy Appointments \u003C= 3.11.18 - Insufficient Authorization","The Easy Appointments plugin for WordPress is vulnerable to unauthorized modification of data due to insufficient user validation on the ajax_cancel_appointment() function in all versions up to, and including, 3.11.18. This makes it possible for unauthenticated attackers to cancel other users orders.",4.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Missing Authorization",[72],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fc0d8ac01-ac73-47ea-839b-edc820436f27?source=api-prod",{"id":74,"url_slug":75,"title":76,"description":77,"plugin_slug":4,"theme_slug":37,"affected_versions":78,"patched_in_version":79,"severity":40,"cvss_score":80,"cvss_vector":81,"vuln_type":57,"published_date":82,"updated_date":83,"references":84,"days_to_patch":86},"CVE-2022-36424","easy-appointments-cross-site-request-forgery-via-multiple-ajax-actions","Easy Appointments \u003C= 3.11.9 - Cross-Site Request Forgery via multiple AJAX actions","The Easy Appointments plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 3.11.9. This is due to missing or incorrect nonce validation on multiple AJAX functions. This makes it possible for unauthenticated attackers to modify plugin settings via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.","\u003C=3.11.9","3.11.10",6.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:U\u002FC:L\u002FI:L\u002FA:L","2023-05-05 00:00:00","2024-01-22 19:56:02",[85],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F461cec8c-77e4-4f20-8dff-c4f675dc235f?source=api-prod",263,{"id":88,"url_slug":89,"title":90,"description":91,"plugin_slug":4,"theme_slug":37,"affected_versions":92,"patched_in_version":93,"severity":40,"cvss_score":94,"cvss_vector":95,"vuln_type":57,"published_date":96,"updated_date":83,"references":97,"days_to_patch":99},"CVE-2023-30748","easy-appointments-authenticated-administrator-stored-cross-site-scripting","Easy Appointments \u003C= 3.11.0 - Authenticated (Administrator+) Stored Cross-Site Scripting","The Easy Appointments plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to, and including, 3.11.0 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers , with administrator-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This only impacts multi-site installations and installations where unfiltered_html has been disabled.","\u003C=3.11.0","3.11.1",4.4,"CVSS:3.1\u002FAV:N\u002FAC:H\u002FPR:H\u002FUI:N\u002FS:C\u002FC:L\u002FI:L\u002FA:N","2023-04-14 00:00:00",[98],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fbfe8d13b-f387-4c82-ba9f-efadda18c882?source=api-prod",284,{"id":101,"url_slug":102,"title":103,"description":104,"plugin_slug":4,"theme_slug":37,"affected_versions":105,"patched_in_version":106,"severity":40,"cvss_score":55,"cvss_vector":56,"vuln_type":57,"published_date":107,"updated_date":83,"references":108,"days_to_patch":110},"CVE-2022-4668","easy-appointments-authenticated-contributor-stored-cross-site-scripting-via-shortcode","Easy Appointments \u003C= 3.10.7 - Authenticated (Contributor+) Stored Cross-Site Scripting via Shortcode","The Easy Appointment plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the plugin's shortcodes in versions up to, and including, 3.10.7 due to insufficient input sanitization and output escaping on user supplied attributes. This makes it possible for authenticated attackers with contributor level permissions and above to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.","\u003C=3.10.7","3.11.0","2022-12-27 00:00:00",[109],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F3906c668-6a0a-4beb-8ed9-08f661ce82cf?source=api-prod",392,{"id":112,"url_slug":113,"title":114,"description":115,"plugin_slug":4,"theme_slug":37,"affected_versions":116,"patched_in_version":117,"severity":40,"cvss_score":118,"cvss_vector":119,"vuln_type":57,"published_date":120,"updated_date":83,"references":121,"days_to_patch":123},"CVE-2017-15812","easy-appointments-cross-site-scripting","Easy Appointments \u003C 1.12.0 - Cross-Site Scripting","The Easy Appointments plugin before 1.12.0 for WordPress has XSS via a Settings value in the admin panel.","\u003C1.12.0","1.12.0",6.1,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:C\u002FC:L\u002FI:L\u002FA:N","2017-10-16 00:00:00",[122],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F5f62045b-4fb7-4dde-8d3c-d04b4e5e4810?source=api-prod",2290,{"slug":125,"display_name":5,"profile_url":7,"plugin_count":62,"total_installs":10,"avg_security_score":26,"avg_patch_time_days":126,"trust_score":127,"computed_at":128},"easyappointments",471,76,"2026-04-04T03:48:24.253Z",[130,151,174,196,219],{"slug":131,"name":132,"version":133,"author":134,"author_profile":135,"description":136,"short_description":137,"active_installs":138,"downloaded":139,"rating":140,"num_ratings":141,"last_updated":142,"tested_up_to":15,"requires_at_least":143,"requires_php":144,"tags":145,"homepage":148,"download_link":149,"security_score":150,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"simplybook","SimplyBook.me – Booking and reservations calendar","3.3.0","Really Simple Plugins","https:\u002F\u002Fprofiles.wordpress.org\u002Freallysimpleplugins\u002F","\u003Cp>SimplyBook.me is the easiest way to start collecting bookings on your WordPress website. The plugin will allow you to register your free account and immediately publish your booking calendar on the front-end of your site. With a few clicks, you can easily add your services and service providers, and design the most beautiful booking widget. You will be collecting appointments and reservations in no-time!\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Easy appointment scheduling\u003C\u002Fli>\n\u003Cli>Simple plugin onboarding and configuration\u003C\u002Fli>\n\u003Cli>Manage your calendar and bookings using the powerful mobile app (iOS and Android)\u003C\u002Fli>\n\u003Cli>Accept touchless payments via the app on your onsite checkout\u003C\u002Fli>\n\u003Cli>High email deliverability for reservation confirmations and appointment reminders.\u003C\u002Fli>\n\u003Cli>Create multiple services, providers, categories and locations\u003C\u002Fli>\n\u003Cli>Send email and SMS notifications to your customers for their bookings\u003C\u002Fli>\n\u003Cli>Add “Book now” buttons on your Instagram, Facebook and Google Business Profile\u003C\u002Fli>\n\u003Cli>Sell Memberships, packages & gift cards\u003C\u002Fli>\n\u003Cli>Manage bookings for Classes & Events\u003C\u002Fli>\n\u003Cli>Increase sales by offering products and service add-ons in the booking process\u003C\u002Fli>\n\u003Cli>Marketing campaigns by emails and push notifications\u003C\u002Fli>\n\u003Cli>Waiting Lists and “Make me look busy” features\u003C\u002Fli>\n\u003Cli>Offer Coupons and a Loyalty System to enhance brand loyalty\u003C\u002Fli>\n\u003Cli>Insights and statistics about your bookings, reservations, cancellations, workload and revenues\u003C\u002Fli>\n\u003Cli>Adjust time zone settings if you have clients in different time zones\u003C\u002Fli>\n\u003Cli>Create individual schedules for staff\u003C\u002Fli>\n\u003Cli>Create multiple users related to providers\u003C\u002Fli>\n\u003Cli>Accepting payments and\u002For deposits to confirm the bookings in the booking process\u003C\u002Fli>\n\u003Cli>Easily implement your booking widget with a Gutenberg block, Elementor Widget or a shortcode\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>SimplyBook.me can be used for free up to 50 appointments per month. In addition, you can use one of the Special features for free! You will automatically be signed up for a Free 14-day trial, which allows you to test the Special Features without any restrictions, including advanced scheduling tools.\u003C\u002Fp>\n\u003Ch4>Why SimplyBook.me?\u003C\u002Fh4>\n\u003Cp>SimplyBook.me is an advanced online booking system that creates a professional booking widget on your WordPress site where your clients can book your services at any time. You will then have access to an admin interface where you can manage your bookings, calendar, and settings. On top of that you will get an admin app where you can manage all your bookings, handle appointments, adjust scheduling, and accept payments on the go. Thousands of clients all over the world have selected our booking system to make their business easy and comfortable to use (see our testimonials). SimplyBook.me provides users with a broad range of features so that you can tailor the system to your needs, irrespective of what industry you are in.\u003Cbr \u002F>\nFor a more detailed understanding of the SimplyBook.me service, you can explore at the following link: \u003Ca href=\"https:\u002F\u002Fsimplybook.me\u002F?ref=wordpress\" title=\"SimplyBook\" rel=\"friend nofollow ugc\">https:\u002F\u002Fsimplybook.me\u002F\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>This plugin is developed by SimplyBook.me, is ISO27001 compliant and utilizes its API to transmit and store all information, including settings and details of bookings, as well as other personal client data, directly on SimplyBook.me. Before using the plugin, we recommend that you familiarize yourself with the privacy policy and terms of use of SimplyBook.me at the following links:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsimplybook.me\u002Fen\u002Fpolicy\" title=\"SimplyBook Privacy Policy\" rel=\"friend nofollow ugc\">Privacy Policy\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsimplybook.me\u002Fen\u002Fterms-and-conditions\" title=\"SimplyBook Terms of Use\" rel=\"friend nofollow ugc\">Terms of Use\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This will help you better understand the terms of use of the plugin and ensure your confidentiality.\u003C\u002Fp>\n\u003Cp>This is the official SimplyBook.me plugin, developed by SimplyBook.me and Really Simple Plugins\u003C\u002Fp>\n\u003Ch4>About Really Simple Plugins:\u003C\u002Fh4>\n\u003Cp>Really Simple Plugins is the creator of most-used plugins Really Simple Security and Complianz. With a total of ~6 million installs, we focus on making the most user-friendly and easy-to-use plugins. We work with SimplyBook.me to make the most powerful booking system available directly in your WordPress dashboard.\u003C\u002Fp>\n\u003Ch4>Benefits of the Online booking system\u003C\u002Fh4>\n\u003Cp>Integrating an online booking system like SimplyBook.me is crucial for service businesses aiming to improve customer experience and extend their market reach. By enabling clients to book appointments outside of traditional office hours, an online scheduling and booking system increases accessibility and customer satisfaction. This system simplifies the entire appointment process, automates important reminders, and reduces scheduling errors, freeing up staff to concentrate on delivering superior service.\u003Cbr \u002F>\nAdditionally, an online booking system offers powerful analytics that provide deep insights into customer behaviors and preferences. This data is essential for making informed adjustments to service offerings and planning effective marketing strategies. Last but not least it´s the best way to boost your sales by offering service add-ons and products for sale in the booking process, by sending tailored marketing email campaigns, offering coupons on less busy days, by prompting tips during check out and so much more, the options are endless!\u003C\u002Fp>\n","Simply add a booking calendar to your site to schedule bookings, reservations, appointments and to collect payments.",20000,110691,90,17,"2026-02-16T12:31:00.000Z","6.6","7.4",[20,21,22,146,147],"reservations","scheduling","https:\u002F\u002Fhelp.simplybook.me\u002Findex.php?title=WordPress_integration","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimplybook.3.3.0.zip",100,{"slug":152,"name":153,"version":154,"author":155,"author_profile":156,"description":157,"short_description":158,"active_installs":159,"downloaded":160,"rating":161,"num_ratings":162,"last_updated":163,"tested_up_to":15,"requires_at_least":164,"requires_php":165,"tags":166,"homepage":169,"download_link":170,"security_score":171,"vuln_count":172,"unpatched_count":28,"last_vuln_date":173,"fetched_at":30},"booking-system","Pinpoint Booking System – Version 2","2.9.9.6.5","DOTonPAPER","https:\u002F\u002Fprofiles.wordpress.org\u002Fdotonpaper\u002F","\u003Cp>If you have a service (accommodation, event or anything else) or product that has to be booked in advance, the Pinpoint Booking System is the best way to help your clients make a reservation – directly from your WordPress website. The booking calendar can be customized in any way you like, from the design to its functionalities, with add-ons.\u003C\u002Fp>\n\u003Cp>It’s never been easier to schedule a service – with this booking system, your clients can book an appointment directly from your website, with the help of an AJAX powered, clean and intuitive calendar, with a responsive interface. This booking system makes renting a product a matter or a couple of clicks – all in one page.\u003C\u002Fp>\n\u003Cp>If you’re in the accommodations business, this booking system is perfect for you. Reservations can be customized by days or by nights – with morning check-outs. You can add extra amenities or services to your client’s bookings, or offer them discounts and vouchers.\u003C\u002Fp>\n\u003Cp>Being an administrator of this booking calendar is just as easy. Pinpoint Booking System is a match for both big and small companies, due to its easily manageable, flexible and intuitive administration area.\u003C\u002Fp>\n\u003Cp>&nbsp;\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\n        \u003Ca href=\"https:\u002F\u002Fpinpoint.world\u002Fwordpress-booking?utm_source=WordPress&utm_medium=Plugin%20FREE%20repository\" rel=\"nofollow ugc\">Plugin website\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fpinpoint.world\u002Fshop?utm_source=WordPress&utm_medium=Plugin%20FREE%20repository\" rel=\"nofollow ugc\">PRO version\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fpinpoint.world\u002Fdocumentation-booking?utm_source=WordPress&utm_medium=Plugin%20FREE%20repository\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fbooking-system\u002F\" rel=\"ugc\">Support\u003C\u002Fa>\n    \u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>&nbsp;\u003C\u002Fp>\n\u003Cp>\u003Cstrong>FREE vs PRO\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The FREE version is limited to 1 calendar. Some functionality is limited by this restriction, but almost all features are available.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\n        \u003Ca href=\"https:\u002F\u002Fpinpoint.world\u002Fwordpress-booking\u002Ffeatures?utm_source=WordPress&utm_medium=Plugin%20FREE%20repository\" rel=\"nofollow ugc\">Learn more\u003C\u002Fa>\n    \u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch3>Responsive Booking Calendar\u003C\u002Fh3>\n\u003Cp>With this WordPress booking calendar plugin, your clients will be able to book your services and check for their availability directly from your WordPress website. This AJAX simple calendar makes it easier for your clients to make appointments because there is no need to refresh the page to make any updates.\u003C\u002Fp>\n\u003Cp>This user friendly WordPress booking calendar is perfect for any of your clients – it’s responsive, so it can be viewed on any device and it adapts to your customer’s time zones.\u003C\u002Fp>\n\u003Cp>The Pinpoint booking calendar can be customized to a great extent: the client can select how many months to view in the calendar and there is a sidebar, where your customers can search for availability, select the number of rooms or items that they need, use coupons or select extras.\u003C\u002Fp>\n\u003Cp>Your client is able to see a summary of their reservation and, if necessary, you can add a custom form that they can fill in – directly in the booking calendar.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\n        \u003Ca href=\"https:\u002F\u002Fpinpoint.world\u002Fdemos\u002Fwordpress-booking\u002Fcalendar\u002F?back=https%3A%2F%2Fwordpress.org%2Fplugins%2Fbooking-system&utm_source=WordPress&utm_medium=Plugin%20FREE%20repository\" rel=\"nofollow ugc\">View demo\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fpinpoint.world\u002Fwordpress-booking\u002Fcalendar?utm_source=WordPress&utm_medium=Plugin%20FREE%20repository\" rel=\"nofollow ugc\">Learn more\u003C\u002Fa>\n    \u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>Book Days\u003C\u002Fh4>\n\u003Cp>In your booking calendar, days are displayed with one out of 5 types of availability: none, available, booked, special or unavailable. You can set a special price for groups of days, or select the minimum or the maximum number of days that can be booked.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\n        \u003Ca href=\"https:\u002F\u002Fpinpoint.world\u002Fdemos\u002Fwordpress-booking\u002Fdays-en\u002F?back=https%3A%2F%2Fwordpress.org%2Fplugins%2Fbooking-system&utm_source=WordPress&utm_medium=Plugin%20FREE%20repository\" rel=\"nofollow ugc\">View demo\u003C\u002Fa>\n    \u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>Book Nights\u003C\u002Fh4>\n\u003Cp>This feature is perfect for you if you’re in the accommodation business. The booking calendar offers support for morning check-outs. Your clients will have the option of checking-in in the afternoons and checking-out in the mornings – and the prices and availability will be displayed accordingly.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\n        \u003Ca href=\"https:\u002F\u002Fpinpoint.world\u002Fdemos\u002Fwordpress-booking\u002Fnights-en\u002F?back=https%3A%2F%2Fwordpress.org%2Fplugins%2Fbooking-system&utm_source=WordPress&utm_medium=Plugin%20FREE%20repository\" rel=\"nofollow ugc\">View demo\u003C\u002Fa>\n    \u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>Book Hours\u003C\u002Fh4>\n\u003Cp>With Pinpoint, you can control your reservations by hours. Hours are treated exactly the same as days, with 5 types of availability, special prices for groups of hours or a minimum or a maximum number of bookable hours.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\n        \u003Ca href=\"https:\u002F\u002Fpinpoint.world\u002Fdemos\u002Fwordpress-booking\u002Fhours-en\u002F?back=https%3A%2F%2Fwordpress.org%2Fplugins%2Fbooking-system&utm_source=WordPress&utm_medium=Plugin%20FREE%20repository\" rel=\"nofollow ugc\">View demo\u003C\u002Fa>\n    \u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>Book Hours Intervals\u003C\u002Fh4>\n\u003Cp>Pinpoint booking calendar lets you adjust the reservation time interval even more – with the help of the time slot. You can set hour intervals for your bookings, down to the minute. This gives you increased precision and control over your client’s reservations.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\n        \u003Ca href=\"https:\u002F\u002Fpinpoint.world\u002Fdemos\u002Fwordpress-booking\u002Fhours-intervals-en\u002F?back=https%3A%2F%2Fwordpress.org%2Fplugins%2Fbooking-system&utm_source=WordPress&utm_medium=Plugin%20FREE%20repository\" rel=\"nofollow ugc\">View demo\u003C\u002Fa>\n    \u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch3>Reservations management\u003C\u002Fh3>\n\u003Cp>Booking management has never been easier. Booking calendar administrators can add, cancel, edit, reject or delete reservation requests. Bookings can be instantly approved or rejected, but can never overlap – and the booking calendar will update accordingly.\u003C\u002Fp>\n\u003Cp>You can choose between a list view or a calendar view to display your clients’ reservations, and they can be printed or exported in 4 types of formats – CSV, XLS, JSON, and ICS.\u003C\u002Fp>\n\u003Ch3>BOOKING CALENDAR EXTENSIONS\u003C\u002Fh3>\n\u003Ch4>Extras\u003C\u002Fh4>\n\u003Cp>With Pinpoint, you can add extra amenities, services or others to your client’s bookings, either with a price or for free. You can set default values for the extras, and whether they are mandatory or not. Also, multiple extras groups can be made to be used with your booking calendar.\u003C\u002Fp>\n\u003Ch4>Forms\u003C\u002Fh4>\n\u003Cp>In case you need more information from your clients, you can create a custom form that your customers can fill in directly in the booking calendar. You can have text fields, text areas, checkboxes, dropdowns and even custom fields in your form. It’s worth knowing that you can create an unlimited number of custom forms for your calendar.\u003C\u002Fp>\n\u003Ch4>Discounts\u003C\u002Fh4>\n\u003Cp>In this booking calendar, you can create discounts according to the time interval the reservation is made for. You can decide how the discounts will be calculated – once by day or hour, fixed or a percent – and their default amount.\u003C\u002Fp>\n\u003Ch4>Taxes and fees\u003C\u002Fh4>\n\u003Cp>If reserving your product or service comes with extra taxes or fees – you can add them to your booking calendar. You can decide their value, and if they will be included or not in the overall reservation price.\u003C\u002Fp>\n\u003Ch4>Coupons\u003C\u002Fh4>\n\u003Cp>Another useful feature Pinpoint has is the creating of vouchers or coupons for your customers. You can set their default value, the terms and conditions of how they can be used and add them directly into the booking calendar.\u003C\u002Fp>\n\u003Ch3>WooCommerce Bookings\u003C\u002Fh3>\n\u003Cp>This booking calendar can be greatly extended with the WooCommerce plug-in. With this, you can make the most of the shopping cart, the specific payment gateways and all the other extra features that come with the WooCommerce WordPress plug-in. Additionally, all your reservations data is saved both in Pinpoint and WooCommerce orders.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\n        \u003Ca href=\"https:\u002F\u002Fpinpoint.world\u002Fwoocommerce-booking?utm_source=WordPress&utm_medium=Plugin%20FREE%20repository\" rel=\"nofollow ugc\">Learn more\u003C\u002Fa>\n    \u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch3>Other WordPress Booking System Features\u003C\u002Fh3>\n\u003Ch4>Synchronization via iCal files\u003C\u002Fh4>\n\u003Cp>For better reservation management, the Pinpoint Booking Calendar can be synchronized with other calendars – Mac Calendar, Outlook, Google Calendar, iCalendar or Airbnb, via iCal format data.\u003C\u002Fp>\n\u003Ch4>Notifications for Booking Requests\u003C\u002Fh4>\n\u003Cp>You can send your clients’ reminders and notifications form your booking calendar, either by email or SMS.  You can set up text messages to be sent, either to you or your customers – with Clickatell SMS gateway. For an email notification, you can create custom templates for any type of notice or language, and they will be sent with STMP, PHPMailer class or PHP mail function.\u003C\u002Fp>\n\u003Ch4>Support for multiple languages\u003C\u002Fh4>\n\u003Cp>If your local language is different from English, or you need to offer your services in multiple languages, the Pinpoint booking system offers support for a couple of languages already. However, if you find that yours is not, you can modify or translate your own texts with a simple “to-do” tool.\u003C\u002Fp>\n\u003Ch4>Support for multiple currencies\u003C\u002Fh4>\n\u003Cp>You can use any currency with our Pinpoint booking system. However, if you need to, you can customize your own currency to fit your needs, using hooks.\u003C\u002Fp>\n\u003Ch4>Online Payment Getaways\u003C\u002Fh4>\n\u003Cp>Even though payment cannot be mandatory when a client makes a reservation, it can be an option. With this booking calendar, PayPal is the default payment method, but if you have another preference, you can change that with add-ons. There are 6 payment gateways to choose from  – Stripe, WePay, 2Checkout, Authorize.Net, Braintree, ICEPAY and Mollie.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\n        \u003Ca href=\"https:\u002F\u002Fpinpoint.world\u002Fwordpress-booking\u002Ffeatures?utm_source=WordPress&utm_medium=Plugin%20FREE%20repository\" rel=\"nofollow ugc\">\u003Cstrong>FULL LIST OF FEATURES\u003C\u002Fstrong>\u003C\u002Fa>\n    \u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cblockquote>\n\u003Cp>\n        \u003Ca href=\"https:\u002F\u002Fpinpoint.world\u002Fblog\u002Fpinpoints-2019-roadmap-1?utm_source=WordPress&utm_medium=Plugin%20FREE%20repository\" rel=\"nofollow ugc\">Learn more\u003C\u002Fa>\n    \u003C\u002Fp>\n\u003C\u002Fblockquote>\n","Book anything, anytime, anywhere.",3000,684048,72,185,"2026-03-04T10:54:00.000Z","6.3","",[20,167,168,152,146],"availability-calendar","booking-calendar","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbooking-system\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbooking-system.2.9.9.6.5.zip",93,13,"2025-02-20 15:05:35",{"slug":175,"name":176,"version":177,"author":178,"author_profile":179,"description":180,"short_description":181,"active_installs":182,"downloaded":183,"rating":184,"num_ratings":185,"last_updated":186,"tested_up_to":15,"requires_at_least":187,"requires_php":165,"tags":188,"homepage":191,"download_link":192,"security_score":193,"vuln_count":194,"unpatched_count":28,"last_vuln_date":195,"fetched_at":30},"supersaas-appointment-scheduling","SuperSaaS – online appointment scheduling","2.1.15","supersaas","https:\u002F\u002Fprofiles.wordpress.org\u002Fsupersaas\u002F","\u003Cp>SuperSaaS is a flexible online appointment scheduling system that works with many different businesses and is available in over 28 languages. The basic version is free, a paid version is available for large users and commercial use.\u003C\u002Fp>\n\u003Cp>The plugin can automatically log a user into a SuperSaaS schedule using his WordPress username. It passes along the user’s information, creating or updating the user’s information on SuperSaaS as needed. This saves users from having to log in twice.\u003C\u002Fp>\n\u003Ch4>MORE INFORMATION\u003C\u002Fh4>\n\u003Cp>Read the \u003Ca href=\"https:\u002F\u002Fwww.supersaas.com\u002Finfo\u002Fdoc\u002Fintegration\u002Fwordpress_integration\" rel=\"nofollow ugc\">SuperSaaS WordPress Plugin documentation page\u003C\u002Fa> for information about how to install and setup the plugin in WordPress. Visit the \u003Ca href=\"https:\u002F\u002Fwww.supersaas.com\" rel=\"nofollow ugc\">supersaas.com\u003C\u002Fa> website for an overview of all features of the booking system.\u003C\u002Fp>\n\u003Ch3>Languages\u003C\u002Fh3>\n\u003Cp>SuperSaaS is available in over 28 languages. Check out the \u003Ca href=\"https:\u002F\u002Fwww.supersaas.com\" rel=\"nofollow ugc\">SuperSaaS\u003C\u002Fa> website for more information.\u003C\u002Fp>\n","SuperSaaS is a flexible appointment scheduling system that works with many different businesses. The basic version is free.",1000,47508,68,10,"2025-12-03T10:38:00.000Z","2.7",[189,20,168,190,146],"appointment-scheduling","meetings","http:\u002F\u002Fwww.supersaas.com\u002Ftutorials\u002Fwordpress_appointment_scheduling","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsupersaas-appointment-scheduling.zip",99,2,"2025-02-10 22:06:43",{"slug":197,"name":198,"version":199,"author":200,"author_profile":201,"description":202,"short_description":203,"active_installs":204,"downloaded":205,"rating":206,"num_ratings":207,"last_updated":208,"tested_up_to":209,"requires_at_least":210,"requires_php":165,"tags":211,"homepage":214,"download_link":215,"security_score":216,"vuln_count":217,"unpatched_count":62,"last_vuln_date":218,"fetched_at":30},"booking-ultra-pro","Booking Ultra Pro Appointments Booking Calendar Plugin","1.1.23","Deetronix","https:\u002F\u002Fprofiles.wordpress.org\u002Fdeetronix\u002F","\u003Cp>\u003Ca href='https:\u002F\u002Fbookingultrapro.com\u002F' rel=\"nofollow ugc\">Booking Ultra Pro\u003C\u002Fa> offers a great suite of features that will help you manage your online appointments 24\u002F7 whether you are a large educational institution scheduling thousands of students or a massage therapists with a part-time practice.\u003C\u002Fp>\n\u003Cp>Booking Ultra Pro is a WordPress appointment scheduling plugin that allows your customers to book appointments for your services directly from your website giving your customers a seamless booking experience. The unique \u003Ca href='https:\u002F\u002Fdemo.bookingultrapro.com\u002F' rel=\"nofollow ugc\">4 steps booking process\u003C\u002Fa> will help you to attract new customers and generate repeat business from existing ones. All customer details are stored so you can run promotions and market directly to them.\u003C\u002Fp>\n\u003Cp>Check out the \u003Ca href='https:\u002F\u002Fdemo.bookingultrapro.com\u002F' rel=\"nofollow ugc\">Standard Appointments Form\u003C\u002Fa> for more information!\u003C\u002Fp>\n\u003Cp>Check out the \u003Ca href='https:\u002F\u002Fdemo.bookingultrapro.com\u002Fstaff-list\u002F' rel=\"nofollow ugc\">Staff List Page\u003C\u002Fa>.\u003Cbr \u002F>\nCheck out the \u003Ca href='https:\u002F\u002Fdemo.bookingultrapro.com\u002Fbooking-form-with-minimal-layout\u002F' rel=\"nofollow ugc\">Minimal Booking Form Layout\u003C\u002Fa>.\u003Cbr \u002F>\nCheck out the \u003Ca href='https:\u002F\u002Fdemo.bookingultrapro.com\u002Fbooking-form-with-shopping-cart\u002F' rel=\"nofollow ugc\">Shopping Cart\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Ca href='https:\u002F\u002Fbookingultrapro.com\u002F' rel=\"nofollow ugc\">This Appointments Plugin \u003C\u002Fa> for WordPress is an inspired scheduling plugin that puts the power of booking into your clients’ hands while giving yourself and your team individual accounts to manage your own services, calendars, rates, and much more. Whether your business is already booming or you’re trying to grow, this WordPress plugin can help you. With a variety of packages offered to fit your business’s needs, Booking Ultra Pro eliminates the hassle of personally scheduling clients and increases customer satisfaction by offering 24\u002F7 online appointment booking right at their fingertips.\u003C\u002Fp>\n\u003Cp>This plugin helps you to manage appointments by giving your staff members their own profile and access without giving them access to your WordPress Dashboard. This simplifies the appointment process and presents a good first impression to your clients. From the Staff Backend and Profile feature, your staff is able to manage breaks, holidays, schedules, their services, appointments, rates, public profile, and even the ability to connect to Google calendar. The best part? Booking Ultra Pro is easy to use and CUSTOMIZABLE, giving your employees supervised freedom. Customize your text and color, booking form layouts, hide or add staff, manage multiple locations, and your shopping cart!\u003C\u002Fp>\n\u003Cp>In addition to the Staffing Backend and Profile, a variety of add-ons such as group booking functions, mobile payment options for clients, appointment notes, and much more are available to fit your needs. Plus, a clean, minimal theme will greet your customer’s and provide them with a functional, maintained environment to complete their bookings. They will also have the ability to use the shopping cart feature to purchase multiple services at once, making it just that much easier to increase business.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>So, what makes Booking Ultra Pro the superior WordPress plugin? \u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Aside from a time and money saving service, Booking Ultra Pro offers you full support for any of your technical inquiries via our email service. This makes it easy for you to contact our team at any time. Plus, regular updates are offered. With customizable features and colors that are adaptable to any WordPress theme and optional add-ons for all your needs, we offer a product that can’t be beat. We strive to maintain a high level of customer satisfaction.\u003C\u002Fp>\n\u003Cp>Plus, the Booking Ultra Pro plugin can be used for any and every type of services. Are you in big business? Maybe a lawyer or stock broker, Booking Ultra Pro is for you! Oh, you’re a doctor? That’s wonderful, and Booking Ultra Pro is for you! You own a Beauty Salon and want to make booking easier for your clients? BOOKING ULTRA PRO IS FOR YOU! Our packages give everyone just what they need.\u003C\u002Fp>\n\u003Cp>Check out the \u003Ca href='https:\u002F\u002Fdemo.bookingultrapro.com\u002F' rel=\"nofollow ugc\">demo site\u003C\u002Fa> for more information!\u003C\u002Fp>\n\u003Ch4>Documentation\u003C\u002Fh4>\n\u003Cp>Read the \u003Ca href='http:\u002F\u002Fdoc.bookingultrapro.com\u002Fgetting-started-guide\u002F' rel=\"nofollow ugc\">getting started\u003C\u002Fa> documentation after you install the plugin to get started.\u003C\u002Fp>\n\u003Ch4>Self Service Bookings\u003C\u002Fh4>\n\u003Cp>Allow customers to view availability and book directly from your own website.\u003C\u002Fp>\n\u003Ch4>Instant Payment Processing\u003C\u002Fh4>\n\u003Cp>Easily accept online bookings and credit card payments for your bookings. You can use either PayPal or Stripe to process your payments.\u003C\u002Fp>\n\u003Ch4>Automate Billing & Invoices\u003C\u002Fh4>\n\u003Cp>Instantly send customers customizable receipts and booking invoices.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>PayPal Integration\u003C\u002Fli>\n\u003Cli>Client Online Appointment\u003C\u002Fli>\n\u003Cli>Admin Online Appointment\u003C\u002Fli>\n\u003Cli>Appointment Payments\u003C\u002Fli>\n\u003Cli>Reschedule Appointments\u003C\u002Fli>\n\u003Cli>Custom Fields\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customizable Emails\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Company Working Hours & Days\u003C\u002Fli>\n\u003Cli>Staff Working Hours & Days\u003C\u002Fli>\n\u003Cli>Time Slots\u003C\u002Fli>\n\u003Cli>Padding Time (after and\u002For before)\u003C\u002Fli>\n\u003Cli>Unlimited Services\u003C\u002Fli>\n\u003Cli>Admin Calendar\u003C\u002Fli>\n\u003Cli>You may also check and \u003Ca href='https:\u002F\u002Fbookingultrapro.com\u002Fcompare-packages.html' rel=\"nofollow ugc\">compare all the features\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Reasons to upgrade?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href='https:\u002F\u002Fbookingultrapro.com\u002Fbooking-ultra-screenshots-staff-backend.php.html' rel=\"nofollow ugc\"> Staff & Client Account With Front-End Profile\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Google Calendar\u003C\u002Fstrong> Integration\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Powerful\u003C\u002Fstrong> \u003Ca href='https:\u002F\u002Fdemo.bookingultrapro.com\u002Fbooking-form-with-minimal-layout\u002F' rel=\"nofollow ugc\"> Booking Form Customizer\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href='https:\u002F\u002Fdemo.bookingultrapro.com\u002Fbooking-form-with-shopping-cart\u002F' rel=\"nofollow ugc\"> Shopping Cart\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Stripe\u003C\u002Fstrong> Integration\u003C\u002Fli>\n\u003Cli>Advanced Admin Booking Panel\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Unlimited\u003C\u002Fstrong> Providers \u002F Staff Members\u003C\u002Fli>\n\u003Cli>Appointment Notes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible Pricing\u003C\u002Fstrong> – Example: First person $100, second person $85, third person $60\u003C\u002Fli>\n\u003Cli>Appointment Payments\u003C\u002Fli>\n\u003Cli>Multiple Appointment Forms\u003C\u002Fli>\n\u003Cli>Terms & Conditions\u003C\u002Fli>\n\u003Cli>MailChimp\u003C\u002Fli>\n\u003Cli>\u003Cstrong>AWeber\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>SMTP Email Sending\u003C\u002Fli>\n\u003Cli>Mandrill Email\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple Locations\u003C\u002Fstrong>. Yes, you can manage appointments for example from Salon 1, Salon 2 etc etc.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Group Bookings\u003C\u002Fstrong>. Allow clients to book services for several persons at once.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Languages\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Italian\u003C\u002Fli>\n\u003Cli>German. Thanks to \u003Ca href='https:\u002F\u002Ffacebook.com\u002Fprofitpunk' rel=\"nofollow ugc\"> Michael Stark\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>French\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🌐Our Plugins\u003C\u002Fh3>\n\u003Cp>If you like this plugin, consider exploring our other plugins:\u003C\u002Fp>\n\u003Cp>⏱️ \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fquiz-master-next\u002F\" rel=\"ugc\">Quiz and Survey Master\u003C\u002Fa>\u003C\u002Fstrong> – Best WordPress Quiz Plugin to create engaging quizzes, surveys, & exams using WordPress and convert your website into a lead generating machine.\u003C\u002Fp>\n\u003Cp>☰ \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fresponsive-menu\u002F\" rel=\"ugc\">Responsive Menu\u003C\u002Fa>\u003C\u002Fstrong> – Best WordPress Menu Builder Plugin to create awesome and interactive mobile & desktop menus for WordPress websites.\u003C\u002Fp>\n\u003Cp>📙 \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fprojectopia-core\u002F\" rel=\"ugc\">Projectopia\u003C\u002Fa>\u003C\u002Fstrong> – Project Management & Invoicing plugin for WordPress. Generate invoices, send quotes, generate leads, manage clients, provide support – all inside your WordPress website.\u003C\u002Fp>\n\u003Cp>⚡ \u003Cstrong>\u003Ca href=\"https:\u002F\u002Finstawp.io\u002F\" rel=\"nofollow ugc\">InstaWP\u003C\u002Fa>\u003C\u002Fstrong> – Launch a quick WordPress site with this sandbox service. Create New WordPress instance within a second.\u003C\u002Fp>\n\u003Cp>🔒 \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fhidemywp.net\u002F\" rel=\"nofollow ugc\">Hide My WP\u003C\u002Fa>\u003C\u002Fstrong> – Hide your WordPress from bots, attackers & spammers. Hides all the known URLs, paths, plugins, themes which can reveal that you are using WP, also comes with an in-built firewall & trust network.\u003C\u002Fp>\n\u003Cp>Ownership of this plugin has changed from \u003Ca href=\"profiles.wordpress.org\u002Fusersultra\" rel=\"nofollow ugc\">UsersUltra\u003C\u002Fa> to \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fdeetronix\" rel=\"nofollow ugc\">deetronix\u003C\u002Fa> on 01 Jun 2023\u003C\u002Fp>\n","Powerful Booking Plugin with amazing dashboard to manage all of your appointments & bookings online.",500,188427,78,231,"2025-09-30T07:09:00.000Z","6.8.5","4.0",[20,212,213,23,147],"group-bookings","online-booking-calendar","http:\u002F\u002Fbookingultrapro.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbooking-ultra-pro.1.1.23.zip",50,15,"2025-12-26 00:00:00",{"slug":220,"name":221,"version":222,"author":223,"author_profile":224,"description":225,"short_description":226,"active_installs":227,"downloaded":228,"rating":150,"num_ratings":229,"last_updated":230,"tested_up_to":15,"requires_at_least":231,"requires_php":144,"tags":232,"homepage":165,"download_link":234,"security_score":150,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"easy-booking-calendar","Easy Booking Calendar for WooCommerce","1.1.3","Devnet","https:\u002F\u002Fprofiles.wordpress.org\u002Fdevnethr\u002F","\u003Cp>\u003Cstrong>Easy Booking Calendar\u003C\u002Fstrong> is a lightweight WooCommerce add-on designed for seamless product bookings. With just a few simple options, it’s incredibly easy to configure. This plugin adds a customizable calendar to product pages, allowing customers to select date ranges for bookings. The price is automatically calculated based on the number of selected days. It supports all product types, including simple, variable, and virtual products.\u003C\u002Fp>\n\u003Cp>Once booked, dates are automatically reserved to prevent double bookings, with cancellations restoring availability. Ideal for businesses that need a fast, easy-to-use booking solution.\u003C\u002Fp>\n\u003Cp>Reserved dates are protected from double bookings, and cancellations automatically restore availability. Perfect for managing bookings with ease!\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>NEW\u003C\u002Fstrong>: Option to choose between night-based and day-based booking calculations\u003C\u002Fli>\n\u003Cli>\u003Cstrong>NEW\u003C\u002Fstrong>: Option to allow double bookings (multiple customers can book the same dates)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>NEW\u003C\u002Fstrong>: Set global booking availability settings\u003C\u002Fli>\n\u003Cli>\u003Cstrong>NEW\u003C\u002Fstrong>: Availability mode – choose to allow or disable bookable dates\u003C\u002Fli>\n\u003Cli>\u003Cstrong>NEW\u003C\u002Fstrong>: View booked dates directly in the admin product edit screen\u003C\u002Fli>\n\u003Cli>Any product can be made bookable – no limitations\u003C\u002Fli>\n\u003Cli>Display calendar on bookable product pages\u003C\u002Fli>\n\u003Cli>Calendar localization – support for all languages\u003C\u002Fli>\n\u003Cli>8 built-in calendar themes\u003C\u002Fli>\n\u003Cli>Multiple date format options\u003C\u002Fli>\n\u003Cli>Option to show calendar only to logged-in users\u003C\u002Fli>\n\u003Cli>Option to disable the quantity field on bookable products\u003C\u002Fli>\n\u003Cli>Customizable button text (e.g., change “Add to Cart” to “Book Now”)\u003C\u002Fli>\n\u003Cli>Dates are automatically reserved when an order is marked Processing or Completed\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Early Development Notice\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Easy Booking Calendar for WooCommerce\u003C\u002Fstrong> is in the early stages of development, and we’re committed to enhancing its features over time. We plan to introduce additional functionalities in future updates.\u003C\u002Fp>\n\u003Cp>Your feedback is invaluable! If you have specific requirements or suggestions, please feel free to request a feature in the support forum. We appreciate your support and look forward to making Easy Booking Calendar for WooCommerce even better with your input.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>We’re here to help. Feel free to open a new thread on the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Feasy-booking-calendar\u002F\" rel=\"ugc\">Support Forum\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Reviews\u003C\u002Fh3>\n\u003Cp>It’s funny how much joy all those 5-star reviews bring to our team. It really keeps us going and motivates us to bring more cool features.\u003Cbr \u002F>\nIf you like this plugin, feel free to leave a \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Feasy-booking-calendar\u002Freviews\u002F#new-post\" rel=\"ugc\">review\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Other Plugins by Devnet\u003C\u002Fh3>\n\u003Cp>Here are some other plugins we have developed that you might find useful:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffree-shipping-label\u002F\" rel=\"ugc\">Free Shipping Label\u003C\u002Fa> – Increase order revenue by showing your customers just how close they are to your free shipping threshold.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fproduct-price-history\u002F\" rel=\"ugc\">Product Price History\u003C\u002Fa> – Track product price history with customizable charts and graphs on your WooCommerce store. Show lowest price and increase customer trust.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fprice-alerts\u002F\" rel=\"ugc\">Price Alerts\u003C\u002Fa> – Let customers subscribe to price drops and boost sales by notifying interested buyers when product prices fall below their target.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Feasy-subscribe\u002F\" rel=\"ugc\">Easy Subscribe\u003C\u002Fa> – Effortlessly integrate customizable subscription forms on your WordPress site with a simple shortcode.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Feasy-booking-calendar\u002F\" rel=\"ugc\">Easy Booking Calendar\u003C\u002Fa> – Turn any product into a reservation-ready item. This plugin adds a customizable calendar to product pages, allowing customers to select date ranges for bookings.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbiznotes\u002F\" rel=\"ugc\">BizNotes\u003C\u002Fa> – Exclusive admin notes for seamless order management among multiple admins. Effortless collaboration, powered up.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpingvid\u002F\" rel=\"ugc\">PingVid\u003C\u002Fa> – A lightweight WordPress plugin that adds a floating video widget to your site.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsnap-blocks\u002F\" rel=\"ugc\">Snap Blocks\u003C\u002Fa> – A lightweight plugin that lets you create reusable content blocks in WordPress.\u003C\u002Fli>\n\u003C\u002Ful>\n","Turn any product into a bookable item with an easy-to-use calendar. Supports date ranges, automatic price calculations, and prevents double bookings.",40,1786,3,"2026-01-30T09:19:00.000Z","6.4",[20,21,22,23,233],"woocommerce","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feasy-booking-calendar.1.1.3.zip",{"attackSurface":236,"codeSignals":573,"taintFlows":735,"riskAssessment":1138,"analyzedAt":1156},{"hooks":237,"ajaxHandlers":353,"restRoutes":537,"shortcodes":555,"cronEvents":566,"entryPointCount":572,"unprotectedCount":227},[238,244,248,250,252,257,261,264,268,271,274,278,281,285,288,291,295,299,304,308,312,316,320,323,325,329,334,338,342,347,350],{"type":239,"name":240,"callback":241,"file":242,"line":243},"action","init","easy_ea_create_block_init","ea-blocks\\ea-blocks.php",34,{"type":239,"name":245,"callback":246,"file":242,"line":247},"rest_api_init","closure",73,{"type":239,"name":245,"callback":246,"file":242,"line":249},186,{"type":239,"name":245,"callback":246,"file":242,"line":251},306,{"type":239,"name":253,"callback":254,"file":255,"line":256},"plugins_loaded","update","main.php",95,{"type":239,"name":258,"callback":259,"file":255,"line":260},"easyapp_hourly_event","delete_reservations",98,{"type":239,"name":262,"callback":263,"file":255,"line":150},"ea_daily_expire_appointments","expire_old_appointments",{"type":239,"name":265,"callback":266,"file":255,"line":267},"ea_gdpr_auto_delete","delete_old_data",102,{"type":239,"name":240,"callback":269,"file":255,"line":270},"url_delete_reservations",105,{"type":239,"name":245,"callback":272,"file":255,"line":273},"register_api",107,{"type":239,"name":275,"callback":276,"file":277,"line":127},"admin_menu","add_menu_pages","src\\admin.php",{"type":239,"name":275,"callback":279,"file":277,"line":280},"my_booking_menu",77,{"type":239,"name":282,"callback":283,"file":277,"line":284},"admin_init","init_scripts",80,{"type":239,"name":282,"callback":286,"file":277,"line":287},"easy_ea_init_polylang_register_strings",81,{"type":239,"name":240,"callback":289,"file":290,"line":287},"register_ajax_endpoints","src\\ajax.php",{"type":239,"name":292,"callback":293,"priority":182,"file":290,"line":294},"easy_ea_new_app","add_customer_data",109,{"type":239,"name":296,"callback":283,"file":297,"line":298},"wp_enqueue_scripts","src\\frontend.php",56,{"type":239,"name":300,"callback":301,"priority":185,"file":302,"line":303},"easy_ea_user_email_notification","send_user_email_notification_action","src\\mail.php",69,{"type":239,"name":305,"callback":306,"priority":185,"file":302,"line":307},"easy_ea_repeat_appointment_mail_notification","send_repeat_appointment_mail_notification",70,{"type":239,"name":309,"callback":310,"priority":185,"file":302,"line":311},"easy_ea_admin_email_notification","send_admin_email_notification_action",71,{"type":239,"name":313,"callback":314,"file":302,"line":315},"wp","parse_mail_link",74,{"type":317,"name":318,"callback":319,"priority":150,"file":302,"line":280},"filter","ea_format_notification_params","format_data",{"type":317,"name":321,"callback":322,"priority":185,"file":302,"line":284},"easy_ea_admin_mail_template","wrap_email_with_html_tags",{"type":317,"name":324,"callback":322,"priority":185,"file":302,"line":287},"easy_ea_customer_mail_template",{"type":239,"name":326,"callback":327,"priority":62,"file":302,"line":328},"wp_mail_failed","log_email_error",978,{"type":239,"name":330,"callback":331,"file":332,"line":333},"easy_ea_update_options","manage_gdpr_cron","src\\options.php",29,{"type":317,"name":335,"callback":336,"priority":194,"file":332,"line":337},"easy-appointments-user-ajax-capabilities","manage_capabilities",30,{"type":317,"name":339,"callback":340,"priority":194,"file":332,"line":341},"easy-appointments-user-menu-capabilities","manage_page_capabilities",31,{"type":317,"name":343,"callback":344,"file":345,"line":346},"easy_ea_form_rows","process_fields","src\\services\\UserFieldMapper.php",9,{"type":239,"name":296,"callback":283,"file":348,"line":349},"src\\shortcodes\\fullcalendar.php",51,{"type":317,"name":351,"callback":246,"file":348,"line":352},"easy_ea_calendar_public_access",61,[354,359,362,366,368,371,373,376,378,381,383,386,387,390,392,396,399,402,406,410,414,418,422,426,430,434,438,442,446,450,454,458,462,466,470,474,478,482,486,490,494,498,501,505,508,512,516,519,522,526,529,533],{"action":355,"nopriv":356,"callback":355,"hasNonce":357,"hasCapCheck":357,"file":277,"line":358},"easy_ea_newsletter_submit",false,true,1413,{"action":360,"nopriv":356,"callback":360,"hasNonce":357,"hasCapCheck":357,"file":277,"line":361},"easy_ea_newsletter_hide_form",1428,{"action":363,"nopriv":357,"callback":364,"hasNonce":356,"hasCapCheck":356,"file":290,"line":365},"ea_next_step","ajax_front_end",87,{"action":363,"nopriv":356,"callback":364,"hasNonce":356,"hasCapCheck":356,"file":290,"line":367},88,{"action":369,"nopriv":357,"callback":370,"hasNonce":356,"hasCapCheck":356,"file":290,"line":140},"ea_date_selected","ajax_date_selected",{"action":369,"nopriv":356,"callback":370,"hasNonce":356,"hasCapCheck":356,"file":290,"line":372},91,{"action":374,"nopriv":356,"callback":375,"hasNonce":356,"hasCapCheck":356,"file":290,"line":171},"ea_res_appointment","ajax_res_appointment",{"action":374,"nopriv":357,"callback":375,"hasNonce":356,"hasCapCheck":356,"file":290,"line":377},94,{"action":379,"nopriv":356,"callback":380,"hasNonce":356,"hasCapCheck":356,"file":290,"line":26},"ea_final_appointment","ajax_final_appointment",{"action":379,"nopriv":357,"callback":380,"hasNonce":356,"hasCapCheck":356,"file":290,"line":382},97,{"action":384,"nopriv":356,"callback":385,"hasNonce":356,"hasCapCheck":356,"file":290,"line":193},"ea_cancel_appointment","ajax_cancel_appointment",{"action":384,"nopriv":357,"callback":385,"hasNonce":356,"hasCapCheck":356,"file":290,"line":150},{"action":388,"nopriv":356,"callback":389,"hasNonce":356,"hasCapCheck":356,"file":290,"line":267},"ea_month_status","ajax_month_status",{"action":388,"nopriv":357,"callback":389,"hasNonce":356,"hasCapCheck":356,"file":290,"line":391},103,{"action":393,"nopriv":356,"callback":394,"hasNonce":356,"hasCapCheck":356,"file":290,"line":395},"ea_search_customers","ajax_search_customers",104,{"action":397,"nopriv":356,"callback":398,"hasNonce":356,"hasCapCheck":356,"file":290,"line":270},"ea_get_customer_detail","ajax_customer_detail",{"action":400,"nopriv":356,"callback":400,"hasNonce":357,"hasCapCheck":356,"file":290,"line":401},"ea_update_customer_data",106,{"action":403,"nopriv":356,"callback":404,"hasNonce":356,"hasCapCheck":356,"file":290,"line":405},"ea_save_custom_columns","save_custom_columns",119,{"action":407,"nopriv":356,"callback":408,"hasNonce":356,"hasCapCheck":356,"file":290,"line":409},"ea_errors","ajax_errors",121,{"action":411,"nopriv":356,"callback":412,"hasNonce":356,"hasCapCheck":357,"file":290,"line":413},"ea_test_wp_mail","ajax_test_mail",123,{"action":415,"nopriv":356,"callback":416,"hasNonce":356,"hasCapCheck":357,"file":290,"line":417},"ea_reset_plugin","ajax_reset_plugin",124,{"action":419,"nopriv":356,"callback":420,"hasNonce":356,"hasCapCheck":356,"file":290,"line":421},"ea_appointments","ajax_appointments",127,{"action":423,"nopriv":356,"callback":424,"hasNonce":356,"hasCapCheck":356,"file":290,"line":425},"ea_appointment","ajax_appointment",130,{"action":427,"nopriv":356,"callback":428,"hasNonce":356,"hasCapCheck":356,"file":290,"line":429},"ea_services","ajax_services",133,{"action":431,"nopriv":356,"callback":432,"hasNonce":356,"hasCapCheck":356,"file":290,"line":433},"ea_service","ajax_service",136,{"action":435,"nopriv":356,"callback":436,"hasNonce":356,"hasCapCheck":356,"file":290,"line":437},"ea_update_order","ajax_update_order",139,{"action":439,"nopriv":356,"callback":440,"hasNonce":356,"hasCapCheck":356,"file":290,"line":441},"ea_locations","ajax_locations",142,{"action":443,"nopriv":356,"callback":444,"hasNonce":356,"hasCapCheck":356,"file":290,"line":445},"ea_location","ajax_location",145,{"action":447,"nopriv":356,"callback":448,"hasNonce":356,"hasCapCheck":356,"file":290,"line":449},"ea_worker","ajax_worker",148,{"action":451,"nopriv":356,"callback":452,"hasNonce":356,"hasCapCheck":356,"file":290,"line":453},"ea_is_pro_exist","ajax_is_pro_exist",149,{"action":455,"nopriv":356,"callback":456,"hasNonce":356,"hasCapCheck":356,"file":290,"line":457},"ea_workers","ajax_workers",154,{"action":459,"nopriv":356,"callback":460,"hasNonce":356,"hasCapCheck":356,"file":290,"line":461},"ea_connection","ajax_connection",157,{"action":463,"nopriv":356,"callback":464,"hasNonce":356,"hasCapCheck":356,"file":290,"line":465},"ea_connections","ajax_connections",160,{"action":467,"nopriv":356,"callback":468,"hasNonce":356,"hasCapCheck":356,"file":290,"line":469},"ea_open_times","ajax_open_times",163,{"action":471,"nopriv":356,"callback":472,"hasNonce":356,"hasCapCheck":356,"file":290,"line":473},"ea_setting","ajax_setting",166,{"action":475,"nopriv":356,"callback":476,"hasNonce":356,"hasCapCheck":356,"file":290,"line":477},"ea_settings","ajax_settings",169,{"action":479,"nopriv":356,"callback":480,"hasNonce":356,"hasCapCheck":356,"file":290,"line":481},"ea_report","ajax_report",172,{"action":483,"nopriv":356,"callback":484,"hasNonce":356,"hasCapCheck":356,"file":290,"line":485},"ea_fields","ajax_fields",175,{"action":487,"nopriv":356,"callback":488,"hasNonce":356,"hasCapCheck":356,"file":290,"line":489},"ea_field","ajax_field",176,{"action":491,"nopriv":356,"callback":492,"hasNonce":356,"hasCapCheck":356,"file":290,"line":493},"ea_export","ajax_export",177,{"action":495,"nopriv":356,"callback":496,"hasNonce":356,"hasCapCheck":356,"file":290,"line":497},"ea_default_template","ajax_default_template",178,{"action":499,"nopriv":356,"callback":499,"hasNonce":357,"hasCapCheck":357,"file":290,"line":500},"ea_send_query_message",179,{"action":502,"nopriv":356,"callback":503,"hasNonce":357,"hasCapCheck":356,"file":290,"line":504},"cancel_selected_appointments","cancel_selected_appointments_callback",180,{"action":506,"nopriv":356,"callback":506,"hasNonce":357,"hasCapCheck":357,"file":290,"line":507},"delete_selected_appointment",181,{"action":509,"nopriv":356,"callback":510,"hasNonce":356,"hasCapCheck":356,"file":290,"line":511},"ea_get_customers_ajax","handle_customers_ajax",183,{"action":513,"nopriv":356,"callback":514,"hasNonce":357,"hasCapCheck":357,"file":290,"line":515},"ea_update_customer_ajax","handle_update_customer_ajax",184,{"action":517,"nopriv":356,"callback":518,"hasNonce":357,"hasCapCheck":357,"file":290,"line":162},"ea_insert_customer_ajax","handle_insert_customer_ajax",{"action":520,"nopriv":356,"callback":521,"hasNonce":356,"hasCapCheck":357,"file":290,"line":249},"ea_get_customer_detail_ajax","handle_customer_detail_ajax",{"action":523,"nopriv":356,"callback":524,"hasNonce":357,"hasCapCheck":357,"file":290,"line":525},"ea_delete_customer","ea_handle_delete_customer",187,{"action":527,"nopriv":356,"callback":527,"hasNonce":356,"hasCapCheck":356,"file":290,"line":528},"ea_delete_multiple_connections",188,{"action":530,"nopriv":356,"callback":531,"hasNonce":357,"hasCapCheck":357,"file":290,"line":532},"ea_full_export","ea_ajax_full_export",190,{"action":534,"nopriv":356,"callback":535,"hasNonce":357,"hasCapCheck":356,"file":290,"line":536},"ea_full_import","ea_ajax_full_import",191,[538,545,549],{"namespace":539,"route":540,"methods":541,"callback":543,"permissionCallback":544,"file":242,"line":315},"wp\u002Fv2\u002Feablocks","\u002Fget_ea_options\u002F",[542],"GET","easy_ea_blocks_get_options","__return_true",{"namespace":539,"route":546,"methods":547,"callback":548,"permissionCallback":544,"file":242,"line":525},"\u002Fea_appointments\u002F",[542],"easy_ea_block_get_appointments",{"namespace":539,"route":550,"methods":551,"callback":553,"permissionCallback":246,"file":242,"line":554},"\u002Frender_shortcode",[552],"POST","easy_ea_blocks_render_shortcode",307,[556,560,563],{"tag":557,"callback":558,"file":297,"line":559},"ea_standard","standard_app",60,{"tag":561,"callback":561,"file":297,"line":562},"ea_bootstrap",63,{"tag":564,"callback":564,"file":348,"line":565},"ea_full_calendar",55,[567,568,570],{"hook":258,"callback":258,"file":255,"line":207},{"hook":262,"callback":262,"file":255,"line":569},234,{"hook":265,"callback":265,"file":332,"line":571},75,58,{"dangerousFunctions":574,"sqlUsage":575,"outputEscaping":613,"fileOperations":27,"externalRequests":194,"nonceChecks":217,"capabilityChecks":333,"bundledLibraries":728},[],{"prepared":429,"raw":576,"locations":577},16,[578,580,583,585,589,591,595,598,600,602,603,604,606,608,610,612],{"file":290,"line":207,"context":579},"$wpdb->get_results() with variable interpolation",{"file":290,"line":581,"context":582},283,"$wpdb->query() with variable interpolation",{"file":290,"line":584,"context":582},1657,{"file":586,"line":587,"context":588},"src\\dbmodels.php",699,"$wpdb->get_col() with variable interpolation",{"file":297,"line":590,"context":579},557,{"file":592,"line":593,"context":594},"src\\install.php",706,"$wpdb->get_row() with variable interpolation",{"file":596,"line":597,"context":582},"src\\uninstall.php",23,{"file":596,"line":599,"context":582},25,{"file":596,"line":601,"context":582},27,{"file":596,"line":333,"context":582},{"file":596,"line":341,"context":582},{"file":596,"line":605,"context":582},33,{"file":596,"line":607,"context":582},35,{"file":596,"line":609,"context":582},37,{"file":596,"line":611,"context":582},39,{"file":596,"line":206,"context":582},{"escaped":614,"rawEcho":559,"locations":615},320,[616,618,619,621,623,625,627,629,631,633,635,637,639,640,642,644,647,649,651,653,655,657,659,661,663,665,667,669,672,674,676,678,680,683,685,688,690,691,692,693,695,697,699,700,702,704,707,709,712,713,714,715,716,718,719,720,721,722,724,725],{"file":277,"line":477,"context":617},"raw output",{"file":277,"line":207,"context":617},{"file":277,"line":620,"context":617},235,{"file":277,"line":622,"context":617},236,{"file":277,"line":624,"context":617},242,{"file":277,"line":626,"context":617},255,{"file":277,"line":628,"context":617},281,{"file":277,"line":630,"context":617},1403,{"file":277,"line":632,"context":617},1405,{"file":277,"line":634,"context":617},1409,{"file":277,"line":636,"context":617},1422,{"file":277,"line":638,"context":617},1424,{"file":290,"line":624,"context":617},{"file":290,"line":641,"context":617},464,{"file":290,"line":643,"context":617},467,{"file":645,"line":646,"context":617},"src\\api\\apifullcalendar.php",372,{"file":645,"line":648,"context":617},439,{"file":297,"line":650,"context":617},328,{"file":297,"line":652,"context":617},363,{"file":297,"line":654,"context":617},585,{"file":297,"line":656,"context":617},587,{"file":297,"line":658,"context":617},589,{"file":297,"line":660,"context":617},591,{"file":297,"line":662,"context":617},815,{"file":297,"line":664,"context":617},824,{"file":297,"line":666,"context":617},870,{"file":297,"line":668,"context":617},886,{"file":670,"line":671,"context":617},"src\\templates\\admin.tpl.php",361,{"file":670,"line":673,"context":617},493,{"file":670,"line":675,"context":617},1356,{"file":677,"line":194,"context":617},"src\\templates\\appointments.tpl.php",{"file":677,"line":679,"context":617},298,{"file":681,"line":682,"context":617},"src\\templates\\customers.tpl.php",356,{"file":681,"line":684,"context":617},572,{"file":686,"line":687,"context":617},"src\\templates\\ea_bootstrap.tpl.php",14,{"file":686,"line":689,"context":617},26,{"file":686,"line":611,"context":617},{"file":686,"line":525,"context":617},{"file":686,"line":532,"context":617},{"file":686,"line":694,"context":617},193,{"file":686,"line":696,"context":617},199,{"file":698,"line":597,"context":617},"src\\templates\\ea_bootstrap_rtl.tpl.php",{"file":698,"line":243,"context":617},{"file":698,"line":701,"context":617},45,{"file":698,"line":703,"context":617},141,{"file":705,"line":706,"context":617},"src\\templates\\help-and-support.tpl.php",168,{"file":705,"line":708,"context":617},458,{"file":710,"line":711,"context":617},"src\\templates\\inlinedata.sorted.tpl.php",5,{"file":710,"line":217,"context":617},{"file":710,"line":599,"context":617},{"file":710,"line":607,"context":617},{"file":710,"line":701,"context":617},{"file":717,"line":711,"context":617},"src\\templates\\inlinedata.tpl.php",{"file":717,"line":217,"context":617},{"file":717,"line":599,"context":617},{"file":717,"line":607,"context":617},{"file":717,"line":701,"context":617},{"file":723,"line":194,"context":617},"src\\templates\\mail.confirm.tpl.php",{"file":723,"line":711,"context":617},{"file":726,"line":727,"context":617},"src\\templates\\report.tpl.php",82,[729,732],{"name":730,"version":37,"knownCves":731},"Select2",[],{"name":733,"version":37,"knownCves":734},"jQuery",[],[736,761,774,797,810,820,834,847,859,869,909,931,953,967,977,987,997,1007,1017,1106],{"entryPoint":737,"graph":738,"unsanitizedCount":28,"severity":760},"\u003Cadmin> (src\\admin.php:0)",{"nodes":739,"edges":757},[740,744,750,753],{"id":741,"type":742,"label":743,"file":277,"line":525},"n0","source","$_GET (x2)",{"id":745,"type":746,"label":747,"file":277,"line":748,"wp_function":749},"n1","sink","get_results() [SQLi]",204,"get_results",{"id":751,"type":742,"label":752,"file":277,"line":489},"n2","$_GET",{"id":754,"type":746,"label":755,"file":277,"line":628,"wp_function":756},"n3","echo() [XSS]","echo",[758,759],{"from":741,"to":745,"sanitized":357},{"from":751,"to":754,"sanitized":357},"low",{"entryPoint":762,"graph":763,"unsanitizedCount":28,"severity":760},"ea_ajax_full_import (src\\ajax.php:249)",{"nodes":764,"edges":772},[765,768],{"id":741,"type":742,"label":766,"file":290,"line":767},"$_FILES",259,{"id":745,"type":746,"label":769,"file":290,"line":770,"wp_function":771},"update_option() [Settings Manipulation]",291,"update_option",[773],{"from":741,"to":745,"sanitized":357},{"entryPoint":775,"graph":776,"unsanitizedCount":28,"severity":760},"ajax_date_selected (src\\ajax.php:503)",{"nodes":777,"edges":793},[778,780,784,786,789],{"id":741,"type":742,"label":752,"file":290,"line":779},511,{"id":745,"type":746,"label":781,"file":290,"line":782,"wp_function":783},"get_row() [SQLi]",536,"get_row",{"id":751,"type":742,"label":752,"file":290,"line":785},520,{"id":754,"type":787,"label":788,"file":290,"line":785},"transform","→ get_open_slots()",{"id":790,"type":746,"label":747,"file":791,"line":792,"wp_function":749},"n4","src\\logic.php",201,[794,795,796],{"from":741,"to":745,"sanitized":357},{"from":751,"to":754,"sanitized":356},{"from":754,"to":790,"sanitized":357},{"entryPoint":798,"graph":799,"unsanitizedCount":28,"severity":760},"handle_update_customer_ajax (src\\ajax.php:2516)",{"nodes":800,"edges":808},[801,804],{"id":741,"type":742,"label":802,"file":290,"line":803},"$_POST",2527,{"id":745,"type":746,"label":805,"file":290,"line":806,"wp_function":807},"get_var() [SQLi]",2534,"get_var",[809],{"from":741,"to":745,"sanitized":357},{"entryPoint":811,"graph":812,"unsanitizedCount":28,"severity":760},"handle_insert_customer_ajax (src\\ajax.php:2589)",{"nodes":813,"edges":818},[814,816],{"id":741,"type":742,"label":802,"file":290,"line":815},2596,{"id":745,"type":746,"label":805,"file":290,"line":817,"wp_function":807},2605,[819],{"from":741,"to":745,"sanitized":357},{"entryPoint":821,"graph":822,"unsanitizedCount":28,"severity":760},"handle_customer_detail_ajax (src\\ajax.php:2631)",{"nodes":823,"edges":831},[824,826,828,829],{"id":741,"type":742,"label":802,"file":290,"line":825},2636,{"id":745,"type":746,"label":781,"file":290,"line":827,"wp_function":783},2642,{"id":751,"type":742,"label":802,"file":290,"line":825},{"id":754,"type":746,"label":747,"file":290,"line":830,"wp_function":749},2654,[832,833],{"from":741,"to":745,"sanitized":357},{"from":751,"to":754,"sanitized":357},{"entryPoint":835,"graph":836,"unsanitizedCount":28,"severity":760},"parse_mail_link (src\\mail.php:142)",{"nodes":837,"edges":844},[838,840,842],{"id":741,"type":742,"label":752,"file":302,"line":839},158,{"id":745,"type":787,"label":841,"file":302,"line":839},"→ get_appintment_by_id()",{"id":751,"type":746,"label":747,"file":586,"line":843,"wp_function":749},478,[845,846],{"from":741,"to":745,"sanitized":356},{"from":745,"to":751,"sanitized":357},{"entryPoint":848,"graph":849,"unsanitizedCount":194,"severity":858},"render_my_bookings_page (src\\admin.php:163)",{"nodes":850,"edges":855},[851,852,853,854],{"id":741,"type":742,"label":752,"file":277,"line":525},{"id":745,"type":746,"label":747,"file":277,"line":748,"wp_function":749},{"id":751,"type":742,"label":752,"file":277,"line":489},{"id":754,"type":746,"label":755,"file":277,"line":628,"wp_function":756},[856,857],{"from":741,"to":745,"sanitized":356},{"from":751,"to":754,"sanitized":356},"high",{"entryPoint":860,"graph":861,"unsanitizedCount":62,"severity":858},"customer_page (src\\admin.php:1158)",{"nodes":862,"edges":867},[863,865],{"id":741,"type":742,"label":752,"file":277,"line":864},1173,{"id":745,"type":746,"label":747,"file":277,"line":866,"wp_function":749},1205,[868],{"from":741,"to":745,"sanitized":356},{"entryPoint":870,"graph":871,"unsanitizedCount":62,"severity":858},"ooajax_res_appointment (src\\ajax.php:543)",{"nodes":872,"edges":901},[873,875,877,879,880,881,884,887,892,895,898],{"id":741,"type":742,"label":752,"file":290,"line":874},551,{"id":745,"type":746,"label":781,"file":290,"line":876,"wp_function":783},605,{"id":751,"type":742,"label":752,"file":290,"line":878},588,{"id":754,"type":787,"label":788,"file":290,"line":878},{"id":790,"type":746,"label":747,"file":791,"line":792,"wp_function":749},{"id":882,"type":742,"label":752,"file":290,"line":883},"n5",621,{"id":885,"type":787,"label":886,"file":290,"line":883},"n6","→ can_make_reservation_by_user()",{"id":888,"type":746,"label":889,"file":791,"line":890,"wp_function":891},"n7","get_col() [SQLi]",416,"get_col",{"id":893,"type":742,"label":752,"file":290,"line":894},"n8",631,{"id":896,"type":787,"label":897,"file":290,"line":894},"n9","→ can_make_reservation()",{"id":899,"type":746,"label":889,"file":791,"line":900,"wp_function":891},"n10",366,[902,903,904,905,906,907,908],{"from":741,"to":745,"sanitized":356},{"from":751,"to":754,"sanitized":356},{"from":754,"to":790,"sanitized":357},{"from":882,"to":885,"sanitized":356},{"from":885,"to":888,"sanitized":357},{"from":893,"to":896,"sanitized":356},{"from":896,"to":899,"sanitized":357},{"entryPoint":910,"graph":911,"unsanitizedCount":194,"severity":858},"ajax_res_appointment (src\\ajax.php:658)",{"nodes":912,"edges":925},[913,915,917,919,920,921,923,924],{"id":741,"type":742,"label":743,"file":290,"line":914},665,{"id":745,"type":746,"label":781,"file":290,"line":916,"wp_function":783},695,{"id":751,"type":742,"label":752,"file":290,"line":918},685,{"id":754,"type":787,"label":788,"file":290,"line":918},{"id":790,"type":746,"label":747,"file":791,"line":792,"wp_function":749},{"id":882,"type":742,"label":752,"file":290,"line":922},763,{"id":885,"type":787,"label":897,"file":290,"line":922},{"id":888,"type":746,"label":889,"file":791,"line":900,"wp_function":891},[926,927,928,929,930],{"from":741,"to":745,"sanitized":356},{"from":751,"to":754,"sanitized":356},{"from":754,"to":790,"sanitized":357},{"from":882,"to":885,"sanitized":356},{"from":885,"to":888,"sanitized":357},{"entryPoint":932,"graph":933,"unsanitizedCount":194,"severity":858},"repeatbooking_hide_ajax_res_appointment (src\\ajax.php:780)",{"nodes":934,"edges":947},[935,937,939,941,942,943,945,946],{"id":741,"type":742,"label":743,"file":290,"line":936},789,{"id":745,"type":746,"label":781,"file":290,"line":938,"wp_function":783},833,{"id":751,"type":742,"label":743,"file":290,"line":940},807,{"id":754,"type":787,"label":788,"file":290,"line":940},{"id":790,"type":746,"label":747,"file":791,"line":792,"wp_function":749},{"id":882,"type":742,"label":752,"file":290,"line":944},917,{"id":885,"type":787,"label":897,"file":290,"line":944},{"id":888,"type":746,"label":889,"file":791,"line":900,"wp_function":891},[948,949,950,951,952],{"from":741,"to":745,"sanitized":356},{"from":751,"to":754,"sanitized":356},{"from":754,"to":790,"sanitized":357},{"from":882,"to":885,"sanitized":356},{"from":885,"to":888,"sanitized":357},{"entryPoint":954,"graph":955,"unsanitizedCount":229,"severity":858},"ajax_final_appointment (src\\ajax.php:957)",{"nodes":956,"edges":964},[957,959,961,962],{"id":741,"type":742,"label":743,"file":290,"line":958},963,{"id":745,"type":746,"label":781,"file":290,"line":960,"wp_function":783},969,{"id":751,"type":742,"label":752,"file":290,"line":958},{"id":754,"type":746,"label":747,"file":290,"line":963,"wp_function":749},990,[965,966],{"from":741,"to":745,"sanitized":356},{"from":751,"to":754,"sanitized":356},{"entryPoint":968,"graph":969,"unsanitizedCount":62,"severity":858},"ajax_cancel_appointment (src\\ajax.php:1094)",{"nodes":970,"edges":975},[971,973],{"id":741,"type":742,"label":752,"file":290,"line":972},1100,{"id":745,"type":746,"label":781,"file":290,"line":974,"wp_function":783},1113,[976],{"from":741,"to":745,"sanitized":356},{"entryPoint":978,"graph":979,"unsanitizedCount":62,"severity":858},"parse_single_model (src\\ajax.php:2051)",{"nodes":980,"edges":985},[981,983],{"id":741,"type":742,"label":752,"file":290,"line":982},2064,{"id":745,"type":746,"label":781,"file":290,"line":984,"wp_function":783},2065,[986],{"from":741,"to":745,"sanitized":356},{"entryPoint":988,"graph":989,"unsanitizedCount":62,"severity":858},"parse_appointment (src\\ajax.php:2093)",{"nodes":990,"edges":995},[991,993],{"id":741,"type":742,"label":752,"file":290,"line":992},2157,{"id":745,"type":746,"label":781,"file":290,"line":994,"wp_function":783},2158,[996],{"from":741,"to":745,"sanitized":356},{"entryPoint":998,"graph":999,"unsanitizedCount":62,"severity":858},"ajax_search_customers (src\\ajax.php:2663)",{"nodes":1000,"edges":1005},[1001,1003],{"id":741,"type":742,"label":752,"file":290,"line":1002},2673,{"id":745,"type":746,"label":747,"file":290,"line":1004,"wp_function":749},2680,[1006],{"from":741,"to":745,"sanitized":356},{"entryPoint":1008,"graph":1009,"unsanitizedCount":62,"severity":858},"ajax_customer_detail (src\\ajax.php:2696)",{"nodes":1010,"edges":1015},[1011,1013],{"id":741,"type":742,"label":802,"file":290,"line":1012},2704,{"id":745,"type":746,"label":781,"file":290,"line":1014,"wp_function":783},2706,[1016],{"from":741,"to":745,"sanitized":356},{"entryPoint":1018,"graph":1019,"unsanitizedCount":194,"severity":858},"\u003Cajax> (src\\ajax.php:0)",{"nodes":1020,"edges":1086},[1021,1022,1023,1025,1026,1027,1028,1029,1031,1033,1034,1035,1037,1039,1041,1044,1046,1048,1050,1052,1054,1057,1059,1061,1064,1067,1070,1073,1076,1079,1082,1084],{"id":741,"type":742,"label":766,"file":290,"line":767},{"id":745,"type":746,"label":769,"file":290,"line":770,"wp_function":771},{"id":751,"type":742,"label":1024,"file":290,"line":779},"$_GET (x12)",{"id":754,"type":746,"label":781,"file":290,"line":782,"wp_function":783},{"id":790,"type":742,"label":743,"file":290,"line":958},{"id":882,"type":746,"label":747,"file":290,"line":963,"wp_function":749},{"id":885,"type":742,"label":752,"file":290,"line":972},{"id":888,"type":746,"label":769,"file":290,"line":1030,"wp_function":771},2321,{"id":893,"type":742,"label":1032,"file":290,"line":803},"$_POST (x2)",{"id":896,"type":746,"label":805,"file":290,"line":806,"wp_function":807},{"id":899,"type":742,"label":1032,"file":290,"line":825},{"id":1036,"type":746,"label":781,"file":290,"line":827,"wp_function":783},"n11",{"id":1038,"type":742,"label":802,"file":290,"line":825},"n12",{"id":1040,"type":746,"label":747,"file":290,"line":830,"wp_function":749},"n13",{"id":1042,"type":742,"label":1043,"file":290,"line":785},"n14","$_GET (x6)",{"id":1045,"type":787,"label":788,"file":290,"line":785},"n15",{"id":1047,"type":746,"label":747,"file":791,"line":792,"wp_function":749},"n16",{"id":1049,"type":742,"label":752,"file":290,"line":883},"n17",{"id":1051,"type":787,"label":886,"file":290,"line":883},"n18",{"id":1053,"type":746,"label":889,"file":791,"line":890,"wp_function":891},"n19",{"id":1055,"type":742,"label":1056,"file":290,"line":894},"n20","$_GET (x3)",{"id":1058,"type":787,"label":897,"file":290,"line":894},"n21",{"id":1060,"type":746,"label":889,"file":791,"line":900,"wp_function":891},"n22",{"id":1062,"type":742,"label":752,"file":290,"line":1063},"n23",1276,{"id":1065,"type":787,"label":1066,"file":290,"line":1063},"n24","→ send_user_email_notification_action()",{"id":1068,"type":746,"label":781,"file":302,"line":1069,"wp_function":783},"n25",394,{"id":1071,"type":742,"label":752,"file":290,"line":1072},"n26",1277,{"id":1074,"type":787,"label":1075,"file":290,"line":1072},"n27","→ send_admin_email_notification_action()",{"id":1077,"type":746,"label":781,"file":302,"line":1078,"wp_function":783},"n28",428,{"id":1080,"type":742,"label":752,"file":290,"line":1081},"n29",2407,{"id":1083,"type":787,"label":841,"file":290,"line":1081},"n30",{"id":1085,"type":746,"label":747,"file":586,"line":843,"wp_function":749},"n31",[1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105],{"from":741,"to":745,"sanitized":357},{"from":751,"to":754,"sanitized":357},{"from":790,"to":882,"sanitized":357},{"from":885,"to":888,"sanitized":357},{"from":893,"to":896,"sanitized":357},{"from":899,"to":1036,"sanitized":357},{"from":1038,"to":1040,"sanitized":357},{"from":1042,"to":1045,"sanitized":356},{"from":1045,"to":1047,"sanitized":357},{"from":1049,"to":1051,"sanitized":356},{"from":1051,"to":1053,"sanitized":357},{"from":1055,"to":1058,"sanitized":356},{"from":1058,"to":1060,"sanitized":357},{"from":1062,"to":1065,"sanitized":356},{"from":1065,"to":1068,"sanitized":356},{"from":1071,"to":1074,"sanitized":356},{"from":1074,"to":1077,"sanitized":356},{"from":1080,"to":1083,"sanitized":356},{"from":1083,"to":1085,"sanitized":357},{"entryPoint":1107,"graph":1108,"unsanitizedCount":1137,"severity":858},"\u003Cmail> (src\\mail.php:0)",{"nodes":1109,"edges":1129},[1110,1113,1114,1115,1116,1117,1119,1121,1123,1125,1127],{"id":741,"type":742,"label":1111,"file":302,"line":1112},"$_GET (x4)",156,{"id":745,"type":746,"label":781,"file":302,"line":1069,"wp_function":783},{"id":751,"type":742,"label":1111,"file":302,"line":839},{"id":754,"type":787,"label":841,"file":302,"line":839},{"id":790,"type":746,"label":747,"file":586,"line":843,"wp_function":749},{"id":882,"type":742,"label":752,"file":302,"line":1118},399,{"id":885,"type":787,"label":1120,"file":302,"line":1118},"→ send_status_change_mail()",{"id":888,"type":746,"label":781,"file":302,"line":1122,"wp_function":783},717,{"id":893,"type":742,"label":752,"file":302,"line":1124},413,{"id":896,"type":787,"label":1126,"file":302,"line":1124},"→ send_status_change_repeat_mail()",{"id":899,"type":746,"label":781,"file":302,"line":1128,"wp_function":783},839,[1130,1131,1132,1133,1134,1135,1136],{"from":741,"to":745,"sanitized":356},{"from":751,"to":754,"sanitized":356},{"from":754,"to":790,"sanitized":357},{"from":882,"to":885,"sanitized":356},{"from":885,"to":888,"sanitized":356},{"from":893,"to":896,"sanitized":356},{"from":896,"to":899,"sanitized":356},6,{"summary":1139,"deductions":1140},"The \"easy-appointments\" plugin version 3.12.21 presents a mixed security posture. While it demonstrates good practices in areas like SQL query sanitization (89% prepared statements) and output escaping (84%), significant concerns arise from its attack surface and taint analysis.\n\nA substantial portion of its entry points, specifically 40 out of 58, are unprotected by authentication or authorization checks. This includes 38 AJAX handlers and 2 REST API routes that lack proper permission callbacks. The taint analysis reveals 13 high-severity flows with unsanitized paths, indicating a direct risk of malicious input being processed without adequate validation.\n\nThe plugin's historical vulnerability record, with 7 known medium-severity CVEs, albeit all currently patched and the last occurring in the future, suggests a pattern of past security weaknesses. The common vulnerability types of code injection and cross-site scripting are particularly worrying given the taint analysis findings. While the lack of critical\u002Fhigh unpatched CVEs is positive, the existing attack surface and taint issues, coupled with past vulnerabilities, necessitate caution.",[1141,1143,1145,1148,1150,1152,1154],{"reason":1142,"points":185},"Large attack surface without auth checks",{"reason":1144,"points":172},"High severity taint flows with unsanitized paths",{"reason":1146,"points":1147},"AJAX handlers without auth checks",8,{"reason":1149,"points":1147},"REST API routes without permission callbacks",{"reason":1151,"points":711},"13% of SQL queries not using prepared statements",{"reason":1153,"points":711},"16% of outputs not properly escaped",{"reason":1155,"points":27},"7 medium severity CVEs historically","2026-03-16T17:37:31.984Z",{"wat":1158,"direct":1203},{"assetPaths":1159,"generatorPatterns":1180,"scriptPaths":1181,"versionParams":1182},[1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179],"\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fcss\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fcss\u002Fbootstrap.min.css","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fcss\u002Ffullcalendar.css","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fcss\u002Fjquery.datetimepicker.css","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fcss\u002Fbootstrap-theme.min.css","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fbootstrap.min.js","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fjquery.datetimepicker.full.js","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Feasy-appointments.js","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Ffullcalendar.js","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fmoment.js","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments.js","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments-frontend.js","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments-admin.js","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments-ajax.js","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments-ajax-frontend.js","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments-ajax-admin.js","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments-fullcalendar.js","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments-user-fields.js","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments-calendar.js","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments-calendar-admin.js",[],[],[1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202],"\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fcss\u002Fstyle.css?ver=","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fcss\u002Fbootstrap.min.css?ver=","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fcss\u002Ffullcalendar.css?ver=","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fcss\u002Fjquery.datetimepicker.css?ver=","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fcss\u002Fbootstrap-theme.min.css?ver=","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fbootstrap.min.js?ver=","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fjquery.datetimepicker.full.js?ver=","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Feasy-appointments.js?ver=","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Ffullcalendar.js?ver=","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fmoment.js?ver=","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments.js?ver=","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments-frontend.js?ver=","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments-admin.js?ver=","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments-ajax.js?ver=","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments-ajax-frontend.js?ver=","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments-ajax-admin.js?ver=","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments-fullcalendar.js?ver=","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments-user-fields.js?ver=","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments-calendar.js?ver=","\u002Fwp-content\u002Fplugins\u002Feasy-appointments\u002Fjs\u002Fappointments-calendar-admin.js?ver=",{"cssClasses":1204,"htmlComments":1259,"htmlAttributes":1260,"restEndpoints":1281,"jsGlobals":1287,"shortcodeOutput":1298},[1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258],"ea-appointment-frontend","ea-appointment-appointments","ea-appointment-booking","ea-appointment-calendar","ea-appointment-calendar-admin","ea-appointment-date","ea-appointment-time","ea-appointment-service","ea-appointment-location","ea-appointment-provider","ea-appointment-add-new-appointment","ea-appointment-edit-appointment","ea-appointment-appointments-list","ea-appointment-appointments-list-admin","ea-appointment-appointments-list-frontend","ea-appointment-appointments-list-item","ea-appointment-appointments-list-item-admin","ea-appointment-appointments-list-item-frontend","ea-appointment-appointments-list-item-details","ea-appointment-appointments-list-item-details-admin","ea-appointment-appointments-list-item-details-frontend","ea-appointment-appointments-list-item-actions","ea-appointment-appointments-list-item-actions-admin","ea-appointment-appointments-list-item-actions-frontend","ea-appointment-appointments-list-item-actions-edit","ea-appointment-appointments-list-item-actions-delete","ea-appointment-appointments-list-item-actions-view","ea-appointment-appointments-list-item-actions-print","ea-appointment-appointments-list-item-actions-export","ea-appointment-appointments-list-item-actions-import","ea-appointment-appointments-list-item-actions-settings","ea-appointment-appointments-list-item-actions-help","ea-appointment-appointments-list-item-actions-about","ea-appointment-appointments-list-item-actions-upgrade","ea-appointment-appointments-list-item-actions-support","ea-appointment-appointments-list-item-actions-donate","ea-appointment-appointments-list-item-actions-feedback","ea-appointment-appointments-list-item-actions-terms","ea-appointment-appointments-list-item-actions-privacy","ea-appointment-appointments-list-item-actions-cookies","ea-appointment-appointments-list-item-actions-contact","ea-appointment-appointments-list-item-actions-faq","ea-appointment-appointments-list-item-actions-blog","ea-appointment-appointments-list-item-actions-forum","ea-appointment-appointments-list-item-actions-documentation","ea-appointment-appointments-list-item-actions-changelog","ea-appointment-appointments-list-item-actions-license","ea-appointment-appointments-list-item-actions-demo","ea-appointment-appointments-list-item-actions-buy","ea-appointment-appointments-list-item-actions-premium","ea-appointment-appointments-list-item-actions-free","ea-appointment-appointments-list-item-actions-pro","ea-appointment-appointments-list-item-actions-business","ea-appointment-appointments-list-item-actions-enterprise",[],[1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1275,1276,1277,1278,1279,1280,1275,1276,1277,1278,1279,1280],"data-ea-booking-id","data-ea-appointment-id","data-ea-appointment-date","data-ea-appointment-time","data-ea-appointment-service-id","data-ea-appointment-location-id","data-ea-appointment-provider-id","data-ea-appointment-user-id","data-ea-appointment-status","data-ea-appointment-created-at","data-ea-appointment-updated-at","data-ea-appointment-notes","data-ea-appointment-price","data-ea-appointment-currency","data-ea-appointment-payment-method","data-ea-appointment-payment-status","data-ea-appointment-payment-id","data-ea-appointment-payment-date","data-ea-appointment-payment-amount","data-ea-appointment-payment-currency",[1282,1283,1284,1285,1286],"\u002Fwp-json\u002Feasy-appointments\u002Fv1\u002Fappointments","\u002Fwp-json\u002Feasy-appointments\u002Fv1\u002Fservices","\u002Fwp-json\u002Feasy-appointments\u002Fv1\u002Flocations","\u002Fwp-json\u002Feasy-appointments\u002Fv1\u002Fproviders","\u002Fwp-json\u002Feasy-appointments\u002Fv1\u002Fsettings",[1288,1289,1290,1291,1292,1293,1294,1295,1296,1297],"easy_appointments_params","easy_appointments_frontend_params","easy_appointments_admin_params","easy_appointments_ajax_params","easy_appointments_ajax_frontend_params","easy_appointments_ajax_admin_params","easy_appointments_fullcalendar_params","easy_appointments_user_fields_params","easy_appointments_calendar_params","easy_appointments_calendar_admin_params",[]]