/* 
 * GK application - OmniPOS Service API
 *
 * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
 *
 * OpenAPI spec version: 5.21.1-b03
 * 
 * Generated by: https://github.com/swagger-api/swagger-codegen.git
 */

using System;
using System.Linq;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Runtime.Serialization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System.ComponentModel.DataAnnotations;
using SwaggerDateConverter = IO.Swagger.Client.SwaggerDateConverter;

namespace IO.Swagger.Model
{
    /// <summary>
    /// PosUOMItemSearchView &lt;p&gt;Simplified view for PosUOMItem.&lt;br /&gt;&lt;/p&gt;
    /// </summary>
    [DataContract]
    public partial class ComGkSoftwareGkrApiServerMdItemDtoDomPosPosUOMItemSearchView :  IEquatable<ComGkSoftwareGkrApiServerMdItemDtoDomPosPosUOMItemSearchView>, IValidatableObject
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="ComGkSoftwareGkrApiServerMdItemDtoDomPosPosUOMItemSearchView" /> class.
        /// </summary>
        /// <param name="businessUnitGroupID">&lt;p&gt;A unique retailer assigned identifier for the business unit group&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemID">&lt;p&gt;Item number. Alphanumeric key that identifies the item uniquely.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomCode">&lt;p&gt;Unit of measure code&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="name">&lt;p&gt;The name by which the item is known.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="mainPOSItemId">&lt;p&gt;The main POS item identifier&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="unitOfMeasureName">&lt;p&gt;Unit of measure code&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="merchandiseHierarchyGroupName">&lt;p&gt;Merchandise Hierarchy Group Name&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="priceAmount">&lt;p&gt;Amount of the price&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="formattedPriceAmount">&lt;p&gt;Formatted price amount. To be filled by clients, not filled by server&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="packagePriceQuantity">packagePriceQuantity.</param>
        /// <param name="priceGroupId">priceGroupId.</param>
        /// <param name="itemCollectionSet">&lt;p&gt;True if the item has an Item Collection.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="defaultSellingUnitOfMeasureCode">defaultSellingUnitOfMeasureCode.</param>
        /// <param name="posItemId">&lt;p&gt;The POS item identifier. Filled only when the {@link com.gk_software.gkr.api.server.md.item.dto.dom.pos.PosUOMItemSearchFilter#optionLoadPosIdentity}&lt;br /&gt; is set to true. &lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="characteristicViewList">&lt;p&gt;List of characteristic views.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM01">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM02">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM03">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM04">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM05">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM06">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM07">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM08">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM09">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM10">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM11">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM12">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM13">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM14">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM15">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM16">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM17">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM18">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM19">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM20">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM21">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM22">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM23">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM24">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM25">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM26">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM27">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM28">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM29">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="uomITEMXXCUSTOM30">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM01">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM02">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM03">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM04">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM05">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM06">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM07">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM08">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM09">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM10">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM11">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM12">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM13">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM14">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM15">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM16">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM17">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM18">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM19">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM20">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM21">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM22">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM23">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM24">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM25">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM26">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM27">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM28">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM29">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        /// <param name="itemXXCUSTOM30">&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;.</param>
        public ComGkSoftwareGkrApiServerMdItemDtoDomPosPosUOMItemSearchView(string businessUnitGroupID = default(string), string itemID = default(string), string uomCode = default(string), string name = default(string), string mainPOSItemId = default(string), string unitOfMeasureName = default(string), string merchandiseHierarchyGroupName = default(string), double? priceAmount = default(double?), string formattedPriceAmount = default(string), int? packagePriceQuantity = default(int?), string priceGroupId = default(string), bool? itemCollectionSet = default(bool?), string defaultSellingUnitOfMeasureCode = default(string), string posItemId = default(string), List<ComGkSoftwareGkrApiServerMdItemDtoDomPosPosUOMItemSearchCharacteristicView> characteristicViewList = default(List<ComGkSoftwareGkrApiServerMdItemDtoDomPosPosUOMItemSearchCharacteristicView>), string uomITEMXXCUSTOM01 = default(string), string uomITEMXXCUSTOM02 = default(string), string uomITEMXXCUSTOM03 = default(string), string uomITEMXXCUSTOM04 = default(string), string uomITEMXXCUSTOM05 = default(string), string uomITEMXXCUSTOM06 = default(string), string uomITEMXXCUSTOM07 = default(string), string uomITEMXXCUSTOM08 = default(string), string uomITEMXXCUSTOM09 = default(string), string uomITEMXXCUSTOM10 = default(string), string uomITEMXXCUSTOM11 = default(string), string uomITEMXXCUSTOM12 = default(string), string uomITEMXXCUSTOM13 = default(string), string uomITEMXXCUSTOM14 = default(string), string uomITEMXXCUSTOM15 = default(string), string uomITEMXXCUSTOM16 = default(string), string uomITEMXXCUSTOM17 = default(string), string uomITEMXXCUSTOM18 = default(string), string uomITEMXXCUSTOM19 = default(string), string uomITEMXXCUSTOM20 = default(string), string uomITEMXXCUSTOM21 = default(string), string uomITEMXXCUSTOM22 = default(string), string uomITEMXXCUSTOM23 = default(string), string uomITEMXXCUSTOM24 = default(string), string uomITEMXXCUSTOM25 = default(string), string uomITEMXXCUSTOM26 = default(string), string uomITEMXXCUSTOM27 = default(string), string uomITEMXXCUSTOM28 = default(string), string uomITEMXXCUSTOM29 = default(string), string uomITEMXXCUSTOM30 = default(string), string itemXXCUSTOM01 = default(string), string itemXXCUSTOM02 = default(string), string itemXXCUSTOM03 = default(string), string itemXXCUSTOM04 = default(string), string itemXXCUSTOM05 = default(string), string itemXXCUSTOM06 = default(string), string itemXXCUSTOM07 = default(string), string itemXXCUSTOM08 = default(string), string itemXXCUSTOM09 = default(string), string itemXXCUSTOM10 = default(string), string itemXXCUSTOM11 = default(string), string itemXXCUSTOM12 = default(string), string itemXXCUSTOM13 = default(string), string itemXXCUSTOM14 = default(string), string itemXXCUSTOM15 = default(string), string itemXXCUSTOM16 = default(string), string itemXXCUSTOM17 = default(string), string itemXXCUSTOM18 = default(string), string itemXXCUSTOM19 = default(string), string itemXXCUSTOM20 = default(string), string itemXXCUSTOM21 = default(string), string itemXXCUSTOM22 = default(string), string itemXXCUSTOM23 = default(string), string itemXXCUSTOM24 = default(string), string itemXXCUSTOM25 = default(string), string itemXXCUSTOM26 = default(string), string itemXXCUSTOM27 = default(string), string itemXXCUSTOM28 = default(string), string itemXXCUSTOM29 = default(string), string itemXXCUSTOM30 = default(string))
        {
            this.BusinessUnitGroupID = businessUnitGroupID;
            this.ItemID = itemID;
            this.UomCode = uomCode;
            this.Name = name;
            this.MainPOSItemId = mainPOSItemId;
            this.UnitOfMeasureName = unitOfMeasureName;
            this.MerchandiseHierarchyGroupName = merchandiseHierarchyGroupName;
            this.PriceAmount = priceAmount;
            this.FormattedPriceAmount = formattedPriceAmount;
            this.PackagePriceQuantity = packagePriceQuantity;
            this.PriceGroupId = priceGroupId;
            this.ItemCollectionSet = itemCollectionSet;
            this.DefaultSellingUnitOfMeasureCode = defaultSellingUnitOfMeasureCode;
            this.PosItemId = posItemId;
            this.CharacteristicViewList = characteristicViewList;
            this.UomITEMXXCUSTOM01 = uomITEMXXCUSTOM01;
            this.UomITEMXXCUSTOM02 = uomITEMXXCUSTOM02;
            this.UomITEMXXCUSTOM03 = uomITEMXXCUSTOM03;
            this.UomITEMXXCUSTOM04 = uomITEMXXCUSTOM04;
            this.UomITEMXXCUSTOM05 = uomITEMXXCUSTOM05;
            this.UomITEMXXCUSTOM06 = uomITEMXXCUSTOM06;
            this.UomITEMXXCUSTOM07 = uomITEMXXCUSTOM07;
            this.UomITEMXXCUSTOM08 = uomITEMXXCUSTOM08;
            this.UomITEMXXCUSTOM09 = uomITEMXXCUSTOM09;
            this.UomITEMXXCUSTOM10 = uomITEMXXCUSTOM10;
            this.UomITEMXXCUSTOM11 = uomITEMXXCUSTOM11;
            this.UomITEMXXCUSTOM12 = uomITEMXXCUSTOM12;
            this.UomITEMXXCUSTOM13 = uomITEMXXCUSTOM13;
            this.UomITEMXXCUSTOM14 = uomITEMXXCUSTOM14;
            this.UomITEMXXCUSTOM15 = uomITEMXXCUSTOM15;
            this.UomITEMXXCUSTOM16 = uomITEMXXCUSTOM16;
            this.UomITEMXXCUSTOM17 = uomITEMXXCUSTOM17;
            this.UomITEMXXCUSTOM18 = uomITEMXXCUSTOM18;
            this.UomITEMXXCUSTOM19 = uomITEMXXCUSTOM19;
            this.UomITEMXXCUSTOM20 = uomITEMXXCUSTOM20;
            this.UomITEMXXCUSTOM21 = uomITEMXXCUSTOM21;
            this.UomITEMXXCUSTOM22 = uomITEMXXCUSTOM22;
            this.UomITEMXXCUSTOM23 = uomITEMXXCUSTOM23;
            this.UomITEMXXCUSTOM24 = uomITEMXXCUSTOM24;
            this.UomITEMXXCUSTOM25 = uomITEMXXCUSTOM25;
            this.UomITEMXXCUSTOM26 = uomITEMXXCUSTOM26;
            this.UomITEMXXCUSTOM27 = uomITEMXXCUSTOM27;
            this.UomITEMXXCUSTOM28 = uomITEMXXCUSTOM28;
            this.UomITEMXXCUSTOM29 = uomITEMXXCUSTOM29;
            this.UomITEMXXCUSTOM30 = uomITEMXXCUSTOM30;
            this.ItemXXCUSTOM01 = itemXXCUSTOM01;
            this.ItemXXCUSTOM02 = itemXXCUSTOM02;
            this.ItemXXCUSTOM03 = itemXXCUSTOM03;
            this.ItemXXCUSTOM04 = itemXXCUSTOM04;
            this.ItemXXCUSTOM05 = itemXXCUSTOM05;
            this.ItemXXCUSTOM06 = itemXXCUSTOM06;
            this.ItemXXCUSTOM07 = itemXXCUSTOM07;
            this.ItemXXCUSTOM08 = itemXXCUSTOM08;
            this.ItemXXCUSTOM09 = itemXXCUSTOM09;
            this.ItemXXCUSTOM10 = itemXXCUSTOM10;
            this.ItemXXCUSTOM11 = itemXXCUSTOM11;
            this.ItemXXCUSTOM12 = itemXXCUSTOM12;
            this.ItemXXCUSTOM13 = itemXXCUSTOM13;
            this.ItemXXCUSTOM14 = itemXXCUSTOM14;
            this.ItemXXCUSTOM15 = itemXXCUSTOM15;
            this.ItemXXCUSTOM16 = itemXXCUSTOM16;
            this.ItemXXCUSTOM17 = itemXXCUSTOM17;
            this.ItemXXCUSTOM18 = itemXXCUSTOM18;
            this.ItemXXCUSTOM19 = itemXXCUSTOM19;
            this.ItemXXCUSTOM20 = itemXXCUSTOM20;
            this.ItemXXCUSTOM21 = itemXXCUSTOM21;
            this.ItemXXCUSTOM22 = itemXXCUSTOM22;
            this.ItemXXCUSTOM23 = itemXXCUSTOM23;
            this.ItemXXCUSTOM24 = itemXXCUSTOM24;
            this.ItemXXCUSTOM25 = itemXXCUSTOM25;
            this.ItemXXCUSTOM26 = itemXXCUSTOM26;
            this.ItemXXCUSTOM27 = itemXXCUSTOM27;
            this.ItemXXCUSTOM28 = itemXXCUSTOM28;
            this.ItemXXCUSTOM29 = itemXXCUSTOM29;
            this.ItemXXCUSTOM30 = itemXXCUSTOM30;
        }
        
        /// <summary>
        /// &lt;p&gt;A unique retailer assigned identifier for the business unit group&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;A unique retailer assigned identifier for the business unit group&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="businessUnitGroupID", EmitDefaultValue=false)]
        public string BusinessUnitGroupID { get; set; }

        /// <summary>
        /// &lt;p&gt;Item number. Alphanumeric key that identifies the item uniquely.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Item number. Alphanumeric key that identifies the item uniquely.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="itemID", EmitDefaultValue=false)]
        public string ItemID { get; set; }

        /// <summary>
        /// &lt;p&gt;Unit of measure code&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Unit of measure code&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uomCode", EmitDefaultValue=false)]
        public string UomCode { get; set; }

        /// <summary>
        /// &lt;p&gt;The name by which the item is known.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The name by which the item is known.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="name", EmitDefaultValue=false)]
        public string Name { get; set; }

        /// <summary>
        /// &lt;p&gt;The main POS item identifier&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The main POS item identifier&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="mainPOSItemId", EmitDefaultValue=false)]
        public string MainPOSItemId { get; set; }

        /// <summary>
        /// &lt;p&gt;Unit of measure code&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Unit of measure code&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="unitOfMeasureName", EmitDefaultValue=false)]
        public string UnitOfMeasureName { get; set; }

        /// <summary>
        /// &lt;p&gt;Merchandise Hierarchy Group Name&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Merchandise Hierarchy Group Name&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="merchandiseHierarchyGroupName", EmitDefaultValue=false)]
        public string MerchandiseHierarchyGroupName { get; set; }

        /// <summary>
        /// &lt;p&gt;Amount of the price&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Amount of the price&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="priceAmount", EmitDefaultValue=false)]
        public double? PriceAmount { get; set; }

        /// <summary>
        /// &lt;p&gt;Formatted price amount. To be filled by clients, not filled by server&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Formatted price amount. To be filled by clients, not filled by server&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="formattedPriceAmount", EmitDefaultValue=false)]
        public string FormattedPriceAmount { get; set; }

        /// <summary>
        /// Gets or Sets PackagePriceQuantity
        /// </summary>
        [DataMember(Name="packagePriceQuantity", EmitDefaultValue=false)]
        public int? PackagePriceQuantity { get; set; }

        /// <summary>
        /// Gets or Sets PriceGroupId
        /// </summary>
        [DataMember(Name="priceGroupId", EmitDefaultValue=false)]
        public string PriceGroupId { get; set; }

        /// <summary>
        /// &lt;p&gt;True if the item has an Item Collection.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;True if the item has an Item Collection.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="itemCollectionSet", EmitDefaultValue=false)]
        public bool? ItemCollectionSet { get; set; }

        /// <summary>
        /// Gets or Sets DefaultSellingUnitOfMeasureCode
        /// </summary>
        [DataMember(Name="defaultSellingUnitOfMeasureCode", EmitDefaultValue=false)]
        public string DefaultSellingUnitOfMeasureCode { get; set; }

        /// <summary>
        /// &lt;p&gt;The POS item identifier. Filled only when the {@link com.gk_software.gkr.api.server.md.item.dto.dom.pos.PosUOMItemSearchFilter#optionLoadPosIdentity}&lt;br /&gt; is set to true. &lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The POS item identifier. Filled only when the {@link com.gk_software.gkr.api.server.md.item.dto.dom.pos.PosUOMItemSearchFilter#optionLoadPosIdentity}&lt;br /&gt; is set to true. &lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="posItemId", EmitDefaultValue=false)]
        public string PosItemId { get; set; }

        /// <summary>
        /// &lt;p&gt;List of characteristic views.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;List of characteristic views.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="characteristicViewList", EmitDefaultValue=false)]
        public List<ComGkSoftwareGkrApiServerMdItemDtoDomPosPosUOMItemSearchCharacteristicView> CharacteristicViewList { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_01", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM01 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_02", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM02 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_03", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM03 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_04", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM04 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_05", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM05 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_06", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM06 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_07", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM07 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_08", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM08 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_09", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM09 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_10", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM10 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_11", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM11 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_12", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM12 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_13", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM13 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_14", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM14 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_15", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM15 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_16", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM16 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_17", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM17 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_18", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM18 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_19", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM19 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_20", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM20 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_21", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM21 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_22", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM22 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_23", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM23 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_24", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM24 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_25", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM25 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_26", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM26 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_27", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM27 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_28", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM28 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_29", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM29 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="uom_ITEM_XX_CUSTOM_30", EmitDefaultValue=false)]
        public string UomITEMXXCUSTOM30 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_01", EmitDefaultValue=false)]
        public string ItemXXCUSTOM01 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_02", EmitDefaultValue=false)]
        public string ItemXXCUSTOM02 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_03", EmitDefaultValue=false)]
        public string ItemXXCUSTOM03 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_04", EmitDefaultValue=false)]
        public string ItemXXCUSTOM04 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_05", EmitDefaultValue=false)]
        public string ItemXXCUSTOM05 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_06", EmitDefaultValue=false)]
        public string ItemXXCUSTOM06 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_07", EmitDefaultValue=false)]
        public string ItemXXCUSTOM07 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_08", EmitDefaultValue=false)]
        public string ItemXXCUSTOM08 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_09", EmitDefaultValue=false)]
        public string ItemXXCUSTOM09 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_10", EmitDefaultValue=false)]
        public string ItemXXCUSTOM10 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_11", EmitDefaultValue=false)]
        public string ItemXXCUSTOM11 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_12", EmitDefaultValue=false)]
        public string ItemXXCUSTOM12 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_13", EmitDefaultValue=false)]
        public string ItemXXCUSTOM13 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_14", EmitDefaultValue=false)]
        public string ItemXXCUSTOM14 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_15", EmitDefaultValue=false)]
        public string ItemXXCUSTOM15 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_16", EmitDefaultValue=false)]
        public string ItemXXCUSTOM16 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_17", EmitDefaultValue=false)]
        public string ItemXXCUSTOM17 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_18", EmitDefaultValue=false)]
        public string ItemXXCUSTOM18 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_19", EmitDefaultValue=false)]
        public string ItemXXCUSTOM19 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_20", EmitDefaultValue=false)]
        public string ItemXXCUSTOM20 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_21", EmitDefaultValue=false)]
        public string ItemXXCUSTOM21 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_22", EmitDefaultValue=false)]
        public string ItemXXCUSTOM22 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_23", EmitDefaultValue=false)]
        public string ItemXXCUSTOM23 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_24", EmitDefaultValue=false)]
        public string ItemXXCUSTOM24 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_25", EmitDefaultValue=false)]
        public string ItemXXCUSTOM25 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_26", EmitDefaultValue=false)]
        public string ItemXXCUSTOM26 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_27", EmitDefaultValue=false)]
        public string ItemXXCUSTOM27 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_28", EmitDefaultValue=false)]
        public string ItemXXCUSTOM28 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_29", EmitDefaultValue=false)]
        public string ItemXXCUSTOM29 { get; set; }

        /// <summary>
        /// &lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional field for custom development.&lt;br /&gt;&lt;/p&gt;</value>
        [DataMember(Name="item_XX_CUSTOM_30", EmitDefaultValue=false)]
        public string ItemXXCUSTOM30 { get; set; }

        /// <summary>
        /// Returns the string presentation of the object
        /// </summary>
        /// <returns>String presentation of the object</returns>
        public override string ToString()
        {
            var sb = new StringBuilder();
            sb.Append("class ComGkSoftwareGkrApiServerMdItemDtoDomPosPosUOMItemSearchView {\n");
            sb.Append("  BusinessUnitGroupID: ").Append(BusinessUnitGroupID).Append("\n");
            sb.Append("  ItemID: ").Append(ItemID).Append("\n");
            sb.Append("  UomCode: ").Append(UomCode).Append("\n");
            sb.Append("  Name: ").Append(Name).Append("\n");
            sb.Append("  MainPOSItemId: ").Append(MainPOSItemId).Append("\n");
            sb.Append("  UnitOfMeasureName: ").Append(UnitOfMeasureName).Append("\n");
            sb.Append("  MerchandiseHierarchyGroupName: ").Append(MerchandiseHierarchyGroupName).Append("\n");
            sb.Append("  PriceAmount: ").Append(PriceAmount).Append("\n");
            sb.Append("  FormattedPriceAmount: ").Append(FormattedPriceAmount).Append("\n");
            sb.Append("  PackagePriceQuantity: ").Append(PackagePriceQuantity).Append("\n");
            sb.Append("  PriceGroupId: ").Append(PriceGroupId).Append("\n");
            sb.Append("  ItemCollectionSet: ").Append(ItemCollectionSet).Append("\n");
            sb.Append("  DefaultSellingUnitOfMeasureCode: ").Append(DefaultSellingUnitOfMeasureCode).Append("\n");
            sb.Append("  PosItemId: ").Append(PosItemId).Append("\n");
            sb.Append("  CharacteristicViewList: ").Append(CharacteristicViewList).Append("\n");
            sb.Append("  UomITEMXXCUSTOM01: ").Append(UomITEMXXCUSTOM01).Append("\n");
            sb.Append("  UomITEMXXCUSTOM02: ").Append(UomITEMXXCUSTOM02).Append("\n");
            sb.Append("  UomITEMXXCUSTOM03: ").Append(UomITEMXXCUSTOM03).Append("\n");
            sb.Append("  UomITEMXXCUSTOM04: ").Append(UomITEMXXCUSTOM04).Append("\n");
            sb.Append("  UomITEMXXCUSTOM05: ").Append(UomITEMXXCUSTOM05).Append("\n");
            sb.Append("  UomITEMXXCUSTOM06: ").Append(UomITEMXXCUSTOM06).Append("\n");
            sb.Append("  UomITEMXXCUSTOM07: ").Append(UomITEMXXCUSTOM07).Append("\n");
            sb.Append("  UomITEMXXCUSTOM08: ").Append(UomITEMXXCUSTOM08).Append("\n");
            sb.Append("  UomITEMXXCUSTOM09: ").Append(UomITEMXXCUSTOM09).Append("\n");
            sb.Append("  UomITEMXXCUSTOM10: ").Append(UomITEMXXCUSTOM10).Append("\n");
            sb.Append("  UomITEMXXCUSTOM11: ").Append(UomITEMXXCUSTOM11).Append("\n");
            sb.Append("  UomITEMXXCUSTOM12: ").Append(UomITEMXXCUSTOM12).Append("\n");
            sb.Append("  UomITEMXXCUSTOM13: ").Append(UomITEMXXCUSTOM13).Append("\n");
            sb.Append("  UomITEMXXCUSTOM14: ").Append(UomITEMXXCUSTOM14).Append("\n");
            sb.Append("  UomITEMXXCUSTOM15: ").Append(UomITEMXXCUSTOM15).Append("\n");
            sb.Append("  UomITEMXXCUSTOM16: ").Append(UomITEMXXCUSTOM16).Append("\n");
            sb.Append("  UomITEMXXCUSTOM17: ").Append(UomITEMXXCUSTOM17).Append("\n");
            sb.Append("  UomITEMXXCUSTOM18: ").Append(UomITEMXXCUSTOM18).Append("\n");
            sb.Append("  UomITEMXXCUSTOM19: ").Append(UomITEMXXCUSTOM19).Append("\n");
            sb.Append("  UomITEMXXCUSTOM20: ").Append(UomITEMXXCUSTOM20).Append("\n");
            sb.Append("  UomITEMXXCUSTOM21: ").Append(UomITEMXXCUSTOM21).Append("\n");
            sb.Append("  UomITEMXXCUSTOM22: ").Append(UomITEMXXCUSTOM22).Append("\n");
            sb.Append("  UomITEMXXCUSTOM23: ").Append(UomITEMXXCUSTOM23).Append("\n");
            sb.Append("  UomITEMXXCUSTOM24: ").Append(UomITEMXXCUSTOM24).Append("\n");
            sb.Append("  UomITEMXXCUSTOM25: ").Append(UomITEMXXCUSTOM25).Append("\n");
            sb.Append("  UomITEMXXCUSTOM26: ").Append(UomITEMXXCUSTOM26).Append("\n");
            sb.Append("  UomITEMXXCUSTOM27: ").Append(UomITEMXXCUSTOM27).Append("\n");
            sb.Append("  UomITEMXXCUSTOM28: ").Append(UomITEMXXCUSTOM28).Append("\n");
            sb.Append("  UomITEMXXCUSTOM29: ").Append(UomITEMXXCUSTOM29).Append("\n");
            sb.Append("  UomITEMXXCUSTOM30: ").Append(UomITEMXXCUSTOM30).Append("\n");
            sb.Append("  ItemXXCUSTOM01: ").Append(ItemXXCUSTOM01).Append("\n");
            sb.Append("  ItemXXCUSTOM02: ").Append(ItemXXCUSTOM02).Append("\n");
            sb.Append("  ItemXXCUSTOM03: ").Append(ItemXXCUSTOM03).Append("\n");
            sb.Append("  ItemXXCUSTOM04: ").Append(ItemXXCUSTOM04).Append("\n");
            sb.Append("  ItemXXCUSTOM05: ").Append(ItemXXCUSTOM05).Append("\n");
            sb.Append("  ItemXXCUSTOM06: ").Append(ItemXXCUSTOM06).Append("\n");
            sb.Append("  ItemXXCUSTOM07: ").Append(ItemXXCUSTOM07).Append("\n");
            sb.Append("  ItemXXCUSTOM08: ").Append(ItemXXCUSTOM08).Append("\n");
            sb.Append("  ItemXXCUSTOM09: ").Append(ItemXXCUSTOM09).Append("\n");
            sb.Append("  ItemXXCUSTOM10: ").Append(ItemXXCUSTOM10).Append("\n");
            sb.Append("  ItemXXCUSTOM11: ").Append(ItemXXCUSTOM11).Append("\n");
            sb.Append("  ItemXXCUSTOM12: ").Append(ItemXXCUSTOM12).Append("\n");
            sb.Append("  ItemXXCUSTOM13: ").Append(ItemXXCUSTOM13).Append("\n");
            sb.Append("  ItemXXCUSTOM14: ").Append(ItemXXCUSTOM14).Append("\n");
            sb.Append("  ItemXXCUSTOM15: ").Append(ItemXXCUSTOM15).Append("\n");
            sb.Append("  ItemXXCUSTOM16: ").Append(ItemXXCUSTOM16).Append("\n");
            sb.Append("  ItemXXCUSTOM17: ").Append(ItemXXCUSTOM17).Append("\n");
            sb.Append("  ItemXXCUSTOM18: ").Append(ItemXXCUSTOM18).Append("\n");
            sb.Append("  ItemXXCUSTOM19: ").Append(ItemXXCUSTOM19).Append("\n");
            sb.Append("  ItemXXCUSTOM20: ").Append(ItemXXCUSTOM20).Append("\n");
            sb.Append("  ItemXXCUSTOM21: ").Append(ItemXXCUSTOM21).Append("\n");
            sb.Append("  ItemXXCUSTOM22: ").Append(ItemXXCUSTOM22).Append("\n");
            sb.Append("  ItemXXCUSTOM23: ").Append(ItemXXCUSTOM23).Append("\n");
            sb.Append("  ItemXXCUSTOM24: ").Append(ItemXXCUSTOM24).Append("\n");
            sb.Append("  ItemXXCUSTOM25: ").Append(ItemXXCUSTOM25).Append("\n");
            sb.Append("  ItemXXCUSTOM26: ").Append(ItemXXCUSTOM26).Append("\n");
            sb.Append("  ItemXXCUSTOM27: ").Append(ItemXXCUSTOM27).Append("\n");
            sb.Append("  ItemXXCUSTOM28: ").Append(ItemXXCUSTOM28).Append("\n");
            sb.Append("  ItemXXCUSTOM29: ").Append(ItemXXCUSTOM29).Append("\n");
            sb.Append("  ItemXXCUSTOM30: ").Append(ItemXXCUSTOM30).Append("\n");
            sb.Append("}\n");
            return sb.ToString();
        }
  
        /// <summary>
        /// Returns the JSON string presentation of the object
        /// </summary>
        /// <returns>JSON string presentation of the object</returns>
        public virtual string ToJson()
        {
            return JsonConvert.SerializeObject(this, Formatting.Indented);
        }

        /// <summary>
        /// Returns true if objects are equal
        /// </summary>
        /// <param name="input">Object to be compared</param>
        /// <returns>Boolean</returns>
        public override bool Equals(object input)
        {
            return this.Equals(input as ComGkSoftwareGkrApiServerMdItemDtoDomPosPosUOMItemSearchView);
        }

        /// <summary>
        /// Returns true if ComGkSoftwareGkrApiServerMdItemDtoDomPosPosUOMItemSearchView instances are equal
        /// </summary>
        /// <param name="input">Instance of ComGkSoftwareGkrApiServerMdItemDtoDomPosPosUOMItemSearchView to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(ComGkSoftwareGkrApiServerMdItemDtoDomPosPosUOMItemSearchView input)
        {
            if (input == null)
                return false;

            return 
                (
                    this.BusinessUnitGroupID == input.BusinessUnitGroupID ||
                    (this.BusinessUnitGroupID != null &&
                    this.BusinessUnitGroupID.Equals(input.BusinessUnitGroupID))
                ) && 
                (
                    this.ItemID == input.ItemID ||
                    (this.ItemID != null &&
                    this.ItemID.Equals(input.ItemID))
                ) && 
                (
                    this.UomCode == input.UomCode ||
                    (this.UomCode != null &&
                    this.UomCode.Equals(input.UomCode))
                ) && 
                (
                    this.Name == input.Name ||
                    (this.Name != null &&
                    this.Name.Equals(input.Name))
                ) && 
                (
                    this.MainPOSItemId == input.MainPOSItemId ||
                    (this.MainPOSItemId != null &&
                    this.MainPOSItemId.Equals(input.MainPOSItemId))
                ) && 
                (
                    this.UnitOfMeasureName == input.UnitOfMeasureName ||
                    (this.UnitOfMeasureName != null &&
                    this.UnitOfMeasureName.Equals(input.UnitOfMeasureName))
                ) && 
                (
                    this.MerchandiseHierarchyGroupName == input.MerchandiseHierarchyGroupName ||
                    (this.MerchandiseHierarchyGroupName != null &&
                    this.MerchandiseHierarchyGroupName.Equals(input.MerchandiseHierarchyGroupName))
                ) && 
                (
                    this.PriceAmount == input.PriceAmount ||
                    (this.PriceAmount != null &&
                    this.PriceAmount.Equals(input.PriceAmount))
                ) && 
                (
                    this.FormattedPriceAmount == input.FormattedPriceAmount ||
                    (this.FormattedPriceAmount != null &&
                    this.FormattedPriceAmount.Equals(input.FormattedPriceAmount))
                ) && 
                (
                    this.PackagePriceQuantity == input.PackagePriceQuantity ||
                    (this.PackagePriceQuantity != null &&
                    this.PackagePriceQuantity.Equals(input.PackagePriceQuantity))
                ) && 
                (
                    this.PriceGroupId == input.PriceGroupId ||
                    (this.PriceGroupId != null &&
                    this.PriceGroupId.Equals(input.PriceGroupId))
                ) && 
                (
                    this.ItemCollectionSet == input.ItemCollectionSet ||
                    (this.ItemCollectionSet != null &&
                    this.ItemCollectionSet.Equals(input.ItemCollectionSet))
                ) && 
                (
                    this.DefaultSellingUnitOfMeasureCode == input.DefaultSellingUnitOfMeasureCode ||
                    (this.DefaultSellingUnitOfMeasureCode != null &&
                    this.DefaultSellingUnitOfMeasureCode.Equals(input.DefaultSellingUnitOfMeasureCode))
                ) && 
                (
                    this.PosItemId == input.PosItemId ||
                    (this.PosItemId != null &&
                    this.PosItemId.Equals(input.PosItemId))
                ) && 
                (
                    this.CharacteristicViewList == input.CharacteristicViewList ||
                    this.CharacteristicViewList != null &&
                    this.CharacteristicViewList.SequenceEqual(input.CharacteristicViewList)
                ) && 
                (
                    this.UomITEMXXCUSTOM01 == input.UomITEMXXCUSTOM01 ||
                    (this.UomITEMXXCUSTOM01 != null &&
                    this.UomITEMXXCUSTOM01.Equals(input.UomITEMXXCUSTOM01))
                ) && 
                (
                    this.UomITEMXXCUSTOM02 == input.UomITEMXXCUSTOM02 ||
                    (this.UomITEMXXCUSTOM02 != null &&
                    this.UomITEMXXCUSTOM02.Equals(input.UomITEMXXCUSTOM02))
                ) && 
                (
                    this.UomITEMXXCUSTOM03 == input.UomITEMXXCUSTOM03 ||
                    (this.UomITEMXXCUSTOM03 != null &&
                    this.UomITEMXXCUSTOM03.Equals(input.UomITEMXXCUSTOM03))
                ) && 
                (
                    this.UomITEMXXCUSTOM04 == input.UomITEMXXCUSTOM04 ||
                    (this.UomITEMXXCUSTOM04 != null &&
                    this.UomITEMXXCUSTOM04.Equals(input.UomITEMXXCUSTOM04))
                ) && 
                (
                    this.UomITEMXXCUSTOM05 == input.UomITEMXXCUSTOM05 ||
                    (this.UomITEMXXCUSTOM05 != null &&
                    this.UomITEMXXCUSTOM05.Equals(input.UomITEMXXCUSTOM05))
                ) && 
                (
                    this.UomITEMXXCUSTOM06 == input.UomITEMXXCUSTOM06 ||
                    (this.UomITEMXXCUSTOM06 != null &&
                    this.UomITEMXXCUSTOM06.Equals(input.UomITEMXXCUSTOM06))
                ) && 
                (
                    this.UomITEMXXCUSTOM07 == input.UomITEMXXCUSTOM07 ||
                    (this.UomITEMXXCUSTOM07 != null &&
                    this.UomITEMXXCUSTOM07.Equals(input.UomITEMXXCUSTOM07))
                ) && 
                (
                    this.UomITEMXXCUSTOM08 == input.UomITEMXXCUSTOM08 ||
                    (this.UomITEMXXCUSTOM08 != null &&
                    this.UomITEMXXCUSTOM08.Equals(input.UomITEMXXCUSTOM08))
                ) && 
                (
                    this.UomITEMXXCUSTOM09 == input.UomITEMXXCUSTOM09 ||
                    (this.UomITEMXXCUSTOM09 != null &&
                    this.UomITEMXXCUSTOM09.Equals(input.UomITEMXXCUSTOM09))
                ) && 
                (
                    this.UomITEMXXCUSTOM10 == input.UomITEMXXCUSTOM10 ||
                    (this.UomITEMXXCUSTOM10 != null &&
                    this.UomITEMXXCUSTOM10.Equals(input.UomITEMXXCUSTOM10))
                ) && 
                (
                    this.UomITEMXXCUSTOM11 == input.UomITEMXXCUSTOM11 ||
                    (this.UomITEMXXCUSTOM11 != null &&
                    this.UomITEMXXCUSTOM11.Equals(input.UomITEMXXCUSTOM11))
                ) && 
                (
                    this.UomITEMXXCUSTOM12 == input.UomITEMXXCUSTOM12 ||
                    (this.UomITEMXXCUSTOM12 != null &&
                    this.UomITEMXXCUSTOM12.Equals(input.UomITEMXXCUSTOM12))
                ) && 
                (
                    this.UomITEMXXCUSTOM13 == input.UomITEMXXCUSTOM13 ||
                    (this.UomITEMXXCUSTOM13 != null &&
                    this.UomITEMXXCUSTOM13.Equals(input.UomITEMXXCUSTOM13))
                ) && 
                (
                    this.UomITEMXXCUSTOM14 == input.UomITEMXXCUSTOM14 ||
                    (this.UomITEMXXCUSTOM14 != null &&
                    this.UomITEMXXCUSTOM14.Equals(input.UomITEMXXCUSTOM14))
                ) && 
                (
                    this.UomITEMXXCUSTOM15 == input.UomITEMXXCUSTOM15 ||
                    (this.UomITEMXXCUSTOM15 != null &&
                    this.UomITEMXXCUSTOM15.Equals(input.UomITEMXXCUSTOM15))
                ) && 
                (
                    this.UomITEMXXCUSTOM16 == input.UomITEMXXCUSTOM16 ||
                    (this.UomITEMXXCUSTOM16 != null &&
                    this.UomITEMXXCUSTOM16.Equals(input.UomITEMXXCUSTOM16))
                ) && 
                (
                    this.UomITEMXXCUSTOM17 == input.UomITEMXXCUSTOM17 ||
                    (this.UomITEMXXCUSTOM17 != null &&
                    this.UomITEMXXCUSTOM17.Equals(input.UomITEMXXCUSTOM17))
                ) && 
                (
                    this.UomITEMXXCUSTOM18 == input.UomITEMXXCUSTOM18 ||
                    (this.UomITEMXXCUSTOM18 != null &&
                    this.UomITEMXXCUSTOM18.Equals(input.UomITEMXXCUSTOM18))
                ) && 
                (
                    this.UomITEMXXCUSTOM19 == input.UomITEMXXCUSTOM19 ||
                    (this.UomITEMXXCUSTOM19 != null &&
                    this.UomITEMXXCUSTOM19.Equals(input.UomITEMXXCUSTOM19))
                ) && 
                (
                    this.UomITEMXXCUSTOM20 == input.UomITEMXXCUSTOM20 ||
                    (this.UomITEMXXCUSTOM20 != null &&
                    this.UomITEMXXCUSTOM20.Equals(input.UomITEMXXCUSTOM20))
                ) && 
                (
                    this.UomITEMXXCUSTOM21 == input.UomITEMXXCUSTOM21 ||
                    (this.UomITEMXXCUSTOM21 != null &&
                    this.UomITEMXXCUSTOM21.Equals(input.UomITEMXXCUSTOM21))
                ) && 
                (
                    this.UomITEMXXCUSTOM22 == input.UomITEMXXCUSTOM22 ||
                    (this.UomITEMXXCUSTOM22 != null &&
                    this.UomITEMXXCUSTOM22.Equals(input.UomITEMXXCUSTOM22))
                ) && 
                (
                    this.UomITEMXXCUSTOM23 == input.UomITEMXXCUSTOM23 ||
                    (this.UomITEMXXCUSTOM23 != null &&
                    this.UomITEMXXCUSTOM23.Equals(input.UomITEMXXCUSTOM23))
                ) && 
                (
                    this.UomITEMXXCUSTOM24 == input.UomITEMXXCUSTOM24 ||
                    (this.UomITEMXXCUSTOM24 != null &&
                    this.UomITEMXXCUSTOM24.Equals(input.UomITEMXXCUSTOM24))
                ) && 
                (
                    this.UomITEMXXCUSTOM25 == input.UomITEMXXCUSTOM25 ||
                    (this.UomITEMXXCUSTOM25 != null &&
                    this.UomITEMXXCUSTOM25.Equals(input.UomITEMXXCUSTOM25))
                ) && 
                (
                    this.UomITEMXXCUSTOM26 == input.UomITEMXXCUSTOM26 ||
                    (this.UomITEMXXCUSTOM26 != null &&
                    this.UomITEMXXCUSTOM26.Equals(input.UomITEMXXCUSTOM26))
                ) && 
                (
                    this.UomITEMXXCUSTOM27 == input.UomITEMXXCUSTOM27 ||
                    (this.UomITEMXXCUSTOM27 != null &&
                    this.UomITEMXXCUSTOM27.Equals(input.UomITEMXXCUSTOM27))
                ) && 
                (
                    this.UomITEMXXCUSTOM28 == input.UomITEMXXCUSTOM28 ||
                    (this.UomITEMXXCUSTOM28 != null &&
                    this.UomITEMXXCUSTOM28.Equals(input.UomITEMXXCUSTOM28))
                ) && 
                (
                    this.UomITEMXXCUSTOM29 == input.UomITEMXXCUSTOM29 ||
                    (this.UomITEMXXCUSTOM29 != null &&
                    this.UomITEMXXCUSTOM29.Equals(input.UomITEMXXCUSTOM29))
                ) && 
                (
                    this.UomITEMXXCUSTOM30 == input.UomITEMXXCUSTOM30 ||
                    (this.UomITEMXXCUSTOM30 != null &&
                    this.UomITEMXXCUSTOM30.Equals(input.UomITEMXXCUSTOM30))
                ) && 
                (
                    this.ItemXXCUSTOM01 == input.ItemXXCUSTOM01 ||
                    (this.ItemXXCUSTOM01 != null &&
                    this.ItemXXCUSTOM01.Equals(input.ItemXXCUSTOM01))
                ) && 
                (
                    this.ItemXXCUSTOM02 == input.ItemXXCUSTOM02 ||
                    (this.ItemXXCUSTOM02 != null &&
                    this.ItemXXCUSTOM02.Equals(input.ItemXXCUSTOM02))
                ) && 
                (
                    this.ItemXXCUSTOM03 == input.ItemXXCUSTOM03 ||
                    (this.ItemXXCUSTOM03 != null &&
                    this.ItemXXCUSTOM03.Equals(input.ItemXXCUSTOM03))
                ) && 
                (
                    this.ItemXXCUSTOM04 == input.ItemXXCUSTOM04 ||
                    (this.ItemXXCUSTOM04 != null &&
                    this.ItemXXCUSTOM04.Equals(input.ItemXXCUSTOM04))
                ) && 
                (
                    this.ItemXXCUSTOM05 == input.ItemXXCUSTOM05 ||
                    (this.ItemXXCUSTOM05 != null &&
                    this.ItemXXCUSTOM05.Equals(input.ItemXXCUSTOM05))
                ) && 
                (
                    this.ItemXXCUSTOM06 == input.ItemXXCUSTOM06 ||
                    (this.ItemXXCUSTOM06 != null &&
                    this.ItemXXCUSTOM06.Equals(input.ItemXXCUSTOM06))
                ) && 
                (
                    this.ItemXXCUSTOM07 == input.ItemXXCUSTOM07 ||
                    (this.ItemXXCUSTOM07 != null &&
                    this.ItemXXCUSTOM07.Equals(input.ItemXXCUSTOM07))
                ) && 
                (
                    this.ItemXXCUSTOM08 == input.ItemXXCUSTOM08 ||
                    (this.ItemXXCUSTOM08 != null &&
                    this.ItemXXCUSTOM08.Equals(input.ItemXXCUSTOM08))
                ) && 
                (
                    this.ItemXXCUSTOM09 == input.ItemXXCUSTOM09 ||
                    (this.ItemXXCUSTOM09 != null &&
                    this.ItemXXCUSTOM09.Equals(input.ItemXXCUSTOM09))
                ) && 
                (
                    this.ItemXXCUSTOM10 == input.ItemXXCUSTOM10 ||
                    (this.ItemXXCUSTOM10 != null &&
                    this.ItemXXCUSTOM10.Equals(input.ItemXXCUSTOM10))
                ) && 
                (
                    this.ItemXXCUSTOM11 == input.ItemXXCUSTOM11 ||
                    (this.ItemXXCUSTOM11 != null &&
                    this.ItemXXCUSTOM11.Equals(input.ItemXXCUSTOM11))
                ) && 
                (
                    this.ItemXXCUSTOM12 == input.ItemXXCUSTOM12 ||
                    (this.ItemXXCUSTOM12 != null &&
                    this.ItemXXCUSTOM12.Equals(input.ItemXXCUSTOM12))
                ) && 
                (
                    this.ItemXXCUSTOM13 == input.ItemXXCUSTOM13 ||
                    (this.ItemXXCUSTOM13 != null &&
                    this.ItemXXCUSTOM13.Equals(input.ItemXXCUSTOM13))
                ) && 
                (
                    this.ItemXXCUSTOM14 == input.ItemXXCUSTOM14 ||
                    (this.ItemXXCUSTOM14 != null &&
                    this.ItemXXCUSTOM14.Equals(input.ItemXXCUSTOM14))
                ) && 
                (
                    this.ItemXXCUSTOM15 == input.ItemXXCUSTOM15 ||
                    (this.ItemXXCUSTOM15 != null &&
                    this.ItemXXCUSTOM15.Equals(input.ItemXXCUSTOM15))
                ) && 
                (
                    this.ItemXXCUSTOM16 == input.ItemXXCUSTOM16 ||
                    (this.ItemXXCUSTOM16 != null &&
                    this.ItemXXCUSTOM16.Equals(input.ItemXXCUSTOM16))
                ) && 
                (
                    this.ItemXXCUSTOM17 == input.ItemXXCUSTOM17 ||
                    (this.ItemXXCUSTOM17 != null &&
                    this.ItemXXCUSTOM17.Equals(input.ItemXXCUSTOM17))
                ) && 
                (
                    this.ItemXXCUSTOM18 == input.ItemXXCUSTOM18 ||
                    (this.ItemXXCUSTOM18 != null &&
                    this.ItemXXCUSTOM18.Equals(input.ItemXXCUSTOM18))
                ) && 
                (
                    this.ItemXXCUSTOM19 == input.ItemXXCUSTOM19 ||
                    (this.ItemXXCUSTOM19 != null &&
                    this.ItemXXCUSTOM19.Equals(input.ItemXXCUSTOM19))
                ) && 
                (
                    this.ItemXXCUSTOM20 == input.ItemXXCUSTOM20 ||
                    (this.ItemXXCUSTOM20 != null &&
                    this.ItemXXCUSTOM20.Equals(input.ItemXXCUSTOM20))
                ) && 
                (
                    this.ItemXXCUSTOM21 == input.ItemXXCUSTOM21 ||
                    (this.ItemXXCUSTOM21 != null &&
                    this.ItemXXCUSTOM21.Equals(input.ItemXXCUSTOM21))
                ) && 
                (
                    this.ItemXXCUSTOM22 == input.ItemXXCUSTOM22 ||
                    (this.ItemXXCUSTOM22 != null &&
                    this.ItemXXCUSTOM22.Equals(input.ItemXXCUSTOM22))
                ) && 
                (
                    this.ItemXXCUSTOM23 == input.ItemXXCUSTOM23 ||
                    (this.ItemXXCUSTOM23 != null &&
                    this.ItemXXCUSTOM23.Equals(input.ItemXXCUSTOM23))
                ) && 
                (
                    this.ItemXXCUSTOM24 == input.ItemXXCUSTOM24 ||
                    (this.ItemXXCUSTOM24 != null &&
                    this.ItemXXCUSTOM24.Equals(input.ItemXXCUSTOM24))
                ) && 
                (
                    this.ItemXXCUSTOM25 == input.ItemXXCUSTOM25 ||
                    (this.ItemXXCUSTOM25 != null &&
                    this.ItemXXCUSTOM25.Equals(input.ItemXXCUSTOM25))
                ) && 
                (
                    this.ItemXXCUSTOM26 == input.ItemXXCUSTOM26 ||
                    (this.ItemXXCUSTOM26 != null &&
                    this.ItemXXCUSTOM26.Equals(input.ItemXXCUSTOM26))
                ) && 
                (
                    this.ItemXXCUSTOM27 == input.ItemXXCUSTOM27 ||
                    (this.ItemXXCUSTOM27 != null &&
                    this.ItemXXCUSTOM27.Equals(input.ItemXXCUSTOM27))
                ) && 
                (
                    this.ItemXXCUSTOM28 == input.ItemXXCUSTOM28 ||
                    (this.ItemXXCUSTOM28 != null &&
                    this.ItemXXCUSTOM28.Equals(input.ItemXXCUSTOM28))
                ) && 
                (
                    this.ItemXXCUSTOM29 == input.ItemXXCUSTOM29 ||
                    (this.ItemXXCUSTOM29 != null &&
                    this.ItemXXCUSTOM29.Equals(input.ItemXXCUSTOM29))
                ) && 
                (
                    this.ItemXXCUSTOM30 == input.ItemXXCUSTOM30 ||
                    (this.ItemXXCUSTOM30 != null &&
                    this.ItemXXCUSTOM30.Equals(input.ItemXXCUSTOM30))
                );
        }

        /// <summary>
        /// Gets the hash code
        /// </summary>
        /// <returns>Hash code</returns>
        public override int GetHashCode()
        {
            unchecked // Overflow is fine, just wrap
            {
                int hashCode = 41;
                if (this.BusinessUnitGroupID != null)
                    hashCode = hashCode * 59 + this.BusinessUnitGroupID.GetHashCode();
                if (this.ItemID != null)
                    hashCode = hashCode * 59 + this.ItemID.GetHashCode();
                if (this.UomCode != null)
                    hashCode = hashCode * 59 + this.UomCode.GetHashCode();
                if (this.Name != null)
                    hashCode = hashCode * 59 + this.Name.GetHashCode();
                if (this.MainPOSItemId != null)
                    hashCode = hashCode * 59 + this.MainPOSItemId.GetHashCode();
                if (this.UnitOfMeasureName != null)
                    hashCode = hashCode * 59 + this.UnitOfMeasureName.GetHashCode();
                if (this.MerchandiseHierarchyGroupName != null)
                    hashCode = hashCode * 59 + this.MerchandiseHierarchyGroupName.GetHashCode();
                if (this.PriceAmount != null)
                    hashCode = hashCode * 59 + this.PriceAmount.GetHashCode();
                if (this.FormattedPriceAmount != null)
                    hashCode = hashCode * 59 + this.FormattedPriceAmount.GetHashCode();
                if (this.PackagePriceQuantity != null)
                    hashCode = hashCode * 59 + this.PackagePriceQuantity.GetHashCode();
                if (this.PriceGroupId != null)
                    hashCode = hashCode * 59 + this.PriceGroupId.GetHashCode();
                if (this.ItemCollectionSet != null)
                    hashCode = hashCode * 59 + this.ItemCollectionSet.GetHashCode();
                if (this.DefaultSellingUnitOfMeasureCode != null)
                    hashCode = hashCode * 59 + this.DefaultSellingUnitOfMeasureCode.GetHashCode();
                if (this.PosItemId != null)
                    hashCode = hashCode * 59 + this.PosItemId.GetHashCode();
                if (this.CharacteristicViewList != null)
                    hashCode = hashCode * 59 + this.CharacteristicViewList.GetHashCode();
                if (this.UomITEMXXCUSTOM01 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM01.GetHashCode();
                if (this.UomITEMXXCUSTOM02 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM02.GetHashCode();
                if (this.UomITEMXXCUSTOM03 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM03.GetHashCode();
                if (this.UomITEMXXCUSTOM04 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM04.GetHashCode();
                if (this.UomITEMXXCUSTOM05 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM05.GetHashCode();
                if (this.UomITEMXXCUSTOM06 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM06.GetHashCode();
                if (this.UomITEMXXCUSTOM07 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM07.GetHashCode();
                if (this.UomITEMXXCUSTOM08 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM08.GetHashCode();
                if (this.UomITEMXXCUSTOM09 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM09.GetHashCode();
                if (this.UomITEMXXCUSTOM10 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM10.GetHashCode();
                if (this.UomITEMXXCUSTOM11 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM11.GetHashCode();
                if (this.UomITEMXXCUSTOM12 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM12.GetHashCode();
                if (this.UomITEMXXCUSTOM13 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM13.GetHashCode();
                if (this.UomITEMXXCUSTOM14 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM14.GetHashCode();
                if (this.UomITEMXXCUSTOM15 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM15.GetHashCode();
                if (this.UomITEMXXCUSTOM16 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM16.GetHashCode();
                if (this.UomITEMXXCUSTOM17 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM17.GetHashCode();
                if (this.UomITEMXXCUSTOM18 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM18.GetHashCode();
                if (this.UomITEMXXCUSTOM19 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM19.GetHashCode();
                if (this.UomITEMXXCUSTOM20 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM20.GetHashCode();
                if (this.UomITEMXXCUSTOM21 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM21.GetHashCode();
                if (this.UomITEMXXCUSTOM22 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM22.GetHashCode();
                if (this.UomITEMXXCUSTOM23 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM23.GetHashCode();
                if (this.UomITEMXXCUSTOM24 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM24.GetHashCode();
                if (this.UomITEMXXCUSTOM25 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM25.GetHashCode();
                if (this.UomITEMXXCUSTOM26 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM26.GetHashCode();
                if (this.UomITEMXXCUSTOM27 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM27.GetHashCode();
                if (this.UomITEMXXCUSTOM28 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM28.GetHashCode();
                if (this.UomITEMXXCUSTOM29 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM29.GetHashCode();
                if (this.UomITEMXXCUSTOM30 != null)
                    hashCode = hashCode * 59 + this.UomITEMXXCUSTOM30.GetHashCode();
                if (this.ItemXXCUSTOM01 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM01.GetHashCode();
                if (this.ItemXXCUSTOM02 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM02.GetHashCode();
                if (this.ItemXXCUSTOM03 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM03.GetHashCode();
                if (this.ItemXXCUSTOM04 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM04.GetHashCode();
                if (this.ItemXXCUSTOM05 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM05.GetHashCode();
                if (this.ItemXXCUSTOM06 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM06.GetHashCode();
                if (this.ItemXXCUSTOM07 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM07.GetHashCode();
                if (this.ItemXXCUSTOM08 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM08.GetHashCode();
                if (this.ItemXXCUSTOM09 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM09.GetHashCode();
                if (this.ItemXXCUSTOM10 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM10.GetHashCode();
                if (this.ItemXXCUSTOM11 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM11.GetHashCode();
                if (this.ItemXXCUSTOM12 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM12.GetHashCode();
                if (this.ItemXXCUSTOM13 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM13.GetHashCode();
                if (this.ItemXXCUSTOM14 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM14.GetHashCode();
                if (this.ItemXXCUSTOM15 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM15.GetHashCode();
                if (this.ItemXXCUSTOM16 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM16.GetHashCode();
                if (this.ItemXXCUSTOM17 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM17.GetHashCode();
                if (this.ItemXXCUSTOM18 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM18.GetHashCode();
                if (this.ItemXXCUSTOM19 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM19.GetHashCode();
                if (this.ItemXXCUSTOM20 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM20.GetHashCode();
                if (this.ItemXXCUSTOM21 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM21.GetHashCode();
                if (this.ItemXXCUSTOM22 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM22.GetHashCode();
                if (this.ItemXXCUSTOM23 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM23.GetHashCode();
                if (this.ItemXXCUSTOM24 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM24.GetHashCode();
                if (this.ItemXXCUSTOM25 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM25.GetHashCode();
                if (this.ItemXXCUSTOM26 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM26.GetHashCode();
                if (this.ItemXXCUSTOM27 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM27.GetHashCode();
                if (this.ItemXXCUSTOM28 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM28.GetHashCode();
                if (this.ItemXXCUSTOM29 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM29.GetHashCode();
                if (this.ItemXXCUSTOM30 != null)
                    hashCode = hashCode * 59 + this.ItemXXCUSTOM30.GetHashCode();
                return hashCode;
            }
        }

        /// <summary>
        /// To validate all properties of the instance
        /// </summary>
        /// <param name="validationContext">Validation context</param>
        /// <returns>Validation Result</returns>
        IEnumerable<System.ComponentModel.DataAnnotations.ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
        {
            yield break;
        }
    }

}
