Live Seat Math: Confirmed Registrations Plus Unexpired Holds
Capacity Is a Product Decision With Teeth
Eight dogs per puppy class is not arbitrary — fire code, trainer attention, room size. Software must enforce the cap where owners enter, not where staff remember.
Components of Live Seats
Confirmed registrations paid and active.
Pending payment within hold window — still consuming a seat because checkout may complete.
Together they equal seats_filled on APIs and roster cards.
Lowering Capacity After Publish
Attempting to set capacity below live occupancy should fail with a clear error — not silently truncate or orphan registrations.
If you must shrink, cancel or transfer specific registrations first, then adjust cap.
Not the Same as Board-and-Train Concurrent Caps
Program-level max concurrent enrollments governs immersive stays sharing kennel runs. Cohort capacity governs seats in a series. Different fields, different enforcement points — confusing them causes either overbooking class or blocking B&T incorrectly.
Scenario
Manager tries to reduce Thursday puppy class from ten to eight after nine live seats. System rejects until one paid registration is cancelled or moved. Manager runs waitlist instead of breaking promises.
Links
Dog training class software owns cohort caps. Board-and-train management software owns concurrent immersive limits. Dog training facility software is the umbrella when both run in one building.