Hardik Benani
Mega Sage
Mega Sage

Implement Pricing on Cloud User Portal

ServiceNow provides Cloud User Portal as part of Cloud Provisioning and Governance (CPG).

The Cloud User Portal gives you immediate access to all day-to-day cloud activities under a single place.

It provides features such as:

  • Monitor your quota, costs, budget, life cycle events, stack health, and requests.
  • Request stacks from the service catalog and track requests.
  • Request life cycle operations for stacks and resources (for example, stop, start, or de-provision).
  • Create and track incidents. Intelibliss has designed some outstanding features around the cloud portal use case which are related to cloud catalog item price widget.

 

We have designed an important feature around the cloud portal which is related to cloud catalog item price. This widget provides all our customers much needed ability to manage catalog items pricing same as done on native service portal pricing.

find_real_file.png

 

Widget Summary

Cloud User Portal provides ability to request different cloud resources such as VMs, database etc. For each cloud resource, end users can specify the configuration data, this widget allows defining pricing on each of configuration data.

Pricing Widget covers all major supported OOTB field types and pricing features:

    • Define and view base and recurring price of the selected catalog item.
    • Pricing widget supports all major fields types supported by native service portal.
      • Check box
      • Multiple choice
      • Reference List collector
      • Select box
      • Lookup select box
    • In addition it also supports two other major field types used in Cloud Portal.
      • Lookup select box with resource pool filters.
      • Specialised Lookup select box with resource pool attached to resource profiles e.g. Compute Profile and OS Profile.
    • Total price on the requested items is saved on submit of catalog item. 
    • Supports native currency localisation. 

 

Implementation Summary

  • Custom widget is created which can be used on cloud catalog items page.
  • It displays and updates the base price and recurring price of the catalog items.
  • When any of the supported field type with price support is updated, the widget recalculates the catalog item price.
  • The widget uses concept of monitoring OOTB event "variable.price.change" which is generated whenever any of the supported field values are updated. This update the catalog item price.

 

Define prices on different types of variables

https://docs.servicenow.com/bundle/orlando-it-service-management/page/product/service-catalog-manage...

 

Special handling of Lookup select box with resource pool filters

If changed field is “Lookup select box with resource pool filter” then we are fetching its price by calling server-side script.

In server-side script we have defined the logic to calculate cost of selected option based on below scenarios.

  • If the currency is same as end user’s currency:
    • If price and recurring price fields are defined for resource pool variable, use them to calculate the cost.
    • If price field is not defined for RP variable, use field named ‘cost’ and ‘u_recurring_cost’ for price and recurring price respectively to calculate the cost.
  • If the considered field’s currency differs then the logged in user’s currency then convert it to logged in user’s currency and calculates the cost.

 

How to deploy

1. Download the update set from share.

2. Deploy above update set(s) into the target instance.

3. Add widget “Intelibliss - Cloud Portal Price Widget” on cloud user portal page “cloud_cat_item” using service portal page designer. For example, it can be added above “Quota Remaining” widget on left side of the page.

4. Define price for normal field types.

https://docs.servicenow.com/bundle/orlando-it-service-management/page/product/service-catalog-manage...

5. Define price and recurring price fields for ‘Lookup select box’ variables with 'Use Pool Filter' selected

6. If price field is not mentioned in “Lookup price field” column, it will try to read price value from fields in this order: cost, price, u_price.

7. If recurring price field is not mentioned in “Lookup recurring price field” column, it will try to read price value from fields in this order: recurring_price, u_recurring_price. 

Note: You can also define a custom field on the configuration table to pull up the price from.

find_real_file.png

8. If lookup table is ‘sn_cmp_compute_profile’ it fetches price details from “sn_cmp_com_profile_mapping”

find_real_file.png

9. If lookup table is ‘sn_cmp_os_profile’ it fetches price details from “sn_cmp_os_profile_mapping”

find_real_file.png

 

 

Sample screenshots

Define prices on default field types.

find_real_file.png

 

Define pricing on variables with resource pool filters.

find_real_file.png

 

Credits: @Rushit Patel 

Your comments and improvements are welcome.

Your bookmarks and Helpful clicks are appreciated. 

 

 

Comments
Ram Devanathan1
ServiceNow Employee
ServiceNow Employee

This is excellent, something that is very much needed. Thank you @Rushit Patel  @Hardik Benani and Intellibliss team for this.

JF Muller
ServiceNow Employee
ServiceNow Employee

Yep I agree. Great contribution.

Srini Panduri
Kilo Expert

Hi Hardik

Unable to commit the update set as there were errors , Could you please send custom app version and application scope record sn_cmp.

Cannot commit Update Set 'Intelibliss - Cloud Portal Pricing Fix - Final set' because: Scope 'sn_cmp' is not 'Global', not found in instance and is not among previewed updates. Load custom app version or application first. Resolve the problem before committing.

 

Thanks in advance

Srini

Madhava B
Tera Contributor

Is there any plugin that fetches real time cloud resource pricing from Cloud Provider for CPG Module. Customer is demanding that feature in CPG.

Ram Devanathan1
ServiceNow Employee
ServiceNow Employee

please log an idea for this in the ideas forum.

Version history
Last update:
‎08-26-2020 02:31 PM
Updated by: