I am designing an online database system to display information about advertising packages companies offer. The advertising package the company has signed up for will determine what information it can enter into the database and will ultimately be display during a search.

For the reasons listed above I need to be able limit what fields of a node are able to be edited based on the user. The node will have various fields such as name, address, URL, product description etc. EG. Company A can JUST create a node that has name and address, COMPANY B can do the same but can add a URL and COMPANY C can create a node and fill in all the fields?