Hotel Booking Interface & Hotel Management System

2022 - Present

Project Overview

HandyHotel is a hotel management system developed using Java and a 9-dimensional array for optimal data handling and operations management. Designed to modernize and streamline older Marriott franchise locations, particularly in hill stations like Mahabaleshwar, it has been adopted by 11 franchises, collectively managing 1,023 rooms. The backend leverages the Spring Boot framework and Hibernate for seamless database interactions with MySQL, while the frontend, developed with React.js and Next.js, ensures a smooth, server-side rendered user interface. This system not only automates room bookings, pricing updates, and billing but also simplifies the user experience for non-technical staff, resulting in significant operational improvements and customer satisfaction.

The Problem

import java.util.*; //imports the necessary extensions needed 
public class bookingroom
{
    public static String [][][][][][][][][] everything= new String [3][2][31][4][2][100][231][365][100]; //9d array, originally this was storing everything
    public static String [][][] date_largeroom= new String[2][31][4]; //array where data of booking of large room is stored. the first row stores data of which month booking is happening, second which is coloumn stores the rows and the last one stores data such as name, booking code, whether room on that specific day is empty or booked and finally the day
    public static String [][][] date_smallroom1= new String[2][31][4];//same application as above but for the small room no.1
    public static String [][][] date_smallroom2= new String[2][31][4]; //same but for small room no.2
    public static String name; //stores name of person booking
    public static String booked="booked"; //variable to check booking
    public static int totalcost; //total money earnt through all rooms
    public static int costl; //money from large room
    public static int costs1; //momey from small room
    public static int costs2; //money from second small room 
    public static void main(String[]args) //main method which will be run 
    {
        name();
    }

    public static void name() //method to collect name from user
    {
        Scanner sc=new Scanner(System.in); //the scanner name is sc in most methods and is used for function overloading
        System.out.println("Enter your full name : ");
        name= sc.nextLine();
        System.out.println(" ");
        sc.close();
        roomchoice();
    }

Older hotel properties often face challenges with outdated systems that cannot meet modern demands like real-time room availability, dynamic pricing, and efficient database management. For Marriott franchises, this created inefficiencies, delayed booking processes, and a poor customer experience. Additionally, most hotel staff at these locations were non-technical, making it difficult to adopt newer, more complex systems. The need for a streamlined, user-friendly solution that could modernize operations without requiring extensive technical knowledge became essential for improving day-to-day management.

The Solution

import { useState } from 'react'
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"
import { Button } from "@/components/ui/button"
import { Calendar } from "@/components/ui/calendar"
import {
  Card,
  CardContent,
  CardDescription,
  CardHeader,
  CardTitle,
} from "@/components/ui/card"
import {
  DropdownMenu,
  DropdownMenuContent,
  DropdownMenuItem,
  DropdownMenuLabel,
  DropdownMenuSeparator,
  DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu"
import { Input } from "@/components/ui/input"
import {
  Table,
  TableBody,
  TableCell,
  TableHead,
  TableHeader,
  TableRow,
} from "@/components/ui/table"
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"
import {
  BellIcon,
  CalendarIcon,
  CreditCardIcon,
  IndianRupeeIcon,
  HomeIcon,
  LogOutIcon,
  SearchIcon,
  SettingsIcon,
  UserIcon,
  UsersIcon,
  UtensilsIcon,
  WifiIcon,
  SunIcon,
  MoonIcon,
  CloudIcon,
  UmbrellaIcon,
} from "lucide-react"

HandyHotel provided the solution by utilizing Java and a 9D array for optimal backend processing, making it capable of handling complex operations across multiple franchises. The Spring Boot and Hibernate integration ensured smooth database management, while React.js and Next.js created an easy-to-use frontend for non-technical staff. Material-UI further simplified the user interface, making it intuitive for daily operations. With the system adopted across 11 franchises managing 1,023 rooms, it not only modernized operations but also drastically improved booking accuracy, streamlined processes, and enhanced overall efficiency in hotel management.

More Projects