"""Schemas for Ledger Reserve Taken.""" from abacus_common_logic.marshalling.custom_fields import ma class LedgerReserveTakenDetailSchema(ma.Schema): """Ledger Reserve Taken detail schema.""" ledger_reserve_taken_id = ma.NonNegativeInteger(required=True) abacus_event_id = ma.NonNegativeInteger(required=True) contract_reserve_id = ma.NonNegativeInteger(required=True) accounting_run_id = ma.NonNegativeInteger(required=True) statement_period_id = ma.NonNegativeInteger(required=True) currency_code = ma.NonemptyString(required=True) gross_sales = ma.Decimal(as_string=True, required=True) gross_returns = ma.Decimal(as_string=True, required=True) net_revenue = ma.Decimal(as_string=True, required=True) reserve_amount = ma.Decimal(as_string=True, required=True) net_revenue_after_reserve = ma.Decimal(as_string=True, required=True) class LedgerReserveTakenWithAccountContractSchema(LedgerReserveTakenDetailSchema): """Schema to get Ledger Reserve Taken With Account and Contract.""" contract_id = ma.NonNegativeInteger(required=True) account_id = ma.NonNegativeInteger(required=True)