CrowBar | Worked Example | Corvus Skip to main content

Worked Example: From Expiring Policy to Renewal Quote

A renewal quote request is INCOMPLETE during solicitation, SUBMITTED once the underwriter takes it up, and QUOTES_SHARED when the quote is shared. Do not poll for a quote at solicitation time.

Step 1: Find expiring policies and their renewals

Copied
query ExpiringPolicies($first: Int!) {  policies(first: $first) {    edges {      node {        id        policyNumber        productType        coverageEndsAt        renewalQuoteRequest {          id          status        }      }    }  }}

The second policy has no renewal quote request yet. Check again later, or wait for the Renewal Solicitation Open webhook.

Step 2: Get the renewal quote

Look up the renewal with the expiring policy number (or with renewalQuoteRequest.id from step 1). When the status is QUOTES_SHARED, the renewal quote options are in quoteData.

Copied
query GetRenewalQuote($expiringPolicyNumber: String) {  renewalQuoteRequest(expiringPolicyNumber: $expiringPolicyNumber) {    id    status    isRenewal    coverageEffectiveAt    underwriter {      name      email    }    quoteData(first: 1) {      edges {        node {          quoteOptions {            id            limitCents            deductibleCents            premiumCents          }        }      }    }  }}

To change anything on the renewal, such as limits or revenue, contact the underwriter on the renewal quote request. To bind, use the same bind operations as new business (see Bind Quote).