from pydantic import BaseModel from core.errors.get_error_msg import get_error_msg class TicketInvoice(BaseModel): temp_billing_code: str | None = None payment_type: str | None = None selected_currency: str | None = None due_amount: float | None = None address: str | None = None final_error_msg: str | None = None error_code: str | None = None errors: dict[str, str] = {} is_valid: bool = True def add_validation_error(self, field: str, message: str) -> None: self.errors[field] = message self.is_valid = False def add_error_code(self, error_code: str) -> None: self.error_code = error_code self.final_error_msg = get_error_msg(error_code) self.is_valid = False