Domain Models Overview

   MaestroPreviously known as Transact Maestro.  |    Form Builder Platform Developer |  18.05 This feature was introduced in 18.05.

Maestro comes with the Domain Model framework that allows you to define the conceptual structure of the information domain independently of how they are used in any visual user interface. The Domain Model is made up of entities that represent real-world concepts. You can share the Domain Model so it is available across multiple forms. A shared domain model can be used in global forms – for example, with collaboration jobs – and thus it can re-use existing elements including those created by other developers.

Having domain models provide a number of benefits for you to design and develop forms, including:

  • Helps focus on what the form does and how it does it.
  • Allows form design and development to support an object-oriented approach.
  • Provides an alternative view on form design and development when data structure is used rather than form field elements.
  • Provides Groovy developers with the ability to use domain models for data mapping.
  • Supports re-use by allowing multiple forms to consume the same data, for example, collaboration jobs.
  • Allows binding of fields to data while importing JSONJSON (JavaScript Object Notation) is a syntax for storing and exchanging data and is used in Maestro to store forms. If a Form Builder wants to transfer their form to another system, they can do so by using the Download JSON file button..
  • Allows retrieval of application data as an object using an API.
  • Makes it easier to look at the model structure to understand the logic behind the form.
  • Allows the creation of complex rules, that use relationships between several fields on a form, by using entity mapping and relationships as objects.
  • Helps to use long field names, which are difficult to read, by using structured entities. This structure is created using underscores to separate entity names from component or property names.

When you create a new form in Maestro, a single domain model is created and populated with entities as the form is being built. Domain models can also be imported from other sources and shared to a library. The domain model is based on JSON Schema, a commonly used standard format for describing data structures. Prior to Maestro v18.05, models were stored as part of a Maestro form. Maestro v18.05 changes this, storing domain models in separate JSON files.

Maestro uses a limited denormalized JSON schema subset to create a domain model, so you will not be able to use all the features available from JSON schema; in particular, the ability to create a type $ref (for example, an applicant address type).


If a Maestro v17.10 form (that has entities configured ), is imported into a v18.05 environment, the entities configured in the v17.10 form will be extracted and automatically moved to a domain model file.

When a new form is created, a domain model file is added as a form resource. This model is stored in the resources folder of the form version and can be found by switching to the Resources tab of the form version in the Maestro Dashboard. Although domain models are created automatically for new Maestro v18.05 forms, Maestro also provides the functionality of creating domain models through the dashboard. Once the model has been established and configured, it can be shared across multiple forms. You can manage domain models in the Model pane.

Next, learn how to create a domain model.