Evo Voice

<back to all web services

GetInheritedSchedule

Get the inherited schedule for this customer

Requires Authentication
Requires any of the roles:SystemAdministrator, Manager, Customer
The following routes are available for this service:
GET/customers/{customerId}/inherited-schedule
GET/endpoints/{endpointId}/inherited-schedule
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Voice.Api.Customers;
using Voice.Api.Scheduling;
using Voice.Api.Flows.Data;

namespace Voice.Api.Customers
{
    ///<summary>
    ///Get the inherited schedule for this customer
    ///</summary>
    [Api(Description="Get the inherited schedule for this customer")]
    public partial class GetInheritedSchedule
    {
        ///<summary>
        ///The customer ID whose inherited schedule you want to retrieve
        ///</summary>
        [ApiMember(Description="The customer ID whose inherited schedule you want to retrieve")]
        public virtual string CustomerId { get; set; }

        ///<summary>
        ///The endpoint ID whose inherited schedule you want to retrieve (use this OR customer id
        ///</summary>
        [ApiMember(Description="The endpoint ID whose inherited schedule you want to retrieve (use this OR customer id")]
        public virtual string EndpointId { get; set; }
    }

}

namespace Voice.Api.Flows.Data
{
    public partial class Struct
        : Dictionary<string, Value>
    {
    }

    public partial class Value
    {
        public Value()
        {
            ListValue = new List<Struct>{};
        }

        public virtual bool? BoolValue { get; set; }
        public virtual string StringValue { get; set; }
        public virtual double? NumberValue { get; set; }
        public virtual List<Struct> ListValue { get; set; }
        public virtual Struct StructValue { get; set; }
    }

}

namespace Voice.Api.Scheduling
{
    public partial class Schedule
    {
        public Schedule()
        {
            Rules = new List<SchedulingRule>{};
        }

        public virtual string TimeZoneId { get; set; }
        public virtual bool Inherit { get; set; }
        public virtual bool ForceClosed { get; set; }
        public virtual List<SchedulingRule> Rules { get; set; }
        public virtual string DefaultState { get; set; }
    }

    public partial class ScheduleDay
    {
        public virtual int Offset { get; set; }
        public virtual DayOfWeek DayOfWeek { get; set; }
    }

    public partial class SchedulingRule
    {
        public SchedulingRule()
        {
            BySetPosition = new List<int>{};
            ByMonth = new List<int>{};
            ByWeekNo = new List<int>{};
            ByYearDay = new List<int>{};
            ByMonthDay = new List<int>{};
            ByDay = new List<ScheduleDay>{};
            ByHour = new List<int>{};
            ByMinute = new List<int>{};
        }

        public virtual string Id { get; set; }
        public virtual string Name { get; set; }
        public virtual int Priority { get; set; }
        public virtual string State { get; set; }
        public virtual string Source { get; set; }
        public virtual string Condition { get; set; }
        public virtual SimpleSchedulingRuleTypes SimpleRuleType { get; set; }
        public virtual string CustomerState { get; set; }
        public virtual string FlowId { get; set; }
        public virtual Struct FlowParams { get; set; }
        public virtual bool IsAllDay { get; set; }
        public virtual string StartDate { get; set; }
        public virtual string StartTime { get; set; }
        public virtual string EndTime { get; set; }
        public virtual List<int> BySetPosition { get; set; }
        public virtual List<int> ByMonth { get; set; }
        public virtual List<int> ByWeekNo { get; set; }
        public virtual List<int> ByYearDay { get; set; }
        public virtual List<int> ByMonthDay { get; set; }
        public virtual List<ScheduleDay> ByDay { get; set; }
        public virtual List<int> ByHour { get; set; }
        public virtual List<int> ByMinute { get; set; }
        public virtual int Interval { get; set; }
        public virtual int Count { get; set; }
        public virtual string UntilDate { get; set; }
        public virtual SchedulingRuleFrequency Frequency { get; set; }
    }

    public enum SchedulingRuleFrequency
    {
        None,
        Secondly,
        Minutely,
        Hourly,
        Daily,
        Weekly,
        Monthly,
        Yearly,
    }

    public enum SimpleSchedulingRuleTypes
    {
        Always,
        CustomerState,
        Time,
    }

}

C# GetInheritedSchedule DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /customers/{customerId}/inherited-schedule HTTP/1.1 
Host: evovoice.io 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<Schedule xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Scheduling">
  <DefaultState>String</DefaultState>
  <ForceClosed>false</ForceClosed>
  <Inherit>false</Inherit>
  <Rules>
    <SchedulingRule>
      <ByDay>
        <ScheduleDay>
          <DayOfWeek>Sunday</DayOfWeek>
          <Offset>0</Offset>
        </ScheduleDay>
      </ByDay>
      <ByHour xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:int>0</d4p1:int>
      </ByHour>
      <ByMinute xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:int>0</d4p1:int>
      </ByMinute>
      <ByMonth xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:int>0</d4p1:int>
      </ByMonth>
      <ByMonthDay xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:int>0</d4p1:int>
      </ByMonthDay>
      <BySetPosition xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:int>0</d4p1:int>
      </BySetPosition>
      <ByWeekNo xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:int>0</d4p1:int>
      </ByWeekNo>
      <ByYearDay xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:int>0</d4p1:int>
      </ByYearDay>
      <Condition>String</Condition>
      <Count>0</Count>
      <CustomerState>String</CustomerState>
      <EndTime>String</EndTime>
      <FlowId>String</FlowId>
      <FlowParams xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringValue8Ahp2kgT>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value xmlns:d6p1="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">
            <d6p1:BoolValue>false</d6p1:BoolValue>
            <d6p1:ListValue>
              <d4p1:ArrayOfKeyValueOfstringValue8Ahp2kgT>
                <d4p1:KeyValueOfstringValue8Ahp2kgT>
                  <d4p1:Key>String</d4p1:Key>
                  <d4p1:Value>
                    <d6p1:BoolValue>false</d6p1:BoolValue>
                    <d6p1:ListValue>
                      <d4p1:ArrayOfKeyValueOfstringValue8Ahp2kgT>
                        <d4p1:KeyValueOfstringValue8Ahp2kgT>
                          <d4p1:Key>String</d4p1:Key>
                          <d4p1:Value>
                            <d6p1:BoolValue>false</d6p1:BoolValue>
                            <d6p1:ListValue>
                              <d4p1:ArrayOfKeyValueOfstringValue8Ahp2kgT i:nil="true" />
                            </d6p1:ListValue>
                            <d6p1:NumberValue>0</d6p1:NumberValue>
                            <d6p1:StringValue>String</d6p1:StringValue>
                            <d6p1:StructValue i:nil="true" />
                          </d4p1:Value>
                        </d4p1:KeyValueOfstringValue8Ahp2kgT>
                      </d4p1:ArrayOfKeyValueOfstringValue8Ahp2kgT>
                    </d6p1:ListValue>
                    <d6p1:NumberValue>0</d6p1:NumberValue>
                    <d6p1:StringValue>String</d6p1:StringValue>
                    <d6p1:StructValue>
                      <d4p1:KeyValueOfstringValue8Ahp2kgT>
                        <d4p1:Key>String</d4p1:Key>
                        <d4p1:Value>
                          <d6p1:BoolValue>false</d6p1:BoolValue>
                          <d6p1:ListValue>
                            <d4p1:ArrayOfKeyValueOfstringValue8Ahp2kgT i:nil="true" />
                          </d6p1:ListValue>
                          <d6p1:NumberValue>0</d6p1:NumberValue>
                          <d6p1:StringValue>String</d6p1:StringValue>
                          <d6p1:StructValue i:nil="true" />
                        </d4p1:Value>
                      </d4p1:KeyValueOfstringValue8Ahp2kgT>
                    </d6p1:StructValue>
                  </d4p1:Value>
                </d4p1:KeyValueOfstringValue8Ahp2kgT>
              </d4p1:ArrayOfKeyValueOfstringValue8Ahp2kgT>
            </d6p1:ListValue>
            <d6p1:NumberValue>0</d6p1:NumberValue>
            <d6p1:StringValue>String</d6p1:StringValue>
            <d6p1:StructValue>
              <d4p1:KeyValueOfstringValue8Ahp2kgT>
                <d4p1:Key>String</d4p1:Key>
                <d4p1:Value>
                  <d6p1:BoolValue>false</d6p1:BoolValue>
                  <d6p1:ListValue>
                    <d4p1:ArrayOfKeyValueOfstringValue8Ahp2kgT>
                      <d4p1:KeyValueOfstringValue8Ahp2kgT>
                        <d4p1:Key>String</d4p1:Key>
                        <d4p1:Value>
                          <d6p1:BoolValue>false</d6p1:BoolValue>
                          <d6p1:ListValue>
                            <d4p1:ArrayOfKeyValueOfstringValue8Ahp2kgT i:nil="true" />
                          </d6p1:ListValue>
                          <d6p1:NumberValue>0</d6p1:NumberValue>
                          <d6p1:StringValue>String</d6p1:StringValue>
                          <d6p1:StructValue i:nil="true" />
                        </d4p1:Value>
                      </d4p1:KeyValueOfstringValue8Ahp2kgT>
                    </d4p1:ArrayOfKeyValueOfstringValue8Ahp2kgT>
                  </d6p1:ListValue>
                  <d6p1:NumberValue>0</d6p1:NumberValue>
                  <d6p1:StringValue>String</d6p1:StringValue>
                  <d6p1:StructValue>
                    <d4p1:KeyValueOfstringValue8Ahp2kgT>
                      <d4p1:Key>String</d4p1:Key>
                      <d4p1:Value>
                        <d6p1:BoolValue>false</d6p1:BoolValue>
                        <d6p1:ListValue>
                          <d4p1:ArrayOfKeyValueOfstringValue8Ahp2kgT i:nil="true" />
                        </d6p1:ListValue>
                        <d6p1:NumberValue>0</d6p1:NumberValue>
                        <d6p1:StringValue>String</d6p1:StringValue>
                        <d6p1:StructValue i:nil="true" />
                      </d4p1:Value>
                    </d4p1:KeyValueOfstringValue8Ahp2kgT>
                  </d6p1:StructValue>
                </d4p1:Value>
              </d4p1:KeyValueOfstringValue8Ahp2kgT>
            </d6p1:StructValue>
          </d4p1:Value>
        </d4p1:KeyValueOfstringValue8Ahp2kgT>
      </FlowParams>
      <Frequency>None</Frequency>
      <Id>String</Id>
      <Interval>0</Interval>
      <IsAllDay>false</IsAllDay>
      <Name>String</Name>
      <Priority>0</Priority>
      <SimpleRuleType>Always</SimpleRuleType>
      <Source>String</Source>
      <StartDate>String</StartDate>
      <StartTime>String</StartTime>
      <State>String</State>
      <UntilDate>String</UntilDate>
    </SchedulingRule>
  </Rules>
  <TimeZoneId>String</TimeZoneId>
</Schedule>