In the bookingtime system, the concept of organizational hierarchy is fundamental to structuring permissions and settings within a network. This article explains how organizations can be managed hierarchically and the types of organizations available within the system.
Structure of Organizational Hierarchy
An organization in bookingtime can function as a root organization or a sub-organization. A root organization is the highest level in the hierarchy, while sub-organizations exist beneath it. This hierarchical setup allows for the distribution of settings and permissions across multiple organizations. For instance, a root organization could represent a national headquarters, while sub-organizations could represent regional or local offices.
The organizational hierarchy is structured as a tree, where each organization can have one or more sub-organizations. This structure supports nested hierarchies, enabling a clear representation of complex networks.
Inheritance of Settings and Permissions
One of the most significant advantages of hierarchical organizations is the inheritance of settings and permissions:
- Settings Inheritance: Settings defined at the root organization level, such as address, booking settings, or time grids, are automatically inherited by sub-organizations unless explicitly overridden.
- Permission Inheritance: Permissions for admins, apps, and modules can also be inherited. For example, if an employee is granted admin rights in a root organization, they automatically receive admin rights in all its sub-organizations.
However, inheritance is additive, not exclusive. This means permissions and settings are layered, and any explicitly defined settings in sub-organizations are combined with inherited ones. For example, an admin in a sub-organization can be granted additional permissions beyond those inherited from the root.
Management of Hierarchies
Developers can use the API to manage organizational hierarchies efficiently. The following operations are supported:
- Create Organizations: Add new root or sub-organizations. Use either:
- addOrganization: creates a new root organization/organization network.
- addRootOrganization: Creates a new root organization that is hierarchically above the old existing organization, turning the old existing organization into a sub-organization.
- addSubOrganization: creates a new sub-organization within the same organization network, hierarchically below the specifed organization.
- Copy Organizations: Duplicate an existing organization’s structure and settings. When onboarding organizations, it may be more efficient to copy an existing template organization rather than creating a new one.
- Move Organizations: Reassign sub-organizations within a hierarchy to adapt to changing business requirements.
- Delete Organizations: Remove an organization (soft deletion) while preserving its records for a defined retention period.
Each organization must be linked to a contract account, which ensures proper billing and licensing management within the network.
Example Use Case
Imagine a company with a hierarchical structure:
- Root Organization: Headquarters
- Sub-Organizations: Regional offices (e.g., North America, Europe)
- Sub-Sub-Organizations: Local branches (e.g., New York, Berlin)
In this setup:
- The headquarters can define global policies, such as branding or working hours, which are inherited by all branches.
- Regional offices can set regional-specific rules, such as public holidays.
- Local branches can override specific settings, such as employee schedules, while still adhering to global and regional rules.
Conclusion
The bookingtime system’s organizational hierarchy is a powerful tool for managing complex networks. With features like settings inheritance, permission management, and API-based configuration, developers can ensure a seamless and efficient organization structure.
Comments
0 comments
Please sign in to leave a comment.