namespace POSGkSwaggerModel
{
    /// <summary>
    /// RetailTransactionPromotionRecommendationMissingTrigger &lt;emph&gt;undocumented&lt;/emph&gt;
    /// </summary>
    public record comGkSoftwareGkrApiTxpoolDtoRetailTransactionPromotionRecommendationMissingTrigger	{
        /// <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 ComGkSoftwareGkrApiTxpoolDtoRetailTransactionPromotionRecommendationMissingTriggerkey key { get; init; }
        /// <summary>
        /// A code that indicates the type of the price derivation rule eligibility.
        /// </summary>
        /// <value>A code that indicates the type of the price derivation rule eligibility.</value>
        public string eligibilityTypeCode { get; init; }
        /// <summary>
        /// The trigger identifier (item id, merchandise hierarchy group id, merchandise set id, coupon number, etc.).
        /// </summary>
        /// <value>The trigger identifier (item id, merchandise hierarchy group id, merchandise set id, coupon number, etc.).</value>
        public string triggerID { get; init; }
        /// <summary>
        /// Further information regarding to the trigger (unit of measure code, merchandise hierarchy group id qualifier).
        /// </summary>
        /// <value>Further information regarding to the trigger (unit of measure code, merchandise hierarchy group id qualifier).</value>
        public string triggerIDQualifier { get; init; }
        /// <summary>
        /// A code for the type of threshold which applies to the eligibility.
        /// </summary>
        /// <value>A code for the type of threshold which applies to the eligibility.</value>
        public string thresholdTypeCode { get; init; }
        /// <summary>
        /// The quantity of the trigger item required to be purchased to trigger the price derivation rule.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 3). Be aware of this and round value!
        /// </summary>
        /// <value>The quantity of the trigger item required to be purchased to trigger the price derivation rule.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 3). Be aware of this and round value!</value>
        public double? thresholdQuantity { get; init; }
        /// <summary>
        /// A monetary amount of the trigger item required to be purchased to trigger the price derivation rule.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!
        /// </summary>
        /// <value>A monetary amount of the trigger item required to be purchased to trigger the price derivation rule.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!</value>
        public double? thresholdAmount { get; init; }
        /// <summary>
        /// An interval quantity for which the price derivation rule is eligible.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 3). Be aware of this and round value!
        /// </summary>
        /// <value>An interval quantity for which the price derivation rule is eligible.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 3). Be aware of this and round value!</value>
        public double? intervalQuantity { get; init; }
        /// <summary>
        /// An interval monetary armount for which the price derivation rule is eligible.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!
        /// </summary>
        /// <value>An interval monetary armount for which the price derivation rule is eligible.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!</value>
        public double? intervalAmount { get; init; }
        /// <summary>
        /// The maximum number of the trigger item for which the price derivation rule is eligible.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 3). Be aware of this and round value!
        /// </summary>
        /// <value>The maximum number of the trigger item for which the price derivation rule is eligible.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 3). Be aware of this and round value!</value>
        public double? limitQuantity { get; init; }
        /// <summary>
        /// The maximum monetary amount of the trigger item for which the price derivation rule is eligible.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!
        /// </summary>
        /// <value>The maximum monetary amount of the trigger item for which the price derivation rule is eligible.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!</value>
        public double? limitAmount { get; init; }
        /// <summary>
        /// The missing quantity to reach the threshold quantity. Only filled in case of quantity-related triggers.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 3). Be aware of this and round value!
        /// </summary>
        /// <value>The missing quantity to reach the threshold quantity. Only filled in case of quantity-related triggers.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 3). Be aware of this and round value!</value>
        public double? missingQuantity { get; init; }
        /// <summary>
        /// The missing amount to reach the threshold amount. Only filled in case of amount-related triggers.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!
        /// </summary>
        /// <value>The missing amount to reach the threshold amount. Only filled in case of amount-related triggers.&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(16, 5). Be aware of this and round value!</value>
        public double? missingAmount { get; init; }
        /// <summary>
        /// Further information regarding to the trigger.
        /// </summary>
        /// <value>Further information regarding to the trigger.</value>
        public string triggerIDQualifier2 { get; init; }
        /// <summary>
        /// The list of references to the line items partially fulfilling the eligibility of the promotion being recommended for the transaction
        /// </summary>
        /// <value>The list of references to the line items partially fulfilling the eligibility of the promotion being recommended for the transaction</value>
        public List<comGkSoftwareGkrApiTxpoolDtoRetailTransactionPromotionRecommendationPartiallyFulfilledTriggerReference> RetailTransactionPromotionRecommendationPartiallyFulfilledTriggerReferenceList { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom08 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom10 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom09 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom07 { 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 xxcustom06 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom11 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom12 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom13 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom14 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom15 { 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 xxcustom16 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom17 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom18 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom19 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom20 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom21 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom22 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom23 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom24 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom25 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom26 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom27 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom28 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom29 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom30 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom01 { get; init; }
	}
}
