Multitenancy
Overview
Multitenancy is a reference to the mode of operation of software where multiple independent instances of one or multiple applications operate in a shared environment. The instances (tenants) are logically isolated, but physically integrated.
Terms
- Person - Physical person with name, contacts (email, address, phone number, etc.)
- User - Authentication entity. User account are login data for users and data for access to tenants, organizations.
- Tenant - Logical container for data of one Company.
- Organization - Organization of Company.
Rules
- One Person can have multiple User accounts.
- User account always connected with one Person.
- Tenant contains one or more Organizations.
- Only one tenant can be selected at a time on User account.
- Selected Organization can be override by custom headers per request.
Tenant data isolation
One user one Tenant access
Isolation of the user to the database. Two users and each have access to their tenant's data and both have access to common non-tenant data.

One user multiple Tenant access
One user account can have access to multiple tenants.

Relationships of users, tenants and organizations
