/// <summary>
 /// Initializes a new instance of the <see cref="NewAccountDefinition" /> class.
 /// </summary>
 /// <param name="AccountName">The account name for the new account..</param>
 /// <param name="AccountSettings">The list of [account settings][accountsettings] that determine the features available for the account. Note that some features are determined by the plan used to create the account and cannot be overridden.  [accountsettings]: /esign/restapi/Accounts/Accounts/create/#account-settings .</param>
 /// <param name="AddressInformation">A complex type that contains the following information for the new account (all string content): address1, address2, city, country, fax, phone, postalCode and state.  **Note:** If country is US (United States) then State codes are validated for US States. Otherwise, State is treated as a non-validated string and serves the purpose of entering a state/province/region.  The maximum characters for the strings are: * address1, address2, city, country and state: 100 characters * postalCode, phone, and fax: 20 characters.</param>
 /// <param name="CreditCardInformation">A complex type that has information about the credit card used to pay for this account..</param>
 /// <param name="DistributorCode">The code that identifies the billing plan groups and plans for the new account..</param>
 /// <param name="DistributorPassword">The password for the distributorCode..</param>
 /// <param name="InitialUser">A complex type with the initial user information for the new account. Note that some user information is set internally based on the plan and cannot be overridden..</param>
 /// <param name="PaymentProcessorInformation">.</param>
 /// <param name="PlanInformation">An object used to identify the features and attributes of the account being created..</param>
 /// <param name="ReferralInformation">A complex type that contains the following information for entering referral and discount information. The following items are included in the referral information (all string content): enableSupport, includedSeats, saleDiscountPercent, saleDiscountAmount, saleDiscountFixedAmount, saleDiscountPeriods, saleDiscountSeatPriceOverride, planStartMonth, referralCode, referrerName, advertisementId, publisherId, shopperId, promoCode, groupMemberId, idType, and industry   ###### Note: saleDiscountPercent, saleDiscountAmount, saleDiscountFixedAmount, saleDiscountPeriods, and saleDiscountSeatPriceOverride are reserved for DoucSign use only.  .</param>
 /// <param name="SocialAccountInformation">Contains properties that map a DocuSign user to a social account (Facebook, Yahoo, etc.).</param>
 public NewAccountDefinition(string AccountName = null, List <NameValue> AccountSettings = null, AccountAddress AddressInformation = null, CreditCardInformation CreditCardInformation = null, string DistributorCode = null, string DistributorPassword = null, Users InitialUser = null, PaymentProcessorInformation PaymentProcessorInformation = null, PlanInformation PlanInformation = null, ReferralInformation ReferralInformation = null, UserSocialAccountLogins SocialAccountInformation = null)
 {
     this.AccountName                 = AccountName;
     this.AccountSettings             = AccountSettings;
     this.AddressInformation          = AddressInformation;
     this.CreditCardInformation       = CreditCardInformation;
     this.DistributorCode             = DistributorCode;
     this.DistributorPassword         = DistributorPassword;
     this.InitialUser                 = InitialUser;
     this.PaymentProcessorInformation = PaymentProcessorInformation;
     this.PlanInformation             = PlanInformation;
     this.ReferralInformation         = ReferralInformation;
     this.SocialAccountInformation    = SocialAccountInformation;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BillingPlanInformation" /> class.
 /// </summary>
 /// <param name="AppStoreReceipt">.</param>
 /// <param name="BillingAddress">.</param>
 /// <param name="CreditCardInformation">A complex type that has information about the credit card used to pay for this account..</param>
 /// <param name="DowngradeReason">.</param>
 /// <param name="EnableSupport">When set to **true**, then customer support is provided as part of the account plan..</param>
 /// <param name="IncludedSeats">The number of seats (users) included..</param>
 /// <param name="IncrementalSeats">Reserved: TBD.</param>
 /// <param name="PaymentProcessorInformation">.</param>
 /// <param name="PlanInformation">An object used to identify the features and attributes of the account being created..</param>
 /// <param name="ReferralInformation">A complex type that contains the following information for entering referral and discount information. The following items are included in the referral information (all string content): enableSupport, includedSeats, saleDiscountPercent, saleDiscountAmount, saleDiscountFixedAmount, saleDiscountPeriods, saleDiscountSeatPriceOverride, planStartMonth, referralCode, referrerName, advertisementId, publisherId, shopperId, promoCode, groupMemberId, idType, and industry   ###### Note: saleDiscountPercent, saleDiscountAmount, saleDiscountFixedAmount, saleDiscountPeriods, and saleDiscountSeatPriceOverride are reserved for DoucSign use only.  .</param>
 /// <param name="RenewalStatus">.</param>
 /// <param name="SaleDiscountAmount">Reserved for DocuSign use only..</param>
 /// <param name="SaleDiscountFixedAmount">Reserved for DocuSign use only..</param>
 /// <param name="SaleDiscountPercent">Reserved for DocuSign use only..</param>
 /// <param name="SaleDiscountPeriods">Reserved for DocuSign use only..</param>
 /// <param name="SaleDiscountSeatPriceOverride">Reserved for DocuSign use only..</param>
 public BillingPlanInformation(AppStoreReceipt AppStoreReceipt = null, AccountAddress BillingAddress = null, CreditCardInformation CreditCardInformation = null, string DowngradeReason = null, string EnableSupport = null, string IncludedSeats = null, string IncrementalSeats = null, PaymentProcessorInformation PaymentProcessorInformation = null, PlanInformation PlanInformation = null, ReferralInformation ReferralInformation = null, string RenewalStatus = null, string SaleDiscountAmount = null, string SaleDiscountFixedAmount = null, string SaleDiscountPercent = null, string SaleDiscountPeriods = null, string SaleDiscountSeatPriceOverride = null)
 {
     this.AppStoreReceipt               = AppStoreReceipt;
     this.BillingAddress                = BillingAddress;
     this.CreditCardInformation         = CreditCardInformation;
     this.DowngradeReason               = DowngradeReason;
     this.EnableSupport                 = EnableSupport;
     this.IncludedSeats                 = IncludedSeats;
     this.IncrementalSeats              = IncrementalSeats;
     this.PaymentProcessorInformation   = PaymentProcessorInformation;
     this.PlanInformation               = PlanInformation;
     this.ReferralInformation           = ReferralInformation;
     this.RenewalStatus                 = RenewalStatus;
     this.SaleDiscountAmount            = SaleDiscountAmount;
     this.SaleDiscountFixedAmount       = SaleDiscountFixedAmount;
     this.SaleDiscountPercent           = SaleDiscountPercent;
     this.SaleDiscountPeriods           = SaleDiscountPeriods;
     this.SaleDiscountSeatPriceOverride = SaleDiscountSeatPriceOverride;
 }