Free plugin, five minutes, no code — your booking form right on your own WordPress site.
Your Klendr booking page — services, free time slots, confirmations and reminders — appears inside your own website in a secure frame. Clients book without leaving your site; every appointment lands in your Klendr calendar instantly, and the form always shows your live availability.
The widget is not a separate form to fill in — it IS your Klendr booking page, shown inside your site. So build that page first: add your services with durations and prices, upload photos, write your welcome text, then open the branding editor and choose the accent and background colours, the font and the card style. Everything is yours to change: colours, fonts, cover and logo, service list and descriptions, working hours, even a second language. Only then copy the embed code.
In Klendr open Integrations → “Embed on your website” and click “Download plugin (.zip)”. The zip is the installable plugin file — no need to unpack it.
In the WordPress admin go to Plugins → Add New → Upload Plugin, choose the zip and click Install Now, then Activate.
Open Settings → Klendr Booking Form and paste the link to your booking page (you’ll find it in Klendr under Share). Save — the plugin checks the link for typos.
In the page editor insert the “Klendr Booking Form” block — or put the [klendr] shortcode anywhere. Want a floating “Book now” button instead of an inline form? Use [klendr mode="button"].
Publish the page and make a test booking. It shows up in your Klendr calendar immediately, and the client receives the usual confirmation email.
<iframe src="https://klendr.me/book/YOUR-SALON?embed=1"
style="width:100%;border:0;height:640px" title="Booking" id="klendr-frame"></iframe>
<script>(function(){var f=document.getElementById('klendr-frame');
function tell(){try{f.contentWindow.postMessage(
{type:'klendr:hostlang',lang:document.documentElement.lang||''},'*');}catch(e){}}
addEventListener('message',function(e){var d=e.data;if(!d)return;
if(d.type==='klendr:height'&&d.height){f.style.height=(d.height+8)+'px';}
if(d.type==='klendr:ready'){tell();}});
f.addEventListener('load',tell);})();</script>Replace YOUR-SALON with your booking-page name. Your personal, ready-to-paste code is in Klendr → Integrations → “Embed on your website”.
By default the widget follows your website: the code passes your page language to it, so an English page shows an English form. If your site declares no language, the widget uses your salon language from Klendr. Want it fixed for good? In Klendr → Integrations → “Embed code” pick a language before copying the code — it is added to the link as &lang=xx.

On a desktop site

On mobile
These screenshots show one colour scheme as an example. Your form takes your own colours, font and services — set them in Klendr and the widget follows instantly.
Is the plugin free?
Yes. The plugin is free; you only need a Klendr account for the booking page itself.
Do bookings from my site differ from klendr.me bookings?
No — it is the same booking page, so slots, confirmations, reminders and cancellations work identically.
Can I use the embed code instead of the plugin?
Yes. The same iframe embed code works in any WordPress theme or page builder — the plugin is just the convenient way.