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 | |
| } |