from typing import Optional from pydantic import Field from .core_object_models import Core_Std_Obj_Base class Lookup_Base(Core_Std_Obj_Base): """ Standardized Baseline for Aether V3 Lookups. Follows the Hierarchical, Identity-Agnostic System. """ id_random: Optional[str] = Field(None, description="Public String ID (ID Vision)") account_id: Optional[int] = Field(None, description="Internal Account ID (NULL = Global)") account_id_random: Optional[str] = Field(None, description="Public Account ID") for_type: Optional[str] = Field(None, description="Polymorphic Context Type") for_id: Optional[int] = Field(None, description="Polymorphic Context Internal ID") for_id_random: Optional[str] = Field(None, description="Polymorphic Context Public ID") group: Optional[str] = Field(None, description="Primary Business Key / Cluster Key") name: Optional[str] = Field(None, description="Primary Display Label") description: Optional[str] = Field(None, description="Detailed Explanation") enable: Optional[bool] = Field(True, description="Active status (Shadowing/Negative Overrides)") hide: Optional[bool] = Field(False, description="UI Visibility flag") sort: Optional[int] = Field(0, description="Ordering priority") class Lu_Country_V3_Base(Lookup_Base): alpha_2_code: Optional[str] = None alpha_3_code: Optional[str] = None numeric_code: Optional[str] = None english_short_name: Optional[str] = None class Lu_Country_Subdivision_V3_Base(Lookup_Base): country_alpha_2_code: Optional[str] = None code: Optional[str] = None class Lu_Time_Zone_V3_Base(Lookup_Base): timezone: Optional[str] = None offset: Optional[str] = None