├── Airlines.py ├── README.md ├── airoplane.gif ├── airoplane1.gif ├── flight.jpg └── flight_db /Airlines.py: -------------------------------------------------------------------------------- 1 | from tkinter import * 2 | from tkinter.messagebox import * 3 | import sqlite3 4 | root=Tk() 5 | root.title("intro") 6 | con=sqlite3.Connection('flight_db') 7 | cur=con.cursor() 8 | cur.execute("create table if not exists airlines(user_name varchar(20) primary key,first_name varchar(20),last_name varchar(20),phone_number number(10),email varchar(30),passw varchar(20))") 9 | 10 | fr2=Frame() 11 | fr2.pack(side=LEFT,expand=1) 12 | Label(fr2,text="Project Submitted By:-",font=("algerian",38),compound="center",fg="Orange").pack() 13 | Label(fr2,text="Aayush Agarwal (RA1611008010048)",font=("Bauhaus 93",14),fg="Red",compound="center").pack() 14 | 15 | def airline(): 16 | root.destroy() 17 | root1=Tk() 18 | root1.title("Booking Portal") 19 | b=PhotoImage(file="airoplane.gif") 20 | Label(root1,image=b).grid(row=0,column=0,columnspan=4) 21 | Label(root1,text="Welcome to Airline Booking System",font=("Bauhaus 93",17),fg="Red",width=46,bg="White").grid(row=0,column=0,columnspan=4) 22 | Label(root1,text="Flights Availability",font=("Bauhaus 93",17),fg="White",width=46,bg="red").grid(row=1,column=0,columnspan=4) 23 | Label(root1,text="Select Pick Up Point",font=("Bauhaus 93",14),fg="Blue").grid(row=2,column=1) 24 | variable = StringVar(root1) 25 | variable.set("Select Source") # default value 26 | w = OptionMenu(root1, variable, "Delhi", "Kolkata", "Mumbai","U.S.A","Canada") 27 | w.grid(row=2,column=2) 28 | Label(root1,text="Select Boarding Point",font=("Bauhaus 93",14),fg="Blue").grid(row=3,column=1) 29 | variable1 = StringVar(root1) 30 | variable1.set("Select Destination") # default value 31 | w = OptionMenu(root1, variable1, "Delhi", "Kolkata", "Mumbai","U.S.A","Canada") 32 | w.grid(row=3,column=2) 33 | #Sign In 34 | def signup(): 35 | def success(): 36 | user = user_name.get() 37 | cur.execute("select user_name from airlines where user_name=(?)", (user,)) 38 | a = cur.fetchall() 39 | if a != []: 40 | showerror('Error',"Username Already Exists") 41 | else: 42 | l = (user_name.get(), first_name.get(), last_name.get(),phone_number.get(),email.get(), passw.get()) 43 | cur.execute("insert into airlines values(?,?,?,?,?,?)",l) 44 | showinfo('Signed Up',"Congratulation You are Successfully Signed Up") 45 | con.commit() 46 | user_name.delete(0,20) 47 | 48 | first_name.delete(0,20) 49 | last_name.delete(0,20) 50 | phone_number.delete(0,10) 51 | email.delete(0,30) 52 | passw.delete(0,20) 53 | root1.destroy() 54 | root=Tk() 55 | root.title("Sign Up") 56 | d=PhotoImage(file="airoplane.gif") 57 | Label(root,image=d).grid(row=0,column=0,columnspan=4) 58 | Label(root,text="Welcome to Airline Booking Systems",font=("Bauhaus 93",17),fg="Red",width=46,bg="White").grid(row=0,column=0,columnspan=4) 59 | Label(root,text="Sign Up",font=("Bauhaus 93",17),fg="White",width=46,bg="red").grid(row=1,column=0,columnspan=4) 60 | Label(root,text="Username*",font=("Bauhaus 93",14),fg="blue").grid(row=2,column=1) 61 | user_name=Entry() 62 | user_name.grid(row=2,column=2) 63 | Label(root,text="First Name",font=("Bauhaus 93",14),fg="blue").grid(row=3,column=1) 64 | first_name=Entry() 65 | first_name.grid(row=3,column=2) 66 | Label(root,text="Last Name",font=("Bauhaus 93",14),fg="blue").grid(row=4,column=1) 67 | last_name=Entry() 68 | last_name.grid(row=4,column=2) 69 | Label(root,text="Phone Number",font=("Bauhaus 93",14),fg="blue").grid(row=5,column=1) 70 | phone_number=Entry() 71 | phone_number.grid(row=5,column=2) 72 | Label(root,text="Email",font=("Bauhaus 93",14),fg="blue").grid(row=6,column=1) 73 | email=Entry(width=30) 74 | email.grid(row=6,column=2) 75 | Label(root,text="Password*",font=("Bauhaus 93",14),fg="Blue").grid(row=7,column=1) 76 | passw=Entry(root,show="*") 77 | passw.grid(row=7,column=2) 78 | Button(root,text="Sign up",fg="white",bg="red",font=("algerian",10),command=lambda: success()).grid(row=8,columnspan=5) 79 | def signin(): 80 | root.destroy() 81 | root2=Tk() 82 | root2.title("Sign In") 83 | b=PhotoImage(file="airoplane.gif") 84 | Label(root2,image=b).grid(row=0,column=0,columnspan=4) 85 | Label(root2,text="Welcome to Airplane Booking System",font=("Bauhaus 93",17),fg="Red",width=46,bg="White").grid(row=0,column=0,columnspan=4) 86 | Label(root2,text="Sign In",font=("Bauhaus 93",17),fg="White",width=46,bg="red").grid(row=1,column=0,columnspan=4) 87 | Label(root2,text="Username*",font=("Bauhaus 93",14),fg="blue").grid(row=2,column=1) 88 | user_name=Entry() 89 | user_name.grid(row=2,column=2) 90 | Label(root2,text="Password*",font=("Bauhaus 93",14),fg="Blue").grid(row=3,column=1) 91 | passw=Entry(root2,show="*") 92 | passw.grid(row=3,column=2) 93 | def bookingportal(): 94 | usr = user_name.get() 95 | passs = passw.get() 96 | cur.execute("select * from airlines where user_name=(?) and passw=(?)", (usr, passs,)) 97 | a = cur.fetchall() 98 | if a==[]: 99 | showerror('Log In Failed', "Invalid Username or Password") 100 | else: 101 | root2.destroy() 102 | root4=Tk() 103 | root4.title("Booking Portal") 104 | Label(root4,text="Welcome to Airplane Booking System",font=("Bauhaus 93",17),fg="Red",width=46,bg="White").grid(row=0,column=0,columnspan=4) 105 | Label(root4,text="Booking Portal",font=("Bauhaus 93",17),fg="White",width=46,bg="red").grid(row=1,column=0,columnspan=4) 106 | Label(root4,text="Enter Your Details",font=("Bauhaus 93",14),fg="Blue",width=46).grid(row=2,column=0,columnspan=4) 107 | Label(root4,text="Full Name",font=("Bauhaus 93",14),fg="blue").grid(row=3,column=1) 108 | name=Entry() 109 | name.grid(row=3,column=2) 110 | Label(root4,text="Enter Your age",font=("Bauhaus 93",14),fg="Blue").grid(row=4,column=1) 111 | age=Entry(width=4) 112 | age.grid(row=4,column=2) 113 | Label(root4,text="Select Gender",font=("Bauhaus 93",14),fg="blue").grid(row=5,column=1) 114 | a=IntVar() 115 | Radiobutton(root4,text="Male",variable=a,value=0,fg="red").grid(row=5,column=2) 116 | Radiobutton(root4,text="Female",variable=a,value=1,fg="Pink").grid(row=5,column=3) 117 | Label(root4,text="Seat Class",font=("Bauhaus 93",14),fg="blue").grid(row=6,column=1) 118 | v= StringVar(root4) 119 | v.set("Select class") # default value 120 | w = OptionMenu(root4, v, "First Class", "Business Class", "Economy Class") 121 | w.grid(row=6,column=2) 122 | Label(root4,text="Additional Passengers Details",font=("Bauhaus 93",14),fg="Blue",width=46).grid(row=7,column=0,columnspan=4) 123 | Label(root4,text="Passenger 1",font=("Bauhaus 93",14),fg="Blue").grid(row=8,column=1) 124 | name1=Entry() 125 | name1.grid(row=8,column=2) 126 | Label(root4,text="Enter age",font=("Bauhaus 93",14),fg="Blue").grid(row=9,column=1) 127 | age1=Entry(width=4) 128 | age1.grid(row=9,column=2) 129 | Label(root4,text="Seat Class",font=("Bauhaus 93",14),fg="blue").grid(row=10,column=1) 130 | v1= StringVar(root4) 131 | v1.set("Select class") # default value 132 | w1 = OptionMenu(root4, v1, "First Class", "Business Class", "Economy Class") 133 | w1.grid(row=10,column=2) 134 | Label(root4,text="Passenger 2",font=("Bauhaus 93",14),fg="Blue").grid(row=11,column=1) 135 | name2=Entry() 136 | name2.grid(row=11,column=2) 137 | Label(root4,text="Enter age",font=("Bauhaus 93",14),fg="Blue").grid(row=12,column=1) 138 | age2=Entry(width=4) 139 | age2.grid(row=12,column=2) 140 | Label(root4,text="Seat Class",font=("Bauhaus 93",14),fg="blue").grid(row=13,column=1) 141 | v2= StringVar(root4) 142 | v2.set("Select class") # default value 143 | w2 = OptionMenu(root4, v2, "First Class", "Business Class", "Economy Class") 144 | w2.grid(row=13,column=2) 145 | Label(root4,text="Passenger 3",font=("Bauhaus 93",14),fg="Blue").grid(row=14,column=1) 146 | name3=Entry() 147 | name3.grid(row=14,column=2) 148 | Label(root4,text="Enter age",font=("Bauhaus 93",14),fg="Blue").grid(row=15,column=1) 149 | age3=Entry(width=4) 150 | age3.grid(row=15,column=2) 151 | Label(root4,text="Seat Class",font=("Bauhaus 93",14),fg="blue").grid(row=16,column=1) 152 | v3= StringVar(root4) 153 | v3.set("Select class") # default value 154 | w3 = OptionMenu(root4, v3, "First Class", "Business Class", "Economy Class") 155 | w3.grid(row=16,column=2) 156 | Label(root4, text="Journey Date:",font=("Bauhaus 93",14),fg="blue").grid(row=17,column=1) 157 | date = Entry(root4, width=15, font=("Bauhaus 93", 14),fg="Blue") 158 | date.grid(row=17, column=2) 159 | date.insert(0,"DD/MM/YYYY") 160 | Label(root4,text="Number of Passengers",font=("Bauhaus 93",14),fg="blue").grid(row=18,column=1) 161 | v4= StringVar(root4) 162 | v4.set("0") # default value 163 | w4 = OptionMenu(root4, v4, "1", "2", "3","4") 164 | w4.grid(row=18,column=2) 165 | def data(): 166 | root5=Tk() 167 | root5.title("Ticket Details") 168 | Label(root5,text="Thanks For Choosing Airplane Booking System",font=("Bauhaus 93",17),fg="White",bg="red",width=46).grid(row=0,column=0,columnspan=4) 169 | Label(root5,text="Ticket Details",font=("Bauhaus 93",17),fg="Blue",width=46).grid(row=1,column=0,columnspan=4) 170 | Label(root5,text="Passenger Name",font=("Arial",14),fg="Blue").grid(row=2,column=1) 171 | Label(root5,text=name.get(),font=("Arial",14),fg="Blue").grid(row=2,column=2) 172 | Label(root5,text="Age",font=("Arial",14),fg="Blue").grid(row=3,column=1) 173 | Label(root5,text=age.get(),font=("Arial",14),fg="Blue").grid(row=3,column=2) 174 | Label(root5,text="Gender",font=("Arial",14),fg="Blue").grid(row=4,column=1) 175 | if(a.get()==0): 176 | Label(root5,text="Male",font=("Arial",14),fg="Blue").grid(row=4,column=2) 177 | else: 178 | Label(root5,text="Female",font=("Arial",14),fg="Blue").grid(row=4,column=2) 179 | Label(root5,text="Class",font=("Arial",14),fg="Blue").grid(row=5,column=1) 180 | Label(root5,text=v.get(),font=("Arial",14),fg="Blue").grid(row=5,column=2) 181 | Label(root5,text="Date",font=("Arial",14),fg="Blue").grid(row=6,column=1) 182 | Label(root5,text=date.get(),font=("Arial",14),fg="Blue").grid(row=6,column=2) 183 | Label(root5,text="Additional Passenger Details",font=("Bauhaus 93",17),fg="Blue",width=46).grid(row=7,column=0,columnspan=4) 184 | Label(root5,text="Passenger Name",font=("Arial",14),fg="Blue").grid(row=8,column=1) 185 | Label(root5,text=name1.get(),font=("Arial",14),fg="Blue").grid(row=8,column=2) 186 | Label(root5,text="Class",font=("Arial",14),fg="Blue").grid(row=9,column=1) 187 | Label(root5,text=v1.get(),font=("Arial",14),fg="Blue").grid(row=9,column=2) 188 | Label(root5,text="Passenger Name",font=("Arial",14),fg="Blue").grid(row=10,column=1) 189 | Label(root5,text=name2.get(),font=("Arial",14),fg="Blue").grid(row=10,column=2) 190 | Label(root5,text="Class",font=("Arial",14),fg="Blue").grid(row=11,column=1) 191 | Label(root5,text=v2.get(),font=("Arial",14),fg="Blue").grid(row=11,column=2) 192 | Label(root5,text="Passenger Name",font=("Arial",14),fg="Blue").grid(row=12,column=1) 193 | Label(root5,text=name3.get(),font=("Arial",14),fg="Blue").grid(row=12,column=2) 194 | Label(root5,text="Class",font=("Arial",14),fg="Blue").grid(row=13,column=1) 195 | Label(root5,text=v3.get(),font=("Arial",14),fg="Blue").grid(row=13,column=2) 196 | Label(root5,text="Amount Per Passsenger",font=("Bauhaus 93",17),fg="Blue",width=46).grid(row=14,column=0,columnspan=4) 197 | Label(root5,text="Ticket From " + variable.get() + "<-> to <->" + variable1.get(),fg="White",bg="green",font=("LCD",10),width=46).grid(row=15,column=0,columnspan=4) 198 | def amount(price): 199 | 200 | if (int(v4.get())==1): 201 | print (v.get()) 202 | if(v.get()=="First Class"): 203 | price=10000 204 | 205 | elif (v.get()=="Business Class"): 206 | price=6000 207 | elif(v.get()=="Econoy Class"): 208 | price=3800 209 | elif int(v4.get())==2: 210 | if(v.get()=="First Class" and v1.get()=="First Class"): 211 | price=20000 212 | elif(v.get()=="First Class" and v1.get()=="Business Class"): 213 | price=16000 214 | elif(v.get()=="First Class" and v1.get()=="Economy Class"): 215 | price=13800 216 | elif(v.get()=="Business Class" and v1.get()=="First Class"): 217 | price=16000 218 | elif(v.get()=="Business Class" and v1.get()=="Business Class"): 219 | price=12000 220 | elif(v.get()=="Business Class" and v1.get()=="Economy Class"): 221 | price=9800 222 | elif(v.get()=="Economy Class" and v1.get()=="First Class"): 223 | price=13800 224 | elif(v.get()=="Economy Class" and v1.get()=="Business Class"): 225 | price=9800 226 | elif(v.get()=="Economy Class" and v1.get()=="Economy Class"): 227 | price=7600 228 | elif (int(v4.get())==3): 229 | if(v.get()=="First Class" and v1.get()=="First Class" and v2.get()=="First Class"): 230 | price=30000 231 | elif(v.get()=="First Class" and v1.get()=="First Class" and v2.get()=="Business Class"): 232 | price=26000 233 | elif(v.get()=="First Class" and v1.get()=="First Class" and v2.get()=="Economy Class"): 234 | price=23800 235 | elif(v.get()=="First Class" and v1.get()=="Business Class" and v2.get()=="First Class"): 236 | price=30000 237 | elif(v.get()=="First Class" and v1.get()=="Business Class" and v2.get()=="Business Class"): 238 | price=26000 239 | elif(v.get()=="First Class" and v1.get()=="Business Class" and v2.get()=="Economy Class"): 240 | price=23800 241 | elif(v.get()=="First Class" and v1.get()=="Economy Class" and v2.get()=="First Class"): 242 | price=30000 243 | elif(v.get()=="First Class" and v1.get()=="Economy Class" and v2.get()=="Business Class"): 244 | price=26000 245 | elif(v.get()=="First Class" and v1.get()=="Economy Class" and v2.get()=="Economy Class"): 246 | price=23800 247 | elif(v.get()=="Business Class" and v1.get()=="First Class" and v2.get()=="First Class"): 248 | price=26000 249 | elif(v.get()=="Business Class" and v1.get()=="First Class" and v2.get()=="Business Class"): 250 | price=22000 251 | elif(v.get()=="Business Class" and v1.get()=="First Class" and v2.get()=="Economy Class"): 252 | price=19800 253 | elif(v.get()=="Business Class" and v1.get()=="Business Class" and v2.get()=="First Class"): 254 | price=22000 255 | elif(v.get()=="Business Class" and v1.get()=="Business Class" and v2.get()=="Business Class"): 256 | price=18000 257 | elif(v.get()=="Business Class" and v1.get()=="Business Class" and v2.get()=="Economy Class"): 258 | price=15800 259 | elif(v.get()=="Business Class" and v1.get()=="Economy Class" and v2.get()=="First Class"): 260 | price=19800 261 | elif(v.get()=="Business Class" and v1.get()=="Economy Class" and v2.get()=="Business Class"): 262 | price=15800 263 | elif(v.get()=="Business Class" and v1.get()=="Economy Class" and v2.get()=="Economy Class"): 264 | price=13600 265 | elif(v.get()=="Economy Class" and v1.get()=="First Class" and v2.get()=="First Class"): 266 | price=23800 267 | elif(v.get()=="Economy Class" and v1.get()=="First Class" and v2.get()=="Business Class"): 268 | price=19800 269 | elif(v.get()=="Economy Class" and v1.get()=="First Class" and v2.get()=="Economy Class"): 270 | price=17600 271 | elif(v.get()=="Economy Class" and v1.get()=="Business Class" and v2.get()=="First Class"): 272 | price=19800 273 | elif(v.get()=="Economy Class" and v1.get()=="Business Class" and v2.get()=="Business Class"): 274 | price=15800 275 | elif(v.get()=="Economy Class" and v1.get()=="Business Class" and v2.get()=="Economy Class"): 276 | price=13600 277 | elif(v.get()=="Economy Class" and v1.get()=="Economy Class" and v2.get()=="First Class"): 278 | price=17600 279 | elif(v.get()=="Economy Class" and v1.get()=="Economy Class" and v2.get()=="Business Class"): 280 | price=13600 281 | elif(v.get()=="Economy Class" and v1.get()=="Economy Class" and v2.get()=="Economy Class"): 282 | price=11400 283 | Label(root5,text="Price",font=("Arial",14),fg="Blue").grid(row=16,column=1) 284 | Label(root5,text=price,font=("Arial",14),fg="Blue").grid(row=16,column=2) 285 | Label(root5,text="Total Amount",font=("Arial",14),fg="Blue").grid(row=18,column=1) 286 | Label(root5,text=price*int(v4.get()),font=("Arial",14),fg="Blue").grid(row=18,column=2) 287 | elif (int(v4.get())==4): 288 | if(v.get()=="First Class" and v1.get()=="First Class" and v2.get()=="First Class" and v3.get()=="First Class"): 289 | price=40000 290 | elif(v.get()=="First Class" and v1.get()=="First Class" and v2.get()=="First Class" and v3.get()=="Business Class"): 291 | price=36000 292 | elif(v.get()=="First Class" and v1.get()=="First Class" and v2.get()=="First Class" and v3.get()=="Economy Class"): 293 | price=33800 294 | elif(v.get()=="First Class" and v1.get()=="First Class" and v2.get()=="Business Class" and v3.get()=="First Class"): 295 | price=40000 296 | elif(v.get()=="First Class" and v1.get()=="First Class" and v2.get()=="Business Class" and v3.get()=="Business Class"): 297 | price=36000 298 | elif(v.get()=="First Class" and v1.get()=="First Class" and v2.get()=="Business Class" and v3.get()=="Economy Class"): 299 | price=33800 300 | elif(v.get()=="First Class" and v1.get()=="First Class" and v2.get()=="Economy Class" and v3.get()=="First Class"): 301 | price=40000 302 | elif(v.get()=="First Class" and v1.get()=="First Class" and v2.get()=="Economy Class" and v3.get()=="Business Class"): 303 | price=36000 304 | elif(v.get()=="First Class" and v1.get()=="First Class" and v2.get()=="Economy Class" and v3.get()=="Economy Class"): 305 | price=33800 306 | elif(v.get()=="First Class" and v1.get()=="Business Class" and v2.get()=="First Class" and v3.get()=="First Class"): 307 | price=40000 308 | elif(v.get()=="First Class" and v1.get()=="Business Class" and v2.get()=="First Class" and v3.get()=="Business Class"): 309 | price=36000 310 | elif(v.get()=="First Class" and v1.get()=="Business Class" and v2.get()=="First Class" and v3.get()=="Economy Class"): 311 | price=33800 312 | elif(v.get()=="First Class" and v1.get()=="Business Class" and v2.get()=="Business Class" and v3.get()=="First Class"): 313 | price=40000 314 | elif(v.get()=="First Class" and v1.get()=="Business Class" and v2.get()=="Business Class" and v3.get()=="Business Class"): 315 | price=36000 316 | elif(v.get()=="First Class" and v1.get()=="Business Class" and v2.get()=="Business Class" and v3.get()=="Economy Class"): 317 | price=33800 318 | elif(v.get()=="First Class" and v1.get()=="Business Class" and v2.get()=="Economy Class" and v3.get()=="First Class"): 319 | price=40000 320 | elif(v.get()=="First Class" and v1.get()=="Business Class" and v2.get()=="Economy Class" and v3.get()=="Business Class"): 321 | price=36000 322 | elif(v.get()=="First Class" and v1.get()=="Business Class" and v2.get()=="Economy Class" and v3.get()=="Economy Class"): 323 | price=33800 324 | elif(v.get()=="First Class" and v1.get()=="Economy Class" and v2.get()=="First Class" and v3.get()=="First Class"): 325 | price=40000 326 | elif(v.get()=="First Class" and v1.get()=="Economy Class" and v2.get()=="First Class" and v3.get()=="Business Class"): 327 | price=36000 328 | elif(v.get()=="First Class" and v1.get()=="Economy Class" and v2.get()=="First Class" and v3.get()=="Economy Class"): 329 | price=33800 330 | elif(v.get()=="First Class" and v1.get()=="Economy Class" and v2.get()=="Business Class" and v3.get()=="First Class"): 331 | price=40000 332 | elif(v.get()=="First Class" and v1.get()=="Economy Class" and v2.get()=="Business Class" and v3.get()=="Business Class"): 333 | price=36000 334 | elif(v.get()=="First Class" and v1.get()=="Economy Class" and v2.get()=="Business Class" and v3.get()=="Economy Class"): 335 | price=33800 336 | elif(v.get()=="First Class" and v1.get()=="Economy Class" and v2.get()=="Economy Class" and v3.get()=="First Class"): 337 | price=40000 338 | elif(v.get()=="First Class" and v1.get()=="Economy Class" and v2.get()=="Economy Class" and v3.get()=="Business Class"): 339 | price=36000 340 | elif(v.get()=="First Class" and v1.get()=="Economy Class" and v2.get()=="Economy Class" and v3.get()=="Economy Class"): 341 | price=33800 342 | elif(v.get()=="Business Class" and v1.get()=="First Class" and v2.get()=="First Class" and v3.get()=="First Class"): 343 | price=40000 344 | elif(v.get()=="Business Class" and v1.get()=="First Class" and v2.get()=="First Class" and v3.get()=="Business Class"): 345 | price=36000 346 | elif(v.get()=="Business Class" and v1.get()=="First Class" and v2.get()=="First Class" and v3.get()=="Economy Class"): 347 | price=33800 348 | elif(v.get()=="Business Class" and v1.get()=="First Class" and v2.get()=="Business Class" and v3.get()=="First Class"): 349 | price=40000 350 | elif(v.get()=="Business Class" and v1.get()=="First Class" and v2.get()=="Business Class" and v3.get()=="Business Class"): 351 | price=36000 352 | elif(v.get()=="Business Class" and v1.get()=="First Class" and v2.get()=="Business Class" and v3.get()=="Economy Class"): 353 | price=33800 354 | elif(v.get()=="Business Class" and v1.get()=="First Class" and v2.get()=="Economy Class" and v3.get()=="First Class"): 355 | price=40000 356 | elif(v.get()=="Business Class" and v1.get()=="First Class" and v2.get()=="Economy Class" and v3.get()=="Business Class"): 357 | price=36000 358 | elif(v.get()=="Business Class" and v1.get()=="First Class" and v2.get()=="Economy Class" and v3.get()=="Economy Class"): 359 | price=33800 360 | elif(v.get()=="Business Class" and v1.get()=="Business Class" and v2.get()=="First Class" and v3.get()=="First Class"): 361 | price=40000 362 | elif(v.get()=="Business Class" and v1.get()=="Business Class" and v2.get()=="First Class" and v3.get()=="Business Class"): 363 | price=36000 364 | elif(v.get()=="Business Class" and v1.get()=="Business Class" and v2.get()=="First Class" and v3.get()=="Economy Class"): 365 | price=33800 366 | elif(v.get()=="Business Class" and v1.get()=="Business Class" and v2.get()=="Business Class" and v3.get()=="First Class"): 367 | price=40000 368 | elif(v.get()=="Business Class" and v1.get()=="Business Class" and v2.get()=="Business Class" and v3.get()=="Business Class"): 369 | price=36000 370 | elif(v.get()=="Business Class" and v1.get()=="Business Class" and v2.get()=="Business Class" and v3.get()=="Economy Class"): 371 | price=33800 372 | elif(v.get()=="Business Class" and v1.get()=="Business Class" and v2.get()=="Economy Class" and v3.get()=="First Class"): 373 | price=40000 374 | elif(v.get()=="Business Class" and v1.get()=="Business Class" and v2.get()=="Economy Class" and v3.get()=="Business Class"): 375 | price=36000 376 | elif(v.get()=="Business Class" and v1.get()=="Business Class" and v2.get()=="Economy Class" and v3.get()=="Economy Class"): 377 | price=33800 378 | elif(v.get()=="Business Class" and v1.get()=="Economy Class" and v2.get()=="First Class" and v3.get()=="First Class"): 379 | price=40000 380 | elif(v.get()=="Business Class" and v1.get()=="Economy Class" and v2.get()=="First Class" and v3.get()=="Business Class"): 381 | price=36000 382 | elif(v.get()=="Business Class" and v1.get()=="Economy Class" and v2.get()=="First Class" and v3.get()=="Economy Class"): 383 | price=33800 384 | elif(v.get()=="Business Class" and v1.get()=="Economy Class" and v2.get()=="Business Class" and v3.get()=="First Class"): 385 | price=40000 386 | elif(v.get()=="Business Class" and v1.get()=="Economy Class" and v2.get()=="Business Class" and v3.get()=="Business Class"): 387 | price=36000 388 | elif(v.get()=="Business Class" and v1.get()=="Economy Class" and v2.get()=="Business Class" and v3.get()=="Economy Class"): 389 | price=33800 390 | elif(v.get()=="Business Class" and v1.get()=="Economy Class" and v2.get()=="Economy Class" and v3.get()=="First Class"): 391 | price=40000 392 | elif(v.get()=="Business Class" and v1.get()=="Economy Class" and v2.get()=="Economy Class" and v3.get()=="Business Class"): 393 | price=36000 394 | elif(v.get()=="Business Class" and v1.get()=="Economy Class" and v2.get()=="Economy Class" and v3.get()=="Economy Class"): 395 | price=33800 396 | elif(v.get()=="Economy Class" and v1.get()=="First Class" and v2.get()=="First Class" and v3.get()=="First Class"): 397 | price=40000 398 | elif(v.get()=="Economy Class" and v1.get()=="First Class" and v2.get()=="First Class" and v3.get()=="Business Class"): 399 | price=36000 400 | elif(v.get()=="Economy Class" and v1.get()=="First Class" and v2.get()=="First Class" and v3.get()=="Economy Class"): 401 | price=33800 402 | elif(v.get()=="Economy Class" and v1.get()=="First Class" and v2.get()=="Business Class" and v3.get()=="First Class"): 403 | price=40000 404 | elif(v.get()=="Economy Class" and v1.get()=="First Class" and v2.get()=="Business Class" and v3.get()=="Business Class"): 405 | price=36000 406 | elif(v.get()=="Economy Class" and v1.get()=="First Class" and v2.get()=="Business Class" and v3.get()=="Economy Class"): 407 | price=33800 408 | elif(v.get()=="Economy Class" and v1.get()=="First Class" and v2.get()=="Economy Class" and v3.get()=="First Class"): 409 | price=40000 410 | elif(v.get()=="Economy Class" and v1.get()=="First Class" and v2.get()=="Economy Class" and v3.get()=="Business Class"): 411 | price=36000 412 | elif(v.get()=="Economy Class" and v1.get()=="First Class" and v2.get()=="Economy Class" and v3.get()=="Economy Class"): 413 | price=33800 414 | elif(v.get()=="Economy Class" and v1.get()=="Business Class" and v2.get()=="First Class" and v3.get()=="First Class"): 415 | price=40000 416 | elif(v.get()=="Economy Class" and v1.get()=="Business Class" and v2.get()=="First Class" and v3.get()=="Business Class"): 417 | price=36000 418 | elif(v.get()=="Economy Class" and v1.get()=="Business Class" and v2.get()=="First Class" and v3.get()=="Economy Class"): 419 | price=33800 420 | elif(v.get()=="Economy Class" and v1.get()=="Business Class" and v2.get()=="Business Class" and v3.get()=="First Class"): 421 | price=40000 422 | elif(v.get()=="Economy Class" and v1.get()=="Business Class" and v2.get()=="Business Class" and v3.get()=="Business Class"): 423 | price=36000 424 | elif(v.get()=="Economy Class" and v1.get()=="Business Class" and v2.get()=="Business Class" and v3.get()=="Economy Class"): 425 | price=33800 426 | elif(v.get()=="Economy Class" and v1.get()=="Business Class" and v2.get()=="Economy Class" and v3.get()=="First Class"): 427 | price=40000 428 | elif(v.get()=="Economy Class" and v1.get()=="Business Class" and v2.get()=="Economy Class" and v3.get()=="Business Class"): 429 | price=36000 430 | elif(v.get()=="Economy Class" and v1.get()=="Business Class" and v2.get()=="Economy Class" and v3.get()=="Economy Class"): 431 | price=33800 432 | elif(v.get()=="Economy Class" and v1.get()=="Economy Class" and v2.get()=="First Class" and v3.get()=="First Class"): 433 | price=40000 434 | elif(v.get()=="Economy Class" and v1.get()=="Economy Class" and v2.get()=="First Class" and v3.get()=="Business Class"): 435 | price=36000 436 | elif(v.get()=="Economy Class" and v1.get()=="Economy Class" and v2.get()=="First Class" and v3.get()=="Economy Class"): 437 | price=33800 438 | elif(v.get()=="Economy Class" and v1.get()=="Economy Class" and v2.get()=="Business Class" and v3.get()=="First Class"): 439 | price=40000 440 | elif(v.get()=="Economy Class" and v1.get()=="Economy Class" and v2.get()=="Business Class" and v3.get()=="Business Class"): 441 | price=36000 442 | elif(v.get()=="Economy Class" and v1.get()=="Economy Class" and v2.get()=="Business Class" and v3.get()=="Economy Class"): 443 | price=33800 444 | elif(v.get()=="Economy Class" and v1.get()=="Economy Class" and v2.get()=="Economy Class" and v3.get()=="First Class"): 445 | price=40000 446 | elif(v.get()=="Economy Class" and v1.get()=="Economy Class" and v2.get()=="Economy Class" and v3.get()=="Business Class"): 447 | price=36000 448 | elif(v.get()=="Economy Class" and v1.get()=="Economy Class" and v2.get()=="Economy Class" and v3.get()=="Economy Class"): 449 | price=33800 450 | Label(root5,text="Price",font=("Arial",14),fg="Blue").grid(row=16,column=1) 451 | Label(root5,text=price,font=("Arial",14),fg="Blue").grid(row=16,column=2) 452 | Label(root5,text="Total Amount",font=("Arial",14),fg="Blue").grid(row=18,column=1) 453 | Label(root5,text=price*int(v4.get()),font=("Arial",14),fg="Blue").grid(row=18,column=2) 454 | Button(root5,text="Price",font=("algerian"),fg="white",bg="red",command=amount(0)).grid(row=20,columnspan=5) 455 | Label(root5,text="Number of Passengers",font=("Arial",14),fg="Blue").grid(row=17,column=1) 456 | Label(root5,text=v4.get(),font=("Arial",14),fg="Blue").grid(row=17,column=2) 457 | def exitw(): 458 | root4.destroy() 459 | root5.destroy() 460 | Button(root5,text="Done",font=("algerian"),fg="white",bg="red",command=exitw).grid(row=19,columnspan=5) 461 | 462 | 463 | Button(root4,text="Confirm Booking",fg="white",font=("algerian"),bg="red",command=data).grid(row=19,columnspan=5) 464 | Button(root2,text="Sign In",fg="white",bg="red",font=("algerian",10),command=lambda: bookingportal()).grid(row=4,columnspan=5) 465 | Button(root,text="Sign in",fg="white",bg="red",font=("algerian",10),command=signin).grid(row=9,columnspan=5) 466 | 467 | def flights(): 468 | if variable.get()=="Delhi" and variable1.get()=="Kolkata": 469 | Label(root1,text="Number of Seats Available are:",font=("Bauhaus 93",14),fg="white",bg="orange").grid(row=5,columnspan=4) 470 | Label(root1,text="100",font=("Bauhaus 93",14),fg="white",bg="green").grid(row=5,columnspan=4,column=2) 471 | if variable.get()=="Delhi" and variable1.get()=="Mumbai": 472 | Label(root1,text="Number of Seats Available are:",font=("Bauhaus 93",14),fg="white",bg="orange").grid(row=5,columnspan=4) 473 | Label(root1,text="250",font=("Bauhaus 93",14),fg="white",bg="green").grid(row=5,columnspan=4,column=2) 474 | if variable.get()=="Delhi" and variable1.get()=="U.S.A": 475 | showerror('Oops!',"Sorry No direct flights available for this root") 476 | if variable.get()=="Delhi" and variable1.get()=="Canada": 477 | Label(root1,text="Number of Seats Available are:",font=("Bauhaus 93",14),fg="white",bg="orange").grid(row=5,columnspan=4) 478 | Label(root1,text="201",font=("Bauhaus 93",14),fg="white",bg="green").grid(row=4,columnspan=5,column=2) 479 | if variable.get()=="Kolkata" and variable1.get()=="Delhi": 480 | Label(root1,text="Number of Seats Available are:",font=("Bauhaus 93",14),fg="white",bg="orange").grid(row=5,columnspan=4) 481 | Label(root1,text="100",font=("Bauhaus 93",14),fg="white",bg="green").grid(row=5,columnspan=4,column=2) 482 | if variable.get()=="Kolkata" and variable1.get()=="Mumbai": 483 | Label(root1,text="Number of Seats Available are:",font=("Bauhaus 93",14),fg="white",bg="orange").grid(row=5,columnspan=4) 484 | Label(root1,text="150",font=("Bauhaus 93",14),fg="white",bg="green").grid(row=5,columnspan=4,column=2) 485 | if variable.get()=="Kolkata" and variable1.get()=="U.S.A": 486 | Label(root1,text="Number of Seats Available are:",font=("Bauhaus 93",14),fg="white",bg="orange").grid(row=5,columnspan=4) 487 | Label(root1,text="115",font=("Bauhaus 93",14),fg="white",bg="green").grid(row=5,columnspan=4,column=2) 488 | if variable.get()=="Kolkata" and variable1.get()=="Canada": 489 | showerror('Oops!',"Sorry No direct flights available for this root") 490 | if variable.get()=="Mumbai" and variable1.get()=="Delhi": 491 | Label(root1,text="Number of Seats Available are:",font=("Bauhaus 93",14),fg="white",bg="orange").grid(row=5,columnspan=4) 492 | Label(root1,text="250",font=("Bauhaus 93",14),fg="white",bg="green").grid(row=5,columnspan=4,column=2) 493 | if variable.get()=="Mumbai" and variable1.get()=="Kolkata": 494 | Label(root1,text="Number of Seats Available are:",font=("Bauhaus 93",14),fg="white",bg="orange").grid(row=5,columnspan=4) 495 | Label(root1,text="150",font=("Bauhaus 93",14),fg="white",bg="green").grid(row=5,columnspan=4,column=2) 496 | if variable.get()=="Mumbai" and variable1.get()=="U.S.A": 497 | Label(root1,text="Number of Seats Available are:",font=("Bauhaus 93",14),fg="white",bg="orange").grid(row=5,columnspan=4) 498 | Label(root1,text="167",font=("Bauhaus 93",14),fg="white",bg="green").grid(row=5,columnspan=4,column=2) 499 | if variable.get()=="Mumbai" and variable1.get()=="Canada": 500 | Label(root1,text="Number of Seats Available are:",font=("Bauhaus 93",14),fg="white",bg="orange").grid(row=5,columnspan=4) 501 | Label(root1,text="160",font=("Bauhaus 93",14),fg="white",bg="green").grid(row=5,columnspan=4,column=2) 502 | if variable.get()=="U.S.A" and variable1.get()=="Delhi": 503 | showerror('Oops!',"Sorry No direct flights available for this root") 504 | if variable.get()=="U.S.A" and variable1.get()=="Mumbai": 505 | Label(root1,text="Number of Seats Available are:",font=("Bauhaus 93",14),fg="white",bg="orange").grid(row=5,columnspan=4) 506 | Label(root1,text="167",font=("Bauhaus 93",14),fg="white",bg="green").grid(row=5,columnspan=4,column=2) 507 | if variable.get()=="U.S.A" and variable1.get()=="Kolkata": 508 | Label(root1,text="Number of Seats Available are:",font=("Bauhaus 93",14),fg="white",bg="orange").grid(row=5,columnspan=4) 509 | Label(root1,text="115",font=("Bauhaus 93",14),fg="white",bg="green").grid(row=5,columnspan=4,column=2) 510 | if variable.get()=="U.S.A" and variable1.get()=="Canada": 511 | Label(root1,text="Number of Seats Available are:",font=("Bauhaus 93",14),fg="white",bg="orange").grid(row=5,columnspan=4) 512 | Label(root1,text="168",font=("Bauhaus 93",14),fg="white",bg="green").grid(row=5,columnspan=4,column=2) 513 | if variable.get()=="Canada" and variable1.get()=="Delhi": 514 | Label(root1,text="Number of Seats Available are:",font=("Bauhaus 93",14),fg="white",bg="orange").grid(row=5,columnspan=4) 515 | Label(root1,text="201",font=("Bauhaus 93",14),fg="white",bg="green").grid(row=5,columnspan=4,column=2) 516 | if variable.get()=="Canada" and variable1.get()=="Mumbai": 517 | Label(root1,text="Number of Seats Available are:",font=("Bauhaus 93",14),fg="white",bg="orange").grid(row=5,columnspan=4) 518 | Label(root1,text="160",font=("Bauhaus 93",14),fg="white",bg="green").grid(row=5,columnspan=4,column=2) 519 | if variable.get()=="Canada" and variable1.get()=="Kolkata": 520 | showerror('Oops!',"Sorry No direct flights available for this root") 521 | if variable.get()=="Canada" and variable1.get()=="U.S.A": 522 | Label(root1,text="Number of Seats Available are:",font=("Bauhaus 93",14),fg="white",bg="orange").grid(row=5,columnspan=4) 523 | Label(root1,text="168",font=("Bauhaus 93",14),fg="white",bg="green").grid(row=5,columnspan=4,column=2) 524 | Button(root1,text="Signup to Book",fg="white",bg="orange",font=("algerian",10),command=signup).grid(row=7,columnspan=5) 525 | Button(root1,text="Show Flights",font=("algerian",10),fg="white",bg="Orange",compound="center",command=flights).grid(row=6,columnspan=1) 526 | root1.mainloop() 527 | Button(fr2,text="Proceed to Project",compound="center",bg="Yellow",font=("algerian"),fg="blue",command=airline).pack() 528 | root.mainloop() 529 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Python-Airline-Booking-System 2 | This project helps to build a interface between the airline companies and the passengers so that they can book tickets from anywhere in the world. The system should ask for the travel from and travel to cities. 3 | For booking the customers has to sign-up or sign-in and enter the passenger details. It is a simple airline railway reservation system which uses tkinter to build up a GUI and SQLite database to store the signup information of a passenger. The travel from and to city should be different otherwise it would show an error. 4 | It uses different modules of tkinter to build a reservation system using button, label, message box, entry, frames and title. When the program runs, it will show a frame which asks about departure and arrival city, and if the customers wants to book he can proceed with the sign-in and sign-up. 5 | -------------------------------------------------------------------------------- /airoplane.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aayushag/Python-Airline-Booking-System/7f1bf7281f084a61daff4d4b46b0f120e952875a/airoplane.gif -------------------------------------------------------------------------------- /airoplane1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aayushag/Python-Airline-Booking-System/7f1bf7281f084a61daff4d4b46b0f120e952875a/airoplane1.gif -------------------------------------------------------------------------------- /flight.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aayushag/Python-Airline-Booking-System/7f1bf7281f084a61daff4d4b46b0f120e952875a/flight.jpg -------------------------------------------------------------------------------- /flight_db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aayushag/Python-Airline-Booking-System/7f1bf7281f084a61daff4d4b46b0f120e952875a/flight_db --------------------------------------------------------------------------------