| Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
| PUT | /voss/subscriptions/{SubscriptionId}/scheduledChanges/{Id} | Update voss subscription scheduled change | Update a pending subscription scheduled change in the VOSS System. Already executed scheduled changes cannot be updated. |
|---|
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
import com.google.gson.annotations.*;
import com.google.gson.reflect.*;
public class dtos
{
@ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
public static class UpdateVossSubscriptionScheduledChange
{
/**
* The subscription id
*/
@ApiMember(Description="The subscription id", IsRequired=true)
public UUID SubscriptionId = null;
/**
* The subscription scheduled change id
*/
@ApiMember(Description="The subscription scheduled change id", IsRequired=true)
public UUID Id = 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)
public TypeEnum Type = 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")
public UUID VersionId = 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")
public UUID PackageId = 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")
public UUID TierId = 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")
public UUID PlanId = 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")
public Integer PeriodIterationCount = null;
public UUID getSubscriptionId() { return SubscriptionId; }
public UpdateVossSubscriptionScheduledChange setSubscriptionId(UUID value) { this.SubscriptionId = value; return this; }
public UUID getId() { return Id; }
public UpdateVossSubscriptionScheduledChange setId(UUID value) { this.Id = value; return this; }
public TypeEnum getType() { return Type; }
public UpdateVossSubscriptionScheduledChange setType(TypeEnum value) { this.Type = value; return this; }
public UUID getVersionId() { return VersionId; }
public UpdateVossSubscriptionScheduledChange setVersionId(UUID value) { this.VersionId = value; return this; }
public UUID getPackageId() { return PackageId; }
public UpdateVossSubscriptionScheduledChange setPackageId(UUID value) { this.PackageId = value; return this; }
public UUID getTierId() { return TierId; }
public UpdateVossSubscriptionScheduledChange setTierId(UUID value) { this.TierId = value; return this; }
public UUID getPlanId() { return PlanId; }
public UpdateVossSubscriptionScheduledChange setPlanId(UUID value) { this.PlanId = value; return this; }
public Integer getPeriodIterationCount() { return PeriodIterationCount; }
public UpdateVossSubscriptionScheduledChange setPeriodIterationCount(Integer value) { this.PeriodIterationCount = value; return this; }
}
public static enum TypeEnum
{
AtSubscriptionBillingPeriodEnd,
AtBindingPeriodEnd;
}
@DataContract(Name="SubscriptionScheduledChangeResult")
public static class SubscriptionScheduledChangeResult
{
@DataMember(Name="type")
@SerializedName("type")
public TypeEnum Type = null;
@DataMember(Name="status", IsRequired=true)
@SerializedName("status")
public StatusEnum Status = null;
@DataMember(Name="id", IsRequired=true)
@SerializedName("id")
public UUID Id = null;
@DataMember(Name="package")
@SerializedName("package")
public SubscriptionScheduledChangePackageResult Package = null;
@DataMember(Name="tier")
@SerializedName("tier")
public SubscriptionScheduledChangeTierResult Tier = null;
@DataMember(Name="plan")
@SerializedName("plan")
public SubscriptionScheduledChangePlanResult Plan = null;
@DataMember(Name="scheduledDate", IsRequired=true)
@SerializedName("scheduledDate")
public Date ScheduledDate = null;
@DataMember(Name="salesInformation")
@SerializedName("salesInformation")
public SubscriptionScheduledChangeSalesInformationResult SalesInformation = null;
public TypeEnum getType() { return Type; }
public SubscriptionScheduledChangeResult setType(TypeEnum value) { this.Type = value; return this; }
public StatusEnum getStatus() { return Status; }
public SubscriptionScheduledChangeResult setStatus(StatusEnum value) { this.Status = value; return this; }
public UUID getId() { return Id; }
public SubscriptionScheduledChangeResult setId(UUID value) { this.Id = value; return this; }
public SubscriptionScheduledChangePackageResult getPackage() { return Package; }
public SubscriptionScheduledChangeResult setPackage(SubscriptionScheduledChangePackageResult value) { this.Package = value; return this; }
public SubscriptionScheduledChangeTierResult getTier() { return Tier; }
public SubscriptionScheduledChangeResult setTier(SubscriptionScheduledChangeTierResult value) { this.Tier = value; return this; }
public SubscriptionScheduledChangePlanResult getPlan() { return Plan; }
public SubscriptionScheduledChangeResult setPlan(SubscriptionScheduledChangePlanResult value) { this.Plan = value; return this; }
public Date getScheduledDate() { return ScheduledDate; }
public SubscriptionScheduledChangeResult setScheduledDate(Date value) { this.ScheduledDate = value; return this; }
public SubscriptionScheduledChangeSalesInformationResult getSalesInformation() { return SalesInformation; }
public SubscriptionScheduledChangeResult setSalesInformation(SubscriptionScheduledChangeSalesInformationResult value) { this.SalesInformation = value; return this; }
}
public static enum StatusEnum
{
Active,
Terminated;
}
@DataContract(Name="SubscriptionScheduledChangePackageResult")
public static class SubscriptionScheduledChangePackageResult
{
@DataMember(Name="id", IsRequired=true)
@SerializedName("id")
public UUID Id = null;
@DataMember(Name="versionId", IsRequired=true)
@SerializedName("versionId")
public UUID VersionId = null;
@DataMember(Name="name", IsRequired=true)
@SerializedName("name")
public String Name = null;
public UUID getId() { return Id; }
public SubscriptionScheduledChangePackageResult setId(UUID value) { this.Id = value; return this; }
public UUID getVersionId() { return VersionId; }
public SubscriptionScheduledChangePackageResult setVersionId(UUID value) { this.VersionId = value; return this; }
public String getName() { return Name; }
public SubscriptionScheduledChangePackageResult setName(String value) { this.Name = value; return this; }
}
@DataContract(Name="SubscriptionScheduledChangeTierResult")
public static class SubscriptionScheduledChangeTierResult
{
@DataMember(Name="id", IsRequired=true)
@SerializedName("id")
public UUID Id = null;
@DataMember(Name="name", IsRequired=true)
@SerializedName("name")
public String Name = null;
public UUID getId() { return Id; }
public SubscriptionScheduledChangeTierResult setId(UUID value) { this.Id = value; return this; }
public String getName() { return Name; }
public SubscriptionScheduledChangeTierResult setName(String value) { this.Name = value; return this; }
}
@DataContract(Name="SubscriptionScheduledChangePlanResult")
public static class SubscriptionScheduledChangePlanResult
{
@DataMember(Name="id", IsRequired=true)
@SerializedName("id")
public UUID Id = null;
@DataMember(Name="name", IsRequired=true)
@SerializedName("name")
public String Name = null;
public UUID getId() { return Id; }
public SubscriptionScheduledChangePlanResult setId(UUID value) { this.Id = value; return this; }
public String getName() { return Name; }
public SubscriptionScheduledChangePlanResult setName(String value) { this.Name = value; return this; }
}
@DataContract(Name="SubscriptionScheduledChangeSalesInformationResult")
public static class SubscriptionScheduledChangeSalesInformationResult
{
@DataMember(Name="salesPersonId")
@SerializedName("salesPersonId")
public String SalesPersonId = null;
@DataMember(Name="salesDepartmentId")
@SerializedName("salesDepartmentId")
public String SalesDepartmentId = null;
public String getSalesPersonId() { return SalesPersonId; }
public SubscriptionScheduledChangeSalesInformationResult setSalesPersonId(String value) { this.SalesPersonId = value; return this; }
public String getSalesDepartmentId() { return SalesDepartmentId; }
public SubscriptionScheduledChangeSalesInformationResult setSalesDepartmentId(String value) { this.SalesDepartmentId = value; return this; }
}
}
Java UpdateVossSubscriptionScheduledChange DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PUT /voss/subscriptions/{SubscriptionId}/scheduledChanges/{Id} HTTP/1.1
Host: testapi.bokamera.se
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"Type":"AtSubscriptionBillingPeriodEnd","VersionId":"00000000-0000-0000-0000-000000000000","PackageId":"00000000-0000-0000-0000-000000000000","TierId":"00000000-0000-0000-0000-000000000000","PlanId":"00000000-0000-0000-0000-000000000000","PeriodIterationCount":0}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"type":"AtSubscriptionBillingPeriodEnd","status":"Pending"}