What is the best way to group users in different groups (locations)

Here is our problem, users are from different locations say bangalore, bombai, delhi and kolkata. At the time of registration, they will choose the location and they are allowed to see the properties from that location only. I see, one example is Employee in HR module, but how will they signup? Who will approve them? The workflow is not clear. Any Organization, Will ask the employees or customers to register as particular role and after that admin will approve them, then only they could able to login and see restricted data.

You’ll have to build a custom app or a portal solution on the ERPNext API to support this particular workflow.