Time Slot – Booking and Appointment Scheduling Security & Risk Analysis

wordpress.org/plugins/timeslot

Book appointments, organize your schedule, send notifications, and more. Keep booking simple for everyone with Time Slot.

200 active installs v1.5.3 PHP 8.1+ WP 5.6+ Updated Feb 19, 2026
appointmentsbookingbooking-systemreservationsscheduling
98
A · Safe
CVEs total2
Unpatched0
Last CVENov 18, 2025
Safety Verdict

Is Time Slot – Booking and Appointment Scheduling Safe to Use in 2026?

Generally Safe

Score 98/100

Time Slot – Booking and Appointment Scheduling has a strong security track record. Known vulnerabilities have been patched promptly.

2 known CVEsLast CVE: Nov 18, 2025Updated 1mo ago
Risk Assessment

The "timeslot" plugin v1.5.3 exhibits a generally good security posture with strong adherence to secure coding practices. The static analysis reveals a high percentage of properly escaped outputs and prepared SQL statements, along with comprehensive nonce and capability checks on AJAX handlers. The absence of critical or high severity taint flows is also a positive indicator. However, there are specific areas of concern that warrant attention. The plugin exposes a significant attack surface with 4 unprotected REST API routes, representing a potential entry point for unauthorized actions if not properly secured by the underlying WordPress environment or other security measures. While the vulnerability history shows no currently unpatched CVEs, the presence of two past medium severity vulnerabilities, specifically related to improper input validation and cross-site scripting, suggests a historical susceptibility that should be monitored. The bundled Select2 library, version 4.1.0, while not explicitly stated as outdated, should be verified against current stable versions to mitigate potential risks from known vulnerabilities in older versions. Overall, the plugin is well-coded but the unprotected REST API endpoints present a notable risk that needs to be addressed.

Key Concerns

  • Unprotected REST API routes
  • Bundled Select2 v4.1.0 library
Vulnerabilities
2

Time Slot – Booking and Appointment Scheduling Security Vulnerabilities

CVEs by Year

1 CVE in 2024
2024
1 CVE in 2025
2025
Patched Has unpatched

Severity Breakdown

Medium
2

2 total CVEs

CVE-2025-12842medium · 5.3Improper Input Validation

Booking Plugin for WordPress Appointments – Time Slot <= 1.4.7 - Unauthenticated Arbitrary Email Sending

Nov 18, 2025 Patched in 1.4.8 (1d)
CVE-2024-50418medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Time Slot <= 1.3.6 - Authenticated (Contributor+) Stored Cross-Site Scripting

Oct 24, 2024 Patched in 1.3.7 (7d)
Code Analysis
Analyzed Mar 16, 2026

Time Slot – Booking and Appointment Scheduling Code Analysis

Dangerous Functions
0
Raw SQL Queries
18
74 prepared
Unescaped Output
12
675 escaped
Nonce Checks
16
Capability Checks
16
File Operations
1
External Requests
0
Bundled Libraries
3

Bundled Libraries

TinyMCESelect24.1.0DataTables

SQL Query Safety

80% prepared92 total queries

Output Escaping

98% escaped687 total outputs
Data Flows
All sanitized

Data Flow Analysis

6 flows
tslot_import (admin\pages\settings\general.php:170)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
4 unprotected

Time Slot – Booking and Appointment Scheduling Attack Surface

Entry Points23
Unprotected4

AJAX Handlers 16

authwp_ajax_tslot_test_emailadmin\pages\settings\email.php:336
authwp_ajax_tslot_load_stepadmin\pages\setup\setup.php:18
authwp_ajax_tslot_save_stepadmin\pages\setup\setup.php:66
authwp_ajax_tslot_update_apptadmin\pages\tables\appointments.php:154
authwp_ajax_tslot_notify_canceledadmin\pages\tables\appointments.php:263
authwp_ajax_tslot_update_couponsadmin\pages\tables\coupons.php:94
authwp_ajax_tslot_update_customersadmin\pages\tables\customers.php:71
authwp_ajax_tslot_delete_rowadmin\pages\tables\data-delete.php:51
authwp_ajax_tslot_delete_multi_rowsadmin\pages\tables\data-delete.php:84
authwp_ajax_tslot_update_paymentadmin\pages\tables\payments.php:162
authwp_ajax_tslot_update_serviceadmin\pages\tables\services.php:205
authwp_ajax_tslot_update_staffadmin\pages\tables\staff.php:126
noprivwp_ajax_tslot_check_coupon_codespublic\form\coupons.php:21
authwp_ajax_tslot_check_coupon_codespublic\form\coupons.php:22
authwp_ajax_tslot_install_datapublic\form\submit.php:20
noprivwp_ajax_tslot_install_datapublic\form\submit.php:21

REST API Routes 4

GET/wp-json/timeslot/v1/ts-business-hours/inc\src\DaysOff.php:68
GET/wp-json/timeslot/v1/ts-get-staff/public\form\any-staff.php:21
GET/wp-json/timeslot/v1/ts-staff-available/public\form\staff.php:23
GET/wp-json/timeslot/v1/ts-times/public\form\times.php:22

Shortcodes 3

[timeslot-form] admin\inc\blocks\timeslot-block.php:69
[timeslot-form] inc\src\GutenbergBlocks.php:61
[timeslot-form] public\form\shortcode.php:216
WordPress Hooks 52
actioninitadmin\init\extensions.php:26
actionplugins_loadedadmin\init\extensions.php:42
actionplugins_loadedadmin\init\extensions.php:58
actioninitadmin\init\extensions.php:73
filteradmin_titleadmin\init\general.php:27
filteradmin_body_classadmin\init\general.php:129
actionadmin_bar_initadmin\init\general.php:200
actionwp_headadmin\init\general.php:219
filteradmin_footer_textadmin\init\general.php:237
filterupdate_footeradmin\init\general.php:262
actionplugins_loadedadmin\init\menu-pages.php:27
actionadmin_menuadmin\init\menu-pages.php:72
actionadmin_enqueue_scriptsadmin\init\scripts.php:17
actionplugins_loadedadmin\init\timeslot-db.php:174
actionadmin_initadmin\pages\settings\appearance.php:21
actionadmin_initadmin\pages\settings\booking-form.php:21
actionadmin_initadmin\pages\settings\company.php:21
actionadmin_initadmin\pages\settings\email.php:30
actionadmin_initadmin\pages\settings\general.php:98
actionadmin_initadmin\pages\settings\general.php:168
actionadmin_initadmin\pages\settings\hours.php:21
actionadmin_initadmin\pages\settings\payment.php:21
actionadmin_initadmin\pages\setup\setup.php:135
actionadmin_initadmin\pages\setup\setup.php:155
actioninitadmin\pages\tables\appointments.php:22
actioninitadmin\pages\tables\coupons.php:22
actioninitadmin\pages\tables\customers.php:22
actioninitadmin\pages\tables\payments.php:22
actioninitadmin\pages\tables\services.php:22
actionadmin_initadmin\pages\tables\services.php:30
actioninitadmin\pages\tables\staff.php:22
actionrest_api_initinc\src\DaysOff.php:64
actionelementor/initinc\src\ElementorWidget.php:25
actionelementor/widgets/registerinc\src\ElementorWidget.php:39
actionelementor/editor/before_enqueue_stylesinc\src\ElementorWidget.php:40
actionelementor/preview/enqueue_stylesinc\src\ElementorWidget.php:41
actionelementor/preview/enqueue_scriptsinc\src\ElementorWidget.php:42
actionphpmailer_initinc\src\EmailReplacements.php:390
actionwp_enqueue_scriptsinc\src\EnqueueFrontend.php:22
filterbody_classinc\src\EnqueueFrontend.php:23
actionelementor/editor/before_enqueue_scriptsinc\src\EnqueueFrontend.php:24
filtermce_external_languagesinc\src\LoadTinyMCE.php:22
filtermce_buttonsinc\src\LoadTinyMCE.php:23
filtermce_external_pluginsinc\src\LoadTinyMCE.php:24
actionbefore_wp_tiny_mceinc\src\LoadTinyMCE.php:25
actiontslot_create_multilang_servicesinc\src\MultiLangPlugins.php:27
actionrest_api_initinc\src\TableData.php:37
actionrest_api_initpublic\form\any-staff.php:19
actioninitpublic\form\shortcode.php:20
actionrest_api_initpublic\form\staff.php:22
actionrest_api_initpublic\form\times.php:21
actioninittimeslot.php:62

Scheduled Events 1

tslot_create_multilang_services
Maintenance & Trust

Time Slot – Booking and Appointment Scheduling Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedFeb 19, 2026
PHP min version8.1
Downloads15K

Community Trust

Rating100/100
Number of ratings3
Active installs200
Developer Profile

Time Slot – Booking and Appointment Scheduling Developer Profile

Time Slot Booking

1 plugin · 200 total installs

99
trust score
Avg Security Score
98/100
Avg Patch Time
4 days
View full developer profile
Detection Fingerprints

How We Detect Time Slot – Booking and Appointment Scheduling

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/timeslot/admin/css/ts-admin.min.css/wp-content/plugins/timeslot/admin/js/ajax-save.min.js/wp-content/plugins/timeslot/admin/js/select2.min.js/wp-content/plugins/timeslot/inc/datatables/datatables.min.css/wp-content/plugins/timeslot/inc/datatables/datatables.min.js/wp-content/plugins/timeslot/admin/js/tables/defaults.min.js/wp-content/plugins/timeslot/admin/css/ts-print.min.css/wp-content/plugins/timeslot/admin/js/tables/all-tables.min.js+11 more
Script Paths
https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap
Version Parameters
timeslot/style.css?ver=timeslot/script.js?ver=

HTML / DOM Fingerprints

CSS Classes
ts-loadts-datatable-maints-print
HTML Comments
<!-- Exit if accessed directly --><!-- Defines Time Slot constants --><!-- Includes plugin files --><!-- Register scripts and styles -->+3 more
Data Attributes
data-micromodal-trigger
JS Globals
tslotDataTabletslotTablewindow.TS
Shortcode Output
[timeslot]
FAQ

Frequently Asked Questions about Time Slot – Booking and Appointment Scheduling