Socotra
Configuration GuideConfiguration General Topics

Regions

Overview

In Socotra Insurance Suite, regions are used to lend organizational context to the work being done. While generally used to represent a geographic region or state (e.g. "North East", "South West", "SW", "CA", "TX", "VIC", "NSW" etc), implementers may define whatever collection of regions makes sense for their business use cases.

Regions are defined as a list of strings in configuration, and on the operational side can be assigned to draft quotes. The region value on a quote is automatically copied over to the policy upon issuance. Adding regions to the configuration is optional, as is utilizing them on any given quote or policy.

Once set on a quote and validated, the region property is fixed for the life of the policy. The property will appear at the top level of a quote and policy.

Use Cases

There are currently three primary use cases for the region property, with more to follow.

  1. Reporting: The region property is replicated into Data Lake and can be leveraged to bring the intended context through to reporting.
  2. Data Access Control: The region property can be leveraged as one of several values upon which implementers can control which users can access which quotes, policies, or their related entities via the Data Access Controls feature.
  3. Work Management: In a work management context, regions will be used primarily as a container for users, groups, and business practice settings. An activity (a specific task or item of work to be done) can be assigned to someone in a given region. More details to follow as our forthcoming Work Management capabilities reach general availability.

Configuration

Like many other configurable entities, regions are defined in configuration as a map of RegionRef.

{
  // other config entities
  "regions":{
      "NW": {
          "displayName" : "North West"
      },
      "NE": {
          "displayName" : "North East"
      }
  }
}

Quote and Policy Regions

Assuming there have been regions configured for the tenant, a quote can be assigned a region while in draft state via a create or update request.

Create a QuotecreateQuote
POST/policy/{tenantLocator}/quotes

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
Response:QuoteResponse
Security Group:quotes
Permissions:
write,create
QuoteCreateRequest

Required properties

PropertyTypeDescription
accountLocatorulid
productNamestring
startTimedatetime
invoiceFeeAmountnumber
datamap<string, object>
contactsContactRoles[]

Optional properties

PropertyTypeDescription
quoteGroupLocatorulid?
regionstring?
autoRenewalPlanNamestring?
delinquencyPlanNamestring?
endTimedatetime?
currencystring?
durationBasisEnum? years | months | weeks | days | hours
timezonestring?
billingLevelEnum? account | inherit | policy
expirationTimedatetime?
jurisdictionstring?
preferencesPreferencesResponse?
producerCodestring?
termDurationinteger?
staticmap<string, object>?
coverageTermsmap<string, object>?
elementsElementCreateRequest[]?

If set, the region property will appear in the top level of the response when fetching a quote or policy.

Fetch a QuotefetchQuote
GET/policy/{tenantLocator}/quotes/{locator}

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
locatorpathulidYes
Response:QuoteResponse
Security Group:quotes
Permission:
read
QuoteResponse

Required properties

PropertyTypeDescription
locatorulid
accountLocatorulid
productNamestring
quoteStateEnum draft | validated | earlyUnderwritten | priced | underwritten | accepted | issued | underwrittenBlocked | declined | rejected | refused | discarded
billingLevelEnum account | inherit | policy
elementElementResponseThe root element in the hierarchy
contactsContactRoles[]

Optional properties

PropertyTypeDescription
policyLocatorulid?
groupLocatorulid?
quickQuoteLocatorulid?
regionstring?
autoRenewalPlanNamestring?
delinquencyPlanNamestring?
issuedTimedatetime?
startTimedatetime?
endTimedatetime?
acceptedTimedatetime?
currencystring?
durationnumber?The duration of the prospective policy in units of durationBasis
durationBasisEnum? years | months | weeks | days | hours
timezonestring?
anonymizedAtdatetime?
expirationTimedatetime?
invoiceFeeAmountnumber?
jurisdictionstring?
policyNumberstring?
preferencesPreferencesResponse?Plan selections and setting overrides
producerCodestring?
quoteNumberstring?
reservedPolicyNumberstring?
underwritingStatusstring?
validationResultValidationResult?
staticmap<string, object>?
createdAtdatetime?
createdByuuid?
Fetch a PolicyfetchPolicy
GET/policy/{tenantLocator}/policies/{locator}

Parameters

NameInTypeRequiredDescription
tenantLocatorpathuuidYes
locatorpathulidYes
Security Group:policies
Permission:
read
PolicyResponse

Required properties

PropertyTypeDescription
locatorulid
accountLocatorulid
issuedTransactionLocatorulidThe locator of the latest issued transaction for the policy.
latestSegmentLocatorulidThe last segment on the policy, based on issued transactions only
latestTermLocatorulid
productNamestring
startTimedatetimeThe start time, based on issued transactions only
endTimedatetimeThe end time based on issued transactions only.
currencystring
durationBasisEnum years | months | weeks | days | hours
timezonestring
billingLevelEnum account | inherit | policy
staticmap<string, object>
createdAtdatetime
createdByuuid
contactsContactRoles[]
moratoriumElectionsmap<string, string>
statusesEnum[] pending | expired | cancelled | cancelPending | onRisk | delinquent | doNotRenew

Optional properties

PropertyTypeDescription
regionstring?
autoRenewalPlanNamestring?
delinquencyPlanNamestring?
anonymizedAtdatetime?
coverageEndTimedatetime?
invoiceFeeAmountnumber?
jurisdictionstring?
policyNumberstring?
producerCodestring?
producerCodeOfRecordstring?
validationResultValidationResult?
branchHeadTransactionLocatorsulid[]?The locators of all the top-level transactions on the policy, one per branch

On this page