This is a Restaurant Seat Booking System built using Python and CSV files for data storage. The system allows users to view restaurants, make table reservations, and manage their bookings through a graphical user interface (GUI). The data is stored in CSV files, making it easy to manage and update.
- Restaurant Management: View restaurant details, including name, cuisine type, rating, location, and operating hours.
- User Management: Manage user information and their booking history.
- Booking Management: Make, view, and cancel reservations.
- GUI Interface: A user-friendly interface to interact with the system.
The system uses the following CSV files to store data:
-
restaurants.csv: Stores restaurant information.
- Columns:
restaurant_id,name,cuisine_type,rating,location,total_tables,table_configuration,opening_hours,closing_hours
- Columns:
-
users.csv: Stores user information.
- Columns:
user_id,name,email,phone_number
- Columns:
-
bookings.csv: Stores booking records.
- Columns:
booking_id,user_id,restaurant_id,date,time,table_id,party_size,status
- Columns:
- Python 3.x
tkinter(for GUI)csv(for handling CSV files)tkcalendar(for date selection)
- Restaurant Display Section: View and filter restaurants by cuisine type, rating, and search terms.
- Booking Section: Make reservations by selecting a date, time, party size, and table.
- User Management Section: View and cancel existing bookings for the selected user.
- List View: Displays all restaurants with their name, cuisine type, and rating.
- Filters: Filter restaurants by cuisine type and minimum rating.
- Search Bar: Search for restaurants by name, cuisine type, or location.
- Table Selection:
- Select a date and time.
- Enter the party size.
- View available tables and select one.
- Booking Confirmation:
- Review booking details.
- Confirm the reservation and receive a booking ID.
- View Current Bookings: View all active bookings for the selected user.
- Cancel Booking: Select a booking to cancel and confirm the cancellation.
- gui_component.py: The main script that launches the GUI.
- restaurant_classes.py: Contains the
RestaurantandUserclasses. - restaurant_functions.py: Contains utility functions for loading data, filtering restaurants, and managing bookings.
- restaurants.csv: CSV file storing restaurant data.
- users.csv: CSV file storing user data.
- bookings.csv: CSV file storing booking records.
Note: This is a basic implementation of a Restaurant Seat Booking System. It can be extended with additional features like user authentication, advanced search, and more.