namespace POSGkSwaggerModel
{
    /// <summary>
    /// LoyaltyRewardLineItem &lt;emph&gt;undocumented&lt;/emph&gt;
    /// </summary>
    public record comGkSoftwareGkrApiTxpoolDtoLoyaltyRewardLineItem	{
        /// <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 ComGkSoftwareGkrApiTxpoolDtoLoyaltyRewardLineItemkey key { get; init; }
        /// <summary>
        /// The number of loyalty points awarded. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(11, 3). Be aware of this and round value!
        /// </summary>
        /// <value>The number of loyalty points awarded. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(11, 3). Be aware of this and round value!</value>
        public double? pointsAwardedCount { get; init; }
        /// <summary>
        /// Describes the kind of loyalty reward, possible values include frequent shopper points, coupon, gift certificate 
        /// </summary>
        /// <value>Describes the kind of loyalty reward, possible values include frequent shopper points, coupon, gift certificate </value>
        public string loyaltyRewardTypeCode { 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 money equivalent (expressed in local currency) to the number of frequent shopper points earned (PointsAwardedCount) 
        /// </summary>
        /// <value>The money equivalent (expressed in local currency) to the number of frequent shopper points earned (PointsAwardedCount) </value>
        public double? frequentShopperPointsEarnedAmount { get; init; }
        /// <summary>
        /// The ident of the manual trigger (because one line item can have more than one trigger) 
        /// </summary>
        /// <value>The ident of the manual trigger (because one line item can have more than one trigger) </value>
        public int? triggerSequenceNumber { get; init; }
        /// <summary>
        /// The amount which was used as base for the points&#39; calculation 
        /// </summary>
        /// <value>The amount which was used as base for the points&#39; calculation </value>
        public double? computationBaseAmount { 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 number of the coupon the customer gets 
        /// </summary>
        /// <value>The number of the coupon the customer gets </value>
        public string couponNumber { get; init; }
        /// <summary>
        /// The monetary value of the coupon the customer gets 
        /// </summary>
        /// <value>The monetary value of the coupon the customer gets </value>
        public double? couponAmount { get; init; }
        /// <summary>
        /// The monetary value printed or embossed on the GIFT CERTIFICATE.
        /// </summary>
        /// <value>The monetary value printed or embossed on the GIFT CERTIFICATE.</value>
        public double? giftCertificateFaceValueAmount { get; init; }
        /// <summary>
        /// The points calculation rule to be applied, expressed as a percentage of the calculation base. Corresponds to ItemPriceDerivationRule.PriceModificationPercent if available.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(13, 4). Be aware of this and round value!
        /// </summary>
        /// <value>The points calculation rule to be applied, expressed as a percentage of the calculation base. Corresponds to ItemPriceDerivationRule.PriceModificationPercent if available.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(13, 4). Be aware of this and round value!</value>
        public double? pointsPercentage { get; init; }
        /// <summary>
        /// list of coupon serials
        /// </summary>
        /// <value>list of coupon serials</value>
        public List<comGkSoftwareGkrApiTxpoolDtoLoyaltyRewardLineItemCouponSerial> LoyaltyRewardLineItemCouponSerialList { 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; }
	}
}
