Home / JSON Structure / uiTypes
{info.fa-info-circle} The examples for uiTypes are just extractions from other schemas for reference only. You cannot just copy and paste the extraction into the empty schema and expect it to fully work.
A top level element, which converts the whole JSON code to a quote. It is always written in the index.json file.
{
"label": "Private Aircraft",
"version": "1.0",
"uiType": "quote"
}
This uiType will output any quote you will create.

This uiType is a fallback for the incorrectly provided types. Can not be used in a form.
No preview or example available.
This type is used as a container for other uiTypes and their properties/options. It defines a particular section of a quote, which groups together other elements (such as fields).
{
"type": "object",
"uiType": "section",
"label": "Policy Paramaters",
"description": "Quote Policy Parameters"
}
This uiType groups the fields, shown below.

A container that stores a defined object as array.
{
"type": "object",
"uiType": "multipleSection",
"label": "Fleet Location",
"description": "Insured Vehicles Details",
"properties": {
"accumulation": {
"label": "Accumulation Risk",
"uiType": "text",
"uiOptions": {
"placeholder": "Location 1",
"class": "col-3"
}
},
}
This uiType allows to add multiple rows of the same fields in a quote.

This uiType is used as a container in a table format. It defines the table as a separate section. Columns are defined through uiProperties and rows through properties. Not available for specifying single field properties or options.
{
"type": "object",
"uiType": "tableSection",
"label": "Driving Basis",
"uiProperties": {
"columns": [
{
"title": "Number of Vehicles",
"column": "numberVehicles"
}
]
},
"properties": {
"over21": {
"label": "Any Driver over 21",
"uiType": "number"
},
"over25": {
"label": "Any Driver over 25",
"uiType": "number"
},
"over30": {
"label": "Any Driver over 30",
"uiType": "number"
}
}
}
This uiType allows to create a table with fields.

Used when quote forms are very long and it is needed to group sections visually into separate pages(tabs). Each tab contains different sets of other elements.
{
"type": "object",
"uiType": "tabSection",
"label": "Options",
"description": "Limit Options",
"properties": {
"option1": {
"label": "Option 1",
"uiType": "tab",
"properties": {
"option1": {
"$ref": "option1.json"
}
}
},
"option2": {
"label": "Option 2",
"uiType": "tab",
"properties": {
"option2": {
"$ref": "option2.json"
}
}
},
"option3": {
"label": "Option 3",
"uiType": "tab",
"properties": {
"option3": {
"$ref": "option3.json"
}
}
}
}
}
This uiType creates some tabs, in which different large information can be accessed.

The same functionality as section, has only visual differences. Groups a set of fields into a visible group.
{
"type": "object",
"uiType": "group",
"label": "Group Changes",
"properties": {
"previousannualBasePremium": {
"label": "Previous Deposit per Vehicle",
"uiType": "money",
"uiOptions": {
"quoteCurrency": true,
"class": "col-4",
"precision": 2,
"readonly": true
},
}
}
}
This uiType gathers fields in a group, and has a smaller heading than a section.

A simple text field element where you can type in some information in a few words. Field size can be changed.
{
"clientNumber": {
"label": "Client number",
"uiType": "text",
"uiOptions": {
"class": "col-3"
}
},
}
This uiType shows an empty text field.
A text field element used for larger texts. Field size can be changed.
{
"notes": {
"label": "Underwriter notes",
"uiType": "textArea",
"uiOptions": {
"class": "col-12"
}
},
}
This uiType shows an empty big text field.

A text field, where text can be formatted.
{
"notes": {
"label": "Notes",
"uiType": "richTextArea",
"uiOptions": {
"class": "col-12"
},
"uiProperties": {
"height": "160px",
"editorOptions": {
"placeholder": "Insert rich text",
"modules": {
"toolbar": [
[
"bold",
"italic",
"underline",
"strike"
]
]
}
}
}
}
}
This uiType shows a text field with formatting options.

A dropdown element where user can select predefined options of the field. Options are defined in array.
{
"carBand": {
"label": "Car & Van Band",
"uiType": "select",
"default": "N/A",
"options": [
"Low",
"Mid",
"High",
"N/A"
],
"uiOptions": {
"class": "col-3"
}
},
}
This uiType shows a drop-down list.

A field that has a dropdown element with an ability to add a new option by typing in the field of a quote. Options are defined in array.
{
"usage": {
"label": "Usage",
"uiType": "tag",
"options": [
"Class 1",
"Class 2",
"Class 3",
"Blue Light",
"Courier",
"Hazardous Goods",
"Hire and Reward",
"Own Goods",
"Ridehailing",
"Agricultural"
],
"uiOptions": {
"class": "col-3"
}
},
}
This uiType allows to enter a new value. Press Enter to save the value.

A calendar widget, where you can select a specific date.
{
"entryDate": {
"label": "Entry Date",
"uiType": "date",
"uiOptions": {
"class": "col-4",
"quoteField": "issue_date"
},
"uiRules": [
{
"trigger": "onLoad",
"action": "setToday",
"target": "quote.entryDate"
}
]
}
}
This uiType allows you to select a date.

A field to enter an email. The separate uiType is needed to gather email addresses to an email sending form when sending emails from quote.
{
"email": {
"label": "Email Address",
"uiType": "email",
"uiOptions": {
"placeholder": "johndoe@email.com",
"class": "col-3",
}
},
}
This uiType displays email field.
Creates a text box where a link to an external page can be entered.
{
"url": {
"label": "Link contract",
"uiType": "link",
"default": "http://www.mga.com",
"uiOptions": {
"class": "col-3 offset-right-9"
}
}
}
This uiType displays link field.
Creates a button, which is used to call an action in a quote.
{
"submit": {
"label": "Save Quote",
"uiType": "button"
},
}
This uiType shows a button with label on it:
A button that is used to call a specific API integration. Here the default type should be used, which defines the integration name.
{
"buttonQuotation": {
"label": "Motor Fleet Quotation",
"default": "quotationDoc",
"uiType": "integrationButton",
"uiOptions": {
"icon": "fe fe-file",
"class": "btn-outline-secondary",
"status": {
"only": [
"enquiry",
"progress"
]
}
}
}
}
This uiType shows a button with an API intgeration name on it. If the button is available only in one of the quote statuses, then it will be muted.
A button that is used to call a specific API integration from a multisection row.
{
"type": "object",
"uiType": "multipleSection",
"label": "Calculate",
"properties": {
"buttonIntegration": {
"label": "Calculate",
"uiType": "multipleSectionIntegrationButton",
"uiOptions": {
"integration": "quotationDoc"
}
}
}
}
This uiType lets to add a button in a multisection row.

Add buttons to change quote status depending on the workflow.
{
"workflowButtons": {
"uiType": "workflowButtons",
"uiOptions": {
"class": "col-3"
}
}
}
This uiType will show different transition buttons depending on the current quote status.
A swticher, that is used to enable/disable an element. Possible default options are true or false.
{
"sanctions": {
"label": "Sanctions checked?",
"uiType": "toggler",
"uiOptions": {
"class": "col-3"
}
},
}
This uiType shows the toggle button.
This element gives a simple heading.
{
"type": "object",
"label": "uiType - heading",
"uiType": "section",
"properties": {
"heading": {
"label": "Heading sample",
"uiType": "heading",
"uiOptions": {
"class": "col-12"
}
}
}
}
}
This element is not visible in the quote form, but stores values received from API.
No preview available.
{
"type": "object",
"label": "uiType - hidden",
"description": "Field is not visible because it is hidden!",
"uiType": "section",
"properties": {
"hidden": {
"label": "Hidden field",
"uiType": "hidden"
}
}
}
}
Field, that stores money values with currency code.
{
"excess": {
"label": "Excess",
"uiType": "money",
"uiOptions": {
"class": "col-2"
}
},
}
This uiType shows a field with a possibility to select currency.
Field, that stores money values with currency code and additionally has some already predefined options to select from. Options are stored in array.
{
"professionalLiability": {
"label": "Professional Liability",
"uiType": "moneySelect",
"default": "1000000",
"uiProperties": {
"step": 500000,
"from": 1000000,
"to": 5000000
},
"uiOptions": {
"class": "col-6"
}
},
}
This uiType shows a selectable field with money amount.

Displays multiple monetary amounts within one quote (as a table).
{
"type": "object",
"uiType": "moneyTable",
"label": "Total Hull Values",
"uiProperties": {
"columns": {
"wheelValue": {
"label": "Wheel Value",
"method": "sum",
"rows": {
"wheelValue": {
"key": "aircraftdetails.{0}.wheelValue",
"readonly": false
}
}
},
"skiValue": {
"label": "Ski Value",
"method": "sum",
"rows": {
"ski": {
"key": "aircraftdetails.{0}.skiValue",
"readonly": false
}
}
},
"floatValue": {
"label": "Float Value",
"method": "sum",
"rows": {
"float": {
"key": "aircraftdetails.{0}.floatValue",
"readonly": false
}
}
}
}
}
}
This uiType displays table for multiple currencies.

Defines the default currency of the whole quote.
Note: To use this uiType, firstly you have to define "uiOptions": "quoteCurrency" in the money uiType.
{
"currency": {
"label": "Currency",
"uiType": "currency",
"default": "cad",
"uiOptions": {
"class": "col-4"
}
},
}
This uiType allows to select the currency.
Field, that stores only numbers (integers).
{
"totalShareholders": {
"label": "Total number of common shareholders",
"uiType": "number",
"uiOptions": {
"class": "col-4"
}
},
}
This uiType shows simple field, where only number can be entered.
Field, that can store a float type number, in addition to the integer.
{
"sharesHeld": {
"label": "Percentage of shares held by D&O",
"uiType": "decimal",
"uiOptions": {
"class": "col-4",
"icon": "fe fe-percent"
}
},
}
This uiType shows simple field, where only decimal number can be entered.
A list of buttons, where only one value can be selected. Options are defined in array.
{
"conventional": {
"label": "Conventional",
"uiType": "radios",
"default": "Conventional",
"options": [
"Conventional",
"Non-Conventional"
],
"uiOptions": {
"class": "col-4"
},
},
}
This uiType shows as many radios, as you define.
This uiType creates checkboxes, where multiple values can be selected. Options are defined in array.
{
"eao": {
"label": "Currently Have E&O?",
"uiType": "checkboxes",
"default": "No",
"options": [
"Yes",
"No"
],
"uiOptions": {
"class": "col-3"
}
}
}
This uiType shows as many checkboxes as you define.
In this uiType it is possible to define endorsements for the quote. The following uiProperties are applicable:
library- this is a reference to the Endorsement library.
Type: string
Default value: (empty)
defaultEndorsements- adds default endorsements, when the quote is saved.
Type: string
Default value: (empty)
editAllowed- allows to edit the endorsement record text, which is already assigned to the quote.
Type: boolean
Default value: true
customAllowed- allows to enter directly into the quote some custom endorsements, which are not predefined in the library.
Type: boolean
Default value: true
linkAllowed - allows to link some custom endorsements, that are already predefined in the library.
Type: boolean
Default value: true
{
"endorsements": {
"label": "Endorsements",
"uiType": "endorsements",
"uiProperties": {
"library": "RTEC"
}
},
}
This uiType ouputs a field for showing info from the endorsements library.

This uiType is very similar to [select]{#select} but instead of options, it requires the user to specify which quote endorsements section values will be available to select from.
{
"endorsementsSelect": {
"label": "Endorsements",
"uiType": "multipleSectionEndorsements",
"uiProperties": {
"sections": [
"fleetendorsements"
]
},
"uiOptions": {
"class": "col-3"
}
},
The fleetendorsements is the section key name, which gathers the endoresements library:
{
"fleetendorsements": {
"label": "Fleet Endorsements",
"uiType": "endorsements",
"uiProperties": {
"library": "Ride"
}
},
}
You can select from multiple endorsements sections.
A field that allows the user to select the client from the CRM, or enter a new one.
Note: By using the uiMapping keyword, you can copy clients information to the specific fields in the quote.
{
"policyHolder": {
"label": "Policy holder",
"description": "Including trading name",
"uiType": "client",
"uiMapping": {
"proposer.house": "address.building",
"proposer.registrationNumber": "company_registration_code",
"proposer.occupation": "occupation_code",
"proposer.street": "address.street",
"proposer.town": "address.town",
"proposer.county": "address.county",
"proposer.postalCode": "address.post_code",
"proposer.phone": "phone",
"proposer.email": "email",
"proposer.web": "website",
"proposer.clientName": "legal_name"
},
"uiOptions": {
"required": true,
"quoteField": "client_id",
"class": "col-3"
}
},
}
This uiType shows a selectable field with clients names.
A field that allows you to select the user from the CRM, or create a new one.
{
"brokerageContact": {
"label": "Broker Contact",
"uiType": "user",
"options": "brokers",
"uiOptions": {
"class": "col-4"
}
}
}
This uiType shows a selectable field with users names.
A field that allows you to select the entity from the CRM, or create a new one.
{
"agent": {
"label": "Agent",
"uiType": "entity",
"options": "entities",
"uiOptions": {
"class": "col-3"
},
"uiProperties": {
"type": "agent"
}
}
}
This uiType shows a selectable field with entities.
Element that gathers fields into one group without any visual changes. It can be used for some specific functionalities as uiRules, to hide the whole block in one step.
{
"properties": {
"sme": {
"uiType": "container",
"properties": {
"continuity": {
"label": "Do you have a business continuity plan in force to avoid business interruption due to systems failure?",
"uiType": "radios",
"options": [
"Yes",
"No"
],
"uiOptions": {
"class": "col-12"
}
},
"regularBackups": {
"label": "Do you maintain regular back-ups (at least weekly)?",
"uiType": "radios",
"options": [
"Yes",
"No"
],
"uiOptions": {
"class": "col-12"
}
},
}
This uiType does not make any visual changes.

This element uses Google Maps for easier address findings.
Note: This uiType will work only if the instance has the Google Places API key.
No preview available.
{
"properties": {
"entryDateAddress": {
"uiType": "googleLookUp",
"label": "Address",
"uiOptions": {
"class": "col-6"
}
}
}
This uiType is readonly, it contains or links some values from other fields.
"rejectedDetails": {
"label": "Details on rejection",
"uiType": "value",
"uiOptions": {
"class": "col-6",
"readonly": true
},
"dependable": {
"target": "rejectedReason.rejectedDetails"
}
}
}
This uiType will take the value from the Reason Details field and transfer it to the Details on rejection field.

It is a popup that is shown when a specific workflow button is activated. The following example shows that when a termination button is clicked, a new window will appear, where you will have to select the termination reason.
No preview available.
{
"type": "object",
"uiType": "modal",
"label": "Termination Reason",
"uiProperties": {
"modalClass": "modal-sm"
},
}
The logic is the same as in multipleSection, but visually it looks like a spreadsheet.
{
"label": "Please Provide Pilot Details Below:",
"uiType": "spreadsheet",
"uiProperties": {
"colWidths": 150,
"tableHeight": 300
},
"properties": {
"pilotName": {
"label": "Pilot Name",
"uiType": "text"
},
"age": {
"label": "Age",
"uiType": "text"
},
"totalTime": {
"label": "Total Time",
"uiType": "text"
},
}
This uiType shows a section in a spreadsheet form.

This uiType creates a field with automatically generated policy number when the quote is issued.
Note: You have to define the status limitations to make the uiType work.
{
"policyNumber": {
"label": "Policy Number",
"uiType": "policyNumber",
"uiOptions": {
"class": "col-3",
"quoteField": "policy_number",
"policyWritableField": true,
"status": {
"only": [
"bound",
"issued",
"cancelled"
]
}
}
}
}
This uiType shows the generated policy number, when the quote is issued.
A block that lists all the notes, messages returned from the rating engine. Each rule provides visual highlight and a tooltip message to fields in the quote that match keys values from the rating engine.
No preview available.
{
"type": "object",
"uiType": "ratingRules",
"label": "Rating Rules",
"description": "Rating Rules details",
"uiOptions": {
"collapsable": true
},
"uiProperties": {
"messages": {
"decline": "Calculation has triggered decline rules",
"refer": "Calculation has activated referal rules"
}
}
"properties": []
}
}