-
Notifications
You must be signed in to change notification settings - Fork 1
Example snippets
A PricePlan is a set of charges associated with a network-provisioned entity. Alternative sets of fees (i.e. alternative PricePlans) of the same service provision may be made available for the consumer to choose from, for example to offer the consumer the choice between a flat price scheme and a usage-based scheme (a common practice in the telecommunication industry). Several PricePlans may exist for the same service in order to suit different user profiles and charge them appropriately (e.g. heavy- and light-usage users), or as a key price customization instrument to individually match diverse service valuations.
:PricePlan_Enterprise_Subscription
rdf:type usdl-price:PricePlan ;
rdfs:label "An example service Enterprise plan subscription"^^xsd:string ;
usdl-price:hasPriceComponent
:PriceComponent_Web_Hosting ;
usdl-price:hasPriceFloor
[ rdf:type gr:PriceSpecification ;
gr:hasCurrency "USD" ;
gr:hasCurrencyValue "5" ;
gr:hasUnitOfMeasurement
"MON"
] ;
usdl-price:hasPriceCap
[ rdf:type gr:PriceSpecification ;
gr:hasCurrency "USD" ;
gr:hasCurrencyValue "50" ;
gr:hasUnitOfMeasurement
"MON"
] .
This example describes a simple price plan for an enterprise subscription for a web-hosting service. The price plan is limited to a maximum price cap of 50 US Dollars per month, and a minimum fee of 5 USD per month. There is only one PriceComponent used for this plan wich is the price for the web-hosting.
We could add more PriceComponents under the usdl-price:hasPriceComponent
tag.
:PricePlan_Premium_Subscription
rdf:type usdl-price:PricePlan ;
rdfs:label "An example service Premium plan subscription"^^xsd:string ;
usdl-price:hasPriceComponent
:PriceComponent_Web_Hosting ,
:PriceComponent_Usage_Discount ;
usdl-price:hasPriceFloor
[ rdf:type gr:PriceSpecification ;
gr:hasCurrency "USD" ;
gr:hasCurrencyValue "5" ;
gr:hasUnitOfMeasurement
"MON"
] .
Now we have another plan for the same service, this time for a premium subscription. This price plan does not have any maximum cap but is linked to a new PriceComponent :PriceComponent_Usage_Discount
which is a discount (a subclass of PriceComponent).
PriceComponents are fees included in a PricePlan, which subject to conditions Functions) may contribute to the total amount charged. Components within the same plan are summed together in order to get the total amount (price of the service). Common examples of PriceComponents that may coexist in the same PricePlan are: startup or membership charges (to access the service), periodic subscription fees (with a certain recurrence - e.g. monthly - as long as committed to by the contract), pay-per-unit charges (whose total will be proportional to the metered usage), options or feature dependent charges. The final value of the component will depend on the Variables values (determined by the evaluation of the PriceFunction) and the Price Adjustments that may apply (e.g. discounts).
Deduction is a negative price component. The total price will be reduced by a certain amount. Deductions are defined in the same way as any PriceComponent as they are a specialization.
A variable can be used for price function expressions of dynamic price models. It has a name (rdfs:label) and a quantitative value. This quantitative value may not be specified if the variable is not known prior to a user service configuration (e.g. usage variables) Variables can be referred from different price functions.
:Variable_WebSite_Cost
rdf:type usdl-price:Constant ;
rdfs:label "hosting for one Web-Site Cost"^^xsd:string ;
usdl-price:hasValue
[ rdf:type gr:QuantitativeValue ;
gr:hasValueFloat "5.0"^^xsd:float
] .
This is a usdl-price:Constant
definition where a specific value is assigned with the tag usdl-price:hasValue
. In this case the cost for hosting one web-site is 5 (No currency was defined). However we can have Usage Variables.
:Variable_Number_of_WebSites
rdf:type usdl-price:Usage ;
rdfs:label "The number of hosted web-sites"^^xsd:string ;
Some variables do not have as assigned value prior to service contracting. Usage Variables as used in this cases. This examples shows an usdl-price:Usage
Variable for storing the total number of web-sites the user needs to be hosted.