1. Background
(100 marks)
A property management company operating across KwaZulu-Natal (KZN), South Africa, manages
parking facilities for several large shopping malls in the province. These include malls in major
urban areas such as Durban, as well as regional malls in other parts of KZN.
Each mall currently uses its own parking processes and pricing structures. This has resulted in
inconsistent customer experience, limited reporting capabilities, and difficulty in comparing
performance across malls.
The company has requested the development of a Parking Management System that can serve
as a standardised solution across all malls.
You have been appointed to design and develop this system based on the requirements below.
2. System Overview
The Parking Management System must:
• Support multiple shopping malls
• Control system access through user login and authentication
• Track vehicle entry, exit, parking duration, and payments
• Support mall-specific pricing rules
• Generate reports per mall for management
• Store data so that information is retained between program runs
The system must be fully operational, demonstrating all required functionality reliably for testing
and stakeholder presentations.
3. User Roles and Access Control
The system must support three distinct user roles, each with different access privileges.
3.1 Customer (Driver)
A customer represents a person who parks a vehicle at a mall.
Customers must be able to:
• Register an account and create login credentials
• Log in to the system
• Select a mall
• Register vehicle entry and exit
• View parking fees before payment
• Make payments
• View their parking and payment history
3.2 Parking Administrator
A parking administrator manages daily parking operations at a specific mall.
Parking administrators must be able to:
• Log in to the system
• View vehicles currently parked at their mall
• Monitor parking capacity
• View daily parking activity for their mall
3.3 Owner/Shareholder
An owner/shareholder is a management-level stakeholder with oversight across all malls.
Owners/shareholders must be able to:
• Log in to the system
• Access data for all malls
• Generate and view comparative reports across malls
4. Mall and Parking Operations
4.1 Mall Selection
After logging in, users must interact with a specific mall. The system must clearly indicate which
mall is currently active.
Each mall may differ in:
• Parking capacity
• Pricing rules
• Operational characteristics
4.2 Vehicle Entry
When a vehicle enters a mall:
• The system must record the entry time
• The vehicle must be associated with the logged-in customer and the selected mall
• The system must prevent entry if the mall has reached full capacity
4.3 Vehicle Exit
When a vehicle exits:
• The system must calculate the total parking duration
• Parking fees must be calculated according to the mall’s pricing rules
• The amount payable must be displayed before payment is processed
• The system must indicate the type of pricing being applied (e.g., flat rate, hourly rate, or
capped rate)
5. Pricing Rules and System Flexibility
5.1 Mall-Specific Pricing Rules
Each shopping mall applies its own parking pricing policy. The system must fully implement
pricing rules for all malls included in the system.
The system must implement the following three KwaZulu-Natal shopping malls, each with its
distinct pricing structure:
Mall 1: Gateway Theatre of Shopping (Umhlanga, Durban)
• Pricing Structure: Flat Rate
• Fee: R15.00 per visit (regardless of duration)
• Parking Capacity: 250 vehicles
Mall 2: Pavilion Shopping Centre (Westville, Durban)
• Pricing Structure: Hourly Rate
• Fee: R10.00 per hour (or part thereof) o
Example: 90 minutes = 2 hours = R20.00
• Parking Capacity: 180 vehicles
Mall 3: La Lucia Mall (La Lucia, Durban)
• Pricing Structure: Hourly Rate with Daily Cap
• Fee: R12.00 per hour (or part thereof), capped at R60.00 per day o
hours would normally be R84.00, but is capped at R60.00
• Parking Capacity: 150 vehicles
5.2 Design for Future Expansion
The system must be structured so that:
• Pricing rules are clearly separated from other system logic
Example:
7
• New malls or new pricing rules could be added in the future without extensive changes to
the existing program
You are not required to implement additional pricing models beyond those used in the system,
but the system’s structure must clearly demonstrate how such models would be implemented.
6. Payments and Customer Services
6.1 Payment Processing
Customers must be able to:
• View outstanding parking charges
• Make payment for parking
• Receive confirmation of payment
The system must store payment information for later reporting.
6.2 Customer Account Management
Customers must be able to:
• View their parking history
• View previous payments
• Check their current parking status
7. Reporting and Management Information
7.1 Mall-Level Reports
The system must generate reports per mall, including:
• Total number of vehicles parked
• Total revenue generated
• Average parking duration
•
7.2 Cross-Mall Comparison
Owners/shareholders must be able to compare:
• Parking activity across malls
• Revenue generated by each mall
• Differences resulting from different pricing rules
Reports must clearly identify which mall each data set belongs to.
8. Data Storage and Persistence
The system must store and retrieve information such as:
• User accounts
• Mall details
• Parking records
• Payment records
Data must persist between program executions to simulate a real-world system.
9. Deliverables
Students must submit the following:
1. A complete project folder, submitted as a single zipped file
2. The zipped submission must not exceed 50 MB
3. The project folder must contain:
• The complete Python application
• All supporting files required for the system to run (e.g. data files)
Important:
• Submissions consisting of copied-and-pasted code fragments are strictly prohibited
• The submitted project must reflect a cohesive, original solution developed by the
student
PROGRAMMING 511 ASSIGNMENT coding Programming 511 assignment info