Bookings & Sessions
Run a group event or recurring series
Set up a one-time group event, a fixed cohort, or an ongoing rolling series — then edit it, hold registrations for your approval, and manage seats, attendance, and cancellations once people start registering.
A group event lets several clients book the same slot — a workshop, a six-week cohort, a weekly drop-in class. Calso counts the seats, takes the enrollment payments, and keeps the register, so a full room is no harder to run than a single client.
All of this lives under Groups in the sidebar. Each group event gets a card showing its length, seat cap, schedule, and sign-ups, and the pills above them — All, Active, Inactive, Archived — narrow the grid.
Three shapes a group event can take
The two buttons at the top of Groups are + One-Time Event and + Recurring Series, and the second asks you to choose between two kinds of series. The badge on each card says which shape it is.
| Badge | What it is | How the dates work |
|---|---|---|
| Single Event | A workshop or masterclass on one date | You pick the date and time |
| Fixed | A cohort with a start and an end — an eight-week programme | Calso creates every date when you save |
| Rolling | An ongoing weekly class, no end date | Calso keeps a window open and adds dates nightly |
Group session below means one of those dated occurrences.
Create a recurring series
A series is built on one of your event types, which supplies its length and location — so create the event type first. Without one selected, Create Event stays greyed out.
- Open the form
From Groups, click + Recurring Series. Give it a Title a client would recognise, like Wednesday Evening Yoga, and pick the Event Type it runs on. Publicly listed is on by default, which puts it on your booking page rather than behind a direct link.
- Choose fixed or rolling
Under Series Type, pick Fixed series if the programme has a start and an end, or Rolling series if it just keeps going. Set Day of Week, Start Time, and Frequency — Weekly or Biweekly. Fixed then asks for a Start Date and a Number of Sessions, and shows the date it ends; rolling asks instead for a Rolling Window (weeks), which is how far ahead clients can book.
- Set the seats and the price
Max Seats per Session caps each date, not the series as a whole. Then choose a Pricing Mode: Free, Enrollment Only (they buy the whole run), Drop-in Only (they pay per date), or Both, which also shows what enrolling saves against paying week by week.
- Decide on credits and attendance
Turn on Accept package credits if clients holding a package should be able to spend them here, and set Credits per Session. Leave Track attendance per session on if you want a register to tick. Read the day, the time and the frequency back before you click Create Event, along with the session length if you gave the run a fixed number of dates — those are what a series is stuck with. The title, the seats and the price can all be changed later.
Set up a one-time event
+ One-Time Event takes you straight into Edit Group Event — the draft already exists, named Untitled Event, so give it a real Title first. If you change your mind before renaming it, Discard clears the draft away for you.
The Details tab holds the date and time, the Duration, the Location, and the Booking URL with a Copy button beside it. If the slot clashes with something already on your calendar, Calso says Calendar overlap detected and lets you continue anyway. Set Pricing to Free or Paid, add any Waivers, and check the Preview panel. Nothing is live until you press Save; the Active and Public toggles control whether it takes registrations and whether it's listed publicly.
The Access tab narrows the door. Package Only makes the event bookable with package credits alone, so it can't be bought outright. Restrict Access turns it into an invitation list: add the emails allowed to book. Clients holding active package credits come through the list without being added, provided the group event is built on one of your event types — build it that way if you sell packages, because a standalone event stops package holders along with everyone else. The same tab carries Host Approval, covered further down, and a Cancellation Policy override for this one event, covering cancellation windows and fees only — rescheduling is not something clients do on a group event.
The Advanced tab decides what the registration email says. Turn on Custom
Confirmation Email and Calso fills Subject and Body with a draft you
can rewrite into your own welcome — what to bring, where to park, how the first
session runs. Both fields accept placeholders in curly brackets that fill
themselves in as the email goes out: {guestName}, {eventTitle},
{hostName}, {date} and {time} anywhere, plus {duration}, {location}
and {creditsUsed} in the body. Your words sit where the greeting was, and the
schedule, the location, the price and the calendar invite still travel
underneath them, so nobody loses the details by gaining the welcome. It rides on
the registration that confirms itself, though: a registration you held for your
approval gets Calso's standard Booking confirmed email when you press
Approve, so use your own words on the events that take sign-ups directly and
Host Approval on the ones you want to vet. A
one-to-one event type
has the same card on its own Advanced tab, and behaves the same way.
The Capacity card shows the fill — 4/12, a coloured bar, and either 8 open or Full — with the Max field beside it. Below it, Attendees lists everyone who signed up; hovering a row reveals Remove, which opens a dialog with an Issue full refund checkbox and a Reason box. Remove & Notify cancels the seat and emails that client, reason included.
Changing the date of a one-time event that has confirmed attendees raises a Reschedule Event confirmation showing Previous and New. Confirm & Notify emails everyone, updates their calendar entries, and gives each of them a grace period to cancel free of charge, taken from the reschedule deadline in your cancellation policy.
Running a series week by week
Opening a fixed or rolling series shows the run itself: a status badge, an Active toggle, a Cancel event button, an Edit button, and a row of tabs. Three of those tabs are about keeping the series going — who is coming, who attended, which dates are still open — and the fourth, Edit, is the series' own settings, covered in the next section.
Sessions lists every date with its seat count and status. Expanding one reveals its Attendees, each with a tick box for the register if you turned attendance tracking on. Dates flip to COMPLETED on their own once they pass, and a fixed series marks itself finished when the last one is done.
Enrollments appears on fixed series only — everyone who signed up for the whole run, with a Cancel per row for a client who drops out midway.
Notify List collects clients who hit Notify me on a date that was already Full. It's your waiting list: their email, when they asked, and which date they wanted. When a registration on that date is cancelled, Calso emails everyone waiting for it to say a spot opened up, then clears them off the list — the mail has done its job, and nobody is booked automatically. It is first come, first served from there.
Back on the Groups grid, a rolling series card carries Pause, which stops Calso adding dates beyond the ones already published, and Resume, which starts them again. Existing registrations are untouched either way.
Edit a live series
The Edit tab — or the Edit button in the header, which opens the same thing — holds everything about the series except its recurrence. Change what you need across the cards, then press Save changes once at the top. The line beside that button counts the clients already enrolled, as a reminder of who your edit is landing next to.
What changes, and when it takes effect:
| What you change | What it affects |
|---|---|
| Title, colour, descriptions, Booking Page Category | Everywhere at once, including the dates clients have already booked |
| Capacity — the seats-per-session box | Every upcoming date, resized the moment you save |
| Location | Every date in the series, including ones already run — and nobody is emailed about it |
| Pricing, package credits, Package only, Host approval, Restrict to a list, Listed publicly, Track attendance, Post-booking redirect, Custom Confirmation Email | New registrations only |
| Session length | A rolling series only, and only the dates Calso has yet to create |
| The day, the time and the frequency | Read-only |
Capacity is the one Calso will argue with. Raising it opens free seats on every upcoming date; lowering it keeps the seats already taken and only trims what is left. If the new number is below what some date already holds, a red line appears under the box naming the floor — Can't drop below 9, say — and Save changes stays out of reach until you raise the number or cancel some registrations. Dates that have already run keep the capacity they ran with.
Pricing never reaches back. A client who has enrolled keeps the amount they were charged and the number of credits they spent, so a price rise is simply what the next person pays, and a cancellation still returns the credits that registration actually cost.
The Schedule card is where you'd go looking for the day and the time, and it explains why they aren't editable: to move a single date, cancel it on Sessions; to change the pattern itself, build a new series. Session length is read-only there too on a fixed series, which created all of its dates when you saved it and has none left for a new length to apply to.
Hold registrations for your approval
Switch Host Approval on and a group event stops confirming sign-ups by itself: each one waits for your yes. On a one-time event the toggle is Host Approval on the Access tab; on a series it is Host approval on the Edit tab. Either way an Approval badge then marks the card in Groups.
The client's last screen reads Request Submitted rather than a confirmation, and tells them their place is held while they wait. It is: the seat comes out of the count at the moment they ask, so nobody else can take it while you decide. They get no calendar file, and nothing is written to your calendar, until you approve.
Approval holds the registrations with nothing to charge — a free group event, and one paid for with package credits. A client who pays an enrollment or drop-in price is confirmed by the payment and never reaches your queue, so switching approval on for a paid series changes nothing. A package credit is checked when the request arrives, so a client who couldn't cover it is turned away there and then, but it isn't taken until you approve. If they spend their last credit elsewhere in the meantime, Calso declines the request for you and emails them.
You answer on the group event itself, not in Bookings. On a one-time event the waiting client is in the Attendees list under the Capacity card on the Details tab, marked Pending Approval with Approve and Decline beside them. On a series, a waiting drop-in sits in its date on the Sessions tab under a Pending approval badge with the same two buttons, and a waiting sign-up for a whole run sits on the Enrollments tab — which a series only has when you gave it a fixed number of dates. Deciding a seat that came from a series sign-up decides the whole run at once — every date moves together, never one seat. Approve confirms the registration, consumes any credit, adds the client to that date and emails them. Decline opens a Reason box, optional and included in their email, and Decline & Notify releases the seat back to the date — which also lets anyone on the Notify List for it hear that a spot opened up.
Cancelling a group session or the whole event
Three actions, three outcomes — pick the one that matches what you mean.
- Cancel Session, inside an expanded date on the Sessions tab, closes that one date and the registrations on it, and returns any package credits spent. The rest of the series carries on.
- Cancel event, in a series header, is the full stop. Cancel & refund cancels every future date, cancels enrollments and drop-in registrations, and refunds attendees who paid. It can't be undone.
- Archive, on a card in Groups, retires an event quietly: future dates are cancelled and it leaves your booking page, but no money moves. Restore brings it back as a draft, and a draft nobody has signed up to offers Delete instead, which removes it for good.
Whichever you choose, tell the people affected in your own words too — a cancelled class is the moment a client decides whether to come back.
Next, read approve or decline a booking request for the same workflow on your one-to-one sessions, or set the rules underneath all of this: your cancellation policy and waivers.
Frequently asked questions
What is the difference between a fixed series and a rolling series?
A fixed series has a start date and a set number of dates — an eight-week cohort that begins and ends. Calso creates every one of those dates the moment you save it, and clients can sign up for the whole run at once. A rolling series is ongoing with no end date: Calso keeps a window of upcoming dates open for booking and adds new ones each night, so clients drop in on the weeks that suit them.
Can I change the price or the seat count of a recurring series after clients have registered?
Yes, on the series' Edit tab. A new price applies to new registrations only — nobody already registered is re-billed or refunded. A new seat count is applied to every upcoming date the moment you save, keeping the seats already taken, and Calso refuses the change if it would leave a date holding more people than seats. The day, the time and the frequency are the only things that cannot be changed.
Why was a paid group registration confirmed without waiting for my approval?
Because payment settles the seat on its own. Host Approval holds the registrations where nothing is charged at sign-up — a free group event, and one booked with package credits. A client who pays an enrollment or drop-in price is confirmed the moment the payment clears and never reaches your queue. To screen clients for something you charge for, sell it as a package offering and approve the registrations that spend those credits.
Why don't my group registrations show up in the Bookings list?
Bookings only holds one-to-one sessions. Everyone who signs up for a group event is listed on the group event itself, under Groups in the sidebar — on the Attendees list for a one-time event, or on the Sessions and Enrollments tabs of a series. Group registrations are not in the CSV export from Bookings either.