| Requires any of the roles: | Agent, Administrator |
| GET,OPTIONS | /v1/queue/calendar/{LocationId} |
|---|
import Foundation
import ServiceStack
public class BranchCalendarRequest : Codable
{
public var locationId:String
public var from:Date?
public var to:Date?
public var includeCancelled:Bool
required public init(){}
}
public class BranchCalendarResponse : Codable
{
public var responseStatus:ResponseStatus
public var branch:BranchCalendarBranch
public var lines:[BranchCalendarLine] = []
public var events:[BranchCalendarEvent] = []
public var staffing:[BranchCalendarStaffHour] = []
public var history:BranchCalendarHistory
public var colorByService:Bool
public var serverNowLocal:Date
required public init(){}
}
public class BranchCalendarBranch : Codable
{
public var id:String
public var name:String
public var street:String
public var timeZone:String
public var windows:Int
public var hours:[BranchCalendarHours] = []
required public init(){}
}
public class BranchCalendarHours : Codable
{
public var date:String
public var opens:String
public var closes:String
public var closed:Bool
required public init(){}
}
public class BranchCalendarLine : Codable
{
public var id:String
public var name:String
public var minutes:Int
public var color:String
required public init(){}
}
public class BranchCalendarEvent : Codable
{
public var calendarEventId:Int
public var kind:String
public var title:String
public var startLocal:Date
public var endLocal:Date?
public var allDay:Bool
public var Description:String
public var customer:BranchCalendarCustomer
public var services:[BranchCalendarServiceItem] = []
public var status:BranchCalendarStatus
public var checkInId:String?
public var paperwork:BranchCalendarPaperwork
required public init(){}
}
public class BranchCalendarCustomer : Codable
{
public var contactId:Int
public var contactGuid:String?
public var name:String
public var phone:String
public var email:String
required public init(){}
}
public class BranchCalendarServiceItem : Codable
{
public var lineId:String?
public var name:String
public var minutes:Int
required public init(){}
}
public class BranchCalendarStatus : Codable
{
public var state:String
public var ticketLabel:String
public var window:String
public var arrivedAt:Date?
public var calledAt:Date?
public var servedAt:Date?
public var noShowAt:Date?
public var cancelledAt:Date?
public var cancelledBy:String
public var source:String
public var canCheckIn:Bool
public var canNoShow:Bool
public var canReopen:Bool
public var canChange:Bool
public var canCancel:Bool
required public init(){}
}
public class BranchCalendarPaperwork : Codable
{
public var asksQuestionnaire:Bool
public var asksUpload:Bool
public var submitted:Bool
required public init(){}
}
public class BranchCalendarStaffHour : Codable
{
public var date:String
public var hour:Int
public var windows:Double
public var source:String
required public init(){}
}
public class BranchCalendarHistory : Codable
{
public var byWeekdayHour:[BranchCalendarWeekdayHour] = []
public var byHour:[BranchCalendarHourMean] = []
required public init(){}
}
public class BranchCalendarWeekdayHour : Codable
{
public var weekday:Int
public var hour:Int
public var windows:Double
public var days:Int
required public init(){}
}
public class BranchCalendarHourMean : Codable
{
public var hour:Int
public var windows:Double
public var days:Int
required public init(){}
}
Swift BranchCalendarRequest 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/queue/calendar/{LocationId} 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
}
},
Branch:
{
Id: 00000000000000000000000000000000,
Name: String,
Street: String,
TimeZone: String,
Windows: 0,
Hours:
[
{
Date: String,
Opens: String,
Closes: String,
Closed: False
}
]
},
Lines:
[
{
Id: 00000000000000000000000000000000,
Name: String,
Minutes: 0,
Color: String
}
],
Events:
[
{
CalendarEventId: 0,
Kind: String,
Title: String,
StartLocal: 0001-01-01,
EndLocal: 0001-01-01,
AllDay: False,
Description: String,
Customer:
{
ContactId: 0,
ContactGuid: 00000000000000000000000000000000,
Name: String,
Phone: String,
Email: String
},
Services:
[
{
LineId: 00000000000000000000000000000000,
Name: String,
Minutes: 0
}
],
Status:
{
State: String,
TicketLabel: String,
Window: String,
ArrivedAt: 0001-01-01,
CalledAt: 0001-01-01,
ServedAt: 0001-01-01,
NoShowAt: 0001-01-01,
CancelledAt: 0001-01-01,
CancelledBy: String,
Source: String,
CanCheckIn: False,
CanNoShow: False,
CanReopen: False,
CanChange: False,
CanCancel: False
},
CheckInId: 00000000000000000000000000000000,
Paperwork:
{
AsksQuestionnaire: False,
AsksUpload: False,
Submitted: False
}
}
],
Staffing:
[
{
Date: String,
Hour: 0,
Windows: 0,
Source: String
}
],
History:
{
ByWeekdayHour:
[
{
Weekday: 0,
Hour: 0,
Windows: 0,
Days: 0
}
],
ByHour:
[
{
Hour: 0,
Windows: 0,
Days: 0
}
]
},
ColorByService: False,
ServerNowLocal: 0001-01-01
}