Listing data model

Updated:

View field support, webhooks, and list parameters for each integration on the Supported Integrations page.

FieldTypeRequiredDescription
idstringNounique identifier for the listing
created_atstring (date-time)Nowhen the listing was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
updated_atstring (date-time)Nowhen the listing was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
namestringNothe public listing name
internal_namestringNothe internal (host-facing) listing name
descriptionstringNofree-text description of the listing
typeenumNothe normalized property type Values: APARTMENT, HOUSE, CONDO, STUDIO, VILLA, CABIN, ROOM, HOTEL, BED_AND_BREAKFAST, OTHER
is_activebooleanNowhether the listing is active
image_urlsstring[]NoURLs of the listing pictures
addressobjectNopostal address of the listing
address.address1stringNofirst line of the street address
address.address2stringNosecond line of the street address
address.citystringNocity or locality
address.regionstringNostate, province or regional area
address.region_codestringNostate, province or regional area code
address.postal_codestringNopostal or ZIP code
address.countrystringNocountry name
address.country_codestringNoISO 3166-1 alpha-2 country code
latitudenumberNolatitude of the listing
longitudenumberNolongitude of the listing
timezonestringNoIANA time zone of the listing
currencystringNoISO 4217 currency code
start_price_amountnumberNothe lowest nightly price
cleaning_fee_amountnumberNothe cleaning fee
max_occupancynumberNomaximum number of guests
bedroomsnumberNonumber of bedrooms
bedsnumberNonumber of beds
bathroomsnumberNonumber of bathrooms
min_nightsnumberNominimum length of stay, in nights
max_nightsnumberNomaximum length of stay, in nights
check_in_start_timestringNoearliest check-in time (HH:mm, local time)
check_in_end_timestringNolatest check-in time (HH:mm, local time)
check_out_timestringNocheck-out time (HH:mm, local time)
amenitiesstring[]Nothe amenity names
house_rulesstringNothe house rules
cancellation_policystringNothe cancellation policy
ratingnumberNothe average guest rating
review_countnumberNothe number of guest reviews
channelsPropertyChannel[]Nodistribution channels this listing is published on
channels[].namestringNothe distribution channel name, eg. Airbnb or Booking.com
channels[].web_urlstringNothe listing URL on that channel
unittype_idsstring[]NoProperty Unittypes (room types) of this listing
owner_user_idsstring[]NoHR Employees who own this listing
web_urlstringNothe listing URL
metadataPropertyMetadata[]Nocustom field values
metadata[].idstringNothe custom field identifier
metadata[].slugstringNothe custom field key
metadata[].valueobjectNothe custom field value
metadata[].namespacestringNothe scope or origin of the custom field
metadata[].formatenumNothe data type of the value Values: TEXT, NUMBER, DATE, BOOLEAN, FILE, TEXTAREA, SINGLE_SELECT, MULTIPLE_SELECT, MEASUREMENT, PRICE, YES_NO, CURRENCY, URL
metadata[].extra_dataobjectNoadditional data about the custom field

TypeScript

TypeScript
export type PropertyListing = {
	id?: string; // unique identifier for the listing
	created_at?: string-time; // when the listing was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	updated_at?: string-time; // when the listing was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	name?: string; // the public listing name
	internal_name?: string; // the internal (host-facing) listing name
	description?: string; // free-text description of the listing
	type?: 'APARTMENT' | 'HOUSE' | 'CONDO' | 'STUDIO' | 'VILLA' | 'CABIN' | 'ROOM' | 'HOTEL' | 'BED_AND_BREAKFAST' | 'OTHER'; // the normalized property type
	is_active?: boolean; // whether the listing is active
	image_urls?: string[]; // URLs of the listing pictures
	address?: {
		address1?: string; // first line of the street address 
		address2?: string; // second line of the street address 
		city?: string; // city or locality 
		region?: string; // state, province or regional area 
		region_code?: string; // state, province or regional area code 
		postal_code?: string; // postal or ZIP code 
		country?: string; // country name 
		country_code?: string; // ISO 3166-1 alpha-2 country code 
	}; // postal address of the listing
	latitude?: number; // latitude of the listing
	longitude?: number; // longitude of the listing
	timezone?: string; // IANA time zone of the listing
	currency?: string; // ISO 4217 currency code
	start_price_amount?: number; // the lowest nightly price
	cleaning_fee_amount?: number; // the cleaning fee
	max_occupancy?: number; // maximum number of guests
	bedrooms?: number; // number of bedrooms
	beds?: number; // number of beds
	bathrooms?: number; // number of bathrooms
	min_nights?: number; // minimum length of stay, in nights
	max_nights?: number; // maximum length of stay, in nights
	check_in_start_time?: string; // earliest check-in time (HH:mm, local time)
	check_in_end_time?: string; // latest check-in time (HH:mm, local time)
	check_out_time?: string; // check-out time (HH:mm, local time)
	amenities?: string[]; // the amenity names
	house_rules?: string; // the house rules
	cancellation_policy?: string; // the cancellation policy
	rating?: number; // the average guest rating
	review_count?: number; // the number of guest reviews
	channels?: []; // distribution channels this listing is published on
	unittype_ids?: string[]; // Property Unittypes (room types) of this listing
	owner_user_ids?: string[]; // HR Employees who own this listing
	web_url?: string; // the listing URL
	metadata?: []; // custom field values
	raw?: any; // raw data from the integration
} 

Zod

Zod
import { z } from 'zod';

export const ZodPropertyListing = z.object({
	id: z.string().optional().describe("unique identifier for the listing"),
	created_at: z.string-time().optional().describe("when the listing was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	updated_at: z.string-time().optional().describe("when the listing was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	name: z.string().optional().describe("the public listing name"),
	internal_name: z.string().optional().describe("the internal (host-facing) listing name"),
	description: z.string().optional().describe("free-text description of the listing"),
	type: z.enum("APARTMENT", "HOUSE", "CONDO", "STUDIO", "VILLA", "CABIN", "ROOM", "HOTEL", "BED_AND_BREAKFAST", "OTHER").optional().describe("the normalized property type"),
	is_active: z.boolean().optional().describe("whether the listing is active"),
	image_urls: z.array().optional().describe("URLs of the listing pictures"),
	address: z.object({
			address1: z.string().optional().describe("first line of the street address"),
			address2: z.string().optional().describe("second line of the street address"),
			city: z.string().optional().describe("city or locality"),
			region: z.string().optional().describe("state, province or regional area"),
			region_code: z.string().optional().describe("state, province or regional area code"),
			postal_code: z.string().optional().describe("postal or ZIP code"),
			country: z.string().optional().describe("country name"),
			country_code: z.string().optional().describe("ISO 3166-1 alpha-2 country code")
}).optional().describe("postal address of the listing"),
	latitude: z.number().optional().describe("latitude of the listing"),
	longitude: z.number().optional().describe("longitude of the listing"),
	timezone: z.string().optional().describe("IANA time zone of the listing"),
	currency: z.string().optional().describe("ISO 4217 currency code"),
	start_price_amount: z.number().optional().describe("the lowest nightly price"),
	cleaning_fee_amount: z.number().optional().describe("the cleaning fee"),
	max_occupancy: z.number().optional().describe("maximum number of guests"),
	bedrooms: z.number().optional().describe("number of bedrooms"),
	beds: z.number().optional().describe("number of beds"),
	bathrooms: z.number().optional().describe("number of bathrooms"),
	min_nights: z.number().optional().describe("minimum length of stay, in nights"),
	max_nights: z.number().optional().describe("maximum length of stay, in nights"),
	check_in_start_time: z.string().optional().describe("earliest check-in time (HH:mm, local time)"),
	check_in_end_time: z.string().optional().describe("latest check-in time (HH:mm, local time)"),
	check_out_time: z.string().optional().describe("check-out time (HH:mm, local time)"),
	amenities: z.array().optional().describe("the amenity names"),
	house_rules: z.string().optional().describe("the house rules"),
	cancellation_policy: z.string().optional().describe("the cancellation policy"),
	rating: z.number().optional().describe("the average guest rating"),
	review_count: z.number().optional().describe("the number of guest reviews"),
	channels: z.array().optional().describe("distribution channels this listing is published on"),
	unittype_ids: z.array().optional().describe("Property Unittypes (room types) of this listing"),
	owner_user_ids: z.array().optional().describe("HR Employees who own this listing"),
	web_url: z.string().optional().describe("the listing URL"),
	metadata: z.array().optional().describe("custom field values"),

});

Python

Python
import dataclasses

@dataclasses.dataclass
class PropertyListingType(str, Enum):
	APARTMENT = 'APARTMENT'
	HOUSE = 'HOUSE'
	CONDO = 'CONDO'
	STUDIO = 'STUDIO'
	VILLA = 'VILLA'
	CABIN = 'CABIN'
	ROOM = 'ROOM'
	HOTEL = 'HOTEL'
	BED_AND_BREAKFAST = 'BED_AND_BREAKFAST'
	OTHER = 'OTHER'

@dataclasses.dataclass
class PropertyPropertyListingAddress:
	"""first line of the street address"""
	address1: Optional[str]
	"""second line of the street address"""
	address2: Optional[str]
	"""city or locality"""
	city: Optional[str]
	"""state, province or regional area"""
	region: Optional[str]
	"""state, province or regional area code"""
	region_code: Optional[str]
	"""postal or ZIP code"""
	postal_code: Optional[str]
	"""country name"""
	country: Optional[str]
	"""ISO 3166-1 alpha-2 country code"""
	country_code: Optional[str]

@dataclasses.dataclass
class PropertyListing:
	"""unique identifier for the listing"""
	id: Optional[str]
	"""when the listing was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	created_at: Optional[str]
	"""when the listing was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	updated_at: Optional[str]
	"""the public listing name"""
	name: Optional[str]
	"""the internal (host-facing) listing name"""
	internal_name: Optional[str]
	"""free-text description of the listing"""
	description: Optional[str]
	"""the normalized property type"""
	type: Optional[PropertyListingType]
	"""whether the listing is active"""
	is_active: Optional[bool]
	"""URLs of the listing pictures"""
	image_urls: Optional[List[List[str]]]
	"""postal address of the listing"""
	address: Optional[PropertyPropertyListingAddress]
	"""latitude of the listing"""
	latitude: Optional[int]
	"""longitude of the listing"""
	longitude: Optional[int]
	"""IANA time zone of the listing"""
	timezone: Optional[str]
	"""ISO 4217 currency code"""
	currency: Optional[str]
	"""the lowest nightly price"""
	start_price_amount: Optional[int]
	"""the cleaning fee"""
	cleaning_fee_amount: Optional[int]
	"""maximum number of guests"""
	max_occupancy: Optional[int]
	"""number of bedrooms"""
	bedrooms: Optional[int]
	"""number of beds"""
	beds: Optional[int]
	"""number of bathrooms"""
	bathrooms: Optional[int]
	"""minimum length of stay, in nights"""
	min_nights: Optional[int]
	"""maximum length of stay, in nights"""
	max_nights: Optional[int]
	"""earliest check-in time (HH:mm, local time)"""
	check_in_start_time: Optional[str]
	"""latest check-in time (HH:mm, local time)"""
	check_in_end_time: Optional[str]
	"""check-out time (HH:mm, local time)"""
	check_out_time: Optional[str]
	"""the amenity names"""
	amenities: Optional[List[List[str]]]
	"""the house rules"""
	house_rules: Optional[str]
	"""the cancellation policy"""
	cancellation_policy: Optional[str]
	"""the average guest rating"""
	rating: Optional[int]
	"""the number of guest reviews"""
	review_count: Optional[int]
	"""distribution channels this listing is published on"""
	channels: Optional[PropertyPropertyListingChannels]
	"""Property Unittypes (room types) of this listing"""
	unittype_ids: Optional[List[List[str]]]
	"""HR Employees who own this listing"""
	owner_user_ids: Optional[List[List[str]]]
	"""the listing URL"""
	web_url: Optional[str]
	"""custom field values"""
	metadata: Optional[PropertyPropertyListingMetadata]
Are we missing anything? Let us know
Was this page helpful?