Yes, a tenant can be a user. (but only one per company)
But the system is unique. Just to get a feel for what is going on, see below.
All users have a Detail and a Main object. The Main object is the login, and the Detail is tied to a particular tenant.
For example, a CPA is invited to work in a company (tenant). But think of QuickBooks. A CPA might be invited to work in 50 differerent companies but you do not want 50 different logins.
So what happens, is when the CPADetail is created by a Tenant, it looks for a CPA Object and if it does not exist it creates one which becomes the way the CPA logs in. When the CPA logs in, he sees all his CPADetail (tenants) he is attached to. So one login, sees all tenants.
I did this for customers, staff, contractors, etc. But believe it or not I forgot how I handled the tenantdetail as I did it a year ago. But it should work the same. A TenantDetail is the user who is attached and creates a tenant company. Then Tenant will have TenantDetails. So basically the Tenant should have 1 login, show all his tenant details which is a company. Just revisiting this now as all the work has been creating the tenantdetail and the rest of the app.
So to answer your question, yes the tenantdetail is a user for a particular company but there can only be one, like an administrator.
So if the tenantdetail is deleted then the company and all objects should be deleted. And if the Tenant main object is deleted then all tenants should be deleted.
I guest the questions comes down to if I want to remove all records for a company, is it ok to have everything owned by the tenantdetail, or let the ownership of the sub objects delete on there own. My feeling is the TenantDetail should own everything, but did not know about overhead, best practices.
One last thing. at one time I was relating Invoice lines to the Customer, and Vlad said, the customer should relate to the header and the header to the lines, and do not relate the lines to the customer. I think this case is different.
Thanks Mark F