| GET,OPTIONS | /v1/visits/exceptions |
|---|
import 'package:servicestack/servicestack.dart';
class ExceptionItem implements IConvertible
{
String? Kind;
String? VisitKey;
int? JobID;
int? ProjectID;
int? AgreementID;
int? AgreementJobID;
String? OccurrenceDate;
String? CustomerName;
String? LocationName;
String? City;
double? Lat;
double? Lng;
int? AgeDays;
String? Reason;
int? DurationMinutes;
bool? IsCommercial;
int? PreferredCrewID;
ExceptionItem({this.Kind,this.VisitKey,this.JobID,this.ProjectID,this.AgreementID,this.AgreementJobID,this.OccurrenceDate,this.CustomerName,this.LocationName,this.City,this.Lat,this.Lng,this.AgeDays,this.Reason,this.DurationMinutes,this.IsCommercial,this.PreferredCrewID});
ExceptionItem.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Kind = json['Kind'];
VisitKey = json['VisitKey'];
JobID = json['JobID'];
ProjectID = json['ProjectID'];
AgreementID = json['AgreementID'];
AgreementJobID = json['AgreementJobID'];
OccurrenceDate = json['OccurrenceDate'];
CustomerName = json['CustomerName'];
LocationName = json['LocationName'];
City = json['City'];
Lat = JsonConverters.toDouble(json['Lat']);
Lng = JsonConverters.toDouble(json['Lng']);
AgeDays = json['AgeDays'];
Reason = json['Reason'];
DurationMinutes = json['DurationMinutes'];
IsCommercial = json['IsCommercial'];
PreferredCrewID = json['PreferredCrewID'];
return this;
}
Map<String, dynamic> toJson() => {
'Kind': Kind,
'VisitKey': VisitKey,
'JobID': JobID,
'ProjectID': ProjectID,
'AgreementID': AgreementID,
'AgreementJobID': AgreementJobID,
'OccurrenceDate': OccurrenceDate,
'CustomerName': CustomerName,
'LocationName': LocationName,
'City': City,
'Lat': Lat,
'Lng': Lng,
'AgeDays': AgeDays,
'Reason': Reason,
'DurationMinutes': DurationMinutes,
'IsCommercial': IsCommercial,
'PreferredCrewID': PreferredCrewID
};
getTypeName() => "ExceptionItem";
TypeContext? context = _ctx;
}
class VisitExceptionsResponse implements IConvertible
{
List<ExceptionItem>? Items = [];
int? MissedCount;
int? SlaCount;
int? SkippedCount;
int? AtRiskCount;
ResponseStatus? ResponseStatus;
VisitExceptionsResponse({this.Items,this.MissedCount,this.SlaCount,this.SkippedCount,this.AtRiskCount,this.ResponseStatus});
VisitExceptionsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Items = JsonConverters.fromJson(json['Items'],'List<ExceptionItem>',context!);
MissedCount = json['MissedCount'];
SlaCount = json['SlaCount'];
SkippedCount = json['SkippedCount'];
AtRiskCount = json['AtRiskCount'];
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Items': JsonConverters.toJson(Items,'List<ExceptionItem>',context!),
'MissedCount': MissedCount,
'SlaCount': SlaCount,
'SkippedCount': SkippedCount,
'AtRiskCount': AtRiskCount,
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
};
getTypeName() => "VisitExceptionsResponse";
TypeContext? context = _ctx;
}
class VisitExceptionsRequest implements IConvertible
{
VisitExceptionsRequest();
VisitExceptionsRequest.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "VisitExceptionsRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'ExceptionItem': TypeInfo(TypeOf.Class, create:() => ExceptionItem()),
'VisitExceptionsResponse': TypeInfo(TypeOf.Class, create:() => VisitExceptionsResponse()),
'List<ExceptionItem>': TypeInfo(TypeOf.Class, create:() => <ExceptionItem>[]),
'VisitExceptionsRequest': TypeInfo(TypeOf.Class, create:() => VisitExceptionsRequest()),
});
Dart VisitExceptionsRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/visits/exceptions HTTP/1.1 Host: api.dev.dynamics.trendsic.com Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Items:
[
{
Kind: String,
VisitKey: String,
JobID: 0,
ProjectID: 0,
AgreementID: 0,
AgreementJobID: 0,
OccurrenceDate: String,
CustomerName: String,
LocationName: String,
City: String,
Lat: 0,
Lng: 0,
AgeDays: 0,
Reason: String,
DurationMinutes: 0,
IsCommercial: False,
PreferredCrewID: 0
}
],
MissedCount: 0,
SlaCount: 0,
SkippedCount: 0,
AtRiskCount: 0,
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}