/// <summary>
 /// Initializes a new instance of the <see cref="MediaSetting" /> class.
 /// </summary>
 /// <param name="AlertingTimeoutSeconds">AlertingTimeoutSeconds.</param>
 /// <param name="ServiceLevel">ServiceLevel.</param>
 public MediaSetting(int?AlertingTimeoutSeconds = null, ServiceLevel ServiceLevel = null)
 {
     this.AlertingTimeoutSeconds = AlertingTimeoutSeconds;
     this.ServiceLevel           = ServiceLevel;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ActionTarget" /> class.
 /// </summary>
 /// <param name="Name">Name.</param>
 /// <param name="UserData">Additional user data associated with the target in key/value format..</param>
 /// <param name="SupportedMediaTypes">Supported media types of the target..</param>
 /// <param name="State">Indicates the state of the target..</param>
 /// <param name="Description">Description of the target..</param>
 /// <param name="ServiceLevel">Service Level of the action target. Chat offers for the target will be throttled with the aim of achieving this service level..</param>
 /// <param name="ShortAbandonThreshold">Indicates the non-default short abandon threshold.</param>
 /// <param name="CreatedDate">The date the target was created. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z.</param>
 /// <param name="ModifiedDate">The date the target was last modified. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z.</param>
 public ActionTarget(string Name = null, List <KeyValue> UserData = null, List <SupportedMediaTypesEnum> SupportedMediaTypes = null, StateEnum?State = null, string Description = null, ServiceLevel ServiceLevel = null, int?ShortAbandonThreshold = null, DateTime?CreatedDate = null, DateTime?ModifiedDate = null)
 {
     this.Name                  = Name;
     this.UserData              = UserData;
     this.SupportedMediaTypes   = SupportedMediaTypes;
     this.State                 = State;
     this.Description           = Description;
     this.ServiceLevel          = ServiceLevel;
     this.ShortAbandonThreshold = ShortAbandonThreshold;
     this.CreatedDate           = CreatedDate;
     this.ModifiedDate          = ModifiedDate;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="MediaSetting" /> class.
 /// </summary>
 /// <param name="EnableAutoAnswer">Indicates if auto-answer is enabled for the given media type or subtype (default is false).  Subtype settings take precedence over media type settings..</param>
 /// <param name="AlertingTimeoutSeconds">AlertingTimeoutSeconds.</param>
 /// <param name="ServiceLevel">ServiceLevel.</param>
 /// <param name="SubTypeSettings">Map of media subtype to media subtype specific settings..</param>
 public MediaSetting(bool?EnableAutoAnswer = null, int?AlertingTimeoutSeconds = null, ServiceLevel ServiceLevel = null, Dictionary <string, BaseMediaSettings> SubTypeSettings = null)
 {
     this.EnableAutoAnswer       = EnableAutoAnswer;
     this.AlertingTimeoutSeconds = AlertingTimeoutSeconds;
     this.ServiceLevel           = ServiceLevel;
     this.SubTypeSettings        = SubTypeSettings;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="PatchActionTarget" /> class.
 /// </summary>
 /// <param name="Name">Name.</param>
 /// <param name="ServiceLevel">Service Level of the action target. Chat offers for the target will be throttled with the aim of achieving this service level..</param>
 /// <param name="ShortAbandonThreshold">Indicates the non-default short abandon threshold.</param>
 public PatchActionTarget(string Name = null, ServiceLevel ServiceLevel = null, int?ShortAbandonThreshold = null)
 {
     this.Name                  = Name;
     this.ServiceLevel          = ServiceLevel;
     this.ShortAbandonThreshold = ShortAbandonThreshold;
 }