namespace POSGkSwaggerModel
{
    /// <summary>
    /// RegistrationServiceFeeRequest &lt;p&gt;The entity RegistrationServiceFeeRequest&lt;/p&gt;
    /// </summary>
    public record comGkSoftwarePosApiServiceTransactionRegistrationServiceFeeRequest	{
        /// <summary>
        /// &lt;p&gt;This parameter defines whether a percentage of the total or an absolute value is set as price for the service item.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;values: PS, TP&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;&#39;PS&#39; (&#x3D; price single - for setting a single price depending on the threshold)&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&#39;TP&#39; (&#x3D; total percent - for setting the price as a percentage of the total)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines whether a percentage of the total or an absolute value is set as price for the service item.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;values: PS, TP&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;&#39;PS&#39; (&#x3D; price single - for setting a single price depending on the threshold)&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&#39;TP&#39; (&#x3D; total percent - for setting the price as a percentage of the total)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;</value>
        public preCommissioningTypeCodeEnum preCommissioningTypeCode { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter defines the rounding rule in case of PreCommissioningTypeCode &#x3D; &#39;TP&#39;.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;values: NO_ROUNDING, ROUND_HALF_UP, ROUND_DOWN, ROUND_UP, ROUND_HALF_DOWN&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;NO_ROUNDING (00)&lt;/li&gt;&lt;br /&gt; &lt;li&gt;ROUND_HALF_UP (01)&lt;/li&gt;&lt;br /&gt; &lt;li&gt;ROUND_DOWN (02)&lt;/li&gt;&lt;br /&gt; &lt;li&gt;ROUND_UP (03)&lt;/li&gt;&lt;br /&gt; &lt;li&gt;ROUND_HALF_DOWN (04)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines the rounding rule in case of PreCommissioningTypeCode &#x3D; &#39;TP&#39;.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;values: NO_ROUNDING, ROUND_HALF_UP, ROUND_DOWN, ROUND_UP, ROUND_HALF_DOWN&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;NO_ROUNDING (00)&lt;/li&gt;&lt;br /&gt; &lt;li&gt;ROUND_HALF_UP (01)&lt;/li&gt;&lt;br /&gt; &lt;li&gt;ROUND_DOWN (02)&lt;/li&gt;&lt;br /&gt; &lt;li&gt;ROUND_UP (03)&lt;/li&gt;&lt;br /&gt; &lt;li&gt;ROUND_HALF_DOWN (04)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;</value>
        public preCommissioningRoundMethodEnum preCommissioningRoundMethod { get; init; }
        /// <summary>
        /// &lt;p&gt;This config defines a PositionOperationConfig for registering of Service Fee Line Item.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;This config defines a PositionOperationConfig for registering of Service Fee Line Item.&lt;/p&gt;</value>
        public ComGkSoftwarePosApiModelConfigProcessActionPositionOperationConfig operationConfiguration { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter defines a list of thresholds for pre-commissioning.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines a list of thresholds for pre-commissioning.&lt;/p&gt;</value>
        public List<string> PreCommissioningThresholdList { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter defines a list of absolute values (PreCommissioningTypeCode &#x3D; &#39;PS&#39;) or percentage rates (PreCommissioningTypeCode &#x3D; &#39;TP&#39;).&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines a list of absolute values (PreCommissioningTypeCode &#x3D; &#39;PS&#39;) or percentage rates (PreCommissioningTypeCode &#x3D; &#39;TP&#39;).&lt;/p&gt;</value>
        public List<string> PreCommissioningValue { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter defines the TaxGroupID for the service item, if needed.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines the TaxGroupID for the service item, if needed.&lt;/p&gt;</value>
        public string preCommissioningServiceTaxGroupID { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter defines the receipt text.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines the receipt text.&lt;/p&gt;</value>
        public string receiptText { 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; }
	}
}
