Skip to content
Gaurav TiwariDocs

Group Sessions and Seat Limits

Updated October 22, 2026

A yoga class, a workshop or a live webinar has fixed start times and more than one seat. A one-to-one calendar doesn’t fit that. In Core Bookings you set it up as a Scheduled group session: you choose the starts, set how many seats each one has, and customers book one or more seats until it fills.

Group sessions are part of the core plugin, so they work without any module. The Classes and events module adds a timetable, ticket types, courses and check-in on top of them.

Create a Group Session

  1. Go to Bookings → Services and add a service or open an existing one.
  2. Set Appointment type to Scheduled group session.
  3. Under Assigned staff, tick the host. Every host you tick runs their own copy of each session.
  4. Set Seats per session, from 1 to 100. This is the default for every start.
  5. Under Scheduled sessions, pick the Timezone for these times, then add one row per start with its date and time. Add session adds a row. Add weekly repeats copies the last session forward by the number of weeks in Weekly repeats of the last session.
  6. Choose the Payment method and Price, then click Save service. For a group session, the price is per seat.

A service can hold up to 366 scheduled starts. The block editor’s Create a service dialog has the same session and seat controls if you’d rather build the service from a page.

Set a Limit for One Session

Sometimes one session needs a different size. The Saturday class might run in a bigger room, or you might want to stop selling an evening slot. The Seat limits by session table lists every scheduled start with its own Seat limit field. Leave a field blank and that session uses the default.

Here’s how it plays out for a service with 6 seats per session:

StartSeat limitResult
10:004This session takes 4 seats.
14:0012This session takes 12 seats.
16:00blankThis session uses the default of 6.
18:000This empty session is closed to bookings and new waitlist requests.
  • Limits are whole numbers from 0 to 100. Clearing a limit restores the default.
  • A limit can’t drop below the seats already reserved. Confirmed bookings and active payment, approval and waitlist holds all count. The save fails and the message tells you how many seats that session already has.
  • To stop selling a session that already has bookings, set its limit to the number already reserved. A limit of 0 only works on an empty session.
  • Raising a limit opens the new seats straight away, including for sessions that sold out earlier.

What Customers See

The booking form shows the seats left beside each available time. After a customer picks a time, a Number of seats field appears with a note such as “4 seats remaining for this session”, and the field won’t go above what’s left.

Those numbers are a snapshot. Two people can look at the last seat at once, so the server checks capacity again under a lock before it accepts the booking. The second person gets a clear “taken” message and nothing is reserved for them. When a customer reschedules, the form only offers times that can fit their whole booking.

You can try it on the WordPress Workshop demo and see per-session limits on the session seat limits demo.

How Seats Are Counted

  • Per host: each assigned staff member has the full limit. Two hosts on a 10-seat session means two sessions of 10, not one shared pool of 10. If you need a shared room or a pool of equipment, use locations and shared resources.
  • Holds count: a booking waiting for online payment holds its seats for about 32 minutes. If the customer doesn’t pay, the hold expires and the seats come back.
  • Cancellations release seats: a cancelled or expired booking frees its seats for the next customer.
  • Late payments are checked: payment confirmation, approval and waitlist claims all check the current limit. A payment that arrives after the session filled goes to payment review instead of overbooking it.
  • Session packs: a pack pays one credit per seat. See session packs and memberships.

Limits

  • A seat limit is a total for the session. It isn’t a quota per ticket type or a cap per order. For “only 10 early bird seats”, use ticket types.
  • Recurring requests are for one-to-one services only. A group service books one session at a time, unless you sell its sessions together as a course.
  • One-to-one services always book a single seat.
  • The seats-left numbers shown to customers can change between page load and booking. The final check happens on the server.
Share

Was this helpful?

Still stuck? Open a support ticket