Import property content
Build and refresh your catalogue from the listing endpoints.
Search responses carry enough content for a results page. For property pages and a full catalogue, import content from the listing endpoints and keep it fresh.
Import the catalogue
- Page through List listings with
status=ACTIVEandlimit=100untilmeta.currentequalsmeta.totalPages. - Store each listing by its
id. Every other endpoint takes this ID. - For listings whose
propertyTypeisMULTI_UNITorCOMPLEX, call List units to get the bookable units or room types.
The list returns only listings that are enabled for your channel. A listing that disappears from the list is no longer sold through your channel.
Keep it fresh
Refresh a listing when its updatedAt changes. A daily full pass catches listings that were added or disabled. Prices and availability change far more often than content, so don't read them from the content feed. Use search, availability, and quotes for those.
Map the content
Agree the following mappings with OnSeason during certification:
- How
type(for exampleApartmentorVilla) andpropertyType(SINGLE_UNIT,MULTI_UNIT, orCOMPLEX) map to your catalogue. - How you sell multi-unit and complex properties: by
unitID, byroomType, or by letting OnSeason assign a unit. - Image order and what you show when a listing has no
thumbnailURL. - Amenity IDs and categories.
- How you show house rules, check-in windows, and check-in instructions.
Understand the unit models
propertyType | What it is | How to quote it |
|---|---|---|
SINGLE_UNIT | One rentable home. The units endpoint returns one auto-generated unit. | Quote the listing. No unit is needed. |
MULTI_UNIT | Several rentable units under one listing, such as apartments in one building. | Send unitID, or send roomType and let OnSeason pick a free unit of that type. |
COMPLEX | A hotel-like property with room types. | Same as MULTI_UNIT. |
Source PMSs don't share a room-type taxonomy, so treat roomType values as labels from the PMS, not as a fixed list.
Treat optional content as optional
What a listing carries depends on its PMS. Ratings, timeZone, listingDetails, check-in windows, and unit pictures can each be missing. Show what is there and fall back cleanly when it is not.
startPrice on a listing and basePrice on a unit are display values from the content feed. They don't depend on dates or availability, and they leave out fees and taxes. Never show either one as a bookable price.