Refactored FetchAvailableTimeSlots to handle soonest appointment time