namespace POSGkSwaggerModel
{
    /// <summary>
    /// PriceModificationLineItem &lt;emph&gt;undocumented&lt;/emph&gt;
    /// </summary>
    public record comGkSoftwareGkrApiTxpoolDtoPriceModificationLineItem	{
        /// <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 ComGkSoftwareGkrApiTxpoolDtoPriceModificationLineItemkey key { get; init; }
        /// <summary>
        /// The unique identifier of the promotion.
        /// </summary>
        /// <value>The unique identifier of the promotion.</value>
        public string promotionID { get; init; }
        /// <summary>
        /// The unique identifier of the price derivation rule. 
        /// </summary>
        /// <value>The unique identifier of the price derivation rule. </value>
        public string priceDerivationRuleID { get; init; }
        /// <summary>
        /// The unique identifier of the root eligibility.
        /// </summary>
        /// <value>The unique identifier of the root eligibility.</value>
        public string priceDerivationRuleEligibilityID { get; init; }
        /// <summary>
        /// The percentage value in case of percentage price modifiers.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(13, 4). Be aware of this and round value!
        /// </summary>
        /// <value>The percentage value in case of percentage price modifiers.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(13, 4). Be aware of this and round value!</value>
        public double? percentage { get; init; }
        /// <summary>
        /// The monetary amount that the price modification was adjusted by (after calculation from the percentage). &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 that the price modification was adjusted by (after calculation from the percentage). &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!</value>
        public double? roundingAmount { get; init; }
        /// <summary>
        /// The monetary value of the price modification that was given. 
        /// </summary>
        /// <value>The monetary value of the price modification that was given. </value>
        public double? amount { get; init; }
        /// <summary>
        /// Indicates if this price modification was pro-rated across all of the Items in the RetailTransaction.Always true.
        /// </summary>
        /// <value>Indicates if this price modification was pro-rated across all of the Items in the RetailTransaction.Always true.</value>
        public bool? proRatedFlag { get; init; }
        /// <summary>
        /// The ident of the manual trigger (because a transaction item can have more than one trigger) 
        /// </summary>
        /// <value>The ident of the manual trigger (because a transaction item can have more than one trigger) </value>
        public int? triggerSequenceNumber { get; init; }
        /// <summary>
        /// The retail sale total price of the transaction before applying the current price modification line item 
        /// </summary>
        /// <value>The retail sale total price of the transaction before applying the current price modification line item </value>
        public double? extendedAmountBeforeModification { get; init; }
        /// <summary>
        /// The retail sale total price of the transaction before applying the current price modification line item
        /// </summary>
        /// <value>The retail sale total price of the transaction before applying the current price modification line item</value>
        public double? extendedAmountAfterModification { get; init; }
        /// <summary>
        /// A monetary amount which results from applying a price modification line item but does not affect the transaction total 
        /// </summary>
        /// <value>A monetary amount which results from applying a price modification line item but does not affect the transaction total </value>
        public double? extraAmount { get; init; }
        /// <summary>
        /// Determines whether this entry was created by an external system - if yes, it must not be changed, but own price modifications with higher sequence may be applied
        /// </summary>
        /// <value>Determines whether this entry was created by an external system - if yes, it must not be changed, but own price modifications with higher sequence may be applied</value>
        public bool? externalSystemOriginatorFlag { get; init; }
        /// <summary>
        /// The amount which was used as base for calculation of the price modification
        /// </summary>
        /// <value>The amount which was used as base for calculation of the price modification</value>
        public double? calculationBaseAmount { 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; }
	}
}
