Sticking my big nose in here (having juuuuust signed up as a member). Seems to me the following simplish algorithm[1] does what you need it to do:
-
Make a list of inductees, with the time they joined the list
-
Advertise an induction session say 7 days prior
-
Any potential inductee indicates interest (48 hours)
-
The inductees who want the session who have been waiting longest are asked to confirm (24 hours)
-
If they fail to confirm within 24 hours, the remaining n interested inductees are asked to confirm (where n is the number of spaces still available).
-
If there are still spaces <24 hours, first come first served applies to anyone on the waiting list.
So if someone wants to add themselves to the waiting list because they want to do lathe work some day, that’s fine, they’re not adding to admin overhead, and as they have actually been waiting they’re reasonably assured of being able to get an induction when they do want one.
Re being offputting for new members: it perhaps was a little bit, but doing some digging made it clearer what the situation looked like. I agree with the comment it seems to me something that would be better run through the member control panel than via lists on Discourse, which from what I can see seem to be an admin nightmare.
[1] - this is the same system my old local authority used to allocate council (sorry, social) housing and it worked very well. People only applied for what they wanted and the system was seen to be fair.