| Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
| PUT | /voss/discountAgreements | PUT Discount agreements |
|---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using BokaMera.API.ServiceModel.Dtos;
using BokaMera.VossIntegration.ApiTools.Model;
using BokaMera.VossIntegration.ApiTools.Enums;
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 virtual Guid DiscountAgreementId { get; set; }
///<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 virtual UpdateDiscountPeriodRequestDto DiscountPeriod { get; set; }
///<summary>
///Discount agreement status. Published is default.
///</summary>
[ApiMember(Description="Discount agreement status. Published is default.", IsRequired=true)]
public virtual DiscountAgreementStatusEnum DiscountAgreementStatus { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual DateTime ValidFrom { get; set; }
public virtual DateTime? ValidTo { get; set; }
}
}
namespace BokaMera.VossIntegration.ApiTools.Enums
{
public enum DiscountAgreementStatusEnum
{
Draft,
Staged,
Published,
Archived,
Discarded,
}
public enum PeriodKindEnum
{
FixedTime,
AlignedToBindingPeriod,
AlignedToSubscriptionBillingPeriod,
}
}
namespace BokaMera.VossIntegration.ApiTools.Model
{
[DataContract(Name="DiscountAgreementTimeLengthRequestDto")]
public partial class DiscountAgreementTimeLengthRequestDto
{
[DataMember(Name="unit", IsRequired=true)]
public virtual UnitEnum Unit { get; set; }
[DataMember(Name="value", IsRequired=true)]
public virtual int Value { get; set; }
public enum UnitEnum
{
Day,
Month,
Year,
}
}
[DataContract(Name="UpdateDiscountPeriodRequestDto")]
public partial class UpdateDiscountPeriodRequestDto
{
[DataMember(Name="periodKind", IsRequired=true)]
public virtual PeriodKindEnum PeriodKind { get; set; }
[DataMember(Name="length")]
public virtual DiscountAgreementTimeLengthRequestDto Length { get; set; }
[DataMember(Name="periodIterationCount")]
public virtual int? PeriodIterationCount { get; set; }
}
}
C# UpdateVossDiscountAgreements DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<UpdateVossDiscountAgreements xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
<Description>String</Description>
<DiscountAgreementId>00000000-0000-0000-0000-000000000000</DiscountAgreementId>
<DiscountAgreementStatus>Draft</DiscountAgreementStatus>
<DiscountPeriod xmlns:d2p1="http://schemas.datacontract.org/2004/07/BokaMera.VossIntegration.ApiTools.Model" i:nil="true" />
<Name>String</Name>
<ValidFrom>0001-01-01T00:00:00</ValidFrom>
<ValidTo>0001-01-01T00:00:00</ValidTo>
</UpdateVossDiscountAgreements>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <z:anyType xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" />