Special use cases
Endpoints for pre-Hakuba products
The manner in which LOB-specific endpoints are generated changed in the Hakuba (2023.06.0) release. In prior releases, LOB-specific endpoints were generated using the product code as a prefix, not the line code. This made it difficult for PolicyCenter to determine when multiple products were using the same line.
As of the Hakuba release, LOB-specific endpoints are generated using the line code as a prefix. Guidewire has the following recommendations for insurers with products whose LOB-specific endpoints were generated in a pre-Hakuba release.
Controlling the level at which the endpoints are generated
Starting in Hakuba, there is an application configuration parameter named
RestAPIsGeneratingByPolicyLine
. It is a Boolean parameter that
controls the level at which endpoints are generated.
true
- PolicyCenter generates endpoints at the line level.- Endpoints are prefixed by the line code.
false
- PolicyCenter generates endpoints at the product level.- Endpoints are prefixed at the product code.
The default for this parameter is true
. However, when an insurer
moves from a pre-Hakuba release to Hakuba (or later), this parameter is set to
false
to preserve the original product-prefix-style
generation.
Guidewire recommends all insurers eventually set this parameter to
true
, as this setting supports multi-line products. Insurers
may need to modify existing products to ensure they continue to behave as
expected.
RestAPIsGeneratingByPolicyLine
parameter's value from
false
to true
, Guidewire strongly recommends
that you ensure that for every mono-line products whose product abbreviation is
different than the line prefix, you have updated the product as specified in Products whose line prefix is not identical to the product prefix. If you do not, then any future regeneration of the LOB-specific
endpoints will create a new set of endpoints, as opposed to replacing the existing
endpoints. This is likely to lead to unexpected behaviors.Products whose line prefix is identical to the product prefix
If you have a mono-line product whose line has a prefix that is identical to the product prefix, no additional work is needed. The new behavior will be extracting the prefix from a different location (the line instead of the product). But if the prefix itself is the same, the LOB-specific endpoints generated for the line will also be the same.
Products whose line prefix is not identical to the product prefix
If you have a mono-line product whose line has a prefix that is not identical to the product prefix, then you must take additional steps to move the product to the new line-prefix-style generation.
The following instructions use the following abbreviations:
<productcode>
= the product abbreviation, all in lowercase letters<linecode>
= the line prefix, all in lowercase letters
To modify the product, execute the following steps in a development environment with the current product.
- Set the
RestAPIsGeneratingByPolicyLine
application configuration parameter totrue
. - In
config/integration
:- Rename all of the files that contain the product code so that
_<productcode>_
is changed to_<linecode>_
. - Within all of the file, change any reference of
_<productcode>_
to_<linecode>_
.
- Rename all of the files that contain the product code so that
- In
config/integration/apis/installedlobs
:- Rename
<productcode>_ext-1.0.yaml
to<linecode>_ext-1.0.yaml
,
- Rename
- In
gsrc/gw/rest/ext/pc/job/<productcode>/v1
:- Change the name of the directory path so that it is
gsrc/gw/rest/ext/pc/job/<linecode>/v1
. - Rename Job<product-abbreviation>ExtApiHandler.gs to Job<linecode>ExtApiHandler.gs.
- Change the name of the directory path so that it is
- In
gsrc/gw/rest/ext/pc/policy/<productcode>/v1
:- Change the name of the directory path so that it is
gsrc/gw/rest/ext/pc/policy/<linecode>/v1
. - Rename Policy<product-abbreviation>ExtApiHandler.gs to Policy<linecode>ExtApiHandler.gs.
- Change the name of the directory path so that it is
- Drop the PolicyCenter database.
- Restart PolicyCenter
- Regenerate the LOB-specific endpoints for the product.
- For more information, see Generating LOB-specific endpoints.
You can then include the product along with the other updated resources as part of the regular update process.
Endpoints for scheduled items in SBT products
Sometimes, an account holder wants a policy to cover a specific item that has unusual value, such as a piece of fine art or a diamond necklace. There is a generic coverage on the policy that could apply to the item. But because of the item's unusual value, it ought to be covered by its own coverage. The insurer may require additional information, such as the item's value and how this value was determined. The item's coverage may also require a deductible or limit that is outside the range of what is allowed by the more generic coverage. These types of "unusual value" items appear on the policy in a list that is called a schedule. Thus, the items themselves are called scheduled items.
The original Product Designer, Advanced Product Designer, and Schedule-Based Templates
(SBTs) all have the ability to define products with scheduled items. However, the
underlying mechanism for defining scheduled items in SBTs is significantly different
than that of Product Designer and Advanced Product Designer. Therefore, when you
generate LOB-specific endpoints for SBT products with schedule items, PolicyCenter needs
additional code to determine how to generate the endpoints. This code is defined in the
ComplexSchedulePlugin
plugin.
Implementing the ComplexSchedulePlugin plugin
The ComplexSchedulePlugin
plugin is a part of the base configuration
as of the Garmisch release (2023.02.0). The manner in which this plugin is
implemented varies based on the insurer's original version of PolicyCenter and the
original version of the SBT.
Development starts on Garmisch (or later)
If the development of the product started on a Garmisch (or later) instance of
PolicyCenter using a Garmisch (or later) instance of the SBT, then there is an
implementation of the ComplexSchedulePlugin
plugin included with
the base configuration. No additional work is required.
Updating both a pre-Garmisch PolicyCenter and pre-Garmisch SBT to Garmisch (or later)
If the development of the product started on a pre-Garmisch instance of PolicyCenter
using a pre-Garmisch instance of the SBT, and both PolicyCenter and the SBT are
updated to Garmisch (or later), then no additional work is required. An
implementation of the ComplexSchedulePlugin
plugin will be added to
PolicyCenter during the update process.
Updating a pre-Garmisch PolicyCenter to Garmisch (or later) while using a pre-Garmisch SBT
If the development of the product started on a pre-Garmisch instance of PolicyCenter using a pre-Garmisch instance of the SBT, and only PolicyCenter is updated to Garmisch (or later), then some additional work is required to make the pre-Garmisch SBT compatible with Garmisch PolicyCenter. This additional work consists of the following:
- Download a Garmisch (or later) version of the SBT.
- Copy the following files from the Garmisch (or later) version of the SBT to the existing pre-Garmisch SBT
File location | File name |
/config/plugin/registry |
ComplexSchedulePlugin.gwp |
/gsrc/gw/lob/common/rest/productdefinition/v1/coverage
|
SbtScheduledItemPropertyWrapper.gs |
/gsrc/gw/plugin/rest/v1/impl/ |
SbtComplexSchedulePlugin.gs |
3. In the Garmisch (or later) SBT, find the file from the list below that matches the SBT you are implementing. Replace the pre-Garmisch version of this file in your SBT with the Garmisch (or later) version from the downloaded SBT.
SBT | File location | File name |
SBT-BP7 | /gsrc/gw/lob/bp7 |
BP7BusinessOwnersLineScheduleEnhancement.gsx |
SBT-CA7 | /gsrc/gw/lob/ca7 |
CA7CommAutoLineScheduleEnhancement.gsx |
SBT-CP7 | /gsrc/gw/lob/cp7 |
CP7PropertyLineScheduleEnhancement.gsx |
SBT-CR7 | /gsrc/gw/lob/cr7 |
CR7CrimeLineScheduleEnhancement.gsx |
SBT-GL7 | /gsrc/gw/lob/gl7 |
GL7GeneralLiabilityLineScheduleEnhancement.gsx |
SBT-WCM | /gsrc/gw/lob/wcm |
WCMWorkersCompLineScheduleEnhancement.gsx |
Differences between "product designer" scheduled items and SBT scheduled items
Once there is a suitable plugin implementation, the endpoints for SBT scheduled items work almost entirely the same as scheduled items in Product Designer/Advanced Product Designer products. There are two differences with endpoints for scheduled items in SBT products.
- They have two new scheduled item property types:
additionalInsured
andoption
. These properties have corresponding value properties on theScheduledItemProperty
schema definition. - They can have a set of child
/coverage
endpoints. This is because scheduled items in an SBT product can have coverages attached to them. When theComplexSchedulePlugin
plugin identifies that a given coverable has at least one coverage that has scheduled items with child coverages, it generates the child /coverage endpoints. For example, for an SBT product, there could be an endpoint such as.../buildings/{buildingId}/coverages/{coverageId}/scheduled-items/{scheduledItemId}/coverages/{scheduledItemCoverageId}
.
Endpoints for multi-line products
A multi-line product is a product that has multiple lines of business. If the product is exposed to Cloud API, then each line has its own set of LOB-specific endpoints. Every line in a multi-line product could be used by only one multi-line product, or it could be used by multiple products, each of which could be mono-line or multi-line.
This topic discusses the way in which PolicyCenter generates LOB-specific endpoints for multi-line products.
Products that started development prior to Hakuba (2023.06.0)
The manner in which LOB-specific endpoints are generated changed in the Hakuba (2023.06.0) release. If you developed or installed any products on a release prior to Hakuba, there are additional considerations for the pre-Hakuba products. For more information, see Products whose line prefix is not identical to the product prefix..
LOB-endpoint generation is initiated at the product level, but it is executed at the line level
When you generate LOB-specific endpoints, you initiate the generation at the product level.
However, by default, PolicyCenter generates LOB-specific endpoints at the line level. When the endpoints are generated, the endpoints are prefixed using the line code. If you generate LOB-specific endpoints for a multi-line product, the endpoints for each line will have their own prefix.
Lines shared across products
Lines that are used by multiple products must have the same line code, such as
ba
for a business auto line. This ensures that the same set of
endpoints are used by products that share a given line.
If a given line is used by multiple products and you make a change to that line, you only need to regenerate the endpoints for any one of the products using this line. For example, suppose you have an Inland Marine line that is used by an Inland Marine product and a Commercial Package product. After generating endpoints for both products, you make a change to the Inland Marine line. You then regenerate the endpoints for the Inland Marine product. You do not also need to regenerate the endpoints for the Commercial Package product. The Commercial Package product will automatically have access to the regenerated Inland Marine line endpoints.
If a single line of business is used by multiple products, then either all of those products must be in visualized mode or all of them must be in installed mode. You cannot have a single line of business used by two or more products where some are in visualized mode and some are in installed mode.
Cloud API does not require a mono-line product for every LOB
Cloud API supports the ability to generate LOB-specific endpoints for a line of business, even when that line is used only by multi-line products. For example, suppose you have a Commercial Property Line that is used only by a multi-line Commercial Package product. When you generate LOB-specific endpoints for the Commercial Package product, Cloud API generates endpoints for the Commercial Property Line, even though this line is used only by multi-line products.
Other services or environments may require that you create a mono-line product for every line. For example, Guidewire APD Service may require you to create a mono-line Commercial Property package for the Commercial Property Line before you can add that line to a multi-line Commercial Package product. But this requirement is not enforced by Cloud API. Cloud API can generate endpoints for the Commercial Property Line using only the Commercial Property package.
The RestAPIsGeneratingByPolicyLine config parameter
There is an application configuration parameter named
RestAPIsGeneratingByPolicyLine
. It is a Boolean parameter that
controls the level at which endpoints are generated.
true
- PolicyCenter generates endpoints at the line level.- Endpoints are prefixed by the line code.
- This is the default.
false
- PolicyCenter generates endpoints at the product level.- Endpoints are prefixed at the product code.
Guidewire recommends against setting this parameter to true
unless
you are working with one or more products whose LOB-specific endpoints were
generated in an instance of PolicyCenter prior to the Hakuba release (2023.06.0).
For more information, see Products whose line prefix is not identical to the product prefix.