Listing Schema⚓︎
Listing Model⚓︎
| Name | Type | Description |
|---|---|---|
type | string | Type of the listing. One of [Apartment, House, Building, Farm, Land, BusinessOffice, Store, Warehouse, Garage, HouseFloor, SaleOfBusiness]required |
subType | string | Type of the listing. One of [UrbanLand, BuildableLand, RusticLand, IndustrialLand] |
reference | string | Internal reference of the property in your crm. It must be unique.requiredminLength: 1string ^.{0,100}$ |
referenceURL | string | Public link for the listing.nullable: truestring ^.{0,150}$ |
address | object | Address Model The listing address; it is required to send the coordinates of the listing or the postal code, even if you decide to hide the exact location on the site. required |
contact | object | Contact Model The information of the contact for the listing. By default the contact information will get pulled from the office to which the listing belongs to. Optionally it is possible to use this object to override this information and assign a listing automatically to user by providing the user email registered in CasaYes Portal. nullable: true |
attributes | object | Attributes Model The main information of the listing. required |
operation | object | Operation Model Information related to the listing price and commissions. required |
descriptions | object [] | Descriptions Model A list of descriptions to show in the listing detail. required |
rooms | object [] | Rooms Model A list of rooms to show in the listing detail. nullable: true |
images | object [] | Images Model A list of pictures to be shown on the listing detail page. The order of the images will automatically be set to the order of said images in this list. Optionally, the field "order" can be filled to specify a custom order. The default picture for the listing will always be the first image in either case. nullable: true |
videos | object [] | Link Model A list of videos to show in the listing detail. nullable: true |
virtualTourUrl | string | The virtual tour to show in the detail of the listing.nullable: truestring ^.{0,500}$ |
buildingName | string | The building development name in which the listing may belong to.nullable: truestring ^.{0,100}$ |
privateNotes | string | The private notes for the listing. This private notes can be accessed by visiting the listing details in CasaYes Portal.nullable: truestring ^.{0,1000}$ |
overrideTitle | string | The override title to be displayed in the public site before the description.nullable: truestring ^.{0,100}$ |
Address Model⚓︎
| Name | Type | Description |
|---|---|---|
visibility | boolean | If the address of the listing is public. Defaults to true. |
street | string | The street name of the listing.nullable: true |
floor | string | The floor of the listing. Where: rc = Ground floor, cv = Basement, scv = Semi-Basement, ult = Last floor. |
town | string | The city name of the listing.nullable: true |
doorNumber | integer ($int32) | The door of the listing.nullable: true |
zipCode | string | The postal code of the listing. Required if you don’t provide the coordinates of the listing.nullable: truestring ^.{0,10}$ |
country | string | The country of the listing. One of [Portuguese, Spanish, French, English, German, Italian] |
coordinates | object | Coordinates Address Model The coordinates of the listing. Required if you don´t send the postal code. nullable: true |
Coordinates Address Model
| Name | Type | Description |
|---|---|---|
latitude | number ($double) | The latitude of the listing. Accuracy will be better with more decimals.requirednumber [-90 ... 90] |
longitude | number ($double) | The longitude of the listing. Accuracy will be better with more decimals.requirednumber [-180 ... 180] |
Contact Model⚓︎
| Name | Type | Description |
|---|---|---|
name | string | Name to override office information in site.nullable: true |
email | string ($email) | Email of a user on CasaYes Portal. This email allow us to assign the listing to the given user. If the user doesn't exist, this email will override the office email in our site.requiredminLength: 1 |
phonePrefix | integer ($int32) | Country phone prefix to override office information in site.nullable: truepattern: ^[1-9][0-9]{1,3}$ |
phone | integer ($int64) | Phone to override office information in site.nullable: truepattern: ^[1-9][0-9]{4,15}$ |
Attributes Model⚓︎
| Name | Type | Description |
|---|---|---|
plotArea | integer ($int32) | The plot area.nullable: true |
builtArea | integer ($int32) | The built area.nullable: true |
totalArea | integer ($int32) | Total area of the listing.required |
usableArea | integer ($int32) | Usable area of the listing.nullable: true |
maxConstructionArea | integer ($int32) | Maximum area for construction.nullable: true |
floors | integer ($int32) | Number of floors.nullable: true |
characteristics | string [] | List with characteristics of the listing. List of [ AirConditioning, EquippedKitchen, Balcony, Terrace, StorageRoom, Garden, SwimmingPool, Heating, ElectricCarsCharging, BoxGarage, OutdoorParking, SharedGarage ]nullable: true |
depositMonths | integer ($int32) | Only for rent operations. The required months to deposit.nullable: true |
parking | boolean | If exists available parking. Parking refers to "Garage" to specify other parking types use characteristics. |
parkingCapacity | integer ($int32) | The capacity of the parking (garage). Only if parking is true.nullable: true |
builtYear | integer ($int32) | The year when the listing was built.nullable: truenumber [999 ... 2100] |
conservation | string | The conservation status of the listing. One of [ New, Renovated, GoodGeneralConditions, RefreshmentsToPredict, WorkNeeded, WorkInProgress ]nullable: true |
energyCertificateRating | string | The energy certificate rating of the listing. One of [ APlus, A, B, BMinus, C, D, E, F, NA ]required |
energyCertificatePerformance | number ($double) | The energy certificate performance of the listing.nullable: true |
bathrooms | integer ($int32) | Number of bathrooms.nullable: true |
bedrooms | integer ($int32) | Number of bedrooms.nullable: true |
rooms | integer ($int32) | Number of rooms.nullable: true |
parkingIncludedInPrice | boolean | If parking (garage) is included in listing price. Only available if parking is true. |
parkingPrice | number ($decimal) | The value of the parking (garage). Only available if parking is true and parking is not included in price.nullable: true |
minimalStay | integer ($int32) | Only for rent operations. Minimal required months for stay after rent.nullable: true |
availableFrom | string ($date-time) | Only for rent operations. Date when the listing will stay available for rent.nullable: true |
minAge | integer ($int32) | Only for rent operations. Minimum age to rent.nullable: true |
maxAge | integer ($int32) | Only for rent operations. Maximum age to rent.nullable: true |
bankProperty | boolean | If the listing belongs to a bank. Defaults to false. |
elevator | boolean | If the listing has an elevator. Defaults to false. |
landRegister | string | The land register code.nullable: truestring ^.{0,100}$ |
treasuryLandRegister | string | The treasury land register code.nullable: truestring ^.{0,50}$ |
houseLicensing | string | Only for rent operations.nullable: truestring ^.{0,150}$ |
condominiumValue | number ($decimal) | The price of the condominium.nullable: true |
Operation Model⚓︎
| Name | Type | Description |
|---|---|---|
price | number ($decimal) | Value of the listing.required |
privatePrice | boolean | True if the value of the listing should not appear in the site. |
priceGranularity | string | Only for rent operations. One of [ Daily, Weekly, Annually, Monthly ]nullable: true |
type | string | Type of the business. One of [ Buy, Lease ]required |
sharingCommission | number ($double) | The value for the seller. If SharingCommissionType is Percentage, we will only allow values between 0 and 100.nullable: true |
sharingCommissionType | string | The type of sharing commission. One of [ Percentage, Fixed ]nullable: true |
Descriptions Model⚓︎
| Name | Type | Description |
|---|---|---|
language | string | The language of the description. One of [ Portuguese, Spanish, French, English, German, Italian ]required |
mainText | string | The text of the description. If the text have more than 5000 characters, it will be truncated to 4997 + "..."requiredminLength: 1string ^.{0,5000}$ |
Rooms Model⚓︎
| Name | Type | Description |
|---|---|---|
type | string | Type of the room. One of [ LivingRoom, DiningRoom, Kitchen, Bedroom, Library, Laundry, Bathroom, GamesRoom, PartyRoom, WorkRoom, Loft, Basement ]required |
usableArea | number ($double) | Usable area of the room.required |
heigth | number ($double) | Heigth of the roomnullable: true |
width | number ($double) | Width of the room.nullable: true |
Images Model⚓︎
| Name | Type | Description |
|---|---|---|
url | string | The link of the image.requiredminLength: 1 |
order | integer ($int32) | The order of the image in site.nullable: true |
Link Model⚓︎
| Name | Type | Description |
|---|---|---|
url | string | The link of the video.requiredminLength: 1 |
order | integer ($int32) | The order of the video in site.nullable: true |
language | string | If you want, you can show a video only for people that are searching in the site with the language that you specify here. One of [ Portuguese, Spanish, French, English, German, Italian]nullable: true |