IDA logoIda OS
Login
Browse all sections

Calendar & bookings

/dashboard/calendar

The calendar is the studio's single live schedule. Everything that happens in a room — classes, practices, private lessons, rentals, and workshops — lives here, and families book against it in real time. You can view it by Day, Week, Month, or Agenda, jump to today, and a live line marks the current time.

The Legend button in the calendar's toolbar decodes the colors: click it to see one entry per event type — under the names your studio gives them, including any free event types of your studio's own — plus one per dance level for level-tagged classes. The names, colors, and which types appear at all are yours to change on Settings → Branding, and weeks start on whichever day your studio picks in Settings.

app.idaos.co/dashboard/calendar
The studio calendar in week view showing classes, a private lesson, and a rental, color-coded with a legend
The iPhone app's Calendar tab in week view with a date strip, color-coded event dots, and upcoming classes with open seat counts

Creating a calendar block

Staff build the schedule by adding blocks. Click any empty time slot to open the block editor. (Admins can also ask Ida AI to add, change, or remove a class right from the chat, approving each change before it is saved — see the Ida AI assistant section.)

Blocks are color-coded by type, and classes by their dance level — the Legend button above the calendar opens the full color key. You can rename, recolor, and hide event types in Settings → Branding. Use 'blackout' blocks for closures and holidays so families can see at a glance when the studio is unavailable.

  1. 1Click an empty slot on the calendar.
  2. 2Give the block a title and choose its type: class, practice, private lesson, rental, or blackout — shown under the names your studio has given them — or one of your studio's own free event types, which sit at the end of the picker. Admins can also pick Workshop to open the full workshop/camp form with that date and time already filled in (same flow as the Workshops page); those dates then land on the calendar automatically.
  3. 3For a class, optionally tag one of your studio's dance levels — this color-codes the class by level on the calendar.
  4. 4If your studio has more than one location, choose where the block happens — or leave it on 'All locations' to show it on every location's calendar.
  5. 5Set its visibility — members, public, staff-only, or a private invite where you tick specific families.
  6. 6Enter the start and end times, a member rate (the flat price a family pays to book), an optional external rate, and a capacity. Practice slots are the exception — see the note below. Tick 'Hide seat count from members' if you would rather families just see Available or Full — booking still stops when it fills.
  7. 7Under More options, add a description members can see — what to bring, where to meet, what the class covers. It sits apart from Notes, which stay internal to staff.
  8. 8Assign one or more instructors. Whether families see instructor names is controlled by 'Show instructors to members' in Settings (off by default).
  9. 9To repeat it, set a recurrence (daily, weekdays, weekly, biweekly, or monthly) with an end date. Choosing weekly adds a Days row: tick every day of the week the block meets — Monday and Wednesday, say — and one series is created with a session on each chosen day, all at the same time. Under 'Except these dates', optionally list days to leave out — Christmas, spring break, any week the class doesn't run — and those days simply aren't created. Or choose 'Specific dates' to hand-pick individual days instead.

Note. Practice slots are priced automatically — not by the member rate. Each booking is charged the booking student's plan practice hourly rate × the slot length, so the total can differ per student level (the lowest applicable rate is used for a family). The rate shown on a practice block is only a fallback per-hour rate, used when a booker has no matching plan.

All-day and multi-day blocks

Not everything fits between two clock times. Tick 'All day' on any block to give it inclusive start and end dates instead — one day or many — for feis weekends, camps, and closures. In day and week views, all-day events sit in their own 'All day' lane above the timed grid, with a wash of the event's color across the days they cover; in month and agenda views they lead each day, labeled 'All day'. The option works with every event type and with recurrence, on the web and in the iPhone app, and families see and book all-day events just like any other.

Blackouts clear the schedule for you

When you add a blackout for a closure or a holiday, every class and practice slot that overlaps it comes off the calendar automatically — no cancelling session by session. The confirmation tells you how many were hidden, and the hidden slots stay out of sight for staff and families alike while the blackout stands. A blackout at a specific location only hides classes at that location (plus classes set to 'All locations'); a blackout without a location covers the whole studio. Other event types — workshops, private lessons, rentals — are left alone.

Nothing is lost: delete the blackout and the classes it hid return on their own, and if you change a blackout's dates the schedule follows — newly covered slots disappear and freed ones come back. If an overlapping class or practice already has a booking, pending or approved, Ida refuses to create the blackout until those bookings are cancelled, so no family loses a spot without hearing about it. This works the same on the web and in the iPhone app.

Editing and managing blocks

Open any block to edit its details, change instructors, or delete it. You can delete a single occurrence or an entire recurring series. Duplicate copies a block into a pre-filled form — everything but the date — so repeating last month's masterclass is a couple of clicks, on the web and in the iPhone app. Capacity cannot be set below the number of people already booked, and a block with active bookings cannot be deleted until those are cleared — this protects families who have already signed up.

A repeating class or practice also carries a Days row in its edit form — the days of the week the series meets. Tick a day to add it to every remaining week, or untick one to take that day's upcoming dates off the calendar; past classes are never touched. A series can meet at different times or in different rooms on different days — Monday at 5, Wednesday at 6 — and edits respect that: applying a change to the series copies the title, capacity, and other details to every upcoming class, while a new time, room, or day of the week applies to the weekday you opened, leaving the other days' own times and rooms alone.

The edit form also lists every day the block runs under 'Dates in this series', so you can check a whole series without scrolling the calendar — and you can add or remove days right there. Each date you add uses the start and end times and details from the form, keeps the same instructors (and, for a private block, the same invited families), and joins the series, so series edits and deletes cover it from then on. Adding dates to a one-off block turns it into a series and its roster carries over; dates the series already includes are skipped automatically. To skip a day the series already has — a holiday, a cancelled week — remove its date from the list (click the ✕ on the web, tap the date in the app) and save: that day comes off the calendar and the rest of the series is untouched. A date with an active booking can't be removed until the booking is cancelled, and adding a removed date back before saving simply keeps it. This works the same on the web and in the iPhone app.

Approving who attends

Each bookable event has an attendee roster. You can approve, decline, or remove individual bookings right from the event — and everything waiting on you collects in the Booking Requests tab at the top of the Calendar page. The tab covers your whole studio, not just the week you happen to be viewing: requests awaiting approval sit at the top — each showing when it was asked, the event and when it happens, who asked (and for which student), the amount (admins only), and its payment status — and your approved and declined history follows below, with a 'Load more history' button to page further back. Time suggestions — times families have proposed for practice, a private lesson, or studio rental — keep their own list at the top of the tab.

You can spot waiting requests from anywhere: the tab wears a badge with the count of pending requests, and the same live count sits on Calendar in the sidebar and on the iPhone app's tab bar, updating on its own as requests arrive and get decided. Deciding a request keeps you on the tab, so you can work through the queue without being sent back to the calendar — and pending requests also appear on your dashboard's 'Needs attention' panel, where you can approve or decline without leaving Home.

Approving a request for a priced slot also raises the charge: it appears in Outstanding payments for that family, and the family pays it from their Payments page on the web or in the app. If the booking type is set to Staff approve, then auto-charge, approving also charges the family's card on file (usually the one autopay uses) in the same moment, and the confirmation tells you whether the charge went through. When it can't — the family has no saved card, turned auto-charge off on Payments, or the card was declined — the booking stays approved and the charge simply waits in Outstanding payments; studios collecting GST/HST always leave the charge for the family to pay at checkout, so tax can be calculated from their billing address. Free slots are simply confirmed. Approving a priced request is an admin action — instructors can approve free requests and decline any request, and they work the same queue without the dollar amounts: what a booking costs stays between admins and the family, on the web and in the iPhone app alike.

Every decision reaches the family on its own: approvals, declines, and cancellations go out by email — and as a push notification when the family uses the iPhone app — whether you decide on the web or in the app.

Who's signed up — including weekly practice regulars

Opening a bookable event shows its Signed up list. Staff see the full picture — who signed up, for which dancer, when, the payment status, and the approve and cancel actions — while families see a simple public list of who has signed up and when, with no payment details.

Weekly practices count their regulars, too. At studios where a weekly practice can be Joined from the calendar — the same Join families use for weekly classes — every dancer attending through a Join appears on the Signed up list of each date their Join covers, labeled 'Every week', and counts toward the practice's open spots. So a practice group that attends weekly shows as the full group it is, never as an empty slot. Those rows carry no approve, cancel, or payment actions — a weekly Join isn't a one-off booking, and it is managed from the Join panel on the practice itself, where Leave steps a dancer off the series. A dancer who also books a specific date is listed once, as the booking. This works the same on the web and in the iPhone app, for staff and families alike.

Seeing enrollment at a glance

You don't have to open a class to know how it is filling. With Show enrollment on, every class and group event on the calendar wears a small count right on its chip — enrolled over capacity, like 12/20 — across the calendar's views. Classes count the dancers who actually hold a seat — the roster plus trial bookings — not booking requests, so the number is the class's real enrollment; other group events count their bookings. An event with no capacity limit shows just how many are in, and reserved time, blackouts, and one-spot slots like private lessons stay clean.

The switch sits next to the Legend in the calendar's toolbar on the web; in the app it is under Display behind the calendar's filter button. It starts on, and each browser and phone remembers your last choice separately. The counts are for staff only — families never see them, whichever way the switch is set.

Workshop and camp dates

Dates that belong to a workshop or camp appear on the calendar like any other event. Families who click one open the same package, dancer, and date selection they would from Catalog — and pay once — without hunting for the offering on that page first. If the studio's registration window has closed (or has not opened yet), the date still appears on Full studio, but Open to join hides it, the chip reads Closed, and the event says Registration closed instead of offering Register. Catalog shows Registration closed on the listing too — you do not have to open Choose package to learn the door is shut. Dates a family is already registered for show Registered (or Pending while a request awaits approval) and say 'Included in your booking' when opened, linking back to Catalog. Staff see the roster — one entry per registered dancer — and for admins a Manage in Programs button lands right on the Workshop and pack bookings list of the Programs page; instructors get a View in Workshops button instead and see who is signed up without the prices or amounts. An instructor whose login is also linked to a family can register right from the date too, choosing a package just like any parent. In the iPhone app, tapping a workshop date opens that workshop (and registration) in the app — admins land on Programs instead.

A family holding a rolling class pass keeps seeing that workshop's upcoming dates on their calendar while the pass has uses left — opening one starts the pass booking with that date already picked, so the next class is booked without leaving the calendar or paying again.

Your studio's own free events

Beyond the built-in types, a studio can add free event types of its own — a performance, a show rehearsal, a parade — under Custom free event types on Settings → Branding. Events of a custom type are always free: when staff create one there are no price fields, just a capacity and the usual details, and on the calendar the event wears the name and color the studio gave the type — in the legend, on the event chips, and on its details — on the web and in the iPhone app.

Families sign up for one the same way they book any other slot: open it, pick the student, and confirm — no charge, ever. Whether the spot confirms instantly or goes to staff for a quick review first follows the studio's booking rules for these events; they start on staff review, so a sign-up may show as pending until the studio approves it.

Reviewing time suggestions

When a family suggests a time, it appears under Time suggestions with who asked, the type, the time, and the cost — the same amount the family saw when they sent it. Approve it to publish the slot and book it for that family at that cost: the booking is confirmed right away and the charge lands in their Outstanding payments, so they can pay immediately — or, when you have set new time suggestions to Staff approve, then auto-charge, their card on file is charged as you approve, with the same fallbacks as booking requests: a charge that can't be made waits in Outstanding payments and the booking stays confirmed. Decline it to clear the request instead — either way the family is notified automatically, by email and by push in the iPhone app. Approving and declining are admin actions; instructors can see the list but not decide.

You do not have to keep checking the tab: every admin is emailed the moment a request comes in, and can get a push alert on their phone too. Both are on by default — the email is controlled under Notifications (user menu → Notifications), the push alert in the iPhone app.

The calendar remembers where you were

Web dashboard

Leave the Calendar page and come back — from the sidebar, or after approving a request or finishing a booking — and it picks up where you left off, reopening on the dates you were last looking at instead of resetting to the current week.

Studios with more than one location

If your studio runs more than one location, a location filter appears next to the calendar's view switcher. Staff start on all locations; families start on their own home location and can switch to All locations (or any other location) whenever they like. An event assigned to 'All locations' shows up whichever location you are viewing, and opening any event shows where it happens — on the web and in the iPhone app. Setting locations up is covered on the Multiple locations page of this guide.

On the iPhone app

iPhone app

The Calendar tab shows the same live schedule in Day, Week, Month, or Agenda view. A date strip up top carries colored dots for each day's events, every event card shows its time and type — bookable events also show how many seats are open, with a class's count taken from who actually holds a seat in it — and tapping one opens its full details. Staff add events with the New event button — with the same all-day option, member-visible description, seat-count hiding, and recurrence choices (including the Days row for a weekly repeat that meets more than one day, and 'Except these dates' for skipping holidays) as the web — and admins approve time suggestions and booking requests from cards at the top of the list. Admins can also pick Workshop as the event type to jump straight into the workshop and camp editor with that date and time already filled in. Editing an event shows the same 'Dates in this series' list as the web — with the same options to add more dates to the series or remove dates from it — and, for a repeating class or practice, the same Days row for adding or removing the days of the week it meets. Wherever you hand-pick days in the app — 'Specific dates', 'Except these dates', or adding dates to a series — tap Add a date, choose the day in the sheet that opens, and confirm with Add; each chosen day appears as a chip, and tapping a chip takes it back off the list. Families browse and book the open slots just like on the web, the Suggest a time button proposes practice, a private lesson, or studio rental with the same type choices, dancer pick for private lessons, length shortcuts, and up-front cost as the web, and the same 'Drop in to this class' panel appears on classes a dancer's plan can claim. Your studio's own free event types are in the app too: they appear in the type picker when staff create or edit an event, their events carry the type's name and color across the calendar and home screen, and families sign up for them at no charge, just like on the web.