Skip to main content

AdditionalPropertyValueType

Additional Properties is a general HiiRetail concept made to handle any unforeseen data need without resulting in the need for additional development. This is mainly for information that does not have a direct relationship with the business logic, but can be relevant for things like reporting or processing in other systems. We support Additional Properties on most entities in Hii Retail.

The AdditionalProperty is part of an array or list of data on the entity in need of dynamic additional information. This applies whether it is placed directly on a specific entity or added to an entity based on calculation from internal Hii Retail processing.

Additional properties can be considered as key value pairs with some additional metadata. The name is the identifier for the information and the value will be stored as a string. When reading or displaying the data in the AdditionalProperty entity, the DataType must be evaluated to be able to interpret the content correctly. Additional Properties can be of several data types, and this MUST be set correctly for the data to be visualized and treated correctly.

enum AdditionalPropertyValueType {
BOOL
INT
LONG
DECIMAL
DOUBLE
STRING
DATE
DATETIME
CURRENCY
IMAGE
BINARY
LINK
ARRAY
KEY_VALUE
JSON
XML
TIME
UNKNOWN
}

Values

AdditionalPropertyValueType.BOOL

Boolean value (true, false). Should translate to a checkbox or equivalent in a UI

AdditionalPropertyValueType.INT

Signed integer (-2,147,483,648 to 2,147,483,647). Should translate to an input box limited to numeric values without decimals or equivalent in a UI

AdditionalPropertyValueType.LONG

Signed big integer (-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807). Should translate to an input box limited to numeric values without decimals or equivalent in a UI

AdditionalPropertyValueType.DECIMAL

Floating point number with ~15-17 digits. Should translate to an input box limited to numeric values with decimals or equivalent in a UI

AdditionalPropertyValueType.DOUBLE

Floating point number with 28-29 digits. Should translate to an input box limited to numeric values with decimals or equivalent in a UI

AdditionalPropertyValueType.STRING

Text input. Should translate to an input field with no character restrictions.

AdditionalPropertyValueType.DATE

Date only input. Should translate to a calendar in a UI

AdditionalPropertyValueType.DATETIME

Date and time input. Should translate to a calendar and time input in a UI

AdditionalPropertyValueType.CURRENCY

Numeric input with decimals. Should translate to an input box limited to numeric values with decimals presented with currency information. This might need additional information in the AdditionalProperty entity

AdditionalPropertyValueType.IMAGE

Text link to a picture. Will not allow other file suffixes.

AdditionalPropertyValueType.BINARY

Binary blob of data. Will be stored in Cloud Storage and replaced with a link to the data. Will probably not be possible to visualize unless possible to identify what it is on the consumer end.

AdditionalPropertyValueType.LINK

URL to any resource on the internet. Must validate to be a valid link

AdditionalPropertyValueType.ARRAY

List of strings separated by comma (,)

AdditionalPropertyValueType.KEY_VALUE

Key value list. Separator for each pair is the pipe (|) symbol and separator between key and value is comma (,) (string,string)

AdditionalPropertyValueType.JSON

JSON structure. Will be validated for errors. Visualization could be a text area with formatting where language type is set to JSON.

AdditionalPropertyValueType.XML

XML structure structure. Will be validated for errors. Visualization could be a text area with formatting where language type is set to XML.

AdditionalPropertyValueType.TIME

Time value that should follow ISO 8601 time formats. It will not be validated for correct input. Some samples what this value may look like: 23:20:30Z - 20 minutes and 30 seconds past 23 hours (TIME in UTC), 23:20Z (Reduced TIME in UTC), 15:27:46 (Local TIME), 15:27:46+01:00 (Local TIME and the difference from UTC). The (:) symbol in time format can be skipped as it is not mandatory so time in UTC can look like 232030Z.

AdditionalPropertyValueType.UNKNOWN

Should not be used intentionally, but might be set if errors occur.

Member Of

AdditionalProperty object