TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Ozcaar/real-estate-template/llms.txt
Use this file to discover all available pages before exploring further.
Agent interface models an individual real estate agent or team member whose profile is displayed in the agency’s team section. Agent records drive the team roster on the agents page and, when AgencyConfig.modules.agents is enabled, appear in the site navigation. The interface lives at app/features/agents/types/agent.types.ts and is designed to be backend-friendly: the static MVP data in app/features/agents/data/agents.ts can be replaced by an API response without changing any component that consumes agent data.
Agent currently has no Zod schema. The TypeScript compiler enforces the shape at build time. A future task may add an agent schema mirroring the validation pattern in app/features/properties/schemas/property.schema.ts.Agent interface
Unique agent identifier. Must be a non-empty string. Cross-referenced by
Property.agentId to associate listings with a specific team member. propertiesService.getRelated() awards a +1 score bonus when two properties share the same agentId.Full display name of the agent (e.g.
'María López'). Rendered on profile cards and the agents page. Agency content — not an i18n key.Job title or position within the agency (e.g.
'Senior Sales Agent', 'Rental Specialist'). Agency content — not an i18n key. Rendered as a subtitle on team cards.Short biography or professional summary shown on the team card. Keep it concise — typically one to three sentences. Agency content — not an i18n key.
Portrait or cover image path served from
public/ (e.g. '/images/agents/maria-lopez.jpg'). Images should be placed under public/images/agents/ by convention to keep agent assets organized. Used as the card thumbnail and detail portrait.Direct phone line for the agent. Optional. Stored in human-readable format (e.g.
'+52 81 1234 5678'). Rendered as a tel: link on contact surfaces.Direct email address for the agent. Optional. Rendered as a
mailto: link on contact surfaces.WhatsApp contact number for the agent. Optional. Stored in any human-readable format — digits, spaces, dashes, parentheses, and a leading
+ are all accepted. The buildWhatsAppLink utility in app/core/utils/whatsapp-link.ts normalizes the value at render time.Short specialty tags displayed as badge-style labels on the agent profile (e.g.
['Luxury Homes', 'Pre-sale Units', 'Commercial']). Optional. Agency content strings — not i18n keys.WhatsApp number formatting
Thewhatsapp field accepts numbers in any common human format. The buildWhatsAppLink utility strips every non-digit character and builds a standard wa.me deep link:
null when the input is empty or produces no digits, so contact components can use a simple v-if="whatsappLink" to hide the button gracefully. Always include the country code in the stored number — without it, wa.me links may fail to route to the correct number.
Image path conventions
Agent portrait images are served frompublic/ and referenced by their path relative to the public root:
public/images/agents/. Using a consistent subdirectory keeps agent assets separate from property images (public/images/properties/) and development images (public/images/developments/). Square or portrait-oriented images work best with the team card layout.
Linking agents to properties
Properties are associated with an agent viaProperty.agentId:
agentId value must match an Agent.id in the agents data file. The template does not currently join and embed the full agent object into property objects at service level — components that need to display both a property and its agent must look up the agent separately from the agents data.