Embed your schedule on WordPress

Add a booking calendar to your website so visitors can see classes and book directly.

ForOwnerManager

Prerequisites

  • • Feature: Embed Widget must be enabled in Settings → Features.
1

Go to Settings → Widget

Open Settings from the sidebar, then "Website Widget."

2

Turn the widget on

Flip "Enable Widget" to on. Until this is enabled, the embedded widget won't appear on your site.

3

Choose your main schedule layout

Under "Main schedule layout," pick "Classic schedule" (the original day/week booking calendar) or "All-in-one" (one tabbed widget combining Schedule, Classes, Services, Team, Retreats, Reviews & Contact). This controls what your main schedule embed shows — switching it changes the layout on your live site without editing the snippet or involving your web partner. You can switch back any time; changes take a minute or two to appear.

4

Pick what to embed

Under "Embed Code," choose a tab: Schedule (the original day/week calendar), Planner (the newer magazine-style agenda with Day/Week/Month/List views and a filter), Staff (a directory of your instructors), Classes (a catalog of your class types), Events (the original retreat list), Retreats (the newer magazine-style retreat cards), Reviews (star-rated testimonials), Sign-up (a lead-capture form, shown as the "Contact" tab in the all-in-one widget), or Passes. Each tab gives you the matching code snippet. Your existing embeds keep working unchanged until you swap in a different snippet.

5

Copy the code

Click "Copy to clipboard." The snippet is a single <script> line — no account or login is needed by whoever pastes it (e.g. a website contractor).

6

Add it to your website

Edit the page where you want the schedule, add a Custom HTML block, and paste the code. Works in WordPress, Wix, Squarespace, or any custom HTML.

7

Customize (optional)

Pick a preset brand color or enter your exact HEX in the Custom color field (light/dark shades are computed automatically). Add Allowed Domains to restrict which sites can embed — leave it empty to allow any site.

Limits
  • • They only show if the Retreats feature is on, and the standalone Retreats tab still works exactly as before. That tab is named "Events" when everything listed is a one-day event. (The original "Classic" schedule layout is unchanged and shows classes only.)
  • • A class with nothing on the calendar shows "Not currently scheduled" instead of a book button.
  • • It only ever matches an existing member of your studio by email, and the code is single-use and expires in 10 minutes, so it's safe to leave posted.
Tips
  • • The Planner style offers four views your visitors can switch between — Day, Week, Month, and List — plus a Filter to narrow by service or staff. It opens on the List (agenda) view, which groups classes by day with a Book button on each, and renders on its own clean, brand-tinted panel so it looks intentional on any background. The original Schedule style is unchanged and still available.
  • • The Planner shows each class's photo and a "Read me" link when you've added an image or description to its class template (Classes → edit a class). No photo or description? The row simply stays clean.
  • • Both schedule styles (and your public booking page) open on the current week. If nothing is coming up this week, they open on the week of your next class instead, so a visitor never lands on an empty week while a class is scheduled. An empty week or day also shows a "Next class" button that jumps straight to it.
  • • The Staff widget is a public directory of your instructors — photo, specialties, bio, and an optional website link. Only instructors with a photo, bio, or specialties appear, so fill out a profile (Instructors → edit) to feature someone.
  • • The Retreats widget shows your published retreats and workshops as large magazine-style cards — cover photo (or an elegant date cover when there's no photo), dates, location, room options with early-bird pricing, and a Reserve button that opens the full retreat page. It reads from the same events you create under Events.
  • • Testimonials, review requests and what your studio keeps by kind of client are each their own guide — see the related articles below.
  • • The Sign-up widget (the "Contact" tab of the all-in-one widget) is a simple lead-capture form (name, email, optional phone, interest, and message). When a visitor submits it, you get an email with their details so you can follow up — a quick way to turn website visitors into prospects.
  • • The Services tab, where clients request an appointment with a practitioner, has its own guide — see the related articles below.
  • • The widget works with any website builder — WordPress, Wix, Squarespace, or custom HTML.
  • • The "Main schedule layout" toggle switches your existing schedule embed between the Classic calendar and the All-in-one tabbed widget — Klasly handles it server-side, so the snippet on your website stays exactly the same and your web partner does not need to do anything.
  • • Change your brand color any time — every embed updates automatically without editing the snippet.
  • • Whoever adds the snippet to your site (like a web designer) does not need a Klasly account — just send them the copied code.
  • • Pass purchases from the widget email the buyer a payment receipt automatically (guests instead receive an account-setup email that doubles as their purchase confirmation).
  • • Visitors book without making a password: they tap Book, enter their email (or use Google), type the code we email, and the class they tapped is booked in the same panel. People new to the studio are asked only for their name. Members who prefer a password keep it under "Use a password instead".
  • • If your studio requires a waiver, a member who hasn't signed yet sees it in that same panel when they try to book: a summary, "Read the full waiver", their typed name and a box to agree, then one button, "Sign and book". It is the same signed record as on the Waivers page (name, time, the exact text, IP address). A child's waiver is still signed by a parent or guardian.
  • • A waiver that only one class requires is signed on the member's Waivers page: the panel gives a "Sign the waiver" link that opens it in a new tab.
  • • The "Contact" tab (called "Sign up" before) is an enquiry form for people who are not ready to book: it sends you their details. It does not create an account. Links that use ?tab=signup keep working.
  • • Links that leave the widget for a new tab — "Sign the waiver", "Manage my bookings" and "Get a pass" — keep the visitor signed in, including when the widget is embedded on your own website.
  • • Visitors can buy a pass or intro offer with just an email unless you switch off "Buy with just an email" on this page; with it off they confirm the email with a code first. You do not need to turn the embed on for it to work on your booking page.
  • • When someone signs up themselves, you (plus managers who can manage members) get a "New member" email — once per person.
  • • A new member who signed up with Google also gets a short welcome email with a link back to your booking page. Someone who signed up with an email and password does not get one, because nothing has shown yet that the address is theirs.
  • • Members you imported earlier can simply sign in (or create an account with the same email) from the widget — Klasly connects them to their existing member record, so their passes and history carry over instead of creating a duplicate.
  • • First-time visitors can create an account without leaving the widget: when they tap Book while signed out, the sign-in dialog has a "Create an account" option right there (name, email, password). After they create it, the class they were booking is completed automatically — they no longer get bounced to a separate page and lose their spot.
  • • Signing in on your booking page is what makes someone your member. That covers "Continue with Google" and a person who already has a Klasly account from another studio: they are added to your Members list the moment they sign in, and can book classes and services straight away. Someone who belongs to another studio keeps that studio too — nothing is moved.
  • • If your studio is not taking new members (a demo studio, or a plan that is not active), a visitor who signs in is told that in plain words instead of "You are not a member of this studio."
  • • Your join link (the "Join" page a member reaches from Klasly sign-up) now works for people who already have an account: "Sign in" from that page adds them to your studio, and someone already signed in gets a single "Join with this account" button.
More detail

Retreats appear on the calendar too: the Planner now shows your published retreats and workshops alongside classes in every view (List, Month, Day, Week). A multi-day retreat (e.g. "Jul 22–25") shows on every day it runs — not just the opening day — each with a "Retreat" badge and the full date range, so a visitor landing on any day of the retreat still sees it; clicking it opens the full retreat page to book — separate from the class Book pop-up.

Hide someone from the Staff widget: each instructor has a "Show on your website" checkbox (Instructors → edit, just under Website). It's on by default; turn it off for retreat- or event-only staff you don't want listed publicly, and they drop off your site right away even if their profile is filled out. This is separate from "Offers bookable services" below it, which controls the Services tab — the two don't affect each other.

The Classes widget is a catalog of your class types — the name, length, default instructor, price, a description, and (when the class is on the calendar) its next session date and the weekdays it runs. It reads from your active, public class templates (Classes → edit a class), so it's a "menu" of what you offer. Pricing always shows: a class with a fixed drop-in price shows that amount (or "From $X" for sliding scale), while a class sold through a membership shows "With a pass". Each scheduled class has a "See schedule & book" button — in the All-in-one widget it jumps to the Schedule tab pre-filtered to that class so the visitor can pick a date and book; on a standalone Classes embed it links to your schedule.

There's no need to scan it again after that first time — once their account is active, they book, use passes, and see their history straight from the app or your website, just like any member who signs in. One code covers the whole studio; print it once and reuse it for whoever hasn't activated yet.

Check-in QR (print & post): this page has a "Check-in QR" card with one printable code for your reception — it is the studio's single front-desk QR, and its real job is a one-time account activation for the members you imported. A member scans it once, enters their email, and gets a 6-digit code by email; entering the code activates their imported record onto a real account — we email them a link to set a password afterwards — and if they happen to be there for a class today, the same scan checks them into it (using their pass or a credit, exactly like a front-desk drop-in).

Brand-new visitors who aren't members yet don't need a front-desk QR — they sign up through your own website, where your booking widget is embedded. (And for an existing member who hasn't logged in yet, you can also send the per-member "Set up account" QR or link from the Members page or class roster, which connects them to their existing record — also a one-time activation, not a recurring check-in.)

Help Center - Klasly