Every registration has a clear status from enquiry to completion, and session capacity looks after itself.
A registration moves through the statuses enquiry → reservation → invoicing → paid → completed; it can be cancelled at any time before the end. The system won't let you exceed a session's capacity, you can move a registration to another session in one step, and you handle cancellation requests according to your cancellation terms. When a session changes, participants are notified, and materials reach them before the course.