Schema Reference (Legacy)

Column definitions for the legacy (old) Parquet exporter — see Schema Reference for the current v1 schema

Data Types

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

TypeDescription
stringUTF-8 encoded text
int88-bit signed integer
int3232-bit signed integer
uint3232-bit unsigned integer
float32-bit floating point
decimal128(10, 0)128-bit decimal, precision 10, scale 0
timestamp[ms, tz=UTC]Millisecond-precision UTC timestamp

Entity Schemas

Organization

Organization metadata.

ColumnTypeNullableDescription
idstring✗Unique identifier (UUID)
namestring✗Organization name
createdTstimestamp✗Creation timestamp
updatedTstimestamp✓Last update timestamp

Device

IoT device inventory and properties.

ColumnTypeNullableDescription
idstring✗Unique identifier (UUID)
namestring✗Device name
organizationIdstring✓Reference to organization
modelstring✗Device model (e.g., com.haltian.device.tsar02)
externalIdstring✓External system identifier
tuidstring✓Thingsee Unique Identifier
installationStatusstring✗Status: new, installed, etc.
manufacturingDatetimestamp✓Manufacturing date
shippingDatetimestamp✓Shipping date
warrantyDatetimestamp✓Warranty expiration
createdTstimestamp✗Creation timestamp
updatedTstimestamp✓Last update timestamp
lastSeentimestamp✓Last communication time
wirepasNodeIduint32✓Wirepas mesh node ID
wirepasNetworkIduint32✓Wirepas mesh network ID
imeistring✓IMEI (cellular devices)
iccidstring✓SIM card ICCID
bluetoothMacstring✓Primary Bluetooth MAC
bluetoothMac2string✓Secondary Bluetooth MAC
lanMacstring✓LAN MAC address
wifiMacstring✓WiFi MAC address
customerLabelIdstring✓Customer-assigned label
vendorSerialstring✓Vendor serial number

Device Group

Logical groupings of devices.

ColumnTypeNullableDescription
idstring✗Unique identifier (UUID)
organizationIdstring✓Reference to organization
modelstring✗Group model (e.g., com.haltian.device-group)
externalIdstring✓External system identifier
installationStatusstring✗Installation status
manufacturingDatetimestamp✓Manufacturing date
shippingDatetimestamp✓Shipping date
warrantyDatetimestamp✓Warranty expiration
createdTstimestamp✗Creation timestamp
updatedTstimestamp✓Last update timestamp

Device Group Devices

Junction table linking devices to device groups.

ColumnTypeNullableDescription
deviceGroupIdstring✗Reference to device group
deviceIdstring✗Reference to device
organizationIdstring✓Reference to organization

Device Keyword

Tags and labels assigned to devices.

ColumnTypeNullableDescription
deviceIdstring✗Reference to device
organizationIdstring✗Reference to organization
keywordstring✗Keyword/tag value
createdTstimestamp✗Creation timestamp
updatedTstimestamp✓Last update timestamp

Space

Spatial hierarchy: locations, buildings, floors.

ColumnTypeNullableDescription
idstring✗Unique identifier (UUID)
namestring✓Space name
organizationIdstring✗Reference to organization
parentSpaceIdstring✓Parent space (hierarchical)
typestring✗Type: location, building, floor
positionGlobalstring✓GeoJSON Point coordinates
northVectorfloat✓North direction angle (degrees)
createdTstimestamp✗Creation timestamp
updatedTstimestamp✓Last update timestamp

Zone

Defined areas within spaces.

ColumnTypeNullableDescription
idstring✗Unique identifier (UUID)
organizationIdstring✗Reference to organization
spaceIdstring✗Parent space reference
namestring✗Zone name
polygonGlobalstring✗GeoJSON polygon boundaries
createdTstimestamp✗Creation timestamp
updatedTstimestamp✓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
tstimestamp✗Measurement timestamp
organizationIdstring✓Reference to organization

measurementAmbientTemperature

Ambient temperature readings.

ColumnTypeNullableDescription
ambientTemperaturefloat✗Temperature in degrees Celsius

measurementBatteryPercentage

Battery charge level.

ColumnTypeNullableDescription
batteryPercentagefloat✗Battery level (0–100%)

measurementBatteryVoltage

Battery voltage readings.

ColumnTypeNullableDescription
batteryVoltagefloat✗Voltage in volts

measurementBootCount

Device restart events.

ColumnTypeNullableDescription
bootCountint32✗Cumulative boot count
bootReasonstring✓Reason for restart

measurementCO2

Carbon dioxide concentration.

ColumnTypeNullableDescription
co2float✗CO₂ level in ppm

measurementDirectionalMovement

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

ColumnTypeNullableDescription
entriesint32✗Number of entries
exitsint32✗Number of exits

measurementDistance

Distance measurements.

ColumnTypeNullableDescription
distancedecimal128(10,0)✗Distance (typically mm)

measurementOccupancySeconds

Duration of occupancy within measurement period.

ColumnTypeNullableDescription
occupancySecondsfloat✗Occupancy duration in seconds

measurementOccupancyStatus

Binary occupancy state.

ColumnTypeNullableDescription
statusint8✗0 = unoccupied, 1 = occupied

measurementOccupantsCount

Number of people detected.

ColumnTypeNullableDescription
occupantsCountint32✗Number of occupants

measurementPosition

Device location tracking.

ColumnTypeNullableDescription
isStaticint8✗0 = moving, 1 = stationary
spaceIdstring✗Space where device is located
positionGlobalstring✗GeoJSON Point coordinates

measurementPositionZone

Zone-relative device position.

ColumnTypeNullableDescription
zoneIdstring✗Zone where device is located

measurementTVOC

Total Volatile Organic Compounds.

ColumnTypeNullableDescription
tvocfloat✗TVOC level (ppb or index)

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.