/* Options: Date: 2025-08-05 02:19:38 SwiftVersion: 5.0 Version: 8.0 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://www.asg.com.au/RestApi //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: ConversionRequestDto.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/sitefinity/data-intelligence/conversion", "GET") public class ConversionRequestDto : IReturn, Codable { public typealias Return = ConversionsViewModel public var filter:String required public init(){} } public class ConversionsViewModel : Codable { public var conversions:IList required public init(){} } public class Conversion : Codable { public var id:Int public var name:String public var state:CalculationState public var inputDays:Int? public var createdOn:Date public var modifiedOn:Date public var createdByUserId:String public var modifiedByUserId:String public var definition:ConditionExpression public var clientFilter:ConditionExpression public var canBeModified:Bool public var canBeDeleted:Bool public var contentRecommendationsEnabled:Bool public var attributionCalculatedOn:Date? public var decisionTreeId:Int? required public init(){} } public class ConditionExpression : Codable { public var relation:String public var parts:IList required public init(){} } public enum CalculationState : String, Codable { case Inactive case Initializing case Active case ToBeDeleted case Error case Pending case Expired } public class ConditionPart : Codable { public var id:Int public var predicate:String public var isNegated:Bool public var predicateOperator:MatchingOperator public var objectOperator:MatchingOperator public var objects:[String] = [] public var clientAttribute:String public var contactPropertyId:String? public var objectMetadata:[String:String] = [:] public var urlParameters:[String:String] = [:] required public init(){} } public enum MatchingOperator : String, Codable { case ExactMatch case Contains case StartsWith case EndsWith case UrlStrippedMatch }