from typing import Any
from pydantic import BaseModel
class NormalizedPropertySchema(BaseModel):
property_type: str | None = None
deal_type: str | None = None
title: str | None = None
description: str | None = None
price: float | None = None
currency: str | None = None
original_price: float | None = None
original_currency: str | None = None
price_per_sqm: float | None = None
total_area: float | None = None
living_area: float | None = None
kitchen_area: float | None = None
land_area: float | None = None
rooms_count: int | None = None
bedrooms_count: int | None = None
bathrooms_count: int | None = None
layout: str | None = None
floor: int | None = None
floors_total: int | None = None
building_year: int | None = None
building_type: str | None = None
renovation_status: str | None = None
ceiling_height: float | None = None
material: str | None = None
has_balcony: bool | None = None
has_loggia: bool | None = None
balcony_count: int | None = None
loggia_count: int | None = None
bathroom_type: str | None = None
elevator_count: int | None = None
has_freight_elevator: bool | None = None
parking_type: str | None = None
heating_type: str | None = None
internet: bool | None = None
security: bool | None = None
windows_direction: str | None = None
window_view: str | None = None
address_raw: str | None = None
city: str | None = None
district: str | None = None
micro_district: str | None = None
street: str | None = None
house_number: str | None = None
metro_station: str | None = None
metro_distance_min: int | None = None
metro_distance_type: str | None = None
latitude: float | None = None
longitude: float | None = None
contact_phone: str | None = None
contact_name: str | None = None
contact_email: str | None = None
is_agent: bool | None = None
agency_name: str | None = None
publish_date: str | None = None
url_source: str | None = None
images: list[str] = []
custom_fields: dict[str, Any] = {}