This gym customer had thousands of active members, and offered class bookings blocked four terms a year. Spaces were limited and inevitably there was a rush at the bottleneck when term started. Staff were under a lot of pressure at those times.
The administration was via an ageing but very competent VB application. I helped create a publicly available web interface to allow customers to make their own bookings. Usually PHP talks to MySql, which is no great friend of VB. However, a little research let me work out making the connection to MsSQL via DLLs and some PHP.INI configuration, which proved 100% reliable.
Our application had to offer the expected benefits to match the manual sign-up process: by identifying yourself, you could get a discount if you already had a sibling enrolled. And if your previous attendance had been sufficiently successful, you would be offered automatic promotion, meaning the pick of the course at the next attainment level, which was specially practical for swimming classes.
We had a couple of curve-balls along the way: it was an “afterthought” that we had to take online payments. We actioned payments via PayChoice, which proved to be easy and problem-free. A bonus gremlin was added when a firewall was added by the network team without any warning, at the busiest time on the live system. This accidentally and secretly anonymised all the sessions. This entailed a fair amount of head-scratching and not a few annoyed customers, until we got it solved.
After that, each term became somewhat easier and took many hundreds of transactions away from the burden of the busy front desk.