What's an Account?
Kazoo was designed to support multiple tenants, or customers, on the system. Each customer is self-contained within an account. An account represents phone numbers, users, voicemails, settings and all other components of a single tenant.
Accounts were designed with hierarchies in mind. That's because many people have requested to be able to white-label, resell, and rebrand parts of the platform without having to have a separate copy of the platform. In addition, accounts help define what data belongs in which zone, in case your cluster spans multiple data centers or continents. Accounts can even be used to localize data so that a customer or tenant's protected data (like voicemails) is stored only on a protected server at their location, while call handling can continue in a hosted datacenter.
Each account represents an individual dataset or sandbox that only one tenant can access. The data set is architecturally independent from other tenants.
At it's simplest, accounts can have children (or sub-accounts). In essence this allows for a master account to have sub-accounts, similar to the concept of a company owner having accounts which are it's customers or tenants. Those customers or tenants can also resell services and have sub-accounts, creating a tree.
Things can get more interesting with parent/child accounts. Utilizing the parent/child mechanisms in the platform, accounts can have multiple parents or owners instead of just one. Here's an example:
Note carefully what's changed here. In the above picture, Client 1 and Client 2 for Bob's PBX Company have TWO parents - the reseller and the master account. This implies that both the master account and the reseller can manage Bob's Clients.
Access is Denied By Default
By default, a master account can access it's children, but not their children. In other words, when you create a sub-account, if that user then logs in and creates his/her own sub-accounts, you won't be able to access them. This is intentional - those sub-accounts belong to your customer, not you. This is done for security reasons. For example, your reseller customer could never have their customers data directly harmed by someone who has gotten hold of the master account credentials.
Want to go deeper?