/* Options: Date: 2025-07-01 17:02:07 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: UpdateVossSubscriptions.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/voss/subscriptions", Verbs="PUT") @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) open class UpdateVossSubscriptions { /** * The company id. Subscription will be fetched of this company */ @ApiMember(Description="The company id. Subscription will be fetched of this company") var CompanyId:UUID? = null /** * Discount agreement data */ @ApiMember(Description="Discount agreement data") var DiscountAgreements:ArrayList = ArrayList() /** * Discount agreements change type controls how already occured transactions are treated <br />Retrospective - all future and past not invoiced transactions will be recalculated with new discount agreements <br />Prospective - discounts will apply only for future transactions */ @ApiMember(Description=" Discount agreements change type controls how already occured transactions are treated <br />Retrospective - all future and past not invoiced transactions will be recalculated with new discount agreements <br />Prospective - discounts will apply only for future transactions\n") var DiscountAgreementsChangeType:DiscountAgreementsChangeTypeEnum? = null /** * The company id. Subscription will be fetched of this company */ @ApiMember(Description="The company id. Subscription will be fetched of this company") var CompanyOwnerId:Int? = null } @DataContract(Name="SubscriptionDiscountAgreementRequestDto") open class SubscriptionDiscountAgreementRequestDto { @DataMember(Name="discountAgreementId", IsRequired=true) @SerializedName("discountAgreementId") var DiscountAgreementId:UUID? = null @DataMember(Name="period") @SerializedName("period") var Period:SubscriptionDiscountPeriodRequestDto? = null } enum class DiscountAgreementsChangeTypeEnum { Prospective, Retrospective, } @DataContract(Name="SubscriptionDiscountPeriodRequestDto") open class SubscriptionDiscountPeriodRequestDto { @DataMember(Name="periodKind", IsRequired=true) @SerializedName("periodKind") var PeriodKind:PeriodKindEnum? = null @DataMember(Name="length") @SerializedName("length") var Length:DiscountAgreementTimeLengthRequestDto? = null @DataMember(Name="periodIterationCount") @SerializedName("periodIterationCount") var PeriodIterationCount:Int? = null } enum class PeriodKindEnum { FixedTime, AlignedToBindingPeriod, AlignedToSubscriptionBillingPeriod, } @DataContract(Name="DiscountAgreementTimeLengthRequestDto") open class DiscountAgreementTimeLengthRequestDto { @DataMember(Name="unit", IsRequired=true) @SerializedName("unit") var Unit:UnitEnum? = null @DataMember(Name="value", IsRequired=true) @SerializedName("value") var Value:Int? = null } enum class UnitEnum { Day, Month, Year, }