using System.Collections.Generic;
using System.Runtime.Serialization;

namespace TINK.Repository.Response
{
    /// <summary>
    /// Holds the information about all stations and is used for deserialization of copri answer.
    /// </summary>
    [DataContract]
    public class StationsAvailableResponse : ResponseBase
    {
        /// <summary>
        /// Holds info about a single station.
        /// </summary>
        [DataContract]
        public class StationInfo
        {
            /// <summary>
            /// Holds info about opertor data.
            /// </summary>
            [DataContract]
            public class OperatorData
            {
                [DataMember]
                public string operator_name { get; private set; }

                [DataMember]
                public string operator_phone { get; private set; }

                [DataMember]
                public string operator_hours { get; private set; }

                [DataMember]
                public string operator_email { get; private set; }


                [DataMember]
                public string operator_color { get; private set; }
            }

            /// <summary>
            /// Unique id of the station.
            /// </summary>
            [DataMember]
            public string station { get; private set; }

            [DataMember]
            public string[] station_group { get; private set; }

            [DataMember]
            public string description { get; private set; }

            /// <summary>
            /// Position of the station.
            /// </summary>
            [DataMember]
            public GpsInfo gps { get; private set; }

            [DataMember]
            public OperatorData operator_data { get; private set; }
        }

        /// <summary>
        /// Dictionary of bikes.
        /// </summary>
        [DataMember]
        public Dictionary<string, StationInfo> stations { get; private set; }
    }
}