namespace POSGkSwaggerModel
{
    /// <summary>
    /// CustomerDO &lt;p&gt;A customer is a person or individual who purchases, may purchase, or did purchase goods or services from a retail store.&lt;br /&gt;&lt;/p&gt;
    /// </summary>
    public record comGkSoftwareGkrApiServerMdCustomerDtoDomCustomerDO	{
        /// <summary>
        /// &lt;p&gt;Getter for inner key class.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Getter for inner key class.&lt;/p&gt;</value>
        public ComGkSoftwareGkrApiServerMdCustomerDtoDomCustomerDOkey key { get; init; }
        /// <summary>
        /// &lt;p&gt;An external unique identifier for a group of business units.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;An external unique identifier for a group of business units.&lt;br /&gt;&lt;/p&gt;</value>
        public string externalBusinessUnitGroupID { get; init; }
        /// <summary>
        /// &lt;p&gt;Denotes the group of allowed tenders.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Denotes the group of allowed tenders.&lt;br /&gt;&lt;/p&gt;</value>
        public string allowedTermsOfPayment { get; init; }
        /// <summary>
        /// &lt;p&gt;Credit limit of the customer.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Credit limit of the customer.&lt;br /&gt;&lt;/p&gt;</value>
        public double? creditLimit { get; init; }
        /// <summary>
        /// &lt;p&gt;The personal number, unique key for the employee identification. (The number of the Identification that identifies the Party).&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The personal number, unique key for the employee identification. (The number of the Identification that identifies the Party).&lt;br /&gt;&lt;/p&gt;</value>
        public string personalID { get; init; }
        /// <summary>
        /// &lt;p&gt;Denotes the group of prohibited tenders.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Denotes the group of prohibited tenders.&lt;br /&gt;&lt;/p&gt;</value>
        public string prohibitedTermsOfPayment { get; init; }
        /// <summary>
        /// &lt;p&gt;Remaining credit limit of the customer. (Total credit limit - amounts of invoices which haven&#39;t been paid yet).&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Remaining credit limit of the customer. (Total credit limit - amounts of invoices which haven&#39;t been paid yet).&lt;br /&gt;&lt;/p&gt;</value>
        public double? remainingCreditLimit { get; init; }
        /// <summary>
        /// &lt;p&gt;Determines whether the customer is liable to tax on sales&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Determines whether the customer is liable to tax on sales&lt;br /&gt;&lt;/p&gt;</value>
        public bool? salesTaxLiableFlag { get; init; }
        /// <summary>
        /// &lt;p&gt;The current status code of the customer, e.g. active, blocked.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The current status code of the customer, e.g. active, blocked.&lt;br /&gt;&lt;/p&gt;</value>
        public string statusCode { get; init; }
        /// <summary>
        /// &lt;p&gt;Default printout mode of the customer.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Default printout mode of the customer.&lt;br /&gt;&lt;/p&gt;</value>
        public string preferredReceiptPrintoutTypeCode { get; init; }
        /// <summary>
        /// &lt;p&gt;The company&#39;s tax number given by the tax office (this is not the sales tax ID).&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The company&#39;s tax number given by the tax office (this is not the sales tax ID).&lt;br /&gt;&lt;/p&gt;</value>
        public string taxNumber { get; init; }
        /// <summary>
        /// &lt;p&gt;Party ID&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Party ID&lt;br /&gt;&lt;/p&gt;</value>
        public string partyID { get; init; }
        /// <summary>
        /// &lt;p&gt;List of the customer credit cards.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;List of the customer credit cards.&lt;br /&gt;&lt;/p&gt;</value>
        public List<comGkSoftwareGkrApiServerMdCustomerDtoDomCreditCard> CreditCardList { get; init; }
        /// <summary>
        /// &lt;p&gt;List of the customer cards.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;List of the customer cards.&lt;br /&gt;&lt;/p&gt;</value>
        public List<comGkSoftwareGkrApiServerMdCustomerDtoDomCustomerCard> CustomerCardList { get; init; }
        /// <summary>
        /// &lt;p&gt;List of CustomerGroupID&#39;s.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;List of CustomerGroupID&#39;s.&lt;br /&gt;&lt;/p&gt;</value>
        public List<string> CustomerGroupIDList { get; init; }
        /// <summary>
        /// &lt;p&gt;An official number that may be used to identify a Party. People and businesses have multiple forms of such identification: Drivers License number, Passport number, Credit / Debit Card number, Company Incorporation number, Tax number, etc...&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;An official number that may be used to identify a Party. People and businesses have multiple forms of such identification: Drivers License number, Passport number, Credit / Debit Card number, Company Incorporation number, Tax number, etc...&lt;br /&gt;&lt;/p&gt;</value>
        public List<comGkSoftwareGkrApiServerMdPartyDtoDomPartyIdentification> PartyIdentification { get; init; }
        /// <summary>
        /// &lt;p&gt;Additional data for the organization if the customer is a organization.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional data for the organization if the customer is a organization.&lt;br /&gt;&lt;/p&gt;</value>
        public ComGkSoftwareGkrApiServerMdCustomerDtoDomorganization organization { get; init; }
        /// <summary>
        /// &lt;p&gt;Contacts for the customer, e.g. address, telephone, fax, email-address.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Contacts for the customer, e.g. address, telephone, fax, email-address.&lt;br /&gt;&lt;/p&gt;</value>
        public ComGkSoftwareGkrApiServerMdcontactDtoDomcontactDO contact { get; init; }
        /// <summary>
        /// &lt;p&gt;Reference to the party structure&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Reference to the party structure&lt;br /&gt;&lt;/p&gt;</value>
        public ComGkSoftwareGkrApiServerMdpartyDtoDompartyDO party { get; init; }
        /// <summary>
        /// &lt;p&gt;Additional data for the person if the customer is a person.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Additional data for the person if the customer is a person.&lt;br /&gt;&lt;/p&gt;</value>
        public ComGkSoftwareGkrApiServerMdpersonDtoDompersonDO person { get; init; }
        /// <summary>
        /// &lt;p&gt;Internal identification of the import package (e.g. IDoc file). The identification is used for monitoring purposes.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Internal identification of the import package (e.g. IDoc file). The identification is used for monitoring purposes.&lt;br /&gt;&lt;/p&gt;</value>
        public string packageID { get; init; }
        /// <summary>
        /// &lt;p&gt;Denotes if the customer declaration is available.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Denotes if the customer declaration is available.&lt;br /&gt;&lt;/p&gt;</value>
        public bool? declarationAvailable { get; init; }
        /// <summary>
        /// &lt;p&gt;Date of the customer declaration.&lt;br /&gt;&lt;/p&gt; Date format &#39;yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSS&#39; (no timezone)
        /// </summary>
        /// <value>&lt;p&gt;Date of the customer declaration.&lt;br /&gt;&lt;/p&gt; Date format &#39;yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSS&#39; (no timezone)</value>
        public string dateOfRecord { get; init; }
        /// <summary>
        /// &lt;p&gt;Identification of person who has recorded the customer declaration (e.g. ID of logged Operator).&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Identification of person who has recorded the customer declaration (e.g. ID of logged Operator).&lt;br /&gt;&lt;/p&gt;</value>
        public string recordedBy { get; init; }
        /// <summary>
        /// &lt;p&gt;Denotes if the customer data can be used for statistical purposes.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Denotes if the customer data can be used for statistical purposes.&lt;br /&gt;&lt;/p&gt;</value>
        public bool? statisticalUseAllowed { get; init; }
        /// <summary>
        /// &lt;p&gt;Timestamp of the last access to the data.&lt;br /&gt;&lt;/p&gt; Date format &#39;yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSS&#39; (no timezone)
        /// </summary>
        /// <value>&lt;p&gt;Timestamp of the last access to the data.&lt;br /&gt;&lt;/p&gt; Date format &#39;yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSS&#39; (no timezone)</value>
        public string lastAccessDate { get; init; }
        /// <summary>
        /// &lt;p&gt;The data protection code being used for the evaluation of the data protection requirements.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The data protection code being used for the evaluation of the data protection requirements.&lt;br /&gt;&lt;/p&gt;</value>
        public string dataProtectCode { get; init; }
        /// <summary>
        /// &lt;p&gt;A unique system assigned identifier for the Customer.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;A unique system assigned identifier for the Customer.&lt;br /&gt;&lt;/p&gt;</value>
        public string parentCustomerID { get; init; }
        /// <summary>
        /// &lt;p&gt;List of the customer partner roles.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;List of the customer partner roles.&lt;br /&gt;&lt;/p&gt;</value>
        public List<comGkSoftwareGkrApiServerMdCustomerDtoDomPartnerRole> PartnerRoleList { get; init; }
        /// <summary>
        /// &lt;p&gt;First Name Line of the customer to which this buyer / contact person belongs.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;First Name Line of the customer to which this buyer / contact person belongs.&lt;br /&gt;&lt;/p&gt;</value>
        public string parentCustomerName1 { get; init; }
        /// <summary>
        /// &lt;p&gt;Second Name Line of the customer to which this buyer / contact person belongs.&lt;br /&gt;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Second Name Line of the customer to which this buyer / contact person belongs.&lt;br /&gt;&lt;/p&gt;</value>
        public string parentCustomerName2 { get; init; }
        /// <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>
        public string xxcustom08 { get; init; }
        /// <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>
        public string xxcustom10 { get; init; }
        /// <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>
        public string xxcustom09 { get; init; }
        /// <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>
        public string xxcustom07 { get; init; }
        /// <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>
        public string xxcustom05 { get; init; }
        /// <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>
        public string xxcustom06 { get; init; }
        /// <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>
        public string xxcustom11 { get; init; }
        /// <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>
        public string xxcustom12 { get; init; }
        /// <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>
        public string xxcustom13 { get; init; }
        /// <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>
        public string xxcustom14 { get; init; }
        /// <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>
        public string xxcustom15 { get; init; }
        /// <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>
        public string xxcustom03 { get; init; }
        /// <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>
        public string xxcustom02 { get; init; }
        /// <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>
        public string xxcustom04 { get; init; }
        /// <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>
        public string xxcustom16 { get; init; }
        /// <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>
        public string xxcustom17 { get; init; }
        /// <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>
        public string xxcustom18 { get; init; }
        /// <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>
        public string xxcustom19 { get; init; }
        /// <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>
        public string xxcustom20 { get; init; }
        /// <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>
        public string xxcustom21 { get; init; }
        /// <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>
        public string xxcustom22 { get; init; }
        /// <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>
        public string xxcustom23 { get; init; }
        /// <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>
        public string xxcustom24 { get; init; }
        /// <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>
        public string xxcustom25 { get; init; }
        /// <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>
        public string xxcustom26 { get; init; }
        /// <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>
        public string xxcustom27 { get; init; }
        /// <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>
        public string xxcustom28 { get; init; }
        /// <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>
        public string xxcustom29 { get; init; }
        /// <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>
        public string xxcustom30 { get; init; }
        /// <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>
        public string xxcustom01 { get; init; }
	}
}
