/* Options: Date: 2026-10-01 12:30:22 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: OutboundCampaignCreateRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/Outbound/Campaigns", "POST") public class OutboundCampaignCreateRequest : IReturn, Codable { public typealias Return = OutboundCampaignResult public var ownerId:Int? public var name:String? public var lane:String? public var templateKey:String? public var payloadJson:String? public var channelOrder:String? public var holdoutPercent:Int? public var guardKey:String? public var guardSubject:String? public var sendAt:Date? public var expiresAt:Date? public var audienceSource:String? public var people:[OutboundCampaignPerson] = [] required public init(){} } public class OutboundCampaignResult : Codable { public var campaignId:Int? public var decisions:[String:Int] = [:] public var queuedByChannel:[String:Int] = [:] public var messageStatuses:[String:Int] = [:] public var duplicates:Int? public var noIdentity:Int? public var statusCode:Int? public var message:String? required public init(){} } public class OutboundCampaignPerson : Codable { public var phone:String? public var email:String? public var devices:[OutboundCampaignDevice] = [] public var pushConsent:Bool? public var smsConsent:Bool? public var emailConsent:Bool? public var payloadJson:String? required public init(){} } public class OutboundCampaignDevice : Codable { public var token:String? public var platform:String? required public init(){} }