Skip to the article
Aniq-UI

VelraProperties and the editor

Properties and the editor

What a property holds, how an agent adds and edits one in the dashboard, its photos and location, and how publishing decides what the website shows.

For the Full Stack package

What a property holds

PartValues
Texts, in English and ArabicTitle, short description, description, city, SEO title and SEO description. English is required for the title.
Purposesale or rent. Rentals are priced per year.
Typeapartment, villa or townhouse
PriceA positive amount in AED
FactsBedrooms, bathrooms, area in square metres, parking spaces, furnishing (unfurnished, semi-furnished, furnished) and outdoor space (terrace, balcony, garden, courtyard or none)
AmenitiesAny of 14: private pool, terrace, garden, covered parking, balcony, gym, concierge, sea view, marina view, canal view, courtyard, study, maid's room, smart home
LocationNeighborhood, address, a point on the map, and whether that point is exact or approximate
PhotosUp to 30 in the editor, in the order arranged, one of them the cover
Statusdraft, published, sold, rented or archived
InternalA reference given in order (P001, P002 and on), an address slug made from the title, a featured flag and notes the website never shows

The types, amenities and other closed lists are defined once in the API and labelled in both frontends' message files, so a new value is a change in all three apps.

Statuses and what the website shows

StatusOn the website
DraftHidden. Every new property starts here.
PublishedListed, searchable, in the sitemap, and selectable for the home page. The first publish sets its publication date, which a later re-publish keeps.
Sold, RentedHidden, kept in the dashboard as a record.
ArchivedHidden, and can be published again.

Deleting a property removes it from the dashboard too. The home page features the three homes chosen under Settings, Homepage; when none of them is published, it falls back to published homes marked featured.

The property list

  • Tabs for All, Published and Drafts with their counts, a search by title (in either language) or reference, and filters for purpose, type and status, six properties a page.
  • Each row's menu publishes, unpublishes (back to draft), archives or deletes the property. Archive and delete ask first.
  • Properties are listed with the most recently updated first.

The property editor

/en/dashboard/properties/new adds a property and /en/dashboard/properties/<id>/edit changes one. The editor has four tabs and a publishing card beside them.

TabWhat it holdsLimits
DetailsThe title, short description and description in both languages, purpose, type, price, the facts, amenities and the featured flagTitle 160 characters, short description 500, description 5000
MediaPhotos dropped or chosen from the computer, ordered by dragging, one marked as the coverUp to 30, as JPEG, PNG or WebP
LocationThe city in both languages, the neighborhood, the address, a pin dragged on the map or found by place search, and exact or approximateCity 80, address 255
SEOThe SEO title and description in both languages, the address slug and internal notesSEO title 160, SEO description 320, notes 2000
  • The publishing card sets any of the five statuses, and "Preview listing" opens the property on the website once it is published.
  • The map draws OpenFreeMap tiles and the place search uses the public Photon service, both without a key. NEXT_PUBLIC_MAP_STYLE_LIGHT, NEXT_PUBLIC_MAP_STYLE_DARK and NEXT_PUBLIC_PLACE_SEARCH_URL point them elsewhere.
  • Photos are uploaded as they are added and re-encoded by the API, at most 1920 pixels wide.

Who can do what

PermissionAllows
properties.viewSeeing every property, drafts included
properties.createAdding properties
properties.editChanging details and photos
properties.publishPublishing, unpublishing, archiving, and marking sold or rented
properties.deleteDeleting properties

Both seeded roles, Super Admin and Agent, hold all five.

What the API checks

  • Every closed list (purpose, type, status, furnishing, outdoor space, amenities) is validated, and a price, a count or an area outside its range is refused with the field named.
  • The API accepts up to 40 photos in one gallery; the editor stops at 30.
  • A slug is made unique from the title when it is not given, and a reference is never handed out twice.
  • The website's list takes purpose, type, neighborhood, min_price, max_price, bedrooms, amenities (comma separated) and q, sorts by newest, price_asc or price_desc, and pages with page and page_size (12 by default, at most 24). An unknown value in one of them is refused rather than ignored.

Stuck on a step?

Find a fix before you start over.

Troubleshooting

Cookie Preferences

We use cookies to enhance your browsing experience, analyze site traffic, and personalize content. By clicking "Accept All", you consent to our use of cookies for analytics and personalized advertising.