Skip to content

Question Types

Every question in a Birdhouse questionnaire is a component added to the questions dynamic zone in Strapi. Each component maps to a specific type value at runtime.

This page lists every supported question type, its Strapi component name, key props, and typical usage.

All question types share these fields:

Field Type Required Description
questionId string Yes Unique identifier for the question. Used in rules, validations, and answer keys.
questionType enum No Categorization: Personal, Tariff, or MedicalHistory
required boolean No Whether the user must answer before continuing
groupId enum No Logical grouping: intro, preQuote, postQuote, or signup
screen component No Screen configuration (layout, header, description, button text, etc.)
validations array No Post-submission validation rules

Strapi component questionnaire.address-question
Runtime type ADDRESS
Purpose Address input with autocomplete (Google Maps)

Props:

Prop Type Description
placeholders object Custom placeholder text for street, houseNumber, postcode, city, additionalInformation
manualAddressEntryTexts object Text overrides when the user switches to manual address entry
countryCode string Fixed country code for address lookup
dynamicCountryCode string Question ID whose answer provides the country code dynamically

Usage: Signup flows where a mailing or residence address is needed.


Strapi component questionnaire.autosuggest-question
Runtime type AUTOSUGGEST
Purpose Text input with autocomplete suggestions from a predefined list

Props:

Prop Type Description
options array Inline list of suggestion options
validate function Custom validation function
cmsList relation Link to an option-list content type in Strapi for reusable option sets

Usage: Occupation selection, employer lookup, or any field where users pick from a large predefined list.


Strapi component questionnaire.boolean-question
Runtime type BOOLEAN
Purpose Yes/No toggle

Props: No special props beyond common fields.

Usage: Simple binary questions like “Do you have pre-existing conditions?” or “Are you currently employed?”


Strapi component questionnaire.checkbox-question
Runtime type CHECKBOX
Purpose Multi-select checkboxes

Props:

Prop Type Description
mapValue Record Maps values to labels. Each entry can be a simple string label or an object with title and description.

Usage: “Select all that apply” questions, such as selecting coverage options or medical conditions.


Strapi component questionnaire.country_multi-question
Runtime type COUNTRY_MULTI
Purpose Select multiple countries from a dropdown

Props:

Prop Type Description
filterCountry array Restrict the list to specific country codes
locale string Locale for country name display

Usage: “Which countries have you lived in?” or multi-country coverage selection.


Strapi component questionnaire.country_single-question
Runtime type COUNTRY_SINGLE
Purpose Select one country from a dropdown

Props:

Prop Type Description
filterCountry array Restrict the list to specific country codes
locale string Locale for country name display
placeholder string Placeholder text for the dropdown

Usage: “What is your country of origin?” or single-country selection.


Strapi component questionnaire.currency-question
Runtime type CURRENCY
Purpose Monetary amount input

Props:

Prop Type Description
validate function Custom validation function (e.g., minimum/maximum amount)

Usage: Income input, coverage amount selection.


Strapi component questionnaire.date-question
Runtime type DATE
Purpose Date picker with optional calendar widget

Props:

Prop Type Required Description
yearRange object Yes { min, max } — defines the selectable year range
displayCalendar boolean No Show a calendar widget instead of dropdowns
placeholders object No Custom placeholder text for day/month/year fields
dayjsLocale string No Locale for date formatting
firstDayOfWeek number No 0 = Sunday, 1 = Monday, etc.

Usage: Date of birth, policy start date, travel dates.


Strapi component questionnaire.dropdown_single-question
Runtime type DROPDOWN_SINGLE
Purpose Single-select dropdown

Props:

Prop Type Description
options array Array of { value, label } objects
returnValueAsString boolean Return the selected value as a string instead of its native type
cmsList relation Link to an option-list content type for reusable options

Usage: Selecting a plan tier, occupation category, or any single-choice question.


Strapi component questionnaire.email-question
Runtime type EMAIL
Purpose Email input with additional fields

Props: Supports additional input fields alongside the email.

Usage: Signup flows where email plus other contact details are collected together.


Strapi component questionnaire.email_basic-question
Runtime type EMAIL_BASIC
Purpose Simple email-only input

Props: No special props beyond common fields.

Usage: Simple email collection for leads or notifications.


Strapi component questionnaire.phone-question
Runtime type PHONE
Purpose Phone number input with country code

Props: No special props beyond common fields.

Usage: Contact information collection during signup.


Strapi component questionnaire.input-question
Runtime type INPUT
Purpose Generic text input

Props:

Prop Type Description
minLength number Minimum character length
maxLength number Maximum character length
validate function Custom validation function
type string HTML input type (text, number, etc.)

Usage: Free-text fields like “What is your employer’s name?” or reference numbers.


Strapi component questionnaire.name-question
Runtime type NAME
Purpose First name + last name input

Props: No special props beyond common fields.

Usage: Collecting the user’s legal name during signup.


Strapi component questionnaire.number-question
Runtime type NUMBER
Purpose Numeric input

Props: No special props beyond common fields.

Usage: Age, number of dependents, or other numeric values.


Strapi component questionnaire.numeric_conversion-question
Runtime type NUMERIC_CONVERSION
Purpose Numeric input with unit conversion

Props: Supports conversion between units (e.g., meters to feet).

Usage: Height, weight, or other measurements where the user might use different unit systems.


Strapi component questionnaire.radio-question
Runtime type RADIO
Purpose Single-select radio buttons

Props:

Prop Type Description
mapValue Record Maps values to labels. Each entry can be a simple string label or an object with title and description.
informationBox object Display an information box alongside the radio options

Usage: Most single-choice questions: “What type of coverage do you need?”, “How often do you visit the dentist?”


Strapi component questionnaire.text-question
Runtime type TEXT
Purpose Multi-line text input (textarea)

Props: No special props beyond common fields.

Usage: Open-ended responses like “Describe your medical condition” or claim descriptions.


Strapi component questionnaire.iban-question
Runtime type IBAN
Purpose Bank IBAN number input with validation

Props: No special props beyond common fields.

Usage: Payment setup during signup for SEPA direct debit.


Strapi component questionnaire.upload-question
Runtime type UPLOAD
Purpose Single file upload

Props: No special props beyond common fields.

Usage: Uploading a single document such as a prescription or proof of insurance.


Strapi component questionnaire.multi_upload-question
Runtime type MULTI_UPLOAD
Purpose Multiple file upload

Props: No special props beyond common fields.

Usage: Uploading multiple documents (e.g., claim receipts, medical records).


Strapi component questionnaire.signature_upload-question
Runtime type SIGNATURE_UPLOAD
Purpose Digital signature capture

Props:

Prop Type Description
checkboxOptions array Consent checkboxes the user must check alongside the signature

Usage: Legal consent and signature capture during checkout or claims.


Strapi component questionnaire.has_policy-question
Runtime type HAS_POLICY
Purpose Check whether the user has an existing policy

Props: No special props beyond common fields.

Usage: Policy adjustment and cancellation flows to verify the user has an active policy.


Strapi component questionnaire.covered_group-question
Runtime type COVERED_GROUP
Purpose Coverage group selection (e.g., individual, couple, family)

Props: No special props beyond common fields.

Usage: Health insurance flows where coverage group affects pricing and eligibility.


Strapi component questionnaire.car_lookup-question
Runtime type CAR_LOOKUP
Purpose Vehicle lookup for Germany

Props: No special props beyond common fields.

Usage: German car insurance flows — looks up vehicle details by registration or HSN/TSN.


Strapi component questionnaire.car_lookup_spain-question
Runtime type CAR_LOOKUP_SPAIN
Purpose Vehicle lookup for Spain

Props: No special props beyond common fields.

Usage: Spanish car insurance flows — looks up vehicle details by matricula.


Strapi component questionnaire.intro
Runtime type INTRO
Purpose Welcome/intro screen at the start of a flow

Props:

Prop Type Description
infoCards array Array of cards with title, description, and icon

Usage: Landing screen for a questionnaire with product highlights and key information.


Strapi component questionnaire.blocker
Runtime type BLOCKER
Purpose Blocks the user from continuing the flow
Layout Always uses Standalone layout

Props:

Prop Type Description
buttonProps array Array of button objects with text, href, and variant

Usage: Eligibility blockers — e.g., “Sorry, this product is not available in your region.” Provides buttons to redirect the user.


Strapi component questionnaire.success
Runtime type SUCCESS
Purpose Completion/confirmation screen

Props:

Prop Type Description
buttonProps array Buttons with optional redirectToQuestionId to restart or navigate
infoCards array Information cards with title, description, and icon

Usage: Final “Thank you” screen after signup, claim submission, or cancellation.


Strapi component questionnaire.redirect
Runtime type REDIRECT
Purpose Automatically redirects the user to another URL

Props: Redirect target URL.

Usage: Routing users to an external partner, a different questionnaire, or a specific app page.


Strapi component questionnaire.tally
Runtime type TALLY
Purpose Embed a Tally form within the questionnaire flow

Props: Tally form ID/configuration.

Usage: Embedded surveys or feedback forms within the flow.


Strapi component questionnaire.processing
Runtime type PROCESSING
Purpose Loading/processing state while the backend creates a policy or performs an action

Props:

Prop Type Description
textList array Array of strings displayed sequentially during the loading animation

Usage: Shown after checkout while the backend processes the signup.


Strapi component questionnaire.claim_processing
Runtime type CLAIM_PROCESSING
Purpose Claims-specific processing state

Props: Similar to PROCESSING.

Usage: Shown while a claim is being submitted to the backend.


Strapi component questionnaire.cancel_policy_processing
Runtime type CANCEL_POLICY_PROCESSING
Purpose Cancellation processing state

Props:

Prop Type Description
textList array Loading text messages
submitKeys array Question IDs whose answers are submitted with the cancellation request

Usage: Shown while a policy cancellation is being processed.


Strapi component questionnaire.generic_checkout_v2
Runtime type GENERIC_CHECKOUT_V2
Purpose Stripe-integrated checkout page

Props:

Prop Type Description
policyDetails array Key-value pairs shown in the policy summary
productCardDetails object Product card display configuration
additionalPolicyDetails array Extra details below the main policy summary
priceBreakdown object Price breakdown display
billingConfig object contractCycle: yearly or monthly
icon media Product icon shown in the checkout

Usage: The main checkout step in signup flows, integrating Stripe payment collection.


Strapi component questionnaire.generic_submission
Runtime type GENERIC_SUBMISSION
Purpose Form submission endpoint (non-payment)

Props:

Prop Type Description
policyDetails array Summary of collected information
productCardDetails object Product card display

Usage: Final review-and-submit step for claims or non-paid flows.


Strapi component questionnaire.add_to_cart-question
Runtime type ADD_TO_CART
Purpose Add an item to the shopping cart

Props: No special props beyond common fields.

Usage: Multi-product flows where the user adds insurance products to a cart before checkout.


Strapi component questionnaire.quote
Runtime type QUOTE
Purpose Basic quote display

Props: No special props beyond common fields.

Usage: Legacy basic pricing display. For new verticals, always use QUOTE_CUSTOM with a CMS quote-page (Quote Page V2) instead.


Strapi component questionnaire.quote_custom
Runtime type QUOTE_CUSTOM
Purpose Quote/pricing page — either CMS-driven (Quote Page V2) or code-based

This question type has two modes:

Section titled “Mode 1: Quote Page V2 (CMS-driven) — Recommended”

Set the cmsQuote relation to a quote-page content type. The entire pricing page is configured in Strapi — customizations, coverage tables, add-ons, FAQ, and footer. No code changes needed.

Prop Type Description
cmsQuote relation Links to a quote-page content type in Strapi

This is the standard approach for all new verticals. See Quote Page V2 component and Create a Quote Page.

Mode 2: Quote Custom (code-based) — Legacy

Section titled “Mode 2: Quote Custom (code-based) — Legacy”

Set the customQuote enum to render a hardcoded React component. Only use this when the CMS-driven approach cannot support a specific layout.

Prop Type Description
customQuote enum HOUSEHOLD, PET_HEALTH, LIFE_EU

Strapi component questionnaire.review
Runtime type REVIEW
Purpose Summary review screen showing all collected answers

Props: No special props beyond common fields.

Usage: Pre-checkout review step where the user confirms all their answers before proceeding.


Strapi component questionnaire.cancellation_review-question
Runtime type CANCELLATION_REVIEW
Purpose Cancellation-specific review screen

Props: No special props beyond common fields.

Usage: Review step in cancellation flows showing policy details and cancellation terms.


Strapi component questionnaire.effective_date_dropdown-question
Runtime type EFFECTIVE_DATE_DROPDOWN
Purpose Dropdown for selecting a coverage start date

Props: Generates available dates based on product rules.

Usage: Selecting when coverage should begin, typically in signup flows.