BokaMera.API.Host

<back to all web services

CreateVossDiscountAgreement

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
POST/voss/discountAgreementsCreate discount agreementCreate discount agreement in VOSS System.
CreateVossDiscountAgreement Parameters:
NameParameterData TypeRequiredDescription
NamebodystringYesDiscount agreement name
ChargePlanDiscountsbodyList<CreateChargePlanDiscountRequestDto>YesDiscount agreement name
DescriptionbodystringYes
ValidFrombodyDateTimeYesDiscount agreement name
ValidTobodyDateTime?NoDiscount agreement name
DiscountPeriodbodyCreateDiscountPeriodRequestDtoYesDiscount agreement name
CreateChargePlanDiscountRequestDto Parameters:
NameParameterData TypeRequiredDescription
ChargePlanIdformGuidNo
ProductGroupDiscountsformList<CreateProductGroupDiscountRequestDto>Yes
CreateProductGroupDiscountRequestDto Parameters:
NameParameterData TypeRequiredDescription
ProductGroupIdformGuidNo
ProductPricingDiscountsformList<ProductPricingDiscountRequestDto>Yes
ProductPricingDiscountRequestDto Parameters:
NameParameterData TypeRequiredDescription
DiscountTypeformDiscountTypeEnumNo
ProductIdformGuidNo
UnitPriceDiscountformdoubleNo
TierPricingDiscountsformList<CreatePricingTierDiscountRequestDto>Yes
DiscountTypeEnum Enum:
FlatPrice
Percentage
CreatePricingTierDiscountRequestDto Parameters:
NameParameterData TypeRequiredDescription
DiscountTypeformDiscountTypeEnumNo
IndexformintNo
UnitPriceDiscountformdoubleNo
FlatPriceDiscountformdoubleNo
CreateDiscountPeriodRequestDto Parameters:
NameParameterData TypeRequiredDescription
PeriodKindformPeriodKindEnumNo
LengthformDiscountAgreementTimeLengthRequestDtoYes
PeriodIterationCountformint?No
PeriodKindEnum Enum:
FixedTime
AlignedToBindingPeriod
AlignedToSubscriptionBillingPeriod
DiscountAgreementTimeLengthRequestDto Parameters:
NameParameterData TypeRequiredDescription
UnitformUnitEnumNo
ValueformintNo
UnitEnum Enum:
Day
Month
Year
DiscountAgreementResult Parameters:
NameParameterData TypeRequiredDescription
DiscountAgreementStatusformDiscountAgreementStatusEnumNo
ApplicationScopeformApplicationScopeEnumNo
IdformGuidNo
VersionIdformGuidNo
SourceVersionIdformGuid?No
ExternalIdformstringYes
NameformstringYes
DescriptionformstringYes
ValidFromformDateTimeNo
ValidToformDateTime?No
DiscountPeriodformDiscountPeriodDtoYes
PackageformDiscountPackageDtoYes
CustomersformList<DiscountAgreementCustomerResultDto>Yes
CustomerGroupsformList<DiscountAgreementCustomerGroupResultDto>Yes
ChargePlanDiscountsformList<ChargePlanDiscountResultDto>Yes
DiscountAgreementStatusEnum Enum:
Draft
Staged
Published
Archived
Discarded
ApplicationScopeEnum Enum:
Any
SubscriptionCustomer
NonSubscriptionCustomerInvoiceRecipient
DiscountPeriodDto Parameters:
NameParameterData TypeRequiredDescription
PeriodKindformPeriodKindEnumNo
LengthformTimeLengthDtoYes
PeriodIterationCountformint?No
TimeLengthDto Parameters:
NameParameterData TypeRequiredDescription
UnitformUnitEnumNo
ValueformintNo
DiscountPackageDto Parameters:
NameParameterData TypeRequiredDescription
IdformGuidNo
NameformstringYes
DiscountAgreementCustomerResultDto Parameters:
NameParameterData TypeRequiredDescription
CustomerIdformGuidNo
DiscountAgreementCustomerGroupResultDto Parameters:
NameParameterData TypeRequiredDescription
IntervalStartformintNo
IntervalEndformintNo
ChargePlanDiscountResultDto Parameters:
NameParameterData TypeRequiredDescription
IdformGuidNo
ChargePlanIdformGuidNo
ProductGroupDiscountsformList<ProductGroupDiscountResultDto>Yes
ProductGroupDiscountResultDto Parameters:
NameParameterData TypeRequiredDescription
IdformGuidNo
ProductGroupIdformGuidNo
ProductPricingDiscountsformList<ProductPricingDiscountResultDto>Yes
ProductPricingDiscountResultDto Parameters:
NameParameterData TypeRequiredDescription
DiscountTypeformDiscountTypeEnumNo
IdformGuidNo
ProductIdformGuidNo
UnitPriceDiscountformdoubleNo
TierPricingDiscountsformList<PricingTierDiscountResultDto>Yes
PricingTierDiscountResultDto Parameters:
NameParameterData TypeRequiredDescription
DiscountTypeformDiscountTypeEnumNo
IdformGuidNo
IndexformintNo
UnitPriceDiscountformdoubleNo
FlatPriceDiscountformdoubleNo

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

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.bookmore.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Name: String,
	ChargePlanDiscounts: 
	[
		{
			
		}
	],
	Description: String,
	ValidTo: "0001-01-01T00:00:00"
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	status: Draft,
	applicationScope: Any,
	sourceVersionId: 00000000-0000-0000-0000-000000000000,
	externalId: String,
	name: String,
	description: String,
	validTo: "0001-01-01T00:00:00",
	customers: 
	[
		{
			
		}
	],
	customerGroups: 
	[
		{
			
		}
	],
	chargePlanDiscounts: 
	[
		{
			
		}
	]
}