/* Options: Date: 2026-10-16 23:45:45 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: ContactVisitsRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v1/contact/{ContactId}/visits", "GET,OPTIONS") public class ContactVisitsRequest : IReturn, Codable { public typealias Return = ContactVisitsResponse public var contactId:Int? public var take:Int? required public init(){} } public class ContactVisitsResponse : Codable { public var responseStatus:ResponseStatus? public var visits:[ContactQueueVisit] = [] public var summary:ContactQueueVisitSummary? required public init(){} } public class ContactQueueVisit : Codable { public var checkinId:String? public var branchId:String? public var branchName:String? public var lineId:String? public var serviceName:String? public var outcome:Int? public var outcomeLabel:String? public var isAppointment:Bool? public var signInUtc:Date? public var calledUtc:Date? public var firstStartUtc:Date? public var completedTime:Date? public var waitMinutes:Int? public var serviceMinutes:Int? public var windowName:String? public var ticketLabel:String? public var holdReason:String? public var returnedTime:Date? public var pausedMinutes:Int? required public init(){} } public class ContactQueueVisitSummary : Codable { public var visits:Int? public var completed:Int? public var noShows:Int? public var noShows90d:Int? public var cancelled:Int? public var unfulfilled:Int? public var appointments:Int? public var lastVisitUtc:Date? public var lastNoShowUtc:Date? public var avgWaitMinutes:Double? public var smsOptIn:Bool? public var textsSent90d:Int? public var sayNameAs:String? required public init(){} }