Units Mutation
Create or update properties in Everreal
Mutation Types
type Mutation {
upsertUnit(unit: UnitInput): Unit
deleteUnit(externalId: String): Boolean
}
Here are details on the capabilities of different mutations
The
upsertUnit
mutation is used to create or update a unit in Everreal system and unit added to the system cannot be modified by Everreal and if needs to be modified it should be done via the same endpoint itself.The
deleteUnit
mutation is used to delete the unit relation with the external integration source, doing this will not delete the unit but instead it will remain as a detached unit from integration and can be modified using Everreal.
Schema Definition
items with ! notation are required
input UnitInput {
externalUnitId: String! #externalId by which the unit will be identified
propertyId: String! #propertyId by which the unit will be attached to. You have to either pass propertyId or externalpropertyId
externalPropertyId: String! #externalPropertyId by which the unit will be attached to. You have t
ownerId: String! #ownerId by which the unit will be attached to. You have to either pass ownerId or externalOwnerId
externalOwnerId: String! #externalOwnerId by which the unit will be attached to. You have to either pass ownerId or externalOwnerId
category: UNIT_CATEGORY!
type: UNIT_TYPE!
name: String
subtype: UNIT_SUBTYPES!
netFloorSurface: Float
livingSurface: Float
rooms: UnitRoomsInput
mainStorage: Boolean!
floorNo: Int!
amenities: AmenitiesInput
descriptions: IUnitDescriptionInput
financingType: UNIT_FINANCING_TYPE!
targetRent: Float
surcharges: Float
currentRent: Float
availableFrom: Date # date in YYYY-MM-DD fromat
onHoldStatus: Boolean
onHoldReason: UNIT_ON_HOLD_REASON
unitResponsibleId: String
meta: MetaInformation!
}
input UnitParkingTypeInput {
type: PARKING_TYPES
quantity: Int
}
input UnitRoomsInput {
rooms: Float
bathrooms: Float
bedrooms: Float
}
input IUnitDescriptionInput {
object: String
amenities: String
location: String
other: String
}
input MetaInformation {
source: String!
}
enum UNIT_ON_HOLD_REASON {
FIRST_TIME_USE
CONSTRUCTION_MEASURES
OCCUPANCY_RIGHT
INTERNAL_USE
RESERVED
OTHER
}
enum UNIT_FINANCING_TYPE {
PRIVATELY_FINANCED
PUBLICLY_SUBSIDIZED
}
enum AMENITIES_INCLUDED {
BUILTIN_KITCHEN
ELEVATOR
GOODS_LIFT
BALCONY_OR_TERRACE
GUEST_TOILET
GARDEN
BASEMENT
STEPLESS_ENTRY
LIVING_QUALIFICATION_CERTIFICATE
SUITABLE_FOR_SHARED_APARTMENT
SUITABLE_FOR_HOLIDAY
CAFETERIA
HIGH_VOLTAGE
RAMP
HYDRAULIC_RAMP
TERRACE
HAS_CRANE_RUNWAY
}
input AmenitiesInput {
amenitiesIncluded: [AMENITIES_INCLUDED]
hasParking: Boolean
parking: UnitParkingType
qualityOfAmenities: QUALITY_OF_AMENITIES
condition: AMENITIES_CONDITION
lastRenovationYear: Int
heatingType: HEATING_TYPE
mainEnergySource: ENERGY_SOURCE_TYPE
energyPerformanceCertificateAvailability: ENERGY_PERFORMANCE_CERTIFICATE_AVAILABILITY
energyCertificateCreationDate: ENERGY_CERTIFICATE_CREATION_DATE
buildingEnergyRatingType: BUILDING_ENERGY_RATING_TYPE
thermalCharacteristic: Float
energyConsumptionContainsWarmWater: Boolean
energyEfficiencyClass: ENERGY_EFFICIENCY_CLASS
hasLanCables: YES_NO_BYAPPOINTMENT
hasAirConditioning: YES_NO_BYAPPOINTMENT
floorType: COMMERCIAL_UNIT_FLOORTYPE
goodsLiftLoad: Float
floorLoad: Float
supplyType: STORE_SUPPLY_TYPE
powerSupplyLoad: Float
craneRunwayLoad: Float
}
type Amenities {
amenitiesIncluded: [AMENITIES_INCLUDED]
hasParking: Boolean
parking: UnitParkingType
qualityOfAmenities: QUALITY_OF_AMENITIES
condition: AMENITIES_CONDITION
lastRenovationYear: Int
heatingType: HEATING_TYPE
mainEnergySource: ENERGY_SOURCE_TYPE
energyPerformanceCertificateAvailability: ENERGY_PERFORMANCE_CERTIFICATE_AVAILABILITY
energyCertificateCreationDate: ENERGY_CERTIFICATE_CREATION_DATE
buildingEnergyRatingType: BUILDING_ENERGY_RATING_TYPE
thermalCharacteristic: Float
energyConsumptionContainsWarmWater: Boolean
energyEfficiencyClass: ENERGY_EFFICIENCY_CLASS
hasLanCables: YES_NO_BYAPPOINTMENT
hasAirConditioning: YES_NO_BYAPPOINTMENT
floorType: COMMERCIAL_UNIT_FLOORTYPE
goodsLiftLoad: Float
floorLoad: Float
supplyType: STORE_SUPPLY_TYPE
powerSupplyLoad: Float
craneRunwayLoad: Float
}
enum STORE_SUPPLY_TYPE {
DIRECT_APPROACH
NO_DIRECT_APPROACH
CAR_APPROACH
APPROACH_TO_THE_FRONT
APPROACH_TO_THE_BACK
FULL_TIME
FORENOON
NO_INFORMATION
}
enum ENERGY_SOURCE_TYPE {
NO_INFORMATION
GEOTHERMAL
SOLAR_HEATING
PELLET_HEATING
GAS
OIL
DISTRICT_HEATING
ELECTRICITY
COAL
ACID_GAS
SOUR_GAS
LIQUID_GAS
STEAM_DISTRICT_HEATING
WOOD
WOOD_CHIPS
COAL_COKE
LOCAL_HEATING
HEAT_SUPPLY
BIO_ENERGY
HYDRO_ENERGY
ENVIRONMENTAL_THERMAL_ENERGY
COMBINED_HEAT_AND_POWER_FOSSIL_FUELS
COMBINED_HEAT_AND_POWER_RENEWABLE_ENERGY
COMBINED_HEAT_AND_POWER_REGENERATIVE_ENERGY
COMBINED_HEAT_AND_POWER_BIO_ENERGY
}
enum PARKING_TYPES {
GARAGE
OUTSIDE_PARKING_SPOT
CARPORT
DUPLEX
PARKING_GARAGE
UNDERGROUND_PARKING
NO_INFORMATION
}
enum HEATING_TYPE {
BLOCK_HEATING_STATION
ELECTRIC_HEATING
SELF_CONTAINED_CENTRAL_HEATING
TELEHEATING
FLOOR_HEATING
GAS_HEATING
WOOD_PELLET_HEATER
NIGHT_STORAGE_HEATER
STOVE_HEATING
OIL_HEATING
SOLAR_HEATING
HEAT_PUMP
CENTRAL_HEATING
}
enum QUALITY_OF_AMENITIES {
LUXURIOUS
UPSCALE
NORMAL
BASIC
}
Enum table maps
Field sub_type
use the following table
APARTMENT
NO_INFORMATION
NO_INFORMATION
| APARTMENT
| STUDIO
| GROUND_FLOOR
| TERRACE_APARTMENT
| PENTHOUSE
| MAISONETTE
| LOFT
| ROOM
| HOUSE
| ATTIC_FLOOR
| SOUTERRAIN
| MEZZANINE
HOUSE
NO_INFORMATION
SINGLE_FAMILY_HOUSE
| MID_TERRACE_HOUSE
| END_TERRANCE_HOUSE
| MULTI_FAMILY_HOUSE
| BUNGALOW
| FARMHOUSE
| SEMIDETACHED_HOUSE
| MANSION
| TOWN_HOUSE
| SPECIAL_REAL_ESTATE
| NO_INFORMATION
PARKING
NO_INFORMATION
GARAGE
| OUTSIDE_PARKING_SPOT
| CARPORT
| DUPLEX
| PARKING_GARAGE
| UNDERGROUND_PARKING
| NO_INFORMATION
OFFICE
OFFICE
LOFT
| STUDIO
| OFFICE
| OFFICE_FLOOR
| OFFICE_CENTER
| OFFICE_STORAGE_BUILDING
| SURGERY
| SURGERY_FLOOR
| SURGERY_BUILDING
| COMMERCIAL_CENTER
| LIVING_AND_COMMERICAL_BUILDING
| OFFICE_AND_COMMERICAL_BUILDING
STORE
STORE
SHOWROOM_SPACE
| SHOPPING_CENTER
| FACTORY_OUTLET
| DEPARTMENT_STORE
| KIOSK
| STORE
| SELF_SERVICE_MARKET
| SALES_AREA
| SALES_HALL
GASTRONOMY
CAFE
BAR_LOUNGE
| CAFE
| CLUB_DISCO
| GUESTHOUSE
| TAVERN
| HOTEL
| HOTEL_RESIDENCE
| HOTEL_GARNI
| PENSION
| RESTAURANT
| BUNGALOW
INDUSTRY
HALL
SHOWROOM_SPACE
| HALL
| HIGH_LACK_STORAGE
| INDUSTRY_HALL
| COLD_STORAGE
| MULTIDECK_CABINET_STORAGE
| STORAGE_WITH_OPEN_AREA
| STORAGE_AREA
| STORAGE_HALL
| SERVICE_AREA
| SHIPPING_STORAGE
| REPAIR_SHOP
SPECIAL PURPOSE
SPECIAL_ESTATE
RESIDENCE
| FARM
| HORSE_FARM
| VINEYARD
| REPAIR_SHOP
| LEISURE_FACILITY
| SPECIAL_ESTATE
| COMMERCIAL_CENTER
| INDUSTRIAL_AREA
Field UNIT_LETTING_READINESS_SUB_REASON
use the following table
LETTABLE_WITH_RENOVATION
MINOR_RENOVATION
| RENOVATION_2X_CAPEX
| RENOVATION_EXCEEDS_2X_CAPEX
| RENOVATION_EXCEEDS_3_YEARS_RENT
NOT_LETTABLE
NO_ACCESS
| BLOCKED_BUILDING_CONDITION
| BLOCKED_DUE_SALE
| BLOCKED_REGULATORY
| BLOCKED_STRATEGIC
| RENTAL_PRICE_APPROVAL
| RENTAL_AUTHORIZATION
| FIRST_TIME_USE
| CONSTRUCTION_MEASURES
| OCCUPANCY_RIGHT
| INTERNAL_USE
| INTERNAL_USE_FOR_RENTAL_PURPOSE
| RESERVED
| OTHER
UNKNOWN
NOT_YET_ASSESSED
Other enum fields
UNIT_TYPE
APARTMENT
APARTMENT
| HOUSE
| PARKING
| OFFICE
| STORE
| GASTRONOMY
| INDUSTRY
| SPECIAL_PURPOSE
| LAND
UNIT_CATEGORY
RESIDENTIAL
COMMERCIAL
| RESIDENTIAL
ENERGY_PERFORMANCE_CERTIFICATE_AVAILABILITY
AVAILABLE_AT_VIEWING
AVAILABLE
| AVAILABLE_AT_VIEWING
| NOT_REQUIRED
ENERGY_CERTIFICATE_CREATION_DATE
BEFORE_01_MAY_2014
| FROM_01_MAY_2014
BUILDING_ENERGY_RATING_TYPE
ENERGY_REQUIRED
| ENERGY_CONSUMPTION
ENERGY_EFFICIENCY_CLASS
NO_INFORMATION
| A_PLUS
| A
| B
| C
| D
| E
| F
| G
| H
YES_NO_BYAPPOINTMENT
NO_INFORMATION
YES
| NO
| BY_APPOINTMENT
| NO_INFORMATION
COMMERCIAL_UNIT_FLOORTYPE
NO_INFORMATION
CONCRETE
| EPOXY_RESIN
| TILES
| PLANKS
| LAMINATE
| PARQUET
| PVC
| CARPET
| ANTISTATIC_FLOOR
| OFFICE_CARPET
| STONE
| CUSTOMIZABLE
| WITHOUT
| NO_INFORMATION
AMENITIES_CONDITION
WELL_KEPT
FIRST_TIME_USE
| FIRST_TIME_USE_AFTER_REFURBISHMENT
| AS_GOOD_AS_NEW
| REFURBISHED
| UPGRADED
| FULLY_RENOVATED
| WELL_KEPT
| IN_NEED_OF_RENOVATION
| NEGOTIABLE
| DILAPIDATED
UNIT_LETTING_READINESS_STATUS
LETTABLE_WITHOUT_ISSUES
| LETTABLE_WITH_RENOVATION
| NOT_LETTABLE
| UNKNOWN
Below we are providing a full example how to create or update a unit, all this information is not required, only the ones that was using ! notation previously.
mutation {
upsertUnit(
unit: {
meta: { source: "INTEGRATION_TYPE" }
name: "Appartmert"
externalUnitId: "910011000009"
propertyId: "b7ecfa0c-6dfc-4236-abac-0a92d90ce032"
externalOwnerId: "2255"
category: RESIDENTIAL
type: APARTMENT
subtype: APARTMENT
rooms: {
bedrooms: 0
rooms: 4
}
amenities:{
condition: FULLY_RENOVATED
lastRenovationYear: 2012
qualityOfAmenities: LUXURIOUS,
energyConsumptionContainsWarmWater: true
energyEfficiencyClass: A_PLUS
energyCertificateCreationDate: FROM_01_MAY_2014
hasLanCables: YES
}
descriptions: {
object: "Property Group 01: child-rich parts of the city.ss",
amenities: "Property Group 01: Completely furnished with high-quality custom-made fittings",
location: "Property Group 01: Langenhagen The city of Langenhagen connects directly to the settlement area of ​​Hanover in the north.",
other: "Property Group 01: See more Infosys at www.myclimate.org and in Kundenportal."
}
}
) {
id
}
}
Last updated
Was this helpful?