Skip to main content

Asset

Represents a physical asset (equipment) in the system with complete maintenance history and metadata.
interface Asset {
  id: string;
  name: string;
  tag: string;
  type: string;
  equipment_class: string;
  manufacturer: string;
  model_number: string;
  serial_number: string;
  criticality_level: string;
  operating_hours: string;
  commissioned_date: string;
  status: string;
  maintenance_strategy: string;
  last_performed_maintenance: string;
  major_overhaul: string;
  last_date_overhaul: string;
  power_rating: string;
  speed: string;
  capacity: string;
  is_modified: boolean;
  datasheet: {
    file_url: string;
    file_name: string;
    uploaded_at: string;
  } | null;
  assignee: AssigneeDetails;
  parent_site: SiteReference;
  created_at: number;
  created_at_datetime: string;
  updated_at: number;
  updated_at_datetime: string;
}

Fields

id
string
required
Unique identifier for the asset
name
string
required
Human-readable name of the asset
tag
string
required
Asset tag or identification number used in physical labeling
type
string
required
Asset type classification (e.g., “Pump”, “Motor”, “Compressor”)
equipment_class
string
required
Equipment class for categorization
manufacturer
string
required
Manufacturer name
model_number
string
required
Manufacturer’s model number
serial_number
string
required
Unique serial number from manufacturer
criticality_level
string
required
Asset criticality (e.g., “High”, “Medium”, “Low”)
operating_hours
string
required
Total operating hours as a string
commissioned_date
string
required
Date when the asset was commissioned
status
string
required
Current operational status
maintenance_strategy
string
required
Maintenance approach (e.g., “Preventive”, “Predictive”, “Corrective”)
last_performed_maintenance
string
required
Date of last maintenance activity
major_overhaul
string
required
Description of major overhaul work
last_date_overhaul
string
required
Date of last major overhaul
power_rating
string
required
Power rating specification
speed
string
required
Operating speed specification
capacity
string
required
Capacity specification
is_modified
boolean
required
Indicates if the asset has been modified from original specifications
datasheet
object | null
Attached datasheet file information
assignee
object
required
User assigned to maintain this asset
parent_site
object
required
Site where this asset is located
created_at
number
required
Creation timestamp (Unix milliseconds)
created_at_datetime
string
required
Creation timestamp (ISO 8601 string)
updated_at
number
required
Last update timestamp (Unix milliseconds)
updated_at_datetime
string
required
Last update timestamp (ISO 8601 string)

Sites

Represents a physical site or facility that contains assets.
interface Sites {
  id: string;
  name: string;
  tag: string;
  description: string;
  address: string;
  city: string;
  country: string;
  installation_environment: string;
  regulations_and_standards: string[];
  manager_name: string;
  manager_email: string;
  manager_phone_number: string;
  manager_location: string;
  organization: OrganizationReference;
  attachments: unknown;
  members: unknown;
  created_at: number;
  created_at_datetime: string;
  updated_at: number;
  updated_at_datetime: string;
}

Fields

id
string
required
Unique identifier for the site
name
string
required
Site name
tag
string
required
Site tag or code
description
string
required
Detailed description of the site
address
string
required
Physical street address
city
string
required
City location
country
string
required
Country location
installation_environment
string
required
Type of installation environment (e.g., “Indoor”, “Outdoor”, “Marine”)
regulations_and_standards
string[]
required
Array of applicable regulations and standards
manager_name
string
required
Site manager’s full name
manager_email
string
required
Site manager’s email
manager_phone_number
string
required
Site manager’s phone number
manager_location
string
required
Site manager’s location
organization
object
required
Parent organization details

SitesAnalytics

Analytics data for sites with issues tracking.
interface SitesAnalytics {
  total_sites: number;
  sites_trend_percentage: number;
  sites_with_issues: number;
  issues_trend_percentage: number;
}

Fields

total_sites
number
required
Total number of sites in the organization
sites_trend_percentage
number
required
Percentage change in total sites compared to previous period
sites_with_issues
number
required
Number of sites with active issues or alarms
issues_trend_percentage
number
required
Percentage change in sites with issues

AssetAnalytics

Comprehensive analytics for asset inventory and health monitoring.
interface AssetAnalytics {
  total_assets: number;
  asset_trend: {
    growth: number;
    percentage: number;
  };
  critical_assets: {
    total: number;
    trend: {
      growth: number;
      percentage: number;
    };
  };
  assets_with_alarms: {
    total: number;
    trend: {
      growth: number;
      percentage: number;
    };
  };
}

Fields

total_assets
number
required
Total number of assets
asset_trend
object
required
Overall asset count trend
critical_assets
object
required
Critical asset metrics
assets_with_alarms
object
required
Assets with active alarms

Usage Example

import type { Asset, Sites, AssetAnalytics } from '@/types';

// Fetch and type asset data
const asset: Asset = await getAssetById(assetId);

console.log(`Asset: ${asset.name} (${asset.tag})`);
console.log(`Criticality: ${asset.criticality_level}`);
console.log(`Site: ${asset.parent_site.name}`);

// Use analytics
const analytics: AssetAnalytics = await getAssetAnalytics();
console.log(`Total: ${analytics.total_assets}`);
console.log(`Critical: ${analytics.critical_assets.total}`);

Sample Types

Oil samples are linked to assets

Alarm Types

Alarms are triggered by asset conditions

Build docs developers (and LLMs) love