Template Domain
The Template domain houses the dynamic schema that connects user data to pricing logic. It acts as the blueprint for both Products and Submissions.
Core Concepts
1. Dynamic Schema
Instead of hardcoding fields, templates define a dynamic schema consisting of parameters. This allows the system to support any type of insurance product without code changes.
2. Parameters
Parameters are the building blocks of the schema.
Submission Parameters
These define the data collected from the user (The “Questions”).
- Types:
SELECT,NUMBER,TEXT,DATE, etc. - Role: Raw input data (e.g.,
construction_year,zip_code).
Product Parameters
These define the pricing factors configurable by the underwriter (The “Rules”).
- Type: Determined dynamically by the outcome of its Formula.
- Role: The input for the Rating Engine (e.g.,
building_age,location_zone).
The Formula (Coupling)
A Formula defines the relationship between Submission and Product parameters. It transforms one or more Submission Parameters into a single Product Parameter value.
It uses SubmissionQL, a domain-specific language for querying and transforming data.
Runtime Flow
- Input: User answers
construction_year= 1990,renovation_year= 2010. - Transformation: Formula executes:
2024 - 2010 = 14. - Pricing: The Product Parameter
Effective Agereceives14. - Rating: The Product Matcher looks up the rate for age
14.