This is an exploration of effective schema design for a "free time" appointment scheduler. It makes one strong assumption:
Your database is PostgreSQL 9.0+.
Given that, the result is not too bad - seems effective in this particular use-case. I don't really want to translate this into ActiveRecord though. *sigh*
Run this using:
$ psql -f 4_runner.sql