Especially if you have a known staff of volunteers where each person have certain known skills. You can create as many roles as needed and assign these roles to the volunteers, then when you create the shiftplan you can designate how many of each role/skill you need for that shift.
Roles are attached to each shiftplan, this is because the roles are used when creating the shifts. In example below we've added 4 different roles to the shiftplan, each role must be assigned to one or more of your volunteers for them to be able to be assigned to the shift.
When creating shifts you will now be able to choose how many volunteers with each role (skill) you need for the specific shift. That way you can make sure that the combination of volunteers for the specific shift matches the need for that timeframe. For example in a bar, you could imagine that the daytime shift would have fewer bartenders on shift, compared to evening/night shifts where the bar is more crowded. All shifts have the option Open Shifts which can be assigned to all volunteers, so you could have a number of open positions and only use roles for the more specific tasks.
For the volunteer the distinction between rolebased shifts and open positions where no role are required is quite easy, the blue buttons below each indicate a rolebase position available, the green buttons are open positions, open to any volunteer.