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 Quote
createQuote
POST /policy/{tenantLocator}/quotes
    Request Parameters:
    NamePositionTypeRequired
    tenantLocatorpathuuidrequired
    Response:QuoteResponse
    Security Group:quotes   Permission:write
QuoteCreateRequest
required
accountLocator string
productName string
startTime datetime
data map<string,object>

optional
region string?
autoRenewalPlanName string?
delinquencyPlanName string?
endTime datetime?
currency string?
durationBasis Enum? years | months | weeks | days | hours
timezone string?
billingLevel Enum? account | inherit | policy
expirationTime datetime?
preferences PreferencesResponse?
static map<string,object>?
coverageTerms map<string,string>?
billingTrigger Enum? accept | issue (deprecated)

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

Fetch a Quote
fetchQuote
GET /policy/{tenantLocator}/quotes/{locator}
    Request Parameters:
    NamePositionTypeRequired
    tenantLocatorpathuuidrequired
    locatorpathstringrequired
    Response:QuoteResponse
    Security Group:quotes   Permission:read
QuoteResponse
required
locator string
accountLocator string
groupLocator string
productName string
quoteState Enum draft | validated | earlyUnderwritten | priced | underwritten | accepted | issued | underwrittenBlocked | declined | rejected | refused | discarded
billingLevel Enum account | inherit | policy
contacts ContactRoles[]

optional
policyLocator string?
quickQuoteLocator string?
region string?
autoRenewalPlanName string?
delinquencyPlanName string?
issuedTime datetime?
startTime datetime?
endTime datetime?
acceptedTime datetime?
currency string?
duration number?
durationBasis Enum? years | months | weeks | days | hours
timezone string?
billingTrigger Enum? accept | issue
expirationTime datetime?
preferences PreferencesResponse?
quoteNumber string?
underwritingStatus string?
validationResult ValidationResult?
Fetch a Policy
fetchPolicy
GET /policy/{tenantLocator}/policies/{locator}
    Request Parameters:
    NamePositionTypeRequired
    tenantLocatorpathuuidrequired
    locatorpathstringrequired
    Security Group:policies   Permission:read
PolicyResponse
required
locator string
accountLocator string
issuedTransactionLocator string
The locator of the latest issued transaction for the policy.
latestSegmentLocator string
The last segment on the policy, based on issued transactions only
latestTermLocator string
productName string
startTime datetime
The start time, based on issued transactions only
endTime datetime
The end time based on issued transactions only.
currency string
durationBasis Enum years | months | weeks | days | hours
timezone string
billingLevel Enum account | inherit | policy
static map<string,object>
createdAt datetime
createdBy uuid
contacts ContactRoles[]
statuses Enum[] pending | inGap | expired | cancelled | cancelPending | onRisk | delinquent | doNotRenew
billingTrigger Enum accept | issue (deprecated)

optional
region string?
autoRenewalPlanName string?
delinquencyPlanName string?
policyNumber string?
validationResult ValidationResult?
branchHeadTransactionLocators string[]?
The locators of all the top-level transactions on the policy, one per branch