# Data model

### What is a data model?

**The data model** in the Eximee platform is the central element that describes **the business data structure** used in the low-code application. The model serves two functions:

* a documentation function, providing clear information about the source of each field's value,
* a technical function, performing the operations necessary to retrieve the value.

The data model enables modeling the data structure as a tree structure. Each tree node represents a business domain object of the application, e.g. applicant, loan, or mailing address. Each leaf of the tree represents one field storing a specific value.

Each field in the model has a defined way of obtaining its value (the so-called *"data source"*). Sources can calculate data **locally**based on constant default values, algorithms implemented in ScriptCode (e.g. PageService, ServiceTask, ...) and data entered manually by users (e.g. in loan application fields or in a credit analyst task). Values can also be retrieved **remotely** from services via REST API.

<figure><img src="/files/999b254ba1fe039052a1a83d40e07d7a6d697388" alt=""><figcaption></figcaption></figure>

The data described in the model is stored in many places, not necessarily in Eximee platform components. The role of the data model is to retrieve the value for each field from the specified place at the appropriate moment. It is therefore a component **coordinating data retrieval**, not just storing it.

Each low-code application has its own data model definition. There is no need to create one shared *"mega-model"* covering all areas of the institution. The data model exists only in the **context of the running application** and is not global for the entire platform. This means that a separate instance of the data model is created for each running application (see [Data storage in the model](/documentation/documentation-en/budowanie-aplikacji/model-danych/przechowywanie-danych-w-modelu.md))

{% hint style="info" %}
A good data model can significantly facilitate application maintenance and development. The ability to quickly verify the source of a given value is crucial when analyzing problems and when planning development changes in the application. Remember to use understandable names for objects and fields, specific documentation in descriptions, and to update the model definition!
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.eximee.com/documentation/documentation-en/budowanie-aplikacji/model-danych.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
