Shift Schedule from Employer -> Employees

I’d like to create a shift schedule for employees whereby I create a monthly schedule, and each shift has the following:
Start time
End time
Description
Role, eg: bartending, portering, parking attendant

Then I’d like to send these options monthly to the staff where they can fill in the shifts they can work. So select themselves on the available shift. I then sit down and confirm them.

Is this possible in Monday? I’ve been playing with boards, but can’t figure out a way to establish how to construct this layout.

Any pro-help is appreciated!