Create a retreat or event

Set up a multi-day retreat with pricing options, installments, and application forms.

Prerequisites

  • Feature: Events & Retreats must be enabled in Settings → Features.

• Role: Owner or Manager

1

Go to Events & Retreats

Click "Events" in the sidebar. Click "Create Event".

2

Set the time zone if the event is away from home

On the event's Edit page there is a "Time zone" field, set to "Same as your studio" by default. Leave it alone for anything you run at your own address. Change it when the event happens somewhere on a different clock — a retreat in another state, for example — because every time belonging to that event is then shown in the zone you pick: the tablet kiosk guests book on, the confirmation and payment emails they receive, the printed day-of sheets, and the schedule you build yourself. Changing it never moves a booking — everyone keeps the exact session they were booked for, and only the clock those sessions are displayed in changes. Your studio's own time zone lives in Settings → Scheduling → Time zone.

3

Fill in event details

Enter the name, dates, location, description, and upload a cover image (JPG, PNG, or WebP — max 5 MB). The description uses a visual editor with a toolbar — add headings, bold/italic, lists, and dividers so a long retreat write-up stays easy to read. When you click the bullet or numbered list button on text with line breaks, each line becomes its own item — handy for turning a pasted "what's included" list into bullets in one click. The formatting carries through to the public event page. You can also add or change the image later from the Edit page.

4

Add pricing options (optional)

Create room options (e.g., "Private Room - $1,200", "Shared Room - $800", "Commuter - $400"). Set capacity for each option. Add one or more photos to each room (JPG, PNG, or WebP — max 5 MB each) so guests can see what they're booking — the first photo is the cover, and the photos show on the public event page and at checkout next to each option. You can also leave this step completely empty and still publish — see the tip below on events with no room options.

5

Add a schedule overview (optional)

In the Schedule step, add free-form text describing the event's daily agenda (e.g., "Day 1: Arrival & welcome circle. Day 2: Morning yoga, afternoon hike."). This appears above the detailed activity timeline on the public event page.

6

Configure payments

Choose "Full payment only", "Installments only" (3 equal payments), or "Both options" so each attendee picks their preferred method at checkout.

7

Set cancellation policy

Define refund tiers (e.g., "90+ days before: full refund", "60-89 days: 50%", "Less than 60 days: no refund").

8

Add an application form (optional)

Attach a custom form for dietary needs, special requests, or emergency contacts.

9

Publish

Set the status to "Published" to make it visible to members. Keep it as "Draft" to continue editing.

Tips
  • Reuse a past event (duplicate): at the very top of the Create Event page there's a blue "Reuse settings from a past event" box. Pick any previous event and it copies everything — name, all room options (and their photos), schedule, cancellation policy, and application form. Only the dates are left blank for you to set — including any early-bird deadline that has already passed, which is cleared so last season's expired deadline can't silently kill the new event's early-bird price. A deadline still in the future is kept. Ideal when you run the same retreat format repeatedly (e.g. the same room offerings season after season).
  • Published events appear as purple banners on the main schedule calendar — both the member-facing schedule and the dashboard calendar.
  • Use "View Public Page" to preview exactly what attendees see — including booking buttons and pricing. Right next to it, "Copy link" copies the public event link to your clipboard so you can paste it straight into an email or message — no need to open the page first.
  • Who can see an event — set it while editing the event, Step 1, under "Who can see this event". PUBLIC puts it on your website and booking widget, where anyone can find and book it. MEMBERS ONLY keeps it off your public site but shows it on the member calendar, and only your members can book it. PRIVATE (link only) keeps it off your site AND off the member calendar: only people you send the link to can reach it, and search engines never see it. Private is the one to use for an event that is not yours to advertise — for example when you are arranging practitioners for a retreat run by someone else. The tablet kiosk and the add-on payment QR codes keep working exactly the same on all three settings, and the Manage page gives you a "Copy private link" button to hand the link out.
  • Events with no room options: the Room Options step is optional — leave it empty and you can still publish. Use this for an event where nothing is booked by the room: one that exists only to sell add-on services (massage, sound bath) at a set place and time, or one another host runs that you are simply listing on your calendar. The public page then shows your description, schedule, gallery and the add-on services, with no Options section and no "Book Now" buttons. On a booking widget the card shows no "from" price and its button reads "View retreat" instead of "Reserve your place". "Book a member" is hidden on the Manage page too, since there is no room to book them into. Add a room option later and all of that comes back automatically. Pair it with PRIVATE (link only) visibility when the event is not yours to advertise.
  • Guests can apply without a Klasly account — great for one-time retreat attendees.
  • Installments are collected automatically. You'll be notified if a payment fails.
  • Pay What You Can per option: in the Edit page, each room option has a Fixed price / Pay What You Can toggle. Pick Pay What You Can to set a Minimum and let the attendee pick any amount in the range at checkout (per person).
  • Room photos: each room option has its own photo uploader — add several shots per room (the first is the cover). They appear beside that option on the public page and in the checkout room picker. Add, reorder by re-adding, or remove photos any time from the Edit page.
  • Share a specific room option: on the public event page, each room option has a "Copy link" button. Click it to copy a direct link to just that option (for example, the "Private Room"). When someone opens that link, the event page automatically scrolls to and briefly highlights that exact option — handy for emailing a guest the room you want them to book. Anyone viewing the public page can use it; no account needed.
  • Photo gallery: in the Gallery & Details step you can upload several venue/activity photos (or paste a link). They show in the gallery on the public event page, and are carried over when you duplicate an event.
  • Save progress at any step: the setup runs across several steps (Basic Info, Gallery & Details, Room Options, Schedule, Payment, Cancellation, Application Form). Use the "Save progress" button at the bottom of any step to save what you've entered so far without leaving the page — so long descriptions and photos aren't lost if you step away. On a brand-new event, give it a name and start/end dates first (Basic Info) and "Save progress" turns it into a draft you can keep editing. If you try to close the tab with unsaved changes, your browser warns you first.
  • Photo size limit: each photo must be JPG, PNG, or WebP. Room photos and gallery photos are automatically optimized in your browser before upload — large phone shots are resized and compressed for you, so you usually no longer need to shrink them by hand. The per-photo ceiling is still 5 MB; if you ever see a "too large" message (for example with an unusual format the browser can't optimize, like HEIC), export a smaller copy under 5 MB. The limit is per individual photo, not a total across all photos.
  • Duplicate from the Events list: each event row has a "Duplicate" action — it opens a new event pre-filled with that event's rooms, photos, schedule, and policy, with the dates left blank. Same as the "Reuse settings" box, one click closer.
  • Required waivers per event: in Basic Info, pick one or more waiver templates members must sign before booking. Existing valid signatures are skipped automatically.
  • Registration deadline (optional): in Basic Info, set a date/time after which members can no longer register. Leave blank to keep registration open until the event begins.
  • Custom confirmation email per event: in Basic Info, tick "Custom confirmation email for this event" to override the studio-wide default. Variables: {memberName} {eventName} {sessionDate} {startTime} {studioName}.
  • Attendees see "Have a discount code?" at checkout. Codes can also auto-apply for tagged members.
  • Add-on services (when the Appointments feature is on): open an event's Manage page to find an "Add-on services" section. Add extra services offered at the event — massage, reiki, therapy, and so on — each with a modality, duration, price, capacity (1 = individual, 2 = couple, more = group), and the practitioners who provide it (with an optional per-practitioner price). Only people marked "Offers bookable services" (Instructors → edit) can be assigned. Owners and managers can both manage these. Click "Schedule" on a service to add its time slots — each slot has a date and time, an optional room label (free text, since retreats often run at outside venues), the practitioner running it, and a capacity (defaults to the service's capacity). Picking a start time fills the end in for you using the service's length, so a day of half-hour slots doesn't mean retyping the date on every row. Practitioners are checkboxes, not a dropdown: tick two of your three therapists and Klasly creates a slot each, at the same time, in one go (a slot holds one practitioner, so three therapists at 1:00 is three slots). Leave every box unticked for a slot any practitioner can cover. Every slot has "Edit" (fix a time, room, capacity, or swap who is running it — bookings already in the slot come with it) and "Duplicate" (copies that time into the add form with the practitioners who aren't on it yet already ticked, which is the quick way to open the same times to the rest of your team). Adding someone who already has a slot at that exact time is skipped rather than duplicated, so you can re-run Duplicate safely. 3–6 services can run in parallel in different rooms at the same time. Once you've added services and slots, click "Tablet kiosk" to open the tablet panel: it shows the guest booking link with a Copy button and a QR code you can scan straight from the iPad. The kiosk page needs no login — your manager account never touches the tablet — and it shows only this event's add-ons. Open the link in a private/guest browser window on the tablet (so no staff account is reachable), and optionally lock the iPad to that page with iOS Guided Access (Settings → Accessibility). Guests tap an open time, enter their name and email, and book themselves in; capacity is enforced so a slot can't be overbooked. Every guest gets a confirmation email straight away with the time, the practitioner, the room and the amount — a retreat guest books on a tablet and walks away with nothing otherwise — plus a pay link if they have not paid yet. Staff bookings made with "+ Add booking" send the same email. Guests who pre-pay online instead get theirs once the payment clears (not while they are still on the Stripe page), and paying later with "Mark paid" does NOT send a second one, so nobody receives two confirmations for one session. After they book, the confirmation screen behaves in one of two ways: a free booking auto-returns to the schedule after about 25 seconds so an unattended tablet resets itself, while a PAID booking keeps its "Pay now" QR code on screen until the guest taps "Done — back to schedule" (or "I'll pay later"), so the code never disappears mid-scan. Guests can also change their own plans without finding staff: a "Manage my booking" button on the kiosk lets a guest enter the email they booked with to see their own upcoming bookings for this event, change the time of one, or cancel it. "Change time" is the one to reach for when someone just wants a different slot — the guest picks the new time first and only then lets go of the old one, so nobody loses their spot to the next person at the tablet while they decide, and their signed waiver and details come with them. Only times costing exactly the same are offered, which is why a PAID session can be moved by the guest too: no money moves either way. Anything that would change the amount, and cancelling a paid session (which means a refund), still says "please see the front desk" — money is only ever moved by staff. This is email-lookup only (there is no login on the tablet) and a guest only ever sees their own bookings. If the new time fills up in the seconds before they confirm, the change is refused and they are told they are still booked at their original time. Either way the guest gets an email with the new details, so the time in their inbox is never the old one. Staff can do more from a slot's "Bookings" panel: "+ Add booking" books a guest in for them (they sign the waiver at their session), "Move" sends an existing booking to any other slot in the event — a different time, a different practitioner, even a different length of service — and "Cancel" frees the seat right away. Use Move rather than Cancel whenever the guest is still coming: cancelling and re-adding retypes their details and throws away their signed waiver. A Move that changes the price of an already-paid session tells you the difference before you confirm and leaves you to settle it on-site; Klasly never refunds or re-charges on a change. If that practitioner has already been paid for the session, Klasly refuses to move it to a DIFFERENT practitioner (the money is with the wrong person) — cancel and re-book instead. Cancelling an already-paid booking does not reverse the practitioner payout; handle any refund on-site. Use the "Waiver" button to set an optional waiver — include your venue name (and therapist names if your insurer needs them); guests must read and sign it (type their name) before booking on the kiosk, and the signed text is saved with their booking. To take payment on-site, open a slot's "Bookings" and click "Mark paid" once a guest has paid — Klasly records it and automatically pays that slot's practitioner their payout share (set on their profile) via Stripe. That automatic payout only runs when three things are in place: your studio has a saved payout card (Settings → Payout), the practitioner has a payout % (Instructors → edit), and they have connected their own Stripe account. If any is missing the booking still records as paid, but their share stays in your Stripe balance and you settle with them yourself — so the Add-on services section warns you, by name, about every assigned practitioner who would not be paid automatically. You do not have to remember to look: a few days before the event starts, Klasly emails you the same list if anything is still missing (a practitioner without a payout %, one who has not connected Stripe, or no studio payout card at all), so it can be fixed before your guests arrive rather than reconciled afterwards. Events with no add-on practitioners assigned are never included. If you would rather pay practitioners yourself with a button instead of having your card charged automatically as guests pay, switch Payouts → "Event add-on payouts" to Manual (in the sidebar under Money; owner or a settings-manager). In Manual mode a paid add-on records the practitioner's share as owed but charges nothing yet; Automatic mode (the default) pays the practitioner the moment each guest pays. Either way, anything a practitioner is owed but hasn't been paid yet — a manual-mode hold, OR a payout whose card charge was declined — shows in ONE amber "N practitioner payouts to pay — $X total" banner in the Add-on services section, listing who is owed how much, with each affected booking in a slot's "Bookings" panel showing "To pay · $X" and a "Pay now" button. Press "Pay all now" (or "Pay now" on a single booking) to charge your payout card and send each practitioner their share; a payout that already went through is never charged twice, so the button is safe to repeat. If the card is declined, Klasly stops the run at that point instead of putting the same dead card through once per booking — the message says how many were not attempted, and those stay owed and ready to retry once the card works. If a previous charge was declined, the banner adds a note ("A previous attempt didn't go through …") with a "Change payout card" link — fix the card there (or in Settings → Payout) before paying. You do not have to be watching the page to find out: whenever an automatic payout is declined, Klasly emails you with who is owed how much and why the card was refused (one email covering everything currently owed, at most once every few hours — never one per booking). When you settle with a practitioner OUTSIDE Klasly — cash at the event, a bank transfer, or a practitioner who never connected Stripe — record it so your books match: click "Paid by hand" on an owed booking, or "Mark settled" on one that says "Pay practitioner yourself". No money moves; the booking simply shows "Settled outside Klasly" and drops out of the owed total. "Undo" puts it back to owed if you clicked it by mistake. This is the same pay-when-ready flow as membership payouts. Guests can also pay themselves by card from the kiosk: right after they book, the "You're booked!" screen shows a "Pay now" QR code they can scan with their phone (there is also a "Pay on this tablet" button), and any unpaid booking in "Manage my booking" has a "Pay now" link too — each booking there shows its price and either a green "Paid" badge or the amount still due, so a guest can see what they owe before deciding to pay. On the pay page they can add an optional tip — the tip goes entirely to the practitioner, on top of their usual payout share — then pay by card. The tip percentages are yours to set: go to Payouts → "Guest tips" (sidebar under Money; owner or a settings-manager) to change the three preset percentages, decide whether guests may type their own amount, or turn tipping off completely so the page shows the session price only. A small preview there shows exactly what the guest will see. Once the card clears, the booking is marked paid and the practitioner payout fires automatically, exactly like on-site "Mark paid" (which stays available for guests paying by cash). To let guests pre-book and pay online BEFORE the event, turn on "Show on public event page" when you add or edit a service: that add-on then appears in an "Add-on services" section on your public event page, where guests pick an open time, enter their details, sign the waiver if you set one, and pay by card right there. Their seat is held while they pay and released automatically if they don't finish; once payment goes through the booking is marked paid and the practitioner payout fires exactly as it does for on-site "Mark paid" — no extra step. The tablet kiosk is unaffected (it stays on-site book → Mark paid), so you can run both at once; leave the toggle off to keep a service kiosk-only. Cancelling an already-paid online booking does not refund automatically — handle refunds in Stripe. Staff have their own payment tools on every unpaid booking (a slot's "Bookings" panel): "Payment link" opens that booking's pay QR with a Copy link button — have the guest scan it after their session, or paste the link into a text — and "Email link to guest" sends it to their inbox (throttled to one send per five minutes). You do not have to chase every unpaid session by hand, either: once a session's time has passed, Klasly emails that guest their pay link automatically — about once a day, at most three times, and never more than a week after the event ends — so people who left without settling still get a nudge. Sending a link yourself resets that day's timer, and the reminders stop the moment the booking is paid or cancelled. To offer 30- and 60-minute versions of the same treatment, create each length as its own service and give both the same "Group" label (for example "Massage"): they then show as ONE card on the kiosk and the public page where the guest picks a length first, and each length keeps its own slot times — no double-booking or double-paying two short slots. Klasly also hard-blocks a practitioner from being booked into two overlapping slots across services (the second guest sees "Unavailable"), and warns you when you save overlapping slots for the same practitioner. Finally, the Tablet kiosk panel has a "Payment QR codes" section: printable codes — one for the whole event plus one per practitioner — that a guest can scan later to look up (by their booking email) anything they still owe, including past sessions, and pay by card with an optional tip. Print one for each practitioner's profile sheet or treatment room. A guest who owes for more than one session does not have to scan again between payments: after each payment goes through, the confirmation screen lists what they still owe and offers a button to pay the next session straight away. When nothing is left, the screen simply says they are booked, exactly as before.