| Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
| PUT | /voss/discountAgreements | PUT Discount agreements |
|---|
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BokaMera.API.ServiceModel.Dtos
Imports BokaMera.VossIntegration.ApiTools.Model
Imports BokaMera.VossIntegration.ApiTools.Enums
Namespace Global
Namespace BokaMera.API.ServiceModel.Dtos
<ApiResponse(Description:="You were unauthorized to call this service", StatusCode:=401)>
Public Partial Class UpdateVossDiscountAgreements
'''<Summary>
'''Discount agreement data
'''</Summary>
<ApiMember(Description:="Discount agreement data", IsRequired:=true)>
Public Overridable Property DiscountAgreementId As Guid
'''<Summary>
'''Discount agreement period data. Iteration count must be added
'''</Summary>
<ApiMember(Description:="Discount agreement period data. Iteration count must be added", IsRequired:=true)>
Public Overridable Property DiscountPeriod As UpdateDiscountPeriodRequestDto
'''<Summary>
'''Discount agreement status. Published is default.
'''</Summary>
<ApiMember(Description:="Discount agreement status. Published is default.", IsRequired:=true)>
Public Overridable Property DiscountAgreementStatus As DiscountAgreementStatusEnum
Public Overridable Property Name As String
Public Overridable Property Description As String
Public Overridable Property ValidFrom As Date
Public Overridable Property ValidTo As Date?
End Class
End Namespace
Namespace BokaMera.VossIntegration.ApiTools.Enums
Public Enum DiscountAgreementStatusEnum
Draft
Staged
Published
Archived
Discarded
End Enum
Public Enum PeriodKindEnum
FixedTime
AlignedToBindingPeriod
AlignedToSubscriptionBillingPeriod
End Enum
End Namespace
Namespace BokaMera.VossIntegration.ApiTools.Model
<DataContract(Name:="DiscountAgreementTimeLengthRequestDto")>
Public Partial Class DiscountAgreementTimeLengthRequestDto
<DataMember(Name:="unit", IsRequired:=true)>
Public Overridable Property Unit As UnitEnum
<DataMember(Name:="value", IsRequired:=true)>
Public Overridable Property Value As Integer
Public Enum UnitEnum
Day
Month
Year
End Enum
End Class
<DataContract(Name:="UpdateDiscountPeriodRequestDto")>
Public Partial Class UpdateDiscountPeriodRequestDto
<DataMember(Name:="periodKind", IsRequired:=true)>
Public Overridable Property PeriodKind As PeriodKindEnum
<DataMember(Name:="length")>
Public Overridable Property Length As DiscountAgreementTimeLengthRequestDto
<DataMember(Name:="periodIterationCount")>
Public Overridable Property PeriodIterationCount As Integer?
End Class
End Namespace
End Namespace
VB.NET 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
{
}