--- title: "Maintenance Registry" slug: "maintenance-registry-widget" updated: 2026-04-17T07:28:33Z published: 2026-04-17T07:28:33Z canonical: "learn.servitly.com/maintenance-registry-widget" --- > ## Documentation Index > Fetch the complete documentation index at: https://learn.servitly.com/llms.txt > Use this file to discover all available pages before exploring further. # Maintenance Registry > [!CAUTION] > Deprecated Feature > > This feature has been deprecated and will no longer maintained. You must use the [Action List](/v1/docs/action-list-widget) widget to track maintenance activities performed on the machines. The widget allows technicians to track maintenance within an editable registry. ![](https://help.servitly.com/hc/article_attachments/16307594333852) The *Add Maintenance Activity* button allows adding a new maintenance entry within the registry. By clicking on a row it is possible to see the activity details. Moreover, when the row is expanded the user can modify or delete the activity from the registry. ![](https://help.servitly.com/hc/article_attachments/16307594336284) By default, the maintenance registry displays the maintenance date, the type, the user email, and the duration. By clicking on the row, the activity is expanded displaying the remaining properties, like the description, outcome, and custom properties. You can redefine the displayed properties by using the ** nested tag. These are the properties you can use in the widget. | PROPERTY | DESCRIPTION | | --- | --- | | *endTimestamp* | The timestamp the maintenance completes. | | *description* | The maintenance description. | | *duration* | The maintenance duration, which is calculated as the difference between the end and start timestamps. | | *startTimestamp* | The timestamp the maintenance begins. | | *thingName* | The name of the thing the maintenance work is associated with. It is available only in case the widget is placed into the Location details template. | | *type* | The maintenance events (see [Events / Maintenance](https://help.servitly.com/hc/en-us/articles/10513101908637)). | | *userEmail* | The email of the user who performed the maintenance. | | *properties.* | A custom property defined in the events. | You can customize the maintenance types by entering the [*Events / Maintenance*](https://help.servitly.com/hc/en-us/articles/10513101908637) page. You can find some predefined types, but you are free to define your own types or remove them as you need. ## Template Syntax Below you can find some examples of how to use the component within a template. ```xml                                                                                                                     ``` ## Component Reference Here is a comprehensive list of all the elements and properties that can be used to configure the component. #### Maintenance Registry `<maintenance-registry-widget>` | *Title* | The title displayed on the top part of the widget box. **Name**: title **Type**: STRING \| Optional `[title]="'Maintenance Registry'"` | | --- | --- | | **Rendering** | | *Availability* | Configure availability based on active features on Digital Plan on Add-ons **Name**: hasFeature **Type**: FEATURE (multiple) \| Optional `[hasFeature]="['feature_a', 'feature_b']"` | | *CSS Class* | The name(s) of the CSS class used to customize the widget layout. **Name**: class **Type**: STRING \| Optional `class="abc"` | | *Visibility Condition* | The expression that allows you to reduce the visibility of the element. **Name**: *ngIf **Type**: STRING \| Optional `*ngIf="getUser().organizationId != null"` | | **Sub Elements** | | [*Property*](/docs/maintenance-registry-widget/#property) | The property whose label and current value must be rendered into the maintenance table. Other properties will be automatically included into the maintenance details | #### Property `<property>` | *Description* | The property description. **Name**: description **Type**: STRING \| Optional `description="abc"` | | --- | --- | | *Filter* | The name of the filter used to transform and display values. **Name**: filter **Type**: FILTER \| Optional `filter="fooBarFilter"` | | *Label* | The property alternative label. **Name**: label **Type**: STRING \| Optional `label="Temperature"` | | *Name* | The property whose value must be loaded by the widget. **Name**: name **Type**: PROPERTY \| Required `name="serialNumber"` | | **Advanced** | | *Column CSS Class* | The name(s) of the column CSS class used to customize the table column. **Name**: columnClass **Type**: COLUMN_CSS \| Optional `columnClass="my-column-custom-class"` | | *Show Header* | The flag indicated whether the header is visible. **Name**: showHeader **Type**: BOOLEAN \| Optional **Default Value**: *true* `[showHeader]="false"` | | *Visibility Condition* | The expression that allows you to reduce the visibility of the element. **Name**: *ngIf **Type**: STRING \| Optional `*ngIf="getUser().organizationId != null"` | ## Full Syntax Example ```xml     ```