| Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
| PUT | /voss/discountAgreements | PUT Discount agreements |
|---|
import 'package:servicestack/servicestack.dart';
enum PeriodKindEnum
{
FixedTime,
AlignedToBindingPeriod,
AlignedToSubscriptionBillingPeriod,
}
enum UnitEnum
{
Day,
Month,
Year,
}
// @DataContract(Name="DiscountAgreementTimeLengthRequestDto")
class DiscountAgreementTimeLengthRequestDto implements IConvertible
{
// @DataMember(Name="unit", IsRequired=true)
UnitEnum? unit;
// @DataMember(Name="value", IsRequired=true)
int? value;
DiscountAgreementTimeLengthRequestDto({this.unit,this.value});
DiscountAgreementTimeLengthRequestDto.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
unit = JsonConverters.fromJson(json['Unit'],'UnitEnum',context!);
value = json['Value'];
return this;
}
Map<String, dynamic> toJson() => {
'unit': JsonConverters.toJson(unit,'UnitEnum',context!),
'value': value
};
getTypeName() => "DiscountAgreementTimeLengthRequestDto";
TypeContext? context = _ctx;
}
// @DataContract(Name="UpdateDiscountPeriodRequestDto")
class UpdateDiscountPeriodRequestDto implements IConvertible
{
// @DataMember(Name="periodKind", IsRequired=true)
PeriodKindEnum? periodKind;
// @DataMember(Name="length")
DiscountAgreementTimeLengthRequestDto? length;
// @DataMember(Name="periodIterationCount")
int? periodIterationCount;
UpdateDiscountPeriodRequestDto({this.periodKind,this.length,this.periodIterationCount});
UpdateDiscountPeriodRequestDto.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
periodKind = JsonConverters.fromJson(json['PeriodKind'],'PeriodKindEnum',context!);
length = JsonConverters.fromJson(json['Length'],'DiscountAgreementTimeLengthRequestDto',context!);
periodIterationCount = json['PeriodIterationCount'];
return this;
}
Map<String, dynamic> toJson() => {
'periodKind': JsonConverters.toJson(periodKind,'PeriodKindEnum',context!),
'length': JsonConverters.toJson(length,'DiscountAgreementTimeLengthRequestDto',context!),
'periodIterationCount': periodIterationCount
};
getTypeName() => "UpdateDiscountPeriodRequestDto";
TypeContext? context = _ctx;
}
enum DiscountAgreementStatusEnum
{
Draft,
Staged,
Published,
Archived,
Discarded,
}
// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
class UpdateVossDiscountAgreements implements IConvertible
{
/**
* Discount agreement data
*/
// @ApiMember(Description="Discount agreement data", IsRequired=true)
String? DiscountAgreementId;
/**
* Discount agreement period data. Iteration count must be added
*/
// @ApiMember(Description="Discount agreement period data. Iteration count must be added", IsRequired=true)
UpdateDiscountPeriodRequestDto? DiscountPeriod;
/**
* Discount agreement status. Published is default.
*/
// @ApiMember(Description="Discount agreement status. Published is default.", IsRequired=true)
DiscountAgreementStatusEnum? DiscountAgreementStatus;
String? Name;
String? Description;
DateTime? ValidFrom;
DateTime? ValidTo;
UpdateVossDiscountAgreements({this.DiscountAgreementId,this.DiscountPeriod,this.DiscountAgreementStatus,this.Name,this.Description,this.ValidFrom,this.ValidTo});
UpdateVossDiscountAgreements.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
DiscountAgreementId = json['DiscountAgreementId'];
DiscountPeriod = JsonConverters.fromJson(json['DiscountPeriod'],'UpdateDiscountPeriodRequestDto',context!);
DiscountAgreementStatus = JsonConverters.fromJson(json['DiscountAgreementStatus'],'DiscountAgreementStatusEnum',context!);
Name = json['Name'];
Description = json['Description'];
ValidFrom = JsonConverters.fromJson(json['ValidFrom'],'DateTime',context!);
ValidTo = JsonConverters.fromJson(json['ValidTo'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'DiscountAgreementId': DiscountAgreementId,
'DiscountPeriod': JsonConverters.toJson(DiscountPeriod,'UpdateDiscountPeriodRequestDto',context!),
'DiscountAgreementStatus': JsonConverters.toJson(DiscountAgreementStatus,'DiscountAgreementStatusEnum',context!),
'Name': Name,
'Description': Description,
'ValidFrom': JsonConverters.toJson(ValidFrom,'DateTime',context!),
'ValidTo': JsonConverters.toJson(ValidTo,'DateTime',context!)
};
getTypeName() => "UpdateVossDiscountAgreements";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: <String, TypeInfo> {
'PeriodKindEnum': TypeInfo(TypeOf.Enum, enumValues:PeriodKindEnum.values),
'UnitEnum': TypeInfo(TypeOf.Enum, enumValues:UnitEnum.values),
'DiscountAgreementTimeLengthRequestDto': TypeInfo(TypeOf.Class, create:() => DiscountAgreementTimeLengthRequestDto()),
'UpdateDiscountPeriodRequestDto': TypeInfo(TypeOf.Class, create:() => UpdateDiscountPeriodRequestDto()),
'DiscountAgreementStatusEnum': TypeInfo(TypeOf.Enum, enumValues:DiscountAgreementStatusEnum.values),
'UpdateVossDiscountAgreements': TypeInfo(TypeOf.Class, create:() => UpdateVossDiscountAgreements()),
});
Dart 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
{
}