/// <summary>
 /// Initializes a new instance of the <see cref="CreateAccountHolderResponse" /> class.
 /// </summary>
 /// <param name="accountCode">The code of a new account created for the account holder..</param>
 /// <param name="accountHolderCode">The code of the new account holder. (required).</param>
 /// <param name="accountHolderDetails">accountHolderDetails (required).</param>
 /// <param name="accountHolderStatus">accountHolderStatus (required).</param>
 /// <param name="description">The description of the new account holder..</param>
 /// <param name="invalidFields">A list of fields that caused the &#x60;/createAccountHolder&#x60; request to fail..</param>
 /// <param name="legalEntity">The type of legal entity of the new account holder. (required).</param>
 /// <param name="primaryCurrency">The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), with which the prospective account holder primarily deals..</param>
 /// <param name="pspReference">The reference of a request.  Can be used to uniquely identify the request. (required).</param>
 /// <param name="resultCode">The result code..</param>
 /// <param name="verification">verification (required).</param>
 public CreateAccountHolderResponse(string accountCode = default(string), string accountHolderCode = default(string), AccountHolderDetails accountHolderDetails = default(AccountHolderDetails), AccountHolderStatus accountHolderStatus = default(AccountHolderStatus), string description = default(string), List <ErrorFieldType> invalidFields = default(List <ErrorFieldType>), LegalEntityEnum legalEntity = default(LegalEntityEnum), string primaryCurrency = default(string), string pspReference = default(string), string resultCode = default(string), KYCVerificationResult verification = default(KYCVerificationResult))
 {
     // to ensure "pspReference" is required (not null)
     if (pspReference == null)
     {
         throw new InvalidDataException("pspReference is a required property for CreateAccountHolderResponse and cannot be null");
     }
     else
     {
         this.PspReference = pspReference;
     }
     this.AccountHolderStatus  = accountHolderStatus;
     this.LegalEntity          = legalEntity;
     this.Verification         = verification;
     this.AccountHolderDetails = accountHolderDetails;
     this.AccountHolderCode    = accountHolderCode;
     this.AccountCode          = accountCode;
     this.Description          = description;
     this.InvalidFields        = invalidFields;
     this.PrimaryCurrency      = primaryCurrency;
     this.ResultCode           = resultCode;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="UpdateAccountHolderResponse" /> class.
 /// </summary>
 /// <param name="accountHolderCode">The code of the account holder..</param>
 /// <param name="accountHolderDetails">accountHolderDetails.</param>
 /// <param name="accountHolderStatus">accountHolderStatus (required).</param>
 /// <param name="description">The description of the account holder..</param>
 /// <param name="invalidFields">in case the account holder has not been updated, contains account holder fields, that did not pass the validation..</param>
 /// <param name="legalEntity">The legal entity of the account holder. (required).</param>
 /// <param name="primaryCurrency">The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), with which the prospective account holder primarily deals..</param>
 /// <param name="pspReference">The reference of a request.  Can be used to uniquely identify the request. (required).</param>
 /// <param name="resultCode">The result code..</param>
 /// <param name="verification">verification (required).</param>
 public UpdateAccountHolderResponse(string accountHolderCode = default(string), AccountHolderDetails accountHolderDetails = default(AccountHolderDetails), AccountHolderStatus accountHolderStatus = default(AccountHolderStatus), string description = default(string), List <ErrorFieldType> invalidFields = default(List <ErrorFieldType>), LegalEntityEnum legalEntity = default(LegalEntityEnum), string primaryCurrency = default(string), string pspReference = default(string), string resultCode = default(string), KYCVerificationResult verification = default(KYCVerificationResult))
 {
     this.AccountHolderStatus  = accountHolderStatus;
     this.LegalEntity          = legalEntity;
     this.PspReference         = pspReference;
     this.Verification         = verification;
     this.AccountHolderCode    = accountHolderCode;
     this.AccountHolderDetails = accountHolderDetails;
     this.Description          = description;
     this.InvalidFields        = invalidFields;
     this.PrimaryCurrency      = primaryCurrency;
     this.ResultCode           = resultCode;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="GetAccountHolderResponse" /> class.
 /// </summary>
 /// <param name="accountHolderCode">The code of the account holder. (required).</param>
 /// <param name="accountHolderDetails">accountHolderDetails (required).</param>
 /// <param name="accountHolderStatus">accountHolderStatus (required).</param>
 /// <param name="accounts">A list of the accounts under the account holder..</param>
 /// <param name="description">The description of the account holder..</param>
 /// <param name="invalidFields">Contains field validation errors that would prevent requests from being processed..</param>
 /// <param name="legalEntity">The legal entity of the account holder. (required).</param>
 /// <param name="primaryCurrency">The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes), with which the prospective account holder primarily deals..</param>
 /// <param name="pspReference">The reference of a request.  Can be used to uniquely identify the request. (required).</param>
 /// <param name="resultCode">The result code..</param>
 /// <param name="systemUpToDateTime">The time that shows how up to date is the information in the response..</param>
 /// <param name="verification">verification (required).</param>
 public GetAccountHolderResponse(string accountHolderCode = default(string), AccountHolderDetails accountHolderDetails = default(AccountHolderDetails), AccountHolderStatus accountHolderStatus = default(AccountHolderStatus), List <Account> accounts = default(List <Account>), string description = default(string), List <ErrorFieldType> invalidFields = default(List <ErrorFieldType>), LegalEntityEnum legalEntity = default(LegalEntityEnum), string primaryCurrency = default(string), string pspReference = default(string), string resultCode = default(string), DateTime?systemUpToDateTime = default(DateTime?), KYCVerificationResult verification = default(KYCVerificationResult))
 {
     // to ensure "accountHolderCode" is required (not null)
     if (accountHolderCode == null)
     {
         throw new InvalidDataException("accountHolderCode is a required property for GetAccountHolderResponse and cannot be null");
     }
     else
     {
         this.AccountHolderCode = accountHolderCode;
     }
     // to ensure "accountHolderDetails" is required (not null)
     if (accountHolderDetails == null)
     {
         throw new InvalidDataException("accountHolderDetails is a required property for GetAccountHolderResponse and cannot be null");
     }
     else
     {
         this.AccountHolderDetails = accountHolderDetails;
     }
     // to ensure "accountHolderStatus" is required (not null)
     if (accountHolderStatus == null)
     {
         throw new InvalidDataException("accountHolderStatus is a required property for GetAccountHolderResponse and cannot be null");
     }
     else
     {
         this.AccountHolderStatus = accountHolderStatus;
     }
     // to ensure "legalEntity" is required (not null)
     if (legalEntity == null)
     {
         throw new InvalidDataException("legalEntity is a required property for GetAccountHolderResponse and cannot be null");
     }
     else
     {
         this.LegalEntity = legalEntity;
     }
     // to ensure "pspReference" is required (not null)
     if (pspReference == null)
     {
         throw new InvalidDataException("pspReference is a required property for GetAccountHolderResponse and cannot be null");
     }
     else
     {
         this.PspReference = pspReference;
     }
     // to ensure "verification" is required (not null)
     if (verification == null)
     {
         throw new InvalidDataException("verification is a required property for GetAccountHolderResponse and cannot be null");
     }
     else
     {
         this.Verification = verification;
     }
     this.Accounts           = accounts;
     this.Description        = description;
     this.InvalidFields      = invalidFields;
     this.PrimaryCurrency    = primaryCurrency;
     this.ResultCode         = resultCode;
     this.SystemUpToDateTime = systemUpToDateTime;
 }