Policy cancellation and reinstatement web services
Use the CancellationAPI and the ReinstatementAPI web services to start policy cancellation and policy reinstatement jobs. These web services are WS-I compliant.
PolicyCenter starts some types of cancellations.
- Cancellation as part of a rewrite request
- Cancellation at the insured’s reques
- Cancellation because the insured provided false information in their application or violated the contract
- Cancellation because the insured chooses not to take a renewal and the renewal might already be bound
There are other types of cancellations that the billing system or other integration systems initiate. For example, cancellation for non-payment. If the billing system detects overdue invoices, the billing system starts a delinquency process and tells PolicyCenter to cancel the policy.
There are two ways the billing system can tell PolicyCenter to cancel a policy.
- Cancel the policy as of a certain date – PolicyCenter sets the policy to pending cancellation within PolicyCenter and cancels automatically on the given date unless the application receives a rescind command before that date.
- Cancel the policy as soon as possible – This is similar to the previous approach described but PolicyCenter uses internal notification lead time logic to determine the actual cancellation date.
PolicyCenter supports both approaches based on the cancellation date you pass to the API.
See also
- For more information about circumstances in which PolicyCenter might trigger cancellation or reinstatement, refer to Policy period management.
Begin a cancellation
An external system can begin a cancellation in PolicyCenter with the beginCancellation method on CancellationAPI.
beginCancellation(String policyNumber, Calendar cancellationDate, boolean recalculateEffDate,
CancellationSource cancellationSource, ReasonCode reasonCode, CalculationMethod refundCalcMethod,
String description, String transactionId)
To begin cancellation, you must specify a reason in
a ReasonCode enumeration
to indicate fraud, eligibility issues, and so on. Instead of passing
the reason code directly, a CancellationSetup
entity encapsulates this enumeration.
The method returns the public ID of the cancellation job.
The parameters are described below.
- Policy number, as a
String - Cancellation date, as a Calendar object
- Recalculate effective
date (
recalculateEffDate), as a boolean - Cancellation source typecode,
carrier(insurer initiated cancel) orinsured(the insured initiated cancel) - Reason code typecode,
as a
ReasonCodevalue - Refund calculation method,
as a
CalculationMethod - Description (notes) associated
with this cancellation, as a
String - Transaction ID to associate with this change
If you set recalculateEffDate
to false, starts a Cancellation
job effective on the cancellation date. or the given policy in PolicyCenter
(this date will also be the effective date of the new cancellation policy
period). In this case, the caller must check for any legal requirements
for the cancellation date. If recalculateEffDate
is set to true, PolicyCenter calculates the earliest date for the cancellation
to meet all legal requirements. PolicyCenter uses that date if it is
after the cancellation date. In this case, the caller can set the cancellationDate to today to get
the policy period cancelled as soon as possible.
The following Java example cancels a policy.
String jobNumber = cancellationAPI.beginCancellation( "ABC:123",
cancellationDate.toCalendar(), true, CancellationSource.TC_CARRIER,
ReasonCode.TC_NONPAYMENT, CalculationMethod.TC_PRORATA, "Some Description", "External1235")
Rescind a cancellation
Rescind a cancellation with the rescindCancellation method.
The method has two versions.
- One version rescinds a policy
cancellation with a reason as a
ReasonCodetypecode and a cancellation source as aCancellationSourcetypecode. The reason typecode indicates a payment-related reinstatement with the valuepaymentor another reason with the valueother. The cancellation source typecode indicates that the insurer initiated the cancellation with the valuecarrieror the insured initiated the cancellation with the valueinsured.void rescindCancellation(java.lang.String policyNumber, java.util.Calendar effectiveDate, CancellationSource cancellationSource, ReasonCode reasonCode)For example, the following sample code rescinds a cancellation with a reason code.
cancellationAPI.rescindCancellation("ABC:123", new Date(), CancellationSource.TC_CARRIER, ReasonCode.TC_NONPAYMENT) - The other version rescinds an
in-progress policy cancellation with the job number of a cancellation.
For example, the following sample code rescinds a cancellation with a
job number only.
void rescindCancellation("ABC:123")
Find a cancellation
In some cases, an external system wants to rescind a cancellation but does not have the job number for the cancellation. In these cases, use the findCancellations method on the CancellationAPI web service to get the job number. The method returns a list of job numbers for matching cancellations. You can use these results to decide which cancellation you want to rescind. Next, call the separate rescindCancellation method and pass it the job number of the cancellation job to rescind.
The findCancellations method takes the following arguments in the following order.
- Policy number, as a
String - Cancellation date, as a java.util.Calendar object. PolicyCenter finds cancellations effective on that date or after that date.
- Cancellation source, as
a
CancellationSourcetypecodecarrier– Cancellation initiated by insurerinsured- Cancellation initiated by insured
- Reason code, as a
ReasonCodetypecodenonpayment– Payment not receivedfraud– Fraudflatrewrite– Policy rewritten or replaced (flat cancel)midtermrewrite– Policy rewritten (mid-term)
- Calculation method, as a
CalculationMethodtypecodeflat– Flatprorata– Pro ratashortrate– Short rate
The following example code demonstrates how to call this method from Java.
Calendar cancellationDate = Calendar.getInstance();
String jobNumber;
String myPolicyNumber = "abc:123";
var foundJobNumbers = cancellationAPI.findCancellations(myPolicyNumber, cancellationDate,
CancellationSource.TC_carrier, ReasonCode.TC_nonpayment, CalculationMethod.TC_prorata);
Reinstate a policy
Use the ReinstatementAPI web service to start a reinstatement job for a policy that is canceled and that you want to put it back in-force. The reinstatement effective date is always the cancellation date. To create a gap in coverage, a user must start a policy rewrite job manually through the PolicyCenter interface.
The ReinstatementAPI
web service has a single method called beginReinstatement.
The method accepts the following arguments.
- Policy number as a
String - Reinstatement code as
a
ReinstateCodetypecode
The method returns a job number for the new reinstatement job.
The following example code demonstrates how to call this from Java.
reinstatementAPI.beginReinstatement( "ABC:1234", ReinstateCode.TC_payment );