Dry cleaning is an almost perfect fit for messaging, and most shops still use a paper ticket and hope. The customer has one question, it has a definite answer, and telling them unprompted saves a phone call at both ends.
Ready for collection, and then a nudge
export const cleaning = { ready: (c: Ctx) => `${c.shop}: ${c.itemCount} items ready for collection — ticket ` + `${c.ticket}. We're open until ${c.closeTime} today.`, // Uncollected stock is dead money and dead rail space. nudge: (c: Ctx) => `${c.shop}: ticket ${c.ticket} has been waiting ${c.days} days. ` + `No rush, just don't want you to forget it's here.`, problem: (c: Ctx) => `${c.shop}: the ${c.garment} has ${c.issue} — photo attached. ` + `We can ${c.options}. What would you like us to do?`,};The problem message is worth more than the ready message
A stain that will not lift, or a garment that has come back damaged, is a conversation you want to have before the customer is standing at the counter. A photo and two options, sent while the item is still in the shop, turns a confrontation into a decision.
Regulars are the whole business
A commuter with five shirts a week is worth vastly more than a wedding dress once. Messaging suits that rhythm — a standing collection day, a reminder when they have not been in, and a route to say 'running late, can you hold them'.
- Note the pattern. Someone who comes every Tuesday and misses two is worth one message, not a campaign.
- Seasonal prompts genuinely help. Coats in autumn, suits before wedding season — these are useful reminders, not upsells.
- Let them reply. 'Can you keep them until Saturday' is a message you want to receive.
For alterations work, which behaves differently because of fittings, see tailors and alterations.
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.