CASE STUDY
Service Booking
Maro Barbershop Booking System
A web app for choosing a service, barber, and time slot. Customers can review their bookings, admins manage orders, and barbers see their own schedules.
TECHNOLOGIES USED
Laravel 10 / MySQL / Blade / Bootstrap 4 / AdminLTE 3 / Midtrans Sandbox / TCPDF
PROBLEM
Barbershop bookings need to account for service duration, barber schedules, and occupied slots. Without checking them together, appointments can overlap and order status becomes harder to follow.
MAIN FEATURES
-
01
Step-by-step booking
Customers select a service, barber, and time slot in a clear sequence.
-
02
Overlapping-slot checks
Slots are checked against service duration and existing bookings.
-
03
Role-specific views
Customers, admins, and barbers see different information and actions.
-
04
Booking and payment status
Customers, administrators, and barbers can follow booking status. The payment flow is prepared for Midtrans Sandbox.
-
05
PDF reports
Admins can filter bookings by date and download a report.
IMPLEMENTATION
I built a step-by-step booking flow: choose a service, barber, then an available time. Before saving a booking, the application checks for overlaps using the service duration. Administrators have a dashboard, a date-filtered booking list, and PDF reports. Barbers can view bookings by date and mark services as completed. The code includes a Midtrans Sandbox integration; local booking does not depend on live transactions.
PROJECT SCREENS
Open screen 01 at full size
Open screen 02 at full size
Open screen 03 at full size
Open screen 04 at full size
Open screen 05 at full size
Open screen 06 at full size
Open screen 07 at full size
Open screen 08 at full size
RESULT
The application has been used for service bookings and barber scheduling. Customers can review their booking history, while admins and barbers follow the work through their respective views.
Need an application for a similar workflow?
Tell me who will use it, how the current process works, and which features are required. I’ll review the requirements before discussing the technical solution.
Talk About a Project