Managing seasonal coverages

PolicyCenter supports the ability to have coverages change values based on seasons. The seasonal coverage feature allows you to specify one or more months for which you want more coverage on a specific coverable, such as a vehicle or a house. You can use the Cloud API to view, add, update, or delete date ranges for seasonal coverages on coverables.

Before you can use the Cloud API to add seasonal date ranges to a coverable, mark the coverable as seasonal in APD, and verify or update the minimal coverage values that are set in the system tables. For information see Configuration Guide and Creating Products with APD App .

When a policy includes a seasonal coverage, the coverage values that you set on the policy apply to the in-season months and lower coverage values, as defined in the system tables, apply during the off-season months. For example, if you have a seasonal coverage on a car that you only drive in the summer, a seasonal coverage can provide a higher level of coverage in the summer (in-season) and a minimum regulatory level of coverage when the car is garaged in the off-season (spring, fall, and winter).

Consider the following when you use the Cloud API to define seasonal coverage date ranges:
  • Each seasonal coverage data range requires a startMonth and an endMonth. The seasonal coverage period begins on the first day of the start month and ends on the last day of the end month.
  • Each coverable within a policy term can have multiple seasonal coverage date ranges. However, the seasonal date ranges that you define on a coverable cannot overlap. If you attempt to add or update a data range that overlaps with an existing seasonal coverage date range on a coverable, the API returns an error. For example: "A date range with the dates 'august' to 'october' cannot be added. The following month(s) are included in more than one date range: 'August, September, October'."
  • Seasonal coverage date ranges can span across policy terms. For example, if your policy term is from January 2025 to December 2025, you can define a seasonal date range from November 2025 (current term) to January 2026 (next term).

For more information on seasonal coverages, see Application Guide.

View seasonal coverage date ranges

Use the following endpoints to view date ranges for seasonal coverages on a coverable:
  • GET /job/v1/jobs/{jobId}/lines/{lineId}/{seasonalCoverable}/{seasonalCoverableId}/seasonal-date-ranges
  • GET /job/v1/jobs/{jobId}/lines/{lineId}/{seasonalCoverable}/{seasonalCoverableId}/seasonal-date-ranges/ {seasonal-date-range-id}

For example, the following request returns the seasonal coverage date ranges for business vehicle 5000000012 on job pc:Sv4:

Command
GET /pc/rest/job/v1/jobs/pc:Sv4/lines/BusinessAutoLine/business-vehicles/5000000012/seasonal-date-ranges
Response
{
    "count": 2,
    "data": [
        {
            "attributes": {
                "endMonth": {
                    "code": "march",
                    "name": "March"
                },
                "id": "5000000003",
                "startMonth": {
                    "code": "january",
                    "name": "January"
                }
            },
            "checksum": "47f200b022e5d0be41cf82708901a23a",
            "links": {
                "self": {
                    "href": "/job/v1/jobs/pc:Sv4/lines/BusinessAutoLine/business-vehicles/5000000012/seasonal-date-ranges/5000000003",
                    "methods": [
                        "delete",
                        "get",
                        "patch"
                    ]
                }
            }
        },
        {
            "attributes": {
                "endMonth": {
                    "code": "july",
                    "name": "July"
                },
                "id": "5000000004",
                "startMonth": {
                    "code": "may",
                    "name": "May"
                }
            },
            "checksum": "e638246a101f178874d8dcb6530794ae",
            "links": {
                "self": {
                    "href": "/job/v1/jobs/pc:Sv4/lines/BusinessAutoLine/business-vehicles/5000000012/seasonal-date-ranges/5000000004",
                    "methods": [
                        "delete",
                        "get",
                        "patch"
                    ]
                }
            }
        }
    ],
    "links": {
        "first": {
            "href": "/job/v1/jobs/pc:Sv4/lines/BusinessAutoLine/business-vehicles/5000000012/seasonal-date-ranges",
            "methods": [
                "get"
            ]
        },
        "self": {
            "href": "/job/v1/jobs/pc:Sv4/lines/BusinessAutoLine/business-vehicles/5000000012/seasonal-date-ranges",
            "methods": [
                "get"
            ]
        }
    }
}

Add a seasonal coverage date range

Use the following endpoint to add a seasonal coverage date range to a coverable:
  • POST /job/v1/jobs/{jobId}/lines/{lineId}/{seasonalCoverable}/{seasonalCoverableId}/seasonal-date-ranges

For example, the following request adds a seasonal coverage from May to July on business vehicle 5000000012 for job pc:Sv4:

Command
POST /pc/rest/job/v1/jobs/pc:Sv4/lines/BusinessAutoLine/business-vehicles/5000000012/seasonal-date-ranges 
Request Payload
{
    "data": {
        "attributes":{
            "endMonth": {
                "code": "JULY"
            },
            "startMonth": {
                "code": "MAY"
            }
        }
    }
}

Update a seasonal coverage date range

Use the following endpoint to update a seasonal coverage date range for a given coverable:
  • PATCH /job/v1/jobs/{jobId}/lines/{lineId}/{seasonalCoverable}/{seasonalCoverableId}/seasonal-date-ranges/{seasonalDateRangeId}

For example, the following request updates a seasonal coverage date range 5000000006 to September through November for business vehicle 5000000012 on job pc:Sv4 :

Command
PATCH
      /pc/rest/job/v1/jobs/pc:Sv4/lines/BusinessAutoLine/business-vehicles/5000000012/seasonal-date-ranges/5000000006
Request Payload
{
    "data": {
        "attributes":{
            "startMonth": {
                "code": "September"
            },
            "endMonth": {
                "code": "November"
            }
        }
    }
}
Response Payload
{
    "data": {
        "attributes": {
            "endMonth": {
                "code": "november",
                "name": "November"
            },
            "id": "5000000006",
            "startMonth": {
                "code": "september",
                "name": "September"
            }
        },
        "checksum": "1660bd4c99a99f8223c5ef0b9416fe08",
        "links": {
            "self": {
                "href": "/job/v1/jobs/pc:Sv4/lines/BusinessAutoLine/business-vehicles/5000000012/seasonal-date-ranges/5000000006",
                "methods": [
                    "delete",
                    "get",
                    "patch"
                ]
            }
        }
    }
}

Delete a seasonal coverage date range

Use the following endpoint to delete a specific seasonal coverage date range for a coverable:
  • DELETE /job/v1/jobs/{jobId}/lines/{lineId}/seasonalCoverables/{seasonalCoverableId}/seasonal-date-ranges/{seasonalDateRangeId}

For example, the following request deletes seasonal coverage date range 5000000003 for business vehicle 5000000012 on job pc:Sv4:

Command
 DELETE /job/v1/jobs/pc:Sv4/lines/BusinessAutoLine/business-vehicles/5000000012/seasonal-date-ranges/5000000003