/* Options: Date: 2026-07-13 12:42:59 Version: 10.05 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: UpdateVossSubscriptionScheduledChange.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/voss/subscriptions/{SubscriptionId}/scheduledChanges/{Id}", Verbs="PUT") @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) open class UpdateVossSubscriptionScheduledChange : IReturn { /** * The subscription id */ @ApiMember(Description="The subscription id", IsRequired=true) open var SubscriptionId:UUID? = null /** * The subscription scheduled change id */ @ApiMember(Description="The subscription scheduled change id", IsRequired=true) open var Id:UUID? = null /** * Controls when the scheduled change will be executed: <br />AtSubscriptionBillingPeriodEnd - after the currently latest subscription billing period ends <br />AtBindingPeriodEnd - after the currently latest subscription binding period ends */ @ApiMember(Description="Controls when the scheduled change will be executed: <br />AtSubscriptionBillingPeriodEnd - after the currently latest subscription billing period ends <br />AtBindingPeriodEnd - after the currently latest subscription binding period ends", IsRequired=true) open var Type:TypeEnum? = null /** * Optional package version id; if omitted the current version of the subscription package is used */ @ApiMember(Description="Optional package version id; if omitted the current version of the subscription package is used") open var VersionId:UUID? = null /** * The id of a package which will be active after the scheduled change is executed; if provided the tier id and plan id have to be provided as well */ @ApiMember(Description="The id of a package which will be active after the scheduled change is executed; if provided the tier id and plan id have to be provided as well") open var PackageId:UUID? = null /** * The id of a tier which will be active after the scheduled change is executed; can be omitted if PlanId is provided instead */ @ApiMember(Description="The id of a tier which will be active after the scheduled change is executed; can be omitted if PlanId is provided instead") open var TierId:UUID? = null /** * The id of a plan which will be active after the scheduled change is executed; can be omitted if TierId is provided instead */ @ApiMember(Description="The id of a plan which will be active after the scheduled change is executed; can be omitted if TierId is provided instead") open var PlanId:UUID? = null /** * How many periods (counting from the latest period) must pass before the scheduled change is executed; if omitted the change is executed on the latest period end */ @ApiMember(Description="How many periods (counting from the latest period) must pass before the scheduled change is executed; if omitted the change is executed on the latest period end") open var PeriodIterationCount:Int? = null companion object { private val responseType = SubscriptionScheduledChangeResult::class.java } override fun getResponseType(): Any? = UpdateVossSubscriptionScheduledChange.responseType } @DataContract(Name="SubscriptionScheduledChangeResult") open class SubscriptionScheduledChangeResult { @DataMember(Name="type") @SerializedName("type") open var Type:TypeEnum? = null @DataMember(Name="status", IsRequired=true) @SerializedName("status") open var Status:StatusEnum? = null @DataMember(Name="id", IsRequired=true) @SerializedName("id") open var Id:UUID? = null @DataMember(Name="package") @SerializedName("package") open var Package:SubscriptionScheduledChangePackageResult? = null @DataMember(Name="tier") @SerializedName("tier") open var Tier:SubscriptionScheduledChangeTierResult? = null @DataMember(Name="plan") @SerializedName("plan") open var Plan:SubscriptionScheduledChangePlanResult? = null @DataMember(Name="scheduledDate", IsRequired=true) @SerializedName("scheduledDate") open var ScheduledDate:Date? = null @DataMember(Name="salesInformation") @SerializedName("salesInformation") open var SalesInformation:SubscriptionScheduledChangeSalesInformationResult? = null } enum class TypeEnum { AtSubscriptionBillingPeriodEnd, AtBindingPeriodEnd, } enum class StatusEnum { Active, Terminated, } @DataContract(Name="SubscriptionScheduledChangePackageResult") open class SubscriptionScheduledChangePackageResult { @DataMember(Name="id", IsRequired=true) @SerializedName("id") open var Id:UUID? = null @DataMember(Name="versionId", IsRequired=true) @SerializedName("versionId") open var VersionId:UUID? = null @DataMember(Name="name", IsRequired=true) @SerializedName("name") open var Name:String? = null } @DataContract(Name="SubscriptionScheduledChangeTierResult") open class SubscriptionScheduledChangeTierResult { @DataMember(Name="id", IsRequired=true) @SerializedName("id") open var Id:UUID? = null @DataMember(Name="name", IsRequired=true) @SerializedName("name") open var Name:String? = null } @DataContract(Name="SubscriptionScheduledChangePlanResult") open class SubscriptionScheduledChangePlanResult { @DataMember(Name="id", IsRequired=true) @SerializedName("id") open var Id:UUID? = null @DataMember(Name="name", IsRequired=true) @SerializedName("name") open var Name:String? = null } @DataContract(Name="SubscriptionScheduledChangeSalesInformationResult") open class SubscriptionScheduledChangeSalesInformationResult { @DataMember(Name="salesPersonId") @SerializedName("salesPersonId") open var SalesPersonId:String? = null @DataMember(Name="salesDepartmentId") @SerializedName("salesDepartmentId") open var SalesDepartmentId:String? = null }