Shower Booking System

Once in a while a request will come in from left field.  This was one of them: implement a shower booking system for the new office.

I implemented a finite state machine, using XML to store state, and XSLT to transform from one state to another. XSLT to transform the state file to HTML views. And a little ASP to implement webhooks to kick off the transforms.