from pydantic import BaseModel, Field
from typing import Optional
from datetime import date

class DevelopmentCreate(BaseModel):
    development_id: str = Field(..., example="DEV001")
    development_name: str = Field(..., example="Residencial Costa Azul")
    developer_id: str = Field(..., example="DEVELOPER123")
    state: str = Field(..., example="Sinaloa")
    municipality: str = Field(..., example="Mazatlán")
    housing_type: str = Field(..., example="Vertical")  # o "Horizontal"
    unit_count: int = Field(..., example=150)
    model_count: int = Field(..., example=4)
    building_floors: int = Field(..., example=8)
    shared_amenities: str = Field(..., example="Alberca, gimnasio, salón de eventos")
    land_area_m2: float = Field(..., example=3500.5)
    built_area_m2: float = Field(..., example=9800.0)
    construction_start_date: date = Field(..., example="2024-03-15")
    zone: str = Field(..., example="Marina")
    latitude: float = Field(..., example=23.2494)
    longitude: float = Field(..., example=-106.4111)
