AIM Web Services

<back to all web services

GetSchedulingCalendarRequest

GetSchedulingCalendar
Requires active-e Lesson Scheduling Service. This API call was accidentally named GetSchedulingCalender in the past.

The following routes are available for this service:
GET/api/GetSchedulingCalendar
GET/api/GetSchedulingCalender
import 'package:servicestack/servicestack.dart';

// @DataContract
class BaseRequest implements IConvertible
{
    /**
    * This is your AIM API Key provided by Tri-Tech
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="This is your AIM API Key provided by Tri-Tech", IsRequired=true, Name="ApiKey", ParameterType="header")
    String? ApiKey;

    // @DataMember
    // @ApiMember(DataType="string", Name="OAuthToken", ParameterType="header")
    String? OAuthToken;

    BaseRequest({this.ApiKey,this.OAuthToken});
    BaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ApiKey = json['ApiKey'];
        OAuthToken = json['OAuthToken'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ApiKey': ApiKey,
        'OAuthToken': OAuthToken
    };

    getTypeName() => "BaseRequest";
    TypeContext? context = _ctx;
}

// @DataContract
class BaseResponseResult implements IConvertible
{
    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="StatusCode", ParameterType="body")
    String? StatusCode;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="Login", ParameterType="body")
    String? Login;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="ErrorCode", ParameterType="body")
    String? ErrorCode;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="ErrorDisplayText", ParameterType="body")
    String? ErrorDisplayText;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="ErrorMessage", ParameterType="body")
    String? ErrorMessage;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="DomainName", ParameterType="body")
    String? DomainName;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="IPAddress", ParameterType="body")
    String? IpAddress;

    BaseResponseResult({this.StatusCode,this.Login,this.ErrorCode,this.ErrorDisplayText,this.ErrorMessage,this.DomainName,this.IpAddress});
    BaseResponseResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        StatusCode = json['StatusCode'];
        Login = json['Login'];
        ErrorCode = json['ErrorCode'];
        ErrorDisplayText = json['ErrorDisplayText'];
        ErrorMessage = json['ErrorMessage'];
        DomainName = json['DomainName'];
        IpAddress = json['IpAddress'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'StatusCode': StatusCode,
        'Login': Login,
        'ErrorCode': ErrorCode,
        'ErrorDisplayText': ErrorDisplayText,
        'ErrorMessage': ErrorMessage,
        'DomainName': DomainName,
        'IpAddress': IpAddress
    };

    getTypeName() => "BaseResponseResult";
    TypeContext? context = _ctx;
}

// @DataContract
class BaseResponse implements IConvertible
{
    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body")
    BaseResponseResult? Status;

    BaseResponse({this.Status});
    BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Status = JsonConverters.fromJson(json['Status'],'BaseResponseResult',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Status': JsonConverters.toJson(Status,'BaseResponseResult',context!)
    };

    getTypeName() => "BaseResponse";
    TypeContext? context = _ctx;
}

// @DataContract
class AvailabilityInfo implements IConvertible
{
    // @DataMember
    DateTime? StartTime;

    // @DataMember
    String? StartTimeString;

    // @DataMember
    int? Length;

    // @DataMember
    int? InstructorId;

    // @DataMember
    int? LocationId;

    AvailabilityInfo({this.StartTime,this.StartTimeString,this.Length,this.InstructorId,this.LocationId});
    AvailabilityInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        StartTime = JsonConverters.fromJson(json['StartTime'],'DateTime',context!);
        StartTimeString = json['StartTimeString'];
        Length = json['Length'];
        InstructorId = json['InstructorId'];
        LocationId = json['LocationId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'StartTime': JsonConverters.toJson(StartTime,'DateTime',context!),
        'StartTimeString': StartTimeString,
        'Length': Length,
        'InstructorId': InstructorId,
        'LocationId': LocationId
    };

    getTypeName() => "AvailabilityInfo";
    TypeContext? context = _ctx;
}

// @DataContract
class DayTimeInfoObj implements IConvertible
{
    // @DataMember
    int? WeekDayInt;

    // @DataMember
    String? WeekDay;

    // @DataMember
    DateTime? StartTime;

    // @DataMember
    String? StartTimeString;

    DayTimeInfoObj({this.WeekDayInt,this.WeekDay,this.StartTime,this.StartTimeString});
    DayTimeInfoObj.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        WeekDayInt = json['WeekDayInt'];
        WeekDay = json['WeekDay'];
        StartTime = JsonConverters.fromJson(json['StartTime'],'DateTime',context!);
        StartTimeString = json['StartTimeString'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'WeekDayInt': WeekDayInt,
        'WeekDay': WeekDay,
        'StartTime': JsonConverters.toJson(StartTime,'DateTime',context!),
        'StartTimeString': StartTimeString
    };

    getTypeName() => "DayTimeInfoObj";
    TypeContext? context = _ctx;
}

// @DataContract
class GroupClassInfo implements IConvertible
{
    // @DataMember
    List<DayTimeInfoObj>? DayTimeInfo;

    // @DataMember
    DateTime? StartDate;

    // @DataMember
    DateTime? EndDate;

    // @DataMember
    String? Guid;

    // @DataMember
    int? Length;

    // @DataMember
    int? InstructorId;

    // @DataMember
    int? LocationId;

    // @DataMember
    String? ClassName;

    // @DataMember
    String? ClassDesc;

    // @DataMember
    String? ClassSummary;

    // @DataMember
    int? MaxClassMembers;

    // @DataMember
    int? CurrentClassMembers;

    // @DataMember
    String? Notes;

    GroupClassInfo({this.DayTimeInfo,this.StartDate,this.EndDate,this.Guid,this.Length,this.InstructorId,this.LocationId,this.ClassName,this.ClassDesc,this.ClassSummary,this.MaxClassMembers,this.CurrentClassMembers,this.Notes});
    GroupClassInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        DayTimeInfo = JsonConverters.fromJson(json['DayTimeInfo'],'List<DayTimeInfoObj>',context!);
        StartDate = JsonConverters.fromJson(json['StartDate'],'DateTime',context!);
        EndDate = JsonConverters.fromJson(json['EndDate'],'DateTime',context!);
        Guid = json['Guid'];
        Length = json['Length'];
        InstructorId = json['InstructorId'];
        LocationId = json['LocationId'];
        ClassName = json['ClassName'];
        ClassDesc = json['ClassDesc'];
        ClassSummary = json['ClassSummary'];
        MaxClassMembers = json['MaxClassMembers'];
        CurrentClassMembers = json['CurrentClassMembers'];
        Notes = json['Notes'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'DayTimeInfo': JsonConverters.toJson(DayTimeInfo,'List<DayTimeInfoObj>',context!),
        'StartDate': JsonConverters.toJson(StartDate,'DateTime',context!),
        'EndDate': JsonConverters.toJson(EndDate,'DateTime',context!),
        'Guid': Guid,
        'Length': Length,
        'InstructorId': InstructorId,
        'LocationId': LocationId,
        'ClassName': ClassName,
        'ClassDesc': ClassDesc,
        'ClassSummary': ClassSummary,
        'MaxClassMembers': MaxClassMembers,
        'CurrentClassMembers': CurrentClassMembers,
        'Notes': Notes
    };

    getTypeName() => "GroupClassInfo";
    TypeContext? context = _ctx;
}

// @DataContract
class TimeIncrementByInstructor implements IConvertible
{
    // @DataMember
    int? InstructorId;

    // @DataMember
    int? TimeIncrement;

    TimeIncrementByInstructor({this.InstructorId,this.TimeIncrement});
    TimeIncrementByInstructor.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        InstructorId = json['InstructorId'];
        TimeIncrement = json['TimeIncrement'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'InstructorId': InstructorId,
        'TimeIncrement': TimeIncrement
    };

    getTypeName() => "TimeIncrementByInstructor";
    TypeContext? context = _ctx;
}

// @DataContract
class GetSchedulingCalendarResponse extends BaseResponse implements IConvertible
{
    // @DataMember
    List<AvailabilityInfo>? Availabilities;

    // @DataMember
    List<GroupClassInfo>? GroupClasses;

    // @DataMember
    int? TimeIncrement;

    // @DataMember
    List<TimeIncrementByInstructor>? TimeIncrementsByInstructor;

    GetSchedulingCalendarResponse({this.Availabilities,this.GroupClasses,this.TimeIncrement,this.TimeIncrementsByInstructor});
    GetSchedulingCalendarResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Availabilities = JsonConverters.fromJson(json['Availabilities'],'List<AvailabilityInfo>',context!);
        GroupClasses = JsonConverters.fromJson(json['GroupClasses'],'List<GroupClassInfo>',context!);
        TimeIncrement = json['TimeIncrement'];
        TimeIncrementsByInstructor = JsonConverters.fromJson(json['TimeIncrementsByInstructor'],'List<TimeIncrementByInstructor>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Availabilities': JsonConverters.toJson(Availabilities,'List<AvailabilityInfo>',context!),
        'GroupClasses': JsonConverters.toJson(GroupClasses,'List<GroupClassInfo>',context!),
        'TimeIncrement': TimeIncrement,
        'TimeIncrementsByInstructor': JsonConverters.toJson(TimeIncrementsByInstructor,'List<TimeIncrementByInstructor>',context!)
    });

    getTypeName() => "GetSchedulingCalendarResponse";
    TypeContext? context = _ctx;
}

/**
* GetSchedulingCalendarRequires active-e Lesson Scheduling Service. This API call was accidentally named GetSchedulingCalender in the past.
*/
// @DataContract
class GetSchedulingCalendarRequest extends BaseRequest implements IConvertible
{
    /**
    * The type of lessons to get a schedule for.
    */
    // @DataMember
    // @ApiMember(DataType="integer", Description="The type of lessons to get a schedule for.", Format="int64", IsRequired=true, Name="TypeId", ParameterType="query")
    int? TypeId;

    /**
    * If sent, lessons from this date/time onward will be returned. Otherwise the current date/time is used.
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="If sent, lessons from this date/time onward will be returned. Otherwise the current date/time is used.", Format="date", Name="DateFrom", ParameterType="query")
    String? DateFrom;

    /**
    * If sent, lessons from before this date/time will be returned. Otherwise the DateFrom plus one week is used.
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="If sent, lessons from before this date/time will be returned. Otherwise the DateFrom plus one week is used.", Format="date", Name="DateTo", ParameterType="query")
    String? DateTo;

    /**
    * If sent, only lessons taught by the sent instructor will be returned.
    */
    // @DataMember
    // @ApiMember(DataType="integer", Description="If sent, only lessons taught by the sent instructor will be returned.", Format="int32", Name="InstructorId", ParameterType="query")
    int? InstructorId;

    /**
    * If sent, lessons taught at the sent location will be returned.
    */
    // @DataMember
    // @ApiMember(DataType="integer", Description="If sent, lessons taught at the sent location will be returned.", Format="int64", Name="LocationId", ParameterType="query")
    int? LocationId;

    GetSchedulingCalendarRequest({this.TypeId,this.DateFrom,this.DateTo,this.InstructorId,this.LocationId});
    GetSchedulingCalendarRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        TypeId = json['TypeId'];
        DateFrom = json['DateFrom'];
        DateTo = json['DateTo'];
        InstructorId = json['InstructorId'];
        LocationId = json['LocationId'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'TypeId': TypeId,
        'DateFrom': DateFrom,
        'DateTo': DateTo,
        'InstructorId': InstructorId,
        'LocationId': LocationId
    });

    getTypeName() => "GetSchedulingCalendarRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'active_ewebservice.biz', types: <String, TypeInfo> {
    'BaseRequest': TypeInfo(TypeOf.Class, create:() => BaseRequest()),
    'BaseResponseResult': TypeInfo(TypeOf.Class, create:() => BaseResponseResult()),
    'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
    'AvailabilityInfo': TypeInfo(TypeOf.Class, create:() => AvailabilityInfo()),
    'DayTimeInfoObj': TypeInfo(TypeOf.Class, create:() => DayTimeInfoObj()),
    'GroupClassInfo': TypeInfo(TypeOf.Class, create:() => GroupClassInfo()),
    'List<DayTimeInfoObj>': TypeInfo(TypeOf.Class, create:() => <DayTimeInfoObj>[]),
    'TimeIncrementByInstructor': TypeInfo(TypeOf.Class, create:() => TimeIncrementByInstructor()),
    'GetSchedulingCalendarResponse': TypeInfo(TypeOf.Class, create:() => GetSchedulingCalendarResponse()),
    'List<AvailabilityInfo>': TypeInfo(TypeOf.Class, create:() => <AvailabilityInfo>[]),
    'List<GroupClassInfo>': TypeInfo(TypeOf.Class, create:() => <GroupClassInfo>[]),
    'List<TimeIncrementByInstructor>': TypeInfo(TypeOf.Class, create:() => <TimeIncrementByInstructor>[]),
    'GetSchedulingCalendarRequest': TypeInfo(TypeOf.Class, create:() => GetSchedulingCalendarRequest()),
});

Dart GetSchedulingCalendarRequest 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 /api/GetSchedulingCalendar HTTP/1.1 
Host: active-ewebservice.biz 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<GetSchedulingCalendarResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AIM.WebService">
  <Status>
    <DomainName>String</DomainName>
    <ErrorCode>String</ErrorCode>
    <ErrorDisplayText>String</ErrorDisplayText>
    <ErrorMessage>String</ErrorMessage>
    <IpAddress>String</IpAddress>
    <Login>String</Login>
    <StatusCode>String</StatusCode>
  </Status>
  <Availabilities>
    <GetSchedulingCalendarResponse.AvailabilityInfo>
      <InstructorId>0</InstructorId>
      <Length>0</Length>
      <LocationId>0</LocationId>
      <StartTime>0001-01-01T00:00:00</StartTime>
      <StartTimeString>1/1/0001 12:00:00 AM</StartTimeString>
    </GetSchedulingCalendarResponse.AvailabilityInfo>
  </Availabilities>
  <GroupClasses>
    <GetSchedulingCalendarResponse.GroupClassInfo>
      <ClassDesc>String</ClassDesc>
      <ClassName>String</ClassName>
      <ClassSummary>String</ClassSummary>
      <CurrentClassMembers>0</CurrentClassMembers>
      <DayTimeInfo>
        <GetSchedulingCalendarResponse.DayTimeInfoObj>
          <StartTime>0001-01-01T00:00:00</StartTime>
          <StartTimeString>1/1/0001 12:00:00 AM</StartTimeString>
          <WeekDay>String</WeekDay>
          <WeekDayInt>0</WeekDayInt>
        </GetSchedulingCalendarResponse.DayTimeInfoObj>
      </DayTimeInfo>
      <EndDate>0001-01-01T00:00:00</EndDate>
      <Guid>00000000-0000-0000-0000-000000000000</Guid>
      <InstructorId>0</InstructorId>
      <Length>0</Length>
      <LocationId>0</LocationId>
      <MaxClassMembers>0</MaxClassMembers>
      <Notes>String</Notes>
      <StartDate>0001-01-01T00:00:00</StartDate>
    </GetSchedulingCalendarResponse.GroupClassInfo>
  </GroupClasses>
  <TimeIncrement>0</TimeIncrement>
  <TimeIncrementsByInstructor>
    <GetSchedulingCalendarResponse.TimeIncrementByInstructor>
      <InstructorId>0</InstructorId>
      <TimeIncrement>0</TimeIncrement>
    </GetSchedulingCalendarResponse.TimeIncrementByInstructor>
  </TimeIncrementsByInstructor>
</GetSchedulingCalendarResponse>