How to structure information when the top-level role may also be the lower-level role?
Let's say we have a list of subcontractors. Now subcontractors can either 1) hire workers to do the manual work or 2) do the manual work themselves (they're subcons who are also carpenters).
Normally, the hierarchy would be:
Subcontractor has Carpenters / Workers
Means if I will create a list of Subcontractors, they will have a column called Workers, which lists the Workers under them. This is straightforward. When I click John Smith, I will go to a Subcontractor Information page. When I click on the Workers, I will go to a Worker Information page (which have different content). Subcontractors have billing information, list of Workers, etc. while Workers have licenses, work passes, works under a Subcontractor, etc. See below:
Now my problem comes when the Subcontractor is also the Worker as in below:
Do I have 2 records of the same John Smith in the database? One as a Worker and one as a Subcontractor? It's a bit odd that I can click on both same persons but different profiles and different occurances but am not sure how else to structure it?
OR, do I do away with the Subcontractor list and just have a Worker list, which has a property of them being a Subcontractor also. If they are a Subcontractor, in their profile, they will have additional tabs for being a Subcontractor.