//------------------------------------------------------------------------------
// <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;
    
    public class GetTimelineRequest
    {

        /// <summary>
        /// The rating key of the media item
        /// </summary>
        [SpeakeasyMetadata("queryParam:style=form,explode=true,name=ratingKey")]
        public double RatingKey { get; set; } = default!;

        /// <summary>
        /// The key of the media item to get the timeline for
        /// </summary>
        [SpeakeasyMetadata("queryParam:style=form,explode=true,name=key")]
        public string Key { get; set; } = default!;

        /// <summary>
        /// The state of the media item
        /// </summary>
        [SpeakeasyMetadata("queryParam:style=form,explode=true,name=state")]
        public State State { get; set; } = default!;

        /// <summary>
        /// Whether the media item has MDE
        /// </summary>
        [SpeakeasyMetadata("queryParam:style=form,explode=true,name=hasMDE")]
        public double HasMDE { get; set; } = default!;

        /// <summary>
        /// The time of the media item
        /// </summary>
        [SpeakeasyMetadata("queryParam:style=form,explode=true,name=time")]
        public double Time { get; set; } = default!;

        /// <summary>
        /// The duration of the media item
        /// </summary>
        [SpeakeasyMetadata("queryParam:style=form,explode=true,name=duration")]
        public double Duration { get; set; } = default!;

        /// <summary>
        /// The context of the media item
        /// </summary>
        [SpeakeasyMetadata("queryParam:style=form,explode=true,name=context")]
        public string Context { get; set; } = default!;

        /// <summary>
        /// The play queue item ID of the media item
        /// </summary>
        [SpeakeasyMetadata("queryParam:style=form,explode=true,name=playQueueItemID")]
        public double PlayQueueItemID { get; set; } = default!;

        /// <summary>
        /// The playback time of the media item
        /// </summary>
        [SpeakeasyMetadata("queryParam:style=form,explode=true,name=playBackTime")]
        public double PlayBackTime { get; set; } = default!;

        /// <summary>
        /// The row of the media item
        /// </summary>
        [SpeakeasyMetadata("queryParam:style=form,explode=true,name=row")]
        public double Row { get; set; } = default!;
    }
}