# search_unit_types

Search for unit types with powerful filtering, sorting, and pagination. Supports filters for ID, code, status, number of
bedrooms/units, building, address, workspace, space type, channel listings, and date fields.

<!-- INPUT_BLOCK_START -->

## Input

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `first` | `number` | No | Number of results to return (forward pagination). Maximum 25. Use with "after" for paging. |
| `after` | `string` | No | Cursor for forward pagination. Pass the "endCursor" from previous page's pageInfo. |
| `last` | `number` | No | Number of results to return (backward pagination). Maximum 25. Use with "before" for reverse paging. |
| `before` | `string` | No | Cursor for backward pagination. Pass the "startCursor" from previous page's pageInfo. |
| `filters` | `UnitTypesFiltersInput` | No | Filter criteria for the unit type search. Supports complex queries with AND/OR logic. - [UnitTypesFiltersInput](#unittypesfiltersinput) |
| `sort` | `UnitTypesSortInput` | No | Sort order for results. Defaults to newest first if not specified. - [UnitTypesSortInput](#unittypessortinput) |

### UnitTypesFiltersInput

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | `StringFilter` | No | [StringFilter](#stringfilter) |
| `code` | `StringFilter` | No | [StringFilter](#stringfilter) |
| `status` | `UnitTypeStatusFilter` | No | [UnitTypeStatusFilter](#unittypestatusfilter) |
| `numberOfBedrooms` | `NumberFilter` | No | [NumberFilter](#numberfilter) |
| `numberOfUnits` | `NumberFilter` | No | [NumberFilter](#numberfilter) |
| `createdAt` | `DateTimeFilter` | No | [DateTimeFilter](#datetimefilter) |
| `updatedAt` | `DateTimeFilter` | No | [DateTimeFilter](#datetimefilter) |
| `address` | `UnitTypesAddressFilter` | No | [UnitTypesAddressFilter](#unittypesaddressfilter) |
| `building` | `UnitTypesBuildingFilter` | No | [UnitTypesBuildingFilter](#unittypesbuildingfilter) |
| `workspace` | `UnitTypesWorkspaceFilter` | No | [UnitTypesWorkspaceFilter](#unittypesworkspacefilter) |
| `spaceType` | `UnitTypesSpaceTypeFilter` | No | [UnitTypesSpaceTypeFilter](#unittypesspacetypefilter) |
| `channelListings` | `UnitTypesChannelListingFilter` | No | [UnitTypesChannelListingFilter](#unittypeschannellistingfilter) |

### UnitTypesSortInput

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | `SortDirection` | No | Sort by unit type ID - [SortDirection](#sortdirection) |
| `code` | `SortDirection` | No | Sort by unit type code - [SortDirection](#sortdirection) |
| `createdAt` | `SortDirection` | No | Sort by creation date (use DESC for newest first) - [SortDirection](#sortdirection) |
| `updatedAt` | `SortDirection` | No | Sort by last update date (use DESC for recently modified first) - [SortDirection](#sortdirection) |

### StringFilter

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `eq` | `string` | No | Equals: exact match |
| `neq` | `string` | No | Not equals: exclude exact match |
| `in` | `string[]` | No | In: match any value in the array |
| `nin` | `string[]` | No | Not in: exclude values in the array |
| `search` | `string` | No | Full-text search: partial/fuzzy match |

### UnitTypeStatusFilter

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `eq` | `UnitTypeStatus` | No | Equals: exact status match - [UnitTypeStatus](#unittypestatus) |
| `neq` | `UnitTypeStatus` | No | Not equals: exclude status - [UnitTypeStatus](#unittypestatus) |
| `in` | `any[]` | No | In: match any status in the array |
| `nin` | `any[]` | No | Not in: exclude statuses in the array |

### NumberFilter

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `eq` | `number` | No | Equals: exact match |
| `neq` | `number` | No | Not equals: exclude exact match |
| `gt` | `number` | No | Greater than (exclusive) |
| `gte` | `number` | No | Greater than or equal (inclusive) |
| `lt` | `number` | No | Less than (exclusive) |
| `lte` | `number` | No | Less than or equal (inclusive) |
| `in` | `number[]` | No | In: match any value in the array |
| `nin` | `number[]` | No | Not in: exclude values in the array |

### DateTimeFilter

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `eq` | `string` | No | Equals: exact datetime match (ISO8601 format, e.g., "2025-01-15T14:30:00Z") |
| `neq` | `string` | No | Not equals: exclude exact datetime |
| `in` | `string[]` | No | In: match any datetime in the array |
| `nin` | `string[]` | No | Not in: exclude datetimes in the array |
| `lt` | `string` | No | Less than: before this datetime (exclusive) |
| `lte` | `string` | No | Less than or equal: before or at this datetime (inclusive) |
| `gt` | `string` | No | Greater than: after this datetime (exclusive) |
| `gte` | `string` | No | Greater than or equal: after or at this datetime (inclusive) |

### UnitTypesAddressFilter

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `city` | `StringFilter` | No | Filter by city |
| `country` | `StringFilter` | No | Filter by country |
| `countryCode` | `StringFilter` | No | Filter by country code |
| `postcode` | `StringFilter` | No | Filter by postcode |

### UnitTypesBuildingFilter

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | `StringFilter` | No | Filter by building ID |
| `name` | `StringFilter` | No | Filter by building name |

### UnitTypesWorkspaceFilter

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | `StringFilter` | No | Filter by workspace ID |

### UnitTypesSpaceTypeFilter

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | `StringFilter` | No | Filter by space type ID |
| `internalReference` | `StringFilter` | No | Filter by space type internal reference |

### UnitTypesChannelListingFilter

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | `StringFilter` | No | Filter by channel listing ID |
| `channelName` | `StringFilter` | No | Filter by channel name |
| `externalPlatformId` | `StringFilter` | No | Filter by external platform ID |
| `status` | `ChannelListingStatusFilter` | No | Filter by channel listing status - [ChannelListingStatusFilter](#channellistingstatusfilter) |

### ChannelListingStatusFilter

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `eq` | `ChannelListingStatus` | No | Equals: exact channel listing status - [ChannelListingStatus](#channellistingstatus) |
| `neq` | `ChannelListingStatus` | No | Not equals: exclude channel listing status - [ChannelListingStatus](#channellistingstatus) |
| `in` | `ChannelListingStatus[]` | No | In: match any channel listing status in the array - [ChannelListingStatus](#channellistingstatus) |
| `nin` | `ChannelListingStatus[]` | No | Not in: exclude channel listing statuses in the array - [ChannelListingStatus](#channellistingstatus) |

### SortDirection

| Value | Description |
| --- | --- |
| `ASC` | Ascending: oldest first |
| `DESC` | Descending: newest first |

### UnitTypeStatus

| Value | Description |
| --- | --- |
| `ACTIVE` | Unit type is active and bookable |
| `CHURNED` | Unit type has been churned (no longer offered) |
| `CREATING` | Unit type is being created and not yet active |
| `INACTIVE` | Unit type is inactive (paused) |

### ChannelListingStatus

| Value | Description |
| --- | --- |
| `ACTIVE` | |
| `INACTIVE` | |
| `ONBOARDING` | |
| `SUSPENDED` | |

<!-- INPUT_BLOCK_END -->

<!-- OUTPUT_BLOCK_START -->

## Output

| Field | Type | Description |
| --- | --- | --- |
| `content` | `ContentItem[]` | Array of content items returned by the tool - [ContentItem](#contentitem) |
| `isError` | `boolean` | Whether the tool execution resulted in an error |

### ContentItem

| Field | Type | Description |
| --- | --- | --- |
| `type` | `'text'` | Content type (currently only 'text' is supported) |
| `text` | `string` | The text content to display |

<!-- OUTPUT_BLOCK_END -->
