Trendsic Platform Service

<back to all web services

BranchApptCreateRequest

Requires Authentication
Requires any of the roles:Agent, Administrator
The following routes are available for this service:
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 .csv suffix or ?format=csv

HTTP + CSV

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/csv
Content-Type: text/csv
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/csv
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-01T00:00:00.0000000","EndLocal":"0001-01-01T00:00:00.0000000","ContactId":0,"ContactExisted":false,"Notified":false,"Open":0,"Capacity":0}