AIM Web Services

<back to all web services

GetStationsRequest

GetStations
Requires active-e Station Reservations Service

The following routes are available for this service:
GET/api/GetStations
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 BaseSecureRequest extends BaseRequest implements IConvertible
{
    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="Token", ParameterType="Header")
    String? Token;

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

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", IsRequired=true, Name="AppId", ParameterType="Header")
    String? AppId;

    BaseSecureRequest({this.Token,this.DeviceId,this.AppId});
    BaseSecureRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Token = json['Token'];
        DeviceId = json['DeviceId'];
        AppId = json['AppId'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Token': Token,
        'DeviceId': DeviceId,
        'AppId': AppId
    });

    getTypeName() => "BaseSecureRequest";
    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 LocationInfo implements IConvertible
{
    // @DataMember
    int? Id;

    // @DataMember
    String? Desc;

    // @DataMember
    String? ShortDesc;

    // @DataMember
    String? Region;

    // @DataMember
    double? Latitude;

    // @DataMember
    double? Longitude;

    // @DataMember
    String? InStorePickup;

    // @DataMember
    bool? Active;

    // @DataMember
    int? CashSaleAcct;

    LocationInfo({this.Id,this.Desc,this.ShortDesc,this.Region,this.Latitude,this.Longitude,this.InStorePickup,this.Active,this.CashSaleAcct});
    LocationInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Desc = json['Desc'];
        ShortDesc = json['ShortDesc'];
        Region = json['Region'];
        Latitude = JsonConverters.toDouble(json['Latitude']);
        Longitude = JsonConverters.toDouble(json['Longitude']);
        InStorePickup = json['InStorePickup'];
        Active = json['Active'];
        CashSaleAcct = json['CashSaleAcct'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Desc': Desc,
        'ShortDesc': ShortDesc,
        'Region': Region,
        'Latitude': Latitude,
        'Longitude': Longitude,
        'InStorePickup': InStorePickup,
        'Active': Active,
        'CashSaleAcct': CashSaleAcct
    };

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

// @DataContract
class ReservationInfo implements IConvertible
{
    // @DataMember
    DateTime? Start;

    // @DataMember
    DateTime? End;

    // @DataMember
    int? CustomerAcct;

    ReservationInfo({this.Start,this.End,this.CustomerAcct});
    ReservationInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'Start': JsonConverters.toJson(Start,'DateTime',context!),
        'End': JsonConverters.toJson(End,'DateTime',context!),
        'CustomerAcct': CustomerAcct
    };

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

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

    // @DataMember
    String? Name;

    // @DataMember
    String? WebDescription;

    // @DataMember
    int? MaxUsers;

    // @DataMember
    LocationInfo? Location;

    // @DataMember
    String? CurrentStatus;

    // @DataMember
    List<ReservationInfo>? Reservations;

    // @DataMember
    List<DateTime>? AvailabilityCalendar;

    // @DataMember
    String? Topic;

    StationInfo({this.Id,this.Name,this.WebDescription,this.MaxUsers,this.Location,this.CurrentStatus,this.Reservations,this.AvailabilityCalendar,this.Topic});
    StationInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Name = json['Name'];
        WebDescription = json['WebDescription'];
        MaxUsers = json['MaxUsers'];
        Location = JsonConverters.fromJson(json['Location'],'LocationInfo',context!);
        CurrentStatus = json['CurrentStatus'];
        Reservations = JsonConverters.fromJson(json['Reservations'],'List<ReservationInfo>',context!);
        AvailabilityCalendar = JsonConverters.fromJson(json['AvailabilityCalendar'],'List<DateTime>',context!);
        Topic = json['Topic'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Name': Name,
        'WebDescription': WebDescription,
        'MaxUsers': MaxUsers,
        'Location': JsonConverters.toJson(Location,'LocationInfo',context!),
        'CurrentStatus': CurrentStatus,
        'Reservations': JsonConverters.toJson(Reservations,'List<ReservationInfo>',context!),
        'AvailabilityCalendar': JsonConverters.toJson(AvailabilityCalendar,'List<DateTime>',context!),
        'Topic': Topic
    };

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

// @DataContract
class GetStationsResponse extends BaseResponse implements IConvertible
{
    // @DataMember
    List<StationInfo>? Stations;

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

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

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

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

/**
* GetStationsRequires active-e Station Reservations Service
*/
// @DataContract
class GetStationsRequest extends BaseSecureRequest implements IConvertible
{
    /**
    * If sent, only stations at the passed location will be returned.
    */
    // @DataMember
    // @ApiMember(DataType="integer", Description="If sent, only stations at the passed location will be returned.", Format="int64", Name="LocationId", ParameterType="query")
    int? LocationId;

    /**
    * If sent, only stations in the passed Station group will be returned
    */
    // @DataMember
    // @ApiMember(DataType="integer", Description="If sent, only stations in the passed Station group will be returned", Format="int64", Name="GroupId", ParameterType="query")
    int? GroupId;

    // @DataMember
    int? Acct;

    // @DataMember
    bool? GenerateAvailabilityCalendar;

    /**
    * If sent, the availability calendar will be for the next X days
    */
    // @DataMember
    // @ApiMember(DataType="integer", Description="If sent, the availability calendar will be for the next X days", Format="int64", Name="AvailabilityCalendarDays", ParameterType="query")
    int? AvailabilityCalendarDays;

    /**
    * If sent, the availability calendar will be for the sent date only
    */
    // @DataMember
    // @ApiMember(DataType="integer", Description="If sent, the availability calendar will be for the sent date only", Format="int64", Name="AvailabilityCalendarDate", ParameterType="query")
    DateTime? AvailabilityCalendarDate;

    /**
    * If sent, the availability calendar will look for available slots of length X minutes. Uses the interval of the station group if not sent.
    */
    // @DataMember
    // @ApiMember(DataType="integer", Description="If sent, the availability calendar will look for available slots of length X minutes. Uses the interval of the station group if not sent.", Format="int64", Name="AvailabilityCalendarReservationLength", ParameterType="query")
    int? AvailabilityCalendarReservationLength;

    GetStationsRequest({this.LocationId,this.GroupId,this.Acct,this.GenerateAvailabilityCalendar,this.AvailabilityCalendarDays,this.AvailabilityCalendarDate,this.AvailabilityCalendarReservationLength});
    GetStationsRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        LocationId = json['LocationId'];
        GroupId = json['GroupId'];
        Acct = json['Acct'];
        GenerateAvailabilityCalendar = json['GenerateAvailabilityCalendar'];
        AvailabilityCalendarDays = json['AvailabilityCalendarDays'];
        AvailabilityCalendarDate = JsonConverters.fromJson(json['AvailabilityCalendarDate'],'DateTime',context!);
        AvailabilityCalendarReservationLength = json['AvailabilityCalendarReservationLength'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'LocationId': LocationId,
        'GroupId': GroupId,
        'Acct': Acct,
        'GenerateAvailabilityCalendar': GenerateAvailabilityCalendar,
        'AvailabilityCalendarDays': AvailabilityCalendarDays,
        'AvailabilityCalendarDate': JsonConverters.toJson(AvailabilityCalendarDate,'DateTime',context!),
        'AvailabilityCalendarReservationLength': AvailabilityCalendarReservationLength
    });

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

TypeContext _ctx = TypeContext(library: 'active_ewebservice.biz', types: <String, TypeInfo> {
    'BaseRequest': TypeInfo(TypeOf.Class, create:() => BaseRequest()),
    'BaseSecureRequest': TypeInfo(TypeOf.Class, create:() => BaseSecureRequest()),
    'BaseResponseResult': TypeInfo(TypeOf.Class, create:() => BaseResponseResult()),
    'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
    'LocationInfo': TypeInfo(TypeOf.Class, create:() => LocationInfo()),
    'ReservationInfo': TypeInfo(TypeOf.Class, create:() => ReservationInfo()),
    'StationInfo': TypeInfo(TypeOf.Class, create:() => StationInfo()),
    'List<ReservationInfo>': TypeInfo(TypeOf.Class, create:() => <ReservationInfo>[]),
    'List<DateTime>': TypeInfo(TypeOf.Class, create:() => <DateTime>[]),
    'GetStationsResponse': TypeInfo(TypeOf.Class, create:() => GetStationsResponse()),
    'List<StationInfo>': TypeInfo(TypeOf.Class, create:() => <StationInfo>[]),
    'GetStationsRequest': TypeInfo(TypeOf.Class, create:() => GetStationsRequest()),
});

Dart GetStationsRequest DTOs

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

HTTP + OTHER

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

GET /api/GetStations HTTP/1.1 
Host: active-ewebservice.biz 
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"Stations":[{"Id":0,"Name":"String","WebDescription":"String","MaxUsers":0,"Location":{"Id":0,"Desc":"String","ShortDesc":"String","Region":"String","Latitude":0,"Longitude":0,"InStorePickup":"String","Active":false,"CashSaleAcct":0},"CurrentStatus":"String","Reservations":[{"CustomerAcct":0}],"AvailabilityCalendar":["0001-01-01T00:00:00.0000000"],"Topic":"String"}],"Status":{"StatusCode":"String","Login":"String","ErrorCode":"String","ErrorDisplayText":"String","ErrorMessage":"String","DomainName":"String","IpAddress":"String"}}