Skip to content

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.

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 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.

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.

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 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.

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.