描述
KalendyPro Booking is the official WordPress plugin for the KalendyPro online appointment booking service (https://kalendypro.com). It lets your customers book directly from your WordPress site, and lets you manage your schedule, clients and reminders without leaving the WordPress admin.
Main features
- Responsive booking module (shortcode
[kalendypro_booking], Gutenberg block, sticky floating button) - Easy customization (color, position, height, floating or embedded mode)
- Mobile, tablet and desktop friendly
- Dashboard and interactive planning (Month / Week / Day) inside WordPress admin
- Create, edit, drag-and-drop and cancel appointments
- Full booking detail: client, service, employee, status, payment, notes
- Send an email or SMS reminder (depending on credits) in one click
- Mark as “no-show” and cancel
- New appointment notifications (badge on the KalendyPro menu)
- Secure connection to your KalendyPro account through a personal integration token
Why a KalendyPro account?
The plugin is an official client of the KalendyPro platform. All booking data (services, employees, availability, appointments, subscription, SMS credits) is stored and synchronized through your KalendyPro account. This also allows you to use the web app, the public directory and the other KalendyPro channels with the same data.
Integration token security
The plugin uses a personal integration token (starting with kpro_) to authenticate against your KalendyPro account. Never share your KalendyPro integration token: it grants full access to your appointments, clients and settings. It can be revoked at any time from your KalendyPro dashboard.
Shortcodes
[kalendypro_booking slug="your-slug"]— embedded booking module.[kalendypro_booking slug="your-slug" mode="floating" text="Book now" color="#6366f1" position="right"]— floating button.
Parameters: slug, professional_id, service, height, theme, lang, mode (standard or floating), text, color, position (right or left), icon.
External services
This plugin connects to external services in order to function. The sections below describe which services are contacted, in which circumstances and what data is transmitted.
1. KalendyPro API (hosted on Supabase)
The plugin communicates with the KalendyPro API to synchronize the professional account and manage appointments. This API is exposed through the KalendyPro cloud infrastructure, hosted by Supabase in the European Union.
- Services used: KalendyPro (https://kalendypro.com) and Supabase (https://supabase.com)
- Endpoint:
https://weoghnhclddjvryvmdqj.supabase.co/functions/v1/wp-api - When: on every load of a KalendyPro Booking admin page, when creating / editing / cancelling an appointment, when sending an email or SMS reminder, and every 90 seconds (new appointment polling) while an administrator is logged into wp-admin.
- Data transmitted:
- the API integration token (
kpro_…); - the parameters required for synchronization (appointment id, dates, status, reminder content);
- when creating an appointment from admin: client name, email, phone and notes.
- the API integration token (
- KalendyPro Privacy Policy: https://kalendypro.com/privacy-wp
- KalendyPro Terms of Service: https://kalendypro.com/terms-wp
- Supabase Privacy Policy: https://supabase.com/privacy
The API URL can be edited in the plugin Settings and overridden via the PHP constant KALENDYPRO_DEFAULT_API_URL or the kalendypro_default_api_url filter.
2. Client module (KalendyPro iframe)
The shortcode and the floating button load the client booking module from https://kalendypro.com/embed/booking inside an iframe. No visitor data is sent to KalendyPro until the visitor actually starts a booking.
- Service: KalendyPro (client module)
- URL:
https://kalendypro.com/embed/booking - Data transmitted: professional identifier (slug or UUID) passed as a URL parameter, and — only if the visitor confirms a booking — name, email, phone and notes entered in the form.
- Privacy Policy: https://kalendypro.com/privacy-wp
- Terms of Service: https://kalendypro.com/terms-wp
3. FullCalendar (bundled locally)
The Planning admin page uses the open-source FullCalendar library (MIT license). It is bundled inside the plugin (assets/vendor/fullcalendar/) and loaded locally — no external CDN request is made.
- License: https://github.com/fullcalendar/fullcalendar/blob/main/LICENSE.md
Source code
The JavaScript and CSS files distributed with this plugin are provided in human-readable, non-minified form. No build step or bundler is used: the source files shipped inside the assets/ directory of the plugin package are the exact files served to the browser.
assets/admin.js/assets/admin.css— WordPress admin (dashboard, calendar, bookings).assets/kalendypro-embed.js/assets/kalendypro-embed.css— embedded booking iframe loader.assets/kalendypro-floating.js— public floating button widget.assets/vendor/fullcalendar/— third-party FullCalendar library (MIT), bundled locally.
If a build process is introduced in the future, the original source files and build instructions will be publicly documented in this readme.
Privacy
- The plugin does not create any table in the WordPress database and does not store any visitor personal data on the WordPress side.
- Appointments, clients, services, employees and SMS credits are stored on the KalendyPro infrastructure (Supabase, European Union).
- Email / SMS reminders are sent from the KalendyPro infrastructure at your explicit request.
- The only options stored in the WordPress database are: base URL, API URL, integration token and floating button display preferences. The token is sensitive: never share it.
- For any GDPR request (access, rectification, deletion), contact KalendyPro at https://kalendypro.com/contact.
区块
该插件提供了 1 个区块.
- KalendyPro Booking
安装
- Upload the ZIP via Plugins Add New Upload Plugin, or install the plugin from the WordPress.org directory.
- Activate KalendyPro Booking.
- Go to KalendyPro Settings, paste the integration token generated from your KalendyPro professional dashboard (Dashboard Integration WordPress Plugin).
- Insert the shortcode
[kalendypro_booking slug="your-slug"]into a page, or use the KalendyPro Booking Gutenberg block.
常见问题
-
Do I need a KalendyPro account?
-
Yes. Create your free account at https://kalendypro.com then generate an integration token from your dashboard.
-
What data is sent to KalendyPro?
-
See the External services section below.
-
Does the plugin work without external JavaScript?
-
The admin appointment management uses the open-source FullCalendar library (MIT license), bundled locally with the plugin. The visitor-facing client module runs inside an iframe.
-
Is the plugin compatible with Gutenberg / Elementor?
-
Yes. A dedicated Gutenberg block is provided, and the shortcode can be used anywhere (Elementor, Divi, classic editor).
评价
此插件暂无评价。
贡献者及开发者
更新日志
2.4.8
- WordPress.org review feedback:
- The public floating widget no longer displays the “Powered by KalendyPro” attribution by default. A new opt-in option is available under KalendyPro Settings Front-end module Attribution for administrators who explicitly wish to display it.
- Documented in the readme that all bundled JS/CSS files are provided in human-readable, non-minified form (see the new Source code section).
- Renamed the localized JavaScript global from
KalendyProAdmintoKalendyProBookingAdminto use a more plugin-specific identifier. All internal references updated; no functional change. - Confirmed that the official text domain is
kalendypro-bookingacross all PHP files, JS strings and the readme.
- No regression on existing functionality.
2.4.5
- WordPress.org compliance pass:
- Bundled FullCalendar locally (no more jsDelivr / external CDN enqueue)
- Hardened POST sanitization in admin AJAX handlers (explicit per-field sanitization, no dynamic
$_POST[$f]) - Added nonce field and verification on the bookings filter form
- Removed manual
load_plugin_textdomain()(translations are loaded automatically by WordPress.org since 4.6) - Shortened short description (≤150 characters)
- Updated Author URI to dedicated plugin presentation page
- No functional change
2.4.4
- WordPress.org compliance: full English readme, English plugin header, Contributors fixed to
laubro - Removed inline
<script>rendering in shortcode output; floating widget now auto-initializes via a data attribute and the enqueued script - Wrapped all hardcoded admin/front strings with translation functions (
kalendypro-bookingtext domain) - Localized JavaScript strings via
wp_localize_script - Cleanup pass: removed unused dead code, harmonized comments
2.4.3
- Stability fixes for the admin calendar and floating widget
2.4.2
- Harmonized WordPress header: Requires at least 5.9, Requires PHP 7.4, Tested up to 6.9.4
- Rewrote the External services section to explicitly declare KalendyPro and Supabase
- Added a security note about the integration token (admin + readme)
- Fixed the documented constant name (
KALENDYPRO_DEFAULT_API_URL) - Cleanup: removed front-end
console.log, harmonized comments and changelog
2.4.1
- Documented the API endpoint as used in production (Supabase infrastructure, EU)
- No functional change
2.4.0
- Official rename: “KalendyPro” “KalendyPro Booking”
- Full WordPress header and WordPress.org compliance
- Added the External services section to the readme
- Added the Privacy section
- Harmonized shortcode documentation
- API URL can be overridden via PHP constant
KALENDYPRO_DEFAULT_API_URLor filterkalendypro_default_api_url - General cleanup, translations prepared (Text Domain
kalendypro-booking)
2.3.2
- Fixed status preservation when creating an appointment from the admin planning
- Fixed UUID error when editing without a selected employee/service
- “Month” view set as default on the Planning page
2.3.1
- Fixed planning display (FullCalendar) and the “New appointment” button
- Fixed double rendering in floating mode (the embedded iframe no longer appears when the global floating button is active)
2.3.0
- Full detail panel for each appointment
- Direct actions: email reminder, SMS reminder, mark “no-show”, cancel
- New appointment notifications (badge on the KalendyPro menu, 90s polling)
- Extended statuses: pending_confirmation, no_show
2.2.0
- Interactive calendar (FullCalendar) Month / Week / Day
- Create and move appointments directly from the planning
- Quick edit through a modal
2.1.0
- API connection to the KalendyPro pro account
- Dashboard and bookings list in admin
- Floating button and Gutenberg block
2.0.0
- Full rewrite: native WordPress integration







