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