Configure the schema extension file

The REST endpoint generator automatically adds the following fields to claim_ext-1.0.schema.json file:

  • Incident
    • description
    • id
    • lossParty
    • severity
  • Risk unit
    • RUnumber
    • description
    • id
    • policySystemId
  • Damageable
    • (none)

Configuring the incident

This is the syntax for a foreign key from a custom incident to a custom damageable.

"<CustomIncident>": {
  ...
   "<customDamageable>": {
     "title": "...",
     "description": "...",
     "$ref": "#/definitions/<CustomDamageable>",
     "x-gw-nullable": true
   },
   ...
},

For example, suppose you have a custom incident named TowableIncident_Ext that has a foreign key field to Towable_Ext. The schema property for the foreign key would be:

"TowableIncident_Ext": {
  ...
   "Towable_Ext": {
     "title": "Towable",
     "description": "The associated towable ",
     "$ref": "#/definitions/Towable_Ext",
     "x-gw-nullable": true,
     "x-gw-extensions": {
       "resourceType": "Towable_Ext"
     }
   },
   ...
},

If the incident has additional business fields you wish to expose, you must add them to the file manually. For most fields, you can find information on how to add them to a schema in Endpoint architecture.

Configuring the risk unit

This is the syntax for a foreign key from a custom risk unit to a custom damageable.

"<CustomRiskUnit>": {
  ...
   "<customDamageable>": {
     "title": "...",
     "description": "...",
     "$ref": "#/definitions/<CustomDamageable>",
     "x-gw-extensions": {
       "resourceType": "<CustomDamageable>"
     }
   },
   ...
},

For example, suppose you have a custom risk unit named TowableRU_Ext that has a foreign key field to Towable_Ext. The schema property for the foreign key would be:

"TowableRU_Ext": {
  ...
   "Towable_Ext": {
     "title": "...",
     "description": "...",
     "$ref": "#/definitions/Towable_Ext",
     "x-gw-nullable": true,
     "x-gw-extensions": {
       "resourceType": "Towable_Ext"
     }
   },
   ...
},

If the risk unit has additional business fields you wish to expose, you must add them to the file manually. For most fields, you can find information on how to add them to a schema in Endpoint architecture.

Configuring the damageable

All fields in the damageable schema must be added manually.

Guidewire also recommends adding a displayName property to the damageable schema. The DisplayName field is automatically present for all Guidewire entities and it provides an easy way to distinguish between individual damageable instances. The syntax for this field is:

"<CustomDamageable>":
  ...
  "properties":
    ...
    "displayName": {
      "title": "Display name",
      "description": "The formatted name of this <damageable>",
      "type": "string",
      "readOnly": true
    },

As an example of a damageable schema, suppose you have a custom damageable named Towable_Ext that has the following fields:

  • PolicySystemId
  • PolicyTowable
  • LicensePlate (a business field)
  • TowableRU_Ext (a one-to-one to TowableRU_Ext)

The schema for the damageable would be:

"Towable_Ext":
  ...
  "properties":
    "displayName": {
      "title": "Display name",
      "description": "The formatted name of this Towable_Ext",
      "type": "string",
      "readOnly": true
    },
    "policySystemId": {
      "type": "string"
    },
    "policyTowable": {
      "type": "boolean"
    },
    "licensePlate": {
      "type": "string"
    },
    "towableRU_Ext": {
      "$ref": "#/definitions/TowableRU_Ext"
    }