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 .xml suffix or ?format=xml

HTTP + 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.bookmore.com 
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>