//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
    using LukeHagar.PlexAPI.SDK.Models.Requests;
    using LukeHagar.PlexAPI.SDK.Utils;
    using Newtonsoft.Json;
    using System.Collections.Generic;
    
    public class GetSessionsMetadata
    {

        [JsonProperty("addedAt")]
        public int? AddedAt { get; set; }

        [JsonProperty("art")]
        public string? Art { get; set; }

        [JsonProperty("duration")]
        public int? Duration { get; set; }

        [JsonProperty("grandparentArt")]
        public string? GrandparentArt { get; set; }

        [JsonProperty("grandparentGuid")]
        public string? GrandparentGuid { get; set; }

        [JsonProperty("grandparentKey")]
        public string? GrandparentKey { get; set; }

        [JsonProperty("grandparentRatingKey")]
        public string? GrandparentRatingKey { get; set; }

        [JsonProperty("grandparentThumb")]
        public string? GrandparentThumb { get; set; }

        [JsonProperty("grandparentTitle")]
        public string? GrandparentTitle { get; set; }

        [JsonProperty("guid")]
        public string? Guid { get; set; }

        [JsonProperty("index")]
        public int? Index { get; set; }

        [JsonProperty("key")]
        public string? Key { get; set; }

        [JsonProperty("librarySectionID")]
        public string? LibrarySectionID { get; set; }

        [JsonProperty("librarySectionKey")]
        public string? LibrarySectionKey { get; set; }

        [JsonProperty("librarySectionTitle")]
        public string? LibrarySectionTitle { get; set; }

        [JsonProperty("musicAnalysisVersion")]
        public string? MusicAnalysisVersion { get; set; }

        /// <summary>
        /// The original untranslated name of the media item when non-english, or the track artist if an audio Item has an album artist
        /// </summary>
        [JsonProperty("originalTitle")]
        public string? OriginalTitle { get; set; }

        [JsonProperty("parentGuid")]
        public string? ParentGuid { get; set; }

        [JsonProperty("parentIndex")]
        public int? ParentIndex { get; set; }

        [JsonProperty("parentKey")]
        public string? ParentKey { get; set; }

        [JsonProperty("parentRatingKey")]
        public string? ParentRatingKey { get; set; }

        [JsonProperty("parentStudio")]
        public string? ParentStudio { get; set; }

        [JsonProperty("parentThumb")]
        public string? ParentThumb { get; set; }

        [JsonProperty("parentTitle")]
        public string? ParentTitle { get; set; }

        [JsonProperty("parentYear")]
        public int? ParentYear { get; set; }

        [JsonProperty("ratingCount")]
        public int? RatingCount { get; set; }

        [JsonProperty("ratingKey")]
        public string? RatingKey { get; set; }

        [JsonProperty("sessionKey")]
        public string? SessionKey { get; set; }

        [JsonProperty("thumb")]
        public string? Thumb { get; set; }

        [JsonProperty("title")]
        public string? Title { get; set; }

        [JsonProperty("titleSort")]
        public string? TitleSort { get; set; }

        [JsonProperty("type")]
        public string? Type { get; set; }

        [JsonProperty("updatedAt")]
        public int? UpdatedAt { get; set; }

        [JsonProperty("viewOffset")]
        public int? ViewOffset { get; set; }

        [JsonProperty("Media")]
        public List<GetSessionsMedia>? Media { get; set; }

        [JsonProperty("User")]
        public GetSessionsUser? User { get; set; }

        [JsonProperty("Player")]
        public Player? Player { get; set; }

        [JsonProperty("Session")]
        public Session? Session { get; set; }
    }
}