I guess this is a suggestion for a contrib module, but I'd like to post it here if I may, where it will receive the widest audience.
Please provide a method for a registrant to make a slot selection for their registration. This might be a time slot, a seating area, a task or something else. This feature has been requested before, but having read all the posts I am not aware of any (non-coders) who have come up with a solution. There are some modules which provide integration with the Calendar module, but they are are all pretty complicated and none of them are designed to work with Entity Registration.
I am proposing a generic methodology, which could be adapted for different use cases.
A selection limit (integer) with a corresponding label, is attached to a registration type. The field would have cardinality=0 and the idea is that when configuring the host registration entity, the sum total of the field item limits should equal the capacity of the registration entity (with validation). The field label then allows for generic usage as in the examples below.
Volunteer example (capacity 10):
(5) Meet and greet
(2) Give out flyers
(3) Promote membership
Timeslot example (capacity 3)
(1) 3pm
(1) 4pm
(1) 5pm
Display of the selection limits would be optional and these values would be related to the 'Spaces Allowed' and 'Allow multiple' selections from the host entity, so that either a checkbox or a form field is displayed to the registrant for picking the number of slots for each selection. When the slot selection limit is reached, the selection will either be greyed out or hidden, leaving the remaining selections as being available.
As you have probably guessed I am not a coder and I don't know where to start here. I had wondered whether the flag module may be a valid approach but can't help thinking that this would be best as a contrib module. Call it registration_selection maybe?
Active
3.0
Registration Core
Not all content is available!
It's likely this issue predates Contrib.social: some issue and comment data are missing.