I have a course we interview people for. We have interview days, divided in to ~ 2 hour blocks of time. In each block of time we can interview 4 people concurrently.
I want to assign applicants to an interview block, with the condition that an applicant can only be assigned to exactly one interview block.
So far my model looks like:
- Application (name, skills, etc)
- Interview day (interview date, location)
- Interview block (block start time)
Each Interview day connects with many Interview blocks.
Each Interview block connects with one Interview day.
Each Application connects with one Interview block.
Each Interview block connects with many Applications.
This appears to work, except that it's possible to assign the same Application to more than one Interview block simultaneously.
This is a problem -- an Application should only ever be associated with exactly one Interview block, other we risk signing the applicant up for multiple interviews.
How do I prevent this?