namespace POSGkSwaggerModel
{
    /// <summary>
    /// PromotionOperationConfig &lt;p&gt;This configuration entity defines promotion related operations.&lt;/p&gt;
    /// </summary>
    public record comGkSoftwarePosApiModelConfigProcessActionPromotionOperationConfig	{
        /// <summary>
        /// &lt;p&gt;This parameter defines the price modification type code.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;value: PromotionTriggerPrivilegeType [REBATESINGLE, REBATEPERCENT, NEWPRICE, REBATEAMOUNT]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;RebateSingle as &#39;RS&#39;,&lt;/li&gt;&lt;br /&gt; &lt;li&gt;RebatePercent as &#39;RP&#39;,&lt;/li&gt;&lt;br /&gt; &lt;li&gt;NewPrice as &#39;PS&#39;,&lt;/li&gt;&lt;br /&gt; &lt;li&gt;RebateAmount as &#39;AM&#39;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines the price modification type code.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;value: PromotionTriggerPrivilegeType [REBATESINGLE, REBATEPERCENT, NEWPRICE, REBATEAMOUNT]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;RebateSingle as &#39;RS&#39;,&lt;/li&gt;&lt;br /&gt; &lt;li&gt;RebatePercent as &#39;RP&#39;,&lt;/li&gt;&lt;br /&gt; &lt;li&gt;NewPrice as &#39;PS&#39;,&lt;/li&gt;&lt;br /&gt; &lt;li&gt;RebateAmount as &#39;AM&#39;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;</value>
        public privilegeTypeEnum privilegeType { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter defines the sequence handling type code.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;value: PromotionTriggerSequenceType [FIX, MAX, SAME]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;FIX as &#39;FIX&#39;,&lt;/li&gt;&lt;br /&gt; &lt;li&gt;MAX as &#39;MAX&#39;,&lt;/li&gt;&lt;br /&gt; &lt;li&gt;SAME as &#39;SAME&#39;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines the sequence handling type code.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;value: PromotionTriggerSequenceType [FIX, MAX, SAME]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;FIX as &#39;FIX&#39;,&lt;/li&gt;&lt;br /&gt; &lt;li&gt;MAX as &#39;MAX&#39;,&lt;/li&gt;&lt;br /&gt; &lt;li&gt;SAME as &#39;SAME&#39;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;</value>
        public sequenceTypeEnum sequenceType { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter defines which price deviation type is allowed.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;value: PriceDeviationType [ALL, EQUAL_LESS, EQUAL_GREATER]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;ALL as &#39;ALL&#39;,&lt;/li&gt;&lt;br /&gt; &lt;li&gt;EQUAL_LESS as &#39;EQUAL_LESS&#39;,&lt;/li&gt;&lt;br /&gt; &lt;li&gt;EQUAL_GREATER as &#39;EQUAL_GREATER&#39;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines which price deviation type is allowed.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;value: PriceDeviationType [ALL, EQUAL_LESS, EQUAL_GREATER]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;ALL as &#39;ALL&#39;,&lt;/li&gt;&lt;br /&gt; &lt;li&gt;EQUAL_LESS as &#39;EQUAL_LESS&#39;,&lt;/li&gt;&lt;br /&gt; &lt;li&gt;EQUAL_GREATER as &#39;EQUAL_GREATER&#39;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;</value>
        public priceDeviationTypeEnum priceDeviationType { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter defines the trigger type for the loyalty engine. (e.g. CO)&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines the trigger type for the loyalty engine. (e.g. CO)&lt;/p&gt;</value>
        public string triggerType { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter defines the trigger value for the loyalty engine.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines the trigger value for the loyalty engine.&lt;/p&gt;</value>
        public string triggerValue { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter defines the predefined discount or reduction value.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines the predefined discount or reduction value.&lt;/p&gt;</value>
        public double? privilegeValue { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter defines the start sequence number of promotions with the same trigger value.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines the start sequence number of promotions with the same trigger value.&lt;/p&gt;</value>
        public int? startSequence { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter defines the maximum number of promotions with the same trigger value.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines the maximum number of promotions with the same trigger value.&lt;/p&gt;</value>
        public int? maxSequence { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter defines the maximum percentage deviation from the unit price of the item. A warning message is displayed, if the defined maxLimitWarn is exceeded.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines the maximum percentage deviation from the unit price of the item. A warning message is displayed, if the defined maxLimitWarn is exceeded.&lt;/p&gt;</value>
        public double? maxLimitWarn { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter defines the maximum percentage deviation from the unit price of the item. An authorization is required, if the defined maxLimitAuthorize is exceeded.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines the maximum percentage deviation from the unit price of the item. An authorization is required, if the defined maxLimitAuthorize is exceeded.&lt;/p&gt;</value>
        public double? maxLimitAuthorize { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter defines the maximum percentage deviation from the unit price of the item. An error message is required, if the defined maxLimitForbid is exceeded. The operation will be canceled.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines the maximum percentage deviation from the unit price of the item. An error message is required, if the defined maxLimitForbid is exceeded. The operation will be canceled.&lt;/p&gt;</value>
        public double? maxLimitForbid { 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; }
	}
}
