0% found this document useful (0 votes)
24 views31 pages

Tours & Travels Management System Project

Uploaded by

MD SAHNWAJ
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views31 pages

Tours & Travels Management System Project

Uploaded by

MD SAHNWAJ
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

3

DECLARATION

I ____________________________________________, bearing roll no (your roll no), a student of Class XII


A’la Anglaise School hereby declare that I own the full responsibility for the information,
results etc, provided in this PROJECT titled “Tours & Travels Management System". It has
been developed successfully by using the Data Handling concepts like data management,
data visualization etc, provided in the programming language Python at A’la Anglaise School
in complete fulfilment of project (curriculum Of Central Board of Secondary Education CBSE
of Informatics Practices (065) conducted by CBSE. New Delhi for the academic session
(2024-25).
I also declare that this project won has neither been submitted to any other board nor
published at any time by me in the past.

Name : __________________________________________________
Roll No.: ______________________
Class : _____________
4

ACKNOWLEDGEMENT

I take this opportunity to express mv deep sense of gratitude to all those who have been
instrumental in preparation of this project.
I feel great pleasure to express my obligation to (Bijayant Kumar). Principal of A’la
Anglaise School.
I am also sincerely grateful to Baibhav Kumar PGT (Computer Science), A’la Anglaise
School for his encouragement and valuable guidance during the entire period of work.
I would also thank all my parents and friends for their wholehearted support and
encouragement without with this project would not have been successful.
I could not forget Internet. Textbooks which provided me with sufficient matter for
reference.
5

TABLE OF CONTENT

Sr. No. Topic Page No.


1 Introduction 6
2 Problem Statement 7
3 Objective 8
4 Project Scope 9
5 System Requirement and Specification 10
6 Overview of Python 11
7 Comma Separated Value(CSV) 12
8 Project Module 13
9 Data Flow Diagram 14
10 Database Design and CSV File Structure 15
11 Python Source Code 17
12 Program Outputs 30
13 Data Visualization 32
14 Conclusion 33
15 Bibliography 33
6

INTRODUCTION

Introduction to Tours & Travels Management System


The tourism industry thrives on efficient operations and data-driven insights to enhance
customer experiences. Our project, "Tours & Travels Management System" developed
using Python, CSV files, and the Matplotlib library, aims to streamline core operations such
as bookings, tours management, and customer interactions while providing data
visualization for better decision-making.
This project focuses on the following key aspects:
1. Booking Operation
The system facilitates seamless tour bookings, ensuring the real-time recording of
essential details such as customer names, selected packages, travel dates etc.
2. Tours Operation
This module manages tour details, including destinations, available packages,
pricing, and schedules. The system enables easy addition, modification, and removal
of tour packages to keep the offerings updated.
3. Customer Operation
This feature securely handles customer information, supporting actions like adding
new customers, updating their details, and viewing booking histories.
4. Data Visualization
To make the system more insightful, we have integrated data visualization using the
Matplotlib library.
The system leverages Python for its robust programming capabilities and CSV files for
lightweight data storage and retrieval. Data visualization adds a powerful layer of analysis,
enabling stakeholders to make informed decisions based on clear and meaningful
patterns.
Our "Tours & Travels Management System" not only simplifies travel management
operations but also demonstrates the importance of combining data management with
visualization techniques to create impactful solutions in the tourism sector. This project
reflects our understanding of Python programming, file handling, and data visualization in
solving real-world problems effectively.
7

PROBLEM STATEMENT

Problem Statement
The tourism industry is a complex sector that requires efficient management of various
operations, such as bookings, tour scheduling, and customer interactions. Traditional
methods, relying heavily on manual processes or outdated systems, often lead to
inefficiencies, errors, and limited data-driven insights. These limitations create challenges
such as:
1. Booking Inefficiencies: Manual handling of bookings can result in double bookings,
loss of customer data, and difficulty in tracking payment statuses.
2. Tour Management Challenges: Keeping tour details, schedules, and package
offerings up to date is cumbersome and prone to inaccuracies.
3. Customer Data Handling: Storing, retrieving, and updating customer information
manually is time-consuming and error prone.
4. Lack of Insights: Traditional systems lack the ability to analyse data effectively,
limiting insights into customer preferences, booking trends, and revenue
generation, which are crucial for business growth.
To address these challenges, there is a need for a Tours & Travels Management System
that:
 Automates core operations like bookings, tours management, and customer data
handling.
 Provides a reliable and user-friendly platform for managing travel-related activities.
 Incorporates data visualization to analyse trends and patterns, enabling informed
decision-making.
The proposed solution developed using Python, CSV files, and the Matplotlib library, aims
to bridge these gaps by offering a lightweight, efficient, and insightful system tailored to
the needs of the tourism industry.
8

OBJECTIVE

The objective of project is to build an application program to:


1. Automate booking processes for efficient and accurate management.
2. Simplify tour management, including scheduling and package updates.
3. Securely handle customer data for easy access and updates.
4. Use CSV files for lightweight and portable data storage.
5. Incorporate Matplotlib for visualizing booking trends, and popular destinations.
6. Enhance user experience with a simple and intuitive interface.
7. Demonstrate Python programming skills in solving real-world problems.
This application program can be used easily by non-programming personals.
9

PROJECT SCOPE

The "Tours & Travels Management System" is designed to address the operational needs
of travel agencies and customers by automating and streamlining key activities. The scope
of the project includes:
1. Core Functionalities:
o Managing bookings, including recording and updating customer reservations.
o Handling tour operations, such as adding, updating, or removing tour packages,
destinations, and schedules.
o Maintaining customer information for efficient data retrieval and updates.

2. Data Storage:
o Using CSV files for lightweight and easily accessible data storage without the
need for complex databases.
3. Data Visualization:
o Providing visual insights into booking trends, popular destinations, customer
demographics using the Matplotlib library.
4. Technological Integration:
o Leveraging Python’s capabilities, including file handling, modular
programming, and library support, to deliver a robust and scalable solution.
5. Future Enhancement Possibilities:
o Potential integration with payment gateways, real-time notifications, and
advanced analytics tools.
The project is intended to simplify travel management operations, provide valuable
insights, and showcase the practical application of Python in addressing industry-specific
challenges.
10

SYSTEM REQUIREMENT AND SPECIFICATIONS

Software Requirements:
Operating System Window-10 and later versions (32bit, 64 bit)
Language Python
Platform Python IDLE 3.7 (min)
Database CSV file
Database driver MS Excel
Plotting Matplotlib

Hardware Requirements:
Processor Pentium Dual Core (min) 32bit or 64 bit
Hard-Disk 160GB (min)
RAM 1GB (min)

Input/output Requirements:
Input Output
Mouse (any) Monitor (any)
Keyboard Printer (any)
11

OVERVIEW OF PYTHON

Python is a general purpose. dynamic. high-level, and interpreted programming language.


It supports Object Oriented programming approach to develop applications. It is simple
and easy to learn and provides lots of high-level data Structures. Guido Van Rossum is
known as the founder of Python programming.
Features of Python:
 Python is a high-level language. It is a free and open-source language.
 It is an interpreted language, as Python programs are executed by an interpreter.
 Python programs are easy to understand as they have a clearly defined syntax and
relatively simple structure.
 Python is case-sensitive. For example, NUMBER and number are not same in Python.
 Python is portable and platform independent, means it can run on various operating
systems and hardware platforms.
 Python has a rich library of predefined functions.
 Python is also helpful in web development. Many popular web services and
applications are built using Python.
 Python uses indentation for blocks and nested blocks.
12

COMMA SEPERATED VALUE(CSV)

A CSV (Comma-Separated Values) file is a simple and widely used file format for storing
and exchanging tabular data. It is lightweight and compatible with various programming
languages and tools, making it a popular choice for data handling in software applications.
Key Features of CSV Files:
1. Structure:
o Data is organized in rows and columns, with each row representing a record
and each column representing a field.
o Fields in a row are separated by commas (or other delimiters like tabs or
semicolons).
2. Simplicity:
o CSV files are plain text files, making them easy to read and edit using basic text
editors or spreadsheet programs like Microsoft Excel or Google Sheets.
3. Portability:
o CSV files are platform-independent and can be used across different operating
systems and applications.
4. Lightweight:
o They have a small file size compared to other data storage formats, making
them ideal for simple data storage needs.
5. No Complex Structure:
o Unlike databases or XML/JSON files, CSV files do not support nested data
structures, relationships, or metadata.
13

PROJECT MODULES

The "Tours & Travels Management System" is divided into the following key modules to
ensure an organized and efficient workflow:
1. Booking Module: Handles customer bookings, Records details, Allows modification
and cancellation of bookings
2. Tours Management Module: This module helps you to add, modify, and delete tours
and packages
3. Customer Management Module: This module helps you to add, modify, and delete
customer information, including names, contact details, and booking history.
4. Data Storage Module: Uses CSV files to store and retrieve data
5. Data Visualization Module:
 Generates insights from stored data using the Matplotlib library.
 Provides visual representations such as:
o Booking trends over time.
o Most popular destinations/packages.
o Revenue patterns and customer demographics.

These modules work together to deliver a complete and efficient travel management
system, addressing the operational needs of the tourism industry while enhancing user
experience and decision-making capabilities.
14

DATA FLOW DIAGRAM

MENU

DATA
TOURS CUSTOMER BOOKING GUIDE
VISIULIZATION

ADD MODIFY REMOVE SEARCH

CSV File Data Storage


15

DATABASE DESIGN AND TABLE STRUCTURE


[Link]

[Link]

[Link]

[Link]
16
17

PYTHON SOURCE CODE


import pandas as pd
import [Link] as plt

Tours = pd.read_csv("[Link]", index_col='Tour_ID' )


Customers = pd.read_csv("[Link]", index_col='Customer_ID')
Bookings = pd.read_csv("[Link]", index_col='Booking_ID')
Guides = pd.read_csv("[Link]", index_col='Guide_ID')

print("\t ==========================")
print("\t TOUR AND TRAVELS MANAGEMENT SYSTEM ")
print("\t ==========================")

user = input("Enter your user ID: ")


user_pass= input("Enter your Password: ")

if user == "a" and user_pass == "123":


print("\t\t\t\t Welcome ")
print ("\t\t\t\t +++++++++++++++++++++++++ " )
print("\t\t\t\t MENU LIST ")
while True:
print("""
+----------------------------------------------------+
| Op ons | Opera ons |
+----------------------------------------------------+
| 0 |Introduc on to Project|
| 1 |Tour Opera ons |
| 2 |Customer Opera ons |
| 3 |Booking Opera ons |
| 4 |Guide Opera ons |
| 5 |Data Visualiza on |
| 6 |Helpline |
| 7 |Exit |
+----------------------------------------------------+
""")
choice = int(input("Enter any digit fron the above list: "))
if choice ==0:
print("+" + "-" * 120 + "+")
print("|{:^114}|".format(" Welcome to the Tour and Travel Management System"))
print("+" + "-" * 120 + "+")
print("""\n\t\t\t Welcome to the Tour and Travel Management System -
An applica on to manage all the Tours and Travels opera ons. Our system is designed
to manage a variety of opera ons. Ensuring a smooth and memorable:
From tour planning and customer interac ons to bookings, guides, & data Visualiza on
Explore the key features of our
- Tour Plan, modify, and view details Of exci ng tours around the world
- Opera ons: Add, modify, or view informa on about our valued customers.
- Effortlessly make new bookings, modify details, or check exist.
18

- Guide Manage our team of expert guides for an enriched travel experiences.
- Visualiza on: Dive into data with interac ve plots,
- Explore informa on about the least popular tours for a unique travel
- Reach out for assistance with our dedicated helpline providing a
Our system not only streamlines day-to-day opera ons but also offers a glimpse too.
Whether you are a travel enthusiast or a management.
Let's make your travel dreams a reality!
""")
print("+" + "-" * 60 + "+")
elif choice == 1:
print ("\t Tour Opera ons")
print("""
+-------------------------------------------------------------------------+
| Op ons | Opera ons |
+-------------------------------------------------------------------------+
| 1 |Add a new tour |
| 2 |Modify an exis ng tour |
| 3 |Remove a tour |
| 4 |View tour informa on |
| 5 |Top Tours |
| 6 |Least Tours |
| 7 |Back to Main Menu |
+-------------------------------------------------------------------------+
""")
tour_op on = int(input("Choose Your Desired Op on: "))

if tour_op on == 1:
print("\t Adding a New Tour")
tour_name = input("Enter Tour Name: ")
tour_des na on = input("Enter Tour Des na on: ")
tour_price = input("Enter Tour Price : ")
start_date = input("Enter Tour Start Date (YYYY-MM-DD): ")
end_date = input("Enter Tour End Date (YYYY-MM-DD): ")

# Generate a new tour ID


tour_id=[Link]
tour_id=tour_id[-1]
tour_id=tour_id[1:]
tour_id= int(tour_id)+1
tour_id= "T" + str(tour_id)

[Link][tour_id] = [tour_name, tour_des na on, tour_price, start_date, end_date]


Tours.to_csv("[Link]")
print("New Tour Added")
print([Link][tour_id])
input("Press any key to con nue: ")

elif tour_op on == 2:
print("\t Modifying an Exis ng Tour")
tour_id = input("Enter Tour ID: ")
19

if tour_id not in [Link]:


print("No Such Tour Exist")
print("Check Your Tour ID")
input("Press Enter to con nue: ")
else:
print([Link][tour_id])
new_name = input("Enter New Tour Name: ")
new_des na on = input("Enter New Tour Des na on: ")
new_price = input("Enter New Tour Price : ")
new_start_date = input("Enter New Tour Start Date (YYYY-MM-DD): ")
new_end_date = input("Enter New Tour End Date (YYYY-MM-DD): ")
[Link][tour_id] = [new_name, new_des na on, new_price, new_start_date,
new_end_date]
Tours.to_csv("[Link]")
print("Data Changed Successfully")
input("Press Enter to con nue: ")

elif tour_op on == 3:
print("\t Removing an Exis ng Tour")
tour_id = input("Enter Tour ID: ")

if tour_id not in [Link]:


print("No Such Tour Exist")
print("Check your Tour ID")
input("Press Enter to con nue: ")
else:
print([Link][tour_id])
remove_confirm = input("Do you want to remove this tour? (Y/N): ")

if remove_confi[Link]() in "y":
[Link](tour_id, axis=0, inplace=True)
Tours.to_csv("[Link]")
print("Tour Removed Successfully")
input("Press Enter to con nue: ")
else:
print("Tour Not Removed")
input("Press Enter to con nue: ")

elif tour_op on == 4:
print("\t Viewing Tour Informa on")
tour_id = input("Enter Tour ID: ")

if tour_id not in [Link]:


print("No Such Tour Exist")
print("Check your Tour ID")
input("Press Enter to con nue: ")
else:
tour_info = [Link][tour_id]
print(f"Tour Informa on for Tour ID: {tour_id}")
print(f"Tour Name: {tour_info['tour_name']}")
20

print(f"Tour Des na on: {tour_info['tour_des na on']}")


print(f"Tour Price: {tour_info['tour_price']}")
print(f"Start Date: {tour_info['start_date']}")
print(f"End Date: {tour_info['end_date']}")
input("Press Enter to con nue: ")
elif tour_op on == 5:
# Sec on for Top Tours
print("\tTop Tours")
top_tours_ids = Bookings['Tour_ID'].value_counts().nlargest(3).index

#Create a DataFrame with top tour's details


top_tours_df = [Link][top_tours_ids]
top_tours_df['Number_of_Bookings'] =
Bookings['Tour_ID'].value_counts().nlargest(3).values

#Display the DataFrame


print(top_tours_df)
input("Press Enter to con nue: ")
elif tour_op on == 6:
print("\tLeast Tours")
#Check if there are any tours In the Dataframe
if [Link]:
print("No tours available.")
else:
# Find the tour with the minimum number of bookings
least_popular_tour = Bookings['Tour_ID'].value_counts().idxmin()

#Check if the teast_populor_tour exists in the Tours Dataframe


if least_popular_tour not in [Link]:
print("No informa on available for the least popular tour . ")
else:
least_popular_tour_info = [Link][least_popular_tour]
print("Informa on for the Least Popular Tour:")
print(f"Tour ID: {least_popular_tour}")
print(f"Tour Name: {least_popular_tour_info['tour_name' ]}")
print(f"Tour Des na on:
{least_popular_tour_info['tour_des na on']}")
print(f"Tour Price: {least_popular_tour_info['tour_price']}")
print(f"Start Date: {least_popular_tour_info['start_date']}")
print(f"End Date: {least_popular_tour_info['end_date']}")
input("Press Enter to con nue: ")
else:
input("Back to Main Menu, Press Enter to con nue: ")

elif choice == 2:

print("\tCustomer Opera on")


print("""
+-------------------------------------------------------+
| Op ons | Opera ons |
+-------------------------------------------------------+
21

| 1 |Add a new customer |


| 2 |Modify customer informa on |
| 3 |Remove a customer |
| 4 |View customer informa on |
| 5 |Back To Main Menu |
+-------------------------------------------------------+
""")

customer_op ons = int(input("Choose Your Desired Op on: "))

if customer_op ons == 1:
print("\tAdding a New Customer")
customer_name = input("Enter Customer Name: ")
customer_address = input("Enter Customer Address: ")
customer_phone = input("Enter Customer Phone Number: ")
customer_email = input("Enter Customer Email: ")
customer_id = [Link]
customer_id = customer_id[-1]
customer_id = customer_id[1:]
customer_id = int(customer_id) + 1
customer_id = "C" + str(customer_id)
print("Your Customer Id is ", customer_id)
[Link][customer_id] = [customer_name, customer_address, customer_phone,
customer_email]
Customers.to_csv("[Link]")
print("New Customer added")
print([Link][customer_id])
input("Press any key to con nue: ")

elif customer_op ons == 2:


print("\tModifying an Exis ng Customer")
customer_id = input("Enter Customer ID: ")

if customer_id not in [Link]:


print("No Such customer Exist")
print("Check Your customer ID")
input("Press Enter to con nue: ")
else:
print([Link][customer_id])
new_name = input("Enter New Customer Name: ")
new_address = input("Enter New Customer Address: ")
new_phone = input("Enter New Customer Phone Number: ")
new_email = input("Enter New Customer Email: ")

[Link][customer_id] = [new_name, new_address, new_phone,


new_email]
Customers.to_csv("[Link]")
print("Customer Data Changed Successfully")
input("Press Enter to con nue: ")

elif customer_op ons == 3:


22

print("\t Removing an Exis ng customer")


customer_id = input("Enter customer ID: ")

if customer_id not in [Link]:


print("No Such customer Exist")
print("Check your customer ID")
input("Press Enter to con nue: ")
else:
print([Link][customer_id])
remove_confirm = input("Do you want to remove this customer? (Y/N): ")

if remove_confi[Link]() in "y":
[Link](customer_id, axis=0, inplace=True)
Customers.to_csv("[Link]")
print("customer Removed Successfully")
input("Press Enter to con nue: ")
else:
print("customer Not Removed")
input("Press Enter to con nue: ")

elif customer_op ons == 4:


print("\t Viewing customer Informa on")
customer_id = input("Enter customer ID: ")

if customer_id not in [Link]:


print("No Such customer Exist")
print("Check your customer ID")
input("Press Enter to con nue: ")
else:
print([Link][customer_id])
input("Press Enter to con nue: ")

else:
input("Back to Main Menu, Press Enter to con nue: ")

# Similar modifica ons for booking opera ons


elif choice == 3:
print("\tBooking Opera ons")
print("""
+-------------------------------------------------------+
| Op ons | Opera ons |
+-------------------------------------------------------+
| 1 |Add a new booking |
| 2 |Modify booking informa on |
| 3 |Remove a booking |
| 4 |View booking informa on |
| 5 |Back To Main Menu |
+-------------------------------------------------------+
""")

booking_op ons = int(input("Choose Your Desired Op on: "))


23

if booking_op ons == 1:
print("\tAdding a New Booking")
tour_id = input("Enter Tour ID: ")
customer_id = input("Enter customer ID: ")
tour_info = [Link][tour_id]
# Display the available dates for the selected tour
print(f"Available Tour Dates for {tour_info['tour_name']}:")
print(f"Start Date: {tour_info['start_date']}")
print(f"End Date: {tour_info['end_date']}")
# Capture the booking date as the tour's star ng date
tour_info = [Link][tour_id]
booking_date = tour_info['start_date']
want_guid = input("Do you want a guide for this booking? (Y/N): ").lower()

if want_guid == 'y':
print("\nAvailable Guides:")
print (Guides)
guide_id = input(" Enter Guide ID from the list above: ")

# check if the entered guide ID is valid


if guide_id not in [Link]:
print(" Invalid Guide ID. Please Check and try again.")
input("Press Enter to con nue: ")
else:
#Add the booking with the selected guide
booking_id = [Link]
booking_id = booking_id[-1]
booking_id = booking_id[1:]
booking_id = int(booking_id) + 1
booking_id = "B" + str(booking_id)
[Link][booking_id] = [tour_id, customer_id, guide_id,
booking_date]
Bookings.to_csv("[Link]")
print("Booking Added successfully.")
print("\nBooking Confirma on:")
print(f" Thank you for booking with us! Your booking details are as
follows: ")
print(f"Booking ID: {booking_id}")
print(f"Tour Name: {tour_info['tour_name']}")
print(f"Tour Des na on: {tour_info['tour_des na on']}")
print(f"Start Date: {tour_info['start_date']}")
print(f"End Date: {tour_info['end_date']}")
print(f"Booking Date: {booking_date}")
print(f"Guide ID: {guide_id}")
print("Your journey will start from Bhurkunda at 7:00 PM. Have a great
trip!")
input("Press Enter to con nue: ")
elif want_guid == 'n':
#Add the booking without a guide
booking_id = [Link]
24

booking_id = booking_id[-1]
booking_id = booking_id[1:]
booking_id = int(booking_id) + 1
booking_id = "B" + str(booking_id)
[Link][booking_id] = [tour_id, customer_id, "No Guid", booking_date]
Bookings.to_csv("[Link]")
print("Booking Added successfully without a guide.")
print("\nBooking Confirma on:")
print(f" Thank you for booking with us! Your booking details are as follows: ")
print(f"Booking ID: {booking_id}")
print(f"Tour Name: {tour_info['tour_name']}")
print(f"Tour Des na on: {tour_info['tour_des na on']}")
print(f"Start Date: {tour_info['start_date']}")
print(f"End Date: {tour_info['end_date']}")
print(f"Booking Date: {booking_date}")
print("Your journey will start from Bhurkunda at 7:00 PM. Have a great trip!")
input("Press Enter to con nue: ")
else:
print("Invalid input. Please enter 'Y' or 'N'.")
input("Press Enter to con nue: ")

elif booking_op ons == 2:


print("\tModifying an Exis ng Booking")
booking_id = input("Enter Booking ID: ")

if booking_id not in [Link]:


print("No Such Booking Exist")
print("Check Your Booking ID")
input("Press Enter to con nue: ")
else:
print([Link][booking_id])
# Get the new informa on for the bookings
new_tour_id = input("Enter New Tour ID: ")
new_customer_id = input("Enter New customer ID: ")
new_guide_id = input(" Enter New Guide ID: ")

# Placeholder: Add logic for valida ng new tour and customer IDs
if new_tour_id not in [Link] or new_customer_id not in [Link]:
print("Invalid Tour or Customer ID. Please Check and try again.")
input("Press Enter to con nue: ")
else:
#Update the booking informa on
tour_info = [Link][tour_id]
booking_date = tour_info['start_date']
[Link][booking_id] = [new_tour_id, new_customer_id,
new_guide_id, booking_date]
Bookings.to_csv("[Link]")
print("Booking Informa on Modified Successfully")
input("Press Enter to con nue: ")
25

elif booking_op ons == 3:


print("\t Removing an Exis ng Booking")
booking_id = input("Enter Booking ID: ")
if booking_id not in [Link]:
print("No Such booking Exist")
print("Check your booking ID")
input("Press Enter to con nue: ")
else:
print([Link][booking_id])
remove_confirm = input("Do you want to remove this booking? (Y/N): ")

if remove_confi[Link]() in "y":
[Link](booking_id, axis=0, inplace=True)
Bookings.to_csv("[Link]")
print("Booking Removed Successfully")
input("Press Enter to con nue: ")
else:
print("Booking Not Removed")
input("Press Enter to con nue: ")

elif booking_op ons == 4:


print("\t Viewing booking Informa on")
customer_id = input("Enter customer ID: ")

# check if the customer ID exists in customers DataFrame.


if customer_id not in [Link]:
print("No Such customer Exist")
print("Check your customer ID")
input("Press Enter to con nue: ")
else:
# Display the booking informa on for the customer
print("Booking Informa on for customer ID. ",customer_id)
customer_bookings = Bookings[Bookings['customer_id'] == customer_id]

# check if the customer has any bookings


if customer_bookings.empty:
print("No bookings found for the customer ID: ", customer_id)
else:
print(customer_bookings)

input("Press Enter to con nue: ")


else:
input("Back to Main Menu, Press Enter to con nue: ")

elif choice == 4:
print("\tGuide Opera ons")
print("""
+-------------------------------+----------------------------------------+
| Op ons | Opera ons |
+------------------------------+-----------------------------------------+
| 1 |Add a new guide |
26

| 2 |Modify guide informa on |


| 3 |Remove a guide |
| 4 |View guide informa on |
| 5 |Back To Main Menu |
+------------------------------+------------------------------------------+
""")

guide_op on = int(input("Choose Your Desired Op on: "))


if guide_op on == 1:
print("\tAdding a New Guide")
guide_name = input("Enter Guide Name: ")
guide_Language = input("Enter Guide Language ")

# Generate a new guide ID


guide_id = [Link]
guide_id = guide_id[-1]
guide_id = guide_id[1:]
guide_id = int(guide_id)+1
guide_id = "G"+str(guide_id)

# Add the new guide to the Guides DataFrame


[Link][guide_id] = [guide_name, guide_Language]
Guides.to_csv("[Link]")

print("New Guide Added Successfully")


print ([Link][guide_id])
input("Press Enter to con nue: ")

elif guide_op on == 2:
print("\tModifying an Exis ng Guide")
guide_id = input("Enter Guide ID: ")

if guide_id not in [Link]:


print("No Such Guide Exist")
print("Check Your Guide ID")
input("Press Enter to con nue: ")
else:
print([Link][guide_id])

# Get the new informa on for the guide


new_name = input("Enter New Guide Name: ")
new_guide_Language = input("Enter New Guide Language: ")

# Update the guide informa on


[Link][guide_id] = [new_name, new_guide_Language]
Guides.to_csv("[Link]")

print("Guide Informa on Modified Successfully")


input("Press Enter to con nue: ")
27

elif guide_op on == 3:
print("\t Removing an Exis ng Guide")
guide_id = input("Enter Guide ID: ")

if guide_id not in [Link]:


print("No Such Guide Exist")
print("Check your Guide ID")
input("Press Enter to con nue: ")
else:
print([Link][guide_id])
remove_confirm = input("Do you want to remove this guide? (Y/N): ")
print(remove_confirm)
if remove_confi[Link]() in "y":
[Link](guide_id, axis=0, inplace=True)
Guides.to_csv("[Link]")
print("Guide Removed Successfully")
input("Press Enter to con nue: ")
else:
print("Guide Not Removed")
input("Press Enter to con nue: ")
elif guide_op on == 4:
print("\t Viewing Guide Informa on")
guide_id = input("Enter Guide ID: ")

if guide_id not in [Link]:


print("No Such Guide Exist")
print("Check your Guide ID")
input("Press Enter to con nue: ")
else:
print([Link][guide_id])
input("Press Enter to con nue: ")
else:
input("Back to Main Menu, Press Enter to con nue: ")

elif choice == 5:

# Data Visualiza on Op ons


print("\tData Visualiza on Op ons")
print("""
1) Line Piot - Number of Bookings for Each Tour Des na on
2) Bar Plot - Number of Customers in Each Address
3) Histogram - Distribu on of Booked Tours
4) Bar Plot - Bar Plot for Popular Tour Des na ons
""")
viz_op on = int(input("Choose Your Desired Data Visualiza on Op on: "))

if viz_op on == 1:
merged_data = [Link](Tours, Bookings, le _index=True, right_on='Tour_ID')
des na on_counts = merged_data['tour_des na on'].value_counts()
28

des na on_counts.sort_values(ascending=False).plot(kind='line',marker='*',line
style='-',color='r')
plt. tle('Number of Bookings for Each Tour Des na on')
[Link]('Tour Des na on')
[Link]('Nunber of Bookings')
[Link](True)
[Link]()

elif viz_op on == 2:
# Bar Plot
plt.figure(figsize=(8,4))

[Link]('customer_address').size().sort_values(ascending=False).plot(kind='bar')
plt. tle('Number of Customers in Each Address')
[Link]('Customer Address')
[Link]('Nunber of Customers')
[Link]()

elif viz_op on == 3:
# histogram
plt.figure(figsize=(8,4))
Bookings['Tour_ID'].hist(bins=10,color='skyblue',edgecolor='black')
plt. tle('Distribu on of Booked Tours')
[Link]('Tour ID')
[Link]('Nunber of Bookings')
[Link]()
elif viz_op on == 4:
# Bar Ptot for Popular Tour Des na ons
plt.figure(figsize=(10, 6))

# Merge Tours and Bookings Dataframes


merged_data = [Link](Tours, Bookings, le _index=True, right_on='Tour_ID')

# Get the count of bookings for each tour des na on


des na on_counts = merged_data['tour_des na on'].value_counts()

# Plot the bar chart


des na on_counts.sort_values(ascending=False).plot(kind='bar',
color='skyblue')

# Customize the plot


plt. tle('Most Popular Tour Des na ons Based on Number of Bookings')
[Link]('Tour Des na on')
[Link]('Nunber of Bookings')
plt.x cks(rota on=45, ha='right') #Rotate x-axis labels for be er visibility
plt. ght_layout()
# Show the plot
[Link]()
elif choice == 6:
helpline_info = {
'Phone': '974325486',
29

'Email': 'support@[Link]',
'Address': 'Nagar Mahalla, GB Mall, 2nd floor, Bhurkunda'
}
print("\tHe1p1ine Informa on")
print(f"Phone: {helpline_info['Phone']}")
print(f"Email: {helpline_info['Email']}")
print(f"Address: {helpline_info['Address']}")
input("Press Enter to con nue: ")
elif choice ==7:
print("****** THANK YOU ******")
print("****** SEE YOU SOON ******")
break

else:
print("Invalid choice. Please select a valid op on.")

else:
print("Invalid Password!!!")
30

PROGRAM OUTPUT
Main Menu

Tour Menu

Tour Add
31

Add New Customer

Add New Booking


32

DATA VISUALIZATION
33

CONCLUSION
This Tours and Travels Management System is a simple desktop-based application
basically suitable for small organization. It has all basic elements which are used for
managing tour of small organization. We are successful in making the application where
we can insert, delete, update, search and analyse records as per need. This application also
provides a report including chart of tours records to analyse the performance.
We strongly believe that the implementation of this system will surely benefit the
organization.

BIBLIOGRAPHY
References and Bibliography:
 Informatics Practices Class-XII NCERT Publication
 Informatics Practices Class-XII by Preeti Arora
 Think Python by Allen B Downey
 Python for everybody by Charles Severance
 Learning MYSQL by Seyed M. M. Tahaghoghi
 MySQL in a nutshell by Russell J. T. Dyer
 [Link]
 [Link]

Common questions

Powered by AI

CSV files play a crucial role in the "Tours & Travels Management System" by providing a lightweight, easily accessible format for data storage and retrieval. They are platform-independent and can be easily edited in text editors or spreadsheet programs, allowing for efficient data handling without the need for complex databases. This simplicity and portability make CSV files an ideal choice for storing customer, booking, and tour information in the system .

The specific hardware requirements for running the "Tours & Travels Management System" include a Pentium Dual Core processor (32 or 64 bit), at least 160GB of hard disk space, and 1GB RAM. These specs ensure the system can handle data processing and visualization tasks efficiently, supporting the software requirements like Python and Matplotlib on Windows operating systems .

The system requirements, including using Python, CSV, and Matplotlib, influence the "Tours & Travels Management System" design by determining the system's capability to handle large datasets efficiently while providing robust visualization. These requirements ensure that the system is compatible with various platforms, making it versatile and scalable. The choice of Python and its libraries shapes the system's ability to deliver a user-friendly interface and insightful analytics .

The integration of data visualization using the Matplotlib library in the "Tours & Travels Management System" enhances decision-making by providing clear and meaningful patterns in booking trends, popular destinations, and customer demographics. This allows stakeholders to make informed decisions, optimize resources, and tailor services to customer preferences, ultimately contributing to business growth .

Python's architecture supports file handling, making it well-suited for managing data through CSV files, which are lightweight and easy to manipulate. The language's rich library ecosystem, particularly Matplotlib for data visualization and its ability to execute modular programming, enable the development of scalable solutions. This flexibility and functionality make Python an ideal choice for developing the "Tours & Travels Management System" .

The main objectives of the "Tours & Travels Management System" project include automating booking processes for efficiency, simplifying tour management, securely handling customer data, and using CSV files for data storage. It aims to enhance user experience with an intuitive interface and demonstrate the use of Python programming in solving real-world problems. These objectives focus on improving travel management by streamlining core operations and providing insightful data analysis .

The acknowledgment section of a school project report like "Tours & Travels Management System" signifies gratitude towards individuals who contributed to the project's success. It highlights the support and guidance from educators, peers, and family, acknowledging their roles in facilitating the project's development. This section underscores collaboration and external support as vital components in enriching the educational experience .

Future enhancement possibilities for the "Tours & Travels Management System" include integrating payment gateways to streamline transactions, implementing real-time notifications for updates and bookings, and using advanced analytics tools for deeper insights into customer behavior and market trends. These improvements could enhance the system's functionality, making it more comprehensive and user-friendly .

Traditional tour management systems face challenges such as booking inefficiencies, tour management difficulties, and customer data handling issues. Manual booking processes can lead to double bookings, data loss, and difficulty in tracking payments. Managing tour details, schedules, and packages is cumbersome and error-prone. Customer information storage and retrieval are time-consuming. The "Tours & Travels Management System" addresses these by automating operations like bookings and customer data management, and by integrating data visualization for analysing trends, thereby streamlining operations and providing insights for decision-making .

Customer operations in the "Tours & Travels Management System" are managed through features that allow adding new customers, updating their information, and viewing booking histories. This approach ensures data is consistently up-to-date, enhances customer relationship management by providing personalized service, and reduces errors associated with manual data entry, thus improving overall efficiency .

You might also like