Project Overview
This project defines the core Object-Oriented Programming (OOP) backbone for a comprehensive Hotel Management System. It establishes the fundamental data structures and logic required to handle two critical categories of individuals within a hotel environment: Guests (customers) and Employees (staff), prioritizing clear data representation, inheritance, and dynamic data collection.
Key Features
OOP Class Hierarchy: Design and implementation of a modular class structure starting with a generic Person base class, with specialized subclasses for Guest and Employee.
Guest Profile Management: Comprehensive fields for handling diverse guest data (Egyptian National ID vs. International Passport), contact info (email, phone), and payment methods (Cash vs. Card detail collection with CVV handling).
Booking & Financial Logic for Guests: Methods to track dynamic data including booking history and real-time account balances, with functionalities for applying discounts and dynamic balance updates.
Staff Management Logic: Dedicated Employee class to manage IDs, specific job titles, salaries, and essential payroll functions like salary updates, bonus applications, and deduction handling.
Dynamic Data Input & Serialization: Implementation of class methods (create_from_input) for interactive command-line data collection and a get_details method that aggregates personal data into a serializable Python dictionary (JSON ready).
Tech Stack & Tools
Python
Core Concepts: Object-Oriented Programming (OOP - Inheritance, Polymorphism, Encapsulation), Command-Line Data Collection, Data Serialization (to dictionaries)