Refactor appointment cancellation and rescheduling endpoints; update appointment model to include cancel_reason and remove unused AppointmentCancellation model.
Refactor appointment model to enforce payment_details as a required field and update appointment data serialization method for compatibility with Pydantic v1 and v2