namespace POSGkSwaggerModel
{
    /// <summary>
    /// RegistrationResult &lt;p&gt;The entity RegistrationResult&lt;/p&gt;
    /// </summary>
    public record comGkSoftwarePosApiServiceTransactionRegistrationResult	{
        /// <summary>
        /// &lt;p&gt;The promotion trigger signal type&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The promotion trigger signal type&lt;/p&gt;</value>
        public promotionTriggerSignalTypeEnum promotionTriggerSignalType { get; init; }
        /// <summary>
        /// &lt;p&gt;The primary transaction result entry.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The primary transaction result entry.&lt;/p&gt;</value>
        public ComGkSoftwarePosApiServiceTransactionTransactionOperationResultEntry primaryEntry { get; init; }
        /// <summary>
        /// &lt;p&gt;Additional result entries.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional result entries.&lt;/p&gt;</value>
        public List<comGkSoftwarePosApiServiceTransactionTransactionOperationResultEntry> AdditionalEntries { get; init; }
        /// <summary>
        /// &lt;p&gt;Indicates whether the transaction result is filtered. A filtered transaction does not contain the details of a retail transaction object in order to optimize service communication.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Indicates whether the transaction result is filtered. A filtered transaction does not contain the details of a retail transaction object in order to optimize service communication.&lt;/p&gt;</value>
        public bool? filtered { get; init; }
        /// <summary>
        /// &lt;p&gt;Reference to a failure entity in case a failure occurs during a service execution. This field can be used when a managed exception occurs and we still want to synchronize the resulting transaction instead of throwing an exception containing no information on transaction updates.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Reference to a failure entity in case a failure occurs during a service execution. This field can be used when a managed exception occurs and we still want to synchronize the resulting transaction instead of throwing an exception containing no information on transaction updates.&lt;/p&gt;</value>
        public ComGkSoftwarePosApiServiceTransactionTransactionOperationfailureResult failure { get; init; }
        /// <summary>
        /// &lt;p&gt;indicates if the registration could be proceeded without error or callback&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;indicates if the registration could be proceeded without error or callback&lt;/p&gt;</value>
        public bool? statusOk { get; init; }
        /// <summary>
        /// &lt;p&gt;the unique id of this item&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;the unique id of this item&lt;/p&gt;</value>
        public string mainPOSItemId { get; init; }
        /// <summary>
        /// Gets or Sets PosItemId
        /// </summary>
        public string posItemId { get; init; }
        /// <summary>
        /// &lt;p&gt;the item id (may be different than mainPOSItemId)&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;the item id (may be different than mainPOSItemId)&lt;/p&gt;</value>
        public string itemId { get; init; }
        /// <summary>
        /// &lt;p&gt;the item name&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;the item name&lt;/p&gt;</value>
        public string itemName { get; init; }
        /// <summary>
        /// &lt;p&gt;the item description&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;the item description&lt;/p&gt;</value>
        public string itemDescription { get; init; }
        /// <summary>
        /// &lt;p&gt;a tare value for this item&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;a tare value for this item&lt;/p&gt;</value>
        public double? itemTare { get; init; }
        /// <summary>
        /// &lt;p&gt;The manually entered price&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The manually entered price&lt;/p&gt;</value>
        public bool? forcePriceInput { get; init; }
        /// <summary>
        /// &lt;p&gt;The manually entered quantity&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The manually entered quantity&lt;/p&gt;</value>
        public bool? forceQuantityInput { get; init; }
        /// <summary>
        /// &lt;p&gt;The price input signal&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The price input signal&lt;/p&gt;</value>
        public bool? priceInputSignal { get; init; }
        /// <summary>
        /// &lt;p&gt;The quantity input signal&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The quantity input signal&lt;/p&gt;</value>
        public bool? quantityInputSignal { get; init; }
        /// <summary>
        /// &lt;p&gt;The promotion trigger signal&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The promotion trigger signal&lt;/p&gt;</value>
        public bool? promotionTriggerSignal { get; init; }
        /// <summary>
        /// &lt;p&gt;list of sales restrictions&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;list of sales restrictions&lt;/p&gt;</value>
        public List<string> SalesRestrictions { get; init; }
        /// <summary>
        /// &lt;p&gt;The sales restriction list&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The sales restriction list&lt;/p&gt;</value>
        public List<comGkSoftwareSweeSesApiServerMdSalesRestrictionDtoSoSalesRestrictionSO> SalesRestrictionList { get; init; }
        /// <summary>
        /// &lt;p&gt;not used atm&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;not used atm&lt;/p&gt;</value>
        public bool? prepaidItem { get; init; }
        /// <summary>
        /// &lt;p&gt;not used atm&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;not used atm&lt;/p&gt;</value>
        public bool? hasLinkedItems { get; init; }
        /// <summary>
        /// &lt;p&gt;reason objects for selection&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;reason objects for selection&lt;/p&gt;</value>
        public ComGkSoftwarePosApiServiceMasterdatareasonResult reasonResult { get; init; }
        /// <summary>
        /// &lt;p&gt;ask for return reason&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;ask for return reason&lt;/p&gt;</value>
        public bool? forceReturnReasonInput { get; init; }
        /// <summary>
        /// &lt;p&gt;ask for serial number&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;ask for serial number&lt;/p&gt;</value>
        public bool? forceSerialNumberInput { get; init; }
        /// <summary>
        /// &lt;p&gt;indicates if there exist variants and one must be selected&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;indicates if there exist variants and one must be selected&lt;/p&gt;</value>
        public bool? variantItemsAvailable { get; init; }
        /// <summary>
        /// &lt;p&gt;The empties return object&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The empties return object&lt;/p&gt;</value>
        public bool? emptiesReturn { get; init; }
        /// <summary>
        /// &lt;p&gt;The accumulate existing quantity&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The accumulate existing quantity&lt;/p&gt;</value>
        public bool? accumulateExistingQuantity { get; init; }
        /// <summary>
        /// &lt;p&gt;if price could be calculated it is stored in here&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;if price could be calculated it is stored in here&lt;/p&gt;</value>
        public double? price { get; init; }
        /// <summary>
        /// &lt;p&gt;quantity input method of this item&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;quantity input method of this item&lt;/p&gt;</value>
        public string quantityInputMethod { get; init; }
        /// <summary>
        /// Gets or Sets ItemClassCode
        /// </summary>
        public string itemClassCode { get; init; }
        /// <summary>
        /// &lt;p&gt;quantity registered before item registration&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;quantity registered before item registration&lt;/p&gt;</value>
        public int? preregisteredQuantity { get; init; }
        /// <summary>
        /// &lt;p&gt;key of the item about to be registered&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;key of the item about to be registered&lt;/p&gt;</value>
        public ComGkSoftwarePosApiModelDomAppServicesTransactionPosUOMItemDoKey itemKey { get; init; }
        /// <summary>
        /// &lt;p&gt;String - he barcode originally used to register the item&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;String - he barcode originally used to register the item&lt;/p&gt;</value>
        public string usedBarcode { get; init; }
        /// <summary>
        /// &lt;p&gt;The limit exceed result&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The limit exceed result&lt;/p&gt;</value>
        public ComGkSoftwarePosApiServiceTransactionlimitExceedResult limitExceedResult { get; init; }
        /// <summary>
        /// &lt;p&gt;A list of discount item icon info&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;A list of discount item icon info&lt;/p&gt;</value>
        public List<comGkSoftwarePosFlowLibsTransactionDiscountIconList> DiscountIconList { get; init; }
        /// <summary>
        /// &lt;p&gt;The limit exceed action for price difference checks&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The limit exceed action for price difference checks&lt;/p&gt;</value>
        public ComGkSoftwarePosApiModelConfigComponentServerprepaidTypeprepaidType prepaidType { get; init; }
        /// <summary>
        /// &lt;p&gt;The has invalid quantity flag&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The has invalid quantity flag&lt;/p&gt;</value>
        public bool? hasInvalidQuantity { get; init; }
        /// <summary>
        /// &lt;p&gt;The quantity for which the unit price is applied to.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The quantity for which the unit price is applied to.&lt;/p&gt;</value>
        public int? packagePriceQuantity { get; init; }
        /// <summary>
        /// &lt;p&gt;The register combo meal flag&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The register combo meal flag&lt;/p&gt;</value>
        public bool? comboMealItem { get; init; }
        /// <summary>
        /// &lt;p&gt;The position amount from the item barcode.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The position amount from the item barcode.&lt;/p&gt;</value>
        public double? originalPositionAmount { 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; }
	}
}
