Policy hold rules

Policy hold rules identify the types of policies that are being placed on hold. Policy hold rules specify the Line of Business (policyLineType), the Policy Transaction Type (jobType), the Transaction Date Type (jobDateType), and Coverage (coveragePattern).

The following endpoints are available for policy hold rules:

  • GET /admin/v1/policy-holds/{policyHoldId}/rules
  • GET /admin/v1/policy-holds/{policyHoldId}/rules/{policyHoldRuleId}
  • POST /admin/v1/policy-holds/{policyHoldId}/rules
  • PATCH /admin/v1/policy-holds/{policyHoldId}/rules/{policyHoldRuleId}
  • DELETE /admin/v1/policy-holds/{policyHoldId}/rules/{policyHoldRuleId}

Querying for policy hold rules

To retrieve all the rules for a policy hold, use the following endpoint:

GET /admin/v1/policy-holds/{policyHoldId}/rules

For example:

GET /admin/v1/policy-holds/pc:101/rules

{
    "count": 2,
    "data": [
        {
            "attributes": {
                "id": "pc:10001",
                "jobDateType": {
                    "code": "Effective",
                    "name": "Effective Date"
                },
                "jobType": {
                    "code": "Renewal",
                    "name": "Renewal"
                },
                "policyLineType": {
                    "code": "PersonalAutoLine",
                    "name": "Personal Auto"
                }
            },
            ...

        },
        {
            "attributes": {
                "coveragePattern": {
                    "displayName": "Underinsured Motorist - Bodily Injury",
                    "id": "PAUIMBICov"
                },
                "id": "pc:10002",
                "jobDateType": {
                    "code": "Effective",
                    "name": "Effective Date"
                },
                "jobType": {
                    "code": "Issuance",
                    "name": "Issuance"
                },
                "policyLineType": {
                    "code": "PersonalAutoLine",
                    "name": "Personal Auto"
                }
            },
            ...
}

To retrieve a single policy hold rule, include the policy hold rule ID.

GET /admin/v1/policy-holds/{policyHoldId}/rules/{policyHoldRuleId}

For example:

GET /admin/v1/policy-holds/pc:101/rules/pc:10002

{
    "count": 1,
    "data": [
        {
            "attributes": {
                "coveragePattern": {
                    "displayName": "Underinsured Motorist - Bodily Injury",
                    "id": "PAUIMBICov"
                },
                "id": "pc:10002",
                "jobDateType": {
                    "code": "Effective",
                    "name": "Effective Date"
                },
                "jobType": {
                    "code": "Issuance",
                    "name": "Issuance"
                },
                "policyLineType": {
                    "code": "PersonalAutoLine",
                    "name": "Personal Auto"
                }
            },
            ...
}

Adding policy hold rules

You can add a new policy hold rule with the following endpoint:

POST /admin/v1/policy-holds/{policyHoldId}/rules

The following fields are available when creating a policy hold rule:

Field Description Required?
jobDateType

A typekey containing the transaction date type. You can retrieve the available values with the following command:

GET /common/v1/typelists/JobDateType

The following fields are available in the base configuration:

  • For a Reference policy hold, this value must be Reference
  • For an Underwriting policy hold, this value must be either Effective or Written
Yes
jobType

A typekey containing the policy transaction type.

Possible values in the base configuration:

  • Audit
  • Cancellation
  • Issuance
  • PolicyChange
  • Reinstatement
  • Renewal
  • Rewrite
  • RewriteNewAccount
  • Sumbission
Yes
policyLineType

A typekey containing the line of business. Use the following command to retrieve the available values:

GET /common/v1/typelists/PolicyLine?fields=typeKeys

Possible values in the base configuration:

  • APDManualPolicyLine
  • PersonalAutoLine
  • PolicyLine
Yes
coveragePattern The type of coverage the rule applies to. See Adding policy hold rule coverages for more information. No

The following is an example of creating a new policy hold rule.

Command

POST /admin/v1/policy-holds/pc:101/rules

Request body

{
  "data": {
    "attributes": {
      "jobDateType": {
        "code": "Reference"
      },
      "jobType": {
        "code": "Rewrite"
      },
      "policyLineType": {
        "code": "PersonalAutoLine"
      }
    }
  }
}

Adding policy hold rule coverages

In addition to the attributes included in the preceding example, you can add a type of coverage to a rule. To add a coverage, you need to include the coverage ID when you create or modify the rule. Retrieving the coverage ID requires you to make a series of queries to typelists.

For example, if your policyLineType is PersonalAutoLine, you can retrieve available coverages by running the following:

GET productdefinition/v1/lines/PersonalAutoLine/coverages?fields=id,name,clauseType

{
    "data": [
        {
            "attributes": {
                "clauseType": "exclusion",
                "id": "PAExcludeFedEmployeeUse",
                "name": "Exclude Federal Employee Use"
            }
        },
        {
            "attributes": {
                "clauseType": "coverage",
                "id": "PALiabilityCov",
                "name": "Liability - Bodily Injury and Property Damage"
            }
        },
        {
            "attributes": {
                "clauseType": "coverage",
                "id": "PAMedPayCov",
                "name": "Medical Payments"
            }
        },
...

The coverages you can use in your rule have a clauseType of coverage.

You can then retrieve all coverables for that line type, and then retrieve the coverages for each coverable.

Retrieve the coverables for PersonalAutoLine:

GET productdefinition/v1/lines/PersonalAutoLine/coverables?fields=id

{
    "data": [
        {
            "attributes": {
                "id": "PersonalVehicle"
            }
        }
...

Retrieve the coverages for the PersonalVehicle coverable:

GET productdefinition/v1/lines/PersonalAutoLine/coverables/PersonalVehicle/coverages?fields=id,name,clauseType

{
    "count": 7,
    "data": [
        {
            "attributes": {
                "clauseType": "coverage",
                "id": "PAComprehensiveCov",
                "name": "Comprehensive"
            }
        },
        {
            "attributes": {
                "clauseType": "coverage",
                "id": "PACollisionCov",
                "name": "Collision"
            }
        },
...

After finding the coverage you want to add to your policy rule, you can include the coverage ID when you add or update your rule. In this example, collision coverage is included with the rule.

Command

POST /admin/v1/policy-holds/pc:101/rules

Request body with coveragePattern

{
  "data": {
    "attributes": {
      "jobDateType": {
        "code": "Effective"
      },
      "jobType": {
        "code": "Issuance"
      },
      "policyLineType": {
        "code": "PersonalAutoLine"
      },
      "coveragePattern": {
        "code": "PACollisionCov"
      }
    }
  }
}

Modifying policy hold rules

Use the following endpoint to modify policy hold rules:

PATCH /admin/v1/policy-holds/{policyHoldId}/rules/{policyHoldRuleId}

All fields in the preceding table available for adding policy hold rules are also available for updating.

Command

PATCH /admin/v1/policy-holds/pc:101/rules/pc:10001

Request body

{
  "data": {
    "attributes": {
      "jobType": {
        "code": "Renewal"
      }
    }
  }
}

Deleting policy hold rules

Use the DELETE endpoint to delete a rule from a policy hold.

DELETE /admin/v1/policy-holds/{policyHoldId}/rules/{policyHoldRuleId}

For example:

DELETE /admin/v1/policy-holds/pc:101/rules/pc:10001