/* Options: Date: 2025-12-06 06:28:07 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: SingleTicketRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v1/Ticket/{TicketId}", "GET") public class SingleTicketRequest : IReturn, Codable { public typealias Return = SingleTicketResponse public var ticketId:String? required public init(){} } public class SingleTicketResponse : Codable { public var responseStatus:ResponseStatus? public var ticket:TicketExtended? required public init(){} } public class TicketExtended : Ticket { public var agentName:String? public var ticketType:String? public var agentHasRead:Bool? public var adminHasRead:Bool? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case agentName case ticketType case agentHasRead case adminHasRead } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) agentName = try container.decodeIfPresent(String.self, forKey: .agentName) ticketType = try container.decodeIfPresent(String.self, forKey: .ticketType) agentHasRead = try container.decodeIfPresent(Bool.self, forKey: .agentHasRead) adminHasRead = try container.decodeIfPresent(Bool.self, forKey: .adminHasRead) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if agentName != nil { try container.encode(agentName, forKey: .agentName) } if ticketType != nil { try container.encode(ticketType, forKey: .ticketType) } if agentHasRead != nil { try container.encode(agentHasRead, forKey: .agentHasRead) } if adminHasRead != nil { try container.encode(adminHasRead, forKey: .adminHasRead) } } } public class Ticket : Codable { public var ticketId:Int? public var createdDate:Date? public var createdBy:String? public var Description:String? public var resolution:String? public var isClosed:Bool? public var isFollowup:Bool? public var ticketTypeId:Int? public var modifiedDate:Date? public var modifiedBy:String? required public init(){} }