from pydantic import BaseModel from datetime import datetime from typing import Optional class MembershipBase(BaseModel): company_code: str level: int start_date: datetime end_date: datetime class MembershipCreate(MembershipBase): pass class MembershipUpdate(BaseModel): level: Optional[int] = None start_date: Optional[datetime] = None end_date: Optional[datetime] = None class MembershipResponse(MembershipBase): id: int created_at: datetime updated_at: Optional[datetime] = None class Config: from_attributes = True