Project Case Study / 2025

Room Booking System

Technologies:LaravelVue.js

Role

Web Developer

Year

2025

Overview

Room Booking System is a module of Pratama Digital System (PDS), the internal platform at PT Pratama Abadi Industri, that I built as a Web Developer using Laravel for the backend and Vue.js for the frontend. It gives everyone in the office a single, shared place to see which meeting rooms are in use and to reserve one in just a few clicks.

Before this system, booking a meeting room depended entirely on an admin. Employees had to contact the admin just to find out which rooms were free, wait for a reply, and then ask again to confirm the reservation. Schedules were tracked manually, so availability was hard to see at a glance, double bookings happened, and even a short meeting could take several messages to arrange.

Room Booking System replaces that back-and-forth with a self-service flow. Bookings are shown on an interactive calendar with Day, Week, and Month views, color-coded per room, so employees can instantly see when and where meetings are happening. Creating a booking takes a single form: meeting title, description, key person, room, date, and time. While the form is being filled in, the system checks availability in real time and shows how many rooms are still free for the selected slot, so a room can only be booked when it is actually available. Every booking has a detail view showing who created it, the key person, schedule, and duration, and can be printed when needed.

The result is a booking process that no longer waits on an admin: employees schedule meetings on their own, conflicts are prevented by the system instead of caught afterwards, and the whole office works from the same up-to-date schedule.

Key Features

  • Interactive calendar with Day, Week, and Month views, color-coded per room
  • Real-time availability check that shows how many rooms are free for the selected time
  • Self-service booking form with meeting title, description, key person, room, date, and time
  • Booking search and per-room filtering
  • Booking detail view with creator, key person, schedule, and duration, plus print support
  • Light and dark theme

The Challenge

Replacing an admin-dependent, manually tracked booking process with a self-service flow where anyone can book a room directly, while making sure the system itself prevents double bookings by validating room availability in real time.

Screens

Day view — every room's schedule for the day side by side
Month view — booking load per day at a glance
Create booking — live room availability for the selected slot
Booking detail — schedule, key person, duration, and print