finish calendar booking logic, still need to update spec