Webiant Logo Webiant Logo
  1. No results found.

    Try your search with a different keyword or use * as a wildcard.

AvalaraTaxSettings.cs

using Nop.Core.Configuration;
using Nop.Plugin.Tax.Avalara.Domain;

namespace Nop.Plugin.Tax.Avalara;

/// 
/// Represents plugin settings
/// 
public class AvalaraTaxSettings : ISettings
{
    #region Common

    /// 
    /// Gets or sets Avalara account ID
    /// 
    public string AccountId { get; set; }

    /// 
    /// Gets or sets Avalara account license key
    /// 
    public string LicenseKey { get; set; }

    /// 
    /// Gets or sets company code
    /// 
    public string CompanyCode { get; set; }

    /// 
    /// Gets or sets company id
    /// 
    public int? CompanyId { get; set; }

    /// 
    /// Gets or sets a value indicating whether to use sandbox (testing environment)
    /// 
    public bool UseSandbox { get; set; }

    /// 
    /// Gets or sets a value indicating whether to enable logging of all requests
    /// 
    public bool EnableLogging { get; set; }

    #endregion

    #region Tax calculation

    /// 
    /// Gets or sets a value indicating whether to commit tax transactions right after they are saved
    /// 
    public bool CommitTransactions { get; set; }

    /// 
    /// Gets or sets a value indicating whether to validate entered by customer addresses before the tax calculation
    /// 
    public bool ValidateAddress { get; set; }

    /// 
    /// Gets or sets a type of the tax origin address
    /// 
    public TaxOriginAddressType TaxOriginAddressType { get; set; }

    /// 
    /// Gets or sets a value indicating whether to use tax rate tables based on the zip rate lookup to estimate 
    /// 
    public bool UseTaxRateTables { get; set; }

    /// 
    /// Gets or sets a value indicating whether to get the tax rate by address only 
    /// 
    public bool GetTaxRateByAddressOnly { get; set; }

    /// 
    /// Gets or sets the tax rate (by address) cache time in minutes
    /// 
    public int TaxRateByAddressCacheTime { get; set; }

    #endregion

    #region Certificates

    /// 
    /// Gets or sets a value indicating whether the feature of exemption certificates is enabled
    /// 
    public bool EnableCertificates { get; set; }

    /// 
    /// Gets or sets a value indicating whether new certificates are automatically valid
    /// 
    public bool AutoValidateCertificate { get; set; }

    /// 
    /// Gets or sets a value indicating whether to allow customers to edit their info 
    /// 
    public bool AllowEditCustomer { get; set; }

    /// 
    /// Gets or sets a value indicating whether to display a message that there are no valid certificates for the customer on the order confirmation page
    /// 
    public bool DisplayNoValidCertificatesMessage { get; set; }

    /// 
    /// Gets or sets the identifiers of customer roles for which certificates are available
    /// 
    public List CustomerRoleIds { get; set; } = new();

    /// 
    /// Gets or sets a value indicating whether to disaply a preview of customer's new certificate before signing and submitting
    /// 
    public bool PreviewCertificate { get; set; }

    /// 
    /// Gets or sets a value indicating whether the customer must upload a scanned copy of their exemption certificate
    /// 
    public bool UploadOnly { get; set; }

    /// 
    /// Gets or sets a value indicating whether to disable the upload of prefilled documents, so that customers must generate a new copy of the certificate by entering their information
    /// 
    public bool FillOnly { get; set; }

    #endregion

    #region Item Classification

    /// 
    /// Gets or sets a value indicating whether to use item classification
    /// 
    public bool UseItemClassification { get; set; }

    /// 
    /// Gets or sets the identifiers of countries for which the HS code needs to be calculated
    /// 
    public List SelectedCountryIds { get; set; } = new();

    #endregion
}