"""Models for payment processors.""" from decimal import Decimal from typing import List from pydantic import BaseModel from src.models import Account, FlowthroughAllocation class WorksheetPayableCalculatorDetail(BaseModel): """Class contains info for payable detail items that are not shared by parent worksheet.""" amount_payable: Decimal target_table: str target_id: int reference_target_table: str | None = None reference_target_id: int | None = None payable_detail_type_id: int class EligibleAccountLevelData(Account): """This class encompasses all the account level data needed for payment calculation.""" account_id: int country_of_tax_residence: str currency_code: str country_of_tax_policy: str | None = None class ContractLevelFlowthroughAllocationData(BaseModel): """This class encompasses all the flowthrough allocation data needed for payment calculation at contract level.""" sum: Decimal items: List[FlowthroughAllocation]