The thing that strikes me about the similarity of the needs, is that already with the booking system, the relationship has more of the developer/client than I'd like. You could say I'm failing in managing expectations slightly. I'll get it back on track. Not that there's any problem, but there is this...
At what point is something software and no longer just a cool spreadsheet?
One of the really great things about spreadsheets is that they're almost agnostic about what you put in them. As soon as you start hanging interfaces off them, then the notion that perhaps you shouldn't be able to book a desk if someone else has already booked it ( sensible enough ) arises.
Except that an administrator might want to quickly and easily unbook a desk if someone phones in sick, freeing the desk up for other users.
An administrator might simply want to block out a number of desks, which might be done by setting the background to grey. Simple.
These sorts of things are easy when "it's just a spreadsheet" but they quickly become another feature to get bugs / slow down /need an interface / need maintaining when what you are looking at is software ( rather than "just a spreadsheet" ).
Finding the balance between the two is essential. What we need is a collection of people getting on doing great things with great tools, not the creation of another bottleneck of slightly less professional software development.
As our collective experience with AppsScript grows, we'll learn and develop approaches that we can share that people will be able add to their projects.