/* Options: Date: 2026-10-01 10:21:57 SwiftVersion: 5.0 Version: 6.10 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://stubbur-app.azurewebsites.net //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: SelfServiceTransferTargetTicketTypesRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/selfService/transferTicket/targetTicketTypes", "POST") public class SelfServiceTransferTargetTicketTypesRequest : IReturn, Codable { public typealias Return = SelfServiceTransferTargetTicketTypesResult public var ticketTokenId:String? public var buyerPhone:String? public var toEventId:Int? public var sectionId:Int? required public init(){} } public class SelfServiceTransferTargetTicketTypesResult : SelfServiceTransferResultBase { public var sourceTicketPrice:Double? public var sourceTicketTypeName:String? public var toEventId:Int? public var targetIsSeated:Bool? public var options:[SelfServiceTargetTicketTypeOption] = [] required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case sourceTicketPrice case sourceTicketTypeName case toEventId case targetIsSeated case options } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) sourceTicketPrice = try container.decodeIfPresent(Double.self, forKey: .sourceTicketPrice) sourceTicketTypeName = try container.decodeIfPresent(String.self, forKey: .sourceTicketTypeName) toEventId = try container.decodeIfPresent(Int.self, forKey: .toEventId) targetIsSeated = try container.decodeIfPresent(Bool.self, forKey: .targetIsSeated) options = try container.decodeIfPresent([SelfServiceTargetTicketTypeOption].self, forKey: .options) ?? [] } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if sourceTicketPrice != nil { try container.encode(sourceTicketPrice, forKey: .sourceTicketPrice) } if sourceTicketTypeName != nil { try container.encode(sourceTicketTypeName, forKey: .sourceTicketTypeName) } if toEventId != nil { try container.encode(toEventId, forKey: .toEventId) } if targetIsSeated != nil { try container.encode(targetIsSeated, forKey: .targetIsSeated) } if options.count > 0 { try container.encode(options, forKey: .options) } } } public class SelfServiceTransferResultBase : Codable { public var ok:Bool? public var statusCode:Int? public var code:String? public var message:String? required public init(){} } public class SelfServiceTargetTicketTypeOption : Codable { public var ownerTicketTypeId:Int? public var seriesTicketTypeId:Int? public var name:String? public var price:Double? public var direction:String? public var priceDifference:Double? public var nameMatchesSource:Bool? public var selectable:Bool? public var blockedReason:String? public var blockedMessage:String? public var maxTickets:Int? public var ticketsSold:Int? public var ticketsLeft:Int? public var saleStatus:String? public var saleStartsUTC:Date? public var saleEndsUTC:Date? required public init(){} }