| Requires any of the roles: | Agent, Administrator |
| POST,OPTIONS | /v1/queue/appointments |
|---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class BranchApptWriteResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
int? CalendarEventId;
String? CheckInId;
DateTime? StartLocal;
DateTime? EndLocal;
int? ContactId;
bool? ContactExisted;
bool? Notified;
int? Open;
int? Capacity;
BranchApptWriteResponse({this.ResponseStatus,this.CalendarEventId,this.CheckInId,this.StartLocal,this.EndLocal,this.ContactId,this.ContactExisted,this.Notified,this.Open,this.Capacity});
BranchApptWriteResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
CalendarEventId = json['CalendarEventId'];
CheckInId = json['CheckInId'];
StartLocal = JsonConverters.fromJson(json['StartLocal'],'DateTime',context!);
EndLocal = JsonConverters.fromJson(json['EndLocal'],'DateTime',context!);
ContactId = json['ContactId'];
ContactExisted = json['ContactExisted'];
Notified = json['Notified'];
Open = json['Open'];
Capacity = json['Capacity'];
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'CalendarEventId': CalendarEventId,
'CheckInId': CheckInId,
'StartLocal': JsonConverters.toJson(StartLocal,'DateTime',context!),
'EndLocal': JsonConverters.toJson(EndLocal,'DateTime',context!),
'ContactId': ContactId,
'ContactExisted': ContactExisted,
'Notified': Notified,
'Open': Open,
'Capacity': Capacity
};
getTypeName() => "BranchApptWriteResponse";
TypeContext? context = _ctx;
}
class BranchApptNewContact implements IConvertible
{
String? Name;
String? Phone;
String? Email;
BranchApptNewContact({this.Name,this.Phone,this.Email});
BranchApptNewContact.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Name = json['Name'];
Phone = json['Phone'];
Email = json['Email'];
return this;
}
Map<String, dynamic> toJson() => {
'Name': Name,
'Phone': Phone,
'Email': Email
};
getTypeName() => "BranchApptNewContact";
TypeContext? context = _ctx;
}
class BranchApptCreateRequest implements IConvertible
{
String? LocationId;
String? Date;
String? StartLocal;
List<String>? LineIds = [];
int? ContactId;
BranchApptNewContact? NewContact;
String? Via;
bool? Notify;
String? Note;
bool? Overbook;
BranchApptCreateRequest({this.LocationId,this.Date,this.StartLocal,this.LineIds,this.ContactId,this.NewContact,this.Via,this.Notify,this.Note,this.Overbook});
BranchApptCreateRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
LocationId = json['LocationId'];
Date = json['Date'];
StartLocal = json['StartLocal'];
LineIds = JsonConverters.fromJson(json['LineIds'],'List<String>',context!);
ContactId = json['ContactId'];
NewContact = JsonConverters.fromJson(json['NewContact'],'BranchApptNewContact',context!);
Via = json['Via'];
Notify = json['Notify'];
Note = json['Note'];
Overbook = json['Overbook'];
return this;
}
Map<String, dynamic> toJson() => {
'LocationId': LocationId,
'Date': Date,
'StartLocal': StartLocal,
'LineIds': JsonConverters.toJson(LineIds,'List<String>',context!),
'ContactId': ContactId,
'NewContact': JsonConverters.toJson(NewContact,'BranchApptNewContact',context!),
'Via': Via,
'Notify': Notify,
'Note': Note,
'Overbook': Overbook
};
getTypeName() => "BranchApptCreateRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'BranchApptWriteResponse': TypeInfo(TypeOf.Class, create:() => BranchApptWriteResponse()),
'BranchApptNewContact': TypeInfo(TypeOf.Class, create:() => BranchApptNewContact()),
'BranchApptCreateRequest': TypeInfo(TypeOf.Class, create:() => BranchApptCreateRequest()),
});
Dart BranchApptCreateRequest 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.
POST /v1/queue/appointments HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
LocationId: 00000000000000000000000000000000,
Date: String,
StartLocal: String,
LineIds:
[
00000000000000000000000000000000
],
ContactId: 0,
NewContact:
{
Name: String,
Phone: String,
Email: String
},
Via: String,
Notify: False,
Note: String,
Overbook: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
CalendarEventId: 0,
CheckInId: 00000000000000000000000000000000,
StartLocal: 0001-01-01,
EndLocal: 0001-01-01,
ContactId: 0,
ContactExisted: False,
Notified: False,
Open: 0,
Capacity: 0
}