namespace POSGkSwaggerModel
{
    /// <summary>
    /// SaleReturnTaxOverrideModifier &lt;emph&gt;undocumented&lt;/emph&gt;
    /// </summary>
    public record comGkSoftwareGkrApiTxpoolDtoSaleReturnTaxOverrideModifier	{
        /// <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 ComGkSoftwareGkrApiTxpoolDtoSaleReturnTaxOverrideModifierkey key { 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>
        /// The monetary amount for which tax is applicable at the new rate. &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 for which tax is applicable at the new rate. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!</value>
        public double? taxableAmount { get; init; }
        /// <summary>
        /// The original amount of Tax that should&#39;ve been collected but wasn&#39;t because of this TaxOverrideModifier. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!
        /// </summary>
        /// <value>The original amount of Tax that should&#39;ve been collected but wasn&#39;t because of this TaxOverrideModifier. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!</value>
        public double? originalTaxAmount { get; init; }
        /// <summary>
        /// The new amount of Tax that is being collected because of this TaxOverrideModifier. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!
        /// </summary>
        /// <value>The new amount of Tax that is being collected because of this TaxOverrideModifier. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!</value>
        public double? newTaxAmount { get; init; }
        /// <summary>
        /// The original tax rate that should&#39;ve been collected but wasn&#39;t because of this TaxOverrideModifier. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(7, 4). Be aware of this and round value!
        /// </summary>
        /// <value>The original tax rate that should&#39;ve been collected but wasn&#39;t because of this TaxOverrideModifier. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(7, 4). Be aware of this and round value!</value>
        public double? originalTaxPercent { get; init; }
        /// <summary>
        /// The new tax rate that is being collected because of this TaxOverrideModifier. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(7, 4). Be aware of this and round value!
        /// </summary>
        /// <value>The new tax rate that is being collected because of this TaxOverrideModifier. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(7, 4). Be aware of this and round value!</value>
        public double? newTaxPercent { get; init; }
        /// <summary>
        /// A retailer assigned reason code denoting why this TaxOverride is being granted.  
        /// </summary>
        /// <value>A retailer assigned reason code denoting why this TaxOverride is being granted.  </value>
        public string reasonCode { get; init; }
        /// <summary>
        /// A narrative description describing the use of the retailer assigned tax override reason code
        /// </summary>
        /// <value>A narrative description describing the use of the retailer assigned tax override reason code</value>
        public string reasonDescription { 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; }
	}
}
