Trendsic Platform Service

<back to all web services

CoverageSelfAvailGetRequest

Requires Authentication
The following routes are available for this service:
GET,OPTIONS/v1/coverage/self/availability
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class CoverageSelfAvailWindow implements IConvertible
{
    String? Start;
    String? End;
    bool? Preferred;

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

    fromMap(Map<String, dynamic> json) {
        Start = json['Start'];
        End = json['End'];
        Preferred = json['Preferred'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Start': Start,
        'End': End,
        'Preferred': Preferred
    };

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

class CoverageSelfAvailDay implements IConvertible
{
    String? Day;
    bool? Open;
    List<CoverageSelfAvailWindow>? Windows = [];

    CoverageSelfAvailDay({this.Day,this.Open,this.Windows});
    CoverageSelfAvailDay.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Day = json['Day'];
        Open = json['Open'];
        Windows = JsonConverters.fromJson(json['Windows'],'List<CoverageSelfAvailWindow>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Day': Day,
        'Open': Open,
        'Windows': JsonConverters.toJson(Windows,'List<CoverageSelfAvailWindow>',context!)
    };

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

class WorkerSchedulingPrefs implements IConvertible
{
    int? ContactID;
    int? PreferredWeeklyHours;
    int? PreferredMonthlyHours;
    int? MinShiftMinutes;
    int? MaxConsecutiveDays;

    WorkerSchedulingPrefs({this.ContactID,this.PreferredWeeklyHours,this.PreferredMonthlyHours,this.MinShiftMinutes,this.MaxConsecutiveDays});
    WorkerSchedulingPrefs.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ContactID = json['ContactID'];
        PreferredWeeklyHours = json['PreferredWeeklyHours'];
        PreferredMonthlyHours = json['PreferredMonthlyHours'];
        MinShiftMinutes = json['MinShiftMinutes'];
        MaxConsecutiveDays = json['MaxConsecutiveDays'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ContactID': ContactID,
        'PreferredWeeklyHours': PreferredWeeklyHours,
        'PreferredMonthlyHours': PreferredMonthlyHours,
        'MinShiftMinutes': MinShiftMinutes,
        'MaxConsecutiveDays': MaxConsecutiveDays
    };

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

class CoverageSelfAvailResponse implements IConvertible
{
    ResponseStatus? ResponseStatus;
    List<CoverageSelfAvailDay>? Days = [];
    WorkerSchedulingPrefs? Prefs;
    String? RulesSummary;
    int? TimeOffNoticeDays;

    CoverageSelfAvailResponse({this.ResponseStatus,this.Days,this.Prefs,this.RulesSummary,this.TimeOffNoticeDays});
    CoverageSelfAvailResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        Days = JsonConverters.fromJson(json['Days'],'List<CoverageSelfAvailDay>',context!);
        Prefs = JsonConverters.fromJson(json['Prefs'],'WorkerSchedulingPrefs',context!);
        RulesSummary = json['RulesSummary'];
        TimeOffNoticeDays = json['TimeOffNoticeDays'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
        'Days': JsonConverters.toJson(Days,'List<CoverageSelfAvailDay>',context!),
        'Prefs': JsonConverters.toJson(Prefs,'WorkerSchedulingPrefs',context!),
        'RulesSummary': RulesSummary,
        'TimeOffNoticeDays': TimeOffNoticeDays
    };

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

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

    Map<String, dynamic> toJson() => {};
    getTypeName() => "CoverageSelfAvailGetRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'CoverageSelfAvailWindow': TypeInfo(TypeOf.Class, create:() => CoverageSelfAvailWindow()),
    'CoverageSelfAvailDay': TypeInfo(TypeOf.Class, create:() => CoverageSelfAvailDay()),
    'List<CoverageSelfAvailWindow>': TypeInfo(TypeOf.Class, create:() => <CoverageSelfAvailWindow>[]),
    'WorkerSchedulingPrefs': TypeInfo(TypeOf.Class, create:() => WorkerSchedulingPrefs()),
    'CoverageSelfAvailResponse': TypeInfo(TypeOf.Class, create:() => CoverageSelfAvailResponse()),
    'List<CoverageSelfAvailDay>': TypeInfo(TypeOf.Class, create:() => <CoverageSelfAvailDay>[]),
    'CoverageSelfAvailGetRequest': TypeInfo(TypeOf.Class, create:() => CoverageSelfAvailGetRequest()),
});

Dart CoverageSelfAvailGetRequest 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 /v1/coverage/self/availability HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CoverageSelfAvailResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <Days>
    <CoverageSelfAvailDay>
      <Day>String</Day>
      <Open>false</Open>
      <Windows>
        <CoverageSelfAvailWindow>
          <End>String</End>
          <Preferred>false</Preferred>
          <Start>String</Start>
        </CoverageSelfAvailWindow>
      </Windows>
    </CoverageSelfAvailDay>
  </Days>
  <Prefs>
    <ContactID>0</ContactID>
    <MaxConsecutiveDays>0</MaxConsecutiveDays>
    <MinShiftMinutes>0</MinShiftMinutes>
    <PreferredMonthlyHours>0</PreferredMonthlyHours>
    <PreferredWeeklyHours>0</PreferredWeeklyHours>
  </Prefs>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
  <RulesSummary>String</RulesSummary>
  <TimeOffNoticeDays>0</TimeOffNoticeDays>
</CoverageSelfAvailResponse>