Skip to main content

Object

The definition of a type of thing in IMOS — the schema behind every record.

type: data-model · status: published · abstraction: entity

What it is

An Object is a named, versioned type definition in the IMOS record model. It declares the shape of a thing a manufacturer works with — a Work Order, a Part, a Supplier, a Machine — through a set of Properties. Objects can be canonical (published and maintained by the IMOS platform library) or tenant-defined (created by a tenant for something specific to their business). Every Record in the system is an instance of exactly one Object.

Every Object includes these platform-managed Properties by default:

  • Record ID — the immutable unique identifier of each Record.
  • List Entries — the Lists in which each Record appears.
  • Created at — the date and time each Record was created.
  • Created by — the user, integration, Automation or AI Agent that created each Record.

These default Properties have platform-defined semantics and cannot be removed or redefined by tenants. This restriction applies only to the default Properties; tenant-defined Properties remain tenant-owned, while canonical Properties follow the canonical extension rules.

Why it exists

Manufacturers all work with recognisably similar things, but no two describe them identically. A rigid ERP data model forces every customer into one shape; a fully free-form model means the platform never understands what anything is. Objects give us both: tenants extend and define freely, while canonical Objects give the platform a shared vocabulary that makes cross-tenant analytics, procurement, integrations, data exchange and the marketplace possible.

Relationships

Outgoing

  • is composed of → Property (one-to-many) — An Object's shape is the set of Properties declared on it.

Incoming

  • has instance ← Record — Every Record is an instance of exactly one Object.
  • is packaged by ← Module — Modules ship canonical Objects as part of their bundle.
  • is depended on by ← Module — Modules declare references to the foundational canonical Objects they need to interact with, without owning them.

Neighbourhood

Stakeholder summaries

  • Product — Objects are type definitions composed of Properties. Decide canonical vs tenant-defined, own the extension rules, and design the UI that surfaces them.
  • Investor — The unit of flexibility that lets IMOS serve any manufacturer without rebuilding the product, while still understanding their data well enough to power network effects.
  • Marketing — Objects are how IMOS speaks your language. Model your business the way you actually run it — no consultants, no rigid templates.
  • Engineering — Versioned schema entities. Records reference object_id; Properties hang off Objects; canonical Objects are platform-owned and read-only to tenants, extendable via tenant-owned Properties.