/* Options: Date: 2025-12-06 09:44:05 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: CustomerCheckins.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v1/CustomerCheckins", "GET,POST,DELETE,OPTIONS") // @Route("/v1/CustomerCheckins/{Id}", "GET,POST,DELETE,OPTIONS") public class CustomerCheckins : CustomerCheckinObject, IReturn { public typealias Return = CustomerCheckinsResponse public var apiKey:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case apiKey } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) apiKey = try container.decodeIfPresent(String.self, forKey: .apiKey) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if apiKey != nil { try container.encode(apiKey, forKey: .apiKey) } } } public class CustomerCheckinsResponse : Codable { public var responseStatus:ResponseStatus? public var customerCheckins:[CustomerCheckinObject] = [] public var customerCheckinRequirements:CheckinInformation? required public init(){} } public class CustomerCheckinObject : Codable { public var id:String? public var lineId:String? public var customerId:String? public var employeeId:String? public var locationId:String? public var stationId:String? public var signInTime:Date? public var adjustedSignInTime:Date? public var sendReminders:Bool? public var status:Int? public var taskTime:Int? public var completed:Bool? public var completedTime:Date? public var questionnaireSubmitted:Bool? public var lineIds:[String] = [] required public init(){} } public class LineQuestion : Codable { public var id:Int? public var customerCheckInId:String? public var lineId:String? public var question:String? public var answer:String? public var active:Bool? required public init(){} } public class Line : Codable { public var id:String? public var locationId:String? public var locationName:String? public var name:String? public var Description:String? public var serviceDurationMinutes:Int? public var waitTime:Int? public var cost:Double? public var upperThreshold:Int? public var lowerThreshold:Int? public var active:Bool? public var entDate:Date? public var modDate:Date? public var sendQuestionnaire:Bool? public var requireUpload:Bool? public var uploadMessage:String? public var lineImages:[LineImage] = [] required public init(){} } public class CheckinInformation : Codable { public var id:String? public var locationId:String? public var locationName:String? public var customerId:String? public var questionnaireSubmitted:Bool? public var name:String? public var Description:String? public var totalServiceDurationMinutes:Int? public var totalCost:Double? public var sendQuestionnaire:Bool? public var requireUpload:Bool? public var questions:[LineQuestion] = [] public var lines:[Line] = [] required public init(){} } public class LineImage : Codable { public var imageId:String? public var fileName:String? public var imageTitle:String? public var uploadDate:Date? required public init(){} }