Our corp., a company active in Online Catering [url removed, login to view] have decided to use Salesforce as a software solution to organize their customers & caterers and keep track of the Events that are being organized. They have asked you to help them get started. Mr. Jason, the company's CIO, has given you the following summary of what is required of the new Salesforce setup:
"We want to be able to differentiate between Accounts of Customers and Accounts of Caterers. For our Caterer Accounts, we also want to show a custom field for their Rating."
"Next, we want to track which Caterings we have organized. A Catering is linked to both a Customer and a Caterer Account, has a Name, Start Date, a Catering Price and a Description where we note the services that are delivered. Each Catering can have multiple Catering Supplies, such as tables, cutlery or decoration. These also have a Name, a Single Price, a Quantity and a Total Price. The sum of all Catering Supplies' Total Prices shall be shown on the Catering object as a Supply Price and be added to the Catering Price to show as a Total Price."
"We also want to make some assertions in our system, so that our data will be cleaner. Could you please make sure that nobody can save a Catering without a Caterer, Customer or Catering Price? Moreover, upon record creation, the Start Date shouldn't lie in the past."
"You understand, caterers are busy people. We would like to send a simple reminder Email to the caterer 12 hours before the Start Date of a Catering, reminding them of the event. Please also include the list of booked Catering Supplies and their Price in this mail."
"Speaking of notifications: whenever a Catering reaches a Total Price of over 1000€, please send a short internal note to our Customer Care(REMOVED BY [url removed, login to view] ADMIN) , so they can give this event extra love."
"Our CEO, Mrs. Tanya wants to have a Dashboard that always shows her the current number of Customer and Caterer Accounts, as well as a graph of the Caterings' Total Price each month."
"One last thing. We know you want to impress us. Remember that reminder we want to send to our Caterers? Please offer the Caterers a way in which they can confirm that they are prepared and store this Caterer Confirmation on the Catering object. We think that it would be nice to publish a small [url removed, login to view] Site for this."
Please make use of a Salesforce Developer Instance ([url removed, login to view]) to prepare a setup that satisfies our requirements.