Trendsic Platform Service

<back to all web services

BranchCalendarRequest

Requires Authentication
Requires any of the roles:Agent, Administrator
The following routes are available for this service:
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 .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/queue/calendar/{LocationId} 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"}},"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-01T00:00:00.0000000","EndLocal":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","CalledAt":"0001-01-01T00:00:00.0000000","ServedAt":"0001-01-01T00:00:00.0000000","NoShowAt":"0001-01-01T00:00:00.0000000","CancelledAt":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000"}