---
title: "Slot data model"
url: "https://docs.unified.to/healthcare/slot/model"
description: "The Slot data model object in Unified's Slot API: 12 fields, including created_at, updated_at and practitioner_id, with types and enum values."
---
# Slot data model

 View field support, webhooks, and list parameters for each integration on the [Supported Integrations](https://docs.unified.to/healthcare/integrations.md) page. 

| Field                      | Type                                                                                          | Required | Description                                                                                                |
| -------------------------- | --------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------------------------------------------- |
| id                         | string                                                                                        | No       | Unique identifier for the slot                                                                             |
| created\_at                | string (date-time)                                                                            | No       | When the slot was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)                                         |
| updated\_at                | string (date-time)                                                                            | No       | When the slot was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)                                    |
| practitioner\_id           | string                                                                                        | No       | The practitioner whose schedule the slot belongs to                                                        |
| location\_id               | string                                                                                        | No       | Where the slot takes place                                                                                 |
| status                     | enum                                                                                          | No       | Availability of the slot Values: FREE, BUSY, BUSY\_UNAVAILABLE, BUSY\_TENTATIVE, ENTERED\_IN\_ERROR, OTHER |
| start\_at                  | string (date-time)                                                                            | No       | When the slot starts (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)                                              |
| end\_at                    | string (date-time)                                                                            | No       | When the slot ends (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)                                                |
| service\_types             | [HealthcareCode](https://docs.unified.to/healthcare/slot/model.md#HealthcareCode)\[\]         | No       | Codings for the services that can be booked in the slot                                                    |
| service\_types\[\].system  | string                                                                                        | No       | The code system URI (e.g. http://loinc.org, http://snomed.info/sct)                                        |
| service\_types\[\].code    | string                                                                                        | No       | The code within the system                                                                                 |
| service\_types\[\].display | string                                                                                        | No       | Human-readable display text for the code                                                                   |
| is\_overbooked             | boolean                                                                                       | No       | Whether the slot has been overbooked                                                                       |
| notes                      | string                                                                                        | No       | Free-text notes about the slot                                                                             |
| metadata                   | [HealthcareMetadata](https://docs.unified.to/healthcare/slot/model.md#HealthcareMetadata)\[\] | No       |                                                                                                            |
| metadata\[\].id            | string                                                                                        | No       |                                                                                                            |
| metadata\[\].value         | object                                                                                        | No       |                                                                                                            |
| metadata\[\].namespace     | string                                                                                        | No       |                                                                                                            |
| metadata\[\].format        | enum                                                                                          | No       | Values: TEXT, NUMBER, DATE, BOOLEAN, ARRAY, OBJECT                                                         |
| metadata\[\].extra\_data   | object                                                                                        | No       |                                                                                                            |
| metadata\[\].slug          | string                                                                                        | No       |                                                                                                            |

## TypeScript

```typescript
export type HealthcareSlot = {
	id?: string; // Unique identifier for the slot
	created_at?: string-time; // When the slot was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	updated_at?: string-time; // When the slot was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	practitioner_id?: string; // The practitioner whose schedule the slot belongs to
	location_id?: string; // Where the slot takes place
	status?: 'FREE' | 'BUSY' | 'BUSY_UNAVAILABLE' | 'BUSY_TENTATIVE' | 'ENTERED_IN_ERROR' | 'OTHER'; // Availability of the slot
	start_at?: string-time; // When the slot starts (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	end_at?: string-time; // When the slot ends (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	service_types?: []; // Codings for the services that can be booked in the slot
	is_overbooked?: boolean; // Whether the slot has been overbooked
	notes?: string; // Free-text notes about the slot
	metadata?: [];
	raw?: any; // Raw data from integration
} 
```

## Zod

```typescript
import { z } from 'zod';

export const ZodHealthcareSlot = z.object({
	id: z.string().optional().describe("Unique identifier for the slot"),
	created_at: z.string-time().optional().describe("When the slot was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	updated_at: z.string-time().optional().describe("When the slot was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	practitioner_id: z.string().optional().describe("The practitioner whose schedule the slot belongs to"),
	location_id: z.string().optional().describe("Where the slot takes place"),
	status: z.enum("FREE", "BUSY", "BUSY_UNAVAILABLE", "BUSY_TENTATIVE", "ENTERED_IN_ERROR", "OTHER").optional().describe("Availability of the slot"),
	start_at: z.string-time().optional().describe("When the slot starts (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	end_at: z.string-time().optional().describe("When the slot ends (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	service_types: z.array().optional().describe("Codings for the services that can be booked in the slot"),
	is_overbooked: z.boolean().optional().describe("Whether the slot has been overbooked"),
	notes: z.string().optional().describe("Free-text notes about the slot"),
	metadata: z.array().optional(),

});
```

## Python

```python
import dataclasses

@dataclasses.dataclass
class HealthcareSlotStatus(str, Enum):
	FREE = 'FREE'
	BUSY = 'BUSY'
	BUSY_UNAVAILABLE = 'BUSY_UNAVAILABLE'
	BUSY_TENTATIVE = 'BUSY_TENTATIVE'
	ENTERED_IN_ERROR = 'ENTERED_IN_ERROR'
	OTHER = 'OTHER'

@dataclasses.dataclass
class HealthcareSlot:
	"""Unique identifier for the slot"""
	id: Optional[str]
	"""When the slot was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	created_at: Optional[str]
	"""When the slot was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	updated_at: Optional[str]
	"""The practitioner whose schedule the slot belongs to"""
	practitioner_id: Optional[str]
	"""Where the slot takes place"""
	location_id: Optional[str]
	"""Availability of the slot"""
	status: Optional[HealthcareSlotStatus]
	"""When the slot starts (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	start_at: Optional[str]
	"""When the slot ends (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	end_at: Optional[str]
	"""Codings for the services that can be booked in the slot"""
	service_types: Optional[PropertyHealthcareSlotService_types]
	"""Whether the slot has been overbooked"""
	is_overbooked: Optional[bool]
	"""Free-text notes about the slot"""
	notes: Optional[str]
	metadata: Optional[PropertyHealthcareSlotMetadata]

```
