namespace POSGkSwaggerModel
{
    /// <summary>
    /// PromotionTriggerValidationRequest &lt;p&gt;Request object for validating line item promotion triggers.&lt;/p&gt;
    /// </summary>
    public record comGkSoftwarePosApiServicePromotionPromotionTriggerValidationRequest	{
        /// <summary>
        /// &lt;p&gt;Promotion configuration used for checking line item promotion triggers.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Promotion configuration used for checking line item promotion triggers.&lt;/p&gt;</value>
        public ComGkSoftwarePosApiModelConfigProcessActionpromotionOperationConfig promotionOperationConfig { get; init; }
        /// <summary>
        /// &lt;p&gt;Position operation configuration.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Position operation configuration.&lt;/p&gt;</value>
        public ComGkSoftwarePosApiModelConfigProcessActionpositionOperationConfig positionOperationConfig { get; init; }
        /// <summary>
        /// &lt;p&gt;The key of the line item to have its promotion triggers validated.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The key of the line item to have its promotion triggers validated.&lt;/p&gt;</value>
        public ComGkSoftwarePosApiModelDomAppServicesTransactionRetailTransactionlineItemKey lineItemKey { get; init; }
        /// <summary>
        /// &lt;p&gt;The promotion value. The meaning of this field depends on the privilege type present in the promotion configuration (promotionOperationConfig) as following:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;PromotionTriggerPrivilegeType equals to &#39;RP&#39;: promotion percentage value.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;PromotionTriggerPrivilegeType equals to &#39;PS&#39;: new unit price.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;PromotionTriggerPrivilegeType equals to &#39;AM&#39;: rebate total amount.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;PromotionTriggerPrivilegeType equals to &#39;RS&#39;: rebate amount for item unit.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>&lt;p&gt;The promotion value. The meaning of this field depends on the privilege type present in the promotion configuration (promotionOperationConfig) as following:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;PromotionTriggerPrivilegeType equals to &#39;RP&#39;: promotion percentage value.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;PromotionTriggerPrivilegeType equals to &#39;PS&#39;: new unit price.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;PromotionTriggerPrivilegeType equals to &#39;AM&#39;: rebate total amount.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;PromotionTriggerPrivilegeType equals to &#39;RS&#39;: rebate amount for item unit.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;</value>
        public double? promotionValue { get; init; }
        /// <summary>
        /// &lt;p&gt;Attribute currently not used.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Attribute currently not used.&lt;/p&gt;</value>
        public bool? validationMode { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom08 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom10 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom09 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom07 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom05 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom06 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom11 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom12 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom13 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom14 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom15 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom03 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom02 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom04 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom01 { get; init; }
	}
}
