Skip to main content
Glama
barvhaim

Israeli Land Authority MCP Server

by barvhaim
tender_models.py6.83 kB
""" Core tender data models """ from datetime import datetime from typing import Optional, List, Any, Dict from pydantic import BaseModel, Field, ConfigDict class TenderDocument(BaseModel): """Model for tender document information""" document_type: Optional[str] = Field(None, description="Type of document") title: Optional[str] = Field(None, description="Document title") update_date: Optional[datetime] = Field(None, description="Last update date") download_url: Optional[str] = Field(None, description="Download URL if available") class TenderAnnouncement(BaseModel): """Model for tender announcements and updates""" announcement_type: Optional[str] = Field(None, description="Type of announcement") title: Optional[str] = Field(None, description="Announcement title") date: Optional[datetime] = Field(None, description="Publication date") content: Optional[str] = Field(None, description="Announcement content") class TenderBasic(BaseModel): """Basic tender information from search results""" michraz_id: int = Field(..., description="Tender ID", alias="MichrazID") michraz_name: Optional[str] = Field( None, description="Tender name/number", alias="MichrazName" ) kod_merchav: Optional[int] = Field( None, description="Area code", alias="KodMerchav" ) status_michraz: Optional[int] = Field( None, description="Tender status code", alias="StatusMichraz" ) kod_yeud_michraz: Optional[int] = Field( None, description="Purpose code", alias="KodYeudMichraz" ) kod_yeshuv: Optional[int] = Field( None, description="Settlement code", alias="KodYeshuv" ) kod_sug_michraz: Optional[int] = Field( None, description="Tender type code", alias="KodSugMichraz" ) published_choveret: Optional[bool] = Field( None, description="Published booklet", alias="PublishedChoveret" ) mekuvan: Optional[bool] = Field(None, description="Reserved", alias="Mekuvan") yechidot_diur: Optional[int] = Field( None, description="Housing units", alias="YechidotDiur" ) shchuna: Optional[str] = Field(None, description="Neighborhood", alias="Shchuna") pirsum_date: Optional[datetime] = Field( None, description="Publication date", alias="PirsumDate" ) pticha_date: Optional[datetime] = Field( None, description="Opening date", alias="PtichaDate" ) sgira_date: Optional[datetime] = Field( None, description="Closing date", alias="SgiraDate" ) vaada_date: Optional[datetime] = Field( None, description="Committee date", alias="VaadaDate" ) choveret_update_date: Optional[datetime] = Field( None, description="Booklet update date", alias="ChoveretUpdateDate" ) khal_yaad_rashi: Optional[float] = Field( None, description="Minimum bid amount", alias="KhalYaadRashi" ) model_config = ConfigDict(populate_by_name=True) class TenderDetails(TenderBasic): """Detailed tender information""" tokef_arvut: Optional[datetime] = Field( None, description="Guarantee validity", alias="TokefArvut" ) tokef_arvut_sarvan: Optional[datetime] = Field( None, description="Root guarantee validity", alias="TokefArvutSarvan" ) sum_arvut_sarvan: Optional[float] = Field( None, description="Root guarantee amount", alias="SumArvutSarvan" ) schum_arvut: Optional[float] = Field( None, description="Guarantee amount", alias="SchumArvut" ) divur: Optional[str] = Field(None, description="Remarks", alias="Divur") comments: Optional[str] = Field( None, description="Additional comments", alias="Comments" ) michraz_doc_list: Optional[List[Dict[str, Any]]] = Field( None, description="Document list", alias="MichrazDocList" ) michraz_full_document: Optional[Dict[str, Any]] = Field( None, description="Full document", alias="MichrazFullDocument" ) tik: Optional[Dict[str, Any]] = Field(None, description="File details", alias="Tik") class TenderResult(BaseModel): """Model for tender results""" michraz_id: int = Field(..., description="Tender ID", alias="MichrazID") matach_number: Optional[str] = Field( None, description="Matach number", alias="MatachNumber" ) tochnit: Optional[str] = Field(None, description="Plan", alias="Tochnit") goral: Optional[str] = Field(None, description="Lot", alias="Goral") gush: Optional[str] = Field(None, description="Block", alias="Gush") chelka: Optional[str] = Field(None, description="Parcel", alias="Chelka") final_price: Optional[float] = Field( None, description="Final price in NIS", alias="FinalPrice" ) development_costs: Optional[float] = Field( None, description="Development costs in NIS", alias="DevelopmentCosts" ) yechidot_diur: Optional[int] = Field( None, description="Housing units", alias="YechidotDiur" ) winner_name: Optional[str] = Field( None, description="Winner name", alias="WinnerName" ) area: Optional[float] = Field( None, description="Area in square meters", alias="Area" ) min_price: Optional[float] = Field( None, description="Minimum price in NIS", alias="MinPrice" ) shuma_price: Optional[float] = Field( None, description="Appraisal price in NIS", alias="ShumaPrice" ) model_config = ConfigDict(populate_by_name=True) class SearchRequest(BaseModel): """Model for search request parameters""" tender_number: Optional[str] = None tender_types: Optional[List[int]] = None settlement: Optional[str] = None neighborhood: Optional[str] = None purpose: Optional[str] = None region: Optional[str] = None submission_date_from: Optional[datetime] = None submission_date_to: Optional[datetime] = None publication_date_from: Optional[datetime] = None publication_date_to: Optional[datetime] = None active_only: bool = False has_results: Optional[bool] = None sort_by: Optional[str] = None sort_order: Optional[str] = None page_size: int = 100 page_number: int = 1 class SearchResponse(BaseModel): """Model for search response""" results: List[TenderBasic] total_count: Optional[int] = None page_number: int = 1 page_size: int = 100 has_more: bool = False class TenderMapDetails(BaseModel): """Model for tender geographic/mapping data""" michraz_id: int = Field(..., description="Tender ID") coordinates: Optional[Dict[str, Any]] = Field( None, description="Geographic coordinates" ) map_data: Optional[Dict[str, Any]] = Field(None, description="Additional map data") model_config = ConfigDict(populate_by_name=True)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/barvhaim/remy-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server