| PUT,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 CoverageSelfAvailPutRequest implements IConvertible
{
List<CoverageSelfAvailDay>? Days = [];
WorkerSchedulingPrefs? Prefs;
CoverageSelfAvailPutRequest({this.Days,this.Prefs});
CoverageSelfAvailPutRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Days = JsonConverters.fromJson(json['Days'],'List<CoverageSelfAvailDay>',context!);
Prefs = JsonConverters.fromJson(json['Prefs'],'WorkerSchedulingPrefs',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Days': JsonConverters.toJson(Days,'List<CoverageSelfAvailDay>',context!),
'Prefs': JsonConverters.toJson(Prefs,'WorkerSchedulingPrefs',context!)
};
getTypeName() => "CoverageSelfAvailPutRequest";
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>[]),
'CoverageSelfAvailPutRequest': TypeInfo(TypeOf.Class, create:() => CoverageSelfAvailPutRequest()),
});
Dart CoverageSelfAvailPutRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PUT /v1/coverage/self/availability HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"Days":[{"Day":"String","Open":false,"Windows":[{"Start":"String","End":"String","Preferred":false}]}],"Prefs":{"ContactID":0,"PreferredWeeklyHours":0,"PreferredMonthlyHours":0,"MinShiftMinutes":0,"MaxConsecutiveDays":0}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Days":[{"Day":"String","Open":false,"Windows":[{"Start":"String","End":"String","Preferred":false}]}],"Prefs":{"ContactID":0,"PreferredWeeklyHours":0,"PreferredMonthlyHours":0,"MinShiftMinutes":0,"MaxConsecutiveDays":0},"RulesSummary":"String","TimeOffNoticeDays":0}