/* Options: Date: 2025-12-14 05:13:46 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //Package: //GlobalNamespace: dtos //AddPropertyAccessors: True //SettersReturnThis: True //AddServiceStackTypes: True //AddResponseStatus: False //AddDescriptionAsComments: True //AddImplicitVersion: IncludeTypes: CreateVossUsageTermination.* //ExcludeTypes: //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.*; public class dtos { @Route(Path="/voss/usage/{Id}/termination", Verbs="POST") @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) @ValidateRequest(Validator="IsAuthenticated") public static class CreateVossUsageTermination implements IReturn { /** * The company id */ @ApiMember(Description="The company id", IsRequired=true) public UUID CompanyId = null; /** * Usage Id */ @ApiMember(Description="Usage Id", IsRequired=true) public String Id = null; public ArrayList InvoiceLineTexts = new ArrayList(); public String TerminationReasonComment = null; public UUID TerminationReasonId = null; /** * Credit behaviour: <br /> 1. Full - usage will be credited in full <br /> 2. None - no credit will be created */ @ApiMember(Description="Credit behaviour: <br /> 1. Full - usage will be credited in full <br /> 2. None - no credit will be created", IsRequired=true) public UsageBehaviourEnum Behaviour = null; /** * Credit kind: <br /> 1. Normal - default credit type <br /> 2. Internal - corresponding credit will be marked as internal in invoice file line */ @ApiMember(Description="Credit kind: <br /> 1. Normal - default credit type <br /> 2. Internal - corresponding credit will be marked as internal in invoice file line", IsRequired=true) public CreditKindEnum CreditKind = null; public UUID getCompanyId() { return CompanyId; } public CreateVossUsageTermination setCompanyId(UUID value) { this.CompanyId = value; return this; } public String getId() { return Id; } public CreateVossUsageTermination setId(String value) { this.Id = value; return this; } public ArrayList getInvoiceLineTexts() { return InvoiceLineTexts; } public CreateVossUsageTermination setInvoiceLineTexts(ArrayList value) { this.InvoiceLineTexts = value; return this; } public String getTerminationReasonComment() { return TerminationReasonComment; } public CreateVossUsageTermination setTerminationReasonComment(String value) { this.TerminationReasonComment = value; return this; } public UUID getTerminationReasonId() { return TerminationReasonId; } public CreateVossUsageTermination setTerminationReasonId(UUID value) { this.TerminationReasonId = value; return this; } public UsageBehaviourEnum getBehaviour() { return Behaviour; } public CreateVossUsageTermination setBehaviour(UsageBehaviourEnum value) { this.Behaviour = value; return this; } public CreditKindEnum getCreditKind() { return CreditKind; } public CreateVossUsageTermination setCreditKind(CreditKindEnum value) { this.CreditKind = value; return this; } private static Object responseType = CreateUsageTerminationResult.class; public Object getResponseType() { return responseType; } } @DataContract(Name="CreateUsageTerminationResult") public static class CreateUsageTerminationResult { @DataMember(Name="scheduledDate", IsRequired=true) @SerializedName("scheduledDate") public Date ScheduledDate = null; @DataMember(Name="reason") @SerializedName("reason") public SubscriptionItemTerminationReasonDto Reason = null; @DataMember(Name="creditOptions", IsRequired=true) @SerializedName("creditOptions") public UsageCreditOptionsDto CreditOptions = null; @DataMember(Name="customerBalanceChange", IsRequired=true) @SerializedName("customerBalanceChange") public CustomerBalanceChangeDto CustomerBalanceChange = null; public Date getScheduledDate() { return ScheduledDate; } public CreateUsageTerminationResult setScheduledDate(Date value) { this.ScheduledDate = value; return this; } public SubscriptionItemTerminationReasonDto getReason() { return Reason; } public CreateUsageTerminationResult setReason(SubscriptionItemTerminationReasonDto value) { this.Reason = value; return this; } public UsageCreditOptionsDto getCreditOptions() { return CreditOptions; } public CreateUsageTerminationResult setCreditOptions(UsageCreditOptionsDto value) { this.CreditOptions = value; return this; } public CustomerBalanceChangeDto getCustomerBalanceChange() { return CustomerBalanceChange; } public CreateUsageTerminationResult setCustomerBalanceChange(CustomerBalanceChangeDto value) { this.CustomerBalanceChange = value; return this; } } public static enum UsageBehaviourEnum { Full, None; } public static enum CreditKindEnum { Normal, Internal; } public static enum ProductTypeEnum { Main, Addon, License, Usage; } @DataContract(Name="SubscriptionItemTerminationReasonDto") public static class SubscriptionItemTerminationReasonDto { @DataMember(Name="reasonId", IsRequired=true) @SerializedName("reasonId") public UUID ReasonId = null; @DataMember(Name="reasonName", IsRequired=true) @SerializedName("reasonName") public String ReasonName = null; @DataMember(Name="reasonExternalId") @SerializedName("reasonExternalId") public String ReasonExternalId = null; @DataMember(Name="subReasonId") @SerializedName("subReasonId") public UUID SubReasonId = null; @DataMember(Name="subReasonName") @SerializedName("subReasonName") public String SubReasonName = null; @DataMember(Name="subReasonExternalId") @SerializedName("subReasonExternalId") public String SubReasonExternalId = null; @DataMember(Name="comment", IsRequired=true) @SerializedName("comment") public String Comment = null; public UUID getReasonId() { return ReasonId; } public SubscriptionItemTerminationReasonDto setReasonId(UUID value) { this.ReasonId = value; return this; } public String getReasonName() { return ReasonName; } public SubscriptionItemTerminationReasonDto setReasonName(String value) { this.ReasonName = value; return this; } public String getReasonExternalId() { return ReasonExternalId; } public SubscriptionItemTerminationReasonDto setReasonExternalId(String value) { this.ReasonExternalId = value; return this; } public UUID getSubReasonId() { return SubReasonId; } public SubscriptionItemTerminationReasonDto setSubReasonId(UUID value) { this.SubReasonId = value; return this; } public String getSubReasonName() { return SubReasonName; } public SubscriptionItemTerminationReasonDto setSubReasonName(String value) { this.SubReasonName = value; return this; } public String getSubReasonExternalId() { return SubReasonExternalId; } public SubscriptionItemTerminationReasonDto setSubReasonExternalId(String value) { this.SubReasonExternalId = value; return this; } public String getComment() { return Comment; } public SubscriptionItemTerminationReasonDto setComment(String value) { this.Comment = value; return this; } } @DataContract(Name="UsageCreditOptionsDto") public static class UsageCreditOptionsDto { @DataMember(Name="behaviour", IsRequired=true) @SerializedName("behaviour") public UsageBehaviourEnum UsageBehaviour = null; @DataMember(Name="creditKind", IsRequired=true) @SerializedName("creditKind") public CreditKindEnum CreditKind = null; public UsageBehaviourEnum getUsageBehaviour() { return UsageBehaviour; } public UsageCreditOptionsDto setUsageBehaviour(UsageBehaviourEnum value) { this.UsageBehaviour = value; return this; } public CreditKindEnum getCreditKind() { return CreditKind; } public UsageCreditOptionsDto setCreditKind(CreditKindEnum value) { this.CreditKind = value; return this; } } @DataContract(Name="CustomerBalanceChangeDto") public static class CustomerBalanceChangeDto { @DataMember(Name="items", EmitDefaultValue=false) @SerializedName("items") public ArrayList Items = new ArrayList(); @DataMember(Name="totalAmount", EmitDefaultValue=false) @SerializedName("totalAmount") public Double TotalAmount = null; @DataMember(Name="totalDiscountAmount", EmitDefaultValue=false) @SerializedName("totalDiscountAmount") public Double TotalDiscountAmount = null; public ArrayList getItems() { return Items; } public CustomerBalanceChangeDto setItems(ArrayList value) { this.Items = value; return this; } public Double getTotalAmount() { return TotalAmount; } public CustomerBalanceChangeDto setTotalAmount(Double value) { this.TotalAmount = value; return this; } public Double getTotalDiscountAmount() { return TotalDiscountAmount; } public CustomerBalanceChangeDto setTotalDiscountAmount(Double value) { this.TotalDiscountAmount = value; return this; } } @DataContract(Name="CustomerBalanceChangeItemDto") public static class CustomerBalanceChangeItemDto { @DataMember(Name="type", IsRequired=true) @SerializedName("type") public ProductTypeEnum ProductType = null; @DataMember(Name="id", IsRequired=true) @SerializedName("id") public UUID Id = null; @DataMember(Name="name", IsRequired=true) @SerializedName("name") public String Name = null; @DataMember(Name="productGroupId", IsRequired=true) @SerializedName("productGroupId") public UUID ProductGroupId = null; @DataMember(Name="productGroupName", IsRequired=true) @SerializedName("productGroupName") public String ProductGroupName = null; @DataMember(Name="quantity", IsRequired=true) @SerializedName("quantity") public Double Quantity = null; @DataMember(Name="amount", IsRequired=true) @SerializedName("amount") public Double Amount = null; @DataMember(Name="discountAmount", IsRequired=true) @SerializedName("discountAmount") public Double DiscountAmount = null; @DataMember(Name="totalAmount", EmitDefaultValue=false) @SerializedName("totalAmount") public Double TotalAmount = null; @DataMember(Name="invoiceRecipientCustomerId", IsRequired=true) @SerializedName("invoiceRecipientCustomerId") public UUID InvoiceRecipientCustomerId = null; public ProductTypeEnum getProductType() { return ProductType; } public CustomerBalanceChangeItemDto setProductType(ProductTypeEnum value) { this.ProductType = value; return this; } public UUID getId() { return Id; } public CustomerBalanceChangeItemDto setId(UUID value) { this.Id = value; return this; } public String getName() { return Name; } public CustomerBalanceChangeItemDto setName(String value) { this.Name = value; return this; } public UUID getProductGroupId() { return ProductGroupId; } public CustomerBalanceChangeItemDto setProductGroupId(UUID value) { this.ProductGroupId = value; return this; } public String getProductGroupName() { return ProductGroupName; } public CustomerBalanceChangeItemDto setProductGroupName(String value) { this.ProductGroupName = value; return this; } public Double getQuantity() { return Quantity; } public CustomerBalanceChangeItemDto setQuantity(Double value) { this.Quantity = value; return this; } public Double getAmount() { return Amount; } public CustomerBalanceChangeItemDto setAmount(Double value) { this.Amount = value; return this; } public Double getDiscountAmount() { return DiscountAmount; } public CustomerBalanceChangeItemDto setDiscountAmount(Double value) { this.DiscountAmount = value; return this; } public Double getTotalAmount() { return TotalAmount; } public CustomerBalanceChangeItemDto setTotalAmount(Double value) { this.TotalAmount = value; return this; } public UUID getInvoiceRecipientCustomerId() { return InvoiceRecipientCustomerId; } public CustomerBalanceChangeItemDto setInvoiceRecipientCustomerId(UUID value) { this.InvoiceRecipientCustomerId = value; return this; } } }