Real Estate · 2025
Custom real estate CRM for site visits, unit inventory, and broker lead ownership
A growing real estate firm in Gujarat ran multiple residential projects with parallel sales teams, channel partners, and walk-in enquiries — yet lead ownership lived in shared Excel files and WhatsApp threads nobody else could search. Site visits were double-booked, unit availability was stale by afternoon, and the same buyer sometimes appeared as three duplicate records from broker portals, Facebook ads, and walk-ins. Web6 delivered a custom Laravel and React CRM with optional Next.js admin tooling for leadership reports: live project and unit inventory, broker-attributed lead rules, duplicate detection on phone and project interest, site visit calendars with conflict checks, and WhatsApp enquiry logging tied to buyer profiles.
Client information has been anonymized due to NDA.
- Industry
- Real Estate
- Business type
- Growing real estate firm (confidential)
- Duration
- 14 weeks
- Team size
- 4 Web6 engineers + client sales leadership & coordinators
- Location
- Surat, Gujarat, India; multi-project sales offices
- Services
- Custom CRM DevelopmentSite visit schedulingProject & unit inventory statusBroker vs direct lead routingDuplicate lead preventionWhatsApp enquiry capture
Technology stack
- Laravel
- React
- Next.js
- PostgreSQL
- Redis
- Docker
- Cloudflare
- AWS
- Duplicate lead records (monthly)
- −82%
- Unit availability accuracy at site
- Same-day sync
- Sales coordinator adoption
- 100%
Sales floor tablet view with color-coded unit status and timed holds replaces end-of-day spreadsheet updates.
Project overview
The client — a growing real estate firm we refer to here under NDA — develops and sells residential projects across Surat and nearby corridors. Their go-to-market mixes direct sales teams, registered channel partners and brokers, digital campaigns, property portals, and walk-in experience centers. Each project carries its own inventory of units with typologies, facing preferences, parking slots, and status transitions from Available through Hold, Booked, and Registered. Speed matters: when inventory is wrong on the sales floor, trust erodes fast; when two brokers claim the same buyer, commissions and morale suffer.
Before Web6, coordinators tracked leads in Excel workbooks per project, supplemented by broker email dumps and screenshots of portal leads. Site visits were scheduled by phone and noted in personal calendars — double bookings happened weekly during launch weekends. WhatsApp groups broadcast “hot leads” without structured ownership, and duplicate entries for the same phone number were discovered only at booking time when finance raised flags. Generic CRM demos looked fine for B2B SaaS but could not express unit-level inventory holds tied to visit outcomes or broker attribution windows without expensive customization.
Web6 engaged for fourteen weeks to build a bespoke property CRM. Laravel powers the REST API and business rules; React delivers the coordinator and sales executive UI used daily on desktops and tablets; a lightweight Next.js admin shell optional for leadership analytics was included for cross-project dashboards and export controls. PostgreSQL stores buyers, leads, projects, towers, units, visits, broker registrations, and WhatsApp metadata. Redis queues notifications, duplicate scans, and PDF brochure generation. Infrastructure runs Docker on AWS ap-south-1 with Cloudflare in front — the same pattern Web6 uses for other Gujarat builder clients who want data under their control.
Four Web6 engineers — backend, frontend, full-stack for Next.js reporting, and QA/DevOps shared — partnered with client sales leadership, two project coordinators, and IT. Success was measured by fewer duplicate records, same-day unit status accuracy on site, and full coordinator adoption — not invented conversion rate lifts or revenue multiples leadership rightly distrusted from vendor slide decks.
Multi-project rollout timing mattered: two experience centers and three active launches overlapped during build. We sequenced inventory module before broker attribution because coordinators said stale unit status caused more floor arguments than commission disputes — a prioritization call that shaped sprint order and earned trust when launch weekend arrived on schedule.
Engagements like this are delivered through Web6 real estate CRM development .
Business and operational challenges
Lead ownership was contested. Direct sales, broker channel partners, and digital inbound each had legitimate claim rules depending on who touched the buyer first, whether the buyer walked into which experience center, and whether a broker registration form was on file. Without a system enforcing attribution windows and audit trails, disputes consumed sales director time every month — and sometimes delayed bookings while arguments continued in WhatsApp groups.
Duplicate leads were structural, not accidental. The same buyer enquired on a property portal, clicked a Facebook lead ad, and visited site with a broker — three rows in three spreadsheets with slightly different name spellings. Coordinators lacked merge tools; executives called the buyer twice in one afternoon. Finance only saw the problem when token amounts linked to conflicting lead IDs.
Unit inventory status was stale. Holds were verbal during busy Sundays; by Monday morning a “available” three BHK on the ground floor might already be verbally committed. Spreadsheet inventory updated end-of-day if at all. Site sales needed live status on a tablet without opening five tabs or shouting across the experience center.
Site visit scheduling was chaotic. Buyers wanted evening and weekend slots; executives overcommitted; brokers sent clients without notifying coordinators. No single calendar showed executive load, project capacity for simultaneous visits, or broker-attributed appointments. Cancellations and no-shows were invisible in reporting.
WhatsApp dominated enquiry capture. Buyers sent location pins, voice notes, and brochure requests on personal sales WhatsApp numbers. None of that was searchable at firm level — when an executive left, their phone history walked out the door. Leadership wanted WhatsApp logging that respected buyer experience and Meta policy, not a blast of automated bot spam.
- Broker vs direct lead ownership disputes without audit trails
- Duplicate buyer records across portals, ads, and walk-ins
- Unit inventory holds not reflected until end-of-day spreadsheets
- Double-booked site visits during launch weekends
- WhatsApp enquiries trapped on personal phones
- Generic CRMs weak on project-unit inventory modeling
Goals and success criteria
Product goals centered on one CRM where every buyer enquiry becomes a lead with clear owner, project interest, source, and broker attribution when applicable. Coordinators schedule site visits against executive calendars with conflict detection and SMS or WhatsApp reminders using approved templates. Unit inventory updates propagate to sales floor views within minutes when holds or bookings change.
Duplicate prevention goals combined proactive detection — same phone on same project within attribution window — with merge workflows coordinators could execute without IT tickets. Lost merges should preserve broker attribution history and visit logs from both records.
Broker portal goals were pragmatic: registered partners submit leads via a simple authenticated form or email ingestion; rules assign default ownership and notify the mapped direct sales counterpart for joint visits when configured. We did not build a full partner extranet in phase one; we built attribution integrity.
Reporting goals for leadership used the optional Next.js admin layer: cross-project funnel counts, visit-to-booking directional ratios, broker contribution summaries, and duplicate merge statistics — honest ops metrics, not promised revenue uplift.
Success criteria from discovery: reduce duplicate lead creates by at least seventy percent within sixty days; unit status on sales tablets matches coordinator master by end of each business day; one hundred percent coordinator weekly active usage; median site visit scheduling time under three minutes per booking during UAT scenarios.
Discovery and research
Discovery spanned three days at two experience centers and the firm’s head office in Surat. We observed coordinators processing portal CSV dumps, executives conducting site visits with printed inventory sheets, and a broker dispute meeting that lasted forty minutes — excellent evidence for attribution rules priority. We collected anonymized Excel samples, portal export formats, and broker registration PDFs.
Sales director interviews clarified non-negotiables: never show one unit as available to two executives simultaneously on screen; never delete broker history on merge; never send WhatsApp marketing without opt-in. IT documented email relay, domain SSO preferences, and AWS account boundaries — they wanted Laravel and PostgreSQL skills available locally for maintenance, not a black-box SaaS.
We reviewed off-the-shelf property CRMs. Many assumed a single sales hierarchy or US-style MLS semantics. Unit inventory with hold timers, broker windows, and Gujarati buyer name variants in duplicate detection needed custom logic. Week-one spikes validated PostgreSQL unique partial indexes on normalized phone plus project, calendar conflict queries under load, and WhatsApp webhook mapping to buyer records.
Optional Next.js admin was scoped for leadership only — read-heavy dashboards and CSV exports — keeping daily transactional UX in the React app coordinators already learned during training. This separation reduced permission complexity in the main SPA.
System architecture
The property CRM uses a Laravel 11 API monolith with a React 18 SPA for coordinators and sales executives, plus an optional Next.js 14 admin app for leadership analytics — both front ends consume the same versioned REST API and Sanctum cookie auth with role separation. PostgreSQL models projects, towers, floors, units with status enums, buyers, leads with source and broker attribution, site visits, activities, and WhatsApp message references. Redis handles Laravel queues for duplicate scans after lead create, visit reminder sends, and inventory change broadcast events.
Lead creation runs through a normalization pipeline: phone to E.164 India defaults, name trim and fuzzy match against recent leads, project interest linkage, source attribution from portal codes or UTM fields on website forms. Duplicate candidates surface inline before save when confidence exceeds threshold; coordinators can proceed with override reason when genuine family duplicates exist.
Broker attribution rules live in configurable policy rows: window days from first broker registration, walk-in direct override flags, and joint credit splits for reporting only — not payroll, which finance keeps external. Every ownership change appends audit rows with actor and reason.
Unit inventory uses optimistic locking on status transitions. Hold creation specifies expiry datetime; expired holds release via scheduled jobs unless extended by authorized roles. Sales floor React views subscribe to polling every sixty seconds on launch days — WebSockets documented as phase two — and show color-coded unit grids per tower.
Site visit scheduling stores executive assignments, project location, buyer and broker attendees, vehicle and access notes, and conflict checks against existing visits and blocked personal leave imported from CSV. Reminders queue twenty-four and two hours before via WhatsApp templates where session windows allow, SMS fallback otherwise.
WhatsApp Business API webhooks ingest inbound messages; phone match links to buyer profile and open lead. Outbound template messages limited to visit confirmations and coordinator-initiated follow-ups — no cold promotional blasts in phase one.
Docker images deploy to AWS ECS with RDS PostgreSQL, ElastiCache Redis, S3 for brochures and visit QR sheets. Cloudflare WAF protects public website form endpoints that POST new leads into the API. CI runs Pest tests, React Testing Library smoke tests on critical forms, and Lighthouse checks on Next.js admin pages.
- Laravel REST API — leads, units, visits, broker rules
- React SPA — coordinator and executive daily workflows
- Next.js admin — optional leadership dashboards and exports
- PostgreSQL — unit inventory with hold expiry and audit
- Redis — duplicate scans, reminders, notification queues
- AWS + Docker + Cloudflare — production deployment pattern
User experience for sales and coordinators
Coordinators live in the lead queue and visit calendar. Lead queue supports filters by project, source, owner, duplicate flag, and overdue follow-up. Inline duplicate warnings show side-by-side field comparison before merge. Visit calendar offers day and week views with executive columns, drag reschedule with conflict toasts, and print-friendly run sheets for security gates.
Sales executives use a tablet-optimized project view: unit grid with typology filters, tap to hold with timer picker, link hold to active lead, and log visit outcomes — interested, revisit, not interested — that drive pipeline stages. Broker-attributed leads show partner name and registration ID prominently to reduce floor disputes.
Buyers never log into the CRM; public touchpoints stay minimal. Website enquiry forms on the client’s marketing site post to the API with honeypot and rate limits. Brochure download triggers lead create with source tag — coordinated with custom website development already maintained by Web6 for the firm’s project landing pages.
Next.js admin for leadership is read-mostly: cross-project charts, broker tables, visit counts, duplicate merge stats, and CSV exports with watermarking. Access limited to half a dozen users; no reason to burden executives with analytics chrome in their daily SPA.
Delivery process
Weeks 1–2: discovery, data model, project-unit import, auth roles. Weeks 3–5: lead intake, duplicate engine, broker attribution. Weeks 6–8: unit inventory UI, holds, visit scheduling. Weeks 9–10: WhatsApp logging, reminders, Next.js admin dashboards. Weeks 11–12: UAT at one launch project, training. Weeks 13–14: second project rollout, hypercare.
Fortnightly demos with sales director and coordinators. Pilot at the firm’s highest-traffic experience center during a weekend launch; hypercare staff on-call via Slack channel shared with IT. Excel retirement ceremony was informal but effective — director disabled old shared links in front of the team.
Portal CSV import mappers saved coordinator hours each Monday — previously manual copy-paste from three portal formats. Training included a launch Sunday simulation: import fifty leads, merge twelve duplicates, book twenty visits, place eight holds — timed exercise; coordinators who finished under ninety minutes certified for production credentials. Sales executives joined a shorter tablet-only module focused on unit grid and hold timers.
CRM modules and features delivered
Modules reflect how this builder actually sells — projects, units, brokers, visits, and WhatsApp — not generic B2B pipeline stages alone. Feature sequencing prioritized inventory accuracy and duplicate prevention before leadership analytics because launch weekend failures would have killed adoption regardless of dashboard polish.
Multi-project lead management
Leads tied to project interest, source codes (portal, ad, walk-in, broker, referral), UTM capture from website forms, and owner assignment rules by project and shift. Pipeline stages from Enquiry through Visit Scheduled, Visited, Negotiation, Hold, Booked, and Lost.
Duplicate lead prevention and merge
Normalized phone matching with fuzzy name hints flags duplicates on create and import. Coordinators merge with field-level pick-list preserving broker history, visit logs, and activity timelines; merges audit to both lead IDs.
Broker vs direct lead ownership rules
Configurable attribution windows from broker registration timestamps, walk-in direct overrides with manager approval, and joint visit flags. Ownership changes require reason codes; disputes resolved from audit exports not memory.
Project and unit inventory status
Tower-floor-unit grid with typology, facing, area, and status Available, Hold, Booked, Registered. Holds carry expiry timers; releases automatic unless extended. Sales floor view refreshes on short interval during launch days. Hold extension requires manager role after two renewals — preventing indefinite verbal reservations that blocked inventory without audit trail.
Site visit scheduling and calendar
Executive calendars with conflict detection, broker attendee fields, vehicle notes, and printable gate passes. Reschedule and cancel flows notify buyers via approved WhatsApp templates or SMS fallback.
WhatsApp enquiry capture and logging
Business API webhooks attach inbound messages to buyer profiles; coordinators reply from CRM within policy. Visit confirmations and follow-ups use templates; conversational history searchable by phone tail and project.
Portal and CSV lead import mappers
Saved mapping profiles for major property portal export formats — column transforms, default project linkage, and duplicate review queue before bulk commit.
Visit outcome and follow-up tasks
Post-visit disposition drives tasks and stage changes; revisit dates auto-schedule reminders. Lost reasons required for reporting — price, location, typology mismatch, competitor, other.
Broker registration registry
Channel partner master with RERA ID fields, contact persons, project authorizations, and lead submission identifiers used in attribution rules and partner performance reports.
Hold-to-booking workflow hooks
When hold converts to booked, lead stage updates and unit locks; finance notification email with lead and unit summary — not full ERP posting in phase one.
Next.js leadership dashboards
Optional admin app for cross-project funnel charts, broker contribution tables, visit volume, duplicate merge metrics, and watermarked CSV exports — read-only for leadership.
REST API and website form integration
Public enquiry endpoints with rate limiting for project landing pages; OpenAPI docs for future mobile app field tools Web6 may build under mobile app development engagements.
Role-based access control
Roles include Coordinator, Sales Executive, Sales Director, Broker Desk (limited), Leadership Read-Only, and Admin. Policies scope project visibility and unit status change permissions.
SEO and discoverability
CRM delivery was internal; marketing SEO focused on project landing pages that feed the CRM — a coordination point Web6 handled alongside custom website development already in flight. Enquiry forms on those pages POST to the CRM API with hidden UTM fields so digital leads arrive with attribution intact. Page titles and meta descriptions follow project-location intent (“2 BHK in Vesu Surat”) rather than generic builder branding alone — practical lead capture SEO, not vanity traffic.
Structured data on public project pages uses RealEstateListing-oriented JSON-LD where content genuinely supports it — price range, address, number of bedrooms — without fake aggregate ratings. Canonical tags point to primary domains; staging CRM and admin hosts sit behind noindex and robots disallow.
This case study page on web6.in uses BreadcrumbList and Organization schema in the site template so the story is internally findable and correctly categorized as a Web6 case study — lightweight schema for the case study document itself, not keyword stuffing in the CRM app.
Internal search in the CRM indexes buyer phone tails, lead IDs, broker names, and unit numbers so coordinators find records faster than site: search — a form of operational discoverability marketing sites cannot replace.
Performance and reliability
Unit grid queries paginate by tower and typology; indexed status columns keep tablet views under two second load on 4G during UAT. Hold expiry jobs batch every five minutes — sufficient precision without overloading RDS on Sunday peaks.
Duplicate scan jobs run asynchronously on lead create so coordinators are not blocked on fuzzy match computation. Redis-backed rate limits protect public enquiry endpoints from portal scraper spikes.
Next.js admin dashboards cache aggregate queries five minutes — leadership accepts slight lag for stable page loads. Cloudflare caches static assets for both SPAs; API routes uncached with appropriate headers.
Visit reminder jobs batch SMS fallback when WhatsApp session windows expired — common for buyers who enquired Friday and visit Sunday. Coordinator dashboard shows delivery status per reminder so they know when to phone manually; reducing no-shows was operational goal, not a revenue claim, but visit completion rate improved directionally in director's weekly notes.
Security and compliance
Buyer PII — phone, email, government ID references collected at booking — requires role-scoped access and encrypted backups. Broker desk users see only their attributed leads, not firm-wide buyer lists. Audit logs capture unit status changes and ownership overrides for commission dispute review.
Public form endpoints use honeypots, Cloudflare rate limits, and Laravel throttle middleware. WhatsApp webhook signatures verified before processing. S3 brochures served via short-lived presigned URLs.
MFA required for admin and director roles; session timeout aligned with shared tablet usage policies on sales floor devices — coordinators re-auth before sensitive exports.
- Territory and project-scoped authorization policies
- MFA for leadership and admin roles
- WhatsApp webhook verification and template-only outbound where required
- Rate-limited public lead capture endpoints
- Audit trails for ownership and unit status changes
- Encrypted RDS backups and S3 at rest
Testing and quality assurance
Automated tests cover duplicate detection edge cases — same phone different project allowed, same phone same project blocked, merge preserves broker fields — visit conflict rules, hold expiry transitions, and attribution window boundaries at midnight IST.
UAT scripts enacted coordinator day-in-life: portal import, duplicate merge, visit book, WhatsApp log, hold with expiry, booking lock. Sales director sign-off on broker dispute simulation using audit export alone.
Tablet testing on Android devices used on the actual sales floor; print layouts verified for gate passes at experience center printers.
Measured outcomes
Duplicate lead record creation — counting new leads flagged and merged or prevented at entry — fell eighty-two percent in the first sixty days compared to the prior sixty-day baseline from portal and ad imports. Coordinators reported the inline warning at create time mattered more than batch cleanup jobs after the fact.
Unit availability on sales tablets matched coordinator master status by end of each business day throughout hypercare — verified by daily spot checks during a launch weekend. Verbal-only holds decreased because executives could place timed holds in-system from the floor; stale “available” labels were the complaint leadership wanted gone, and same-day sync achieved that operational bar.
Sales coordinator weekly active usage reached one hundred percent within four weeks of training — every coordinator logged in and processed at least one lead, visit, or merge weekly. Executives adopted unit grid holds more slowly but reached steady use by week six when director made holds mandatory before verbal promises.
We did not publish revenue or conversion rate percentages. Directional improvements leadership cited included fewer commission disputes requiring director arbitration, faster visit scheduling during peak hours, and searchable WhatsApp history when executives rotated between projects — ops outcomes tied to the metrics above.
Lessons learned
Real estate CRM success is inventory and attribution first, pipeline aesthetics second. Unit holds with expiry and broker audit trails solved more floor pain than fancy funnel charts on day one.
Duplicate prevention at create beats monthly cleanup — coordinators have no time for forensic merges during launch Sundays.
Optional Next.js admin separated leadership analytics from daily SPA complexity — worth the small extra surface area for read-only reporting.
WhatsApp logging must respect buyer trust — templates for confirmations, not promotional spam — or coordinators disable the integration.
Pilot one busy experience center; stress-test visit calendar before rolling to quieter projects.
Technology stack
Stack chosen for API clarity, tablet-friendly React UX, optional Next.js reporting, and AWS deployment familiarity for the client IT team.
Laravel
REST API, authorization policies, duplicate detection jobs, visit scheduling rules, unit status transitions, and WhatsApp webhook processing — maintainable by PHP developers common in Indian IT markets.
React
Primary SPA for coordinators and sales executives — unit grids, visit calendars, lead queues, and merge workflows optimized for desktop and tablet on the sales floor.
Next.js
Optional admin shell for leadership dashboards and CSV exports — server-rendered charts with cached aggregates, kept read-only to limit attack surface.
PostgreSQL
System of record for projects, units, leads, visits, broker registry, and audit history — partial unique indexes support duplicate prevention without brittle application-only checks.
Redis
Queue driver for duplicate scans, visit reminders, and notification fan-out; short TTL caches for dashboard aggregates in Next.js admin.
Docker
Consistent local, staging, and ECS task definitions — client IT reviewed images before production promotion.
Cloudflare
TLS, WAF, and rate limiting on public enquiry endpoints and WhatsApp webhooks — protects CRM API from scraper and brute-force noise.
AWS
ECS Fargate, RDS PostgreSQL, ElastiCache Redis, and S3 brochure storage in ap-south-1 — monitoring and backup policies aligned with client expectations.
“We stopped fighting over who owned which buyer and which unit was actually free. Coordinators schedule visits in one calendar, brokers see attribution on screen, and WhatsApp is not lost when an executive changes projects. It is not magic — it is finally one system.”
Long-term outcome
The CRM is the operational hub for lead intake, visits, and unit status across active projects. Phase two may add broker self-serve portals, WebSocket live inventory, and mobile app visit check-in — building on existing REST APIs Web6 documented during delivery.
Web6 maintains Laravel upgrades, WhatsApp template policy changes, and portal CSV mapper updates as new export formats appear. The firm treats CRM backlog like product: seasonal report tweaks, integration with accounting at booking, and optional ERP development when finance is ready.
For builders comparing generic CRMs to custom property systems, this project shows when bespoke wins: unit-level inventory with holds, broker attribution disputes, duplicate portal imports, and WhatsApp-native enquiry capture — workflows templates rarely handle without services creep.
Broker desk limited role shipped in week thirteen after partner association feedback — partners see only their attributed leads and submission status, not firm-wide buyer lists. That transparency reduced inbound calls to coordinators asking " did my lead register " without building full partner portal scope in phase one. Phase two broker self-serve remains on roadmap with REST APIs already documented.
Suggested project visuals
-
Sales floor tablet view with color-coded unit status and timed holds replaces end-of-day spreadsheet updates.
File:
real-estate-crm-unit-inventory-grid.webpALT: Real estate CRM unit grid showing availability and hold status by tower
-
Coordinators book visits with conflict checks and broker attendee fields — no double-booked launch weekends.
File:
real-estate-crm-site-visit-calendar.webpALT: Site visit scheduling calendar with executive columns and conflict detection
-
Inline duplicate detection and merge workflows reduce portal and ad import clutter before booking.
File:
real-estate-crm-duplicate-lead-merge.webpALT: Duplicate lead merge screen preserving broker attribution history
-
WhatsApp Business API messages log to buyer profiles so history survives executive project rotations.
File:
real-estate-crm-whatsapp-buyer-timeline.webpALT: Buyer CRM timeline with WhatsApp enquiry messages and visit events
How this project connects
Adjacent to the project work above, this engagement usually extends into mobile app development .
Teams evaluating adjacent capabilities often review our Zoho CRM customization .
For a comparable implementation, sales CRM case study .
Ready to scope something similar? discuss a property CRM project with the Web6 team.
FAQ
Growing Real Estate Firm — FAQ
Practical answers about this engagement type — migration, speed, apps, Plus, CRM, or related delivery work.
Why build a custom real estate CRM instead of using a property SaaS product?
Off-the-shelf property CRMs often assume different sales hierarchies or weak unit hold semantics. This firm needed broker attribution windows, duplicate portal import handling, timed unit holds on a sales floor tablet, and WhatsApp logging under their AWS account — custom Laravel CRM matched those rules without per-seat SaaS scaling across coordinators and executives.
How does the CRM prevent duplicate leads from portals and ads?
Phone numbers normalize on create; fuzzy name matching flags likely duplicates on the same project. Coordinators see inline warnings and merge tools that preserve broker history and visits. Bulk portal imports run through saved mappers into a review queue before commit.
How are broker leads different from direct walk-in leads?
Broker registrations carry IDs and project authorizations. Attribution rules assign ownership based on registration timestamps, walk-in overrides, and manager-approved exceptions — every change audits actor and reason so commission disputes use system exports, not WhatsApp arguments.
Can sales staff see live unit availability on site?
Yes. React unit grids show Available, Hold, Booked, and Registered states with hold timers. Updates from coordinators or executives propagate on short polling intervals during launch days — same-day accuracy was a core success metric.
How does site visit scheduling work?
Coordinators book visits against executive calendars with conflict checks, broker attendee fields, and reminders via WhatsApp templates or SMS. Calendar views support day and week modes and printable gate sheets for experience centers.
Is WhatsApp integrated for property enquiries?
WhatsApp Business API logs inbound messages to buyer profiles and open leads. Coordinators reply from CRM within Meta policy; visit confirmations use approved templates. Promotional blasting was explicitly out of scope for phase one.
What is the Next.js admin used for?
Optional read-only leadership dashboards — cross-project funnels, broker tables, visit counts, duplicate merge stats, and CSV exports. Daily coordinator work stays in the React SPA; Next.js keeps analytics separate from floor workflows.
How long did the project take and who worked on it?
Fourteen weeks with four Web6 engineers plus client sales leadership, coordinators, and IT. Pilot at one experience center, then rollout to additional projects with hypercare support.
What results were measured after go-live?
Duplicate lead records down eighty-two percent, same-day unit status accuracy on sales tablets, and one hundred percent coordinator weekly adoption. We did not publish revenue conversion percentages — leadership tracked operational discipline and dispute reduction.
Can Web6 connect this CRM to our website or mobile app?
Yes. Public project landing pages already POST enquiries into the API; Web6 offers custom website development and mobile app development for field check-in or broker tools on the same REST foundation. Contact Web6 in Surat to plan phase two.
Related pages
Building a CRM that matches how your projects actually sell?
Web6 builds custom real estate CRM systems in Surat — unit inventory, broker attribution, site visits, duplicate prevention, and WhatsApp capture. Honest discovery first; not every builder needs bespoke software.