You have to be very careful before entering into an agreement with a contractor. A professional roofing contractor will give you a written contract before any work is done. Moreover, do not enter into a contract with roofing contractors who only accept cash, demand an advance of the cost, offer a discount on hiring them immediately or pressurize you to sign the agreement.
The contract will have a complete and detailed write up of the job to be performed. Review the details very carefully and see whether everything included in the project has been listed in the agreement. The contract should include a timeline of when the work will be started and finished, the overall cost with an itemized list of roofing materials and labor involved. Your roofing contract should also have information about the name brand of shingles to be used and all warranty details. It should include removing the old roof, installation and clean up.