Skip to the article
Aniq-UI

VelraInquiries and viewings

Inquiries and viewings

How the website's contact form and viewing requests reach the agency, how the team works them in the dashboard, and the limits that keep the forms clean.

For the Full Stack package

How a request reaches the agency

On the websiteIn the dashboard
The contact formAn inquiry, marked as a contact, or as a question when it was sent about a property
A viewing request on a property pageA viewing request, with an inquiry behind it marked as a viewing
  • Each one notifies, live, every admin who can view inquiries or viewings, and lands in the dashboard's Leads or Viewings page.
  • The visitor sees a confirmation on the page: a viewing request shows its reference and stays awaiting confirmation until the agency confirms it.
  • Nothing is sent by email, to the visitor or to the agency: the template has no mail service. A developer can add one beside the notification.

Inquiries

StatusMeaning
NewJust received. Every inquiry starts here.
ContactedThe agency has replied.
QualifiedA serious buyer or tenant.
ClosedFinished, whatever the outcome.
  • The Leads page filters by status and searches, ten a page, beside the selected inquiry: its property, the visitor's details and what they asked for (buy or rent, area, budget, message).
  • The detail panel changes the status and keeps an internal note, up to 2000 characters, which the visitor never sees.
  • Inquiries cannot be deleted: close the ones you are done with.

Viewings

StatusMeaningNext steps
RequestedSent from the website, at the visitor's preferred timeConfirm, or cancel
ConfirmedThe agency agreed a timeConfirm again at another time, complete, or cancel
CompletedThe visit happenedNone
CanceledIt will not happenNone
  • The Viewings page has a tab per status with its counts. Requested viewings list the earliest first, confirmed ones the next appointment first.
  • Confirming keeps the visitor's preferred time, or sets another date and time in the agency's time zone, every half hour from 08:00 to 20:00.
  • Each viewing keeps an internal note of up to 500 characters. Viewings cannot be deleted: cancel the ones that will not happen.
  • Every time is shown and entered in agency time, Asia/Dubai, whatever the computer's own clock. The website offers 09:00 to 18:00 and refuses a time less than an hour ahead.

Keeping the forms clean

  • Each address may send five contact forms and five viewing requests in ten minutes; the next one is refused with a message to wait. The counts live in the API's memory.
  • A hidden field catches bots: a submission that fills it is answered as usual and stored nowhere.
  • Each submission carries a one-time token, so a double click or a resend stores one inquiry, not two.
  • Behind a reverse proxy, set TRUST_PROXY=1 in the API's .env, or every visitor shares the proxy's allowance.

Who can do what

PermissionAllows
leads.viewReading inquiries, and being notified of new ones
leads.editChanging an inquiry's status and note
viewings.viewReading viewing requests, and being notified of new ones
viewings.editConfirming, completing and cancelling viewings, and their note

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

The routes behind them

POST /api/leads and POST /api/viewings are public, and answer 201 with a receipt: the inquiry's id and time, or the viewing's reference, status and preferred time with its time zone. The dashboard reads and updates them with GET and PATCH /api/leads/:id and /api/viewings/:id; a viewing moves with { "action": "confirm" }, complete or cancel, and an action from the wrong status is refused.

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.