IDA logoIda OS
Browse all sections

Trial booking widget

/dashboard/trial-booking

The trial booking widget is a small booking form you embed on your own website so prospective families can book a trial class without first having an Ida OS account. It is the studio's public front door: a parent picks an open trial class, enters their details, and is booked in seconds — and an account is created for them automatically behind the scenes.

Unlike the rest of the calendar, which is for your existing roster, the widget is built for growth. Only the classes you explicitly open for trials appear in it, so you stay in full control of what the public can book.

Opening a class for trials

Trials are offered per class occurrence, so you decide exactly which classes accept them and what (if anything) they cost.

  1. 1Open the calendar and create or edit a class.
  2. 2Turn on 'Allow public trial bookings'.
  3. 3Leave the trial price blank for a free trial, or set an amount to charge for it.
  4. 4Save, then on Trial bookings assign the class under Trial classes for each flow that should offer it (including Main). Until you assign it, it stays off every embed.

Note. Only events of type 'class' can be opened for trials, and only published ones appear. Capacity is respected — once a class is full (existing roster plus trial bookings), it stops being offered.

Trials beyond a single class

A trial does not have to be one drop-in class. On the Trial booking page's Form tab, the Trial step lets you build named trial offers, each with its own price per dancer: a class package (the family picks one of the class series you attach and books the whole series), a class pass (a set number of classes, like a 4-class trial), or a time pass (unlimited classes for a number of days, like 2 weeks unlimited). Leave the price blank for a free trial, and untick Active to hide an offer without deleting it.

Drop-in classes you open for trials and assign under Trial classes appear in that flow's widget alongside these offers, so the family always picks from one list.

Adding the widget to your website

The widget lives under Trial bookings in the My Studio section of the sidebar, in the 'Style & embed' card, with a live preview of the form beside it. You can style it to match your site and copy a ready-made snippet to paste in.

  1. 1Go to Trial bookings in the sidebar and find the 'Style & embed' card.
  2. 2Pick a style: Card, Minimal, Dark, or Compact.
  3. 3Choose an accent color, or leave it on your studio brand color.
  4. 4Watch the live preview update as you adjust the style and color.
  5. 5Click 'Copy embed code' and paste the snippet into your website (Squarespace, Wix, WordPress, or any site that accepts HTML).

Tip. The snippet is a standard <iframe>, so it works anywhere you can add an embed block. The style and color are baked into the snippet — re-copy it if you change them.

Multiple trial flows

A studio can run more than one full trial booking widget. Each flow owns its trial packages and passes, which public-trial calendar classes it offers, which workshops and camps it sells, its questionnaire and agreements, and its own embed URL. Your existing widget becomes the Main flow — its URL stays /embed/your-slug/trial. Additional flows use /embed/your-slug/trial/flow-slug (for example /trial/adult).

Create a flow from the Trial flows bar on Trial bookings, then switch to it to add packages and edit its questions. Packages live inside a flow — to offer the same trial in two places, create it on each flow. After you mark a calendar class 'Allow public trial bookings', assign it under Trial classes on each flow's Form tab — including Main. Unassigned classes stay off every embed.

Workshops and camps can be sold on a flow too: build them on the Workshops page as usual, then tick their registration options under Workshops & camps on the flow's Form tab — a workshop appears there once it is published, visible to families, open to all active dancers, and still has upcoming dates. The public form charges each option's public trial price (set it on the Workshops package form), or the member fee when none is set — and date rules match the member flow, so 'choose your dates' options let the family pick their dates. New families are created automatically, capacity is enforced, and registrations land in Workshops alongside member signups (plus the flow's Responses list). If your studio approves workshop signups before confirming them, signups from the embed arrive as requests the same way, and you collect payment once you approve.

Tip. Use separate flows when Adult classes need different questions or packages than your kids' trial funnel — each flow gets its own embed snippet under Style & embed.

A form for each location

If your studio has more than one location, the Style & embed card gains a Location picker. Leave it on 'All locations' for a single form, or pick a location to make a form that offers only that location's trial classes (classes open at all locations are always included). The form's header carries the location's name and each class shows where it happens — so you can embed a different form on each location's page of your website. Location filtering works inside whichever trial flow you have selected.

Tip. The location is baked into the embed snippet just like the style and color — copy one snippet for each location page.

Design your trial form

The details a family fills in when booking are yours to shape. The Form tab mirrors the widget's own steps — Trial, Session, Dancers, Details — so you edit the form exactly where families will meet it: which contact fields it asks for, plus your own questions — free text or multiple choice, asked once per family or once per dancer — reordered, required, or switched off without deleting them.

Each trial flow has its own questionnaire. Packages and drop-ins in that flow share it. Edit questions on the Dancers and Details steps while the flow is selected (or on the Trial form screen under More in the mobile app for Main).

Agreements and waivers at booking

You can also require agreements as part of a trial booking — medical conditions, photo and social media consent, a liability waiver, or your own custom text. Families accept them while booking, and each booking records exactly what was agreed to.

Like registration policies, each agreement can be conditional: always shown, or shown only when a certain trial package is in the booking (a waiver just for your unlimited pass, say) or only for certain answers to one of your questions. A per-dancer rule shows the agreement once for the whole booking as soon as any dancer in it matches.

Each agreement can carry the full document behind the checkbox: pick a file from your Documents library, or link a page on your website. Either way, families see a 'View full agreement' link on the form and can open the full text right there — no account or sign-in needed. This works the same on registration policies.

Every acceptance stays with the booking it was made on: open the Responses tab on the Trial bookings page and expand a booking to see the family's answers and exactly which agreements they accepted — including the name of the linked document at the time, even if you swap the file later. Policy sign-offs made during registration are kept the same way, on the Registration page's Responses tab.

Note. Linking a document to an active agreement makes it openable by anyone using the booking or registration form, regardless of the document's sharing settings — so link only files you're happy for the public to read.

What happens when a family books

When someone books through the widget, Ida OS finds or creates their family record and adds each dancer as a trial student, then reserves their seats in the class roster. If their email already belongs to a family at your studio, the trial is attached to that existing account instead of creating a duplicate.

A parent can book for more than one dancer at once — and each dancer can pick a different class package or session (for example Tiny Tot for one child and Beginner for another). They add each dancer with their own trial choice, then pay once at checkout for the combined total.

For a free trial, the booking is confirmed instantly and the family is emailed a link to access their new portal account. For a paid trial, the family is sent to a secure Stripe checkout — with applicable GST/HST added on top when your studio collects it; the booking confirms once payment succeeds, and the funds go directly to your connected Stripe account. Seats are held while the family pays, and released again if the checkout is abandoned.

Heads up. Paid trials require your studio's Stripe account to be connected and able to accept charges. If it isn't, paid trial classes won't be bookable until you finish connecting Stripe under Settings → Payments & Bookings.

Letting a family trial again

A family that has already trialed can be invited to try again without going back through your website. In Manage family, set their trial status to Trialing and a 'Book a trial' page appears in their portal — the same trial offers and form, with their dancers already on file — they pick which dancer each trial in the booking is for. The invitation is good for one booking, and if a paid checkout is abandoned it is restored so they can try again. A family becomes a Full member automatically once their registration fee is paid, waived, or comped.