/* Options: Date: 2026-08-17 09:14:32 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: TicketTransferCreatePendingRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/ticketTransfer/createPending", "POST") public class TicketTransferCreatePendingRequest : IReturn, Codable { public typealias Return = TicketTransferCreatePendingResult public var phoneVerificationNumber:String? public var transferFromPhoneVerificationNumber:String? public var transferToPhoneVerificationNumber:String? public var eventTicket:Ticket? public var eventTicketDetails:[TicketDetails] = [] public var toEmail:String? public var toName:String? public var idempotencyKey:String? required public init(){} } public class TicketTransferCreatePendingResult : TicketTransferBaseResult { public var transferToken:String? public var status:String? public var toPhoneCanonical:String? public var toPhoneDisplay:String? public var toPhoneRaw:String? public var expiresAt:Date? public var eventId:Int? public var eventName:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case transferToken case status case toPhoneCanonical case toPhoneDisplay case toPhoneRaw case expiresAt case eventId case eventName } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) transferToken = try container.decodeIfPresent(String.self, forKey: .transferToken) status = try container.decodeIfPresent(String.self, forKey: .status) toPhoneCanonical = try container.decodeIfPresent(String.self, forKey: .toPhoneCanonical) toPhoneDisplay = try container.decodeIfPresent(String.self, forKey: .toPhoneDisplay) toPhoneRaw = try container.decodeIfPresent(String.self, forKey: .toPhoneRaw) expiresAt = try container.decodeIfPresent(Date.self, forKey: .expiresAt) eventId = try container.decodeIfPresent(Int.self, forKey: .eventId) eventName = try container.decodeIfPresent(String.self, forKey: .eventName) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if transferToken != nil { try container.encode(transferToken, forKey: .transferToken) } if status != nil { try container.encode(status, forKey: .status) } if toPhoneCanonical != nil { try container.encode(toPhoneCanonical, forKey: .toPhoneCanonical) } if toPhoneDisplay != nil { try container.encode(toPhoneDisplay, forKey: .toPhoneDisplay) } if toPhoneRaw != nil { try container.encode(toPhoneRaw, forKey: .toPhoneRaw) } if expiresAt != nil { try container.encode(expiresAt, forKey: .expiresAt) } if eventId != nil { try container.encode(eventId, forKey: .eventId) } if eventName != nil { try container.encode(eventName, forKey: .eventName) } } } public class TicketDetails : Codable { public var id:Int? public var ticketId:Int? public var eventSeriesTicketType:Int? public var eventSeriesOwnerTicketType:Int? public var ticketPrice:Double? public var totalPrice:Double? public var count:Int? public var ticketColor:String? public var showUsedTickets:Bool? public var ticketName:String? public var ticketDisplayString:String? public var ticketDetailsTransferredFrom:Int? public var teamPassId:Int? public var isSpecialTicket:Bool? public var specialTicketId:String? public var justChangedBySQL:Bool? public var sqlJustChangedTimeStamp:Date? public var currency:String? public var discountCode:String? public var totalDiscount:Double? public var totalAmountBeforeDiscount:Double? public var ticketPriceBeforeDiscount:Double? required public init(){} } public class Ticket : Codable { public var id:Int? public var userId:Int? public var userAuthId:Int? public var eventId:Int? public var timestampBought:Date? public var timestampActivated:Date? public var timeStampOrdered:Date? public var deviceId:String? public var phoneVerificationId:Int? public var paymentMethodId:String? public var paymentReference:String? public var ticketStatus:String? public var phoneVerificationNumber:String? public var ticketTokenId:String? public var paymentPhoneNumber:String? public var ticketTransferredFrom:Int? public var originalPhoneVerificationNumber:String? public var teamPassId:Int? public var paymentId:String? public var isFree:Bool? public var freeTicketFromId:String? public var freeTicketFromTypeId:String? public var freeTicketCardTypeId:String? public var freeTicketCardId:Int? public var totalPaidForTicket:Double? public var seatsReservationId:String? public var timeStampLastStatusChange:Date? public var lastTicketStatus:String? public var scanCode:String? public var scanCodeType:String? public var scanCodeNotActive:Bool? public var multipleScanCodes:Bool? public var currency:String? public var ticketHasExpired:Bool? public var discountCode:String? public var totalDiscount:Double? public var totalAmountBeforeDiscount:Double? required public init(){} } public class TicketTransferBaseResult : Codable { public var statusCode:Int? public var message:String? public var errorCode:String? required public init(){} }