Skip to content
imessageapi

iMessage for moving companies

Moving day is one of the most stressful days a person has, it runs for eight to twelve hours, and the customer wants to know where the truck is roughly every ninety minutes. That is a messaging job from start to finish.

7 min readUpdated August 24, 2026By industry

A move is a long, high-anxiety day with real money attached and a hard deadline at the other end — a lease ending, a completion time, a landlord waiting for keys. The customer's stress is proportional to how little they know about where things are.

The quote is where trust is won or lost

Moving quotes are notorious for changing on the day. A video walkthrough sent by the customer, quoted against in writing, removes the single biggest source of disputes in the industry.

estimating
export const estimate = {
requestVideo: (c: Ctx) =>
`${c.company}: easiest way to price this accurately — walk through ` +
`with your camera and send it here. Every room, plus the garage, ` +
`loft and shed. Two minutes of video beats a phone survey.`,
 
quoted: (c: Ctx) =>
`${c.company}: ${c.price} for ${c.date}, ${c.crewSize} crew and a ` +
`${c.truckSize} truck, ${c.estHours} hours estimated. ` +
`That's binding on what I saw in the video — full breakdown: ${c.link}`,
 
// Say this before they wonder about it.
whatChangesIt: (c: Ctx) =>
`${c.company}: the price only moves if there's significantly more than ` +
`the video showed, or access is worse than described. ` +
`We'll tell you on the day before anything is loaded, not after.`,
};

The video walkthrough is the highest-leverage message in this trade

It costs the customer two minutes, replaces an in-home survey you would otherwise pay a salesperson to do, and makes your quote defensible. Rich media in a message thread is what makes it practical — a full-resolution video is not something an SMS can carry.

Moving day is a running commentary

The customer will not ask for updates. They will sit and worry, and then call at the worst possible moment. Get ahead of it with short messages at the natural milestones.

  1. Crew dispatched — names, ETA, truck description.
  2. Arrived and started — a photo of the truck outside, which is oddly reassuring.
  3. Loading complete — time, and the revised ETA at the destination.
  4. In transit — only if it is a long haul, and only once.
  5. Arrived at destination — starting unload.
  6. Complete — final time, final amount, and the payment link.
day-of updates
export const moveDay = {
dispatched: (c: Ctx) =>
`${c.company}: ${c.crewNames} left the yard, with you by ${c.eta}. ` +
`${c.truckDesc}. Any parking issues we should know about?`,
 
loaded: (c: Ctx) =>
`Loaded and away — ${c.itemCount} items, finished at ${c.loadTime}. ` +
`Heading to ${c.destination}, should be there around ${c.arrivalEta}.`,
 
complete: (c: Ctx) =>
`All done at ${c.finishTime}. Total ${c.finalPrice} ` +
`(${c.estHours} estimated, ${c.actualHours} actual). ` +
`Payment: ${c.link}. Thanks — it was a good one.`,
};

Damage claims start in the thread, not on the phone

If something gets broken, the customer will photograph it. Make the thread the obvious place to send that, acknowledge it fast, and never argue about it by text. Damage is a phone call and a claim form — but the acknowledgement should be immediate and in writing.

The estate agent and landlord problem

Moves depend on people who are not your customer: agents holding keys, landlords doing check-outs, solicitors confirming completion. Do not try to run all of that in one thread — the customer ends up relaying messages they do not understand.

Keep the customer's thread about the customer's move, and handle third parties separately. The same split applies in property management and real estate.

Next step

Browse the other industry playbooks, compare the services that can send this on the providers page, or tag your links with the UTM builder.