├── README.md └── hotel_project ├── images ├── room1.jpg ├── room2.jpg ├── room3.jpg ├── room4.jpg ├── room5.jpg ├── room6.jpg └── room7.jpg ├── logout.jsp ├── admin ├── deleteUser.jsp ├── shutdown.jsp ├── index.jsp ├── bookings.jsp ├── contactDashboard.jsp ├── reviews.jsp ├── rooms.jsp ├── users.jsp └── editUser.jsp ├── reviews.jsp ├── bookings.jsp ├── contact.jsp ├── ratings.jsp ├── checkout.jsp ├── room.jsp ├── signup.jsp ├── myaccount.jsp ├── login.jsp ├── searchresults.jsp ├── facilities.jsp ├── updateMyAccount.jsp ├── index.jsp ├── about.jsp ├── rooms.jsp └── pic.txt /README.md: -------------------------------------------------------------------------------- 1 | # Hazrat Ali 2 | 3 | # Software Engineering 4 | 5 | # Hotel Management -------------------------------------------------------------------------------- /hotel_project/images/room1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hazrat-Ali9/Hotel-Management-System-Oracle-Database/HEAD/hotel_project/images/room1.jpg -------------------------------------------------------------------------------- /hotel_project/images/room2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hazrat-Ali9/Hotel-Management-System-Oracle-Database/HEAD/hotel_project/images/room2.jpg -------------------------------------------------------------------------------- /hotel_project/images/room3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hazrat-Ali9/Hotel-Management-System-Oracle-Database/HEAD/hotel_project/images/room3.jpg -------------------------------------------------------------------------------- /hotel_project/images/room4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hazrat-Ali9/Hotel-Management-System-Oracle-Database/HEAD/hotel_project/images/room4.jpg -------------------------------------------------------------------------------- /hotel_project/images/room5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hazrat-Ali9/Hotel-Management-System-Oracle-Database/HEAD/hotel_project/images/room5.jpg -------------------------------------------------------------------------------- /hotel_project/images/room6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hazrat-Ali9/Hotel-Management-System-Oracle-Database/HEAD/hotel_project/images/room6.jpg -------------------------------------------------------------------------------- /hotel_project/images/room7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hazrat-Ali9/Hotel-Management-System-Oracle-Database/HEAD/hotel_project/images/room7.jpg -------------------------------------------------------------------------------- /hotel_project/logout.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <% 3 | session.invalidate(); 4 | response.sendRedirect("login.jsp?logout=success"); 5 | %> 6 | -------------------------------------------------------------------------------- /hotel_project/admin/deleteUser.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*" %> 2 | <% 3 | String userId = request.getParameter("id"); 4 | String message = ""; 5 | 6 | if(userId != null){ 7 | Connection conn = null; 8 | PreparedStatement pst = null; 9 | 10 | try{ 11 | Class.forName("oracle.jdbc.driver.OracleDriver"); 12 | conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","a12345"); 13 | 14 | pst = conn.prepareStatement("DELETE FROM Users WHERE user_id=?"); 15 | pst.setInt(1, Integer.parseInt(userId)); 16 | 17 | int rows = pst.executeUpdate(); 18 | if(rows > 0){ 19 | message = "User deleted successfully!"; 20 | } else { 21 | message = "User not found!"; 22 | } 23 | 24 | } catch(Exception e){ 25 | message = "Error: " + e.getMessage(); 26 | } finally { 27 | try{ if(pst != null) pst.close(); } catch(Exception e){} 28 | try{ if(conn != null) conn.close(); } catch(Exception e){} 29 | } 30 | } 31 | 32 | // Redirect back to users.jsp with message 33 | response.sendRedirect("users.jsp?msg=" + java.net.URLEncoder.encode(message,"UTF-8")); 34 | %> 35 | -------------------------------------------------------------------------------- /hotel_project/admin/shutdown.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*" %> 2 | 3 | 4 | 5 | 6 | Admin - Shutdown System 7 | 34 | 35 | 36 | 37 |
38 |

Shutdown System

39 |
40 | 41 |
42 | <% if(request.getMethod().equalsIgnoreCase("POST")){ out.println("

System shutdown initiated!

"); 43 | // Optionally you can trigger server shutdown script here 44 | } 45 | %> 46 |
47 | 48 | 49 | -------------------------------------------------------------------------------- /hotel_project/reviews.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*" %> 2 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 3 | 4 | 5 | 6 | Reviews - Hotel Management System 7 | 14 | 15 | 16 |
17 |

Reviews

18 |
19 |
20 | <% 21 | Connection conn=null; 22 | Statement stmt=null; 23 | ResultSet rs=null; 24 | try{ 25 | Class.forName("oracle.jdbc.driver.OracleDriver"); 26 | conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","a12345"); 27 | stmt=conn.createStatement(); 28 | String query="SELECT u.username,r.room_name,rev.review,rev.rating_date FROM Ratings rev " + 29 | "JOIN Users u ON rev.user_id=u.user_id " + 30 | "JOIN Rooms r ON rev.room_id=r.room_id"; 31 | rs=stmt.executeQuery(query); 32 | while(rs.next()){ 33 | %> 34 |
35 |

<%=rs.getString("username")%> - <%=rs.getString("room_name")%>

36 |

Review: <%=rs.getString("review")%>

37 |

Date: <%=rs.getDate("rating_date")%>

38 |
39 | <% 40 | } 41 | }catch(Exception e){ out.println("

Error: "+e.getMessage()+"

"); } 42 | finally{ try{if(rs!=null)rs.close();}catch(Exception e){} try{if(stmt!=null)stmt.close();}catch(Exception e){} try{if(conn!=null)conn.close();}catch(Exception e){} } 43 | %> 44 |
45 | 46 | 47 | -------------------------------------------------------------------------------- /hotel_project/admin/index.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*" %> 2 | 3 | 4 | 5 | 6 | Admin Dashboard 7 | 43 | 44 | 45 | 46 |
47 |

Admin Dashboard

48 | 56 |
57 |
58 |

Welcome, Admin!

59 |

Select an option from the navigation bar to manage the system.

60 |
61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /hotel_project/admin/bookings.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*" %> 2 | 3 | 4 | 5 | Admin - Bookings 6 | 12 | 13 | 14 |

All Bookings

15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | <% 24 | Connection conn = null; 25 | Statement stmt = null; 26 | ResultSet rs = null; 27 | 28 | try { 29 | Class.forName("oracle.jdbc.driver.OracleDriver"); 30 | conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "system", "a12345"); 31 | stmt = conn.createStatement(); 32 | rs = stmt.executeQuery( 33 | "SELECT b.booking_id, u.username, r.room_name, b.check_in, b.check_out " + 34 | "FROM Bookings b " + 35 | "JOIN Users u ON b.user_id = u.user_id " + 36 | "JOIN Rooms r ON b.room_id = r.room_id" 37 | ); 38 | 39 | while(rs.next()) { 40 | %> 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | <% 49 | } 50 | } catch(Exception e) { 51 | %> 52 | 53 | 54 | 55 | <% 56 | } finally { 57 | try { if(rs != null) rs.close(); } catch(Exception e) {} 58 | try { if(stmt != null) stmt.close(); } catch(Exception e) {} 59 | try { if(conn != null) conn.close(); } catch(Exception e) {} 60 | } 61 | %> 62 |
Booking IDUsernameRoomCheck-inCheck-out
<%= rs.getInt("booking_id") %><%= rs.getString("username") %><%= rs.getString("room_name") %><%= rs.getDate("check_in") %><%= rs.getDate("check_out") %>
Error: <%= e.getMessage() %>
63 | 64 | 65 | -------------------------------------------------------------------------------- /hotel_project/admin/contactDashboard.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*" %> 2 | 3 | 4 | 5 | Admin Dashboard - Contact Messages 6 | 12 | 13 | 14 |

Contact Messages

15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | <% 25 | Connection conn=null; 26 | Statement st=null; 27 | ResultSet rs=null; 28 | 29 | try{ 30 | Class.forName("oracle.jdbc.driver.OracleDriver"); 31 | conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","a12345"); 32 | 33 | st = conn.createStatement(); 34 | rs = st.executeQuery("SELECT contact_id, name, email, subject, message, contact_date FROM Contact ORDER BY contact_date DESC"); 35 | 36 | while(rs.next()){ 37 | %> 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | <% 47 | } 48 | }catch(Exception e){ 49 | %> 50 | 51 | <% 52 | }finally{ 53 | try{ if(rs!=null) rs.close(); }catch(Exception e){} 54 | try{ if(st!=null) st.close(); }catch(Exception e){} 55 | try{ if(conn!=null) conn.close(); }catch(Exception e){} 56 | } 57 | %> 58 |
IDNameEmailSubjectMessageDate
<%= rs.getInt("contact_id") %><%= rs.getString("name") %><%= rs.getString("email") %><%= rs.getString("subject") %><%= rs.getString("message") %><%= rs.getDate("contact_date") %>
Error: <%= e.getMessage() %>
59 | 60 | 61 | -------------------------------------------------------------------------------- /hotel_project/admin/reviews.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*" %> 2 | 3 | 4 | 5 | Admin - Bookings 6 | 13 | 14 | 15 |

All Bookings

16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | <% 25 | Connection conn = null; 26 | Statement stmt = null; 27 | ResultSet rs = null; 28 | 29 | try { 30 | Class.forName("oracle.jdbc.driver.OracleDriver"); 31 | conn = DriverManager.getConnection( 32 | "jdbc:oracle:thin:@localhost:1521:xe", "system", "a12345" 33 | ); 34 | stmt = conn.createStatement(); 35 | rs = stmt.executeQuery( 36 | "SELECT b.booking_id, u.username, r.room_name, b.check_in, b.check_out " + 37 | "FROM Bookings b " + 38 | "JOIN Users u ON b.user_id = u.user_id " + 39 | "JOIN Rooms r ON b.room_id = r.room_id" 40 | ); 41 | 42 | while(rs.next()) { 43 | %> 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | <% 52 | } 53 | } catch(Exception e) { 54 | %> 55 | 56 | 57 | 58 | <% 59 | } finally { 60 | try { if(rs != null) rs.close(); } catch(Exception e) {} 61 | try { if(stmt != null) stmt.close(); } catch(Exception e) {} 62 | try { if(conn != null) conn.close(); } catch(Exception e) {} 63 | } 64 | %> 65 |
Booking IDUsernameRoomCheck-inCheck-out
<%= rs.getInt("booking_id") %><%= rs.getString("username") %><%= rs.getString("room_name") %><%= rs.getDate("check_in") %><%= rs.getDate("check_out") %>
Error: <%= e.getMessage() %>
66 | 67 | 68 | -------------------------------------------------------------------------------- /hotel_project/bookings.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*" %> 2 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 3 | 4 | 5 | 6 | Bookings - Hotel Management System 7 | 14 | 15 | 16 |
17 |

Bookings

18 |
19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | <% 29 | Connection conn=null; 30 | Statement stmt=null; 31 | ResultSet rs=null; 32 | try{ 33 | Class.forName("oracle.jdbc.driver.OracleDriver"); 34 | conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","a12345"); 35 | stmt=conn.createStatement(); 36 | String query="SELECT b.booking_id,u.username,r.room_name,b.check_in,b.check_out " + 37 | "FROM Bookings b " + 38 | "JOIN Users u ON b.user_id=u.user_id " + 39 | "JOIN Rooms r ON b.room_id=r.room_id"; 40 | rs=stmt.executeQuery(query); 41 | while(rs.next()){ 42 | %> 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | <% 51 | } 52 | }catch(Exception e){ out.println(""); } 53 | finally{ try{if(rs!=null)rs.close();}catch(Exception e){} try{if(stmt!=null)stmt.close();}catch(Exception e){} try{if(conn!=null)conn.close();}catch(Exception e){} } 54 | %> 55 |
Booking IDUsernameRoomCheck-inCheck-out
<%=rs.getInt("booking_id")%><%=rs.getString("username")%><%=rs.getString("room_name")%><%=rs.getDate("check_in")%><%=rs.getDate("check_out")%>
Error: "+e.getMessage()+"
56 | 57 | 58 | -------------------------------------------------------------------------------- /hotel_project/contact.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*" %> 2 | 3 | 4 | 5 | Contact - Hotel Management System 6 | 17 | 18 | 19 |
20 |

Contact Us

21 | 30 |
31 |
32 |

Get in Touch

33 |
34 | 35 | 36 | 37 | 38 |
39 | <% 40 | if(request.getMethod().equalsIgnoreCase("POST")){ 41 | String name=request.getParameter("name"); 42 | String email=request.getParameter("email"); 43 | String message=request.getParameter("message"); 44 | out.println("

Thank you, "+name+". Your message has been received.

"); 45 | // Optionally insert into DB table "ContactMessages" 46 | } 47 | %> 48 |
49 | 50 | 51 | -------------------------------------------------------------------------------- /hotel_project/admin/rooms.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*, java.text.SimpleDateFormat" %> 2 | 3 | 4 | 5 | Admin - Bookings 6 | 13 | 14 | 15 |

All Bookings

16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | <% 25 | Connection conn = null; 26 | Statement stmt = null; 27 | ResultSet rs = null; 28 | 29 | try { 30 | Class.forName("oracle.jdbc.driver.OracleDriver"); 31 | conn = DriverManager.getConnection( 32 | "jdbc:oracle:thin:@localhost:1521:xe", "system", "a12345" 33 | ); 34 | 35 | stmt = conn.createStatement(); 36 | String sql = "SELECT b.booking_id, u.username, r.room_name, b.check_in, b.check_out " + 37 | "FROM Bookings b " + 38 | "JOIN Users u ON b.user_id = u.user_id " + 39 | "JOIN Rooms r ON b.room_id = r.room_id"; 40 | 41 | rs = stmt.executeQuery(sql); 42 | 43 | SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); 44 | 45 | while(rs.next()) { 46 | int bookingId = rs.getInt("booking_id"); 47 | String username = rs.getString("username"); 48 | String roomName = rs.getString("room_name"); 49 | java.sql.Date checkIn = rs.getDate("check_in"); 50 | java.sql.Date checkOut = rs.getDate("check_out"); 51 | %> 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | <% 60 | } 61 | } catch(Exception e) { 62 | %> 63 | 64 | 65 | 66 | <% 67 | } finally { 68 | try { if(rs != null) rs.close(); } catch(Exception e) {} 69 | try { if(stmt != null) stmt.close(); } catch(Exception e) {} 70 | try { if(conn != null) conn.close(); } catch(Exception e) {} 71 | } 72 | %> 73 |
Booking IDUsernameRoomCheck-inCheck-out
<%= bookingId %><%= username %><%= roomName %><%= checkIn != null ? sdf.format(checkIn) : "" %><%= checkOut != null ? sdf.format(checkOut) : "" %>
Error: <%= e.getMessage() %>
74 | 75 | 76 | -------------------------------------------------------------------------------- /hotel_project/admin/users.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*" %> 2 | 3 | 4 | 5 | Admin - Manage Users 6 | 16 | 17 | 18 |

Manage Users

19 | 20 | <% 21 | // Show message if any (from deleteUser.jsp) 22 | String msg = request.getParameter("msg"); 23 | if(msg != null){ 24 | %> 25 |

<%= msg %>

26 | <% 27 | } 28 | %> 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | <% 39 | Connection conn = null; 40 | Statement stmt = null; 41 | ResultSet rs = null; 42 | 43 | try { 44 | Class.forName("oracle.jdbc.driver.OracleDriver"); 45 | conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "system", "a12345"); 46 | stmt = conn.createStatement(); 47 | 48 | rs = stmt.executeQuery("SELECT user_id, username, email, user_role FROM Users"); 49 | 50 | while(rs.next()) { 51 | int userId = rs.getInt("user_id"); 52 | String username = rs.getString("username"); 53 | String email = rs.getString("email"); 54 | String role = rs.getString("user_role"); 55 | %> 56 | 57 | 58 | 59 | 60 | 61 | 65 | 66 | <% 67 | } 68 | } catch(Exception e) { 69 | %> 70 | 71 | 72 | 73 | <% 74 | } finally { 75 | try { if(rs != null) rs.close(); } catch(Exception e) {} 76 | try { if(stmt != null) stmt.close(); } catch(Exception e) {} 77 | try { if(conn != null) conn.close(); } catch(Exception e) {} 78 | } 79 | %> 80 |
User IDUsernameEmailRoleActions
<%= userId %><%= username %><%= email %><%= role %> 62 | Edit | 63 | Delete 64 |
Error: <%= e.getMessage() %>
81 | 82 | 83 | -------------------------------------------------------------------------------- /hotel_project/ratings.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*" %> 2 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 3 | 4 | 5 | 6 | Ratings - Hotel Management System 7 | 15 | 16 | 17 |
18 |

Ratings

19 |
20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | <% 29 | Connection conn = null; 30 | Statement stmt = null; 31 | ResultSet rs = null; 32 | 33 | try { 34 | Class.forName("oracle.jdbc.driver.OracleDriver"); 35 | conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","a12345"); 36 | 37 | String query = "SELECT u.username, r.room_name, rev.rating, rev.review_date " + 38 | "FROM Reviews rev " + 39 | "JOIN Users u ON rev.user_id = u.user_id " + 40 | "JOIN Rooms r ON rev.room_id = r.room_id"; 41 | 42 | stmt = conn.createStatement(); 43 | rs = stmt.executeQuery(query); 44 | 45 | while(rs.next()){ 46 | %> 47 | 48 | 49 | 50 | 51 | 52 | 53 | <% 54 | } 55 | } catch(Exception e){ 56 | out.println(""); 57 | } finally { 58 | try { if(rs != null) rs.close(); } catch(Exception e){} 59 | try { if(stmt != null) stmt.close(); } catch(Exception e){} 60 | try { if(conn != null) conn.close(); } catch(Exception e){} 61 | } 62 | %> 63 |
UsernameRoomRatingDate
<%= rs.getString("username") %><%= rs.getString("room_name") %><%= rs.getInt("rating") %><%= rs.getDate("review_date") %>
Error: " + e.getMessage() + "
64 |
65 | 66 | 67 | -------------------------------------------------------------------------------- /hotel_project/checkout.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*" %> 2 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 3 | 4 | 5 | 6 | Checkout - Hotel Management System 7 | 15 | 16 | 17 |
18 |

Checkout

19 | <% 20 | String roomId = request.getParameter("room_id"); 21 | String username = (String)session.getAttribute("username"); 22 | if(username==null){ response.sendRedirect("login.jsp"); } 23 | if(request.getMethod().equalsIgnoreCase("POST")){ 24 | String checkin=request.getParameter("checkin"); 25 | String checkout=request.getParameter("checkout"); 26 | Connection conn=null; 27 | PreparedStatement pst=null; 28 | try{ 29 | Class.forName("oracle.jdbc.driver.OracleDriver"); 30 | conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","a12345"); 31 | // get user_id 32 | Statement stmt=conn.createStatement(); 33 | ResultSet rs=stmt.executeQuery("SELECT user_id FROM Users WHERE username='"+username+"'"); 34 | int user_id=0; 35 | if(rs.next()){ user_id=rs.getInt("user_id"); } 36 | pst=conn.prepareStatement("INSERT INTO Bookings(booking_id,user_id,room_id,check_in,check_out) VALUES(Bookings_seq.NEXTVAL,?,?,TO_DATE(?,'YYYY-MM-DD'),TO_DATE(?,'YYYY-MM-DD'))"); 37 | pst.setInt(1,user_id); 38 | pst.setInt(2,Integer.parseInt(roomId)); 39 | pst.setString(3,checkin); 40 | pst.setString(4,checkout); 41 | int i=pst.executeUpdate(); 42 | if(i>0){ out.println("

Booking successful!

"); } 43 | }catch(Exception e){ out.println("

Error: "+e.getMessage()+"

"); } 44 | finally{ try{if(pst!=null)pst.close();}catch(Exception e){} try{if(conn!=null)conn.close();}catch(Exception e){} } 45 | } 46 | %> 47 |
48 | 49 | 50 | 51 | 52 | 53 |
54 |
55 | 56 | 57 | -------------------------------------------------------------------------------- /hotel_project/room.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*" %> 2 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 3 | 4 | 5 | 6 | Room Details 7 | 17 | 18 | 19 |
20 |

Room Details

21 | 30 |
31 |
32 | <% 33 | String roomId = request.getParameter("room_id"); 34 | if(roomId != null){ 35 | Connection conn = null; 36 | PreparedStatement ps = null; 37 | ResultSet rs = null; 38 | try{ 39 | Class.forName("oracle.jdbc.driver.OracleDriver"); 40 | conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","a12345"); 41 | 42 | int rId = Integer.parseInt(roomId); 43 | ps = conn.prepareStatement("SELECT * FROM Rooms WHERE room_id=?"); 44 | ps.setInt(1, rId); 45 | rs = ps.executeQuery(); 46 | 47 | if(rs.next()){ 48 | %> 49 | " alt="<%=rs.getString("room_name")%>"> 50 |
51 |

<%=rs.getString("room_name")%>

52 |

Type: <%=rs.getString("room_type")%>

53 |

Price: ₹<%=rs.getInt("price")%>

54 |

<%=rs.getString("description")%>

55 | ">Book Now 56 |
57 | <% 58 | } else { 59 | out.println("

Room not found.

"); 60 | } 61 | } catch(Exception e){ 62 | out.println("

Error: "+e.getMessage()+"

"); 63 | } finally{ 64 | try{if(rs!=null) rs.close();}catch(Exception e){} 65 | try{if(ps!=null) ps.close();}catch(Exception e){} 66 | try{if(conn!=null) conn.close();}catch(Exception e){} 67 | } 68 | } else { 69 | out.println("

Invalid Room ID.

"); 70 | } 71 | %> 72 |
73 | 74 | 75 | -------------------------------------------------------------------------------- /hotel_project/signup.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*" %> 2 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 3 | 4 | 5 | 6 | Sign Up - Hotel Management System 7 | 17 | 18 | 19 |
20 |

Sign Up

21 |
22 | 23 | 24 | 25 | 26 |
27 | <% 28 | if(request.getMethod().equalsIgnoreCase("POST")){ 29 | String username=request.getParameter("username"); 30 | String email=request.getParameter("email"); 31 | String password=request.getParameter("password"); 32 | Connection conn=null; 33 | PreparedStatement pst=null; 34 | try{ 35 | Class.forName("oracle.jdbc.driver.OracleDriver"); 36 | conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","a12345"); 37 | 38 | // Corrected: use user_role instead of role 39 | pst=conn.prepareStatement( 40 | "INSERT INTO Users(user_id, username, password, email, user_role) VALUES(Users_seq.NEXTVAL, ?, ?, ?, ?)" 41 | ); 42 | pst.setString(1, username); 43 | pst.setString(2, password); 44 | pst.setString(3, email); 45 | pst.setString(4, "user"); // default role 46 | 47 | int i=pst.executeUpdate(); 48 | if(i>0){ 49 | out.println("

Account created successfully! Login here

"); 50 | } 51 | }catch(Exception e){ 52 | out.println("

Error: "+e.getMessage()+"

"); 53 | }finally{ 54 | try{if(pst!=null)pst.close();}catch(Exception e){} 55 | try{if(conn!=null)conn.close();}catch(Exception e){} 56 | } 57 | } 58 | %> 59 |
60 | 61 | 62 | -------------------------------------------------------------------------------- /hotel_project/myaccount.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*" %> 2 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 3 | 4 | 5 | 6 | My Account - Hotel Management System 7 | 18 | 19 | 20 |
21 |

My Account

22 | 31 |
32 | 33 |
34 | <% 35 | // Session থেকে username নাও 36 | String username = (String) session.getAttribute("username"); 37 | if(username == null){ 38 | response.sendRedirect("login.jsp"); 39 | return; 40 | } 41 | 42 | Connection conn = null; 43 | PreparedStatement pst = null; 44 | ResultSet rs = null; 45 | 46 | try { 47 | Class.forName("oracle.jdbc.driver.OracleDriver"); 48 | conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","a12345"); 49 | 50 | // শুধু session username এর data select করো 51 | pst = conn.prepareStatement("SELECT * FROM Users WHERE username=?"); 52 | pst.setString(1, username); 53 | rs = pst.executeQuery(); 54 | 55 | if(rs.next()){ 56 | %> 57 |

Welcome, <%= rs.getString("username") %>

58 | 59 |
60 | 61 | " readonly> 62 | 63 | 64 | " required> 65 | 66 | 67 |
68 | <% 69 | } else { 70 | out.println("

User data not found!

"); 71 | } 72 | } catch(Exception e){ 73 | out.println("

Error: "+e.getMessage()+"

"); 74 | } finally { 75 | try{if(rs!=null) rs.close();}catch(Exception e){} 76 | try{if(pst!=null) pst.close();}catch(Exception e){} 77 | try{if(conn!=null) conn.close();}catch(Exception e){} 78 | } 79 | %> 80 |
81 | 82 | 83 | -------------------------------------------------------------------------------- /hotel_project/login.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*" %> 2 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 3 | 4 | 5 | 6 | 7 | Login - Hotel Management System 8 | 55 | 56 | 57 | 58 |
59 |

Login

60 |
61 | 62 | 63 | 64 |
65 | <% if(request.getMethod().equalsIgnoreCase("POST")){ String username=request.getParameter("username"); 66 | String password=request.getParameter("password"); Connection conn=null; PreparedStatement pst=null; 67 | ResultSet rs=null; try{ Class.forName("oracle.jdbc.driver.OracleDriver"); 68 | conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","a12345"); 69 | pst=conn.prepareStatement("SELECT * FROM Users WHERE username=? AND password=?"); pst.setString(1, 70 | username); pst.setString(2, password); rs=pst.executeQuery(); if(rs.next()){ 71 | session.setAttribute("username", username); response.sendRedirect("myaccount.jsp"); }else{ 72 | out.println("

Invalid username or password

"); 73 | } 74 | }catch(Exception e){ out.println("

Error: "+e.getMessage()+"

"); } 75 | finally{ try{if(rs!=null) rs.close();}catch(Exception e){} 76 | try{if(pst!=null)pst.close();}catch(Exception e){} try{if(conn!=null)conn.close();}catch(Exception 77 | e){} } 78 | } 79 | %> 80 |
81 | 82 | 83 | -------------------------------------------------------------------------------- /hotel_project/admin/editUser.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*" %> 2 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 3 | 4 | 5 | 6 | Edit User - Admin 7 | 15 | 16 | 17 |
18 | <% 19 | String userIdStr = request.getParameter("id"); 20 | 21 | if(userIdStr == null || userIdStr.trim().equals("")) { 22 | out.println("

No user selected. Go back

"); 23 | } else { 24 | 25 | int userId = Integer.parseInt(userIdStr); 26 | Connection conn = null; 27 | PreparedStatement ps = null; 28 | ResultSet rs = null; 29 | String username = "", email = "", role = ""; 30 | 31 | try { 32 | Class.forName("oracle.jdbc.driver.OracleDriver"); 33 | conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","a12345"); 34 | 35 | if("POST".equalsIgnoreCase(request.getMethod())) { 36 | // Update user 37 | String newUsername = request.getParameter("username"); 38 | String newEmail = request.getParameter("email"); 39 | String newRole = request.getParameter("user_role"); 40 | 41 | ps = conn.prepareStatement("UPDATE Users SET username=?, email=?, user_role=? WHERE user_id=?"); 42 | ps.setString(1, newUsername); 43 | ps.setString(2, newEmail); 44 | ps.setString(3, newRole); 45 | ps.setInt(4, userId); 46 | 47 | int updated = ps.executeUpdate(); 48 | if(updated > 0) { 49 | out.println("

User updated successfully. Back to Manage Users

"); 50 | } else { 51 | out.println("

Update failed. Back

"); 52 | } 53 | } else { 54 | // Fetch user data 55 | ps = conn.prepareStatement("SELECT username, email, user_role FROM Users WHERE user_id=?"); 56 | ps.setInt(1, userId); 57 | rs = ps.executeQuery(); 58 | 59 | if(rs.next()) { 60 | username = rs.getString("username"); 61 | email = rs.getString("email"); 62 | role = rs.getString("user_role"); 63 | } else { 64 | out.println("

User not found. Back

"); 65 | } 66 | } 67 | 68 | } catch(Exception e) { 69 | out.println("

Error: "+e.getMessage()+"

"); 70 | } finally { 71 | try { if(rs != null) rs.close(); } catch(Exception e) {} 72 | try { if(ps != null) ps.close(); } catch(Exception e) {} 73 | try { if(conn != null) conn.close(); } catch(Exception e) {} 74 | } 75 | 76 | // Only show form if user exists 77 | if(username != null && !username.equals("")) { 78 | %> 79 |
80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 91 | 92 | 93 |
94 | <% 95 | } // end if username exists 96 | } // end else for userIdStr null check 97 | %> 98 |
99 | 100 | 101 | -------------------------------------------------------------------------------- /hotel_project/searchresults.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2 | <%@ page import="java.sql.*" %> 3 | 4 | 5 | 6 | Search Results - Hotel Management System 7 | 26 | 27 | 28 | 29 |
30 |

Hotel Management System

31 |
32 | 33 | 40 | 41 |
42 |
43 | 44 | 45 |
46 |
47 | 48 |
49 | <% 50 | String keyword = request.getParameter("keyword"); 51 | if(keyword == null || keyword.trim().equals("")){ 52 | out.println("

Please enter a keyword to search.

"); 53 | } else { 54 | Connection conn = null; 55 | PreparedStatement ps = null; 56 | ResultSet rs = null; 57 | try{ 58 | Class.forName("oracle.jdbc.driver.OracleDriver"); 59 | conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","a12345"); 60 | 61 | // Make sure column names match your database 62 | ps = conn.prepareStatement( 63 | "SELECT * FROM Rooms WHERE LOWER(room_name) LIKE ? OR LOWER(room_type) LIKE ?" 64 | ); 65 | ps.setString(1, "%" + keyword.toLowerCase() + "%"); 66 | ps.setString(2, "%" + keyword.toLowerCase() + "%"); 67 | 68 | rs = ps.executeQuery(); 69 | 70 | while(rs.next()){ 71 | %> 72 |
73 | " alt="<%=rs.getString("room_name")%>"> 74 |

<%=rs.getString("room_name")%>

75 |

Type: <%=rs.getString("room_type")%>

76 |

Price: ₹<%=rs.getInt("price")%>

77 | ">View Details 78 |
79 | <% 80 | } 81 | } catch(Exception e){ 82 | out.println("

Error: " + e.getMessage() + "

"); 83 | } finally{ 84 | try{if(rs!=null) rs.close();}catch(Exception e){} 85 | try{if(ps!=null) ps.close();}catch(Exception e){} 86 | try{if(conn!=null) conn.close();}catch(Exception e){} 87 | } 88 | } 89 | %> 90 |
91 | 92 | 95 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /hotel_project/facilities.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2 | 3 | 4 | 5 | Facilities - THA Hotel 6 | 7 | 59 | 60 | 61 | 62 |
63 |

Our Facilities

64 |
65 | 66 | 73 | 74 |
75 |

Hotel Facilities

76 |
77 |
Free Wi-Fi in all rooms
78 |
Multi-cuisine Restaurant
79 |
Swimming Pool
80 |
Gym & Fitness Center
81 |
Free Parking
82 |
Spa and Wellness Center
83 |
24/7 Room Service
84 |
85 |
86 | 87 | 88 | 119 | 120 | 121 | 122 | -------------------------------------------------------------------------------- /hotel_project/updateMyAccount.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*" %> 2 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 3 | 4 | 5 | 6 | 7 | Update My Account - Hotel Management System 8 | 71 | 72 | 73 | 74 |
75 |

Update Account

76 | 77 | <% 78 | // Session check 79 | if(session == null || session.getAttribute("username") == null){ 80 | response.sendRedirect("login.jsp"); 81 | return; 82 | } 83 | 84 | String usernameSession = (String) session.getAttribute("username"); 85 | String message = ""; 86 | String error = ""; 87 | 88 | String currentUsername = ""; 89 | String currentEmail = ""; 90 | String currentPassword = ""; 91 | 92 | Connection conn = null; 93 | PreparedStatement pst = null; 94 | ResultSet rs = null; 95 | 96 | try { 97 | Class.forName("oracle.jdbc.driver.OracleDriver"); 98 | conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","a12345"); 99 | 100 | // Load current user info first 101 | pst = conn.prepareStatement("SELECT username, email, password FROM users WHERE username=?"); 102 | pst.setString(1, usernameSession); 103 | rs = pst.executeQuery(); 104 | if(rs.next()){ 105 | currentUsername = rs.getString("username"); 106 | currentEmail = rs.getString("email"); 107 | currentPassword = rs.getString("password"); 108 | } 109 | if(rs != null) { rs.close(); pst.close(); } 110 | 111 | // Form submit 112 | if(request.getMethod().equalsIgnoreCase("POST")){ 113 | String username = request.getParameter("username"); 114 | String email = request.getParameter("email"); 115 | String password = request.getParameter("password"); 116 | 117 | // Fix for ORA-01407: if password blank, keep old password 118 | if(password == null || password.trim().isEmpty()){ 119 | password = currentPassword; 120 | } 121 | 122 | pst = conn.prepareStatement("UPDATE users SET username=?, email=?, password=? WHERE username=?"); 123 | pst.setString(1, username); 124 | pst.setString(2, email); 125 | pst.setString(3, password); 126 | pst.setString(4, usernameSession); 127 | 128 | int rows = pst.executeUpdate(); 129 | if(rows > 0){ 130 | message = "Account updated successfully!"; 131 | session.setAttribute("username", username); // update session 132 | currentUsername = username; 133 | currentEmail = email; 134 | currentPassword = password; 135 | } else { 136 | error = "Update failed!"; 137 | } 138 | } 139 | 140 | } catch(Exception e){ 141 | error = "Error: " + e.getMessage(); 142 | } finally { 143 | try { if(rs != null) rs.close(); } catch(Exception e){} 144 | try { if(pst != null) pst.close(); } catch(Exception e){} 145 | try { if(conn != null) conn.close(); } catch(Exception e){} 146 | } 147 | %> 148 | 149 |

<%= message %>

150 |

<%= error %>

151 | 152 |
153 | 154 | 155 | 156 | 157 |
158 | 159 | Logout 160 |
161 | 162 | 163 | 164 | -------------------------------------------------------------------------------- /hotel_project/index.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2 | <%@ page import="java.sql.*" %> 3 | 4 | 5 | 6 | THA Hotel - Home 7 | 8 | 61 | 62 | 63 | 64 |
65 |

Welcome to THA Hotel

66 | 75 |
76 | 77 |
78 | <% 79 | Connection conn = null; 80 | Statement stmt = null; 81 | ResultSet rs = null; 82 | try { 83 | Class.forName("oracle.jdbc.driver.OracleDriver"); 84 | conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","a12345"); 85 | stmt = conn.createStatement(); 86 | 87 | rs = stmt.executeQuery("SELECT * FROM Rooms ORDER BY room_id"); 88 | while(rs.next()){ 89 | %> 90 |
91 | " alt="<%= rs.getString("room_name") %>"> 92 |

<%= rs.getString("room_name") %>

93 |

Type: <%= rs.getString("room_type") %>

94 |

Price: ₹<%= rs.getInt("price") %>

95 | ">View Details 96 |
97 | <% 98 | } 99 | } catch(Exception e){ 100 | out.println("

Error: "+e.getMessage()+"

"); 101 | } finally { 102 | try{ if(rs!=null) rs.close(); } catch(Exception e){} 103 | try{ if(stmt!=null) stmt.close(); } catch(Exception e){} 104 | try{ if(conn!=null) conn.close(); } catch(Exception e){} 105 | } 106 | %> 107 |
108 | 109 | 115 | 116 | 147 | 148 | 149 | 150 | -------------------------------------------------------------------------------- /hotel_project/about.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2 | 3 | 4 | 5 | About Us - THA Hotel 6 | 7 | 134 | 135 | 136 | 137 |
138 |

About THA Hotel

139 |
140 | 141 | 148 | 149 | 150 |
151 |

Our Story

152 |

Welcome to THA Hotel, your premier destination for luxury stays and exceptional hospitality. We offer a wide range of services to ensure a comfortable and memorable experience for all our guests.

153 |

Our goal is to make your stay enjoyable, convenient, and unforgettable. From modern amenities to personalized services, our hotel strives to meet all your needs, whether you are traveling for business or leisure.

154 |

Book with us today and experience excellence in every aspect of your stay at our Mohakhali location in Dhaka.

155 |
156 | 157 | 158 |
159 |

Our Location

160 | 166 |
167 | 168 | 169 | 200 | 201 | 202 | 203 | -------------------------------------------------------------------------------- /hotel_project/rooms.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.sql.*" %> 2 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 3 | 4 | 5 | 6 | Rooms - Hotel Management System 7 | 8 | 9 | 135 | 136 | 137 |
138 |

Rooms

139 | 148 |
149 |
150 |

Available Rooms

151 |
152 | <% 153 | Connection conn = null; 154 | Statement stmt = null; 155 | ResultSet rs = null; 156 | try { 157 | Class.forName("oracle.jdbc.driver.OracleDriver"); 158 | conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","a12345"); 159 | stmt = conn.createStatement(); 160 | 161 | rs = stmt.executeQuery("SELECT * FROM Rooms ORDER BY room_id"); 162 | while(rs.next()){ 163 | %> 164 |
165 | " alt="<%=rs.getString("room_name")%>"> 166 |

<%=rs.getString("room_name")%>

167 |

Type: <%=rs.getString("room_type")%>

168 |

Price: ₹<%=rs.getInt("price")%>

169 |

<%=rs.getString("description")%>

170 | ">View Details 171 |
172 | <% 173 | } 174 | } catch(Exception e) { 175 | out.println("

Error: "+e.getMessage()+"

"); 176 | } finally { 177 | try{ if(rs!=null) rs.close(); } catch(Exception e){} 178 | try{ if(stmt!=null) stmt.close(); } catch(Exception e){} 179 | try{ if(conn!=null) conn.close(); } catch(Exception e){} 180 | } 181 | %> 182 |
183 |
184 | 185 | 186 | 216 | 217 | 218 | -------------------------------------------------------------------------------- /hotel_project/pic.txt: -------------------------------------------------------------------------------- 1 | সেই ছবি গুলোকে room1.jpg, room2.jpg, room3.jpg, room4.jpg, room5.jpg, room6.jpg নামে rename করে রাখবে। 2 | 3 | Logo এর জন্য একটি PNG ছবি ডাউনলোড করে logo.png নামে রাখবে। 4 | 5 | 6 | 7 | Email / Username = admin@hotel.com 8 | 9 | Password = admin123 10 | 11 | Role = admin 12 | 13 | 14 | 15 | 🛠 Step 2: তোমার নিজের User বানাও (Optional, একবার করলে হবে) 16 | 17 | যদি আলাদা user বানাতে চাও (যেমন hotel): 18 | 19 | CREATE USER hotel IDENTIFIED BY hotel123; 20 | GRANT CONNECT, RESOURCE TO hotel; 21 | 22 | 23 | 24 | 25 | 26 | SQL*Plus: Release 21.0.0.0.0 - Production on Mon Sep 15 03:20:10 2025 27 | Version 21.3.0.0.0 28 | 29 | Copyright (c) 1982, 2021, Oracle. All rights reserved. 30 | 31 | Enter user-name: system 32 | Enter password: 33 | Last Successful login time: Mon Sep 15 2025 02:09:59 +06:00 34 | 35 | Connected to: 36 | Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production 37 | Version 21.3.0.0.0 38 | 39 | 40 | 41 | 42 | SQL> CREATE TABLE Rooms( 43 | 2 room_id NUMBER PRIMARY KEY, 44 | 3 room_name VARCHAR2(50), 45 | 4 room_type VARCHAR2(50), 46 | 5 price NUMBER(10,2), 47 | 6 image VARCHAR2(100), 48 | 7 description VARCHAR2(500) 49 | 8 ); 50 | 51 | Table created. 52 | 53 | SQL> 54 | SQL> CREATE TABLE Users( 55 | 2 user_id NUMBER PRIMARY KEY, 56 | 3 username VARCHAR2(50) UNIQUE NOT NULL, 57 | 4 password VARCHAR2(50) NOT NULL, 58 | 5 full_name VARCHAR2(100), 59 | 6 email VARCHAR2(100), 60 | 7 phone VARCHAR2(20) 61 | 8 ); 62 | 63 | Table created. 64 | 65 | SQL> 66 | SQL> CREATE TABLE Bookings( 67 | 2 booking_id NUMBER PRIMARY KEY, 68 | 3 user_id NUMBER REFERENCES Users(user_id), 69 | 4 room_id NUMBER REFERENCES Rooms(room_id), 70 | 5 check_in DATE, 71 | 6 check_out DATE, 72 | 7 total_amount NUMBER(10,2) 73 | 8 ); 74 | 75 | Table created. 76 | 77 | SQL> 78 | SQL> CREATE TABLE Reviews( 79 | 2 review_id NUMBER PRIMARY KEY, 80 | 3 user_id NUMBER REFERENCES Users(user_id), 81 | 4 room_id NUMBER REFERENCES Rooms(room_id), 82 | 5 rating NUMBER(1), 83 | 6 review_comment VARCHAR2(500), 84 | 7 review_date DATE DEFAULT SYSDATE 85 | 8 ); 86 | 87 | Table created. 88 | 89 | SQL> 90 | SQL> CREATE TABLE Contact( 91 | 2 contact_id NUMBER PRIMARY KEY, 92 | 3 name VARCHAR2(100), 93 | 4 email VARCHAR2(100), 94 | 5 subject VARCHAR2(200), 95 | 6 message VARCHAR2(1000), 96 | 7 contact_date DATE DEFAULT SYSDATE 97 | 8 ); 98 | 99 | Table created. 100 | 101 | SQL> 102 | SQL> CREATE TABLE Admins( 103 | 2 admin_id NUMBER PRIMARY KEY, 104 | 3 username VARCHAR2(50) UNIQUE NOT NULL, 105 | 4 password VARCHAR2(50) NOT NULL, 106 | 5 full_name VARCHAR2(100) 107 | 6 ); 108 | 109 | Table created. 110 | 111 | SQL> 112 | SQL> -- ========================= 113 | SQL> -- CREATE SEQUENCES 114 | SQL> -- ========================= 115 | SQL> CREATE SEQUENCE rooms_seq START WITH 7 INCREMENT BY 1; 116 | 117 | Sequence created. 118 | 119 | SQL> CREATE SEQUENCE users_seq START WITH 3 INCREMENT BY 1; 120 | 121 | Sequence created. 122 | 123 | SQL> CREATE SEQUENCE bookings_seq START WITH 3 INCREMENT BY 1; 124 | 125 | Sequence created. 126 | 127 | SQL> CREATE SEQUENCE reviews_seq START WITH 3 INCREMENT BY 1; 128 | 129 | Sequence created. 130 | 131 | SQL> CREATE SEQUENCE contact_seq START WITH 3 INCREMENT BY 1; 132 | 133 | Sequence created. 134 | 135 | SQL> CREATE SEQUENCE admins_seq START WITH 2 INCREMENT BY 1; 136 | 137 | Sequence created. 138 | 139 | SQL> 140 | SQL> -- ========================= 141 | SQL> -- INSERT DATA 142 | SQL> -- ========================= 143 | SQL> 144 | SQL> -- Rooms 145 | SQL> INSERT INTO Rooms VALUES(1,'Deluxe Room','Deluxe',5000,'room1.jpg','Spacious deluxe room'); 146 | 147 | 1 row created. 148 | 149 | SQL> INSERT INTO Rooms VALUES(2,'Luxury Room','Luxury',7000,'room2.jpg','Luxury amenities room'); 150 | 151 | 1 row created. 152 | 153 | SQL> INSERT INTO Rooms VALUES(3,'Suite','Suite',10000,'room3.jpg','Suite with sea view'); 154 | 155 | 1 row created. 156 | 157 | SQL> INSERT INTO Rooms VALUES(4,'Family Room','Family',6000,'room4.jpg','Perfect for families with children'); 158 | 159 | 1 row created. 160 | 161 | SQL> INSERT INTO Rooms VALUES(5,'Single Room','Single',3000,'room5.jpg','Cozy single room for solo travelers'); 162 | 163 | 1 row created. 164 | 165 | SQL> INSERT INTO Rooms VALUES(6,'Presidential Suite','Luxury',15000,'room6.jpg','Top-notch luxury with all amenities'); 166 | 167 | 1 row created. 168 | 169 | SQL> 170 | SQL> -- Users 171 | SQL> INSERT INTO Users VALUES(1,'john_doe','password123','John Doe','john@example.com','017XXXXXXXX'); 172 | 173 | 1 row created. 174 | 175 | SQL> INSERT INTO Users VALUES(2,'jane_smith','mypassword','Jane Smith','jane@example.com','018XXXXXXXX'); 176 | 177 | 1 row created. 178 | 179 | SQL> 180 | SQL> -- Bookings 181 | SQL> INSERT INTO Bookings VALUES(1,1,2,TO_DATE('2025-09-20','YYYY-MM-DD'),TO_DATE('2025-09-22','YYYY-MM-DD'),14000); 182 | 183 | 1 row created. 184 | 185 | SQL> INSERT INTO Bookings VALUES(2,2,1,TO_DATE('2025-10-01','YYYY-MM-DD'),TO_DATE('2025-10-05','YYYY-MM-DD'),20000); 186 | 187 | 1 row created. 188 | 189 | SQL> 190 | SQL> -- Reviews 191 | SQL> INSERT INTO Reviews VALUES(1,1,2,5,'Amazing room and service!',SYSDATE); 192 | 193 | 1 row created. 194 | 195 | SQL> INSERT INTO Reviews VALUES(2,2,1,4,'Very comfortable stay.',SYSDATE); 196 | 197 | 1 row created. 198 | 199 | SQL> 200 | SQL> -- Contact 201 | SQL> INSERT INTO Contact VALUES(1,'Alice','alice@example.com','Booking Inquiry','I want to know room availability.',SYSDATE); 202 | 203 | 1 row created. 204 | 205 | SQL> INSERT INTO Contact VALUES(2,'Bob','bob@example.com','General Question','Do you have parking facility?',SYSDATE); 206 | 207 | 1 row created. 208 | 209 | SQL> 210 | SQL> -- Admins 211 | SQL> INSERT INTO Admins VALUES(1,'admin','admin123','Super Admin'); 212 | 213 | 1 row created. 214 | 215 | SQL> 216 | SQL> COMMIT; 217 | 218 | Commit complete. 219 | 220 | SQL> 221 | SQL> -- ========================= 222 | SQL> -- OPTIONAL: NEW INSERTS USING SEQUENCES 223 | SQL> -- ========================= 224 | SQL> 225 | SQL> -- Rooms 226 | SQL> INSERT INTO Rooms (room_id, room_name, room_type, price, image, description) 227 | 2 VALUES (rooms_seq.nextval, 'Executive Room', 'Executive', 8000, 'room7.jpg', 'Stylish and comfortable'); 228 | 229 | 1 row created. 230 | 231 | SQL> 232 | SQL> -- Users 233 | SQL> INSERT INTO Users (user_id, username, password, full_name, email, phone) 234 | 2 VALUES (users_seq.nextval, 'alice_w', 'alice123', 'Alice Wonderland', 'alice@example.com', '019XXXXXXXX'); 235 | 236 | 1 row created. 237 | 238 | SQL> 239 | SQL> -- Bookings 240 | SQL> INSERT INTO Bookings (booking_id, user_id, room_id, check_in, check_out, total_amount) 241 | 2 VALUES (bookings_seq.nextval, 3, 4, TO_DATE('2025-12-01','YYYY-MM-DD'), TO_DATE('2025-12-05','YYYY-MM-DD'), 24000); 242 | 243 | 1 row created. 244 | 245 | SQL> 246 | SQL> -- Reviews 247 | SQL> INSERT INTO Reviews (review_id, user_id, room_id, rating, review_comment) 248 | 2 VALUES (reviews_seq.nextval, 3, 4, 5, 'Excellent stay with amazing facilities!'); 249 | 250 | 1 row created. 251 | 252 | SQL> 253 | SQL> -- Contact 254 | SQL> INSERT INTO Contact (contact_id, name, email, subject, message) 255 | 2 VALUES (contact_seq.nextval, 'Charlie', 'charlie@example.com', 'Feedback', 'Great service and rooms!'); 256 | 257 | 1 row created. 258 | 259 | SQL> 260 | SQL> -- Admins 261 | SQL> INSERT INTO Admins (admin_id, username, password, full_name) 262 | 2 VALUES (admins_seq.nextval, 'admin2', 'admin456', 'Second Admin'); 263 | 264 | 1 row created. 265 | 266 | SQL> 267 | SQL> COMMIT; 268 | 269 | Commit complete. 270 | 271 | SQL> ALTER TABLE Users 272 | 2 ADD user_role VARCHAR2(20) DEFAULT 'user'; 273 | 274 | Table altered. 275 | 276 | SQL> 277 | SQL> COMMIT; 278 | 279 | Commit complete. 280 | INSERT INTO Reviews(review_id, user_id, room_id, rating, review_comment) 281 | VALUES(1, 1, 2, 5, 'Amazing room and service!'); 282 | 283 | INSERT INTO Reviews(review_id, user_id, room_id, rating, review_comment) 284 | VALUES(2, 2, 1, 4, 'Very comfortable stay.'); 285 | 286 | COMMIT; 287 | --------------------------------------------------------------------------------