{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/tm-forum/refs/heads/main/json-schema/tmf620-product-catalog-characteristic-value-specification-schema.json", "title": "CharacteristicValueSpecification", "description": "CharacteristicValueSpecification schema from TM Forum API", "allOf": [ { "$ref": "#/components/schemas/Extensible" }, { "type": "object", "description": "specification of a value (number or text or an object) that can be assigned to a Characteristic. This is an abstract base class, the actual value is in one of the strongly-typed subclasses", "properties": { "valueType": { "type": "string", "description": "A kind of value that the characteristic value can take on, such as numeric, text and so forth" }, "isDefault": { "type": "boolean", "description": "If true, the Boolean Indicates if the value is the default value for a characteristic" }, "unitOfMeasure": { "type": "string", "description": "A length, surface, volume, dry measure, liquid measure, money, weight, time, and the like. In general, a determinate quantity or magnitude of the kind designated, taken as a standard of comparison for others of the same kind, in assigning to them numerical values, as 1 foot, 1 yard, 1 mile, 1 square foot." }, "validFor": { "$ref": "#/components/schemas/TimePeriod" }, "valueFrom": { "type": "integer", "description": "The low range value that a characteristic can take on" }, "valueTo": { "type": "integer", "description": "The upper range value that a characteristic can take on" }, "rangeInterval": { "type": "string", "description": "An indicator that specifies the inclusion or exclusion of the valueFrom and valueTo attributes. If applicable, possible values are \"open\", \"closed\", \"closedBottom\" and \"closedTop\"." }, "regex": { "type": "string", "description": "A regular expression constraint for given value" } } } ], "discriminator": { "propertyName": "@type", "mapping": { "CharacteristicValueSpecification": "#/components/schemas/CharacteristicValueSpecification", "StringCharacteristicValueSpecification": "#/components/schemas/StringCharacteristicValueSpecification", "StringArrayCharacteristicValueSpecification": "#/components/schemas/StringArrayCharacteristicValueSpecification", "ObjectCharacteristicValueSpecification": "#/components/schemas/ObjectCharacteristicValueSpecification", "ObjectArrayCharacteristicValueSpecification": "#/components/schemas/ObjectArrayCharacteristicValueSpecification", "NumberCharacteristicValueSpecification": "#/components/schemas/NumberCharacteristicValueSpecification", "NumberArrayCharacteristicValueSpecification": "#/components/schemas/NumberArrayCharacteristicValueSpecification", "MapCharacteristicValueSpecification": "#/components/schemas/MapCharacteristicValueSpecification", "MapArrayCharacteristicValueSpecification": "#/components/schemas/MapArrayCharacteristicValueSpecification", "IntegerCharacteristicValueSpecification": "#/components/schemas/IntegerCharacteristicValueSpecification", "IntegerArrayCharacteristicValueSpecification": "#/components/schemas/IntegerArrayCharacteristicValueSpecification" } } }