| Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
| PUT | /voss/discountAgreements | PUT Discount agreements |
|---|
"use strict";
/** @typedef {'FixedTime'|'AlignedToBindingPeriod'|'AlignedToSubscriptionBillingPeriod'} */
export var PeriodKindEnum;
(function (PeriodKindEnum) {
PeriodKindEnum["FixedTime"] = "FixedTime"
PeriodKindEnum["AlignedToBindingPeriod"] = "AlignedToBindingPeriod"
PeriodKindEnum["AlignedToSubscriptionBillingPeriod"] = "AlignedToSubscriptionBillingPeriod"
})(PeriodKindEnum || (PeriodKindEnum = {}));
/** @typedef {'Day'|'Month'|'Year'} */
export var UnitEnum;
(function (UnitEnum) {
UnitEnum["Day"] = "Day"
UnitEnum["Month"] = "Month"
UnitEnum["Year"] = "Year"
})(UnitEnum || (UnitEnum = {}));
export class DiscountAgreementTimeLengthRequestDto {
/** @param {{unit?:UnitEnum,value?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {UnitEnum} */
unit;
/** @type {number} */
value;
}
export class UpdateDiscountPeriodRequestDto {
/** @param {{periodKind?:PeriodKindEnum,length?:DiscountAgreementTimeLengthRequestDto,periodIterationCount?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {PeriodKindEnum} */
periodKind;
/** @type {DiscountAgreementTimeLengthRequestDto} */
length;
/** @type {?number} */
periodIterationCount;
}
/** @typedef {'Draft'|'Staged'|'Published'|'Archived'|'Discarded'} */
export var DiscountAgreementStatusEnum;
(function (DiscountAgreementStatusEnum) {
DiscountAgreementStatusEnum["Draft"] = "Draft"
DiscountAgreementStatusEnum["Staged"] = "Staged"
DiscountAgreementStatusEnum["Published"] = "Published"
DiscountAgreementStatusEnum["Archived"] = "Archived"
DiscountAgreementStatusEnum["Discarded"] = "Discarded"
})(DiscountAgreementStatusEnum || (DiscountAgreementStatusEnum = {}));
export class UpdateVossDiscountAgreements {
/** @param {{DiscountAgreementId?:string,DiscountPeriod?:UpdateDiscountPeriodRequestDto,DiscountAgreementStatus?:DiscountAgreementStatusEnum,Name?:string,Description?:string,ValidFrom?:string,ValidTo?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description Discount agreement data */
DiscountAgreementId;
/**
* @type {UpdateDiscountPeriodRequestDto}
* @description Discount agreement period data. Iteration count must be added */
DiscountPeriod;
/**
* @type {DiscountAgreementStatusEnum}
* @description Discount agreement status. Published is default. */
DiscountAgreementStatus;
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {string} */
ValidFrom;
/** @type {?string} */
ValidTo;
}
JavaScript 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
{
}