Schema Reference

Complete column definitions for all Parquet entities and measurements (current v1 schema)

Data Types

All Parquet files use these Apache Arrow/Parquet data types:

TypeDescription
stringUTF-8 encoded text
boolBoolean (true / false)
int6464-bit signed integer
decimal128(38, 20)128-bit decimal, precision 38, scale 20 (default for numeric columns)
decimal256256-bit decimal (used when inferred precision exceeds 38)
timestamp[us, tz=UTC]Microsecond-precision UTC timestamp

Entity Schemas

Organization

Organization metadata.

ColumnTypeNullableDescription
idstring✗Unique identifier (UUID)
namestring✗Organization name
externalIdstring✓External system identifier
createdAttimestamp✗Creation timestamp
updatedAttimestamp✓Last update timestamp

Device

IoT device inventory and properties.

ColumnTypeNullableDescription
idstring✗Unique identifier (UUID)
namestring✗Device name
modelTypestring✗Device model (e.g., com.haltian.device.tsar02)
externalIdstring✓External system identifier
tuidstring✓Thingsee Unique Identifier
orderIdstring✓Purchase order identifier
giaistring✓Global Individual Asset Identifier
manufacturingDatetimestamp✓Manufacturing date
shippingDatetimestamp✓Shipping date
warrantyDatetimestamp✓Warranty expiration
createdAttimestamp✗Creation timestamp
updatedAttimestamp✓Last update timestamp
lastSeentimestamp✓Last communication time
wirepasNodeIdint64✓Wirepas mesh node ID
wirepasNetworkIdint64✓Wirepas mesh network ID
imeistring✓IMEI (cellular devices)
iccidstring✓SIM card ICCID
bleMacstring✓Primary Bluetooth MAC
bleMac2string✓Secondary Bluetooth MAC
lanMacstring✓LAN MAC address
wifiMacstring✓WiFi MAC address
customerLabelIdstring✓Customer-assigned label
vendorSerialstring✓Vendor serial number
spaceIdstring✓Space where device is installed
fixedPositionGlobalstring✓GeoJSON Point of fixed installation position
wirepasStackVersionstring✓Wirepas stack version running on the device

Device Group

Logical groupings of devices.

ColumnTypeNullableDescription
idstring✗Unique identifier (UUID)
modelTypestring✗Group model (e.g., com.haltian.device-group)
externalIdstring✓External system identifier
manufacturingDatetimestamp✓Manufacturing date
shippingDatetimestamp✓Shipping date
warrantyDatetimestamp✓Warranty expiration
namestring✗Device group name
spaceIdstring✓Space where the group is installed
fixedPositionGlobalstring✓GeoJSON Point of fixed installation position
createdAttimestamp✗Creation timestamp
updatedAttimestamp✓Last update timestamp
lastSeentimestamp✓Last communication time
lastOccupancyResetAttimestamp✓Last time the group’s occupancy counter was reset

Device Group Devices

Junction table linking devices to device groups.

ColumnTypeNullableDescription
deviceGroupIdstring✗Reference to device group
deviceIdstring✗Reference to device

Device Keyword

Tags and labels assigned to devices.

ColumnTypeNullableDescription
deviceIdstring✗Reference to device
keywordstring✗Keyword/tag value
createdAttimestamp✗Creation timestamp
updatedAttimestamp✓Last update timestamp

Device Note

Freeform notes attached to devices.

ColumnTypeNullableDescription
deviceIdstring✗Reference to device
notestring✗Note text
createdAttimestamp✗Creation timestamp
updatedAttimestamp✓Last update timestamp

Space Keyword

Tags and labels assigned to spaces.

ColumnTypeNullableDescription
spaceIdstring✗Reference to space
keywordstring✗Keyword/tag value
createdAttimestamp✗Creation timestamp
updatedAttimestamp✓Last update timestamp

Zone Keyword

Tags and labels assigned to zones.

ColumnTypeNullableDescription
zoneIdstring✗Reference to zone
keywordstring✗Keyword/tag value
createdAttimestamp✗Creation timestamp
updatedAttimestamp✓Last update timestamp

Space

Spatial hierarchy: locations, buildings, floors.

ColumnTypeNullableDescription
idstring✗Unique identifier (UUID)
namestring✓Space name
parentIdstring✓Parent space (hierarchical)
typestring✗Type: location, building, floor
positionGlobalstring✓GeoJSON Point coordinates
northVectordecimal128(38, 20)✓North direction angle (degrees)
createdAttimestamp✗Creation timestamp
updatedAttimestamp✓Last update timestamp

Zone

Defined areas within spaces.

ColumnTypeNullableDescription
idstring✗Unique identifier (UUID)
spaceIdstring✗Parent space reference
namestring✗Zone name
typestring✗Zone type
polygonGlobalstring✗GeoJSON polygon boundaries
createdAttimestamp✗Creation timestamp
updatedAttimestamp✓Last update timestamp

Measurement Schemas

All measurement tables share common columns plus measurement-specific values.

Common Columns

Every measurement table includes:

ColumnTypeNullableDescription
deviceIdstring✗Device that reported the measurement
measuredAttimestamp✗Measurement timestamp

measurementAmbientLight

Ambient light level readings.

ColumnTypeNullableDescription
ambientLightdecimal128(38, 20)✗Ambient light level

measurementBarometricPressure

Barometric (atmospheric) pressure readings.

ColumnTypeNullableDescription
barometricPressuredecimal128(38, 20)✗Barometric pressure

measurementBatteryCurrent

Battery current draw.

ColumnTypeNullableDescription
batteryCurrentdecimal128(38, 20)✗Battery current

measurementDeviceOrientation

Accelerometer-based device orientation.

ColumnTypeNullableDescription
accxdecimal128(38, 20)✗Accelerometer X axis
accydecimal128(38, 20)✗Accelerometer Y axis
acczdecimal128(38, 20)✗Accelerometer Z axis

measurementDeviceRole

Device role assignment (e.g. gateway vs. tag).

ColumnTypeNullableDescription
deviceRolestring✓Assigned device role

measurementDiagnosticsInterval

Configured diagnostics-reporting interval.

ColumnTypeNullableDescription
diagnosticsIntervalint64✓Reporting interval

measurementEcho

Ultrasonic echo / distance measurement.

ColumnTypeNullableDescription
echodecimal128(38, 20)✗Echo/distance reading

measurementElectricalResistance

Electrical resistance readings.

ColumnTypeNullableDescription
electricalResistancedecimal128(38, 20)✗Electrical resistance

measurementHarvesterStorageVoltage

Energy-harvesting device’s storage voltage.

ColumnTypeNullableDescription
harvesterStorageVoltagedecimal128(38, 20)✗Storage voltage

measurementHumidity

Relative humidity readings.

ColumnTypeNullableDescription
humiditydecimal128(38, 20)✗Relative humidity (%)

measurementAmbientTemperature

Ambient temperature readings.

ColumnTypeNullableDescription
ambientTemperaturedecimal128(38, 20)✗Temperature in degrees Celsius

measurementBatteryPercentage

Battery charge level.

ColumnTypeNullableDescription
batteryPercentagedecimal128(38, 20)✗Battery level (0–100%)

measurementBatteryVoltage

Battery voltage readings.

ColumnTypeNullableDescription
batteryVoltagedecimal128(38, 20)✗Voltage in volts

measurementBootCount

Device restart events.

ColumnTypeNullableDescription
bootCountint64✗Cumulative boot count
bootReasonstring✓Reason for restart

measurementCO2

Carbon dioxide concentration.

ColumnTypeNullableDescription
co2decimal128(38, 20)✗CO₂ level in ppm

measurementDirectionalMovement

Entry and exit counts (e.g., doorway sensors).

ColumnTypeNullableDescription
entriesint64✗Number of entries
exitsint64✗Number of exits

measurementDistance

Distance measurements.

ColumnTypeNullableDescription
distancedecimal128(38, 20)✗Distance (typically mm)

measurementOccupancySeconds

Duration of occupancy within measurement period.

ColumnTypeNullableDescription
occupancySecondsdecimal128(38, 20)✗Occupancy duration in seconds

measurementOccupancyStatus

Binary occupancy state.

ColumnTypeNullableDescription
isOccupiedbool✗false = unoccupied, true = occupied

measurementMagneticState

Magnetic (door/window) open/closed state.

ColumnTypeNullableDescription
isOpenbool✗false = closed, true = open

measurementMagneticStateChanges

Cumulative magnetic-state (door/window) transition count.

ColumnTypeNullableDescription
magneticStateChangesint64✗Cumulative state-change count

measurementMovementDetections

Cumulative movement-detection count.

ColumnTypeNullableDescription
movementDetectionsint64✗Cumulative detection count

measurementOccupantsCount

Number of people detected.

ColumnTypeNullableDescription
occupantsCountint64✗Number of occupants

measurementPosition

Device location tracking.

ColumnTypeNullableDescription
isStaticbool✗false = moving, true = stationary
spaceIdstring✗Space where device is located
positionGlobalstring✗GeoJSON Point coordinates

measurementPositionZone

Zone-relative device position.

ColumnTypeNullableDescription
zoneIdstring✗Zone where device is located

measurementRss

Received signal strength between devices.

ColumnTypeNullableDescription
sourceDeviceIdstring✗Device the signal was received from
rssdecimal128(38, 20)✗Received signal strength
isStaticbool✗false = moving, true = stationary
moveCountint64✓Movement count since last reading
modestring✓Device mode at time of reading (normal, inventory, low_power_inventory, low_power_inventory_acm_disabled)

measurementSolarPanelVoltage

Solar panel output voltage.

ColumnTypeNullableDescription
solarPanelVoltagedecimal128(38, 20)✗Solar panel voltage

measurementSystemTemperature

Device internal (system) temperature readings.

ColumnTypeNullableDescription
systemTemperaturedecimal128(38, 20)✗Internal temperature in degrees Celsius

measurementTVOC

Total Volatile Organic Compounds.

ColumnTypeNullableDescription
tvocdecimal128(38, 20)✗TVOC level (ppb or index)

measurementUsbVoltage

USB power input voltage.

ColumnTypeNullableDescription
usbVoltagedecimal128(38, 20)✗USB input voltage

measurementVibration

Vibration level and cumulative total.

ColumnTypeNullableDescription
leveldecimal128(38, 20)✗Vibration level
totaldecimal128(38, 20)✗Cumulative vibration total

GeoJSON Formats

Point (position data)

{
  "type": "Point",
  "coordinates": [longitude, latitude]
}

Example: {"type":"Point","coordinates":[25.4686, 65.0592]}

Polygon (zone boundaries)

{
  "type": "Polygon",
  "coordinates": [[[lon1, lat1], [lon2, lat2], [lon3, lat3], [lon1, lat1]]]
}

UUID Format

All identifiers use lowercase hyphenated UUID format:

550e8400-e29b-41d4-a716-446655440000

Timestamp Format

All timestamps are:

  • Timezone: UTC
  • Precision: Milliseconds
  • Storage: Arrow timestamp type

When reading in most languages, timestamps convert automatically to native datetime types.