Classes and group sessions
A class is one session with several attendees. A yoga class, a workshop, a group treatment.
The Classes screen
The timetable and the register sit on one screen, because the question you actually have is "who is coming to the 6pm" and not "what classes exist".
Places left is the loudest thing on a card. It is the number you scan for.
On the calendar
A class draws as one block, not one per attendee, and the instructor appears once. A class blocks a one to one booking on top of it, and a one to one blocks a class. Both directions, so nothing gets double sold.
Filling a class
Places cannot be oversold. If two people take the last place at the same moment, one gets it and the other is told the class is full. They are told it is full, which is different from being told it was cancelled, and different again from something having gone wrong.
Attendance
Mark someone a no show and their place is released, so it can be filled again. Cancel an attendee and they leave the register while the record of who dropped out survives.
On your booking page
A Classes tab appears when you run classes, showing time, instructor, price and places left.
The public list never names other attendees, and a class whose service is not online bookable stays private.
Reminders and the portal
Every attendee gets their own reminder email rather than one shared message.
In the client portal a class shows among their visits. They can give up their place, which releases only theirs. Rescheduling is refused, because moving a class would move it for everyone.
In reports
A class counts as one block with several people in it, and its value as the number of attendees multiplied by the price.