Add/Edit Appointment Functionality