added methods and validation to allow you to make a reservation