# Type

- [YAML representation](https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Type#SCHEMA_REPRESENTATION)

Declaration of a custom type, as opposed to built-in types. Types can be assigned to slots in a scene or parameters of an intent's training phrases. Practically, Types can be thought of as enums. Note, type name is specified in the name of the file.

| YAML representation ||
|---|---|
| ``` exclusions: - string # Union field `sub_type` can be only one of the following: synonym: object (`https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/SynonymType`) regularExpression: object (`https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/RegularExpressionType`) freeText: object (`https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/FreeTextType`) # End of list of possible types for union field `sub_type`. ``` |

| Fields ||
|---|---|---|
| `exclusions[]` | `string` Set of exceptional words/phrases that shouldn't be matched by type. Note: If word/phrase is matched by the type but listed as an exclusion it won't be returned in parameter extraction result. **This field is localizable.** |
| Union field `sub_type`. Selection of sub type based on the type of matching to be done. `sub_type` can be only one of the following: |||
| `synonym` | ``object (`https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/SynonymType`)`` Synonyms type, which is essentially an enum. |
| `regularExpression` | ``object (`https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/RegularExpressionType`)`` Regex type, allows regular expression matching. |
| `freeText` | ``object (`https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/FreeTextType`)`` FreeText type. |