Create the Quote
Learning Objectives
After completing this unit, you’ll be able to:
- List the steps to create an insurance quote.
- Describe how to get details of an existing quote.
- Identify the process to show confirmation information for a quote.
Create an Insurance Quote
Consider createUpdateQuote, the service that creates a quote. Several pieces of information go into creating the quote: configured products, the effective date, the insured items or parties, and the associated opportunity and account for the quote.
The service creates the new quote along with its quote line items, and then returns the ID of the new quote. Both the input and output are in JSON format. These are sample snippets of input JSON and output JSON for createUpdateQuote. The service looks in a JSON node you specify as the inputKey. Here the inputKey is quoteJson.
You must associate all root products and child specs with the specified pricebook. Missing one or more is a common error that can prevent you from creating the quote. The rating calculation sets the actual price, but Salesforce requires the pricebook and pricebook entries to create the quote and its line items.
View the New Quote
After the quote is created, the createUpdateQuote method returns the quote ID.
You can use one of these ways to view the new quote.
- Go to Quotes items and open the most recent quote. This is useful in a test environment with few quotes.
- Copy the quoteId value from the createUpdateQuote response in the Action Debugger and replace the text after
...force.com/
in the URL. The ID added to a URL looks similar to...force.com/
0Q06g000000GvXNCA0
.
The quote record page provides a lot of information.
The Quote LWC tab (1) provides information about the coverages included, attribute values, and information on the applicable insureds. The Details tab (2) includes the quote number, the associated account, premium amounts, quote line items, and much more. And what’s more, this record page is customizable!
Quote Line Items
For quote line items on the Details tab, click View All for a full list. The root product, the insured items and parties, and the coverages all save as quote line item records for the quote. Here are quote line items for a multi auto quote at Cumulus. Each quote line item gets a unique identifier—a line item number. References to that line item number define the product structure.
The parent item ID of each item references the line item number of its root product. Then, the root product references all the items. The ID is always blank for the root product itself. Here, Multi Auto is the root product so its parent item ID is blank. All the other items reference the Multi Auto root product’s line item number as their parent item ID.
Each line item also includes a sub parent item ID. This ID defines structural relationships such as a coverage for a particular insured. In this example, the first set of four coverages are for the first auto and reference its line item number. The next set of coverages are for the second auto so their sub parent item ID reference that auto.
The coverages for the first auto have sub parent item ID of 00000096, which matches the line item number of the insured auto, while the second auto coverages have 00000097 to match the second insured auto.
Quote Item Relationship
What if insured parties are associated with multiple insured items, such as drivers with multiple vehicles? Do you store the same person’s information multiple times and then update that information in multiple places? No. Instead, store a person’s information once. The relationship between that person, also called the grandchild party, and its insured item stores in a separate object: the Quote Item Relationship object.
The Quote Item Relationship object:
- Is a junction object.
- Relates two quote line items to each other.
- Uses lookup fields for the parent quote line item and the child quote line item.
- Tracks many-to-many relationships between quote line items such as the relationships between one or more vehicles and one or more drivers on an auto insurance quote.
Amy’s a professional chauffeur and her employer has purchased Cumulus multi-auto insurance for her. Justus stores Amy once as a grandchild insured party. She drives multiple vehicles, each of which Justus stores as a child insured item. There are two quote item relationship records, one for Amy with each vehicle.
You can find these relationship records by selecting a related line item from the list of quote line items. The quote item relationships appear on its Related tab.
View Attributes and Premiums
Attributes and premium information are stored with each line item. The attributes are stored as a JSON object in each line’s Attribute Selected Values field. Premiums are stored on each Sales Price field and roll up related values.
Here are some key facts about premiums and product specs.
- Coverages have premiums when mapped to insureds.
- Primary insureds, such as the vehicle, have the total premium for the instance.
- The root product has the grand total premium for all lines related to it.
- The quote has the total premium for all the root products.
The attribute and premium information are shown in the list of all quote line items. Select a quote line item to view its details.
Here’s Cumulus Bodily Injury & Property Damage coverage. It shows the Sales Price, $18.81, and JSON for the attribute values in the Attribute Selected Values field.
Get Quote Information
Do you want to get information about an existing quote? No problem. Use the getQuoteDetail service. It takes an existing quote ID and returns information about the configured products, the insured items, and the quote.
You simply provide the quote ID in an option for the service and get back a JSON with lots of details.
Here’s a sample JSON output from getQuoteDetail and the different types of information it provides.
-
productConfigurationDetail: Includes details about product configuration and product JSON structure model.
-
insuredItems: Includes details about insured items, insured parties, and InsuredItemSpec and InsuredPartySpec quote line items.
-
quoteDetail: Includes quote field values with attributes based on the QuoteDetail field set of the Quote object.
Show Quote Information
With Salesforce, building a confirmation page for your user with information about their new quote is easy and simple. You can build the page yourself in the OmniScript, or take advantage of the Lightning web component, insOsConfirmation. This component shows the quote information you provide in a JSON node. This example shows a few of the possible fields, which can include the quote number, names, dates, and amounts.
For more details about the properties of this web component, check out InsOsConfirmation Lightning Web Component.
Nice work! You now can configure OmniScripts that help users to easily find, rate, and quote insurance products. With your knowledge of key services, Lightning web components, and other tools, you can now customize guided flows to fit your specific quoting needs.
Want to Learn More?
If you’re a Salesforce customer, check out these learning journeys to discover how to skill up on our suite of digital transformation tools and industry applications.
-
Digital Insurance Platform Consultant Learning Journey
-
Digital Insurance Platform Developer Learning Journey
If you’re a Salesforce partner, you can find the same great learning plus additional partner resources on Partner Learning Camp (login required). #AlwaysBeLearning