Skip to content
◀ All case studies
STAGE 1-2Live · Taking bookings

Pickle Grounds

Court booking & payments platform

The live booking system for an indoor pickleball facility in Davao City: customers pick hourly court slots, pay by GCash and get confirmed by staff, while the owner runs everything from a full admin panel.

Pickle Grounds logo
picklegroundsdvo.vercel.app/book

Book a court

Pick your hours

PRIME · ₱420/hr
Thu15Fri16Sat17Sun18Mon19Tue20Wed21
C1C2C3C4C53 PM4 PM5 PM6 PM7 PM8 PM

Tap free hours to select

courts on one live grid
5courts on one live grid
database security checks
423database security checks
double bookings possible
0double bookings possible
customer booking rush load-tested
200customer booking rush load-tested

01 — The brief

A new facility needed online booking before opening day: hourly slots across five courts, GCash payments the staff can verify, different prices for prime time, and an admin panel the owner can run without a developer.

02 — What we built

WebMobile web

FOR CUSTOMERS

  • Tap hourly tiles per court; Google sign-in or an email link
  • Pay by GCash QR, upload the screenshot, get notified when confirmed
  • My bookings with cancellations, balances and receipts
  • Normal and Prime pricing shown before checkout

FOR STAFF

  • Live courts × hours dashboard and payment verification queue
  • Internal bookings up to a year ahead, recurring by weekday
  • Downpayments, cash payments, balances and voids
  • Closures, booking window and prices without touching code

UNDER THE HOOD

  • Every business rule enforced in SQL, not just the UI
  • Role-based access: admin, super admin and a separate fee account
  • Rate limiting at the edge and in the database
  • Customer exports and marketing consent handled per RA 10173

03 — Boss fights

The hard problems, and how we beat them.

  1. BOSS 1

    No double bookings, ever

    A unique index in Postgres makes one person per court-hour a database fact. Tested with 25 simultaneous requests for the same slot: exactly one wins, every time.

    Cleared!

  2. BOSS 2

    Deploys that don't interrupt anyone

    Every release is backward-compatible across the switch, so a customer mid-checkout or staff mid-verification keeps working while a new version goes live.

    Cleared!

  3. BOSS 3

    Opening-day traffic

    Availability is served from the CDN, cached per date for 5 seconds, so a crowd checking the same day shares one database query. Load-tested with a 200-customer booking rush.

    Cleared!

04 — Project tags

Industry
Sports & Recreation
Services
Booking & ReservationsPayments IntegrationAdmin DashboardsSecurity & Access ControlPerformance Engineering
Outcomes
Launch-Day ReadyZero Double BookingsSelf-Service Booking