Spaces:
Configuration error
Configuration error
from typing import Dict, Any | |
from datetime import datetime, timedelta | |
import json | |
class PolicyGenerator: | |
def __init__(self): | |
self.policy_counter = 0 | |
def generate_policy(self, offer_data: Dict[str, Any]) -> Dict[str, Any]: | |
"""Generiranje zavarovalne police""" | |
self.policy_counter += 1 | |
start_date = datetime.now() | |
end_date = start_date + timedelta(days=365) | |
return { | |
"policy_number": f"POL-{datetime.now().year}-{self.policy_counter:04d}", | |
"start_date": start_date.isoformat(), | |
"end_date": end_date.isoformat(), | |
"premium": offer_data["premium"], | |
"coverage": offer_data["coverage"], | |
"terms": offer_data["terms"] | |
} | |
def save_policy(self, policy: Dict[str, Any], filepath: str) -> None: | |
"""Shranjevanje police v JSON formatu""" | |
with open(filepath, 'w', encoding='utf-8') as f: | |
json.dump(policy, f, indent=2, ensure_ascii=False) | |
class ClaimsHandler: | |
def __init__(self): | |
self.valid_claim_types = {"damage", "theft", "liability"} | |
def validate_claim(self, claim_data: Dict[str, Any]) -> bool: | |
"""Preverjanje veljavnosti zahtevka""" | |
return all([ | |
claim_data.get("type") in self.valid_claim_types, | |
claim_data.get("policy_number"), | |
claim_data.get("date_of_incident"), | |
claim_data.get("description") | |
]) | |
def process_claim(self, claim_data: Dict[str, Any]) -> Dict[str, Any]: | |
"""Obdelava zahtevka""" | |
if not self.validate_claim(claim_data): | |
return {"status": "rejected", "reason": "Neveljavni podatki zahtevka"} | |
# Tukaj bi dodali logiko za oceno zahtevka | |
return { | |
"status": "processing", | |
"claim_id": f"CLM-{datetime.now().strftime('%Y%m%d-%H%M%S')}", | |
"estimated_payout": 0.0 | |
} |