Data Models
This section explains the data models behind the Praedico Integration Platform: what each resource represents in your rail network, how the models relate, and how the platform uses what you send. It covers the concepts, not every field.
Concepts that apply to every model
Section titled “Concepts that apply to every model”Imports are upserts
Section titled “Imports are upserts”Every import inserts or updates by your identifier. Send a record whose id already
exists and it’s updated; send a new id and it’s created. Re-sending an unchanged record is
safe. There are no separate “create” and “update” calls: you describe the desired state and the
platform reconciles it.
You own the identifiers
Section titled “You own the identifiers”You identify records using your own external identifiers: the id field, plus references
like parentId, assetId, and subAreaId. The platform maps these to its internal records.
The same identifiers you send are the ones you reuse on later imports and from other models.
Keep them stable and unique within a model.
Models reference each other by identifier
Section titled “Models reference each other by identifier”Most models depend on others: a defect belongs to an asset, an asset belongs to a sub-area, a prediction points at what it predicts. Those links use the identifiers you already imported. So order matters: import the referenced record before (or together with) the record that references it.
Geolocation is shared
Section titled “Geolocation is shared”Many models describe where something sits on the network through a shared geolocation
concept: linear references, chainage/offset, and optional lat/long or X/Y coordinates. Every
part is optional; provide whatever your source system knows. Because it’s shared, it behaves the
same way everywhere it appears.
Most models are imported in bulk
Section titled “Most models are imported in bulk”Most models are sent as a JSON array, so one call can carry a single record or thousands. A few specialised models take a single object instead. Each model’s page notes which shape it expects.
The models
Section titled “The models”Each page explains what the model represents and how to use it. Full field lists and example payloads live in the API Reference.
The complete set of models is listed in the sidebar.