/* Options: Date: 2025-08-05 02:30:48 Version: 8.0 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://www.asg.com.au/RestApi //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetABTests.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/ab-testing", Verbs="PUT") open class ABTestViewModel : IReturn { var Id:UUID? = null var Title:String? = null var Description:String? = null var StartDate:Date? = null var StopDate:Date? = null var Page:UUID? = null var SiteId:UUID? = null var Culture:String? = null var Variations:ArrayList = ArrayList() var Goals:ArrayList = ArrayList() var ReportUrl:String? = null var LastModified:Date? = null var Status:ABTestStatus? = null var Owner:String? = null var WinnerVariationId:UUID? = null var SelectedVariationId:UUID? = null var PageNodeErrorMessage:String? = null var WarningMessage:String? = null var ApiKey:String? = null var UserSegmentId:UUID? = null companion object { private val responseType = ABTestViewModel::class.java } override fun getResponseType(): Any? = ABTestViewModel.responseType } @Route(Path="/ab-testing/tests", Verbs="GET") open class GetABTests : IReturn>, IABTestsFilter { var Skip:Int? = null var Take:Int? = null var OrderExpression:String? = null var SearchText:String? = null var Status:ABTestStatus? = null var MyTests:Boolean? = null companion object { private val responseType = object : TypeToken>(){}.type } override fun getResponseType(): Any? = GetABTests.responseType } open class VariationViewModel { var Id:UUID? = null var Name:String? = null var Distribution:Int? = null var IsOriginal:Boolean? = null var Ordinal:Int? = null var PageDataId:UUID? = null var IsWinner:Boolean? = null } open class GoalViewModel { var Id:UUID? = null var GoalType:GoalType? = null var GoalNameResourceKey:String? = null var PredicateOperator:String? = null var ObjectId:String? = null var ObjectName:String? = null var ObjectCulture:String? = null var IsPrimary:Boolean? = null var Ordinal:Int? = null } enum class ABTestStatus { NotStarted, Scheduled, Active, Stopped, Ended, } open interface IABTestsFilter { var SearchText:String? var Status:ABTestStatus? var MyTests:Boolean? } enum class GoalType { NextPageView, FormSubmission, DecConversion, }