Reservation data model

Updated:

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

FieldTypeRequiredDescription
idstringNounique identifier for the reservation
created_atstring (date-time)Nowhen the reservation was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
updated_atstring (date-time)Nowhen the reservation was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
listing_idstringNopointer to the Property Listing that is booked
unittype_idsstring[]NoProperty Unittypes (room types) that are booked
guest_idstringNopointer to the Property Guest who made the reservation
guest_namestringNothe primary guest full name
guest_emailstringNothe primary guest email address
guest_phonestringNothe primary guest telephone number
statusenumNothe reservation status Values: INQUIRY, PENDING, CONFIRMED, CANCELLED, CHECKED_IN, CHECKED_OUT, NO_SHOW, OTHER
sourcestringNothe booking channel, eg. Airbnb, Booking.com or direct
confirmation_codestringNothe booking channel confirmation code
start_atstring (date-time)Nothe arrival (check-in) date (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
end_atstring (date-time)Nothe departure (check-out) date (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
estimated_arrival_timestringNothe guest estimated arrival time (HH:mm, local time)
estimated_departure_timestringNothe guest estimated departure time (HH:mm, local time)
nightsnumberNonumber of nights
guestsnumberNototal number of guests
adultsnumberNonumber of adults
childrennumberNonumber of children
infantsnumberNonumber of infants
petsnumberNonumber of pets
currencystringNoISO 4217 currency code
total_amountnumberNothe total price of the reservation
paid_amountnumberNothe amount already paid
balance_amountnumberNothe remaining balance
line_itemsPropertyLineitem[]Noprice breakdown (base price, fees, taxes, discounts)
line_items[].typeenumNobase price, fee, tax, discount or deposit Values: BASE, FEE, TAX, DISCOUNT, DEPOSIT, OTHER
line_items[].namestringNothe line item name, eg. Cleaning fee
line_items[].descriptionstringNofree-text description of the line item
line_items[].amountnumberNothe line item amount (discounts are negative)
line_items[].is_mandatorybooleanNowhether the line item is mandatory
notesstringNofree-text notes about the reservation
cancelled_atstring (date-time)Nowhen the reservation was cancelled (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
web_urlstringNothe reservation 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 PropertyReservation = {
	id?: string; // unique identifier for the reservation
	created_at?: string-time; // when the reservation was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	updated_at?: string-time; // when the reservation was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	listing_id?: string; // pointer to the Property Listing that is booked
	unittype_ids?: string[]; // Property Unittypes (room types) that are booked
	guest_id?: string; // pointer to the Property Guest who made the reservation
	guest_name?: string; // the primary guest full name
	guest_email?: string; // the primary guest email address
	guest_phone?: string; // the primary guest telephone number
	status?: 'INQUIRY' | 'PENDING' | 'CONFIRMED' | 'CANCELLED' | 'CHECKED_IN' | 'CHECKED_OUT' | 'NO_SHOW' | 'OTHER'; // the reservation status
	source?: string; // the booking channel, eg. Airbnb, Booking.com or direct
	confirmation_code?: string; // the booking channel confirmation code
	start_at?: string-time; // the arrival (check-in) date (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	end_at?: string-time; // the departure (check-out) date (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	estimated_arrival_time?: string; // the guest estimated arrival time (HH:mm, local time)
	estimated_departure_time?: string; // the guest estimated departure time (HH:mm, local time)
	nights?: number; // number of nights
	guests?: number; // total number of guests
	adults?: number; // number of adults
	children?: number; // number of children
	infants?: number; // number of infants
	pets?: number; // number of pets
	currency?: string; // ISO 4217 currency code
	total_amount?: number; // the total price of the reservation
	paid_amount?: number; // the amount already paid
	balance_amount?: number; // the remaining balance
	line_items?: []; // price breakdown (base price, fees, taxes, discounts)
	notes?: string; // free-text notes about the reservation
	cancelled_at?: string-time; // when the reservation was cancelled (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	web_url?: string; // the reservation URL
	metadata?: []; // custom field values
	raw?: any; // raw data from the integration
} 

Zod

Zod
import { z } from 'zod';

export const ZodPropertyReservation = z.object({
	id: z.string().optional().describe("unique identifier for the reservation"),
	created_at: z.string-time().optional().describe("when the reservation was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	updated_at: z.string-time().optional().describe("when the reservation was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	listing_id: z.string().optional().describe("pointer to the Property Listing that is booked"),
	unittype_ids: z.array().optional().describe("Property Unittypes (room types) that are booked"),
	guest_id: z.string().optional().describe("pointer to the Property Guest who made the reservation"),
	guest_name: z.string().optional().describe("the primary guest full name"),
	guest_email: z.string().optional().describe("the primary guest email address"),
	guest_phone: z.string().optional().describe("the primary guest telephone number"),
	status: z.enum("INQUIRY", "PENDING", "CONFIRMED", "CANCELLED", "CHECKED_IN", "CHECKED_OUT", "NO_SHOW", "OTHER").optional().describe("the reservation status"),
	source: z.string().optional().describe("the booking channel, eg. Airbnb, Booking.com or direct"),
	confirmation_code: z.string().optional().describe("the booking channel confirmation code"),
	start_at: z.string-time().optional().describe("the arrival (check-in) date (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	end_at: z.string-time().optional().describe("the departure (check-out) date (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	estimated_arrival_time: z.string().optional().describe("the guest estimated arrival time (HH:mm, local time)"),
	estimated_departure_time: z.string().optional().describe("the guest estimated departure time (HH:mm, local time)"),
	nights: z.number().optional().describe("number of nights"),
	guests: z.number().optional().describe("total number of guests"),
	adults: z.number().optional().describe("number of adults"),
	children: z.number().optional().describe("number of children"),
	infants: z.number().optional().describe("number of infants"),
	pets: z.number().optional().describe("number of pets"),
	currency: z.string().optional().describe("ISO 4217 currency code"),
	total_amount: z.number().optional().describe("the total price of the reservation"),
	paid_amount: z.number().optional().describe("the amount already paid"),
	balance_amount: z.number().optional().describe("the remaining balance"),
	line_items: z.array().optional().describe("price breakdown (base price, fees, taxes, discounts)"),
	notes: z.string().optional().describe("free-text notes about the reservation"),
	cancelled_at: z.string-time().optional().describe("when the reservation was cancelled (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	web_url: z.string().optional().describe("the reservation URL"),
	metadata: z.array().optional().describe("custom field values"),

});

Python

Python
import dataclasses

@dataclasses.dataclass
class PropertyReservationStatus(str, Enum):
	INQUIRY = 'INQUIRY'
	PENDING = 'PENDING'
	CONFIRMED = 'CONFIRMED'
	CANCELLED = 'CANCELLED'
	CHECKED_IN = 'CHECKED_IN'
	CHECKED_OUT = 'CHECKED_OUT'
	NO_SHOW = 'NO_SHOW'
	OTHER = 'OTHER'

@dataclasses.dataclass
class PropertyReservation:
	"""unique identifier for the reservation"""
	id: Optional[str]
	"""when the reservation was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	created_at: Optional[str]
	"""when the reservation was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	updated_at: Optional[str]
	"""pointer to the Property Listing that is booked"""
	listing_id: Optional[str]
	"""Property Unittypes (room types) that are booked"""
	unittype_ids: Optional[List[List[str]]]
	"""pointer to the Property Guest who made the reservation"""
	guest_id: Optional[str]
	"""the primary guest full name"""
	guest_name: Optional[str]
	"""the primary guest email address"""
	guest_email: Optional[str]
	"""the primary guest telephone number"""
	guest_phone: Optional[str]
	"""the reservation status"""
	status: Optional[PropertyReservationStatus]
	"""the booking channel, eg. Airbnb, Booking.com or direct"""
	source: Optional[str]
	"""the booking channel confirmation code"""
	confirmation_code: Optional[str]
	"""the arrival (check-in) date (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	start_at: Optional[str]
	"""the departure (check-out) date (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	end_at: Optional[str]
	"""the guest estimated arrival time (HH:mm, local time)"""
	estimated_arrival_time: Optional[str]
	"""the guest estimated departure time (HH:mm, local time)"""
	estimated_departure_time: Optional[str]
	"""number of nights"""
	nights: Optional[int]
	"""total number of guests"""
	guests: Optional[int]
	"""number of adults"""
	adults: Optional[int]
	"""number of children"""
	children: Optional[int]
	"""number of infants"""
	infants: Optional[int]
	"""number of pets"""
	pets: Optional[int]
	"""ISO 4217 currency code"""
	currency: Optional[str]
	"""the total price of the reservation"""
	total_amount: Optional[int]
	"""the amount already paid"""
	paid_amount: Optional[int]
	"""the remaining balance"""
	balance_amount: Optional[int]
	"""price breakdown (base price, fees, taxes, discounts)"""
	line_items: Optional[PropertyPropertyReservationLine_items]
	"""free-text notes about the reservation"""
	notes: Optional[str]
	"""when the reservation was cancelled (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	cancelled_at: Optional[str]
	"""the reservation URL"""
	web_url: Optional[str]
	"""custom field values"""
	metadata: Optional[PropertyPropertyReservationMetadata]
Are we missing anything? Let us know
Was this page helpful?