Skip to content

UniRazak Object-Oriented Programming Course Assignment 2

Notifications You must be signed in to change notification settings

nurulashraf/ur-oop-as2

Repository files navigation

SkyHigh Adventures Booking System

Overview

This is a Python-based booking system for SkyHigh Adventures, a travel agency offering packages to popular destinations. The system allows users to manage bookings for multiple families, calculate costs based on various factors, and display a summary of all bookings.

Features

  • Object-Oriented Design
  • Destination Management
  • Family Booking Handling
  • Dynamic Cost Calculations
  • Booking Summary Display

Getting Started

Prerequisites

  • Python 3.7 or higher

Installation

  1. Clone the repository:
    git clone https://github.com/your-username/skyhigh-adventures-booking.git
    
  2. Change to the project directory:
    cd skyhigh-adventures-booking
    
  3. Run the booking system:
    python booking_system.py
    

Usage

  1. When prompted, enter the family name.
  2. Select a destination option (1-3).
  3. Input the number of adults and children in the family.
  4. Repeat the process for additional families or type 'quit' to finish.
  5. The system will display the total cost for each family in Malaysian Ringgit (MYR).

Project Structure

The project consists of the following key components:

  • BookingSystem: The main class that manages the booking system, destinations, and family bookings.
  • Destination: Represents a travel destination with associated costs.
  • Family: Represents a family booking, including the name, destination, and member details.
  • Person (abstract), Adult, and Child: Classes that handle the cost calculations for different types of family members.

UML Diagram

The project follows an object-oriented design, which is illustrated in the UML diagram below:

SkyHigh Adventures Booking System UML Diagram

Contributing

Contributions, bug reports, and feature requests are welcome. Please follow the standard GitHub workflow (fork, branch, commit, push, and pull request).

License

This project is licensed under the MIT License.

Acknowledgments

  • The initial project requirements were provided by the RCIT 1763 - Object-Oriented Programming course at Bank Rakyat School of Business, Innovation, Technology and Entrepreneurship (BRSBITE).