namespace POSGkSwaggerModel
{
    /// <summary>
    /// TaxLineItem &lt;emph&gt;undocumented&lt;/emph&gt;
    /// </summary>
    public record comGkSoftwareGkrApiTxpoolDtoTaxLineItem	{
        /// <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 ComGkSoftwareGkrApiTxpoolDtoTaxLineItemkey key { get; init; }
        /// <summary>
        /// A flag denoting that all applicable taxes are included in the prices for this line item, and that therefore this SaleReturnTaxLineItem is merely a summary of those taxes, 
        /// </summary>
        /// <value>A flag denoting that all applicable taxes are included in the prices for this line item, and that therefore this SaleReturnTaxLineItem is merely a summary of those taxes, </value>
        public bool? taxIncludedInPricesFlag { get; init; }
        /// <summary>
        /// A flag denoting that the goods being sold and shipped have been taxed according to the TaxAuthorityShippingRule. 
        /// </summary>
        /// <value>A flag denoting that the goods being sold and shipped have been taxed according to the TaxAuthorityShippingRule. </value>
        public bool? taxAtSourceFlag { get; init; }
        /// <summary>
        /// The percentage of the taxable amount that is liable for tax. Usually this is 100% but where an aggregate item contains taxed and non-taxed goods this value may be less than 100%. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(7, 4). Be aware of this and round value!
        /// </summary>
        /// <value>The percentage of the taxable amount that is liable for tax. Usually this is 100% but where an aggregate item contains taxed and non-taxed goods this value may be less than 100%. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(7, 4). Be aware of this and round value!</value>
        public double? taxablePercent { get; init; }
        /// <summary>
        /// The monetary value of the transaction for which tax is being calculated. 
        /// </summary>
        /// <value>The monetary value of the transaction for which tax is being calculated. </value>
        public double? taxableAmount { get; init; }
        /// <summary>
        /// The percentage of the taxable amount that should is tax. Derived by applying the appropriate TaxGroupRule and TaxRateRule. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(7, 4). Be aware of this and round value!
        /// </summary>
        /// <value>The percentage of the taxable amount that should is tax. Derived by applying the appropriate TaxGroupRule and TaxRateRule. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(7, 4). Be aware of this and round value!</value>
        public double? taxPercent { get; init; }
        /// <summary>
        /// The monetary amount of sales Tax calculated by applying the appropriate TaxGroupRule and TaxRateRule. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!
        /// </summary>
        /// <value>The monetary amount of sales Tax calculated by applying the appropriate TaxGroupRule and TaxRateRule. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!</value>
        public double? taxAmount { get; init; }
        /// <summary>
        /// System assigned unique identifier for the TaxGroupRule.
        /// </summary>
        /// <value>System assigned unique identifier for the TaxGroupRule.</value>
        public string taxGroupRuleID { get; init; }
        /// <summary>
        /// A specific TAX AUTHORITY that establishes the tax rate. The TAX AUTHORITY is normally a government body. 
        /// </summary>
        /// <value>A specific TAX AUTHORITY that establishes the tax rate. The TAX AUTHORITY is normally a government body. </value>
        public string taxAuthorityID { get; init; }
        /// <summary>
        /// The name of the tax authority. This is to be printed on the receipt in some cases 
        /// </summary>
        /// <value>The name of the tax authority. This is to be printed on the receipt in some cases </value>
        public string taxAuthorityName { get; init; }
        /// <summary>
        /// A tax group which links a TAX AUTHORITY to the merchandise to which the tax applies. 
        /// </summary>
        /// <value>A tax group which links a TAX AUTHORITY to the merchandise to which the tax applies. </value>
        public string taxGroupID { get; init; }
        /// <summary>
        /// A short code that is printed on a receipt to denote items that are in this TaxableGroup.
        /// </summary>
        /// <value>A short code that is printed on a receipt to denote items that are in this TaxableGroup.</value>
        public string receiptPrintCode { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom05 { 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; }
	}
}
