Quote Domain
The Quote Domain manages risk pricing, capacity allocation, and the generation of formal insurance offers. It supports both automated (Rated) and manual (Non-Rated) pricing models.
Core Architecture
The domain is split into two primary quote types sharing a common base.
Class Hierarchy
Quote Types
1. Rated Quote (RatedQuote)
Driven by Product definitions. The premium is calculated automatically by applying product rules (parameters) to submission data.
- Structure: Composed of
QuoteUnits (e.g., “Property”, “Liability”), which containQuoteUnitItems (specific risk locations or items). - Versioning: Linked to specific
ProductVersionandRenewalVersion. - Logic: Uses a
MatchMatrixto derive multipliers from risk data.
2. Non-Rated Quote (NonRatedQuote)
Used for open-market or complex risks where pricing is determined manually by an underwriter.
- Flexibility: Premium and Minimum are set explicitly.
- Calculation Rows: Optional line-item breakdown (e.g., “Base Premium”, “Catastrophe Load”) can be added for documentation.
- Subdivision: Linked to a business subdivision rather than a strict Product definition.
Rating Logic (Deep Dive)
The rating engine transforms Submission Data into a Premium using Product Context.
The Matching Process
For every QuoteUnitItem, the system builds a MatchMatrix.
- Context Loading:
ProductQuoteContext(Rules) andSubmissionQuoteContext(Data) are loaded. - Layering: The
LayeringServicedetermines the applicable Limit and Attachment Point. - Parameter Matching:
- The system iterates through all
Parametersdefined in the Product Unit. - A
Matcher(e.g.,RangeMatcher,SelectMatcher) compares Submission Data against the Parameter rules. - Result: A
Matchobject containing a multiplier (e.g.,1.25for “High Risk”).
- The system iterates through all
- Matrix Compilation: All
Matchobjects are collected into theMatchMatrix.
Calculation Flow
Financial Models
Premium Value Object
The Premium class encapsulates the “Greater Of” logic used throughout the system.
Capacity & Security
Quotes manage the Security (Insurers) backing the risk.
- QuoteCapacity: Represents a share of the risk assigned to a specific Stamp (Underwriter capacity).
- Status: Capacity can be
INVITED,QUOTED,DECLINED, orBOUND.
Key Workflows
1. Quote Generation
- Trigger: User requests a quote for a Submission.
- Action:
RatedQuote.create()is called. - Outcome: A new
RatedQuoteis instantiated, units are rated, and the state is set toOPEN.
2. Binding (Quote -> Policy)
- Pre-requisites: Status must be
BOUND(conceptually), and Security must be fully allocated (100% Signed Lines). - Action: The
Bindingdomain takes over, converting the Quote state into a Policy contract.
3. NTU (Not Taken Up)
- Trigger: Client rejects the quote or time expires.
- Action: Quote status moves to
NTU. - Reason: A
QuoteNTUReason(e.g.,PRICE,LOST_ACCOUNT) is required.
Last updated on