Ok so it is a bit complicated ... bear with me
In my web application, I have something called "Office" and it has many "Employees". An "Employee" can not exist without an "Office". So in my current employee registration form I prompt the user to fill in some necessary information about his "Office" like [name, address, country, state] and fill in the information about himself [first_name, last_name, email, gender ...etc]. On page submission I create 2 database records one for the "Office" and another for "Employee". Until now everything is running ok. My problem are:
1- When another "Employee" tries to register from a previously registered "Office". He should not have to fill in information for an office that is already registered.
2- There could be some spelling problems for example "Office" name could be "Yahoo" while another person fill it as "Yahoo!". Which might create 2 records for the same Office.
3- I thought of creating a pulldown menu that lists already created offices so users could have the option to create new one or select previously created one. But that would encourage fraud, where people could easily pretend to be "Google" employees while they are not.
How am I going to make the user register with minimal effort and minimal error.