---
title: "Conversation data model"
url: "https://docs.unified.to/property/conversation/model"
description: "The Conversation data model object in Unified's Conversation API: 13 fields, including created_at, updated_at and listing_id, with types and enum values."
date: "2026-10-29T08:41:27.988Z"
updated: "2026-10-29T08:41:27.988Z"
---
# Conversation data model

Updated: October 29, 2026

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

| Field                                      | Type                   | Required | Description                                                                                                                                                  |
| ------------------------------------------ | ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| id                                         | string                 | No       | unique identifier for the conversation                                                                                                                       |
| created\_at                                | string (date-time)     | No       | when the conversation was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)                                                                                   |
| updated\_at                                | string (date-time)     | No       | when the conversation was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)                                                                              |
| listing\_id                                | string                 | No       | pointer to the Property Listing this conversation is about                                                                                                   |
| reservation\_id                            | string                 | No       | pointer to the Property Reservation this conversation is about                                                                                               |
| guest\_id                                  | string                 | No       | pointer to the Property Guest in this conversation                                                                                                           |
| guest\_name                                | string                 | No       | the guest full name                                                                                                                                          |
| guest\_email                               | string                 | No       | the guest email address                                                                                                                                      |
| guest\_phone                               | string                 | No       | the guest telephone number                                                                                                                                   |
| source                                     | string                 | No       | the channel the conversation happens on, eg. Airbnb, email or SMS                                                                                            |
| is\_unread                                 | boolean                | No       | whether the conversation has unread messages                                                                                                                 |
| messages                                   | PropertyMessage\[\]    | No       | the messages in this conversation, oldest first                                                                                                              |
| messages\[\].id                            | string                 | No       | unique identifier for the message                                                                                                                            |
| messages\[\].created\_at                   | string (date-time)     | No       | when the message was sent (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)                                                                                           |
| messages\[\].updated\_at                   | string (date-time)     | No       | when the message was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)                                                                                   |
| messages\[\].message                       | string                 | No       | the message body as plain text                                                                                                                               |
| messages\[\].subject                       | string                 | No       | the message subject                                                                                                                                          |
| messages\[\].sender\_type                  | enum                   | No       | whether the guest, host or system sent the message Values: GUEST, HOST, SYSTEM                                                                               |
| messages\[\].sender\_name                  | string                 | No       | the name of the sender                                                                                                                                       |
| messages\[\].is\_automatic                 | boolean                | No       | whether the message was sent automatically                                                                                                                   |
| messages\[\].is\_unread                    | boolean                | No       | whether the message has not been read                                                                                                                        |
| messages\[\].attachments                   | PropertyAttachment\[\] | No       | files attached to the message                                                                                                                                |
| messages\[\].attachments\[\].id            | string                 | No       | unique identifier for the attachment                                                                                                                         |
| messages\[\].attachments\[\].name          | string                 | No       | the attachment file name                                                                                                                                     |
| messages\[\].attachments\[\].download\_url | string                 | No       | URL to download the attachment                                                                                                                               |
| messages\[\].attachments\[\].content\_type | string                 | No       | the attachment MIME type                                                                                                                                     |
| metadata                                   | PropertyMetadata\[\]   | No       | custom field values                                                                                                                                          |
| metadata\[\].id                            | string                 | No       | the custom field identifier                                                                                                                                  |
| metadata\[\].slug                          | string                 | No       | the custom field key                                                                                                                                         |
| metadata\[\].value                         | object                 | No       | the custom field value                                                                                                                                       |
| metadata\[\].namespace                     | string                 | No       | the scope or origin of the custom field                                                                                                                      |
| metadata\[\].format                        | enum                   | No       | the data type of the value Values: TEXT, NUMBER, DATE, BOOLEAN, FILE, TEXTAREA, SINGLE\_SELECT, MULTIPLE\_SELECT, MEASUREMENT, PRICE, YES\_NO, CURRENCY, URL |
| metadata\[\].extra\_data                   | object                 | No       | additional data about the custom field                                                                                                                       |

## TypeScript

```typescript
export type PropertyConversation = {
	id?: string; // unique identifier for the conversation
	created_at?: string-time; // when the conversation was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	updated_at?: string-time; // when the conversation was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	listing_id?: string; // pointer to the Property Listing this conversation is about
	reservation_id?: string; // pointer to the Property Reservation this conversation is about
	guest_id?: string; // pointer to the Property Guest in this conversation
	guest_name?: string; // the guest full name
	guest_email?: string; // the guest email address
	guest_phone?: string; // the guest telephone number
	source?: string; // the channel the conversation happens on, eg. Airbnb, email or SMS
	is_unread?: boolean; // whether the conversation has unread messages
	messages?: []; // the messages in this conversation, oldest first
	metadata?: []; // custom field values
	raw?: any; // raw data from the integration
} 
```

## Zod

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

export const ZodPropertyConversation = z.object({
	id: z.string().optional().describe("unique identifier for the conversation"),
	created_at: z.string-time().optional().describe("when the conversation was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	updated_at: z.string-time().optional().describe("when the conversation was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	listing_id: z.string().optional().describe("pointer to the Property Listing this conversation is about"),
	reservation_id: z.string().optional().describe("pointer to the Property Reservation this conversation is about"),
	guest_id: z.string().optional().describe("pointer to the Property Guest in this conversation"),
	guest_name: z.string().optional().describe("the guest full name"),
	guest_email: z.string().optional().describe("the guest email address"),
	guest_phone: z.string().optional().describe("the guest telephone number"),
	source: z.string().optional().describe("the channel the conversation happens on, eg. Airbnb, email or SMS"),
	is_unread: z.boolean().optional().describe("whether the conversation has unread messages"),
	messages: z.array().optional().describe("the messages in this conversation, oldest first"),
	metadata: z.array().optional().describe("custom field values"),

});
```

## Python

```python
import dataclasses

@dataclasses.dataclass
class PropertyConversation:
	"""unique identifier for the conversation"""
	id: Optional[str]
	"""when the conversation was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	created_at: Optional[str]
	"""when the conversation was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	updated_at: Optional[str]
	"""pointer to the Property Listing this conversation is about"""
	listing_id: Optional[str]
	"""pointer to the Property Reservation this conversation is about"""
	reservation_id: Optional[str]
	"""pointer to the Property Guest in this conversation"""
	guest_id: Optional[str]
	"""the guest full name"""
	guest_name: Optional[str]
	"""the guest email address"""
	guest_email: Optional[str]
	"""the guest telephone number"""
	guest_phone: Optional[str]
	"""the channel the conversation happens on, eg. Airbnb, email or SMS"""
	source: Optional[str]
	"""whether the conversation has unread messages"""
	is_unread: Optional[bool]
	"""the messages in this conversation, oldest first"""
	messages: Optional[PropertyPropertyConversationMessages]
	"""custom field values"""
	metadata: Optional[PropertyPropertyConversationMetadata]

```
