/* Options: Date: 2026-10-01 10:22:44 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: SelfServiceTransferConfirmRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/selfService/transferTicket/confirm", "POST") public class SelfServiceTransferConfirmRequest : IReturn, Codable { public typealias Return = SelfServiceTransferConfirmResult public var ticketTokenId:String? public var buyerPhone:String? public var toEventId:Int? public var toOwnerTicketTypeId:Int? public var toSeriesTicketTypeId:Int? public var toSeatId:Int? public var idempotencyKey:String? public var expectedPriceDifference:Double? required public init(){} } public class SelfServiceTransferConfirmResult : SelfServiceTransferResultBase { public var transferLogId:Int? public var newTicketTokenId:String? public var direction:String? public var priceDifference:Double? public var originalTicketPrice:Double? public var targetTicketPrice:Double? public var assignedSeatId:Int? public var assignedSeatLabel:String? public var topup:TransferTopupInstruction? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case transferLogId case newTicketTokenId case direction case priceDifference case originalTicketPrice case targetTicketPrice case assignedSeatId case assignedSeatLabel case topup } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) transferLogId = try container.decodeIfPresent(Int.self, forKey: .transferLogId) newTicketTokenId = try container.decodeIfPresent(String.self, forKey: .newTicketTokenId) direction = try container.decodeIfPresent(String.self, forKey: .direction) priceDifference = try container.decodeIfPresent(Double.self, forKey: .priceDifference) originalTicketPrice = try container.decodeIfPresent(Double.self, forKey: .originalTicketPrice) targetTicketPrice = try container.decodeIfPresent(Double.self, forKey: .targetTicketPrice) assignedSeatId = try container.decodeIfPresent(Int.self, forKey: .assignedSeatId) assignedSeatLabel = try container.decodeIfPresent(String.self, forKey: .assignedSeatLabel) topup = try container.decodeIfPresent(TransferTopupInstruction.self, forKey: .topup) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if transferLogId != nil { try container.encode(transferLogId, forKey: .transferLogId) } if newTicketTokenId != nil { try container.encode(newTicketTokenId, forKey: .newTicketTokenId) } if direction != nil { try container.encode(direction, forKey: .direction) } if priceDifference != nil { try container.encode(priceDifference, forKey: .priceDifference) } if originalTicketPrice != nil { try container.encode(originalTicketPrice, forKey: .originalTicketPrice) } if targetTicketPrice != nil { try container.encode(targetTicketPrice, forKey: .targetTicketPrice) } if assignedSeatId != nil { try container.encode(assignedSeatId, forKey: .assignedSeatId) } if assignedSeatLabel != nil { try container.encode(assignedSeatLabel, forKey: .assignedSeatLabel) } if topup != nil { try container.encode(topup, forKey: .topup) } } } 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 TransferTopupInstruction : Codable { public var amountIsk:Double? public var paymentLinkUrl:String? public var sessionToken:String? public var expiresAt:Date? required public init(){} }