from pydantic import BaseModel, Field, EmailStr from typing import Optional from datetime import datetime class ScheduleIn(BaseModel): resume_id: str candidate_email: EmailStr candidate_name: str interview_date: str # ISO string or YYYY-MM-DD interview_time: str # HH:MM AM/PM interview_type: str = "Technical" # Technical, HR, etc. meeting_link: Optional[str] = None notes: Optional[str] = None class ScheduleOut(ScheduleIn): id: str user_id: str status: str = "Scheduled" # Scheduled, Completed, Cancelled created_at: datetime updated_at: datetime