Skip to content

Instantly share code, notes, and snippets.

@0xdevalias
Last active October 15, 2024 06:45
Show Gist options
  • Save 0xdevalias/18e666bc319b2e08f90e52bb5cb53538 to your computer and use it in GitHub Desktop.
Save 0xdevalias/18e666bc319b2e08f90e52bb5cb53538 to your computer and use it in GitHub Desktop.
ChatGPT / similar AI based plugins/agents/etc to assist in finding rental properties

ChatGPT / AI Rental Property Plugins/Agents

Some notes on ChatGPT / similar AI based plugins/agents/etc to assist in finding rental properties.

Table of Contents

ChatGPT Plugins

Australian Rental Search - OpenAI ChatGPT Plugin

Domain Rental Search - OpenAI ChatGPT Plugin

OpenAI-Realestate-Search

OpenAI-Rent-Search

OpenAI-Flatmates-Search

Some of my other related gists

openapi: 3.0.0
info:
title: Domain Rent Search API
description: A plugin that allows the user to search for an ideal apartment using ChatGPT.
version: 0.0.1
servers:
- url: https://www.domain.com.au
paths:
/rent/:
get:
summary: Fetch rental listings based on various criteria
description: Retrieve listings for rent based on suburb, property type, number of bedrooms, bathrooms, price range, car spaces, and additional features.
operationId: fetchRentListings
tags:
- Rent Listings
parameters:
- in: query
name: suburb
schema:
type: string
description: Comma-separated list of suburb slugs.
example: "brunswick-vic-3056,brunswick-east-vic-3057"
- in: query
name: ptype
schema:
type: string
description: Comma-separated list of property types.
example: "house,apartment-unit-flat"
- in: query
name: bedrooms
schema:
type: string
description: Bedroom range.
example: "2-any"
- in: query
name: bathrooms
schema:
type: string
description: Bathroom range.
example: "1-any"
- in: query
name: price
schema:
type: string
description: Price range.
example: "50-5000"
- in: query
name: excludedeposittaken
schema:
type: boolean
description: Exclude listings where deposit is taken.
- in: query
name: carspaces
schema:
type: string
description: Car space range.
example: "1-any"
- in: query
name: features
schema:
type: string
description: Comma-separated list of additional features.
example: "builtinwardrobes,gas"
- in: query
name: keywords
schema:
type: string
description: Search keywords.
example: "air conditioner"
responses:
'200':
description: Successful response with rental listings
content:
application/json:
schema:
type: object
properties:
props:
type: object
properties:
listingsMap:
type: object
additionalProperties:
$ref: '#/components/schemas/Listing'
components:
schemas:
Breadcrumbs:
type: array
items:
$ref: '#/components/schemas/Breadcrumb'
Breadcrumb:
type: object
properties:
title:
type: string
description: The title of the breadcrumb
url:
type: string
format: uri
description: The URL associated with the breadcrumb
Listing:
type: object
properties:
id:
type: integer
listingType:
type: string
listingModel:
$ref: '#/components/schemas/ListingModel'
ListingModel:
type: object
properties:
promoType:
type: string
url:
type: string
format: uri
images:
type: array
items:
type: string
format: uri
skeletonImages:
type: array
items:
$ref: '#/components/schemas/SkeletonImage'
brandingAppearance:
type: string
price:
type: string
hasVideo:
type: boolean
branding:
$ref: '#/components/schemas/Branding'
address:
$ref: '#/components/schemas/Address'
features:
$ref: '#/components/schemas/Features'
inspection:
$ref: '#/components/schemas/Inspection'
auction:
type: object
nullable: true
# Reference a specific schema for 'auction' if defined
tags:
$ref: '#/components/schemas/Tags'
displaySearchPriceRange:
type: string
nullable: true
enableSingleLineAddress:
type: boolean
SkeletonImage:
type: object
properties:
images:
type: object
properties:
original:
$ref: '#/components/schemas/ImageDetail'
tablet:
$ref: '#/components/schemas/ImageDetail'
mobile:
$ref: '#/components/schemas/ImageDetail'
mediaType:
type: string
description: The type of media, e.g., 'image'
ImageDetail:
type: object
properties:
url:
type: string
format: uri
description: URL of the image
width:
type: integer
description: Width of the image
height:
type: integer
description: Height of the image
Branding:
type: object
properties:
agencyId:
type: integer
description: ID of the agency
agents:
type: array
items:
$ref: '#/components/schemas/Agent'
agentNames:
type: string
description: Comma-separated names of agents
brandLogo:
type: string
format: uri
description: URL of the brand logo
skeletonBrandLogo:
type: string
format: uri
description: URL of the skeleton brand logo
brandName:
type: string
description: Name of the brand
brandColor:
type: string
description: Color of the brand
agentPhoto:
type: string
format: uri
description: URL of the agent's photo
nullable: true
agentName:
type: string
description: Name of the agent
Agent:
type: object
properties:
agentName:
type: string
description: Name of the agent
agentPhoto:
type: string
format: uri
description: URL of the agent's photo
nullable: true
Address:
type: object
properties:
street:
type: string
description: Street address of the property
suburb:
type: string
description: Suburb where the property is located
state:
type: string
description: State where the property is located
postcode:
type: string
description: Postal code of the property
lat:
type: number
format: float
description: Latitude coordinate of the property
lng:
type: number
format: float
description: Longitude coordinate of the property
Features:
type: object
properties:
beds:
type: integer
description: Number of bedrooms
baths:
type: integer
description: Number of bathrooms
parking:
type: integer
description: Number of parking spaces
propertyType:
type: string
description: Type of the property, e.g., 'ApartmentUnitFlat'
propertyTypeFormatted:
type: string
description: Formatted property type, e.g., 'Apartment / Unit / Flat'
isRural:
type: boolean
description: Indicates if the property is in a rural area
landSize:
type: integer
description: Size of the land
landUnit:
type: string
description: Unit of land size measurement, e.g., 'm²'
isRetirement:
type: boolean
description: Indicates if the property is intended for retirement living
Inspection:
type: object
properties:
openTime:
type: string
format: 'date-time'
description: Opening time for the property inspection
nullable: true
closeTime:
type: string
format: 'date-time'
description: Closing time for the property inspection
nullable: true
Tags:
type: object
properties:
tagText:
type: string
description: Text of the tag associated with the listing
nullable: true
tagClassName:
type: string
description: Class name for the tag, used for styling purposes
nullable: true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment