0% found this document useful (0 votes)
13 views8 pages

Python Railway Reservation System

The document contains a Python code for a railway reservation system that includes functionalities for user login, searching trains, booking tickets, canceling tickets, and printing tickets. It also includes SQL code to create a database and tables for storing train and booking information. The system allows users to interactively manage their train reservations through a command-line interface.
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)
13 views8 pages

Python Railway Reservation System

The document contains a Python code for a railway reservation system that includes functionalities for user login, searching trains, booking tickets, canceling tickets, and printing tickets. It also includes SQL code to create a database and tables for storing train and booking information. The system allows users to interactively manage their train reservations through a command-line interface.
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

PYTHON CODE

import [Link]

import random

from datetime import datetime

# LOGIN SYSTEM

def login():

username = input("Enter Login ID: ")

password = input("Enter Password: ")

if username == "admin" and password == "1234":

print("\nLogin Successful!\n")

return True

else:

print("\nIncorrect Login Details!")

print("Please Create ID")

print("Use → Username: admin, Password: 1234\n")

return False

# MYSQL CONNECTION

mydb = [Link]( host="localhost",user="root",


password="your_mysql_password",database="railway")

cur = [Link]()
# SEARCH TRAIN

def search_train():

src = input("Enter Source Station: ")

dst = input("Enter Destination Station: ")

query = "SELECT * FROM trains WHERE source=%s AND destination=%s"

[Link](query, (src, dst))

data = [Link]()

if data:

print("\nAvailable Trains!")

for row in data:

print(row)

else:

print("\nNo Trains Found!")

# BOOK TICKET

def book_ticket():

train_no = int(input("Enter Train Number: "))

seats = int(input("How many seats?: "))

[Link]("SELECT fare FROM trains WHERE train_no=%s", (train_no,))

result = [Link]()

if result:

fare = result[0]

total = fare * seats


pnr = [Link](100000, 999999)

booking_date = [Link]().strftime("%d-%m-%Y %H:%M")

print("\nEnter Passenger Details:")

passenger_info = ""

for i in range(1, seats + 1):

print(f"\nPassenger {i}:")

name = input("Name: ")

age = input("Age: ")

gender = input("Gender: ")

passenger_info += f"Passenger {i}: {name} (Age: {age}, Gender: {gender})\n"

if i == 1:

main_passenger_name = name

main_passenger_age = age

query = """INSERT INTO bookings

(pnr, train_no, passenger_name, age, seats, total_fare, passenger_details)

VALUES (%s, %s, %s, %s, %s, %s, %s)"""

values = (pnr, train_no, main_passenger_name, main_passenger_age,

seats, total, passenger_info)

[Link](query, values)

[Link]()

print("\nTicket Booked Successfully!")


print("PNR Number:", pnr)

print("Total Fare:", total)

print("Booking Date:", booking_date)

else:

print("Invalid Train Number!")

# CANCEL TICKET

def cancel_ticket():

pnr = int(input("Enter PNR Number: "))

[Link]("SELECT * FROM bookings WHERE pnr=%s", (pnr,))

result = [Link]()

if result:

[Link]("DELETE FROM bookings WHERE pnr=%s", (pnr,))

[Link]()

print("Ticket Cancelled Successfully!")

else:

print("PNR Not Found!")

# PRINT TICKET

def print_ticket():

pnr = int(input("Enter PNR Number: "))


[Link]("SELECT * FROM bookings WHERE pnr=%s", (pnr,))

data = [Link]()

if data:

print("\n--- Ticket Details ---")

print("PNR:", data[0])

print("Train No:", data[1])

print("Main Passenger:", data[2])

print("Age:", data[3])

print("Seats Booked:", data[4])

print("Total Fare:", data[5])

print("\nAll Passenger Details:")

print(data[6])

else:

print("Ticket Not Found!")

# MAIN MENU

def menu():

while True:

print("\n----- RAILWAY RESERVATION SYSTEM -----")

print("1. Search Train")

print("2. Book Ticket")

print("3. Cancel Ticket")

print("4. Print Ticket")

print("5. Exit")

choice = int(input("Enter choice: "))


if choice == 1:

search_train()

elif choice == 2:

book_ticket()

elif choice == 3:

cancel_ticket()

elif choice == 4:

print_ticket()

elif choice == 5:

print("Thank you!")

break

else:

print("Invalid Choice!")

# PROGRAM START

print("----- RAILWAY RESERVATION SYSTEM -----")

if login():

menu()

else:

print("Please Restart and Login Again.")


SQL CODE
CREATE DATABASE railway;
USE railway;
CREATE TABLE trains (
train_no INT PRIMARY KEY,
train_name VARCHAR(50),
source VARCHAR(40),
destination VARCHAR(40),
fare INT
);
INSERT INTO trains VALUES
(101, 'Mumbai Express', 'Mumbai', 'Delhi', 550),
(202, 'Konark Express', 'Mumbai', 'Bhubaneswar', 450),
(303, 'Chennai Mail', 'Chennai', 'Bangalore', 300),
(404, 'Rajdhani Express', 'Delhi', 'Kolkata', 900),
(505, 'Kerala Sampark', 'Kochi', 'Mumbai', 650);

CREATE TABLE bookings (


pnr INT PRIMARY KEY,
train_no INT,
passenger_name VARCHAR(50),
age INT,
seats INT,
total_fare INT,
passenger_details TEXT
);

You might also like