Spaces:
Sleeping
Sleeping
File size: 1,508 Bytes
6cf8871 74f57ab 6cf8871 74f57ab 6cf8871 06675a6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
from pydantic import BaseModel
from typing import List, Optional
class ReceiptItem(BaseModel):
description: str
amount: float
class FraudData(BaseModel):
fraud_detected: bool
fraud_type: Optional[str] = None # Type of fraud if detected, e.g., "duplicate", "suspicious"
class ReceiptData(BaseModel):
fraud_check: Optional[List[FraudData]] = False # Optional field for fraud detection
merchant: str
date: str
total_amount: float
items: Optional[List[ReceiptItem]] = None
class FeeItem(BaseModel):
bill_date: Optional[str] = None # Some bills may not have per-item date
description: str
amount: float
bill_month: Optional[str] = None # Some bills may not have a billing month
class ChildFeeForm(BaseModel):
items: List[FeeItem]
total: float # Calculated after parsing
class MedicalClaimItem(BaseModel):
name: str # Patient name
relationship: str # self, spouse, parent, child
category: str # in-patient, out-patient, maternity(cesarean), maternity(normal)
detail: str # doctor's fee, diagnostic tests, medicines, other hospitalization
amount: float
class MedicalReimbursementForm(BaseModel):
company: Optional[str] = None
extension_no: Optional[str] = None
employee_name: str
employee_code: str
department: Optional[str] = None
designation: Optional[str] = None
date: Optional[str] = None
billing_month: Optional[str] = None
claims: List[MedicalClaimItem]
total: float |