namespace POSGkSwaggerModel
{
    /// <summary>
    /// DepositBagSettlementTenderDetail &lt;emph&gt;undocumented&lt;/emph&gt;
    /// </summary>
    public record comGkSoftwareGkrApiTxpoolDtoDepositBagSettlementTenderDetail	{
        /// <summary>
        /// &lt;p&gt;Getter for inner key class.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Getter for inner key class.&lt;/p&gt;</value>
        public ComGkSoftwareGkrApiTxpoolDtoDepositBagSettlementTenderDetailkey key { get; init; }
        /// <summary>
        /// Description of the tender
        /// </summary>
        /// <value>Description of the tender</value>
        public string tenderDescription { get; init; }
        /// <summary>
        /// The tender class code from master data
        /// </summary>
        /// <value>The tender class code from master data</value>
        public string tenderClassCode { get; init; }
        /// <summary>
        /// The currency symbol
        /// </summary>
        /// <value>The currency symbol</value>
        public string currencySymbol { get; init; }
        /// <summary>
        /// The quantitative conversion factor between foreign currency and local currency. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(14, 9). Be aware of this and round value!
        /// </summary>
        /// <value>The quantitative conversion factor between foreign currency and local currency. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(14, 9). Be aware of this and round value!</value>
        public double? exchangeRate { get; init; }
        /// <summary>
        /// Determines whether inside the calculation foreign currency -&gt; local currency the amount is to be multiplied with (true) or divided by (false) the ExchangeRate factor 
        /// </summary>
        /// <value>Determines whether inside the calculation foreign currency -&gt; local currency the amount is to be multiplied with (true) or divided by (false) the ExchangeRate factor </value>
        public bool? exchangeRateMultiplyFlag { get; init; }
        /// <summary>
        /// A flag to signify that specific tender type units need to be counted and recorded by the operator prior to a pickup. 
        /// </summary>
        /// <value>A flag to signify that specific tender type units need to be counted and recorded by the operator prior to a pickup. </value>
        public bool? unitCountRequiredFlag { get; init; }
        /// <summary>
        /// A flag to signify that a specific tender type amount needs to be counted and recorded by the operator prior to a pickup. 
        /// </summary>
        /// <value>A flag to signify that a specific tender type amount needs to be counted and recorded by the operator prior to a pickup. </value>
        public bool? amountCountRequiredFlag { get; init; }
        /// <summary>
        /// The opening tender balance
        /// </summary>
        /// <value>The opening tender balance</value>
        public double? openBalanceAmount { get; init; }
        /// <summary>
        /// The opening number of discrete tender media (e.g. currency bills, coins, credit/debit card signed slips, etc.)
        /// </summary>
        /// <value>The opening number of discrete tender media (e.g. currency bills, coins, credit/debit card signed slips, etc.)</value>
        public int? openMediaUnitQuantity { get; init; }
        /// <summary>
        /// The closing tender balance in main currencyCorresponds to the target values.
        /// </summary>
        /// <value>The closing tender balance in main currencyCorresponds to the target values.</value>
        public double? closeBalanceAmount { get; init; }
        /// <summary>
        /// The closing tender balance expressed in the currency of the tender&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!
        /// </summary>
        /// <value>The closing tender balance expressed in the currency of the tender&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!</value>
        public double? foreignCurrencyCloseBalanceAmount { get; init; }
        /// <summary>
        /// The closing number of discrete tender media (e.g. currency bills, coins, credit/debit card signed slips, etc.)
        /// </summary>
        /// <value>The closing number of discrete tender media (e.g. currency bills, coins, credit/debit card signed slips, etc.)</value>
        public int? closeMediaUnitQuantity { get; init; }
        /// <summary>
        /// The counted tender balance in main currency
        /// </summary>
        /// <value>The counted tender balance in main currency</value>
        public double? countedBalanceAmount { get; init; }
        /// <summary>
        /// The counted tender balance expressed in the currency of the tender&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!
        /// </summary>
        /// <value>The counted tender balance expressed in the currency of the tender&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!</value>
        public double? foreignCurrencyCountedBalanceAmount { get; init; }
        /// <summary>
        /// The counted number of discrete tender media (e.g. currency bills, coins, credit/debit card signed slips, etc.)
        /// </summary>
        /// <value>The counted number of discrete tender media (e.g. currency bills, coins, credit/debit card signed slips, etc.)</value>
        public int? countedMediaUnitQuantity { get; init; }
        /// <summary>
        /// The variance between closing balance amount and counted balance amount by subtracting the CloseBalanceAmount from the CountedBalanceAmount
        /// </summary>
        /// <value>The variance between closing balance amount and counted balance amount by subtracting the CloseBalanceAmount from the CountedBalanceAmount</value>
        public double? overUnderBalanceAmount { get; init; }
        /// <summary>
        /// The variance between closing media unit quantity and counted media unit quantity by subtracting the CloseMediaUnitQuantity from the CountedMediaUnitQuantity.
        /// </summary>
        /// <value>The variance between closing media unit quantity and counted media unit quantity by subtracting the CloseMediaUnitQuantity from the CountedMediaUnitQuantity.</value>
        public int? overUnderMediaUnitQuantity { get; init; }
        /// <summary>
        /// denomination list for counted values
        /// </summary>
        /// <value>denomination list for counted values</value>
        public List<comGkSoftwareGkrApiTxpoolDtoDepositBagSettlementTenderDenomination> DepositBagSettlementTenderDenominationList { get; init; }
        /// <summary>
        /// Customizable information 
        /// </summary>
        /// <value>Customizable information </value>
        public string xxcustom05 { get; init; }
        /// <summary>
        /// The currency code of the tender
        /// </summary>
        /// <value>The currency code of the tender</value>
        public string isocurrencyCode { get; init; }
        /// <summary>
        /// Customizable information 
        /// </summary>
        /// <value>Customizable information </value>
        public string xxcustom03 { get; init; }
        /// <summary>
        /// Customizable information 
        /// </summary>
        /// <value>Customizable information </value>
        public string xxcustom02 { get; init; }
        /// <summary>
        /// Customizable information 
        /// </summary>
        /// <value>Customizable information </value>
        public string xxcustom04 { get; init; }
        /// <summary>
        /// Customizable information 
        /// </summary>
        /// <value>Customizable information </value>
        public string xxcustom01 { get; init; }
	}
}
