get_booking_link
ChatGPTUse this when the user is ready to book or wants a direct link to a property page on uhomes.com. Validates the property exists and returns a tracked booking URL.
get_booking_link_v2
ChatGPTUse this when the user is ready to book or wants a direct link to a property page on uhomes.com. Validates the property exists and returns a tracked booking URL.
get_property_detail
ChatGPTUse this when the user asks about a specific property's details, amenities, room types, prices, policies, photos, or reviews. Requires a house_id from a previous resolve_entities or recommend_properties call.
get_property_detail_v2
ChatGPTUse this when the user asks about a specific property's details, amenities, room types, prices, policies, photos, or reviews. Requires a house_id from a previous recommend_properties_v2 call.
recommend_properties
ChatGPTSearch and recommend rental properties based on user preferences. Supports filtering by city, school, budget, room type, supplier, commute time, and sorting by distance/popularity/rating. Uses smart ranking with fallback logic. Use resolve_entities first to resolve names to IDs. Use round=2+ or exclude_house_ids for 'show me more' requests. Each result carries sub_type_id identifying the property category: 1=Student Apartment (purpose-built student housing, PBSA), 2=Social Apartment (non-student rental for general public), 3=On-campus Dormitory, 4=Whole Unit Rental, 5=Room Rental, 6=Roommate-Finding, 16=Serviced Apartment. property_type is the localized label of the same value.
recommend_properties_v3
ChatGPTSearch and recommend rental properties (v3, aligned with the full recommendation engine). Pass city_name / school_name / supplier_name directly (resolved to IDs internally), or *_id fields if you already have IDs. Rich filters: budget, room type, house category, commute time, lease term, move-in month, guest count, ensuite/shared bathroom, exclusive listings, must-stay, short-rent, plus facility_names (e.g. 'gym', 'laundry') and tag_names (e.g. 'near subway', 'study area') resolved to IDs internally. Sort by price / distance / rating / popularity; omit sort_by for the default composite recommendation. Use round via exclude_house_ids for 'show me more'. Each result carries sub_type_id (property category): 1=Student Apartment (PBSA), 2=Social Apartment, 3=On-campus Dormitory, 4=Whole Unit Rental, 5=Room Rental, 6=Roommate-Finding, 16=Serviced Apartment.
resolve_entities
ChatGPTUse this when the user mentions cities, schools, universities, neighborhoods, suppliers, or specific properties by name. Resolves keywords to structured entity IDs using knowledge base + Elasticsearch. Pass keywords as a comma-separated string (e.g. 'UCL, London'). Returns grouped entities (location/supplier/house) with IDs. Pass returned IDs to recommend_properties: use city_id for cities, school_id for schools, location_type+location_id for neighborhood/subway/landmark, supplier_id for suppliers. The 'types' parameter filters which groups to return (comma-separated): location (includes city, school, neighborhood, subway, landmark, postal_code), supplier (or brand), house (or property). If omitted, all groups are searched.
search_locations
ChatGPTUse this when the user mentions a city, school, university, neighborhood, or subway station by name and you need to resolve it to a structured ID. Returns matching locations with IDs for use in recommend_properties. Pass the returned id as city_id (when type=city) or school_id (when type=school) or location_id + location_type (for neighborhood/subway) to recommend_properties.
search_suppliers
ChatGPTUse this when the user asks about a specific property management company, brand, or supplier by name. Returns supplier IDs for use in recommend_properties to filter by supplier.