Consider the following scenario then complete the exercises below:
Murphy resorts is the business of leasing apartments in the DFW metroplex. They are in the process of launching a web portal to manage customer leases, rental payments, maintenance, etc. The following requirements need to be met:
1) Customers will be able to search for apartments available to rent (based on criteria like number of bedrooms and bathrooms), view the pricing, setup a tour request and apply for leasing an apartment. Customers will be able to rent apartments on a month-to-month contract, bi-annual or annual contract, subject to the discretion of the management. The rental price will vary depending on the type of contract and other special offers.
2) Once the application to lease an apartment is received, the management will review the applicant's criminal history, driving violations, employment verification and credit history.
3) If an application goes through the review, the apartment lease is approved and an invitation is sent to the customer by email to register for an account with Murphy Resorts. The user will be allowed to register into the system by providing the user ID they would like to login with, password they would like to set, email address, current address, emergency contact person and their address, employer's address and contact information. Upon successful completion of the registration process, the user is immediately presented with a contract showing all the details about the leasing, and the terms and conditions. Customers will be able to sign the contract using the system itself and no manual/paper process will be needed. They will also have to provide a credit card on record at the time of registration which will be used to setup auto-payment to process the rent, with the approval of the customer.
4) Applicants will be requested to deposit a security fee that is equal to a month's rental fee. This will be refunded when the customers lease ends and they leave the property in a clean and repair-free state. If there are cleaning and repairs to be done, the charges will be deducted from the deposit and the balance will be refunded to the customer. If the customer has to incur charges that exceeds the deposit amount, the customers credit card will be automatically charged. This is the only time the customers card will be charged, even if they have opted out of auto-payment. The contract will have a clause that clearly captures the customers acceptance to this condition.
5) The system will auto-process rental charges for those customers that opted for auto-payment on the 10th of every month. If customers opted out of auto-payment, the. system will generate an email reminder on 1st of each month, informing the customers that the rent is due for the month. Customers can pay with their credit card, use an alternate credit card, or pay via paypal before the 10th of the month.
6) The system will show the transaction history to the customer if customers want to print or view the rental receipts from the past.
7) Customers can request preferred parking permits and an additional charge of $50 per month will be applied for those with such permits when the rent is collected. Permits can only be requested at the time of lease and cannot be canceled until the lease ends or gets renewed.
8) Customers can request for repair services using the portal and the system should be able to process these requests. Repair services can be provided only when the customer is at home, unless there is an emergency like fire or flood. In such cases, no authorization will be needed for the repair personnel to enter the house. This will be included in the contract terms and conditions and customers must sign this clause.
9) System will send a notification to customers 2 month before the lease end. In case the customer applies to extend the lease, the system will recalculate the rent based on the rental history and the current offers. This decision should be conveyed with a month after receiving the notification.
10) Administrators should be able to update customer information and send newsletters/ emails to customers on file.
1. Develop a class diagram representing all the business rules described.