Project Case Study / 2026
Padel Booking System
Overview
Padel Booking System (PBS) is a web platform for booking padel courts online, built with Laravel for the backend and React for the frontend, with payments fully integrated through Midtrans. It connects two sides of the same court: players who want to secure a slot quickly, and court owners who need to keep their schedule full and their payments in order.
As padel grows in popularity, booking a court is often still done through chat messages and manual transfers. Players have to ask which slots are free, wait for a reply, send payment proof, and hope the slot hasn't been taken in the meantime. Owners, on the other hand, spend their time answering the same questions, checking transfers one by one, and keeping schedules up to date by hand, which easily leads to double bookings and missed payments.
PBS turns that entire process into a single self-service flow. For users, a schedule view compares free hours across every court on one screen, and booking takes three steps: pick a date up to 30 days ahead, choose a court, and select 60-minute slots. The chosen slot is held for 15 minutes while the user pays through Midtrans using QRIS, e-wallets, or virtual accounts, and the booking is confirmed automatically once Midtrans reports a successful payment. Prices are calculated on the server per slot, with different rates for off-peak and weekend hours, and vouchers can be applied at checkout. Guests can book without an account, while registered members unlock a 30% down payment option, a saved booking history with e-tickets, and automatic invoices.
For owners, PBS comes with an admin panel to run the venue day to day: managing courts, pricing, and blocked schedule slots, monitoring bookings and payments, handling cancellations and refunds, creating vouchers, managing customers, and exporting reports. On the venue floor, staff can scan a booking to check players in.
By putting availability, booking, and payment into one connected system, PBS removes the back-and-forth for players and the manual admin work for owners, so every booked slot is backed by a payment and the schedule always reflects reality.
Key Features
- Separate experiences for users (guests and members) and owners, with an admin panel for the venue
- Schedule view comparing free hours across all courts, bookable up to 30 days ahead
- Midtrans payments via QRIS, e-wallets, and virtual accounts, with automatic confirmation
- 15-minute slot hold during checkout to prevent double bookings
- Server-side pricing per slot with off-peak and weekend rates, plus vouchers
- Member benefits: 30% down payment, booking history with e-tickets, and automatic invoices
- Owner tools for courts, pricing, slot blocking, refunds, customers, and exportable reports
- Staff check-in by scanning the player's booking
The Challenge
Keeping availability and payment in sync: holding a slot only while the user pays, confirming it automatically from Midtrans payment notifications, and releasing it when payment never arrives, all while serving players, members, and owners with very different needs in one system.