I have a base entity "Organization" that represents an organization (be it a business entity, a baseball team, or a podcast). It is quite generic.
Each of these organizations can have multiple staff, and each staff can be of a different type. We want this to be generic and variable, so that we can have one or many of differnt types of staff (CEO, Waitress, Coach, Personal Trainer, Manager, Board Member). Is there an established way to handle this?
IF not, any feedback on my solution woud be greatly appreciated:
So, I want to represent this by having a "staff" member on the organization. Staff will be a collection of "StaffMember" objects, which in turn are:
StaffMember:
person(a Person object)
organization(an Organization object)(this may not be necessary if StaffMember is only used on an org)
staffType
StaffType:
title(string)
significance(int)
Does this seem okay? The staff type are objects we can create as needed that represent a staff type (Host, CEO, CFO, Board Member, Coach, etc). So a Staff Member knows the person and the type. We are using MongoDB so the "staff" property would likely be an embedded collection of StaffMembers.
I just want to make sure I am not overlooking anything, so any feedback would be greatly appreciated!