# Listings API
The Listing API has been designed to cover two common scenarios:
- Get listings from Keaze and KPro to publish them in another portal.
- Publish listings in Keaze Marketplace and Homes for Londoners portals without having to create and maintain the inventory and the listings in Keaze or KPro.
# On this page
# Get listings
To get all the live listings (listings ready to be published), send a GET to /api/rest/open/listings
.
To get all listings, no matter their visibility (draft, scheduled or live), send a GET to /api/rest/open/listings/all
.
You need to pass the QueryString parameter api_key
with your API key to get access to the resources.
# Payload
In both cases all responses are JSON encoded, and as they are paginated, the data is contained into an envelope:
{
"data": [items],
"pagination": {
"currentPage": 2, // current page number
"perPage": 10, // number of items to be shown per page
"total": 212, // total number of items
"from": 11, // number of the first item in the result
"to": 20, // number of the last item in the result
"lastPage": 23 // last page number
},
"links": {
"first": "url to the first page",
"prev": "url to the previous page",
"next": "url to the next page",
"last": "url to the last page"
}
}
where items
is the collection of listings.
Listings can advertise a single property or a development. In the first case the details about the property are returned in the field property
, but to get all the properties for the second case, it is necessary to issue a second request. Check the value of the field singleProperty
to identify how many properties the listing is advertising.
The payload for every listing is the same in both cases, but in the second one the field propertyDetails
will be null.
Although property payloads contains detailed information about the properties being advertised, for most portals, all relevant information to publish a listing is in the listing payload itself, and it is not necessary to use the property details.
# Listing fields
For a better understanding of the fields returned for listings, they have been divided in different sections.
The field detailsPerBedroom
is an array with one entry per each different amount the bedroom the properties being advertised have. Each entry will return fields with the best prices for the corresponding bedrooms. Listings also have fields for best prices in general.
Some fields are redundant, but it could help reducing computation on the API consumer side.
As Keaze deals with different schemes, some fields only have meaning for some specific schemes. Take a look to the section Understanding prices fields to know how to use all the fields returned.
Field name | Type | Nullable | Description |
---|---|---|---|
General | |||
id | number | false | Keaze Reference Id. |
developmentId | number | true | Keaze reference ID for the development linked to this listing. This is null if the listing is an independent unit or resale. |
propertyId | number | true | Keaze reference ID for the poroperty linked to this listing. This will not be null if the listing is an independent unit or resale. |
externalRef | string | true | External reference provided by the client. |
name | string | false | Listing name to display. |
slug | string | false | URL slug generated in KPro, using the listing name. This slug is used when building links to the listings on the sites that it is published on. |
singleProperty | boolean | false | true when the listing is advertising a single property. |
propertyDetails | object | true | Object containing the property details when the listing is single property. |
schemeGroup | object | false | Object that contains details about the schemes for the listing. Listings usually are related to a single scheme, but sometimes they can be related to more than one, like Help to Buy and First Dibs. The object has fields for the group of schemes and also the collection of all single schemes. Check the list of all possible scheme groups. |
availabilityStatus | object | false | Object that contains the code & name of the availability status. Regardless the occupancy type, there are only four possible values. Codes don't depend on the occupancy type, but names do. Codes are: coming-soon, available, under-offer & closed. |
visibility | string | false | draft, scheduled (if the listing is not yet live but has been scheduled to be published at a future time) or live |
contactEmail | string | true | Contact e-mail home seekers can write to if interested in the listing. |
defaultNotificationEmail | string | true | Default notification e-mail where automatic e-mails can be sent about leads. |
galleryImages | array | true | Array that contains the image gallery. Every item contains urls for different view ports: largeSize (1080px width), mediumSize (720px width) & thumbnail (360px width), There are two fields that could be empty: alternativeText and caption . There is a boolean field - main - which if true, means that that image is set as the main image for the listing. The final field is the tags field which is an array. All images match the aspect ratio 16x9. |
logo | object | true | Object that contains the logo including the caption , the url that leads to the file and the extraDetails object (often null for logos). |
videos | array | true | Array that contains video objects. The objects contain the video caption , url and the extraDetails object, which includes the type (youtube, vimeo, matterport or unknown), title , videoId (can be used to build the url for youtube and vimeo videos), embedCode and thumbnailUrl . For some videos there are not available thumbnail images. |
brochures | array | true | Array that contains brochure objects, including caption , (url to the brochure as a pdf file) and the extraDetails object. |
Address | |||
displayAddress | string | false | The address to display in the listing. The address doesn't contain the postcode. |
postcode | string | true | UK postcode for the listing. |
localAuthority | object | true | Object with details of local authority, consisting in local authority name, county name and region name. |
latitude | number | false | The latitude where the listing is. |
longitude | number | false | The longitude where the listing is. |
mapImageUrl | string | false | Map image url with a pin indicating the position of the property, useful if you want to display an image instead of calling Google Map or a similar map service. |
Descriptions | |||
shortDescription | string | true | Listing summary. |
longDescription | string | true | The full description of the listing (should ideally in HTML). |
localAreaName | string | true | Name of the local area. |
localAreaDescription | string | true | Description of the local area (should ideally in HTML). |
termsAndConditions | string | true | Terms and conditions (should ideally in HTML). |
disclaimer | string | true | Disclaimer (should ideally in HTML). |
specifications | array | true | Array of specification objects, where each one contains three fields: name , description and imageUrls |
Premises details | |||
newBuild | boolean | false | true is the listing if for new build properties. |
propertyType | object | false | An object with two fields: name and group . The second one could be Flat or House, while the first one is a more specific property type name, like Terrace or Bungalow . See all the property type values |
detailsPerBedroom | array | false | An array containing details per each bedroom the listing has. |
bedrooms | array | false | An array containing the different amount of bedrooms of the listing properties. |
bathrooms | array | true | An array containing the different amount of bathrooms of the listing properties. |
receptionRooms | array | true | An array containing the different amount of reception rooms of the listing properties. |
furnitureStatus | array | true | An array containing the different furniture status of the listing properties. Possible values are: unfurnished, part-furnished & furnished. |
tenure | string | false | Condition on which a property is held: leasehold or freehold. |
propertyFeatures | array | false | Array of objects describing all property features. Every object has two fields: section (text with the property feature section, e.g.: Parking ) & values (an array of string, containing all the property features for the section). |
councilTaxBands | array | false | Array of all council tax bands that apply to the listing's property/properties (A - H or 0 for N/A). |
forSale | boolean | false | The listing is for sale, otherwise is to rent. |
For sale | |||
isSharedOwnership | boolean | false | true if the listing is part of a Shared Ownership scheme. |
fullMarketPrice | number | true | The minimum full market price. |
depositValue | number | true | The minimum deposit value. |
minSharePercentage | number | true | The minimum share percentage if isSharedOwnership . |
minShareValue | number | true | The minimum share value if isSharedOwnership , computed from fullMarketPrice and minSharePercentage |
subsidisedMonthlyRent | number | true | The minimum amount to pay for rent of the part doesn't own when isSharedOwnership . |
maxGovernmentLoanPercent | number | true | Depending on the scheme, eligible buyers could receive a government loan. In such a case, this value is the maximum government loan percent. |
maxGovernmentLoanValue | number | true | The maximum government loan value, computed from fullMarketPrice and maxGovernmentLoanPercent |
monthlyServiceCharge | number | true | Monthly bill that covers the costs of any repairs or maintenance to the structure of the building, including drainage, insurance and management charges. |
annualGroundRent | number | true | Rent to pay annually to the freeholder or landlord of the leasehold property. |
reservationFee | number | true | Reservation fee to a developer that allows a buyer to reserve a property for a period. |
To rent | |||
monthlyRent | number | true | Monthly rent. |
weeklyRent | number | true | Weekly rent, computed from monthlyRent . |
rentalDeposit | number | true | Rental deposit value. |
minTenancyMonths | number | true | Minimum tenancy term in months. |
maxTenancyMonths | number | true | Maximum tenancy term in months. |
Both: For sale & To rent | |||
administrationFee | number | true | Fee charged by an agency to cover expenses related to record-keeping and/or other administrative costs. |
Timestamps | |||
createdAt | string | false | Date-time when the listing was created. |
updatedAt | string | false | Last date-time when the listing was updated. |
# Details per bedroom
Field name | Type | Nullable | Description |
---|---|---|---|
bedrooms | number | false | Total number of bedrooms. |
bathrooms | number | false | Total number of bathrooms. |
receptionRooms | number | true | Total number of reception rooms. |
furnitureStatus | string | true | unfurnished, part-furnished or furnished. |
fullMarketPrice | number | true | The minimum full price. |
depositPercentage | number | true | The minimum deposit percentage. |
depositValue | number | true | The minimum deposit value. Computed from previous fields. |
minSharePercentage | number | true | The minimum share percentage if isSharedOwnership . |
minShareValue | number | true | The minimum share value if isSharedOwnership . Computed from previous fields. |
subsidisedMonthlyRent | number | true | The minimum amount to pay for rent of the part you don't own when isSharedOwnership . |
subsidisedAsYearlyPercent | boolean | false | When it is shared ownership, subsidised rent can be entered as a monthly value (false) or as a yearly percent (true). |
subsidisedMonthlyRent | number | true | The minimum amount to pay for rent of the part you don't own when isSharedOwnership . Computed from previous fields. |
monthlyServiceCharge | number | true | Monthly bill that covers the costs of any repairs or maintenance to the structure of the building, including drainage, insurance and management charges. |
annualGroundRent | number | true | Rent to pay annually to the freeholder or landlord of the leasehold property. |
reservationFee | number | true | Reservation fee to a developer that allows a buyer to reserve a property for a period. |
monthlyRent | number | true | Monthly rent. |
weeklyRent | number | true | Weekly rent. Computed from monthlyRent . |
rentalDeposit | number | true | Rental deposit value. |
minTenancyMonths | number | true | Minimum tenancy term in months. |
maxTenancyMonths | number | true | Maximum tenancy term in months. |
administrationFee | number | true | Fee charged by an agency to cover expenses related to record-keeping and/or other. |
# Filtering
The API provides several fields that can be used to filter the results:
schemeGroup.slug
: slug of the scheme group.schemeGroup.name
: name of the scheme group.availabilityStatus.id
: id of the availability status.availabilityStatus.name
: name of the availability status.availabilityStatus.code
: code of the availability status.createdAt
: timestamp when the listing was created.development.id
: id of the development the listing is linked to.development.name
: name of the development the listing is linked to.development.localAuthority.county.name
: name of the county that the development's local authority sits within.displayAddress
: display address of the listing.estateAgency.id
: id of the estate agency.estateAgency.name
: name of the estate agency.hasProperties
: if the listing has properties linked to it (true or false).hasImages
: if the listing has images linked to it (true or false).housingProvider.id
: id of the housing provider.housingProvider.name
: name of the housing provider.id
: id of the listing.isLive
: if the listing is live and not draft, archived or scheduled (true or false).insideGla
: if the property is in the Greater London Authority (true or false).minBedrooms
: for filtering the number of bedrooms in the listing.minBathrooms
: for filtering the number of bathrooms in the listing.name
: listing name.newBuild
: if the listing is new build or not.postcode
: postcode of the listing.property.id
: id of the property linked to the listing (if it is an independent unit listing).property.name
: name of the property linked to the listing (if it is an independent unit listing).propertyType.id
: id of the property type.propertyType.name
: name of the property type.propertyType.group.id
: name of the property type's group.propertyType.group.name
: id of the property type's group.singleProperty
: if the listing is a single unit listing (true or false).schemeGroup.id
: id of the scheme group.schemeGroup.slug
: slug of the scheme group.schemeGroup.name
: name of the scheme group.slug
: URL slug generated by KPro.totalProperties
: total number of properties linked to the listing.totalImages
: total number of images linked to the listing.updatedAt
: the last timestamp when the listing was updated.visibility
: visibility of the listing (live, draft, archived or scheduled).
and several operators to be used in conjunction with the fields:
eq
: equalnot
: not equalgt
: greater than (for numbers, date and timestamps)lt
: less than (for numbers, date and timestamps)gte
: greater than or equal to (for numbers, date and timestamps)lte
: less than or equal to (for numbers, date and timestamps)ltt
: less than tomorrow's date, useful for datetime or timestamp fields when the filter value is a date without the time componentin
: in a list of values separated by commasnotin
: not in a list of values separated by commaslike
: standard like operator, use * for any amount of chars and _ for a single oneregex
: regular expressionarany
: check if any values in a list separated by commas are found in an arrayarall
: check if any values in a list separated by commas completely match an array
Operators should be placed after the fields, separated by a dot (.
). When multiple filters are specified, the AND logic operator will be used (except when using square brackets at the end of the parameter name to replace in
and notin
operators). When no operator is specified for a filter, the usual equal comparison is applied.
In order to filter dates and timestamps, use the ISO date format YYYY-MM-DD for dates, and if you want to include hours and minutes, use YYYY-MM-DD HH:mm. Notice that in all cases, UTC date/time is used.
Examples
- To get listings updated after 20-Mar-2021 10:00:
/api/rest/open/listings?updatedAt.gte=2021-03-20 10:00
- To get only Shared ownership listings:
/api/rest/open/listings?schemeGroup.slug=shared-ownership
# Filtering bedrooms or bathrooms
To filter bedrooms or bathrooms, it is best to use the arany
and arall
operators, as using operators like eq
, lt
and gt
only will compare the filtering value to the lowest number of bedrooms that a listing has rather than looking at the entire bedrooms array.
/api/rest/open/listings?minBedrooms.gte=3
will not return any listings that have any properties with fewer than 3 bedrooms, even if those listings also have properties with 3 or more bedrooms.
/api/rest/open/listings?minBedrooms.arany=1,3,5
will return all listings that have properties with 1, 3 or 5 bedrooms.
For finding listings with a certain amount of bedrooms or more, consider using a longer list of incrementing values, for example: for listings that have properties with 4 or more bedrooms use /api/rest/open/listings?minBedrooms.arany=4,5,6,7,8,9
.
For finding listings that have only properties with 2 or 3 bedrooms, you can use /api/rest/open/listings?minBedrooms.arall=2,3
.
The same methods can be applied with the minBathrooms
filter field.
# Bracket option
Brackets can be used instead of values separated by commas to replace the operators in
and notin
.
Examples
schemeGroup.slug[]=shared-owership&schemeGroup.slug[]=help-to-buy
is the same asschemeGroup.slug.in=shared-ownership,help-to-buy
schemeGroup.slug.not[]=shared-owership&schemeGroup.slug.not[]=help-to-buy
is the same asschemeGroup.slug.notin=shared-ownership,help-to-buy
# Sorting
By default results are sorting by name
, but you can change it by using parameter sort
and the field you want to sort by, separated by comma, as the value. Fields are sorted ascending, but you use the minus symbol (-
) in front of any of fields to change the order to descending.
Example, to sort first by updatedAt
descending, and then by name
ascending, use: sort=-updatedAt,name
# Pagination
Results are paginated based on parameters page
(page number, optional, default is 1) and size
(maximum number of records to return per page, optional, default is 50, maximum possible value is 1000).
# Get a specific listing
To get only one listing, send a GET to /api/rest/open/listings/{listing.id}
, where listing.id is the id reference in Keaze.
The payload is the same as when requesting the collection of listings.
# Example
{
"id": 1234,
"developmentId": 1234, // null if independent unit
"propertyId": null, // not null if independent unit
"externalRef": "ExampleRef",
"name": "Example street Resale",
"slug": "example-street-resale",
"singleProperty": true,
"propertyDetails": {
"propertyType": {
"name": "Flat",
"code": "flat",
"group": "Flat"
},
"availabilityStatus": {
"code": "available",
"name": "For sale"
},
"newBuild": false,
"propertyNumber": null,
"name": "Example street",
"handoverDate": null,
"useDevelopmentAddress": false,
"building": "10",
"street": "Example street",
"town": "Fakesville",
"postcode": "NO7 7RU",
"localAuthority": {
"slug": "arun",
"name": "Arun"
},
"bedrooms": 1,
"bathrooms": 1,
"receptionRooms": 1,
"furnitureStatus": "unfurnished",
"floorArea": 40,
"numberOfFloors": 1,
"floor": {
"code": "ground",
"name": "Ground floor"
},
"tenure": "leasehold",
"leaseYears": null,
"energyEfficiencyRatingCurrent": 63,
"energyEfficiencyRatingPotential": 78,
"environmentalImpactRatingCurrent": 70,
"environmentalImpactRatingPotential": 85,
"forSale": true,
"fullMarketPrice": 135000,
"depositPercentage": 5,
"depositValue": 1688,
"minSharePercentage": 25,
"minShareValue": 33750,
"subsidisedRent": 232.03,
"subsidisedAsYearlyPercent": false,
"subsidisedMonthlyRent": 232,
"monthlyServiceCharge": 130,
"annualGroundRent": null,
"reservationFee": null,
"administrationFee": null,
"councilTaxBand": "A",
"rentalDeposit": null,
"monthlyRent": null,
"weeklyRent": null,
"minTenancyMonths": null,
"maxTenancyMonths": null,
"maxGovernmentLoanPercent": null,
"maxGovernmentLoanValue": null,
"summaryDescription": null,
"fullSpecifications": null,
"features": [],
"floorplanImages": [],
"galleryImages": []
},
"schemeGroup": {
"slug": "shared-ownership",
"name": "Shared ownership",
"forSale": true,
"schemes": [
{
"slug": "shared-ownership",
"name": "Shared ownership"
}
]
},
"availabilityStatus": {
"code": "available",
"name": "For sale"
},
"visibility": "live",
"contactEmail": "example@housingprovider.com",
"defaultNotificationEmail": "example@housingprovider.com",
"galleryImages": [
{
"alternativeText": "",
"caption": "Example caption",
"main": false,
"tags": [],
"thumbnail": "https://static.propertybooking.co.uk/assets/developments/1234/gallery/360/file-030.jpeg",
"mediumSize": "https://static.propertybooking.co.uk/assets/developments/1234/gallery/720/file-030.jpeg",
"largeSize": "https://static.propertybooking.co.uk/assets/developments/1234/gallery/1080/file-030.jpeg"
},
{
"alternativeText": "",
"caption": "",
"main": true,
"tags": [],
"thumbnail": "https://static.asset-url.co.uk/assets/developments/1234/gallery/360/file-004.jpeg",
"mediumSize": "https://static.asset-url.co.uk/assets/developments/1234/gallery/720/file-004.jpeg",
"largeSize": "https://static.asset-url.co.uk/assets/developments/1234/gallery/1080/file-004.jpeg"
}
],
"logo": {
"caption": "",
"url": "http://static.asset-url.co.uk/assets/developments/1234/logo/2-6-10.jpg",
"extraDetails": null
},
"videos": [
{
"caption": "",
"url": "https://www.youtube.com/watch?v=Hzk27itihRI",
"extraDetails": {
"type": "youtube",
"title": "Example Video (worth a watch)",
"videoId": "Hzk27itihRI",
"embedCode": "<iframe src=\"https://www.youtube.com/embed/Hzk27itihRI\" id=\"youtubeIframe\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>",
"thumbnailUrl": "https://img.youtube.com/vi/Hzk27itihRI/mqdefault.jpg"
}
}
],
"brochures": [
{
"caption": "",
"url": "http://static.asset-url.co.uk/assets/developments/1234/brochure/example-brochure.pdf",
"extraDetails": null
}
],
"displayAddress": "10 Example street, Fakesville",
"postcode": "NO7 7RU",
"localAuthority": {
"name": "Arun",
"county": {
"name": "West Sussex",
"region": "South East"
}
},
"latitude": 50.0000000,
"longitude": -0.0000000,
"mapImageUrl": "http://static.asset-url.co.uk/assets/developments/1234/map.png",
"shortDescription": "Example summary",
"longDescription": "<p>Overview</p><p>Example overview</p>",
"localAreaName": "Fakesville",
"localAreaDescription": "<p>Example local area information</p>",
"termsAndConditions": "<p>Example terms</p>",
"disclaimer": "<p>Example disclaimer</p>",
"specifications": [],
"newBuild": false,
"propertyType": {
"name": "Semi-detached house",
"code": "semi-detached-house",
"group": "House"
},
"detailsPerBedroom": [
{
"bedrooms": 1,
"bathrooms": 1,
"receptionRooms": 1,
"furnitureStatus": "unfurnished",
"fullMarketPrice": 135000,
"depositPercentage": 5,
"minSharePercentage": 25,
"subsidisedRent": 232.03,
"subsidisedAsYearlyPercent": false,
"monthlyServiceCharge": 130,
"annualGroundRent": null,
"reservationFee": null,
"administrationFee": null,
"rentalDeposit": null,
"monthlyRent": null,
"minTenancyMonths": null,
"maxTenancyMonths": null
}
],
"bedrooms": [
1
],
"bathrooms": [
1
],
"receptionRooms": [
1
],
"furnitureStatus": [
"unfurnished"
],
"tenure": "leasehold",
"propertyFeatures": [
{
"section": "Others",
"values": [
"Central heating",
"Double Glazing"
]
},
{
"section": "Outside space",
"values": [
"Terrace"
]
},
{
"section": "Parking",
"values": [
"Underground parking"
]
}
],
"councilTaxBands": ["A"],
"forSale": true,
"isSharedOwnership": true,
"fullMarketPrice": 135000,
"depositValue": 1688,
"minSharePercentage": 25,
"minShareValue": 33750,
"subsidisedMonthlyRent": 232,
"maxGovernmentLoanPercent": null,
"maxGovernmentLoanValue": null,
"monthlyServiceCharge": 130,
"annualGroundRent": null,
"reservationFee": null,
"monthlyRent": null,
"weeklyRent": null,
"rentalDeposit": null,
"minTenancyMonths": null,
"maxTenancyMonths": null,
"administrationFee": null,
"updatedAt": "2022-03-25T14:14:43+00:00",
"createdAt": "2020-12-29T15:59:35+00:00"
}
# Get listing properties
When the listing is a development listing, send a GET to /api/rest/open/listings/{listing.id}/properties
to get all the properties advertised by the listing.
Unlike the listing collection payload, this one is not paginated, but it will be a JSON object with the field data
, which is an array containing all the properties.
{
"data": [items]
}
# Property details fields
Some fields match the ones in Listing details, and in many cases they are interpreted the same, but some as bedrooms
, bathrooms
and receptionRooms
are not. In property details they are considered as numbers, while in listings they are array of numbers.
Field name | Type | Nullable | Description |
---|---|---|---|
id | number | false | Reference Id. |
availabilityStatus | object | false | Object that contains the code & name of the availability status. Regardless the occupancy type, there are only four possible values. Codes don't depend on the occupancy type, but names do. Codes are: coming-soon, available, under-offer & closed, and they can be used to associate colours to each status. |
propertyNumber | string | true | Number or name used to identify the property. |
name | string | true | Name to identify the property when it is an independent unit. |
handoverDate | string | true | Date that the property will be available to be handed over to the buyer. |
forSale | boolean | false | The property is for sale, otherwise is to rent. |
Address | |||
useDevelopmentAddress | boolean | false | When true the property has the same address as the linked development. Other address fields will be null if this is true. |
building | string | true | First line of the address. |
street | string | true | Second line of the address. |
town | string | true | Third line of the address. |
postcode | string | true | Postcode of the property. |
localAuthority | object | true | Object containing name and slug of the local authority that the property lies within. |
Premises details | |||
propertyType | object | false | An object with two fields: name , code and group . group could be Flat or House, while name one is a more specific property type name, like End of terrace house or Bungalow, and code is a slug that marches, like end-of-terrace-house or bungalow. See all the property type values |
newBuild | boolean | false | true if the property is new build. Development properties are always new-build |
bedrooms | number | false | Total number of bedrooms. |
bathrooms | number | false | Total number of bathrooms. |
receptionRooms | number | false | Total number of reception rooms. |
furnitureStatus | string | true | unfurnished, part-furnished or furnished. |
floorArea | number | true | Floor area in square meters. |
numberOfFloors | number | true | Total number of floors the property has. |
floor | object | true | Floor that the entrance is located on. Object containing: name and code . name is a readable text that usually ends with the word floor, like Ground floor or Basement, code is corresponding floor number or a string for special cases: basement , ground , lower (for Lower ground) and 10+ (for Higher than 9th floor). |
tenure | string | false | Condition on which a property is held: leasehold or freehold. |
leaseYears | number | true | When the tenure is leasehold, the number of years the lease lasts. |
energyEfficiencyRatingCurrent | number | false | Integer number less or equal than 100, that reflects the Energy rating for the property. When it's a new build property, this value will be the Predicted energy rating, otherwise it will be the Current energy rating |
energyEfficiencyRatingPotential | number | false | Integer number less or equal than 100, that reflects the Potential energy rating for resale properties (not new build). |
environmentalImpactRatingCurrent | number | false | Integer number less or equal than 100, that reflects the Environmental impact rating for the property. When it's a new build property, this value will be the Predicted environmental impact rating, otherwise it will be the Current environmental impact rating |
environmentalImpactRatingPotential | number | false | Integer number less or equal than 100, that reflects the Potential environmental impact rating for resale properties (not new build). |
councilTaxBand | char | false | Character representing the property's council tax band (A - H or 0 for N/A). |
For sale | |||
fullMarketPrice | number | true | The minimum full price. |
depositPercentage | number | true | The minimum deposit percentage. |
depositValue | number | true | The minimum deposit value. Computed from previous fields. |
minSharePercentage | number | true | The minimum share percentage if the property is for sale under a Shared Ownership scheme. |
minShareValue | number | true | The minimum share value if the property is for sale under a Shared Ownership scheme. Computed from previous fields. |
subsidisedRent | number | true | The minimum amount to pay for rent of the part you don't own when the property is for sale under a Shared Ownership scheme. |
subsidisedAsYearlyPercent | boolean | false | Subsidised rent can be entered as a monthly value (false) or as a yearly percent (true) |
subsidisedMonthlyRent | number | true | The minimum amount to pay for rent of the part you don't own when the property is for sale under a Shared Ownership scheme. It is computed from previous fields. |
monthlyServiceCharge | number | true | Monthly bill that covers the costs of any repairs or maintenance to the structure of the building, including drainage, insurance and management charges. |
annualGroundRent | number | true | Rent to pay annually to the freeholder or landlord of the leasehold property. |
reservationFee | number | true | Reservation fee to a developer that allows a buyer to reserve a property for a period. |
maxGovernmentLoanPercent | number | true | Depending on the scheme, eligible buyers could receive a government loan. In such a case, this value is the maximum government loan percent. |
maxGovernmentLoanValue | number | true | The maximum government loan value. |
To rent | |||
rentalDeposit | number | true | Rental deposit value. |
monthlyRent | number | true | Monthly rent. |
weeklyRent | number | true | Weekly rent. Computed from monthlyRent . |
minTenancyMonths | number | true | Minimum tenancy term in months. |
maxTenancyMonths | number | true | Maximum tenancy term in months. |
Both: For sale & To rent | |||
administrationFee | number | true | Fee charged by an agency to cover expenses related to record-keeping and/or other. |
Media & specifications | |||
summaryDescription | string | true | A short summary to describe the property |
fullSpecifications | string | true | A full description of the property. |
features | array | false | Array of objects describing all property features. Every object has two fields: section (text with the property feature section, e.g.: Parking ) & values (an array of string, containing all the property features for the section). |
floorplanImages | array | false | Collection of floorplan images. Every item has 4 fields: url is the url in Keaze servers, and source is the url where the image was uploaded from if it was added via API. alt is the alternative text for the html image and caption is an optional caption you would like to display in some portals. |
galleryImages | array | false | Array that contains the image gallery. Every item contains urls for different view ports: largeSize (1080px width), mediumSize (720px width) & thumbnail (360px width), There are two fields that could be empty: alternativeText and caption . There is a boolean field - main - which if true, means that that image is set as the main image for the listing. The final field is the tags field which is an array. All images match the aspect ratio 16x9. |
# Understanding prices fields
Although listing and property payloads contains all available price fields, their use depends on the occupancy type and the schemes.
Some or even all the relevant price fields could be null. In those cases those values should be treated as TBA (To be announced).
There are two different occupancy types: For sale or To rent. The listing and property details always contain the field forSale
, which will be true when the occupancy type is For sale, otherwise is To rent.
# For sale fields
There are basically three different cases for sale properties, regarding the price fields:
- Standard: There is a
fullMarketPrice
, and to buy the property, it is necessary to pay adepositValue
. - Shared ownership: There is a share to buy and the rest to rent. The minimum share to buy is returned in the field
minSharePercentage
and the amount (computed from the full market price) is returned inminShareValue
. The monthly rent for the rest is returned in the fieldsubsidisedMonthlyRent
. ThedepositValue
is usually lower, because it's computed against the price for the share to buy. - The buyer can receive a government loan: It behaves like the Standard case, but field
maxGovernmentLoanPercent
will contain the percent of the government loan (usually 20 or 40, depending if the property is in London or not), andmaxGovernmentLoanValue
the amount it represents out of thefullMarketPrice
.
When it has the behavior of Shared ownership, the flag isSharedOwnership
will be true.
When buyers could receive a government loan, and fullMarketPrice
is null, maxGovernmentLoanValue
will be also null.
There are other fields that do not depend on the schemes, like:
monthlyServiceCharge
: Monthly bill that covers the costs of any repairs or maintenance to the structure of the building, including drainage, insurance and management charges.annualGroundRent
: Rent to pay annually to the freeholder or landlord of the leasehold property. Notice this field only make sense whentenure
is leasehold.reservationFee
: Reservation fee to a developer that allows a buyer to reserve a property for a period.administrationFee
: Fee charged by an agency to cover expenses related to record-keeping and/or other.
# To rent fields
There is no different cases for properties to rent.
The most important value is monthlyRent
, but sometimes is a good idea to display the weeklyRent
too, which is a computed value. rentalDeposit
, minTenancyMonths
and maxTenancyMonths
are sometimes specified by the housing providers, although it is not common.
administrationFee
is the other relevant field for properties to rent.
# Create and update listings in Keaze
There are three different endpoints to keep your listings updated in Keaze.
Add a new listing
POST /api/rest/open/listings
Update an existing listing
PUT /api/rest/open/listings/{listing.id}
Archive a listing
PATCH /api/rest/open/listings/{listing.id}/archive
The payload to add or update a listing are the same, although when using to update a listing, you only need to provide the fields that you wish to be updated.
There are two types of listings: development listing and single-property listing. The type of listing is determined by inspecting the existence of the field properties
, which must be only sent when it is a development listing.
There are also other differences which will be explained in the listing request payload.
When creating listings through the API, the corresponding entries in the inventory are created, although they are updated using the listings payload. For development listings, a new development is created and all the properties of the listing are assigned to the development, which name will match the listing's. For single-property listings, a new independent unit will be also created.
# Listing request payload
Field name | Type | Mandatory | Description |
---|---|---|---|
name | string | ✓ | Listing name to display. Max 255 characters. Alphanumeric characters only. |
externalRef | string | External reference provided by the client. Max 255 characters. | |
visibility | string | ✓ | draft or live |
contactEmail | string | Contact e-mail. Max 255 characters. Must be a valid email address format. | |
defaultNotificationEmail | string | Default notification e-mail. Max 255 characters. Must be a valid email address format. | |
displayAddress | string | ✓ | The address to display in the listing. The address does not contain the postcode. Max 255 characters. |
latitude | number | ✓ | The latitude where the listing is. Must be a number between -90 and 90. |
longitude | number | ✓ | The longitude where the listing is. Must be a number between -180 and 180. |
shortDescription | string | Summary of the listing. Max 255 characters. | |
longDescription | string | The full description of the listing. | |
localAreaName | string | Name of the local area. | |
localAreaDescription | string | Description of the local area. | |
termsAndConditions | string | Terms and conditions. | |
disclaimer | string | Disclaimer. | |
galleryImages | array | ✓ | Collection of gallery images. Every item has 4 fields: source (max 1024 characters) is the url where the image will be uploaded from, alt (max 255 characters) is the alternative text for the html image, caption (max 512 characters) is an optional caption you would like to display in some portals and tags is an array of strings that are relevant to the image. Only source is mandatory. Images will be automatically cropped and centered to match the aspect ratio 16x9. At least one image must be present. Minimum of one image |
videos | array | Array that contains objects with two attributes: url (mandatory, max 1024 characters) and caption (optional, max 512 characters). The url is the url of the video on the video platform like YouTube, Vimeo or Matterport, and caption is any caption as a description of the video. | |
brochures | array | Array that contains objects with two attributes: url (mandatory, max 1024 characters) and caption (optional, max 512 characters). The url is the url of the brochure as Pdf, and caption is any caption as a description of the brochure. |
When the listing is to advertise a development (development listing), it must also contain the following fields:
Field name | Type | Mandatory | Description |
---|---|---|---|
schemeGroup | string | ✓ | Must be one of the accepted scheme groups. |
developmentAddress | object | ✓ | Object with the development address details. |
properties | array | ✓ | Array with all the properties in the listing. Minimum of 1 property in the array. |
Where developmentAddress
is an object with the following fields:
Field name | Type | Mandatory | Description |
---|---|---|---|
building | string | The building name or number. Max 255 characters. | |
street | string | The name of the street or road. Max 255 characters. | |
town | string | The nearest large urban area. Max 255 characters. | |
postcode | string | ✓ | The postal area code. Max 255 characters. Must be a valid postcode format. |
When the listing is to advertise a single property (single-property listing), it must contain the field property
containing an object with the details of the property being advertised.
# Property request payload
Property fields are the same, regardless the type of listings, although some fields are not used depending on the case, which are explained in the column description.
Field name | Type | Mandatory | Description |
---|---|---|---|
schemeGroup | string | ✓ | Must be one of the accepted scheme groups. |
propertyType | string | ✓ | Must be one of the accepted property types. |
availabilityStatus | string | ✓ | One of the four possible availability status, regardless the property is for sale or to rent. |
handoverDate | string | Date that the property will be available to be handed over to the buyer. Must be in YYYY-MM-DD format | |
bedrooms | number | ✓ | Total number of bedrooms. |
bathrooms | number | ✓ | Total number of bathrooms. |
receptionRooms | number | ✓ | Total number of reception rooms. |
furnitureStatus | string | ✓ | unfurnished, part-furnished or furnished. |
floorArea | number | Integer value for floor area in square meters. Max 50000 | |
numberOfFloors | number | ✓ | Total number of floors the property has. |
floor | string | ✓ | The property entrance floor. Please see our floor labels. |
tenure | string | ✓ | Condition on which a property is held: leasehold or freehold. |
leaseYears | number | When the tenure is leasehold, the number of year the lease lasts. | |
energyEfficiencyRatingCurrent | number | Integer number from 0 to 100, that reflects the Energy rating for the property. When it's a new build property, this value will be the Predicted energy rating, otherwise it will be the Current energy rating | |
energyEfficiencyRatingPotential | number | Only for resale properties. Integer number from 0 to 100, that reflects the Potential energy rating for resale properties. | |
environmentalImpactRatingCurrent | number | Integer number from 0 to 100, that reflects the Environmental impact rating for the property. When it's a new build property, this value will be the Predicted environmental impact rating, otherwise it will be the Current environmental impact rating | |
environmentalImpactRatingPotential | number | Only for resale properties. Integer number from 0 to 100, that reflects the Potential environmental impact rating for resale properties. | |
fullSpecifications | string | A full description of the property (should ideally in HTML). | |
administrationFee | number | Fee charged by an agency to cover expenses related to record-keeping and/or other administrative costs. | |
features | array | ✓ | Keaze provides some predefined property features. Include all features applicable from the list of feature labels. |
fullCircleId | number | The property's Full Circle reference. | |
Address | |||
building | string | The building name or number for single-property listing or if useDevelopmentAddress is false. Max 255 characters. | |
street | string | The name of the street or road for single-property listing or if useDevelopmentAddress is false. Max 255 characters. | |
town | string | The nearest large urban area for single-property listing or if useDevelopmentAddress is false. Max 255 characters. | |
postcode | string | The postal area code for single-property listing or if useDevelopmentAddress is false, in which case is required. Max 255 characters. Must be a valid postcode format | |
For sale | |||
fullMarketPrice | number | ✓ | The property full market price when it is for sale. |
depositPercentage | number | ✓ | Percent to compute the lender deposit requirements when the property is for sale. Max 50 |
monthlyServiceCharge | number | When the property is for sale, the monthly bill that covers the costs of any repairs or maintenance to the structure of your building, including drainage, insurance and management charges. | |
annualGroundRent | number | The annual ground rent, made by a holder of a leasehold property to the freeholder or a superior leaseholder, as required under a lease. | |
reservationFee | number | Fee a buyer may have to pay to reserve a property for a specific period. It is not refundable, but it will usually be deducted from the purchase price if you then go on to complete the purchase of the property. | |
minSharePercentage | number | Minimum share to buy in percentage when the scheme is shared ownership (between 10 and 100). | |
subsidisedAsYearlyPercent | boolean | ✓* | For shared ownership properties, true is the subsidised value is expressed as a percent of the part the buyer is not going to purchase, false if the subsidised value is a fixed monthly value. Required when creating the property at the first time and the scheme group is Shared Ownership |
subsidisedRent | number | ✓* | It will depend on the subsidisedAsYearlyPercent value. If true, it should contain the subsidised rent as a yearly percent (maximum 20), otherwise it is the monthly rent value. Required when creating the property at the first time and the scheme group is Shared Ownership. |
To rent | |||
monthlyRent | number | ✓ | When the property is to rent, the monthly rent payment amount. |
rentalDeposit | number | Security deposit to rent the property. | |
minTenancyMonths | number | Minimum tenancy term in months when the property if to rent. Minimum 1 | |
maxTenancyMonths | number | Maximum tenancy term in months when the property if to rent. | |
Single-property listings | |||
name | string | ✓ | Only for single-property listings. Property name. |
newBuild | boolean | Only for single-property listings. If true the property is new build, otherwise is resale. For multi-property listings, properties are always New-build. | |
Multi-property listings | |||
propertyNumber | string | ✓ | Alphanumeric value to identify the property. It must be unique for all properties associated to the listing and it is also used to identify the property in the collection. Max 255 characters. |
active | boolean | When it's not active , it is not display on portals. If omitted, it's set to true. | |
useDevelopmentAddress | boolean | When true, the address fields need to be included, at least postcode . If omitted it's set to true. |
Non mandatory fields can be omitted when creating new listings and properties, in such cases null value will be used. For shared ownership properties, price fields related to shared ownership are mandatory.
When updating existing listings fields that are not going to be updated can be omitted, no matter if they are mandatory or not. For multi-property listings, you should always send the collection of all the properties for the listing, although for existing properties, only propertyNumber
is required. Properties omitted will be removed from the listing.
# Examples
In both cases the fields for the listing don't change, except that for listings based on developments (multi-property) the field developmentAddress
must be included, and the use of the field property
or properties
depending on the type of listing, single-property or multi-property respectively.
Fields for properties will vary depending on the type of listing and on the schemes.
Listing based on an independent-unit
Depending on the schemeGroup
some price fields are not needed for the property, although all fields are included in the example for illustration purposes.
For listing based on independent unit (single-property), name
must be used instead of propertyNumber
, newBuild
should be used, although once it's set to false, it can not be reverted. Fields for address must be included.
{
"name": "Example Listing",
"externalRef": "Example",
"visibility": "live",
"contactEmail": "notareal@email.com",
"defaultNotificationEmail": "thisoneisnt@realeither.co.uk",
"displayAddress": "22 Pretend Road, Faketon",
"latitude": -1.83232,
"longitude": 51.00124,
"shortDescription": "This property is really great. Buy it please.",
"longDescription": "<p>You should buy this property because:</p><ul><li>It is near some great chippies.</li><li>There are stunning views of the waste management plant</li><ul>",
"localAreaName": "Faketon",
"localAreaDescription": "<h1>Big ol' text</h1><p><small>Li'l babbie text</small></p>",
"termsAndConditions": "<p>Agree to these</p>",
"disclaimer": "<p><strong>Disclaimer!<strong> None of the fields in this example should be taken seriously<p>",
"galleryImages": [
{
"source": "https://targetcareers.co.uk/sites/targetcareers.co.uk/files/public/styles/header_1500x550/public/field/image/What-is-property.jpg?itok=utpb-VZc",
"caption": "Image caption",
"alt": "Image alternative text",
"tags": ["property", "stonks"]
},
{
"source": "https://c8.alamy.com/comp/E1B58B/derelict-bungalow-E1B58B.jpg",
"caption": "Image 2 caption",
"alt": "Image alternative text",
"tags": ["cosy", "rustic"]
}
],
"videos": [
{
"url": "https://www.youtube.com/watch?v=Aa2v8K1EOXg",
"caption": "Video 1"
},
{
"url": "https://www.youtube.com/watch?v=8qRZcXIODNU",
"caption": "Video 2"
}
],
"brochures": [
{
"url": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
"caption": "Brochure"
}
],
"property": {
"schemeGroup": "shared-ownership",
"name": "Example property",
"newBuild": true,
"propertyType": "bungalow",
"availabilityStatus": "available",
"handoverDate": "2022-06-20",
"bedrooms": 2,
"bathrooms": 1,
"receptionRooms": 1,
"furnitureStatus": "unfurnished",
"floorArea": 64.4,
"numberOfFloors": 1,
"floor": "ground",
"tenure": "leasehold",
"leaseYears": 66,
"energyEfficiencyRatingCurrent": 72,
"energyEfficiencyRatingPotential": 85,
"environmentalImpactRatingCurrent": 69,
"environmentalImpactRatingPotential": 80,
"fullSpecifications": "<p>This bungalow is super cosy</p>",
"administrationFee": 140,
"features": ["driveway", "back-garden", "patio", "double-glazing", "wheelchair-accessible"],
"fullCircleId": 123456,
"building": "Example building",
"street": "22 Pretend Road",
"town": "Faketon",
"postcode": "NO7 7RU",
"fullMarketPrice": 230000,
"depositPercentage": 10,
"monthlyServiceCharge": 20,
"annualGroundRent": 2000,
"reservationFee": 1000,
"minSharePercentage": 40,
"subsidisedAsYearlyPercent": true,
"subsidisedRent": 8,
"monthlyRent": 750,
"rentalDeposit": 900,
"minTenancyMonths": 12,
"maxTenancyMonths": 24
}
}
Listing based on a development
Depending on the schemeGroup
some price fields could be omitted for the property.
For listing based on developments (multi-property), propertyNumber
must be always included, and it's the field used to identify if a property must be added, updated or deleted from the listing.
Fields for address should be only included when useDevelopmentAddress
is false, if this field is omitted, it's assumed that it's true.
{
"name": "Example Developmemt",
"schemeGroup": "shared-ownership",
"externalRef": "Example 2",
"visibility": "live",
"contactEmail": "notareal@email.com",
"defaultNotificationEmail": "thisoneisnt@realeither.co.uk",
"displayAddress": "22 Pretend Road, Faketon",
"developmentAddress": {
"bulding": "Example development",
"street": "22 Pretend Road",
"town": "Faketon",
"postcode": "NO7 7RU"
},
"latitude": -1.83232,
"longitude": 51.00124,
"shortDescription": "This property is really great. Buy it please.",
"longDescription": "<p>You should buy this property because:</p><ul><li>It is near some great chippies.</li><li>There are stunning views of the waste management plant</li><ul>",
"localAreaName": "Faketon",
"localAreaDescription": "<h1>Big ol' text</h1><p><small>Li'l babbie text</small></p>",
"termsAndConditions": "<p>Agree to these</p>",
"disclaimer": "<p><strong>Disclaimer!<strong> None of the fields in this example should be taken seriously<p>",
"galleryImages": [
{
"source": "https://targetcareers.co.uk/sites/targetcareers.co.uk/files/public/styles/header_1500x550/public/field/image/What-is-property.jpg?itok=utpb-VZc",
"caption": "Image caption",
"alt": "Image alternative text",
"tags": ["property", "stonks"]
},
{
"source": "https://c8.alamy.com/comp/E1B58B/derelict-bungalow-E1B58B.jpg",
"caption": "Image 2 caption",
"alt": "Image alternative text",
"tags": ["cosy", "rustic"]
}
],
"videos": [
{
"url": "https://www.youtube.com/watch?v=Aa2v8K1EOXg",
"caption": "Video 1"
},
{
"url": "https://www.youtube.com/watch?v=8qRZcXIODNU",
"caption": "Video 2"
}
],
"brochures": [
{
"url": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
"caption": "Brochure"
}
],
"properties": [
{
"schemeGroup": "shared-ownership",
"propertyNumber": "Example property 1",
"propertyType": "flat",
"active": true,
"availabilityStatus": "available",
"handoverDate": "2022-06-20",
"bedrooms": 2,
"bathrooms": 1,
"receptionRooms": 1,
"furnitureStatus": "unfurnished",
"floorArea": 64.4,
"numberOfFloors": 1,
"floor": "ground",
"tenure": "leasehold",
"leaseYears": 66,
"energyEfficiencyRatingCurrent": 72,
"energyEfficiencyRatingPotential": 85,
"environmentalImpactRatingCurrent": 69,
"environmentalImpactRatingPotential": 80,
"fullSpecifications": "<p>This bungalow is super cosy</p>",
"administrationFee": 140,
"features": ["driveway", "back-garden", "patio", "double-glazing", "wheelchair-accessible"],
"fullCircleId": 123456,
"useDevelopmentAddress": false,
"building": "Example building",
"street": "22 Pretend Road",
"town": "Faketon",
"postcode": "NO7 7RU",
"fullMarketPrice": 230000,
"depositPercentage": 10,
"monthlyServiceCharge": 20,
"annualGroundRent": 2000,
"reservationFee": 1000,
"minSharePercentage": 40,
"subsidisedAsYearlyPercent": true,
"subsidisedRent": 8,
"monthlyRent": 750,
"rentalDeposit": 900,
"minTenancyMonths": 12,
"maxTenancyMonths": 24
},
{
"schemeGroup": "shared-ownership",
"propertyNumber": "Example property 2",
"propertyType": "flat",
"active": true,
"availabilityStatus": "available",
"handoverDate": "2022-06-20",
"bedrooms": 2,
"bathrooms": 1,
"receptionRooms": 1,
"furnitureStatus": "unfurnished",
"floorArea": 64.4,
"numberOfFloors": 1,
"floor": "ground",
"tenure": "leasehold",
"leaseYears": 66,
"energyEfficiencyRatingCurrent": 72,
"energyEfficiencyRatingPotential": 85,
"environmentalImpactRatingCurrent": 69,
"environmentalImpactRatingPotential": 80,
"fullSpecifications": "<p>This bungalow is super cosy</p>",
"administrationFee": 140,
"features": ["driveway", "back-garden", "patio", "double-glazing", "wheelchair-accessible"],
"fullCircleId": 123456,
"useDevelopmentAddress": false,
"building": "Example building",
"street": "22 Pretend Road",
"town": "Faketon",
"postcode": "NO7 7RU",
"fullMarketPrice": 230000,
"depositPercentage": 10,
"monthlyServiceCharge": 20,
"annualGroundRent": 2000,
"reservationFee": 1000,
"minSharePercentage": 40,
"subsidisedAsYearlyPercent": true,
"subsidisedRent": 8,
"monthlyRent": 750,
"rentalDeposit": 900,
"minTenancyMonths": 12,
"maxTenancyMonths": 20
}
]
}
# Label conventions
Possible values for some fields need to match available values in Keaze. Find below Keaze label convention for those fields.
# Scheme groups
- For sale
Label | Description |
---|---|
shared-ownership | Scheme that allows buyers to own a share and then rent the part they do not own at a reduced rate. Display value: Shared ownership. |
help-to-buy | Scheme that offers an equity loan where the government lends money to buy a newly-built home. Display value: Help to Buy only. |
first-dibs | Scheme to ensure that new, lower-cost homes in the capital are marketed and sold exclusively to Londoners and UK-based buyers first. Display value: First Dibs only. |
help-to-buy-and-first-dibs | Combine two previous schemes. Display value: Help to Buy & First Dibs. |
discounted-market-sale | Low-cost home ownership product where a housing provider offers a discount on the purchase of a new build property. Display value: Discounted market sale. |
private-sale | The option to use when you want to sale a property in the private market. Display value: Private sale. |
- To rent
Label | Description |
---|---|
london-living-rent | Scheme for middle-income households who now rent and want to build up savings to buy a home. Display value: London living rent. |
discount-market-rent | Offers home seekers the opportunity to rent a home at a rent that is 20% less than the market rate. It is also sometimes known as Intermediate Rent. Display value: Discounted market rent. |
rent-to-buy | Scheme that allows you to rent a property for less than the market price for a set amount of time, in which you are expected to use the money saved from the lower rent for a deposit to buy the property after the tenancy ends. Display value: Rent to Buy (Outside London). |
private-rent | The option to use when you want to rent a property in the private market. Display value: Private rent. |
# Availability status
The labels are the same regardless if the property is for sale or to rent, but the meaning depends on the purpose.
- For sale
Label | Description |
---|---|
coming-soon | The property is listed for sale soon. Display value: Coming soon. |
available | The property is available for sale. Display value: For sale. |
under-offer | The property is currently under offer. Display value: Sale Under offer. |
closed | The property was sold. Display value: Sold. |
- To rent
Label | Description |
---|---|
coming-soon | The property is listed to rent soon. Display value: Coming soon. |
available | The property is available to rent. Display value: To rent. |
under-offer | The property is currently under offer. Display value: Rent under offer. |
closed | The property is currently rented. Display value: Rented. |
# Property types
Property types (or building types) fields to describe the kind of property for sale or to rent.
Label | Description |
---|---|
flat | Flats are mostly single-level residential properties comprising of a set or rooms all located on one floor. Display value: Flat. |
semi-detached-house | Property attached to just one neighbouring house as part of a block of just two houses. Display value: Semi-detached house. |
detached-house | A stand-alone residential structure that does not share outside walls with another house or building. Display value: Detached house. |
terraced-house | One of a row of similar houses joined together by their side walls. Display value: Terraced house. |
end-of-terrace-house | A house attached to just one neighbour that in its turn is attached to two neighbours. Display value: End of terrace house. |
bungalow | Single-storey detached house or has a second storey built into a sloping roof. Display value: Bungalow. |
maisonette | A set of rooms for living in typically on two storeys as part of a larger building with a separate entrance from rest of the building. Display value: Maisonette. |
studio | A single room with cooking facilities which has its own bathroom attached. Display value: Studio. |
house | The default value to use when the house is not in any of the previous categories. Display value: House. |
# Property features
Features are grouped in different categories, although these categories are just for organizational purposes. When defining features, just add all applicable, and separate them by comma.
- Parking
Label | Description |
---|---|
off-street-parking | Whether the property has Off street parking facility available. |
on-street-parking | Whether On street/resident parking facility is available. |
underground-parking | Whether the property has Underground parking facility available. |
driveway | Whether the property has Driveway parking facility available. |
single-garage | Whether Single garage parking facility is available. |
double-garage | Whether Double garage parking facility is available. |
- Outside space: What outside areas are available.
Label | Description |
---|---|
back-garden | The property has access to a back garden area. |
communal-garden | The property has access to a communal garden. |
enclosed-garden | Whether enclosed garden outside area is available. |
front-garden | Whether the front garden outside area is available. |
private-garden | Whether the property has a private garden. |
rear-garden | Whether the property has a rear garden. |
terrace | Whether the property has a terrace. |
patio | Whether the property has a patio. |
- Others
Label | Description |
---|---|
wheelchair-accessible | Whether the property is wheelchair accessible. |
pets-allowed | Whether it is allowed to have pets. |
central-heating | Whether the property has central heating. |
double-glazing | Whether the property has double glazed windows. |
lift-access | Whether the property has lift access. |
# Furniture status labels
- furnished
- part-furnished
- unfurnished
# Floor labels
Floor in which the entrance of the property is located. The layout of floors within a multi-storey building is defined as follows:
Label | Description |
---|---|
ground | The entrance floor of the property is on the ground floor. |
1 | The entrance floor of the property is on the 1st floor. |
2 | The entrance floor of the property is on the 2nd floor. |
3 | The entrance floor of the property is on the 3rd floor. |
4 | The entrance floor of the property is on the 4th floor. |
5 | The entrance floor of the property is on the 5th floor. |
6 | The entrance floor of the property is on the 6th floor. |
7 | The entrance floor of the property is on the 7th floor. |
8 | The entrance floor of the property is on the 8th floor. |
9 | The entrance floor of the property is on the 9th floor. |
10+ | The entrance floor of the property is higher than the 9th floor. |
lower | The entrance floor of the property is on the lower ground. |
basement | The entrance floor of the property is on the basement. |