| Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
| PUT | /voss/discountAgreements | PUT Discount agreements |
|---|
import Foundation
import ServiceStack
// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
public class UpdateVossDiscountAgreements : Codable
{
/**
* Discount agreement data
*/
// @ApiMember(Description="Discount agreement data", IsRequired=true)
public var discountAgreementId:String
/**
* Discount agreement period data. Iteration count must be added
*/
// @ApiMember(Description="Discount agreement period data. Iteration count must be added", IsRequired=true)
public var discountPeriod:UpdateDiscountPeriodRequestDto
/**
* Discount agreement status. Published is default.
*/
// @ApiMember(Description="Discount agreement status. Published is default.", IsRequired=true)
public var discountAgreementStatus:DiscountAgreementStatusEnum
public var name:String
public var Description:String
public var validFrom:Date
public var validTo:Date?
required public init(){}
}
// @DataContract(Name="UpdateDiscountPeriodRequestDto")
public class UpdateDiscountPeriodRequestDto : Codable
{
// @DataMember(Name="periodKind", IsRequired=true)
public var periodKind:PeriodKindEnum
// @DataMember(Name="length")
public var length:DiscountAgreementTimeLengthRequestDto
// @DataMember(Name="periodIterationCount")
public var periodIterationCount:Int?
required public init(){}
}
public enum PeriodKindEnum : String, Codable
{
case FixedTime
case AlignedToBindingPeriod
case AlignedToSubscriptionBillingPeriod
}
// @DataContract(Name="DiscountAgreementTimeLengthRequestDto")
public class DiscountAgreementTimeLengthRequestDto : Codable
{
// @DataMember(Name="unit", IsRequired=true)
public var unit:UnitEnum
// @DataMember(Name="value", IsRequired=true)
public var value:Int
required public init(){}
}
public enum UnitEnum : String, Codable
{
case Day
case Month
case Year
}
public enum DiscountAgreementStatusEnum : String, Codable
{
case Draft
case Staged
case Published
case Archived
case Discarded
}
Swift UpdateVossDiscountAgreements DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PUT /voss/discountAgreements HTTP/1.1
Host: api.bokamera.se
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
DiscountAgreementStatus: Draft,
Name: String,
Description: String,
ValidTo: "0001-01-01T00:00:00"
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
}