| GET | /v1/CustomersInLine | ||
|---|---|---|---|
| GET | /v1/CustomersInLine/{LocationId} |
import Foundation
import ServiceStack
public class CustomersInLine : Codable
{
public var apiKey:String
public var locationId:String
public var clientIsLoading:Bool
required public init(){}
}
public class CustomersInLineResponse : Codable
{
public var responseStatus:ResponseStatus
public var customers:[CustomerInLineObject] = []
public var locationName:String
public var monitorShowServices:Bool?
public var lobby:LobbySettings
public var workspaceName:String
public var stationTerm:String
public var sessions:[StationSessionView] = []
required public init(){}
}
public class CustomerInLineObject : Codable
{
public var checkinId:String
public var visitKey:String?
public var name:String
public var sayNameAs:String
public var line:String
public var Description:String
public var serviceId:String
public var status:Int
public var signInTime:Date
public var adjustedSignInTime:Date
public var arrivedTime:Date?
public var sendReminders:Bool
public var calledTime:Date?
public var ticketLabel:String
public var stationId:String
public var stationName:String
public var id:String?
public var fullName:String
public var taskTime:Int?
public var completed:Bool?
public var completedTime:Date?
public var employeeId:String?
public var employee:String
public var questionnaireSubmitted:Bool?
public var holdReason:String
public var holdExpectedUtc:Date?
public var returnedTime:Date?
public var contactId:Int?
public var mobilePhone:String
public var source:String
public var lastMovedFrom:String
public var lastMovedUtc:Date?
public var priorityTime:Date?
public var holdByName:String
public var holdByStationName:String
public var holdSinceUtc:Date?
public var ticketNo:Int?
public var noteCount:Int?
public var hasCarryNote:Bool?
public var carryNoteBy:String
public var carryNoteAtUtc:Date?
public var paperworkAsks:PaperworkAsks
public var documentCount:Int?
required public init(){}
}
public class PaperworkAsks : Codable
{
public var questionnaire:Bool
public var upload:Bool
required public init(){}
}
public class LobbySettings : Codable
{
public var locationId:String
public var waitSource:String
public var monitorChime:String
public var hasUploadedChime:Bool
public var chimeUrl:String
public var monitorVolume:Int
public var monitorAnnounce:Bool
public var monitorAnnounceTemplate:String
public var monitorVoice:String
public var monitorVoiceLang:String
public var monitorVoiceRate:Double
public var monitorRepeatAfterSec:Int?
public var monitorTicketOnly:Bool
public var lobbyZoneMode:String
public var lobbyTakeoverEveryMin:Int?
public var lobbyTakeoverSec:Int?
public var lobbyIdleScreen:Bool
public var timeZone:String
public var monitorShowServices:Bool?
public var lobbyTvCount:Int?
public var ticketPrefix:String
public var lobbyDensity:String
public var lobbyIdleMode:String
public var lobbyIdleContentId:Int?
required public init(){}
}
public class StationSessionView : Codable
{
public var sessionId:String
public var locationId:String
public var stationId:String
public var stationName:String
public var employeeId:String
public var employeeName:String
public var signedInUtc:Date
public var lastSeenUtc:Date
public var pausedSinceUtc:Date?
public var pauseReason:String
public var homeBranchId:String?
public var homeBranchName:String
public var isMine:Bool
required public init(){}
}
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/CustomersInLine HTTP/1.1 Host: api.dev.dynamics.trendsic.com Accept: text/jsv
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
}
},
Customers:
[
{
CheckinId: 00000000000000000000000000000000,
VisitKey: 00000000000000000000000000000000,
Name: String,
SayNameAs: String,
Line: String,
Description: String,
ServiceId: 00000000000000000000000000000000,
Status: 0,
SignInTime: 0001-01-01,
AdjustedSignInTime: 0001-01-01,
ArrivedTime: 0001-01-01,
SendReminders: False,
CalledTime: 0001-01-01,
TicketLabel: String,
StationId: 00000000000000000000000000000000,
StationName: String,
Id: 00000000000000000000000000000000,
FullName: String,
TaskTime: 0,
Completed: False,
CompletedTime: 0001-01-01,
EmployeeId: 00000000000000000000000000000000,
Employee: String,
QuestionnaireSubmitted: False,
HoldReason: String,
HoldExpectedUtc: 0001-01-01,
ReturnedTime: 0001-01-01,
ContactId: 0,
MobilePhone: String,
Source: String,
LastMovedFrom: String,
LastMovedUtc: 0001-01-01,
PriorityTime: 0001-01-01,
HoldByName: String,
HoldByStationName: String,
HoldSinceUtc: 0001-01-01,
TicketNo: 0,
NoteCount: 0,
HasCarryNote: False,
CarryNoteBy: String,
CarryNoteAtUtc: 0001-01-01,
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,
MonitorVoiceLang: 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-01,
LastSeenUtc: 0001-01-01,
PausedSinceUtc: 0001-01-01,
PauseReason: String,
HomeBranchId: 00000000000000000000000000000000,
HomeBranchName: String,
IsMine: False
}
]
}