Automating Pool Bed Reservations at a Private Members Club

How I reverse engineered a members club reservation API and built a Swift bot that guarantees I always get a pool bed.

MC

Michael Cummings

June 18, 2025 · 2 min read

iOS app interface automatically reserving a pool bed

Last summer I developed a slightly ridiculous but very effective solution to a very first-world problem.

Pool beds at a certain private members club are extremely difficult to reserve.

Every morning, reservations open at a specific time. And when I say you have to be fast — I mean *fast*. Beds disappear in seconds. If you’re even a few seconds late, you’re staring at a fully booked calendar.

After losing the race a few too many times, I decided to automate it.

Understanding the System

The club’s mobile app talks to a backend API to check availability and create reservations. Like most modern apps, the client is really just a thin wrapper around HTTP requests.

So the plan was simple:

  • Observe the network traffic
  • Reverse engineer the API
  • Replicate the reservation request
  • Trigger it exactly when reservations open
  • I started by intercepting requests from the official mobile app and mapping out the endpoints involved in:

  • authentication
  • checking availability
  • creating reservations
  • Once I understood the request structure, replicating it was straightforward.

    The Bot

    The bot wakes up a few seconds before reservations open and begins polling the availability endpoint. The moment beds become available, it fires the reservation request.

    Because the API accepts reservations immediately once availability flips, the bot consistently books before humans can even load the page.

    The result: I have never missed a reservation since.

    Turning it into an iOS App

    Originally this was just a command line script.

    But eventually I wrapped the functionality in a native iOS app written in Swift so I could:

  • manage authentication
  • configure preferred locations
  • monitor reservation status
  • trigger the bot automatically
  • The app basically runs the same automation logic, but with a UI and scheduling.

    App home screen
    App home screen
    Reservation configuration
    Reservation configuration
    Successful booking screen
    Successful booking screen

    Lessons Learned

    A few takeaways:

  • Most mobile apps are thin API clients
  • If you understand the API, you understand the system
  • Timing matters more than speed in reservation systems
  • Automation is extremely satisfying when it solves a personal annoyance
  • Is this overkill for booking a pool bed?

    Absolutely.

    Was it worth it?

    Also absolutely.


    MC

    Michael Cummings