"""Pydantic Model For Account Statements.""" from pydantic import BaseModel from pydantic import ConfigDict class AccountStatementsDataloaderSchema(BaseModel): """Account statements dataloader request body.""" contract_id: int | None = None statement_period_ids: list[int] class AccountStatementsReservesSchema(BaseModel): """Account statement period detail response.""" account_id: int contract_id: int | None = None ledger_reserve_release_total: float | None = None ledger_reserve_taken_total: float | None = None ledger_reserve_total: float | None = None statement_period_id: int model_config = ConfigDict(from_attributes=True) class FlowthroughPayableBalanceSchema(BaseModel): """Flowthrough payable balance amount.""" amount: float currency_code: str statement_period_id: int class PaymentAllocationDetailSchema(BaseModel): """Payment Allocation detail response for a contract.""" reference_adjustment_type_id: int apply_to_statement_period_id: int reference_adjustment_type: str adjustment_amount: float currency_code: str