> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omni.co/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.omni.co/feedback

```json
{
  "path": "/modeling/topics/parameters/template",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# template

> Marks a topic as a template only accessible through `extends` and disables model validation.

Marks a topic as an abstract template. Template topics cannot be used directly — they must be extended by another topic using the [`extends`](/modeling/topics/parameters/extends) property. This enables reusable topic patterns and inheritance.

Template topics have relaxed model validation, meaning missing tables or columns will not cause errors. This allows you to define abstract structures that are completed by the extending topic. Refer to this [community article](https://community.omni.co/t/how-can-i-share-logic-across-multiple-models-hub-and-spoke/150) for more information.

When a non-template topic extends a template topic, it inherits all of the template's attributes and can override or add to them.

## Syntax

```yaml theme={null}
template: true/false
```

## Properties

<ParamField path="template" type="boolean">
  Controls whether the topic is treated as an abstract template. When set to `true`, the topic cannot be used directly and must be extended by another topic. Omni will also disable model validation for the topic.
</ParamField>

## Examples

```yaml title="template_topic" theme={null}
base_view: users
template: true

default_filters:
  status:
    is: active
```

```yaml title="extended_topic" theme={null}
base_view: users
extends: [template_topic]

# Inherits default_filters from template_topic
# Can override or add additional attributes
joins:
  orders: {}
```
