| Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
| POST | /voss/discountAgreements | Create discount agreement | Create discount agreement in VOSS System. |
|---|
import 'package:servicestack/servicestack.dart';
enum DiscountAgreementStatusEnum
{
Draft,
Staged,
Published,
Archived,
Discarded,
}
enum ApplicationScopeEnum
{
Any,
SubscriptionCustomer,
NonSubscriptionCustomerInvoiceRecipient,
}
enum PeriodKindEnum
{
FixedTime,
AlignedToBindingPeriod,
AlignedToSubscriptionBillingPeriod,
}
enum UnitEnum
{
Day,
Month,
Year,
}
// @DataContract(Name="TimeLengthDto")
class TimeLengthDto implements IConvertible
{
// @DataMember(Name="unit", IsRequired=true)
UnitEnum? unit;
// @DataMember(Name="value", EmitDefaultValue=false)
int? value;
TimeLengthDto({this.unit,this.value});
TimeLengthDto.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() => "TimeLengthDto";
TypeContext? context = _ctx;
}
// @DataContract(Name="DiscountPeriodDto")
class DiscountPeriodDto implements IConvertible
{
// @DataMember(Name="periodKind", IsRequired=true)
PeriodKindEnum? periodKind;
// @DataMember(Name="length")
TimeLengthDto? length;
// @DataMember(Name="periodIterationCount")
int? periodIterationCount;
DiscountPeriodDto({this.periodKind,this.length,this.periodIterationCount});
DiscountPeriodDto.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
periodKind = JsonConverters.fromJson(json['PeriodKind'],'PeriodKindEnum',context!);
length = JsonConverters.fromJson(json['Length'],'TimeLengthDto',context!);
periodIterationCount = json['PeriodIterationCount'];
return this;
}
Map<String, dynamic> toJson() => {
'periodKind': JsonConverters.toJson(periodKind,'PeriodKindEnum',context!),
'length': JsonConverters.toJson(length,'TimeLengthDto',context!),
'periodIterationCount': periodIterationCount
};
getTypeName() => "DiscountPeriodDto";
TypeContext? context = _ctx;
}
// @DataContract(Name="DiscountPackageDto")
class DiscountPackageDto implements IConvertible
{
// @DataMember(Name="id", IsRequired=true)
String? id;
// @DataMember(Name="name", IsRequired=true)
String? name;
DiscountPackageDto({this.id,this.name});
DiscountPackageDto.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['Id'];
name = json['Name'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'name': name
};
getTypeName() => "DiscountPackageDto";
TypeContext? context = _ctx;
}
// @DataContract(Name="DiscountAgreementCustomerResultDto")
class DiscountAgreementCustomerResultDto implements IConvertible
{
// @DataMember(Name="customerId", IsRequired=true)
String? customerId;
DiscountAgreementCustomerResultDto({this.customerId});
DiscountAgreementCustomerResultDto.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
customerId = json['CustomerId'];
return this;
}
Map<String, dynamic> toJson() => {
'customerId': customerId
};
getTypeName() => "DiscountAgreementCustomerResultDto";
TypeContext? context = _ctx;
}
// @DataContract(Name="DiscountAgreementCustomerGroupResultDto")
class DiscountAgreementCustomerGroupResultDto implements IConvertible
{
// @DataMember(Name="intervalStart", EmitDefaultValue=false)
int? intervalStart;
// @DataMember(Name="intervalEnd", EmitDefaultValue=false)
int? intervalEnd;
DiscountAgreementCustomerGroupResultDto({this.intervalStart,this.intervalEnd});
DiscountAgreementCustomerGroupResultDto.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
intervalStart = json['IntervalStart'];
intervalEnd = json['IntervalEnd'];
return this;
}
Map<String, dynamic> toJson() => {
'intervalStart': intervalStart,
'intervalEnd': intervalEnd
};
getTypeName() => "DiscountAgreementCustomerGroupResultDto";
TypeContext? context = _ctx;
}
enum DiscountTypeEnum
{
FlatPrice,
Percentage,
}
// @DataContract(Name="PricingTierDiscountResultDto")
class PricingTierDiscountResultDto implements IConvertible
{
// @DataMember(Name="discountType", IsRequired=true)
DiscountTypeEnum? discountType;
// @DataMember(Name="id", IsRequired=true)
String? id;
// @DataMember(Name="index", EmitDefaultValue=false)
int? index;
// @DataMember(Name="unitPriceDiscount", EmitDefaultValue=false)
double? unitPriceDiscount;
// @DataMember(Name="flatPriceDiscount", EmitDefaultValue=false)
double? flatPriceDiscount;
PricingTierDiscountResultDto({this.discountType,this.id,this.index,this.unitPriceDiscount,this.flatPriceDiscount});
PricingTierDiscountResultDto.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
discountType = JsonConverters.fromJson(json['DiscountType'],'DiscountTypeEnum',context!);
id = json['Id'];
index = json['Index'];
unitPriceDiscount = JsonConverters.toDouble(json['UnitPriceDiscount']);
flatPriceDiscount = JsonConverters.toDouble(json['FlatPriceDiscount']);
return this;
}
Map<String, dynamic> toJson() => {
'discountType': JsonConverters.toJson(discountType,'DiscountTypeEnum',context!),
'id': id,
'index': index,
'unitPriceDiscount': unitPriceDiscount,
'flatPriceDiscount': flatPriceDiscount
};
getTypeName() => "PricingTierDiscountResultDto";
TypeContext? context = _ctx;
}
// @DataContract(Name="ProductPricingDiscountResultDto")
class ProductPricingDiscountResultDto implements IConvertible
{
// @DataMember(Name="discountType", IsRequired=true)
DiscountTypeEnum? discountType;
// @DataMember(Name="id", IsRequired=true)
String? id;
// @DataMember(Name="productId", IsRequired=true)
String? productId;
// @DataMember(Name="unitPriceDiscount", EmitDefaultValue=false)
double? unitPriceDiscount;
// @DataMember(Name="tierPricingDiscounts", EmitDefaultValue=false)
List<PricingTierDiscountResultDto>? tierPricingDiscounts = [];
ProductPricingDiscountResultDto({this.discountType,this.id,this.productId,this.unitPriceDiscount,this.tierPricingDiscounts});
ProductPricingDiscountResultDto.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
discountType = JsonConverters.fromJson(json['DiscountType'],'DiscountTypeEnum',context!);
id = json['Id'];
productId = json['ProductId'];
unitPriceDiscount = JsonConverters.toDouble(json['UnitPriceDiscount']);
tierPricingDiscounts = JsonConverters.fromJson(json['TierPricingDiscounts'],'List<PricingTierDiscountResultDto>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'discountType': JsonConverters.toJson(discountType,'DiscountTypeEnum',context!),
'id': id,
'productId': productId,
'unitPriceDiscount': unitPriceDiscount,
'tierPricingDiscounts': JsonConverters.toJson(tierPricingDiscounts,'List<PricingTierDiscountResultDto>',context!)
};
getTypeName() => "ProductPricingDiscountResultDto";
TypeContext? context = _ctx;
}
// @DataContract(Name="ProductGroupDiscountResultDto")
class ProductGroupDiscountResultDto implements IConvertible
{
// @DataMember(Name="id", IsRequired=true)
String? id;
// @DataMember(Name="productGroupId", IsRequired=true)
String? productGroupId;
// @DataMember(Name="productPricingDiscounts", EmitDefaultValue=false)
List<ProductPricingDiscountResultDto>? productPricingDiscounts = [];
ProductGroupDiscountResultDto({this.id,this.productGroupId,this.productPricingDiscounts});
ProductGroupDiscountResultDto.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['Id'];
productGroupId = json['ProductGroupId'];
productPricingDiscounts = JsonConverters.fromJson(json['ProductPricingDiscounts'],'List<ProductPricingDiscountResultDto>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'productGroupId': productGroupId,
'productPricingDiscounts': JsonConverters.toJson(productPricingDiscounts,'List<ProductPricingDiscountResultDto>',context!)
};
getTypeName() => "ProductGroupDiscountResultDto";
TypeContext? context = _ctx;
}
// @DataContract(Name="ChargePlanDiscountResultDto")
class ChargePlanDiscountResultDto implements IConvertible
{
// @DataMember(Name="id", IsRequired=true)
String? id;
// @DataMember(Name="chargePlanId", IsRequired=true)
String? chargePlanId;
// @DataMember(Name="productGroupDiscounts", EmitDefaultValue=false)
List<ProductGroupDiscountResultDto>? productGroupDiscounts = [];
ChargePlanDiscountResultDto({this.id,this.chargePlanId,this.productGroupDiscounts});
ChargePlanDiscountResultDto.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['Id'];
chargePlanId = json['ChargePlanId'];
productGroupDiscounts = JsonConverters.fromJson(json['ProductGroupDiscounts'],'List<ProductGroupDiscountResultDto>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'chargePlanId': chargePlanId,
'productGroupDiscounts': JsonConverters.toJson(productGroupDiscounts,'List<ProductGroupDiscountResultDto>',context!)
};
getTypeName() => "ChargePlanDiscountResultDto";
TypeContext? context = _ctx;
}
// @DataContract(Name="DiscountAgreementResult")
class DiscountAgreementResult implements IConvertible
{
// @DataMember(Name="status", IsRequired=true)
DiscountAgreementStatusEnum? status;
// @DataMember(Name="applicationScope", IsRequired=true)
ApplicationScopeEnum? applicationScope;
// @DataMember(Name="id", IsRequired=true)
String? id;
// @DataMember(Name="versionId", IsRequired=true)
String? versionId;
// @DataMember(Name="sourceVersionId")
String? sourceVersionId;
// @DataMember(Name="externalId")
String? externalId;
// @DataMember(Name="name", IsRequired=true)
String? name;
// @DataMember(Name="description")
String? description;
// @DataMember(Name="validFrom", IsRequired=true)
DateTime? validFrom;
// @DataMember(Name="validTo")
DateTime? validTo;
// @DataMember(Name="discountPeriod", EmitDefaultValue=false)
DiscountPeriodDto? discountPeriod;
// @DataMember(Name="package", IsRequired=true)
DiscountPackageDto? package;
// @DataMember(Name="customers", EmitDefaultValue=false)
List<DiscountAgreementCustomerResultDto>? customers = [];
// @DataMember(Name="customerGroups", EmitDefaultValue=false)
List<DiscountAgreementCustomerGroupResultDto>? customerGroups = [];
// @DataMember(Name="chargePlanDiscounts", EmitDefaultValue=false)
List<ChargePlanDiscountResultDto>? chargePlanDiscounts = [];
DiscountAgreementResult({this.status,this.applicationScope,this.id,this.versionId,this.sourceVersionId,this.externalId,this.name,this.description,this.validFrom,this.validTo,this.discountPeriod,this.package,this.customers,this.customerGroups,this.chargePlanDiscounts});
DiscountAgreementResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
status = JsonConverters.fromJson(json['DiscountAgreementStatus'],'DiscountAgreementStatusEnum',context!);
applicationScope = JsonConverters.fromJson(json['ApplicationScope'],'ApplicationScopeEnum',context!);
id = json['Id'];
versionId = json['VersionId'];
sourceVersionId = json['SourceVersionId'];
externalId = json['ExternalId'];
name = json['Name'];
description = json['Description'];
validFrom = JsonConverters.fromJson(json['ValidFrom'],'DateTime',context!);
validTo = JsonConverters.fromJson(json['ValidTo'],'DateTime',context!);
discountPeriod = JsonConverters.fromJson(json['DiscountPeriod'],'DiscountPeriodDto',context!);
package = JsonConverters.fromJson(json['Package'],'DiscountPackageDto',context!);
customers = JsonConverters.fromJson(json['Customers'],'List<DiscountAgreementCustomerResultDto>',context!);
customerGroups = JsonConverters.fromJson(json['CustomerGroups'],'List<DiscountAgreementCustomerGroupResultDto>',context!);
chargePlanDiscounts = JsonConverters.fromJson(json['ChargePlanDiscounts'],'List<ChargePlanDiscountResultDto>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'status': JsonConverters.toJson(status,'DiscountAgreementStatusEnum',context!),
'applicationScope': JsonConverters.toJson(applicationScope,'ApplicationScopeEnum',context!),
'id': id,
'versionId': versionId,
'sourceVersionId': sourceVersionId,
'externalId': externalId,
'name': name,
'description': description,
'validFrom': JsonConverters.toJson(validFrom,'DateTime',context!),
'validTo': JsonConverters.toJson(validTo,'DateTime',context!),
'discountPeriod': JsonConverters.toJson(discountPeriod,'DiscountPeriodDto',context!),
'package': JsonConverters.toJson(package,'DiscountPackageDto',context!),
'customers': JsonConverters.toJson(customers,'List<DiscountAgreementCustomerResultDto>',context!),
'customerGroups': JsonConverters.toJson(customerGroups,'List<DiscountAgreementCustomerGroupResultDto>',context!),
'chargePlanDiscounts': JsonConverters.toJson(chargePlanDiscounts,'List<ChargePlanDiscountResultDto>',context!)
};
getTypeName() => "DiscountAgreementResult";
TypeContext? context = _ctx;
}
// @DataContract(Name="CreatePricingTierDiscountRequestDto")
class CreatePricingTierDiscountRequestDto implements IConvertible
{
// @DataMember(Name="discountType", IsRequired=true)
DiscountTypeEnum? discountType;
// @DataMember(Name="index", IsRequired=true)
int? index;
// @DataMember(Name="unitPriceDiscount", EmitDefaultValue=false)
double? unitPriceDiscount;
// @DataMember(Name="flatPriceDiscount", EmitDefaultValue=false)
double? flatPriceDiscount;
CreatePricingTierDiscountRequestDto({this.discountType,this.index,this.unitPriceDiscount,this.flatPriceDiscount});
CreatePricingTierDiscountRequestDto.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
discountType = JsonConverters.fromJson(json['DiscountType'],'DiscountTypeEnum',context!);
index = json['Index'];
unitPriceDiscount = JsonConverters.toDouble(json['UnitPriceDiscount']);
flatPriceDiscount = JsonConverters.toDouble(json['FlatPriceDiscount']);
return this;
}
Map<String, dynamic> toJson() => {
'discountType': JsonConverters.toJson(discountType,'DiscountTypeEnum',context!),
'index': index,
'unitPriceDiscount': unitPriceDiscount,
'flatPriceDiscount': flatPriceDiscount
};
getTypeName() => "CreatePricingTierDiscountRequestDto";
TypeContext? context = _ctx;
}
// @DataContract(Name="ProductPricingDiscountRequestDto")
class ProductPricingDiscountRequestDto implements IConvertible
{
// @DataMember(Name="discountType", IsRequired=true)
DiscountTypeEnum? discountType;
// @DataMember(Name="productId", IsRequired=true)
String? productId;
// @DataMember(Name="unitPriceDiscount", EmitDefaultValue=false)
double? unitPriceDiscount;
// @DataMember(Name="tierPricingDiscounts", EmitDefaultValue=false)
List<CreatePricingTierDiscountRequestDto>? tierPricingDiscounts = [];
ProductPricingDiscountRequestDto({this.discountType,this.productId,this.unitPriceDiscount,this.tierPricingDiscounts});
ProductPricingDiscountRequestDto.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
discountType = JsonConverters.fromJson(json['DiscountType'],'DiscountTypeEnum',context!);
productId = json['ProductId'];
unitPriceDiscount = JsonConverters.toDouble(json['UnitPriceDiscount']);
tierPricingDiscounts = JsonConverters.fromJson(json['TierPricingDiscounts'],'List<CreatePricingTierDiscountRequestDto>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'discountType': JsonConverters.toJson(discountType,'DiscountTypeEnum',context!),
'productId': productId,
'unitPriceDiscount': unitPriceDiscount,
'tierPricingDiscounts': JsonConverters.toJson(tierPricingDiscounts,'List<CreatePricingTierDiscountRequestDto>',context!)
};
getTypeName() => "ProductPricingDiscountRequestDto";
TypeContext? context = _ctx;
}
// @DataContract(Name="CreateProductGroupDiscountRequestDto")
class CreateProductGroupDiscountRequestDto implements IConvertible
{
// @DataMember(Name="productGroupId", IsRequired=true)
String? productGroupId;
// @DataMember(Name="productPricingDiscounts", EmitDefaultValue=false)
List<ProductPricingDiscountRequestDto>? productPricingDiscounts = [];
CreateProductGroupDiscountRequestDto({this.productGroupId,this.productPricingDiscounts});
CreateProductGroupDiscountRequestDto.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
productGroupId = json['ProductGroupId'];
productPricingDiscounts = JsonConverters.fromJson(json['ProductPricingDiscounts'],'List<ProductPricingDiscountRequestDto>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'productGroupId': productGroupId,
'productPricingDiscounts': JsonConverters.toJson(productPricingDiscounts,'List<ProductPricingDiscountRequestDto>',context!)
};
getTypeName() => "CreateProductGroupDiscountRequestDto";
TypeContext? context = _ctx;
}
// @DataContract(Name="CreateChargePlanDiscountRequestDto")
class CreateChargePlanDiscountRequestDto implements IConvertible
{
// @DataMember(Name="chargePlanId", IsRequired=true)
String? chargePlanId;
// @DataMember(Name="productGroupDiscounts", EmitDefaultValue=false)
List<CreateProductGroupDiscountRequestDto>? productGroupDiscounts = [];
CreateChargePlanDiscountRequestDto({this.chargePlanId,this.productGroupDiscounts});
CreateChargePlanDiscountRequestDto.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
chargePlanId = json['ChargePlanId'];
productGroupDiscounts = JsonConverters.fromJson(json['ProductGroupDiscounts'],'List<CreateProductGroupDiscountRequestDto>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'chargePlanId': chargePlanId,
'productGroupDiscounts': JsonConverters.toJson(productGroupDiscounts,'List<CreateProductGroupDiscountRequestDto>',context!)
};
getTypeName() => "CreateChargePlanDiscountRequestDto";
TypeContext? context = _ctx;
}
// @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="CreateDiscountPeriodRequestDto")
class CreateDiscountPeriodRequestDto implements IConvertible
{
// @DataMember(Name="periodKind", IsRequired=true)
PeriodKindEnum? periodKind;
// @DataMember(Name="length", EmitDefaultValue=false)
DiscountAgreementTimeLengthRequestDto? length;
// @DataMember(Name="periodIterationCount")
int? periodIterationCount;
CreateDiscountPeriodRequestDto({this.periodKind,this.length,this.periodIterationCount});
CreateDiscountPeriodRequestDto.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() => "CreateDiscountPeriodRequestDto";
TypeContext? context = _ctx;
}
// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
// @ValidateRequest(Validator="IsAuthenticated")
class CreateVossDiscountAgreement implements IConvertible
{
/**
* Discount agreement name
*/
// @ApiMember(Description="Discount agreement name", IsRequired=true)
String? Name;
/**
* Discount agreement name
*/
// @ApiMember(Description="Discount agreement name", IsRequired=true)
List<CreateChargePlanDiscountRequestDto>? ChargePlanDiscounts = [];
String? Description;
/**
* Discount agreement name
*/
// @ApiMember(Description="Discount agreement name", IsRequired=true)
DateTime? ValidFrom;
/**
* Discount agreement name
*/
// @ApiMember(Description="Discount agreement name")
DateTime? ValidTo;
/**
* Discount agreement name
*/
// @ApiMember(Description="Discount agreement name")
CreateDiscountPeriodRequestDto? DiscountPeriod;
CreateVossDiscountAgreement({this.Name,this.ChargePlanDiscounts,this.Description,this.ValidFrom,this.ValidTo,this.DiscountPeriod});
CreateVossDiscountAgreement.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Name = json['Name'];
ChargePlanDiscounts = JsonConverters.fromJson(json['ChargePlanDiscounts'],'List<CreateChargePlanDiscountRequestDto>',context!);
Description = json['Description'];
ValidFrom = JsonConverters.fromJson(json['ValidFrom'],'DateTime',context!);
ValidTo = JsonConverters.fromJson(json['ValidTo'],'DateTime',context!);
DiscountPeriod = JsonConverters.fromJson(json['DiscountPeriod'],'CreateDiscountPeriodRequestDto',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Name': Name,
'ChargePlanDiscounts': JsonConverters.toJson(ChargePlanDiscounts,'List<CreateChargePlanDiscountRequestDto>',context!),
'Description': Description,
'ValidFrom': JsonConverters.toJson(ValidFrom,'DateTime',context!),
'ValidTo': JsonConverters.toJson(ValidTo,'DateTime',context!),
'DiscountPeriod': JsonConverters.toJson(DiscountPeriod,'CreateDiscountPeriodRequestDto',context!)
};
getTypeName() => "CreateVossDiscountAgreement";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: <String, TypeInfo> {
'DiscountAgreementStatusEnum': TypeInfo(TypeOf.Enum, enumValues:DiscountAgreementStatusEnum.values),
'ApplicationScopeEnum': TypeInfo(TypeOf.Enum, enumValues:ApplicationScopeEnum.values),
'PeriodKindEnum': TypeInfo(TypeOf.Enum, enumValues:PeriodKindEnum.values),
'UnitEnum': TypeInfo(TypeOf.Enum, enumValues:UnitEnum.values),
'TimeLengthDto': TypeInfo(TypeOf.Class, create:() => TimeLengthDto()),
'DiscountPeriodDto': TypeInfo(TypeOf.Class, create:() => DiscountPeriodDto()),
'DiscountPackageDto': TypeInfo(TypeOf.Class, create:() => DiscountPackageDto()),
'DiscountAgreementCustomerResultDto': TypeInfo(TypeOf.Class, create:() => DiscountAgreementCustomerResultDto()),
'DiscountAgreementCustomerGroupResultDto': TypeInfo(TypeOf.Class, create:() => DiscountAgreementCustomerGroupResultDto()),
'DiscountTypeEnum': TypeInfo(TypeOf.Enum, enumValues:DiscountTypeEnum.values),
'PricingTierDiscountResultDto': TypeInfo(TypeOf.Class, create:() => PricingTierDiscountResultDto()),
'ProductPricingDiscountResultDto': TypeInfo(TypeOf.Class, create:() => ProductPricingDiscountResultDto()),
'List<PricingTierDiscountResultDto>': TypeInfo(TypeOf.Class, create:() => <PricingTierDiscountResultDto>[]),
'ProductGroupDiscountResultDto': TypeInfo(TypeOf.Class, create:() => ProductGroupDiscountResultDto()),
'List<ProductPricingDiscountResultDto>': TypeInfo(TypeOf.Class, create:() => <ProductPricingDiscountResultDto>[]),
'ChargePlanDiscountResultDto': TypeInfo(TypeOf.Class, create:() => ChargePlanDiscountResultDto()),
'List<ProductGroupDiscountResultDto>': TypeInfo(TypeOf.Class, create:() => <ProductGroupDiscountResultDto>[]),
'DiscountAgreementResult': TypeInfo(TypeOf.Class, create:() => DiscountAgreementResult()),
'List<DiscountAgreementCustomerResultDto>': TypeInfo(TypeOf.Class, create:() => <DiscountAgreementCustomerResultDto>[]),
'List<DiscountAgreementCustomerGroupResultDto>': TypeInfo(TypeOf.Class, create:() => <DiscountAgreementCustomerGroupResultDto>[]),
'List<ChargePlanDiscountResultDto>': TypeInfo(TypeOf.Class, create:() => <ChargePlanDiscountResultDto>[]),
'CreatePricingTierDiscountRequestDto': TypeInfo(TypeOf.Class, create:() => CreatePricingTierDiscountRequestDto()),
'ProductPricingDiscountRequestDto': TypeInfo(TypeOf.Class, create:() => ProductPricingDiscountRequestDto()),
'List<CreatePricingTierDiscountRequestDto>': TypeInfo(TypeOf.Class, create:() => <CreatePricingTierDiscountRequestDto>[]),
'CreateProductGroupDiscountRequestDto': TypeInfo(TypeOf.Class, create:() => CreateProductGroupDiscountRequestDto()),
'List<ProductPricingDiscountRequestDto>': TypeInfo(TypeOf.Class, create:() => <ProductPricingDiscountRequestDto>[]),
'CreateChargePlanDiscountRequestDto': TypeInfo(TypeOf.Class, create:() => CreateChargePlanDiscountRequestDto()),
'List<CreateProductGroupDiscountRequestDto>': TypeInfo(TypeOf.Class, create:() => <CreateProductGroupDiscountRequestDto>[]),
'DiscountAgreementTimeLengthRequestDto': TypeInfo(TypeOf.Class, create:() => DiscountAgreementTimeLengthRequestDto()),
'CreateDiscountPeriodRequestDto': TypeInfo(TypeOf.Class, create:() => CreateDiscountPeriodRequestDto()),
'CreateVossDiscountAgreement': TypeInfo(TypeOf.Class, create:() => CreateVossDiscountAgreement()),
'List<CreateChargePlanDiscountRequestDto>': TypeInfo(TypeOf.Class, create:() => <CreateChargePlanDiscountRequestDto>[]),
});
Dart CreateVossDiscountAgreement 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.
POST /voss/discountAgreements HTTP/1.1
Host: api.bokamera.se
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CreateVossDiscountAgreement xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
<ChargePlanDiscounts xmlns:d2p1="http://schemas.datacontract.org/2004/07/BokaMera.VossIntegration.ApiTools.Model">
<d2p1:CreateChargePlanDiscountRequestDto i:nil="true" />
</ChargePlanDiscounts>
<Description>String</Description>
<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>
</CreateVossDiscountAgreement>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<DiscountAgreementResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.VossIntegration.ApiTools.Model">
<applicationScope>Any</applicationScope>
<chargePlanDiscounts>
<ChargePlanDiscountResultDto i:nil="true" />
</chargePlanDiscounts>
<customerGroups>
<DiscountAgreementCustomerGroupResultDto i:nil="true" />
</customerGroups>
<customers>
<DiscountAgreementCustomerResultDto i:nil="true" />
</customers>
<description>String</description>
<externalId>String</externalId>
<id>00000000-0000-0000-0000-000000000000</id>
<name>String</name>
<package i:nil="true" />
<sourceVersionId>00000000-0000-0000-0000-000000000000</sourceVersionId>
<status>Draft</status>
<validFrom>0001-01-01T00:00:00</validFrom>
<validTo>0001-01-01T00:00:00</validTo>
<versionId>00000000-0000-0000-0000-000000000000</versionId>
</DiscountAgreementResult>