AIM Web Services

<back to all web services

GetSchedulingInstructorsRequest

GetSchedulingInstructors
Requires active-e Lesson Scheduling Service

The following routes are available for this service:
GET/api/GetSchedulingInstructors
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;
}

class InstructorAvailabilityInfo implements IConvertible
{
    // @DataMember
    bool? Sunday;

    // @DataMember
    bool? Monday;

    // @DataMember
    bool? Tuesday;

    // @DataMember
    bool? Wednesday;

    // @DataMember
    bool? Thursday;

    // @DataMember
    bool? Friday;

    // @DataMember
    bool? Saturday;

    InstructorAvailabilityInfo({this.Sunday,this.Monday,this.Tuesday,this.Wednesday,this.Thursday,this.Friday,this.Saturday});
    InstructorAvailabilityInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Sunday = json['Sunday'];
        Monday = json['Monday'];
        Tuesday = json['Tuesday'];
        Wednesday = json['Wednesday'];
        Thursday = json['Thursday'];
        Friday = json['Friday'];
        Saturday = json['Saturday'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Sunday': Sunday,
        'Monday': Monday,
        'Tuesday': Tuesday,
        'Wednesday': Wednesday,
        'Thursday': Thursday,
        'Friday': Friday,
        'Saturday': Saturday
    };

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

// @DataContract
class InstructorInfo implements IConvertible
{
    // @DataMember
    int? Id;

    // @DataMember
    String? Name;

    // @DataMember
    String? Email;

    // @DataMember
    String? Topic;

    // @DataMember
    InstructorAvailabilityInfo? AvailabilityInfo;

    InstructorInfo({this.Id,this.Name,this.Email,this.Topic,this.AvailabilityInfo});
    InstructorInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Name = json['Name'];
        Email = json['Email'];
        Topic = json['Topic'];
        AvailabilityInfo = JsonConverters.fromJson(json['AvailabilityInfo'],'InstructorAvailabilityInfo',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Name': Name,
        'Email': Email,
        'Topic': Topic,
        'AvailabilityInfo': JsonConverters.toJson(AvailabilityInfo,'InstructorAvailabilityInfo',context!)
    };

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

// @DataContract
class GetSchedulingInstructorsResponse extends BaseResponse implements IConvertible
{
    // @DataMember
    List<InstructorInfo>? Instructors;

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

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

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Instructors': JsonConverters.toJson(Instructors,'List<InstructorInfo>',context!)
    });

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

/**
* GetSchedulingInstructorsRequires active-e Lesson Scheduling Service
*/
// @DataContract
class GetSchedulingInstructorsRequest extends BaseRequest implements IConvertible
{
    /**
    * Instructor ID to lookup. If sent, other parameters will be ignored.
    */
    // @DataMember
    // @ApiMember(DataType="integer", Description="Instructor ID to lookup. If sent, other parameters will be ignored.", Format="int32", Name="InstructorId", ParameterType="query")
    int? InstructorId;

    /**
    * If sent, only instructors who teach lessons with the passed grouping will be returned.
    */
    // @DataMember
    // @ApiMember(DataType="integer", Description="If sent, only instructors who teach lessons with the passed grouping will be returned.", Format="int64", Name="GroupingId", ParameterType="query")
    int? GroupingId;

    /**
    * If sent, only instructors who teach lessons with the passed type will be returned.
    */
    // @DataMember
    // @ApiMember(DataType="integer", Description="If sent, only instructors who teach lessons with the passed type will be returned.", Format="int64", Name="TypeId", ParameterType="query")
    int? TypeId;

    /**
    * If sent, only instructors who have an availability record at the passed location will be returned.
    */
    // @DataMember
    // @ApiMember(DataType="integer", Description="If sent, only instructors who have an availability record at the passed location will be returned.", Format="int64", Name="LocationId", ParameterType="query")
    int? LocationId;

    /**
    * If true, basic Availability Info will be included in the response
    */
    // @DataMember
    // @ApiMember(DataType="boolean", Description="If true, basic Availability Info will be included in the response", Name="IncludeAvailabilityInfo", ParameterType="query")
    bool? IncludeAvailabilityInfo;

    GetSchedulingInstructorsRequest({this.InstructorId,this.GroupingId,this.TypeId,this.LocationId,this.IncludeAvailabilityInfo});
    GetSchedulingInstructorsRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

    getTypeName() => "GetSchedulingInstructorsRequest";
    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()),
    'InstructorAvailabilityInfo': TypeInfo(TypeOf.Class, create:() => InstructorAvailabilityInfo()),
    'InstructorInfo': TypeInfo(TypeOf.Class, create:() => InstructorInfo()),
    'GetSchedulingInstructorsResponse': TypeInfo(TypeOf.Class, create:() => GetSchedulingInstructorsResponse()),
    'List<InstructorInfo>': TypeInfo(TypeOf.Class, create:() => <InstructorInfo>[]),
    'GetSchedulingInstructorsRequest': TypeInfo(TypeOf.Class, create:() => GetSchedulingInstructorsRequest()),
});

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

<GetSchedulingInstructorsResponse 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>
  <Instructors>
    <GetSchedulingInstructorsResponse.InstructorInfo>
      <AvailabilityInfo>
        <Friday>false</Friday>
        <Monday>false</Monday>
        <Saturday>false</Saturday>
        <Sunday>false</Sunday>
        <Thursday>false</Thursday>
        <Tuesday>false</Tuesday>
        <Wednesday>false</Wednesday>
      </AvailabilityInfo>
      <Email>String</Email>
      <Id>0</Id>
      <Name>String</Name>
      <Topic>String</Topic>
    </GetSchedulingInstructorsResponse.InstructorInfo>
  </Instructors>
</GetSchedulingInstructorsResponse>