---
title: Reference - ObjectTypeInfo
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

&#x20; This page provides a reference of the **ObjectTypeInfo** properties that you can use to [set the type information for custom module classes](https://docs.kentico.com/13/custom-development/creating-custom-modules/setting-the-type-information-for-module-classes.md).

The _ObjectTypeInfo_ class has the following types of properties:

> **Info:** The reference lists the **ObjectTypeInfo** members that are intended for public use. The class also contains other members, which are used internally or handled automatically by the system. We do not recommend working with any of the undocumented members.

## Constructor

The following properties are always set through the constructor parameters when creating new _ObjectTypeInfo_ instances:

| Property          | Type                                                            | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ----------------- | --------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| BinaryColumn      | string                                                          | The name of the class field that stores binary data for objects. Can be _null_.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| CodeNameColumn    | string                                                          | The name of the class field that stores the unique text identifiers of objects.<br>Can be _null_ for classes without a dedicated code name column.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| DisplayNameColumn | string                                                          | The name of the class field that stores the visible names of objects (names used in the administration interface or on the live site). Can be _null_.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| GuidColumn        | string                                                          | The name of the class field that stores the [GUID identifiers](http://en.wikipedia.org/wiki/Globally_unique_identifier) of objects. Can be _null_.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| IDColumn          | string                                                          | The name of the class field that stores the IDs of objects (i.e. the primary key column).<br>Can be _null_ in rare cases (for example binding classes without an identity column).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ObjectClassName   | string                                                          | **Required** for all classes.<br>The code name assigned to the class in the Xperience administration interface. Identifies the class's definition in the database.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ObjectType        | string                                                          | **Required** for all classes.<br>Serves as the primary identifier string for the class. Use the object type name to select classes in the API, user interface components ([UniGrid](https://docs.kentico.com/13/custom-development/extending-the-administration-interface/ui-controls/unigrid.md), [UniSelector](https://docs.kentico.com/13/custom-development/extending-the-administration-interface/ui-controls/uniselector.md)), [REST calls](https://docs.kentico.com/13/integrating-3rd-party-systems/xperience-rest-service/getting-data-using-rest.md), etc.<br>The recommended place to define the object type name value is within the code of the _Info_ class, in the _OBJECT\_TYPE_ constant. |
| ParentIDColumn    | string                                                          | The name of the class field that stores the IDs of parent objects. Set to _null_ for classes without a parent class.<br>See [Setting parent-child relationships for classes](https://docs.kentico.com/13/custom-development/creating-custom-modules/setting-the-type-information-for-module-classes/setting-parent-child-relationships-for-classes.md) to learn more.                                                                                                                                                                                                                                                                                                                                      |
| ParentObjectType  | string                                                          | The _object type name_ of the class's parent (as defined in the type information of the parent class). Set to _null_ for classes without a parent class.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ProviderType      | [Type](https://docs.microsoft.com/en-us/dotnet/api/system.type) | **Required** for all classes.<br>The type of the class's _InfoProvider_ class. For example: _typeof(UserInfoProvider)_                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| SiteIDColumn      | string                                                          | The name of the class field that stores site IDs for site-related objects. Can be _null_.<br>Only use site ID columns if you do not have a separate [binding class](https://docs.kentico.com/13/custom-development/creating-custom-modules/creating-custom-binding-classes.md) for the site relationship.                                                                                                                                                                                                                                                                                                                                                                                                  |
| TimeStampColumn   | string                                                          | The name of the class field that stores the last modification date for objects. Can be _null_.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

[> Back to list of ObjectTypeInfo property types](#referenceobjecttypeinfo-typeinfotop)

## Field names (columns)

In addition to the "column" properties used in the _ObjectTypeInfo_ constructor, you can set the following optional properties to identify class fields that perform a specific function:

| Property           | Type   | Description                                                                                                                                                                                                                                                                                                                                             |
| ------------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| AssemblyNameColumn | string | The name of the class field that stores the assembly name of a related class in the project's code. Intended for classes whose editing form contains the **Assembly and class selector** form control.                                                                                                                                                  |
| EnabledColumn      | string | The name of the class field that indicates whether objects are enabled or disabled. The meaning of the enabled flag depends on the implementation of the class.                                                                                                                                                                                         |
| ExtensionColumn    | string | Intended for classes that store binary data. Sets the name of the class field that stores the extension type of the binary data.                                                                                                                                                                                                                        |
| MimeTypeColumn     | string | Intended for classes that store binary data. Sets the name of the class field that stores the mime type of the binary data.                                                                                                                                                                                                                             |
| ObjectLevelColumn  | string | Intended for classes that organize objects in a tree hierarchy. Sets the name of the class field that stores the level of objects in the hierarchy structure.                                                                                                                                                                                           |
| ObjectPathColumn   | string | Intended for classes that organize objects in a tree hierarchy. Sets the name of the class field that stores the path of objects in the hierarchy structure.<br>You can also set the path column separately for paths built out of objects names or object IDs through the **ObjectNamePathColumn** and **ObjectIDPathColumn** properties respectively. |
| OrderColumn        | string | The name of the class field that stores the order of objects (for classes that have a defined order for objects). Allows automatic actions for changing object order on listing pages (i.e. in [UniGrid](https://docs.kentico.com/13/custom-development/extending-the-administration-interface/ui-controls/unigrid.md) components).                     |
| ResourceIDColumn   | string | The name of the class field that stores references (IDs) pointing to a module in Xperience. Intended for classes whose objects have a relationship with a specific module.                                                                                                                                                                              |
| SizeColumn         | string | Intended for classes that store binary data. Sets the name of the class field that stores the size of the binary data.                                                                                                                                                                                                                                  |
| VersionGUIDColumn  | string | The name of the class field that stores the GUID identifiers for individual [versions of objects](https://docs.kentico.com/13/configuring-xperience/working-with-object-versioning.md).                                                                                                                                                                 |

[> Back to list of ObjectTypeInfo property types](#referenceobjecttypeinfo-typeinfotop)

## General

| Property                 | Type          | Description                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ------------------------ | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| AllowDataExport          | bool          | Indicates whether the system allows users to export the class's data into files of various formats from listing pages. _True_ by default for all classes except binding classes.<br>See also: [Exporting data from the user interface](https://docs.kentico.com/13/managing-website-content/exporting-data-from-the-user-interface.md)                                                                                                   |
| IsCategory               | bool          | Indicates whether the class represents a category for organizing other objects in a tree hierarchy (for example [web part](https://docs.kentico.com/13/custom-development/extending-the-administration-interface/developing-web-parts.md) categories). The default value is _false._                                                                                                                                                     |
| LogEvents                | bool          | Indicates whether the system logs events into the [Event log](https://docs.kentico.com/13/developing-websites/troubleshooting-websites/working-with-the-system-event-log.md) when objects of the class are modified. _False_ by default.                                                                                                                                                                                                 |
| ModuleInfo               | ModuleInfo    | Read only property. Gets the _ModuleInfo_ object based on the value of the **ModuleName** property.<br>See also: [Initializing modules to run custom code](https://docs.kentico.com/13/custom-development/creating-custom-modules/initializing-modules-to-run-custom-code.md)                                                                                                                                                            |
| ModuleName               | string        | This property is _**always required**_ for all type information definitions. Set the value to the _**code name**_ of the module under which the given class belongs.                                                                                                                                                                                                                                                                     |
| ProviderObject           | IInfoProvider | Read only property. Gets an instance of the provider class specified by the **ProviderType** property.                                                                                                                                                                                                                                                                                                                                   |
| RememberUniGridState     | bool          | Indicates whether listing pages ([UniGrid](https://docs.kentico.com/13/custom-development/extending-the-administration-interface/ui-controls/unigrid.md) components) that display the class's objects remember the listing state for individual users (i.e. the filtering options, page number, page size and item order).<br>Individual UniGrid components may override this property.                                                  |
| SupportsCloning          | bool          | Indicates whether the system allows [cloning](https://docs.kentico.com/13/custom-development/cloning-objects-through-the-api.md) for the class's objects. _True_ by default.                                                                                                                                                                                                                                                             |
| SupportsCloneToOtherSite | bool          | Applies to classes with a specified **SiteIDColumn**. Indicates whether objects of the class can be cloned to a different site than the site of the original object. _True_ by default.                                                                                                                                                                                                                                                  |
| TypeCondition            | TypeCondition | Only affects classes with multiple type information definitions. Sets a condition that identifies which objects of the class belong to the given object type.<br>See: [Setting the type information for module classes](https://docs.kentico.com/13/custom-development/creating-custom-modules/setting-the-type-information-for-module-classes.md)                                                                                       |
| TouchCacheDependencies   | bool          | Indicates whether the system "touches" the corresponding dummy cache keys when an object of the class is modified. This causes the cache to delete all items that depend on the given dummy keys.<br>Set to _true_ if you wish to use objects of your custom class as cache dependencies.<br>See also: [Setting cache dependencies](https://docs.kentico.com/13/configuring-xperience/configuring-caching/setting-cache-dependencies.md) |

[> Back to list of ObjectTypeInfo property types](#referenceobjecttypeinfo-typeinfotop)

## Class relationships and bindings

| Property                     | Type           | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ---------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| CheckDependenciesOnDelete    | bool           | Applies to classes that are the target of a _Required_ type reference from another class. See [Adding references between classes](https://docs.kentico.com/13/custom-development/creating-custom-modules/setting-the-type-information-for-module-classes/adding-references-between-classes.md) for more information.<br>If you set _CheckDependenciesOnDelete_ to _true,_ the system prevents objects of the class from being deleted if they are the target of a required reference for at least one other object in the system.<br>_False_ by default.                                                                                                                                                                                                                                                                                                                                                                         |
| DependsOn                    | List           | Registers fields that store references from the class to other classes (i.e. foreign key fields). Allows the system to maintain referential integrity of relationships when [importing](https://docs.kentico.com/13/deploying-websites/exporting-and-importing-sites.md) or [staging](https://docs.kentico.com/13/deploying-websites/content-staging.md) objects to other instances, or perform automatic removal of objects when a referenced object is deleted.<br>Assign a _List_ collection of **ObjectDependency** objects, each defining one reference.<br>**Note**: Do not include the site or parent reference fields specified in the **SiteIDColumn** and **ParentIDColumn** properties.<br>See [Adding references between classes](https://docs.kentico.com/13/custom-development/creating-custom-modules/setting-the-type-information-for-module-classes/adding-references-between-classes.md) for more information. |
| Extends                      | List           | Registers external fields that store references from other classes in the system to the given class. Allows the system to maintain referential integrity of relationships when [importing](https://docs.kentico.com/13/deploying-websites/exporting-and-importing-sites.md) or [staging](https://docs.kentico.com/13/deploying-websites/content-staging.md) objects to other instances, or perform automatic removal of objects when a referenced object is deleted.<br>Assign a _List_ collection of **ExtraColumn** objects, each defining one reference that targets the given class.<br>See [Adding references between classes](https://docs.kentico.com/13/custom-development/creating-custom-modules/setting-the-type-information-for-module-classes/adding-references-between-classes.md) for more information.                                                                                                           |
| IsBinding                    | bool           | Indicates whether the class represents a relationship between two or more classes. See [Creating custom binding classes](https://docs.kentico.com/13/custom-development/creating-custom-modules/creating-custom-binding-classes.md) for more information.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| IsSiteObject                 | bool           | Read only property. Indicates that the class represents site-related objects. _True_ if the _SiteIDColumn_ property is set in the type information, or if the class has a site-related [parent class](https://docs.kentico.com/13/custom-development/creating-custom-modules/setting-the-type-information-for-module-classes/setting-parent-child-relationships-for-classes.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| NameGloballyUnique           | bool           | Applies to classes with a specified **SiteIDColumn** that also have the **SupportsGlobalObjects** property set to _true._<br>If true, the system validates the code names of the class's objects to be unique across both global and site-related objects. If false, global objects can have the same code name as a site-specific object.<br>The default value is _false._                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ParentTypeInfo               | ObjectTypeInfo | Read only property. Returns the _ObjectTypeInfo_ instance representing the parent object type.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| RegisterAsChildToObjectTypes | List           | Overrides the default automatic [parent-child registration process](https://docs.kentico.com/13/custom-development/creating-custom-modules/setting-the-type-information-for-module-classes/setting-parent-child-relationships-for-classes.md). Enter a List of object type names that you wish to register as parent types.<br>Only intended for special cases where you need to register multiple parent types (if the parent class has multiple type information definitions).                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| SiteBinding                  | string         | Read only property. Returns the object type name of the bindings class that stores relationships between the given class and sites (if such a site binding class exists).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| SiteBindingObject            | BaseInfo       | Read only property. Returns the _Info_ class (as _BaseInfo)_ of the binding class that stores relationships between the given class and sites (if such a site binding class exists).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| SuppportsGlobalObjects       | bool           | Applies to classes with a specified **SiteIDColumn**. If true, the system allows both site-related objects and global objects whose value in the site ID column is _null._<br>Must be true if you wish to use [export](https://docs.kentico.com/13/deploying-websites/exporting-and-importing-sites/exporting-objects.md) or [staging ](https://docs.kentico.com/13/deploying-websites/content-staging.md)for global objects of the given class.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |

[> Back to list of ObjectTypeInfo property types](#referenceobjecttypeinfo-typeinfotop)

## Import/Export, Staging, Integration bus

| Property                | Type                    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ----------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ImportExportSettings    | ImportExportSettings    | Defines how the class works with the [Export and Import](https://docs.kentico.com/13/deploying-websites/exporting-and-importing-sites.md) features. Allows you to transfer objects of the given class to other Xperience instances that contain the same custom module.<br>Set through the properties of the _ImportExportSettings_ class. See [Enabling export and staging for the data of classes](https://docs.kentico.com/13/custom-development/creating-custom-modules/setting-the-type-information-for-module-classes/enabling-export-and-staging-for-the-data-of-classes.md) for details.        |
| LogIntegration          | bool                    | Determines whether the system logs [integration bus](https://docs.kentico.com/13/integrating-3rd-party-systems/using-the-integration-bus.md) synchronization tasks for objects of the class. _True_ by default.                                                                                                                                                                                                                                                                                                                                                                                         |
| SynchronizationSettings | SynchronizationSettings | Defines how [Staging](https://docs.kentico.com/13/deploying-websites/content-staging.md) features work with the class's data. Allows you to connect two or more Xperience instances that contain the same custom module, and synchronize changes of the given class's data.<br>Set through the properties of the _SynchronizationSettings_ class. See [Enabling export and staging for the data of classes](https://docs.kentico.com/13/custom-development/creating-custom-modules/setting-the-type-information-for-module-classes/enabling-export-and-staging-for-the-data-of-classes.md) for details. |

[> Back to list of ObjectTypeInfo property types](#referenceobjecttypeinfo-typeinfotop)

## Continuous integration

| Property                      | Type                          | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ----------------------------- | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ContinuousIntegrationSettings | ContinuousIntegrationSettings | Determines how the class works with the system's [continuous integration](https://docs.kentico.com/13/developing-websites/setting-up-continuous-integration.md) solution.<br>Set through the properties of the _ContinuousIntegrationSettings_ class. See [Enabling continuous integration for custom classes](https://docs.kentico.com/13/custom-development/creating-custom-modules/setting-the-type-information-for-module-classes/enabling-continuous-integration-for-custom-classes.md) for details. |
| SerializationSettings         | SerializationSettings         | Determines how the system serializes the class's objects from the database into XML data. The serialization is used by the system's continuous integration solution.<br>Set through the properties of the _SerializationSettings_ class. See [Enabling continuous integration for custom classes](https://docs.kentico.com/13/custom-development/creating-custom-modules/setting-the-type-information-for-module-classes/enabling-continuous-integration-for-custom-classes.md) for details.              |

[> Back to list of ObjectTypeInfo property types](#referenceobjecttypeinfo-typeinfotop)

## Macros

| Property         | Type                    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ---------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| MacroSettings    | MacroProcessingSettings | Configures the behavior of the class within the system's [macro engine](https://docs.kentico.com/13/macro-expressions.md).<br>Set through the properties of the _MacroProcessingSettings_ class:<br>**CheckPermissions (bool)** – determines whether the system checks read permissions for the given module when accessing objects of the class in macro expressions. The permissions are checked for the user who saved the macro, not the user viewing the result. _True_ by default. See also: [Working with macro signatures](https://docs.kentico.com/13/macro-expressions/troubleshooting-macros/working-with-macro-signatures.md)<br>**ContainsMacros (bool)** – indicates whether the class has fields that contain macro expressions in their values. The property determines if objects of the class are processed when [resigning macros](https://docs.kentico.com/13/macro-expressions/troubleshooting-macros/working-with-macro-signatures.md) in the system. _True_ by default. You can set the value to _false_ to optimize the performance of the resigning process (during manual resigning and upgrades). Does NOT affect the resolving of macros.<br>**MacroCollectionName (string)** – overrides the name of object collections used for the class's data in macros. If not set, a default name is automatically derived from the class code name. |
| SensitiveColumns | List                    | Specifies class fields that the system excludes from the [macro engine](https://docs.kentico.com/13/macro-expressions.md) and data retrieved by the [REST service](https://docs.kentico.com/13/integrating-3rd-party-systems/xperience-rest-service.md). Allows you to protect fields with sensitive values, for example passwords.<br>Set the sensitive fields by assigning a _List_ collection of field names.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |

[> Back to list of ObjectTypeInfo property types](#referenceobjecttypeinfo-typeinfotop)

## Object versioning

| Property                      | Type | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ----------------------------- | ---- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| AllowRestore                  | bool | Determines whether the system stores deleted objects of the class in the [recycle bin](https://docs.kentico.com/13/configuring-xperience/working-with-object-versioning/objects-recycle-bin.md).<br>The default value is _true,_ except for binding classes (i.e. class that have the **IsBinding** property enabled in their type information).                                                                                                                       |
| IncludeToVersionParentDataSet | bool | Applies to classes that have a [parent class](https://docs.kentico.com/13/custom-development/creating-custom-modules/setting-the-type-information-for-module-classes/setting-parent-child-relationships-for-classes.md). Determines whether the [version data](https://docs.kentico.com/13/configuring-xperience/working-with-object-versioning.md) of parent objects includes child objects of the given class.<br>The default value is _true._                       |
| SupportsLocking               | bool | Determines whether the class's objects support [object locking ](https://docs.kentico.com/13/custom-development/extending-the-administration-interface/preparing-your-environment-for-team-development/working-with-object-locking.md)(check out and check in).<br>The default value is _false._                                                                                                                                                                       |
| SupportsVersioning            | bool | Determines whether the class's objects support [object versioning](https://docs.kentico.com/13/configuring-xperience/working-with-object-versioning.md). The default value is _false._<br>**Note**: To allow users to view and manage object versions, the editing interface of the class must provide tabs (a UI element using the _Vertical tabs_ page template). The system adds the _Versions_ tab automatically once you enable versioning support for the class. |

[> Back to list of ObjectTypeInfo property types](#referenceobjecttypeinfo-typeinfotop)
