// ───────────────────────────────────────────────────────────── // Jones & Company — Home Valuation Page // Wix Velo Page Code (paste into the Page Code panel) // // Prerequisites in Wix dashboard before using this code: // 1. Install "Wix CRM" from the App Market (free) — gives you // wix-crm-backend for creating contacts & activities. // 2. In Wix Editor: add an HTML Component element, give it the // ID #valuationEmbed and paste velo-html-component.html // into its "Enter Code" panel. // 3. In Site Settings → Business Info, confirm your business // email is set — that is where the notification will go. // ───────────────────────────────────────────────────────────── import { contacts } from 'wix-crm-backend'; // Wix CRM contact creation import { triggeredEmails } from 'wix-crm-backend'; // Triggered email (optional) import wixWindow from 'wix-window'; // ── Listen for postMessage from the HTML Component ────────── $w.onReady(function () { $w('#valuationEmbed').onMessage(async (event) => { const msg = event.data; // Only handle our form submission message if (!msg || msg.type !== 'VALUATION_SUBMIT') return; const d = msg.data; // shorthand for form data object try { // ── 1. CREATE / UPDATE CONTACT IN WIX INBOX / CRM ───── const nameParts = d.name.trim().split(' '); const firstName = nameParts[0] || ''; const lastName = nameParts.slice(1).join(' ') || ''; const contactInfo = { name: { first: firstName, last: lastName, }, emails: [{ tag: 'main', email: d.email }], phones: d.phone ? [{ tag: 'mobile', phone: d.phone }] : [], addresses: [{ tag: 'home', street: d.address, city: d.city, postalCode: d.zip, country: 'US', }], // Store property details as custom fields // (add these custom fields in your Wix CRM settings first) customFields: { 'custom.bedrooms': { value: d.beds || 'Not specified' }, 'custom.bathrooms': { value: d.baths || 'Not specified' }, 'custom.sqft': { value: d.sqft || 'Not specified' }, 'custom.condition': { value: d.condition || 'Not specified' }, 'custom.source': { value: 'Home Valuation Form' }, }, }; const { contactId } = await contacts.createContact(contactInfo); // ── 2. LOG AN ACTIVITY ON THE CONTACT ────────────────── await contacts.createActivity(contactId, { activityType: 'FORM_SUBMITTED', info: { activityDetails: { summary: `Home valuation request submitted for: ${d.address}, ${d.city} ${d.zip}`, additionalInfoUrl: '', }, fields: [ { name: 'Property Address', value: `${d.address}, ${d.city}, ${d.zip}` }, { name: 'Bedrooms', value: d.beds || '—' }, { name: 'Bathrooms', value: d.baths || '—' }, { name: 'Square Footage', value: d.sqft || '—' }, { name: 'Condition', value: d.condition || '—' }, ], }, }); // ── 3. SEND EMAIL NOTIFICATION TO YOUR TEAM ───────────── // Option A — Wix Triggered Email (recommended): // • Go to Ascend → Email Marketing → Triggered Emails // • Create a new triggered email with the variables below // • Copy its emailId and paste it in place of 'valuationRequest' // // await triggeredEmails.emailContact('valuationRequest', contactId, { // variables: { // clientName: d.name, // clientEmail: d.email, // clientPhone: d.phone || 'Not provided', // propertyAddr: `${d.address}, ${d.city} ${d.zip}`, // beds: d.beds || '—', // baths: d.baths || '—', // sqft: d.sqft || '—', // condition: d.condition || '—', // }, // }); // Option B — Simple site notification via wix-inbox // (uncomment if you prefer Wix Inbox notifications instead) // // import { inbox } from 'wix-inbox-backend'; // await inbox.sendMessage({ // channelId: contactId, // message: { // type: 'basic', // payload: { // text: `New valuation request from ${d.name} for ${d.address}, ${d.city} ${d.zip}`, // }, // }, // }); console.log('✅ Valuation form processed. Contact ID:', contactId); } catch (err) { console.error('❌ Valuation form error:', err); // Optionally post an error message back to the iframe: // $w('#valuationEmbed').postMessage({ type: 'SUBMIT_ERROR' }); } }); });
top of page

What Guarantees Next Year Will Be Any Different?

  • Writer: Harold Jones
    Harold Jones
  • Jul 12
  • 1 min read

Every year around this time, we run into the same conversation with a certain kind of seller. They have a price in mind, a timeline in mind, and a way they want their property presented - and they're not willing to move on any of it, even when the market is telling them something different.

The pattern

Market shifts. Buyer feedback comes in. Days on market start to add up. And instead of adjusting - on price, on presentation, on terms - the decision is made to pull the property off the market entirely and wait until next year, hoping conditions swing back in their favor.

The question worth asking

Here's what I keep coming back to: what actually guarantees that next year looks any better? Markets don't owe anyone a rebound on their preferred timeline. Waiting isn't a strategy by itself - it's a bet, and it's one made without any real evidence that the odds have improved.

Where we land

We'll always give it to you straight, even when it's not what you want to hear. Sometimes that means telling a seller their price or their presentation needs to adjust to where the market actually is, not where they wish it were. If the answer is "no, we'll wait," that's a decision every seller is entitled to make.

Good luck out there - and we'll see you next year.

 
 
 

Recent Posts

See All

Comments


bottom of page