@qualipool/swissrets-json
Version:
A swiss real estate transfer standard.
1,596 lines (1,595 loc) • 39.6 kB
TypeScript
/**
* The SwissRETS inventory.
*/
export interface SwissRetsInventory {
created?: string;
generator: Generator;
projects?: Project[];
properties?: Property[];
}
export interface Generator {
name?: string;
version: string;
}
/**
* Building project container.
*/
export interface Project {
/**
* Location of the property.
*/
address?: Address;
/**
* Mutually exclusive lifecycle state.
*/
availability: ProjectAvailability;
/**
* Characteristics and ranges relevant to entire project.
*/
characteristics?: ProjectCharacteristics;
/**
* Construction status of project.
*/
constructionStatus?: ConstructionStatusType;
id?: string;
/**
* Sequence of all language specific content and texts.
*/
localizations?: ProjectLocalization[];
/**
* Price ranges for marketing purposes.
*/
prices?: ProjectPrices;
referenceId: string;
/**
* The owner or the owners substitute (for example a broker).
*/
seller?: ProjectSeller;
/**
* List of units.
*/
units: Unit[];
}
/**
* Location of the property.
*
* Postal address.
*/
export interface Address {
/**
* Uppercase two letter country code.
*/
countryCode?: string;
/**
* Geo coordinates and elevation
*/
geo?: Geo;
locality?: string;
postalCode?: string;
postOfficeBoxNumber?: string;
region?: string;
street?: string;
streetAddition?: string;
streetNumber?: string;
subunit?: number;
}
/**
* Geo coordinates and elevation
*/
export interface Geo {
elevation?: number;
latitude: number;
longitude: number;
}
/**
* Mutually exclusive lifecycle state.
*/
export interface ProjectAvailability {
expiration?: string;
start?: string;
state: State;
}
/**
* Lifecycle state of properties.
*/
export declare enum State {
Active = "active",
Private = "private",
Reference = "reference",
Reserved = "reserved",
Taken = "taken"
}
/**
* Characteristics and ranges relevant to entire project.
*/
export interface ProjectCharacteristics {
areaBwfFrom?: number;
areaBwfTo?: number;
areaSiaNfFrom?: number;
areaSiaNfTo?: number;
numberOfCommercialUnits?: number;
numberOfResidentialUnits?: number;
numberOfRoomsFrom?: number;
numberOfRoomsTo?: number;
}
/**
* Construction status of project.
*/
export declare enum ConstructionStatusType {
Completed = "completed",
Planned = "planned",
Ready = "ready",
UnderConstruction = "under-construction"
}
/**
* One for each language, a set of language specific content and texts.
*/
export interface ProjectLocalization {
/**
* Sequence links, files, embeds and media.
*/
attachments?: ProjectAttachment;
/**
* Main description.
*/
description?: string;
/**
* A short extract from description, location and equipment.
*/
excerpt?: string;
languageCode: string;
/**
* Simple marketing title.
*/
title: string;
}
/**
* Sequence links, files, embeds and media.
*/
export interface ProjectAttachment {
directLinks?: Link[];
documents?: Document[];
images?: Image[];
landRegisterExtracts?: Document[];
links?: Link[];
logos?: Logo[];
plans?: Document[];
virtualTourLinks?: Link[];
youTubeLinks?: Link[];
}
/**
* 'direct-link' defines a link that will link visitors 'directly' to the offer. For example
* from a List of properties one will be linked to the project website directly if clicked.
* This is usually used by websites, and portals tend to ignore that and can opt into simply
* representing them as normal 'link' types.
*
* Localized link attachment for properties.
*
* An arbitrary related link.
*
* Virtual tour link, typically used for embeddings and integrations.
*
* Video link, typically used for embeddings and integrations.
*/
export interface Link {
title?: string;
url: string;
}
/**
* Specifications, brochures and other descriptive files.
*
* Generic non-specific document.
*
* A document given to political officials (commune) with basic information portraying the
* property and its registrational validity.
*
* Floorplan image or document.
*/
export interface Document {
description?: string;
mimeType?: string;
title?: string;
url: string;
}
/**
* Picture from inside or outside, typically used in image galleries.
*/
export interface Image {
description?: string;
mimeType?: string;
title?: string;
url: string;
}
/**
* Related logo image.
*/
export interface Logo {
mimeType?: string;
url: string;
}
/**
* Price ranges for marketing purposes.
*/
export interface ProjectPrices {
/**
* One time buy prices.
*/
buy?: ProjectPriceBuy;
currency: string;
/**
* Recurring rental price.
*/
rent?: ProjectPriceRent;
}
/**
* One time buy prices.
*/
export interface ProjectPriceBuy {
priceFrom: number;
priceTo: number;
referring: PriceReferringType;
}
/**
* For what area the price stands for.
*/
export declare enum PriceReferringType {
All = "all",
Km2 = "km2",
M2 = "m2"
}
/**
* Recurring rental price.
*/
export interface ProjectPriceRent {
interval?: PriceIntervalType;
netFrom: number;
netTo: number;
referring?: PriceReferringType;
}
/**
* The payment interval, the price stands for.
*/
export declare enum PriceIntervalType {
Day = "day",
Month = "month",
Onetime = "onetime",
Week = "week",
Year = "year"
}
/**
* The owner or the owners substitute (for example a broker).
*/
export interface ProjectSeller {
/**
* Contact person for questions and typically responsible for making appointments. This
* contact is typicaly presented publicly.
*/
contactPerson?: Person;
inquiryEmail?: string;
/**
* The company selling
*/
organization?: Organization;
}
/**
* Contact person for questions and typically responsible for making appointments. This
* contact is typicaly presented publicly.
*
* An organization selling the property.
*
* Person responsible opening the door for visiting.
*/
export interface Person {
email?: string;
familyName?: string;
function?: string;
gender?: string;
givenName?: string;
mobile?: string;
note?: string;
phone?: string;
}
/**
* The company selling
*
* An organization selling the property.
*/
export interface Organization {
address?: Address;
brand?: string;
email?: string;
/**
* This field is depricated and will be removed in a future major version!
*/
emailRem?: string;
id?: string;
legalName?: string;
mobile?: string;
phone?: string;
website?: Website;
}
/**
* Sellers URL, typically the company website.
*/
export interface Website {
label?: string;
title?: string;
url: string;
}
/**
* A set of properties
*/
export interface Unit {
characteristics?: UnitCharacteristic[];
id?: string;
/**
* Sequence of all language specific content and texts.
*/
localizations: UnitLocalization[];
referenceId: string;
}
/**
* The cold facts, to represent a unit.
*/
export interface UnitCharacteristic {
numberOfFloors?: number;
}
/**
* One for each language, a set of language specific content and texts.
*/
export interface UnitLocalization {
languageCode: string;
/**
* Simple marketing title for unit.
*/
title: string;
}
export interface Property {
/**
* Location of the property.
*/
address?: Address;
/**
* The name or username of the author, who created the record.
*/
author?: string;
/**
* Mutually exclusive lifecycle state.
*/
availability: PropertyAvailability;
/**
* Federal statistical office specific information
*/
bfs?: Bfs;
/**
* Building zones intended for residential buildings or for other buildings intended as
* long-stay accommodation, those are typically municipal-specific abbreviations.
*/
buildingZones?: string;
/**
* Sequence of ordered categories (main first).
*/
categories?: PropertyCategory[];
/**
* Main characteristics of properties
*/
characteristics?: PropertyCharacteristics;
/**
* Creation date and time of the data.
*/
created?: string;
/**
* The development state of the property.
*/
development?: DevelopmentState;
/**
* Object references based on other than SwissRETS standard (e.g IDX).
*/
externalReference?: ExternalReference;
/**
* The main heating system.
*/
heating?: Heating;
/**
* This ID needs to be unique and represents the id from the exporter (this can be the same
* as referenceId if the exporter is the original creator)
*/
id: string;
/**
* Sequence of all language specific content and texts.
*/
localizations: PropertyLocalization[];
/**
* Quality label for new and refurbished low-energy-consumption buildings.
*/
minergieCertification?: MinergieCertificationType;
/**
* Date and time of the last modification. This field should only be used for presentational
* purposes and should not be relied upon for import cache-busting.
*/
modified?: string;
/**
* Arbitrary string that holds one or more parcel numbers, either from the swiss cadastral
* system or from a certain municipality.
*/
parcelNumbers?: string;
prices?: PropertyPrices;
/**
* The owner of the property.
*/
propertyOwner?: PropertyOwner;
/**
* List of publishers
*/
publishers?: Publisher[];
/**
* Can be used to track the original creation id (this should usually be unique to the
* property)
*/
referenceId: string;
seller?: PropertySeller;
/**
* Specifies rent or buy.
*/
type: OfferType;
/**
* Reference to an existing project - unit within the xml. Used for grouping and
* representing a 'project-tree'
*/
unitReferenceId?: string;
/**
* Can should only be used for presentational purposes publishers tend to present the
* referenceId if this one is missing
*/
visualReferenceId?: string;
}
/**
* Mutually exclusive lifecycle state.
*/
export interface PropertyAvailability {
expiration?: string;
start?: string;
state: State;
}
/**
* Federal statistical office specific information
*/
export interface Bfs {
/**
* The building identifier of the swiss population register
*/
egid?: string;
/**
* The property (plot) identifier of the swiss population register
*/
egrid?: string;
/**
* The flat identifier of the swiss population register
*/
ewid?: string;
}
export declare enum PropertyCategory {
AdvertisingArea = "advertising-area",
AgriculturalLot = "agricultural-lot",
AllotmentGarden = "allotment-garden",
Apartment = "apartment",
Arcade = "arcade",
Atelier = "atelier",
AtticCompartment = "attic-compartment",
AtticFlat = "attic-flat",
Bakery = "bakery",
Bar = "bar",
BoatDryDock = "boat-dry-dock",
BoatLandingStage = "boat-landing-stage",
BoatMooring = "boat-mooring",
BuildingLot = "building-lot",
Butcher = "butcher",
Cafe = "cafe",
Campground = "campground",
CarPark = "car-park",
CarRepairShop = "car-repair-shop",
CarpentryShop = "carpentry-shop",
Casino = "casino",
Castle = "castle",
CellarCompartment = "cellar-compartment",
Chalet = "chalet",
CheeseFactory = "cheese-factory",
ClubDisco = "club-disco",
CommercialLot = "commercial-lot",
CommercialSpace = "commercial-space",
CoveredMotorbikeParkingSpace = "covered-motorbike-parking-space",
CoveredParkingSpace = "covered-parking-space",
DepartmentStore = "department-store",
DetachedHouse = "detached-house",
DisplayWindow = "display-window",
DoctorsOffice = "doctors-office",
DoubleGarage = "double-garage",
DuplexHouse = "duplex-house",
EarthShelteredDwelling = "earth-sheltered-dwelling",
Factory = "factory",
FarmHouse = "farm-house",
FuelStation = "fuel-station",
FurnishedFlat = "furnished-flat",
GolfCourse = "golf-course",
GrannyFlat = "granny-flat",
Hairdresser = "hairdresser",
HobbyRoom = "hobby-room",
HorseBox = "horse-box",
Hospital = "hospital",
Hotel = "hotel",
IndoorSwimmingPool = "indoor-swimming-pool",
IndoorTennisCourt = "indoor-tennis-court",
IndustrialLot = "industrial-lot",
IndustrialObject = "industrial-object",
Kiosk = "kiosk",
Laboratory = "laboratory",
Library = "library",
Loft = "loft",
Maisonette = "maisonette",
MarketGarden = "market-garden",
MiniGolfCourse = "mini-golf-course",
Motel = "motel",
MovieTheater = "movie-theater",
MultiplexHouse = "multiplex-house",
MultistoreyCarPark = "multistorey-car-park",
NursingHome = "nursing-home",
Office = "office",
OneRoomFlat = "one-room-flat",
OpenMotorbikeParkingSpace = "open-motorbike-parking-space",
OpenParkingSpace = "open-parking-space",
Orphanage = "orphanage",
OutdoorSwimmingPool = "outdoor-swimming-pool",
ParkingSpace = "parking-space",
PartyRoom = "party-room",
Plot = "plot",
Pub = "pub",
ResidentialCommercialBuilding = "residential-commercial-building",
Restaurant = "restaurant",
RetailLocation = "retail-location",
RetirementHome = "retirement-home",
RidingHall = "riding-hall",
RoofFlat = "roof-flat",
RowHouse = "row-house",
Rustico = "rustico",
Sanatorium = "sanatorium",
Sauna = "sauna",
SharedApartment = "shared-apartment",
ShoppingCenter = "shopping-center",
SingleGarage = "single-garage",
SingleRoom = "single-room",
Solarium = "solarium",
SportsHall = "sports-hall",
SquashBadminton = "squash-badminton",
SteppedFlat = "stepped-flat",
SteppedHouse = "stepped-house",
Stoeckli = "stoeckli",
StorageRoom = "storage-room",
TennisCourt = "tennis-court",
UndergroundParkingSpace = "underground-parking-space",
Villa = "villa",
Workshop = "workshop"
}
/**
* Main characteristics of properties
*
* The cold facts, to represent the property or offer.
*/
export interface PropertyCharacteristics {
/**
* If there is a balcony (non ground floor outside area) this field would specify the area
* in m²
*/
areaBalcony?: number;
/**
* Living area in m²
*/
areaBwf?: number;
/**
* Space allocated in cellar included within the offer in m²
*/
areaCellar?: number;
/**
* Area dedicated to growing plants or a garden. To differentiate from something like a
* Terrace. In m²
*/
areaGarden?: number;
/**
* Usually refers to a covered not necessarily heated area with fresh air, but not opened up
* to the outside.
*/
areaLoggia?: number;
/**
* Net livin area in m²
*/
areaNwf?: number;
/**
* Property land area in m²
*/
areaPropertyLand?: number;
/**
* SIA-AFF area in m²
*/
areaSiaAff?: number;
/**
* SIA-AGF area in m²
*/
areaSiaAgf?: number;
/**
* SIA-AKF area in m²
*/
areaSiaAkf?: number;
/**
* SIA-AKFN area in m²
*/
areaSiaAkfn?: number;
/**
* SIA-AKFT area in m²
*/
areaSiaAkft?: number;
/**
* SIA-ANF area in m²
*/
areaSiaAnf?: number;
/**
* SIA-ANGF area in m²
*/
areaSiaAngf?: number;
/**
* SIA-AVF area in m²
*/
areaSiaAvf?: number;
/**
* SIA-BUF area in m²
*/
areaSiaBuf?: number;
/**
* SIA-FF area in m²
*/
areaSiaFf?: number;
/**
* SIA-GF area in m²
*/
areaSiaGf?: number;
/**
* SIA-GGF area in m²
*/
areaSiaGgf?: number;
/**
* SIA-GSF area in m²
*/
areaSiaGsf?: number;
/**
* SIA-HNF area in m²
*/
areaSiaHnf?: number;
/**
* SIA-KF area in m²
*/
areaSiaKf?: number;
/**
* SIA-KFN area in m²
*/
areaSiaKfn?: number;
/**
* SIA-KFT area in m²
*/
areaSiaKft?: number;
/**
* SIA-NF area in m²
*/
areaSiaNf?: number;
/**
* SIA-NGF area in m²
*/
areaSiaNgf?: number;
/**
* SIA-NNF area in m²
*/
areaSiaNnf?: number;
/**
* SIA-UF area in m²
*/
areaSiaUf?: number;
/**
* SIA-UUF area in m²
*/
areaSiaUuf?: number;
/**
* SIA-VF area in m²
*/
areaSiaVf?: number;
/**
* Usually ground floor outside seating area in m²
*/
areaTerrace?: number;
/**
* Pets are allowed or not tolerated.
*/
arePetsAllowed?: ApplicableType;
/**
* Height of the rooms in m.
*/
ceilingHeight?: number;
/**
* Carrying capacity for crane in kg.
*/
craneCapacity?: number;
/**
* Maximum elevator load in kg.
*/
elevatorLoad?: number;
/**
* Floor number, ground floor is 0, basement floors are negative.
*/
floor?: number;
/**
* Maximum floor load in kg/m²
*/
floorLoad?: number;
/**
* A gross premium is the total premium of an insurance contract before brokerage or
* discounts have been deducted, in percent.
*/
grossPremium?: number;
/**
* Hall height in m, usually for commercial properties.
*/
hallHeight?: number;
/**
* Has an attic.
*/
hasAttic?: ApplicableType;
/**
* Balcony available.
*/
hasBalcony?: ApplicableType;
/**
* Restrictions for modifications apply, like monument protection and similar.
*/
hasBuildingLawRestrictions?: ApplicableType;
/**
* Availability of cable tv.
*/
hasCableTv?: ApplicableType;
/**
* A covered structure used to offer limited protection from rain and snow, for one car.
*/
hasCarPort?: ApplicableType;
/**
* A covered structure used to offer limited protection from rain and snow, for two cars.
*/
hasCarPortDouble?: ApplicableType;
/**
* Availability of a cellar.
*/
hasCellar?: ApplicableType;
/**
* Whether or not a charging station for e-Cars is provided.
*/
hasChargingStation?: ApplicableType;
/**
* States if the land is fully developed and ready being built on it.
*/
hasConnectedBuildingLand?: ApplicableType;
/**
* Used for building land, states if there is some demolition property on it (or pieces of
* it).
*/
hasDemolitionProperty?: ApplicableType;
/**
* Availability of a dishwasher.
*/
hasDishwasher?: ApplicableType;
/**
* Availability of an elevator.
*/
hasElevator?: ApplicableType;
/**
* A charging station for e-Cars is provided.
*/
hasEvChargingStation?: ApplicableType;
/**
* Availability of a fiber optic connection.
*/
hasFiberOptic?: ApplicableType;
/**
* Includes a framed opening to hold an open fire, indoors.
*/
hasFireplace?: ApplicableType;
/**
* Whether or not there is a residential community, sharing the living space.
*/
hasFlatSharingCommunity?: ApplicableType;
/**
* Widely used to control the amount of foreigners buying holiday flats in popular regions.
*/
hasForeignQuota?: ApplicableType;
/**
* A shelter for one car.
*/
hasGarage?: ApplicableType;
/**
* A shelter for two cars.
*/
hasGarageDouble?: ApplicableType;
/**
* Subterranean garage for cars.
*/
hasGarageUnderground?: ApplicableType;
/**
* A small building for storing garden tools, bicycles, and other equipment.
*/
hasGardenShed?: ApplicableType;
/**
* Direct visibility of a lake.
*/
hasLakeView?: ApplicableType;
/**
* Provides vertical transportation between building floors, levels or decks, and are
* commonly found in offices, public buildings and other types of multi-story accommodation.
*/
hasLiftingPlatform?: ApplicableType;
/**
* Direct visibility of mountains.
*/
hasMountainView?: ApplicableType;
/**
* Has multimedia wiring.
*/
hasMultimediaWiring?: ApplicableType;
/**
* Has a lovely view, usually from the balcony or the living room.
*/
hasNiceView?: ApplicableType;
/**
* An uncovered space for one car or more cars.
*/
hasParking?: ApplicableType;
/**
* Whether or not a photovoltaic system is provided.
*/
hasPhotovoltaic?: ApplicableType;
/**
* Has a playground for children nearby.
*/
hasPlayground?: ApplicableType;
/**
* A sloping floor, walk, or roadway leading from one level to another, usually to make a
* place accessible for wheels.
*/
hasRamp?: ApplicableType;
/**
* Indicates that prospects can visit the property virtually (e.g. with a video-call or
* guided virtual-tour hosted by the real estate agent)
*/
hasRemoteViewings?: ApplicableType;
/**
* Has a steamer.
*/
hasSteamer?: ApplicableType;
/**
* Storeroom, stowage room.
*/
hasStoreRoom?: ApplicableType;
/**
* Availability of a gas connection, usually for heating and cooking.
*/
hasSupplyGas?: ApplicableType;
/**
* A connection to the public electric grid.
*/
hasSupplyPower?: ApplicableType;
/**
* A connection to the public waste water system.
*/
hasSupplySewage?: ApplicableType;
/**
* A connection to the public water supply.
*/
hasSupplyWater?: ApplicableType;
/**
* Personal swimming pool.
*/
hasSwimmingPool?: ApplicableType;
/**
* Whether or not a thermal solar collector system is provided.
*/
hasThermalSolarCollector?: ApplicableType;
/**
* A masonry heater or ceramic stove, is a device for warming an interior space usually fed
* with wood.
*/
hasTiledStove?: ApplicableType;
/**
* Dryer for clothes after washing them.
*/
hasTumbleDryer?: ApplicableType;
/**
* For washing clothes and other cloth.
*/
hasWashingMachine?: ApplicableType;
/**
* Suitable for families.
*/
isChildFriendly?: ApplicableType;
/**
* A house situated on the corner of two streets.
*/
isCornerHouse?: ApplicableType;
/**
* If it's a tear-down property or a site of demolished structures.
*/
isDemolitionProperty?: ApplicableType;
/**
* Old and in poor condition, in a state of decay.
*/
isDilapidated?: ApplicableType;
/**
* No one used the flat or the building before, since it was built or heavily renovated from
* ground up.
*/
isFirstOccupancy?: ApplicableType;
/**
* Nearly on a level with the ground.
*/
isGroundFloor?: ApplicableType;
/**
* Half of a stair elevated story, in a building.
*/
isGroundFloorRaised?: ApplicableType;
/**
* Preparation for demolition or a part-demolition, all contaminants, doors, windows, floors
* and non-load bearing walls were removed.
*/
isGutted?: ApplicableType;
/**
* Needs to be renewed in order to be fully usable again.
*/
isInNeedOfRenovation?: ApplicableType;
/**
* Needs to be renewed partially in order to be fully usable again.
*/
isInNeedOfRenovationPartially?: ApplicableType;
/**
* Used, but as good as new.
*/
isLikeNew?: ApplicableType;
/**
* Situated between two other houses or buildings.
*/
isMiddleHouse?: ApplicableType;
/**
* Modernized means improved, things like a better insulated roof and walls, modern heating
* system and similar improvements.
*/
isModernized?: ApplicableType;
/**
* Newly built house or building.
*/
isNewConstruction?: ApplicableType;
/**
* Refers to the construction method used until 60-80 years ago.
*/
isOldBuilding?: ApplicableType;
/**
* Planned for the future.
*/
isProjection?: ApplicableType;
/**
* Part of a quiet surrounding or neighbourhood.
*/
isQuiet?: ApplicableType;
/**
* Fully renovated, neat, clean and restored.
*/
isRefurbished?: ApplicableType;
/**
* Partially renovated or restored.
*/
isRefurbishedPartially?: ApplicableType;
/**
* Where a person lives part time or less than the majority of the calendar year, typically
* a holiday flat, some laws and landlords do not allow this.
*/
isSecondaryResidenceAllowed?: ApplicableType;
/**
* Intentionally missing interior finish in order to allow customization.
*/
isShellConstruction?: ApplicableType;
/**
* Smoking allowed inside.
*/
isSmokingAllowed?: ApplicableType;
/**
* Sunny surroundings, nor trees, mountains or other buildings do shadow.
*/
isSunny?: ApplicableType;
/**
* Is of temporary use.
*/
isTemporaryUse?: ApplicableType;
/**
* Mainly used for parking slots.
*/
isUnderRoof?: ApplicableType;
/**
* Properly looked after.
*/
isWellTended?: ApplicableType;
/**
* All aspects are accessible for wheelchair users.
*/
isWheelchairAccessible?: ApplicableType;
/**
* Number of apartments contained.
*/
numberOfApartements?: number;
/**
* Number of bathrooms.
*/
numberOfBathrooms?: number;
/**
* Total amount of floors.
*/
numberOfFloors?: number;
/**
* Number of parcels.
*/
numberOfParcels?: number;
/**
* Total number of rooms.
*/
numberOfRooms?: number;
/**
* The number of showers
*/
numberOfShowers?: number;
/**
* The number of toilets
*/
numberOfToilets?: number;
/**
* The number of guest and additional toilets
*/
numberOfToiletsGuest?: number;
/**
* Built on even grounds.
*/
onEvenGround?: ApplicableType;
/**
* Built on a sloping hillside.
*/
onHillside?: ApplicableType;
/**
* Built on a sloping hillside towards the south.
*/
onHillsideSouth?: ApplicableType;
/**
* Plot area built on, the ratio between plot area and gross floor area.
*/
utilizationRatio?: number;
/**
* Plot area to be built on, the ratio between plot area and gross floor area.
*/
utilizationRatioConstruction?: number;
/**
* Building volume in m³
*/
volumeGva?: number;
/**
* DEPRICATED! please use volumeSia116Gv instead
*/
volumeSia?: number;
/**
* olume SIA in m³ – Older Standard (SIA 116) with the Abbreviation 'GV'. This is still in
* use specifically for legacy properties.
*/
volumeSia116Gv?: number;
/**
* Volume SIA-AFV in m³
*/
volumeSiaAfv?: number;
/**
* Volume SIA-AKV in m³
*/
volumeSiaAkv?: number;
/**
* Volume SIA-ANGV in m³
*/
volumeSiaAngv?: number;
/**
* Volume SIA-ANV in m³
*/
volumeSiaAnv?: number;
/**
* Volume SIA-AVV in m³
*/
volumeSiaAvv?: number;
/**
* Volume SIA-GV in m³
*/
volumeSiaGv?: number;
/**
* Year of construction, in four digits.
*/
yearBuilt?: number;
/**
* Year of last renovation, in four digits.
*/
yearLastRenovated?: number;
}
/**
* Pets are allowed or not tolerated.
*
* Applicable can have three states, unknown must be treated as default.
*
* Has an attic.
*
* Balcony available.
*
* Restrictions for modifications apply, like monument protection and similar.
*
* Availability of cable tv.
*
* A covered structure used to offer limited protection from rain and snow, for one car.
*
* A covered structure used to offer limited protection from rain and snow, for two cars.
*
* Availability of a cellar.
*
* Whether or not a charging station for e-Cars is provided.
*
* States if the land is fully developed and ready being built on it.
*
* Used for building land, states if there is some demolition property on it (or pieces of
* it).
*
* Availability of a dishwasher.
*
* Availability of an elevator.
*
* A charging station for e-Cars is provided.
*
* Availability of a fiber optic connection.
*
* Includes a framed opening to hold an open fire, indoors.
*
* Whether or not there is a residential community, sharing the living space.
*
* Widely used to control the amount of foreigners buying holiday flats in popular regions.
*
* A shelter for one car.
*
* A shelter for two cars.
*
* Subterranean garage for cars.
*
* A small building for storing garden tools, bicycles, and other equipment.
*
* Direct visibility of a lake.
*
* Provides vertical transportation between building floors, levels or decks, and are
* commonly found in offices, public buildings and other types of multi-story
* accommodation.
*
* Direct visibility of mountains.
*
* Has multimedia wiring.
*
* Has a lovely view, usually from the balcony or the living room.
*
* An uncovered space for one car or more cars.
*
* Whether or not a photovoltaic system is provided.
*
* Has a playground for children nearby.
*
* A sloping floor, walk, or roadway leading from one level to another, usually to make a
* place accessible for wheels.
*
* Indicates that prospects can visit the property virtually (e.g. with a video-call or
* guided virtual-tour hosted by the real estate agent)
*
* Has a steamer.
*
* Storeroom, stowage room.
*
* Availability of a gas connection, usually for heating and cooking.
*
* A connection to the public electric grid.
*
* A connection to the public waste water system.
*
* A connection to the public water supply.
*
* Personal swimming pool.
*
* Whether or not a thermal solar collector system is provided.
*
* A masonry heater or ceramic stove, is a device for warming an interior space usually fed
* with wood.
*
* Dryer for clothes after washing them.
*
* For washing clothes and other cloth.
*
* Suitable for families.
*
* A house situated on the corner of two streets.
*
* If it's a tear-down property or a site of demolished structures.
*
* Old and in poor condition, in a state of decay.
*
* No one used the flat or the building before, since it was built or heavily renovated from
* ground up.
*
* Nearly on a level with the ground.
*
* Half of a stair elevated story, in a building.
*
* Preparation for demolition or a part-demolition, all contaminants, doors, windows, floors
* and non-load bearing walls were removed.
*
* Needs to be renewed in order to be fully usable again.
*
* Needs to be renewed partially in order to be fully usable again.
*
* Used, but as good as new.
*
* Situated between two other houses or buildings.
*
* Modernized means improved, things like a better insulated roof and walls, modern heating
* system and similar improvements.
*
* Newly built house or building.
*
* Refers to the construction method used until 60-80 years ago.
*
* Planned for the future.
*
* Part of a quiet surrounding or neighbourhood.
*
* Fully renovated, neat, clean and restored.
*
* Partially renovated or restored.
*
* Where a person lives part time or less than the majority of the calendar year, typically
* a holiday flat, some laws and landlords do not allow this.
*
* Intentionally missing interior finish in order to allow customization.
*
* Smoking allowed inside.
*
* Sunny surroundings, nor trees, mountains or other buildings do shadow.
*
* Is of temporary use.
*
* Mainly used for parking slots.
*
* Properly looked after.
*
* All aspects are accessible for wheelchair users.
*
* Built on even grounds.
*
* Built on a sloping hillside.
*
* Built on a sloping hillside towards the south.
*/
export declare enum ApplicableType {
Applies = "applies",
DoesNotApply = "does-not-apply",
Unknown = "unknown"
}
/**
* The development state of the property.
*/
export declare enum DevelopmentState {
Full = "full",
Partial = "partial",
Undeveloped = "undeveloped"
}
/**
* Object references based on other than SwissRETS standard (e.g IDX).
*/
export interface ExternalReference {
refHouse?: string;
refObject?: string;
refProperty?: string;
}
/**
* The main heating system.
*/
export interface Heating {
/**
* How the heating system distributes and maintains temperature.
*/
distribution?: HeatingDistributionType;
/**
* Technology used to create heat.
*/
generation?: HeatingGenerationType;
}
/**
* How the heating system distributes and maintains temperature.
*/
export declare enum HeatingDistributionType {
Floor = "floor",
Radiator = "radiator"
}
/**
* Technology used to create heat.
*/
export declare enum HeatingGenerationType {
Coal = "coal",
District = "district",
Electricity = "electricity",
Gas = "gas",
GeothermalProbe = "geothermal-probe",
Heatpump = "heatpump",
HeatpumpAirAndWater = "heatpump-air-and-water",
Oil = "oil",
Photovoltaics = "photovoltaics",
SolarThermal = "solar-thermal",
Wood = "wood",
WoodPellet = "wood-pellet"
}
/**
* One for each language, a set of language specific content and texts.
*/
export interface PropertyLocalization {
/**
* Sequence links, files, embeds and media.
*/
attachments?: PropertyAttachment;
/**
* Main description.
*/
description?: string;
/**
* Description of available and included equipment.
*/
equipment?: string;
/**
* List of events
*/
events?: Event[];
/**
* A short extract from description, location and equipment.
*/
excerpt?: string;
languageCode: string;
/**
* Description of the surrounding and location.
*/
location?: string;
/**
* Simple marketing title.
*/
title: string;
/**
* Specific visiting instructions or information, where to get the key, when to contact and
* similar.
*/
visitInformation?: string;
}
/**
* Sequence links, files, embeds and media.
*/
export interface PropertyAttachment {
directLinks?: Link[];
documents?: Document[];
images?: Image[];
landRegisterExtracts?: Document[];
links?: Link[];
logos?: Logo[];
plans?: Document[];
virtualTourLinks?: Link[];
youTubeLinks?: Link[];
}
export interface Event {
end: string;
location?: string;
name: string;
start: string;
summary?: string;
}
/**
* Quality label for new and refurbished low-energy-consumption buildings.
*/
export declare enum MinergieCertificationType {
Minergie = "Minergie",
MinergieA = "Minergie-A",
MinergieAEco = "Minergie-A-Eco",
MinergieAreal = "Minergie-Areal",
MinergieEco = "Minergie-Eco",
MinergieMqsBau = "Minergie-Mqs-Bau",
MinergieMqsBetrieb = "Minergie-Mqs-Betrieb",
MinergieP = "Minergie-P",
MinergiePEco = "Minergie-P-Eco"
}
/**
* Sell, rent, deposit and auction prices.
*/
export interface PropertyPrices {
/**
* List of extras.
*/
additionalOffers?: AdditionalOffer[];
/**
* Starting price for an auction.
*/
auction?: Auction;
/**
* One time buy prices.
*/
buy?: PropertyPriceBuy;
currency?: string;
/**
* Required amount of deposit.
*/
deposit?: Deposit;
/**
* Recurring rental price.
*/
rent?: PropertyPriceRent;
}
export interface AdditionalOffer {
interval?: PriceIntervalType;
price: number;
type: AdditionalOfferType;
}
export declare enum AdditionalOfferType {
ParkingCarport = "parking-carport",
ParkingDoubleGarage = "parking-double-garage",
ParkingDuplex = "parking-duplex",
ParkingExteriorSpace = "parking-exterior-space",
ParkingGarage = "parking-garage",
ParkingGarageBox = "parking-garage-box",
ParkingGarageConnected = "parking-garage-connected",
ParkingGarageUnderground = "parking-garage-underground",
ParkingHouse = "parking-house",
RoomStorageBasement = "room-storage-basement",
RoomWorkroom = "room-workroom"
}
/**
* Starting price for an auction.
*/
export interface Auction {
/**
* Expiration time of auction.
*/
expiration: string;
/**
* Starting time of auction.
*/
startDate: string;
/**
* Starting price for an auction.
*/
startPrice: number;
}
/**
* One time buy prices.
*/
export interface PropertyPriceBuy {
/**
* Extra buying price.
*/
extra?: number;
/**
* Price for buying.
*/
price?: number;
referring?: PriceReferringType;
/**
* The percentage of the gross price which has to paid in WIR Franc electronic currency.
*/
wirPercentage?: number;
}
/**
* Required amount of deposit.
*/
export interface Deposit {
/**
* Amount of deposit.
*/
amount: number;
/**
* Type of deposit.
*/
type?: DepositType;
}
/**
* Type of deposit.
*/
export declare enum DepositType {
BankGuarantee = "bank-guarantee",
DepositGuarantee = "deposit-guarantee"
}
/**
* Recurring rental price.
*/
export interface PropertyPriceRent {
/**
* Extra rental price.
*/
extra?: number;
/**
* Gross rental price.
*/
gross?: number;
interval?: PriceIntervalType;
/**
* Net rental price.
*/
net?: number;
referring?: PriceReferringType;
}
/**
* The owner of the property.
*
* An owner of the property.
*/
export interface PropertyOwner {
address?: Address;
companyName?: string;
email?: string;
familyName?: string;
givenName?: string;
}
export interface Publisher {
id: string;
/**
* List of publisher specific custom fields
*/
options?: PublisherOption[];
/**
* List of promotions
*/
promotions?: PublisherPromotion[];
}
/**
* Custom key-value pair, or generic data field, used for non-standardized data transaction,
* between two entities.
*/
export interface PublisherOption {
expiration?: string;
key: string;
languageCode?: string;
start?: string;
value: string;
}
/**
* Custom key-value pair, or generic data field, used for non-standardized data transaction,
* between two entities.
*/
export interface PublisherPromotion {
expiration: string;
name?: string;
start: string;
}
export interface PropertySeller {
/**
* Contact person for questions and typically responsible for making appointments. This
* contact is typicaly presented publicly.
*/
contactPerson?: Person;
inquiryEmail?: string;
/**
* The company selling
*/
organization?: Organization;
/**
* Person responsible opening the door for visiting.
*/
visitPerson?: Person;
}
/**
* Specifies rent or buy.
*/
export declare enum OfferType {
Buy = "buy",
Rent = "rent"
}