Automating Pool Bed Reservations at a Private Members Club

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

MC

Michael Cummings

June 18, 2025 · 2 min read

A perfect summer afternoon by a rooftop pool in Chicago's West Loop.
A perfect summer afternoon by a rooftop pool in Chicago's West Loop.

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:

  1. Observe the network traffic
  2. Reverse engineer the API
  3. Replicate the reservation request
  4. 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.

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.

automationreverse engineeringswiftiosbots

MC

Michael Cummings