using System;
namespace MediaBrowser.Model.Updates
{
    /// 
    /// Class PackageInfo
    /// 
    public class PackageInfo
    {
        /// 
        /// The internal id of this package.
        /// 
        /// The id.
        public string id { get; set; }
        /// 
        /// Gets or sets the name.
        /// 
        /// The name.
        public string name { get; set; }
        /// 
        /// Gets or sets the short description.
        /// 
        /// The short description.
        public string shortDescription { get; set; }
        /// 
        /// Gets or sets the overview.
        /// 
        /// The overview.
        public string overview { get; set; }
        /// 
        /// Gets or sets a value indicating whether this instance is premium.
        /// 
        /// true if this instance is premium; otherwise, false.
        public bool isPremium { get; set; }
        /// 
        /// Gets or sets a value indicating whether this instance is adult only content.
        /// 
        /// true if this instance is adult; otherwise, false.
        public bool adult { get; set; }
        /// 
        /// Gets or sets the rich desc URL.
        /// 
        /// The rich desc URL.
        public string richDescUrl { get; set; }
        /// 
        /// Gets or sets the thumb image.
        /// 
        /// The thumb image.
        public string thumbImage { get; set; }
        /// 
        /// Gets or sets the preview image.
        /// 
        /// The preview image.
        public string previewImage { get; set; }
        /// 
        /// Gets or sets the type.
        /// 
        /// The type.
        public string type { get; set; }
        /// 
        /// Gets or sets the target filename.
        /// 
        /// The target filename.
        public string targetFilename { get; set; }
        /// 
        /// Gets or sets the owner.
        /// 
        /// The owner.
        public string owner { get; set; }
        /// 
        /// Gets or sets the category.
        /// 
        /// The category.
        public string category { get; set; }
        /// 
        /// Gets or sets the catalog tile color.
        /// 
        /// The owner.
        public string tileColor { get; set; }
        /// 
        /// Gets or sets the feature id of this package (if premium).
        /// 
        /// The feature id.
        public string featureId { get; set; }
        /// 
        /// Gets or sets the registration info for this package (if premium).
        /// 
        /// The registration info.
        public string regInfo { get; set; }
        /// 
        /// Gets or sets the price for this package (if premium).
        /// 
        /// The price.
        public float price { get; set; }
        /// 
        /// Gets or sets the target system for this plug-in (Server, MBTheater, MBClassic).
        /// 
        /// The target system.
        public PackageTargetSystem targetSystem { get; set; }
        /// 
        /// The guid of the assembly associated with this package (if a plug-in).
        /// This is used to identify the proper item for automatic updates.
        /// 
        /// The name.
        public string guid { get; set; }
        /// 
        /// Gets or sets the total number of ratings for this package.
        /// 
        /// The total ratings.
        public int? totalRatings { get; set; }
        /// 
        /// Gets or sets the average rating for this package .
        /// 
        /// The rating.
        public float avgRating { get; set; }
        /// 
        /// Gets or sets whether or not this package is registered.
        /// 
        /// True if registered.
        public bool isRegistered { get; set; }
        /// 
        /// Gets or sets the expiration date for this package.
        /// 
        /// Expiration Date.
        public DateTime expDate { get; set; }
        /// 
        /// Gets or sets the versions.
        /// 
        /// The versions.
        public PackageVersionInfo[] versions { get; set; }
        /// 
        /// Gets or sets a value indicating whether [enable in application store].
        /// 
        /// true if [enable in application store]; otherwise, false.
        public bool enableInAppStore { get; set; }
        /// 
        /// Gets or sets the installs.
        /// 
        /// The installs.
        public int installs { get; set; }
        /// 
        /// Initializes a new instance of the  class.
        /// 
        public PackageInfo()
        {
            versions = new PackageVersionInfo[] { };
        }
    }
}