namespace POSGkSwaggerModel
{
    /// <summary>
    /// ReturnWithTransactionConfig &lt;p&gt;This configuration entity defines the return process with an available transaction.&lt;/p&gt;
    /// </summary>
    public record comGkSoftwarePosApiModelConfigProcessFlowsReturnWithTransactionConfig	{
        /// <summary>
        /// &lt;p&gt;PositionOperationConfig&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;PositionOperationConfig&lt;/p&gt;</value>
        public ComGkSoftwarePosApiModelConfigProcessActionPositionOperationConfig returnTransaction { get; init; }
        /// <summary>
        /// &lt;p&gt;PositionOperationConfig&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;PositionOperationConfig&lt;/p&gt;</value>
        public ComGkSoftwarePosApiModelConfigProcessActionPositionOperationConfig returnLineItem { get; init; }
        /// <summary>
        /// &lt;p&gt;This config defines the prompt usage.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;This config defines the prompt usage.&lt;/p&gt;</value>
        public ComGkSoftwarePosApiModelConfigProcessUiPromptUserDialogConfig promptUserConfig { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter defines the configuration for the transaction preview. The config parameters will be passed to the transaction preview component, controller, report and datasource.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines the configuration for the transaction preview. The config parameters will be passed to the transaction preview component, controller, report and datasource.&lt;/p&gt;</value>
        public ComGkSoftwarePosApiModelConfigProcessUitransactionPreviewContextConfig transactionPreview { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter specifies whether the reason is requested in case of returns.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;values: true, false&lt;br /&gt;&lt;/pre&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter specifies whether the reason is requested in case of returns.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;values: true, false&lt;br /&gt;&lt;/pre&gt;</value>
        public bool? returnReasonRequired { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter specifies whether it is allowed to return prepaid line items in case of a return with receipt data.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;values: true, false&lt;br /&gt;&lt;/pre&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter specifies whether it is allowed to return prepaid line items in case of a return with receipt data.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;values: true, false&lt;br /&gt;&lt;/pre&gt;</value>
        public bool? returnPrepaidAllowed { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter specifies whether it is allowed to perform a return with a original receipt for receipts from other stores.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;values: true, false&lt;br /&gt;&lt;/pre&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter specifies whether it is allowed to perform a return with a original receipt for receipts from other stores.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;values: true, false&lt;br /&gt;&lt;/pre&gt;</value>
        public bool? differentStoreAllowed { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter specifies whether the customer data is transferred from the original receipt.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;values: true, false&lt;br /&gt;&lt;/pre&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter specifies whether the customer data is transferred from the original receipt.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;values: true, false&lt;br /&gt;&lt;/pre&gt;</value>
        public bool? takeOverCustomersFromOriginalSc { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter defines the reason for the return.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines the reason for the return.&lt;/p&gt;</value>
        public string returnReasonCode { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter filters reasons with the following reason group code.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter filters reasons with the following reason group code.&lt;/p&gt;</value>
        public string returnReasonGroupCode { get; init; }
        /// <summary>
        /// &lt;p&gt;FindTransactionConfig&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;FindTransactionConfig&lt;/p&gt;</value>
        public ComGkSoftwarePosApiModelConfigProcessFlowsfindTransactionConfig findTransactionConfig { get; init; }
        /// <summary>
        /// &lt;p&gt;It defines if the items must exist in master data for return with transaction.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;It defines if the items must exist in master data for return with transaction.&lt;/p&gt;</value>
        public bool? checkIfItemsExistInMasterData { get; init; }
        /// <summary>
        /// &lt;p&gt;ConditionSplitConfig&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;ConditionSplitConfig&lt;/p&gt;</value>
        public ComGkSoftwarePosApiModelConfigProcessFlowsconditionSplitConfig conditionSplitConfig { get; init; }
        /// <summary>
        /// &lt;p&gt;This parameter defines the list of condition types for price reduction.&lt;br /&gt; @deprecated as of 5.6.0. Use instead: conditionSplitConfig.manualDiscountTypes&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;This parameter defines the list of condition types for price reduction.&lt;br /&gt; @deprecated as of 5.6.0. Use instead: conditionSplitConfig.manualDiscountTypes&lt;/p&gt;</value>
        public List<string> ManualDiscountTypes { 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; }
	}
}
