Item Attributes and Values
GPM uses an extensible attribute pattern to attach typed metadata to items. This allows each domain, such as insurance, radiology, or beauty, to define its own attribute sets while using the same product catalogue model. These domains and attributes are examples; they can be extended for other product and service catalogues.
The pattern involves three layers:
- Item categories — attribute groups (e.g. "Settlement", "Benefits")
- Category attributes — typed attribute definitions within a group (e.g. "Fire", "Storm Damage")
- Attribute values — per-item values for each attribute
Attribute definitions
Each attribute definition belongs to an item category and has a unique code within that category (e.g. BN_NATURAL_DISASTER). Definitions carry:
- Data type — validated against the configured type list, determining which value format is used
- Lookup code — optional reference to a pick-list for constrained values
- Default value — applied when a new item is created
- Validation rule — optional expression for custom validation
- Required flag — whether a value must be provided
- Search and filter flags — whether the attribute is indexed for search and appears in filter facets
- Display configuration — sort position, grouping, and unit of measure
Insurance attribute examples
The standard insurance catalogue includes examples such as these:
| Category | Attribute | Name |
|---|---|---|
| Settlement | ST_BASIS | Settlement Basis |
| Settlement | ST_ALTERNATIVE_SITE | Alternative Site |
| Defined Events | EV_FIRE | Fire |
| Defined Events | EV_STORM | Storm Damage |
| Benefits | BN_NATURAL_DISASTER | Natural Disaster |
| Benefits | BN_TEMPORARY_ACCOM | Temporary Accommodation |
| Legal Liability | LL_PUBLIC_LIABILITY | Public Liability |
| Financial | FIN_STRENGTH_RATING | Financial Strength Rating |
Attribute values
Each attribute value links an item to an attribute definition and stores the value in the appropriate typed format:
| Value format | Used for |
|---|---|
| Text | Text and lookup values |
| Number | Numeric values |
| Date | Date and timestamp values |
| Boolean | True/false values |
| Secondary text | Supporting labels or display text for a code |
Which value format is used depends on the data_type defined in the attribute definition.
Each item can have at most one value per attribute — the combination of item, attribute, and tenant is unique.
Attribute summaries
Attribute summaries provide all values for an item and category in a compact structure. This makes it efficient for catalogue and comparison experiences to retrieve attributes for a set of items.
Each entry is keyed by attribute code and contains the attribute name, data type, display order, and value:
{
"BN_NATURAL_DISASTER": {
"name": "Natural Disaster",
"data_type": "LOOKUP",
"display_order": 1,
"value": "INCLUDED",
"value_format": "Text"
}
}
These summaries are used by the marketplace comparison experience to retrieve and display attributes for side-by-side item comparison.
Access control
Attribute definitions and values are treated as reference data for marketplace display. They can be read where catalogue information is public, while updates are limited to authorised organisation users.