Booking for Appointments and Events Calendar – Amelia

Amelia is a powerful booking plugin for appointments and events. Manage scheduling, calendars, and availability with an all-in-one booking system.

v2.4.2Melograno Venture StudioUpdated 2026-06-18Added Dec 11, 201890k+ installs92% rating43% support resolved
22
Score
1,489
Errors
480
Warnings
+0
Change

Category Scores

Security0
Repo83
Performance100
Maintainability0

Top Issues by Category

security1,254
maintainability442
i18n225

Issues Details

1,969 issues found in latest scan

ERROR1,014
WordPress.Security.EscapeOutput.ExceptionNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Capacity '$capacity' must be whole number between "'.

WARNING159
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$code".

ERROR125
WordPress.WP.I18n.TextDomainMismatch

Mismatched text domain. Expected 'ameliabooking' but got "wpamelia".

ERROR100
WordPress.WP.I18n.NonSingularStringLiteralText

The $text parameter must be a single text string literal. Found: 'Read-only abilities for the Amelia booking system. Canonical workflow: ' .\n '1) amelia/list-services — get service IDs and prices; ' .\n '2) amelia/list-employees — get provider IDs for that service; ' .\n '3) amelia/check-availability — find open timeslots; ' .\n '4) amelia/list-customers (or amelia/add-customer) — resolve the customer ID; ' .\n 'then hand off to an amelia-write ability to complete the booking.'

ERROR83
WordPress.Security.EscapeOutput.OutputNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"var wpAmeliaTimeZones = $timeZones;"'.

WARNING46
WordPress.DB.PreparedSQL.InterpolatedNotPrepared

Use placeholders and $wpdb->prepare(); found interpolated variable {$deletedProvidersIdsQuery} at "UPDATE {$table} SET providerId = NULL WHERE providerId IN ({$deletedProvidersIdsQuery})"

WARNING44
WordPress.DB.DirectDatabaseQuery.DirectQuery

Use of a direct database call is discouraged.

WARNING44
WordPress.DB.DirectDatabaseQuery.NoCaching

Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().

ERROR42
WordPress.WP.AlternativeFunctions.curl_curl_setopt

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

WARNING41
PluginCheck.Security.DirectDB.UnescapedDBParameter

Unescaped parameter $table used in $wpdb->get_col()\n$table assigned unsafely at line 45.

WARNING31
WordPress.WP.EnqueuedResourceParameters.MissingVersion

Resource version not set in call to wp_enqueue_script(). This means new versions of the script may not always be loaded due to browser caching.

WARNING24
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

WARNING23
WordPress.WP.EnqueuedResourceParameters.NotInFooter

In footer ($in_footer) is not set explicitly wp_enqueue_script; It is recommended to load scripts in the footer. Please set this value to `true` to load it in the footer, or explicitly `false` if it should be loaded in the header.

ERROR22
missing_direct_file_access_protection

PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;

WARNING17
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

$_GET['ameliaCache'] not unslashed before sanitization. Use wp_unslash() or similar

WARNING16
WordPress.PHP.DevelopmentFunctions.error_log_error_log

error_log() found. Debug code should not normally be used in production.

ERROR14
WordPress.WP.AlternativeFunctions.curl_curl_exec

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

ERROR14
WordPress.WP.AlternativeFunctions.curl_curl_init

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

ERROR14
wp_function_not_compatible_with_requires_wp

Function "wp_register_ability()" requires WordPress 6.9.0, but your plugin minimum supported version is WordPress 6.5.0.

WARNING13
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_GET['ameliaCache']

ERROR8
WordPress.DB.PreparedSQL.NotPrepared

Use placeholders and $wpdb->prepare(); found $command

ERROR8
WordPress.DateTime.RestrictedFunctions.date_date

date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.

WARNING8
WordPress.Security.NonceVerification.Missing

Processing form data without nonce verification.

ERROR6
WordPress.WP.AlternativeFunctions.curl_curl_getinfo

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

ERROR5
WordPress.WP.AlternativeFunctions.curl_curl_error

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

Latest Snapshot

Findings

1,969

Errors

1,489

Warnings

480

Score History

First score snapshot

First scan completed Jun 20, 2026

v2.4.2 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 20, 2026

v2.4.2

22

Latest

Findings
1,969
Errors
1,489
Warnings
480
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins