A session place is a registrant’s spot in one specific session, such as a talk, workshop, or other scheduled item within an event. It is separate from the person’s event registration: the registration shows they are attending the event, and the session place shows which session they are attending. If a registrant chooses several sessions, they have one event registration and one session place for each session.
How a Session Place Is Created
Staff usually do not create session places directly. After a registrant pays and their registration is fulfilled, Rhythm creates a session place for each session they chose and paid for. This automatically adds the registrant to each session’s attendee list.
A session place includes the registrant’s name and contact details, copied from their contact record when the place is saved. As with other copied event details, Rhythm refreshes that copy only when the session place is saved again. If the contact record changes later, the existing session place keeps the old details until something saves the place again.
A session place can also be marked as imported, such as when you load session attendance from an outside source instead of creating it through the normal registration flow. An imported place does not trigger the sold-out recalculation described below.
What Counts Toward a Session's Capacity
Only active session places count against a session’s capacity. Cancelled places do not count, and places marked as attended do not count. When you cancel or complete someone’s session place, that seat becomes available again.
Waitlisted people count toward the session’s capacity before they have a confirmed place. Because of that, a session can show as sold out even when it has fewer active places than its stated capacity. The remaining seats are effectively being held for the people already on the waitlist.
Why the Sold-Out Flag Can Lag Behind
Rhythm calculates whether a session is sold out after a change to the session or its places. It does not recheck capacity every time someone views the session. The sold-out flag you see is a snapshot from the last recalculation, not a live count.
Warning
Imports and certain changes that deliberately skip this recalculation do not trigger it. If you load a session or session place this way, the sold-out flag can stop matching the session’s current capacity until an ordinary change triggers a fresh calculation. If the sold-out status looks wrong right after an import or bulk load, do not assume it is permanently broken. An ordinary change, such as adding or cancelling a session place the normal way, brings it back in step. Simply re-saving the session itself is also an ordinary change and can trigger this recalculation, so a session that should be sold out but is not enforcing capacity may start behaving correctly again once it is saved.
If a session cannot be saved cleanly, that can also leave its sold-out enforcement out of step until you fix the invalid condition and save the session successfully. For example, this can happen when speaker functionality is turned on but the session is missing a required speaker name.
A session place created by adding someone directly to a session, outside the normal order and registration flow, may not appear in places that report or inspect session attendance from orders. If a registrant’s session information seems to be missing from an order-based view, check whether that person was added to the session manually instead of through their registration.
Example
A workshop has a capacity of 20 and 20 active session places, so it is marked sold out. A registrant cancels their place, and the cancellation is not marked as imported, so Rhythm recalculates the workshop’s sold-out status. Rhythm now finds 19 active places against a capacity of 20, but three people are waiting on the workshop’s waitlist. The workshop still shows as sold out because those waitlisted people count toward the same capacity. Once all three have either been offered and taken a place or dropped off the waitlist without one, the workshop’s sold-out flag clears on the next recalculation.