Skip to main content

Property Configuration

Property configuration schemas for real estate management. Includes property categories, addresses, features, and property listings.

Source: src/core/business-mgt/property-config.schema.ts


PropertyCategory​

Categories for organizing property listings.

Schema: PropertyCategorySchema

Attributes​

AttributeTypeRequiredDefaultDescription
idstring——Unique identifier for the category
namestringYes—Category name (e.g., Luxury Homes, Commercial Offices)
descriptionstringNo—Category description
propertyTypeenumYes—Type of property. One of RESIDENTIAL, COMMERCIAL, or LAND.
displayOrdernumberNo—Display order in listing
createdAtnumber——Unix timestamp when created
updatedAtnumber——Unix timestamp when last updated

PropertyAddress​

Standalone address entity for properties.

Schema: PropertyAddressSchema

Attributes​

AttributeTypeRequiredDefaultDescription
idstring——Unique identifier for the address
streetstringYes—Street address
unitstring | nullNo—Unit or apartment number
citystringYes—City name
statestringYes—State or province
postalCodestring | nullNo—Postal or ZIP code
countrystringYes—Country
coordinatesobject | nullNo—Geographic coordinates (latitude, longitude)
neighborhoodstring | nullNo—Neighborhood or district name
districtstring | nullNo—Administrative district
isVerifiedbooleanNofalseWhether address has been verified
verifiedAtnumber | nullNo—Timestamp when verified
primaryUserAccountIdstring | nullNo—User account managing the property
createdAtnumber——Unix timestamp when created
updatedAtnumber——Unix timestamp when last updated

PropertyFeatures​

Physical features and amenities of a property.

Schema: PropertyFeaturesSchema

Attributes​

AttributeTypeRequiredDefaultDescription
bedroomsnumber | nullNo—Number of bedrooms
bathroomsnumber | nullNo—Number of bathrooms
parkingSpacesnumber | nullNo—Number of parking spaces
squareFootagenumber | nullNo—Total square footage
lotSizenumber | nullNo—Lot size
lotSizeUnitenumNosqftUnit for lot size
yearBuiltnumber | nullNo—Year the property was built
floorsnumber | nullNo—Number of floors
amenitiesarray<string>No[]List of amenities
utilitiesarray<string>No[]Available utilities

Property​

Main property listing schema.

Schema: PropertySchema

Attributes​

AttributeTypeRequiredDefaultDescription
idstring——Unique identifier for the property
categoryIdstringYes—ID of the property category
categoryPropertyCategoryNo—Populated category object
titlestringYes—Property listing title
descriptionstringNo—Detailed property description
propertyTypeenumYes—Type of property. One of RESIDENTIAL, COMMERCIAL, or LAND.
propertySubTypeenumYes—Subtype of property.
addressIdstringYes—ID of the property address
addressPropertyAddress | nullNo—Populated address object
listingTypeenumYes—Type of listing. One of SALE, RENT, or SALE_OR_RENT.
listingStatusenumNoDRAFTCurrent listing status. One of DRAFT, ACTIVE, PENDING, SOLD, RENTED, or INACTIVE.
salePricenumber | nullNo—Sale price
salePriceCurrencystringNoUSDCurrency for sale price
rentalPricenumber | nullNo—Rental price
rentalPeriodenum | nullNo—Rental period. One of DAILY, WEEKLY, MONTHLY, or YEARLY.
rentalPriceCurrencystringNoUSDCurrency for rental price
priceNegotiablebooleanNofalseWhether price is negotiable
featuresPropertyFeaturesNo—Property features
conditionenum | nullNo—Property condition. One of NEW, EXCELLENT, GOOD, FAIR, POOR, or NEEDS_WORK.
furnishedbooleanNofalseWhether property is furnished
imagesarray<string>No[]Array of image URLs
virtualTourUrlstring | nullNo—Virtual tour URL
videoUrlstring | nullNo—Video tour URL
availableFromnumber | nullNo—Available from date (timestamp)
availableTonumber | nullNo—Available until date (timestamp)
isActivebooleanNotrueWhether property is active
isFeaturedbooleanNofalseWhether property is featured
isVerifiedbooleanNofalseWhether property has been verified
externalIdstring | nullNo—External system reference ID
mlsNumberstring | nullNo—MLS listing number
createdAtnumber——Unix timestamp when created
updatedAtnumber——Unix timestamp when last updated

Example​

{
"id": "prop_abc123",
"categoryId": "cat_luxury",
"title": "Modern Downtown Apartment",
"description": "Beautiful 2-bedroom apartment with city views",
"propertyType": "RESIDENTIAL",
"propertySubType": "APARTMENT",
"addressId": "addr_xyz789",
"listingType": "RENT",
"listingStatus": "ACTIVE",
"rentalPrice": 2500,
"rentalPeriod": "MONTHLY",
"rentalPriceCurrency": "USD",
"features": {
"bedrooms": 2,
"bathrooms": 2,
"parkingSpaces": 1,
"squareFootage": 1200,
"amenities": ["gym", "pool", "concierge"],
"utilities": ["gas", "electric", "water"]
},
"condition": "EXCELLENT",
"furnished": true,
"images": ["https://example.com/image1.jpg"],
"isActive": true,
"isFeatured": true,
"createdAt": 1709856000000,
"updatedAt": 1709856000000
}

Create / Update Schemas​

SchemaDescriptionOmits
CreatePropertyCategorySchemaFor creating categoriesid, createdAt, updatedAt
UpdatePropertyCategorySchemaFor updating categoriesAll fields optional except id
CreatePropertyAddressSchemaFor creating addressesid, createdAt, updatedAt, verifiedAt
UpdatePropertyAddressSchemaFor updating addressesAll fields optional except id
CreatePropertySchemaFor creating propertiesid, createdAt, updatedAt, category, address
UpdatePropertySchemaFor updating propertiesAll fields optional except id