from pydantic import BaseModel, Field, EmailStr class PersonBase(BaseModel): first_name: str = Field(..., description="Person's first name") last_name: str = Field(..., description="Person's last name") email: EmailStr = Field(..., description="Person's email address") phone_number: str | None = Field(None, description="Person's phone number") class PersonCreate(PersonBase): class Config: schema_extra = { "example": { "first_name": "John", "last_name": "Doe", "email": "john.doe@example.com", "phone_number": "+1234567890" } } class PersonResponse(PersonBase): id: int class Config: orm_mode = True