Reservation Station API

<back to all web services

GetDashboardInfo

Requires Authentication
import 'package:servicestack/servicestack.dart';

class ApiServiceRequest implements IServiceRequest, IHasApiKey, IHasDeviceInfo, IConvertible
{
    /**
    * The API Key required for authentication
    */
    // @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)
    String? apiKey;

    /**
    * Latitude of the user making this request
    */
    // @ApiMember(DataType="double", Description="Latitude of the user making this request")
    double? latitude;

    /**
    * Longitude of the user making this request
    */
    // @ApiMember(DataType="double", Description="Longitude of the user making this request")
    double? longitude;

    ApiServiceRequest({this.apiKey,this.latitude,this.longitude});
    ApiServiceRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        apiKey = json['apiKey'];
        latitude = JsonConverters.toDouble(json['latitude']);
        longitude = JsonConverters.toDouble(json['longitude']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'apiKey': apiKey,
        'latitude': latitude,
        'longitude': longitude
    };

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

class ApiServiceResponse implements IServiceResponse, IConvertible
{
    String? description;
    String? heading;
    bool? wasSuccessful;
    dynamic? modelState;

    ApiServiceResponse({this.description,this.heading,this.wasSuccessful,this.modelState});
    ApiServiceResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'description': description,
        'heading': heading,
        'wasSuccessful': wasSuccessful,
        'modelState': JsonConverters.toJson(modelState,'dynamic',context!)
    };

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

class DashBookingInfo implements IConvertible
{
    int? bookingId;
    String? start;
    String? end;
    String? facilityName;
    String? venueName;

    DashBookingInfo({this.bookingId,this.start,this.end,this.facilityName,this.venueName});
    DashBookingInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        bookingId = json['bookingId'];
        start = json['start'];
        end = json['end'];
        facilityName = json['facilityName'];
        venueName = json['venueName'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'bookingId': bookingId,
        'start': start,
        'end': end,
        'facilityName': facilityName,
        'venueName': venueName
    };

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

class RatesItem implements IConvertible
{
    double? rate;
    int? minutes;

    RatesItem({this.rate,this.minutes});
    RatesItem.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        rate = JsonConverters.toDouble(json['rate']);
        minutes = json['minutes'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'rate': rate,
        'minutes': minutes
    };

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

class FacilityData implements IConvertible
{
    int? facilityId;
    String? facilityGuid;
    String? name;
    String? description;
    String? nextAvailable;
    bool? hasNextAvailable;
    List<RatesItem>? rates;
    String? themeColor;
    String? bookingNotes;
    int? leadTime;
    int? venueId;
    bool? allowExtraRequirements;

    FacilityData({this.facilityId,this.facilityGuid,this.name,this.description,this.nextAvailable,this.hasNextAvailable,this.rates,this.themeColor,this.bookingNotes,this.leadTime,this.venueId,this.allowExtraRequirements});
    FacilityData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        facilityId = json['facilityId'];
        facilityGuid = json['facilityGuid'];
        name = json['name'];
        description = json['description'];
        nextAvailable = json['nextAvailable'];
        hasNextAvailable = json['hasNextAvailable'];
        rates = JsonConverters.fromJson(json['rates'],'List<RatesItem>',context!);
        themeColor = json['themeColor'];
        bookingNotes = json['bookingNotes'];
        leadTime = json['leadTime'];
        venueId = json['venueId'];
        allowExtraRequirements = json['allowExtraRequirements'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'facilityId': facilityId,
        'facilityGuid': facilityGuid,
        'name': name,
        'description': description,
        'nextAvailable': nextAvailable,
        'hasNextAvailable': hasNextAvailable,
        'rates': JsonConverters.toJson(rates,'List<RatesItem>',context!),
        'themeColor': themeColor,
        'bookingNotes': bookingNotes,
        'leadTime': leadTime,
        'venueId': venueId,
        'allowExtraRequirements': allowExtraRequirements
    };

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

class VenueData implements IConvertible
{
    int? venueId;
    String? name;
    String? registeredDate;
    String? venueCode;
    bool? isCoordinator;
    List<FacilityData>? facilities;
    double? latitude;
    double? longitude;
    bool? hasLocation;
    String? logoUrl;
    int? leadTime;
    String? venueInfo;
    bool? allowGuests;
    String? contactNumber;

    VenueData({this.venueId,this.name,this.registeredDate,this.venueCode,this.isCoordinator,this.facilities,this.latitude,this.longitude,this.hasLocation,this.logoUrl,this.leadTime,this.venueInfo,this.allowGuests,this.contactNumber});
    VenueData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        venueId = json['venueId'];
        name = json['name'];
        registeredDate = json['registeredDate'];
        venueCode = json['venueCode'];
        isCoordinator = json['isCoordinator'];
        facilities = JsonConverters.fromJson(json['facilities'],'List<FacilityData>',context!);
        latitude = JsonConverters.toDouble(json['latitude']);
        longitude = JsonConverters.toDouble(json['longitude']);
        hasLocation = json['hasLocation'];
        logoUrl = json['logoUrl'];
        leadTime = json['leadTime'];
        venueInfo = json['venueInfo'];
        allowGuests = json['allowGuests'];
        contactNumber = json['contactNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'venueId': venueId,
        'name': name,
        'registeredDate': registeredDate,
        'venueCode': venueCode,
        'isCoordinator': isCoordinator,
        'facilities': JsonConverters.toJson(facilities,'List<FacilityData>',context!),
        'latitude': latitude,
        'longitude': longitude,
        'hasLocation': hasLocation,
        'logoUrl': logoUrl,
        'leadTime': leadTime,
        'venueInfo': venueInfo,
        'allowGuests': allowGuests,
        'contactNumber': contactNumber
    };

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

class GetDashboardInfoResponse extends ApiServiceResponse implements IConvertible
{
    List<DashBookingInfo>? bookings;
    List<VenueData>? venues;

    GetDashboardInfoResponse({this.bookings,this.venues});
    GetDashboardInfoResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'bookings': JsonConverters.toJson(bookings,'List<DashBookingInfo>',context!),
        'venues': JsonConverters.toJson(venues,'List<VenueData>',context!)
    });

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

class GetDashboardInfo extends ApiServiceRequest implements IConvertible
{
    GetDashboardInfo();
    GetDashboardInfo.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "GetDashboardInfo";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'reservation.api.dev.86degrees.com', types: <String, TypeInfo> {
    'ApiServiceRequest': TypeInfo(TypeOf.Class, create:() => ApiServiceRequest()),
    'ApiServiceResponse': TypeInfo(TypeOf.Class, create:() => ApiServiceResponse()),
    'DashBookingInfo': TypeInfo(TypeOf.Class, create:() => DashBookingInfo()),
    'RatesItem': TypeInfo(TypeOf.Class, create:() => RatesItem()),
    'FacilityData': TypeInfo(TypeOf.Class, create:() => FacilityData()),
    'List<RatesItem>': TypeInfo(TypeOf.Class, create:() => <RatesItem>[]),
    'VenueData': TypeInfo(TypeOf.Class, create:() => VenueData()),
    'List<FacilityData>': TypeInfo(TypeOf.Class, create:() => <FacilityData>[]),
    'GetDashboardInfoResponse': TypeInfo(TypeOf.Class, create:() => GetDashboardInfoResponse()),
    'List<DashBookingInfo>': TypeInfo(TypeOf.Class, create:() => <DashBookingInfo>[]),
    'List<VenueData>': TypeInfo(TypeOf.Class, create:() => <VenueData>[]),
    'GetDashboardInfo': TypeInfo(TypeOf.Class, create:() => GetDashboardInfo()),
});

Dart GetDashboardInfo DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

POST /json/reply/GetDashboardInfo HTTP/1.1 
Host: reservation.api.dev.86degrees.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"apiKey":"String","latitude":0,"longitude":0}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"bookings":[{}],"venues":[{}],"description":"String","heading":"String","wasSuccessful":false,"modelState":{}}