Refactored a lot of code.
Added DailyReservations abstraction for handling court preferences.