Centralized hotel booking and management subsystem for standardizing reservations, guest management, and financial reporting across multiple hotel locations in South Africa.
# π¨ Phumla Kamnandi Hotels: Guest Booking Subsystem
### *Systems Design & Development | INF2011S Specification*
---
## π Project Overview
The **Phumla Kamnandi Guest Booking Subsystem** is a centralized hotel management solution designed for a growing empowerment group in South Africa. It standardizes the reservation process, guest management, and financial reporting across multiple hotel locations.
This repository contains the **System Specification** and the **C# implementation** for the first iteration of the project.
---
## π― Key Objectives
* **Booking Lifecycle:** Full support for Making, Changing, and Cancelling bookings.
* **Financial Logic:** Automatic 10% deposit calculation and seasonal pricing.
* **Data Integrity:** Real-time room availability checks and guest verification.
* **Business Intelligence:** * **Occupancy Level Reports:** Identifying trends to maintain >50% profitability.
* **Revenue Analysis:** Tracking financial performance against targets.
---
## π System Architecture
The project utilizes a **3-Tier Architecture** to ensure clean separation of concerns:
1. **Presentation Layer:** WinForms (C# .NET) providing the User Interface.
2. **Business Logic Layer:** Controllers (Booking, Guest, Room, Payment) managing business rules.
3. **Data Access Layer (DAL):** Dedicated DA classes for SQL interactions and data persistence.
### π Database Design (ERD)
The system is backed by a relational database normalized to **3rd Normal Form (3NF)**.
* **Entities:** Guest, Booking, Room, Payment, Rate.
* **Constraint:** 1:M relationships to ensure data integrity and prevent overbooking.
---
## π Installation
1. **Clone the repo:** `git clone
github.com`
2. **Open in IDE:** Use **VS Code**.
3. **Database:** Ensure your connection string in the DA classes points to your local SQL instance.
4. **Build:** Run `dotnet build` or press `F5` in your IDE.
---
## π₯ Team Members
* **Abdallah Elahee** (ELHABD002)
* * β¦