BackofficeApi

<back to all web services

UpdateSubscriptionPlanRequest

Backoffice
Requires Authentication
Required role:Backoffice
The following routes are available for this service:
PUT/subscription/update_plan
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;

public class BackofficeApi
{

    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 enum Period
    {
        Monthly,
        Yearly;
    }

    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; }
    }

}

Java UpdateSubscriptionPlanRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

PUT /subscription/update_plan HTTP/1.1 
Host: backoffice-api.brovs.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: 0,
	canBeSelectedByClient: False,
	subscriptionPlanDetails: 
	{
		freeUntil: 
		{
			stopAt: 0001-01-01
		},
		invoice: 
		{
			period: Monthly,
			amount: 0,
			currency: String
		},
		monthlyStripe: 
		{
			amount: 0,
			currency: String,
			freeStartUpMonths: 0
		},
		freeOnClaim: 
		{
			months: 0
		}
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	success: False
}