/* Options: Date: 2025-12-06 08:53:09 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://backoffice-api.brovs.com //Package: //GlobalNamespace: BackofficeApi //AddPropertyAccessors: True //SettersReturnThis: True //AddServiceStackTypes: True //AddResponseStatus: False //AddDescriptionAsComments: True //AddImplicitVersion: IncludeTypes: UpdateSubscriptionPlanRequest.* //ExcludeTypes: //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.*; import java.util.*; import java.io.InputStream; import net.servicestack.client.*; public class BackofficeApi { @Route(Path="/subscription/update_plan", Verbs="PUT") public static class UpdateSubscriptionPlanRequest implements IReturn, IPut { public Long id = null; public Boolean canBeSelectedByClient = null; public SubscriptionPlanDetailsUnion subscriptionPlanDetails = null; public Long getId() { return id; } public UpdateSubscriptionPlanRequest setId(Long value) { this.id = value; return this; } public Boolean isCanBeSelectedByClient() { return canBeSelectedByClient; } public UpdateSubscriptionPlanRequest setCanBeSelectedByClient(Boolean value) { this.canBeSelectedByClient = value; return this; } public SubscriptionPlanDetailsUnion getSubscriptionPlanDetails() { return subscriptionPlanDetails; } public UpdateSubscriptionPlanRequest setSubscriptionPlanDetails(SubscriptionPlanDetailsUnion value) { this.subscriptionPlanDetails = value; return this; } private static Object responseType = UpdateSubscriptionPlanResponse.class; public Object getResponseType() { return responseType; } } public static class UpdateSubscriptionPlanResponse { public Boolean success = null; public Boolean isSuccess() { return success; } public UpdateSubscriptionPlanResponse setSuccess(Boolean value) { this.success = value; return this; } } public static class SubscriptionPlanDetailsUnion { public PlanDetailsFreeUntil freeUntil = null; public PlanDetailsInvoice invoice = null; public PlanDetailsMonthlyStripe monthlyStripe = null; public PlanDetailsFreeOnClaim freeOnClaim = null; public PlanDetailsFreeUntil getFreeUntil() { return freeUntil; } public SubscriptionPlanDetailsUnion setFreeUntil(PlanDetailsFreeUntil value) { this.freeUntil = value; return this; } public PlanDetailsInvoice getInvoice() { return invoice; } public SubscriptionPlanDetailsUnion setInvoice(PlanDetailsInvoice value) { this.invoice = value; return this; } public PlanDetailsMonthlyStripe getMonthlyStripe() { return monthlyStripe; } public SubscriptionPlanDetailsUnion setMonthlyStripe(PlanDetailsMonthlyStripe value) { this.monthlyStripe = value; return this; } public PlanDetailsFreeOnClaim getFreeOnClaim() { return freeOnClaim; } public SubscriptionPlanDetailsUnion setFreeOnClaim(PlanDetailsFreeOnClaim value) { this.freeOnClaim = value; return this; } } public static class PlanDetailsFreeUntil { public Date stopAt = null; public Date getStopAt() { return stopAt; } public PlanDetailsFreeUntil setStopAt(Date value) { this.stopAt = value; return this; } } public static class PlanDetailsInvoice { public Period period = null; public Double amount = null; public String currency = null; public Period getPeriod() { return period; } public PlanDetailsInvoice setPeriod(Period value) { this.period = value; return this; } public Double getAmount() { return amount; } public PlanDetailsInvoice setAmount(Double value) { this.amount = value; return this; } public String getCurrency() { return currency; } public PlanDetailsInvoice setCurrency(String value) { this.currency = value; return this; } } public static class PlanDetailsMonthlyStripe { public Double amount = null; public String currency = null; public Integer freeStartUpMonths = null; public Double getAmount() { return amount; } public PlanDetailsMonthlyStripe setAmount(Double value) { this.amount = value; return this; } public String getCurrency() { return currency; } public PlanDetailsMonthlyStripe setCurrency(String value) { this.currency = value; return this; } public Integer getFreeStartUpMonths() { return freeStartUpMonths; } public PlanDetailsMonthlyStripe setFreeStartUpMonths(Integer value) { this.freeStartUpMonths = value; return this; } } public static class PlanDetailsFreeOnClaim { public Integer months = null; public Integer getMonths() { return months; } public PlanDetailsFreeOnClaim setMonths(Integer value) { this.months = value; return this; } } public static enum Period { Monthly, Yearly; } }