Skip to content

Quote Page V2

Quote Page V2 is the standard way to show pricing in a questionnaire. It is a full-page component that displays insurance plans, prices, customization options, add-ons, coverage tables, FAQ, and a call-to-action footer — all configured through the Strapi CMS without code changes.

  1. Create a Quote-Page entity in Strapi (Content Manager > Quote-Page > Create new entry)
  2. Configure its content: add components to the content array — headers, customization controls, plan cards, coverage tables, add-ons, FAQ sections, and more
  3. In your questionnaire, add a question with type QUOTE_CUSTOM
  4. Set the cmsQuote relation on that question to point to your Quote-Page entity
  5. The app renders the full quote page with live pricing, plan selection, and add-on toggling

The user sees a page where they can select a plan, adjust coverage options, toggle add-ons, compare what is covered, and proceed to checkout.

All components live in a single content array. Each component has a __component field identifying its type and an optional ruleGroups field for conditional visibility.

Component __component Purpose
header quote-page-v2.header Page title with optional price display
title quote-page-v2.title Section heading with optional document link
choice quote-page-v2.choice Multi-option selector (checkbox or switch)
boolean quote-page-v2.boolean Simple on/off toggle
range-input quote-page-v2.range-input Numeric slider (e.g., coverage amount)
plan-cards quote-page-v2.plan-cards Plan selection cards with feature comparison
addons quote-page-v2.addons Add-on items with optional slider sub-component
covered quote-page-v2.covered Coverage feature cards with icons
table quote-page-v2.table Coverage comparison table
faq-collection quote-page-v2.faq-collection FAQ accordion
footer-override quote-page-v2.footer-override Conditional footer replacement

The footer is a separate top-level field on the Quote-Page (not part of the content array). It provides the “Book a call” link and optional secondary action.

Customization controls (choice, boolean, range-input) let users adjust their coverage. Each option sends its value to the pricing engine via its optionKey, which recalculates the price in real time.

When mergeQuoteOptionsToQuestionnaire is enabled, the selected option values are stored as questionnaire answers, making them available in subsequent questions, rules, and the checkout summary.

Every content component can have ruleGroups that control whether it is visible. Rules follow an AND/OR structure and evaluate against the user’s questionnaire answers. The resultType determines the effect: HIDDEN (remove from page) or DISABLED (show but grey out).

This lets you create quote pages that adapt to the user’s context — showing different options for different plan tiers, hiding irrelevant add-ons, or disabling options that do not apply.

Flag Description
mergeQuoteOptionsToQuestionnaire When true, selected quote option values are stored as questionnaire answers for use in later steps
prefillQuoteOptionsFromParams When true, quote option values can be pre-filled from URL query parameters

Quote Page V2 vs. Quote Custom (code-based)

Section titled “Quote Page V2 vs. Quote Custom (code-based)”

Both use the QUOTE_CUSTOM question type in Strapi, but they work differently:

Quote Page V2 (CMS-driven) Quote Custom (code-based)
How to use Set the cmsQuote relation to a Quote-Page entity Set the customQuote enum to a value like HOUSEHOLD, PET_HEALTH, LIFE_EU
Configuration Entirely in Strapi CMS Hardcoded in React components
Flexibility High — add/remove sections, change options, update content anytime Fixed — requires code changes and deployment
When to use Default choice for all new verticals Legacy escape hatch for verticals with unique layouts that the CMS components cannot express

New verticals should always use Quote Page V2 with the cmsQuote relation. The customQuote enum is maintained for backward compatibility with existing hardcoded quote pages.