Users: In every scope, you can create admin users from scope admin. the company can create users who will get his scope and he can limit his user’s access by defining the user role. same as branch also can create users for doing his task.
Manager/Department Head: this user can be create only under company user because company own the departments. so he will get access from his department employees data only.
Here department is not mandatory. you can create your scope users from here.
Example: you want to create user who will be responsible for company admin task. so login with company credentials and create a user without selecting a department. so that he can access all data under the company.