Your task is to develop a system for the management of common resources of an apartment housing company. Common resources may include saunas, laundry facilities, meeting and hobby rooms, etc. The manager of the company defines the periods for reservations. Both continuous reservations and single period reservations can be made. Reservations for single periods cannot be made earlier than two weeks in advance. Continuous reservations can be canceled at any time. Single period reservation cannot be canceled on the day of reservation or after that day. Each resource has a specific pre-determined length for reservation period (for example 1 hour) and a fixed price for that period. Resources can be used only if there is a reservation (the keyword obtained in making the reservation must be entered in order to unlock the door).
The system makes it possible for the users to bills themselves for the use of resources whenever they want to. The bill will contain charges for all unpaid single period reservations that have been taken place prior to the time of billing. The reference number in the bill will be the largest reservation number among the reservations included in the bill. When the manager receives notification of payment he registers the payment using the reference number of the bill. Continuous reservations are paid in connection of the rent or the maintenance charge.
Only residents are allowed to make reservations and to cancel their own reservations. A password has been assigned for each apartment. The users must use this password to gain access to the system. Users may change their passwords.
The manager of the housing company receives reports on the use of resources and on the payments. The manager may use the system to generate bills for anybody.
Functions: