/// <summary>
 /// Initializes a new instance of the <see cref="ConversationQuery" /> class.
 /// </summary>
 /// <param name="Interval">Specifies the date and time range of data being queried. Results will include conversations that both started on a day touched by the interval AND either started, ended, or any activity during the interval. Conversations that started before the earliest day of the interval will not be searched. Intervals are represented as an ISO-8601 string. For example: YYYY-MM-DDThh:mm:ss/YYYY-MM-DDThh:mm:ss.</param>
 /// <param name="ConversationFilters">Filters that target conversation-level data.</param>
 /// <param name="EvaluationFilters">Filters that target quality management evaluation-level data.</param>
 /// <param name="SurveyFilters">Filters that target quality management survey-level data.</param>
 /// <param name="MediaEndpointStatFilters">Filters that target call quality of service data.</param>
 /// <param name="SegmentFilters">Filters that target individual segments within a conversation.</param>
 /// <param name="Order">Sort the result set in ascending/descending order. Default is ascending.</param>
 /// <param name="OrderBy">Specify which data element within the result set to use for sorting. The options  to use as a basis for sorting the results: conversationStart, segmentStart, and segmentEnd. If not specified, the default is conversationStart.</param>
 /// <param name="Aggregations">Include faceted search and aggregate roll-ups describing your search results. This does not function as a filter, but rather, summary data about the data matching your filters.</param>
 /// <param name="Paging">Page size and number to control iterating through large result sets. Default page size is 25.</param>
 public ConversationQuery(string Interval = null, List <AnalyticsQueryFilter> ConversationFilters = null, List <AnalyticsQueryFilter> EvaluationFilters = null, List <AnalyticsQueryFilter> SurveyFilters = null, List <AnalyticsQueryFilter> MediaEndpointStatFilters = null, List <AnalyticsQueryFilter> SegmentFilters = null, OrderEnum?Order = null, OrderByEnum?OrderBy = null, List <AnalyticsQueryAggregation> Aggregations = null, PagingSpec Paging = null)
 {
     this.Interval                 = Interval;
     this.ConversationFilters      = ConversationFilters;
     this.EvaluationFilters        = EvaluationFilters;
     this.SurveyFilters            = SurveyFilters;
     this.MediaEndpointStatFilters = MediaEndpointStatFilters;
     this.SegmentFilters           = SegmentFilters;
     this.Order        = Order;
     this.OrderBy      = OrderBy;
     this.Aggregations = Aggregations;
     this.Paging       = Paging;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="UserDetailsQuery" /> class.
 /// </summary>
 /// <param name="Interval">Specifies the date and time range of data being queried. Conversations MUST have started within this time range to potentially be included within the result set. Intervals are represented as an ISO-8601 string. For example: YYYY-MM-DDThh:mm:ss/YYYY-MM-DDThh:mm:ss (required).</param>
 /// <param name="UserFilters">Filters that target the users to retrieve data for.</param>
 /// <param name="PresenceFilters">Filters that target system and organization presence-level data.</param>
 /// <param name="RoutingStatusFilters">Filters that target agent routing status-level data.</param>
 /// <param name="Order">Sort the result set in ascending/descending order. Default is ascending.</param>
 /// <param name="PresenceAggregations">Include faceted search and aggregate roll-ups of presence data in your search results. This does not function as a filter, but rather, summary data about the presence results matching your filters.</param>
 /// <param name="RoutingStatusAggregations">Include faceted search and aggregate roll-ups of agent routing status data in your search results. This does not function as a filter, but rather, summary data about the agent routing status results matching your filters.</param>
 /// <param name="Paging">Page size and number to control iterating through large result sets. Default page size is 25.</param>
 public UserDetailsQuery(string Interval = null, List <UserDetailQueryFilter> UserFilters = null, List <PresenceDetailQueryFilter> PresenceFilters = null, List <RoutingStatusDetailQueryFilter> RoutingStatusFilters = null, OrderEnum?Order = null, List <AnalyticsQueryAggregation> PresenceAggregations = null, List <AnalyticsQueryAggregation> RoutingStatusAggregations = null, PagingSpec Paging = null)
 {
     this.Interval             = Interval;
     this.UserFilters          = UserFilters;
     this.PresenceFilters      = PresenceFilters;
     this.RoutingStatusFilters = RoutingStatusFilters;
     this.Order = Order;
     this.PresenceAggregations      = PresenceAggregations;
     this.RoutingStatusAggregations = RoutingStatusAggregations;
     this.Paging = Paging;
 }