Socotra
ConfigurationConfigurable UI (Beta)

Create Dialogs

A create dialog is the form users fill in to start a transaction on a policy, such as a cancellation or renewal. Products can define create dialogs under dialogs, one per transaction category, such as createCancellation, createChange, and createRenewal. Each entry refines the dialog's fields. This example is from uiConfigs/operationsWorkbench/products/HO3/config.json:

{
	"dialogs": {
		"createCancellation": {
			"fields": {
				"transactionType": { "label": "Cancellation Reason" },
				"effectiveTime": {
					"label": "Cancellation Date",
					"default": "policyStartDate"
				}
			}
		},
		"createRenewal": {
			"fields": { "effectiveTime": { "label": "Effective Date" } }
		}
	}
}
Field propertyTypeDescription
labelstringThe field's label in the dialog.
defaultstringThe field's starting value. For the date fields (effectiveTime, newPolicyEndTime): now, policyStartDate, or policyEndDate. For transactionType: the name of a transaction type to preselect.
readOnlybooleanShows the value but blocks editing. Date fields (effectiveTime, newPolicyEndTime) only.
hiddenbooleanHides the field.

Each dialog is named create<Category>, such as createCancellation, createChange, and createRenewal. Its fields can refine transactionType (the type picker), effectiveTime, and newPolicyEndTime.

Account create dialogs are not supported yet.

Transaction Types

A transaction type can refine its category's dialog, or opt out of manual creation, in its own node under transactionTypes/. This example is from uiConfigs/operationsWorkbench/transactionTypes/RenewalAmendment/config.json:

{
	"display": { "label": "Renewal", "order": 0 },
	"dialogs": {
		"create": {
			"fields": {
				"effectiveTime": {
					"label": "Renewal Effective Date",
					"default": "policyEndDate"
				}
			}
		}
	}
}

This type is never offered in a create dialog:

{
	"display": { "label": "Report Manual Premium" },
	"dialogs": { "create": false }
}
  • When the user picks a type, its dialogs.create.fields are merged over the product's dialog fields, per field and per property. Changing the type applies that type's default again.
  • A type can refine effectiveTime and newPolicyEndTime, but not transactionType, because the type is the picker's value.
  • The type picker lists every type in the dialog's category except those with "dialogs": { "create": false }, sorted by display.order and labeled with display.label.
  • category, costBearing, and transaction-data field types and options stay in the data model.

Next Steps

See Also

On this page