Trendsic Platform Service

<back to all web services

CustomersInLine

The following routes are available for this service:
GET/v1/CustomersInLine
GET/v1/CustomersInLine/{LocationId}
import 'package:servicestack/servicestack.dart';

class PaperworkAsks implements IConvertible
{
    bool? Questionnaire;
    bool? Upload;

    PaperworkAsks({this.Questionnaire,this.Upload});
    PaperworkAsks.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Questionnaire = json['Questionnaire'];
        Upload = json['Upload'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Questionnaire': Questionnaire,
        'Upload': Upload
    };

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

class CustomerInLineObject implements IConvertible
{
    String? CheckinId;
    String? VisitKey;
    String? Name;
    String? SayNameAs;
    String? Line;
    String? Description;
    String? ServiceId;
    int? Status;
    DateTime? SignInTime;
    DateTime? AdjustedSignInTime;
    DateTime? ArrivedTime;
    bool? SendReminders;
    DateTime? CalledTime;
    String? TicketLabel;
    String? StationId;
    String? StationName;
    String? Id;
    String? FullName;
    int? TaskTime;
    bool? Completed;
    DateTime? CompletedTime;
    String? EmployeeId;
    String? Employee;
    bool? QuestionnaireSubmitted;
    String? HoldReason;
    DateTime? HoldExpectedUtc;
    DateTime? ReturnedTime;
    int? ContactId;
    String? MobilePhone;
    String? Source;
    String? LastMovedFrom;
    DateTime? LastMovedUtc;
    DateTime? PriorityTime;
    String? HoldByName;
    String? HoldByStationName;
    DateTime? HoldSinceUtc;
    int? TicketNo;
    int? NoteCount;
    bool? HasCarryNote;
    String? CarryNoteBy;
    DateTime? CarryNoteAtUtc;
    PaperworkAsks? PaperworkAsks;
    int? DocumentCount;

    CustomerInLineObject({this.CheckinId,this.VisitKey,this.Name,this.SayNameAs,this.Line,this.Description,this.ServiceId,this.Status,this.SignInTime,this.AdjustedSignInTime,this.ArrivedTime,this.SendReminders,this.CalledTime,this.TicketLabel,this.StationId,this.StationName,this.Id,this.FullName,this.TaskTime,this.Completed,this.CompletedTime,this.EmployeeId,this.Employee,this.QuestionnaireSubmitted,this.HoldReason,this.HoldExpectedUtc,this.ReturnedTime,this.ContactId,this.MobilePhone,this.Source,this.LastMovedFrom,this.LastMovedUtc,this.PriorityTime,this.HoldByName,this.HoldByStationName,this.HoldSinceUtc,this.TicketNo,this.NoteCount,this.HasCarryNote,this.CarryNoteBy,this.CarryNoteAtUtc,this.PaperworkAsks,this.DocumentCount});
    CustomerInLineObject.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CheckinId = json['CheckinId'];
        VisitKey = json['VisitKey'];
        Name = json['Name'];
        SayNameAs = json['SayNameAs'];
        Line = json['Line'];
        Description = json['Description'];
        ServiceId = json['ServiceId'];
        Status = json['Status'];
        SignInTime = JsonConverters.fromJson(json['SignInTime'],'DateTime',context!);
        AdjustedSignInTime = JsonConverters.fromJson(json['AdjustedSignInTime'],'DateTime',context!);
        ArrivedTime = JsonConverters.fromJson(json['ArrivedTime'],'DateTime',context!);
        SendReminders = json['SendReminders'];
        CalledTime = JsonConverters.fromJson(json['CalledTime'],'DateTime',context!);
        TicketLabel = json['TicketLabel'];
        StationId = json['StationId'];
        StationName = json['StationName'];
        Id = json['Id'];
        FullName = json['FullName'];
        TaskTime = json['TaskTime'];
        Completed = json['Completed'];
        CompletedTime = JsonConverters.fromJson(json['CompletedTime'],'DateTime',context!);
        EmployeeId = json['EmployeeId'];
        Employee = json['Employee'];
        QuestionnaireSubmitted = json['QuestionnaireSubmitted'];
        HoldReason = json['HoldReason'];
        HoldExpectedUtc = JsonConverters.fromJson(json['HoldExpectedUtc'],'DateTime',context!);
        ReturnedTime = JsonConverters.fromJson(json['ReturnedTime'],'DateTime',context!);
        ContactId = json['ContactId'];
        MobilePhone = json['MobilePhone'];
        Source = json['Source'];
        LastMovedFrom = json['LastMovedFrom'];
        LastMovedUtc = JsonConverters.fromJson(json['LastMovedUtc'],'DateTime',context!);
        PriorityTime = JsonConverters.fromJson(json['PriorityTime'],'DateTime',context!);
        HoldByName = json['HoldByName'];
        HoldByStationName = json['HoldByStationName'];
        HoldSinceUtc = JsonConverters.fromJson(json['HoldSinceUtc'],'DateTime',context!);
        TicketNo = json['TicketNo'];
        NoteCount = json['NoteCount'];
        HasCarryNote = json['HasCarryNote'];
        CarryNoteBy = json['CarryNoteBy'];
        CarryNoteAtUtc = JsonConverters.fromJson(json['CarryNoteAtUtc'],'DateTime',context!);
        PaperworkAsks = JsonConverters.fromJson(json['PaperworkAsks'],'PaperworkAsks',context!);
        DocumentCount = json['DocumentCount'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CheckinId': CheckinId,
        'VisitKey': VisitKey,
        'Name': Name,
        'SayNameAs': SayNameAs,
        'Line': Line,
        'Description': Description,
        'ServiceId': ServiceId,
        'Status': Status,
        'SignInTime': JsonConverters.toJson(SignInTime,'DateTime',context!),
        'AdjustedSignInTime': JsonConverters.toJson(AdjustedSignInTime,'DateTime',context!),
        'ArrivedTime': JsonConverters.toJson(ArrivedTime,'DateTime',context!),
        'SendReminders': SendReminders,
        'CalledTime': JsonConverters.toJson(CalledTime,'DateTime',context!),
        'TicketLabel': TicketLabel,
        'StationId': StationId,
        'StationName': StationName,
        'Id': Id,
        'FullName': FullName,
        'TaskTime': TaskTime,
        'Completed': Completed,
        'CompletedTime': JsonConverters.toJson(CompletedTime,'DateTime',context!),
        'EmployeeId': EmployeeId,
        'Employee': Employee,
        'QuestionnaireSubmitted': QuestionnaireSubmitted,
        'HoldReason': HoldReason,
        'HoldExpectedUtc': JsonConverters.toJson(HoldExpectedUtc,'DateTime',context!),
        'ReturnedTime': JsonConverters.toJson(ReturnedTime,'DateTime',context!),
        'ContactId': ContactId,
        'MobilePhone': MobilePhone,
        'Source': Source,
        'LastMovedFrom': LastMovedFrom,
        'LastMovedUtc': JsonConverters.toJson(LastMovedUtc,'DateTime',context!),
        'PriorityTime': JsonConverters.toJson(PriorityTime,'DateTime',context!),
        'HoldByName': HoldByName,
        'HoldByStationName': HoldByStationName,
        'HoldSinceUtc': JsonConverters.toJson(HoldSinceUtc,'DateTime',context!),
        'TicketNo': TicketNo,
        'NoteCount': NoteCount,
        'HasCarryNote': HasCarryNote,
        'CarryNoteBy': CarryNoteBy,
        'CarryNoteAtUtc': JsonConverters.toJson(CarryNoteAtUtc,'DateTime',context!),
        'PaperworkAsks': JsonConverters.toJson(PaperworkAsks,'PaperworkAsks',context!),
        'DocumentCount': DocumentCount
    };

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

class LobbySettings implements IConvertible
{
    String? LocationId;
    String? WaitSource;
    String? MonitorChime;
    bool? HasUploadedChime;
    String? ChimeUrl;
    int? MonitorVolume;
    bool? MonitorAnnounce;
    String? MonitorAnnounceTemplate;
    String? MonitorVoice;
    double? MonitorVoiceRate;
    int? MonitorRepeatAfterSec;
    bool? MonitorTicketOnly;
    String? LobbyZoneMode;
    int? LobbyTakeoverEveryMin;
    int? LobbyTakeoverSec;
    bool? LobbyIdleScreen;
    String? TimeZone;
    bool? MonitorShowServices;
    int? LobbyTvCount;
    String? TicketPrefix;
    String? LobbyDensity;
    String? LobbyIdleMode;
    int? LobbyIdleContentId;

    LobbySettings({this.LocationId,this.WaitSource,this.MonitorChime,this.HasUploadedChime,this.ChimeUrl,this.MonitorVolume,this.MonitorAnnounce,this.MonitorAnnounceTemplate,this.MonitorVoice,this.MonitorVoiceRate,this.MonitorRepeatAfterSec,this.MonitorTicketOnly,this.LobbyZoneMode,this.LobbyTakeoverEveryMin,this.LobbyTakeoverSec,this.LobbyIdleScreen,this.TimeZone,this.MonitorShowServices,this.LobbyTvCount,this.TicketPrefix,this.LobbyDensity,this.LobbyIdleMode,this.LobbyIdleContentId});
    LobbySettings.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        LocationId = json['LocationId'];
        WaitSource = json['WaitSource'];
        MonitorChime = json['MonitorChime'];
        HasUploadedChime = json['HasUploadedChime'];
        ChimeUrl = json['ChimeUrl'];
        MonitorVolume = json['MonitorVolume'];
        MonitorAnnounce = json['MonitorAnnounce'];
        MonitorAnnounceTemplate = json['MonitorAnnounceTemplate'];
        MonitorVoice = json['MonitorVoice'];
        MonitorVoiceRate = JsonConverters.toDouble(json['MonitorVoiceRate']);
        MonitorRepeatAfterSec = json['MonitorRepeatAfterSec'];
        MonitorTicketOnly = json['MonitorTicketOnly'];
        LobbyZoneMode = json['LobbyZoneMode'];
        LobbyTakeoverEveryMin = json['LobbyTakeoverEveryMin'];
        LobbyTakeoverSec = json['LobbyTakeoverSec'];
        LobbyIdleScreen = json['LobbyIdleScreen'];
        TimeZone = json['TimeZone'];
        MonitorShowServices = json['MonitorShowServices'];
        LobbyTvCount = json['LobbyTvCount'];
        TicketPrefix = json['TicketPrefix'];
        LobbyDensity = json['LobbyDensity'];
        LobbyIdleMode = json['LobbyIdleMode'];
        LobbyIdleContentId = json['LobbyIdleContentId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'LocationId': LocationId,
        'WaitSource': WaitSource,
        'MonitorChime': MonitorChime,
        'HasUploadedChime': HasUploadedChime,
        'ChimeUrl': ChimeUrl,
        'MonitorVolume': MonitorVolume,
        'MonitorAnnounce': MonitorAnnounce,
        'MonitorAnnounceTemplate': MonitorAnnounceTemplate,
        'MonitorVoice': MonitorVoice,
        'MonitorVoiceRate': MonitorVoiceRate,
        'MonitorRepeatAfterSec': MonitorRepeatAfterSec,
        'MonitorTicketOnly': MonitorTicketOnly,
        'LobbyZoneMode': LobbyZoneMode,
        'LobbyTakeoverEveryMin': LobbyTakeoverEveryMin,
        'LobbyTakeoverSec': LobbyTakeoverSec,
        'LobbyIdleScreen': LobbyIdleScreen,
        'TimeZone': TimeZone,
        'MonitorShowServices': MonitorShowServices,
        'LobbyTvCount': LobbyTvCount,
        'TicketPrefix': TicketPrefix,
        'LobbyDensity': LobbyDensity,
        'LobbyIdleMode': LobbyIdleMode,
        'LobbyIdleContentId': LobbyIdleContentId
    };

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

class StationSessionView implements IConvertible
{
    String? SessionId;
    String? LocationId;
    String? StationId;
    String? StationName;
    String? EmployeeId;
    String? EmployeeName;
    DateTime? SignedInUtc;
    DateTime? LastSeenUtc;
    DateTime? PausedSinceUtc;
    String? PauseReason;
    bool? IsMine;

    StationSessionView({this.SessionId,this.LocationId,this.StationId,this.StationName,this.EmployeeId,this.EmployeeName,this.SignedInUtc,this.LastSeenUtc,this.PausedSinceUtc,this.PauseReason,this.IsMine});
    StationSessionView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        SessionId = json['SessionId'];
        LocationId = json['LocationId'];
        StationId = json['StationId'];
        StationName = json['StationName'];
        EmployeeId = json['EmployeeId'];
        EmployeeName = json['EmployeeName'];
        SignedInUtc = JsonConverters.fromJson(json['SignedInUtc'],'DateTime',context!);
        LastSeenUtc = JsonConverters.fromJson(json['LastSeenUtc'],'DateTime',context!);
        PausedSinceUtc = JsonConverters.fromJson(json['PausedSinceUtc'],'DateTime',context!);
        PauseReason = json['PauseReason'];
        IsMine = json['IsMine'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'SessionId': SessionId,
        'LocationId': LocationId,
        'StationId': StationId,
        'StationName': StationName,
        'EmployeeId': EmployeeId,
        'EmployeeName': EmployeeName,
        'SignedInUtc': JsonConverters.toJson(SignedInUtc,'DateTime',context!),
        'LastSeenUtc': JsonConverters.toJson(LastSeenUtc,'DateTime',context!),
        'PausedSinceUtc': JsonConverters.toJson(PausedSinceUtc,'DateTime',context!),
        'PauseReason': PauseReason,
        'IsMine': IsMine
    };

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

class CustomersInLineResponse implements IConvertible
{
    ResponseStatus? ResponseStatus;
    List<CustomerInLineObject>? Customers = [];
    String? LocationName;
    bool? MonitorShowServices;
    LobbySettings? Lobby;
    String? WorkspaceName;
    String? StationTerm;
    List<StationSessionView>? Sessions = [];

    CustomersInLineResponse({this.ResponseStatus,this.Customers,this.LocationName,this.MonitorShowServices,this.Lobby,this.WorkspaceName,this.StationTerm,this.Sessions});
    CustomersInLineResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        Customers = JsonConverters.fromJson(json['Customers'],'List<CustomerInLineObject>',context!);
        LocationName = json['LocationName'];
        MonitorShowServices = json['MonitorShowServices'];
        Lobby = JsonConverters.fromJson(json['Lobby'],'LobbySettings',context!);
        WorkspaceName = json['WorkspaceName'];
        StationTerm = json['StationTerm'];
        Sessions = JsonConverters.fromJson(json['Sessions'],'List<StationSessionView>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
        'Customers': JsonConverters.toJson(Customers,'List<CustomerInLineObject>',context!),
        'LocationName': LocationName,
        'MonitorShowServices': MonitorShowServices,
        'Lobby': JsonConverters.toJson(Lobby,'LobbySettings',context!),
        'WorkspaceName': WorkspaceName,
        'StationTerm': StationTerm,
        'Sessions': JsonConverters.toJson(Sessions,'List<StationSessionView>',context!)
    };

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

class CustomersInLine implements IConvertible
{
    String? ApiKey;
    String? LocationId;
    bool? clientIsLoading;

    CustomersInLine({this.ApiKey,this.LocationId,this.clientIsLoading});
    CustomersInLine.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ApiKey = json['ApiKey'];
        LocationId = json['LocationId'];
        clientIsLoading = json['clientIsLoading'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ApiKey': ApiKey,
        'LocationId': LocationId,
        'clientIsLoading': clientIsLoading
    };

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

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'PaperworkAsks': TypeInfo(TypeOf.Class, create:() => PaperworkAsks()),
    'CustomerInLineObject': TypeInfo(TypeOf.Class, create:() => CustomerInLineObject()),
    'LobbySettings': TypeInfo(TypeOf.Class, create:() => LobbySettings()),
    'StationSessionView': TypeInfo(TypeOf.Class, create:() => StationSessionView()),
    'CustomersInLineResponse': TypeInfo(TypeOf.Class, create:() => CustomersInLineResponse()),
    'List<CustomerInLineObject>': TypeInfo(TypeOf.Class, create:() => <CustomerInLineObject>[]),
    'List<StationSessionView>': TypeInfo(TypeOf.Class, create:() => <StationSessionView>[]),
    'CustomersInLine': TypeInfo(TypeOf.Class, create:() => CustomersInLine()),
});

Dart CustomersInLine DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /v1/CustomersInLine HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Customers":[{"CheckinId":"00000000000000000000000000000000","VisitKey":"00000000000000000000000000000000","Name":"String","SayNameAs":"String","Line":"String","Description":"String","ServiceId":"00000000000000000000000000000000","Status":0,"SignInTime":"0001-01-01T00:00:00.0000000","AdjustedSignInTime":"0001-01-01T00:00:00.0000000","ArrivedTime":"0001-01-01T00:00:00.0000000","SendReminders":false,"CalledTime":"0001-01-01T00:00:00.0000000","TicketLabel":"String","StationId":"00000000000000000000000000000000","StationName":"String","Id":"00000000000000000000000000000000","FullName":"String","TaskTime":0,"Completed":false,"CompletedTime":"0001-01-01T00:00:00.0000000","EmployeeId":"00000000000000000000000000000000","Employee":"String","QuestionnaireSubmitted":false,"HoldReason":"String","HoldExpectedUtc":"0001-01-01T00:00:00.0000000","ReturnedTime":"0001-01-01T00:00:00.0000000","ContactId":0,"MobilePhone":"String","Source":"String","LastMovedFrom":"String","LastMovedUtc":"0001-01-01T00:00:00.0000000","PriorityTime":"0001-01-01T00:00:00.0000000","HoldByName":"String","HoldByStationName":"String","HoldSinceUtc":"0001-01-01T00:00:00.0000000","TicketNo":0,"NoteCount":0,"HasCarryNote":false,"CarryNoteBy":"String","CarryNoteAtUtc":"0001-01-01T00:00:00.0000000","PaperworkAsks":{"Questionnaire":false,"Upload":false},"DocumentCount":0}],"LocationName":"String","MonitorShowServices":false,"Lobby":{"LocationId":"00000000000000000000000000000000","WaitSource":"String","MonitorChime":"String","HasUploadedChime":false,"ChimeUrl":"String","MonitorVolume":0,"MonitorAnnounce":false,"MonitorAnnounceTemplate":"String","MonitorVoice":"String","MonitorVoiceRate":0,"MonitorRepeatAfterSec":0,"MonitorTicketOnly":false,"LobbyZoneMode":"String","LobbyTakeoverEveryMin":0,"LobbyTakeoverSec":0,"LobbyIdleScreen":false,"TimeZone":"String","MonitorShowServices":false,"LobbyTvCount":0,"TicketPrefix":"String","LobbyDensity":"String","LobbyIdleMode":"String","LobbyIdleContentId":0},"WorkspaceName":"String","StationTerm":"String","Sessions":[{"SessionId":"00000000000000000000000000000000","LocationId":"00000000000000000000000000000000","StationId":"00000000000000000000000000000000","StationName":"String","EmployeeId":"00000000000000000000000000000000","EmployeeName":"String","SignedInUtc":"0001-01-01T00:00:00.0000000","LastSeenUtc":"0001-01-01T00:00:00.0000000","PausedSinceUtc":"0001-01-01T00:00:00.0000000","PauseReason":"String","IsMine":false}]}