C12 — Content & Voice/Tone Guide
Scope: Microcopy rules, brand voice in EN/PS/DR/UR/FR, hospitality formality registers, do/don't examples per surface. Biggest perceived-quality lever after motion.
1. Brand voice
Melmastoon (مېلمستون — "house of guests" in Pashto) is warm, professional, and deeply rooted in the hospitality traditions of Afghanistan and Central Asia. The brand voice reflects:
| Attribute | What it means in copy |
|---|---|
| Warm | Write as a host, not a machine. "Welcome back, Ahmad!" not "Session started." |
| Clear | Plain language; no jargon. "Your room is ready" not "Check-in status: ready." |
| Respectful | Formal where culture demands it; never condescending. |
| Honest | Never exaggerate. "The pool is heated in winter" not "World-class luxury heated pool." |
| Grounded | Local references are authentic; don't Westernize unnecessarily. |
2. Formality registers by surface
| Surface | Register | Notes |
|---|---|---|
| Consumer meta web | Semi-formal | Friendly but not casual; avoid slang |
| Tenant booking web | Formal | The property's brand speaks; match their tone |
| Guest portal | Warm + personal | Guest is already a customer; be welcoming |
| Operator desktop | Professional | Operational; efficiency-first; no fluff |
| Kiosk | Clear + simple | Short sentences; large type; low-literacy accessible |
| Push notifications | Direct | ≤ 60 chars; action-oriented |
| Formal + warm | Branded; tenant voice; legal footer required | |
| Error messages | Empathetic | Never blame the user; always offer a next step |
3. Microcopy rules
3.1 CTAs (buttons, links)
| Rule | Example |
|---|---|
| Start with a verb | "Check availability" ✅ / "Availability" ❌ |
| Be specific about the action | "Confirm booking" ✅ / "Submit" ❌ |
| Avoid "Click here" or "More" alone | "See all rooms" ✅ / "Click here" ❌ |
| Keep ≤ 4 words on a button | "Book this room" ✅ / "Proceed to book this room now" ❌ |
3.2 Empty states
| Rule | Example |
|---|---|
| Explain what's empty and what to do | "No reservations yet. Check rates to make your first booking." ✅ |
| Don't blame the user | "No results" (neutral) ✅ / "You didn't find anything" ❌ |
| Offer a next step always | Always include an action CTA in the empty state |
3.3 Error messages
| Rule | Example |
|---|---|
| Say what happened, not just the error code | "Your payment couldn't be processed. Please check your card details." ✅ / "Error 4012" ❌ |
| Tell the user what to do next | "Try again or use a different card." |
| Apologise when appropriate | "Sorry, something went wrong. We've been notified." ✅ (for platform errors) |
| Don't over-apologise | Don't say "sorry" for user errors (wrong password) — it's not our fault |
3.4 Confirmations
| Rule | Example |
|---|---|
| Confirm what just happened | "Booking confirmed! You'll receive an email at [address]." ✅ |
| Include the key detail | "Room 201, 1–3 May 2026" ✅ |
| Warm ending | "Enjoy your stay!" (consumer) / "Have a great shift." (operator, sparingly) |
3.5 Loading states
| Rule | Example |
|---|---|
| Don't say "Loading..." alone | Add context: "Finding available rooms…" ✅ |
| Keep it brief | ≤ 4 words |
| Match the action | "Confirming payment…" not "Loading…" while payment processes |
4. Locale-specific voice
4.1 English (en)
Formal British English (not American). "Cancelled" not "Canceled". "Traveller" not "Traveler". Date format: 1 May 2026.
4.2 Pashto (ps)
- Formal register: use formal "you" (
تاسو, notتهfor B2C; operator UX may use slightly warmer tone) - "مېلمستون" — always use the full brand name in Pashto, not a transliteration
- Right-to-left layout; text-align: right; logical properties in CSS
- Pashto numbers in body copy (Persian-Indic digits: ۰۱۲۳۴۵۶۷۸۹) — EXCEPT money, dates, IDs (always Latin per F4)
- Avoid loan-words from English where a Pashto equivalent exists
4.3 Dari / Farsi (dr)
- Formal register (دستوری زبان / dastawari)
- Script: Nastaliq preferred for headings; Naskh for body (Estedad font supports both styles)
- Same RTL and numeral rules as Pashto
- "مهمانخانه" (guesthouse) is the Dari cultural analog; use where appropriate
4.4 Arabic (ar)
- Formal Modern Standard Arabic (MSA) for all UI copy; regional dialect only for marketing (Phase 3)
- Right-to-left; Arabic-Indic numerals for body copy; Latin for money/dates (F4)
- Date format: day month year (١ مايو ٢٠٢٦) — with month name spelled out
4.5 Urdu (ur)
- Formal register; Nastaliq script
- Closest to Dari; copy can be adapted from Dari with careful review
- Pakistani hospitality norms: more formal than Pashto in urban contexts
4.6 French (fr) — Phase 2
- Vouvoiement (formal "you" = "vous") throughout all UI
- "Réservation" (not "booking"), "Annuler" (not "supprimer") for reservation cancel
- Date format:
1 mai 2026 - Accents: always correct (
é,à,ç,êetc.) — missing accents are a quality signal
5. Do / Don't examples by context
Booking confirmation
Do:
"Your booking is confirmed! Ahmad, we can't wait to welcome you to Hotel Kabul Palace on 1 May."
Don't:
"Booking ID 77821 has been successfully created in the system."
Cancellation
Do:
"We're sorry to hear you need to cancel. Your booking for 1–3 May has been cancelled. If you paid, your refund will arrive in 5–10 business days."
Don't:
"Cancellation processed. Refund initiated per policy. Reference: CXL-4412."
Error (payment failed)
Do:
"Your payment couldn't be processed. Please check your card number and try again, or use a different card."
Don't:
"Transaction failed. Error code: insufficient_funds."
Push notification (new assignment)
Do:
"Room 201 assigned to you — checkout clean needed."
Don't:
"Housekeeping task #HK-2031 has been assigned. Please review at your earliest convenience."
Empty state (no arrivals today)
Do:
"No arrivals today. Enjoy a quiet shift!"
Don't:
"There are no arrival records in the system for the current date."
6. Hospitality formality conventions
| Convention | Guideline |
|---|---|
| Guest addressing | "You" (not "the guest"); use first name when known: "Ahmad, your room is ready." |
| Room numbers | "Room 201" (not "room #201") |
| Time format | 24-hour on operator surfaces; 12-hour (AM/PM) on consumer surfaces for English; locale format for Pashto/Dari/Arabic |
| Titles | "Mr." / "Ms." only if guest has specified; otherwise first-name only |
| Property names | Always use the full property name on first mention; abbreviated fine in repeat mentions |
7. Prohibited phrases
| Phrase | Why prohibited | Alternative |
|---|---|---|
| "Please note that..." | Filler; condescending | Start with the note directly |
| "As per our records..." | Bureaucratic | "We see that..." or just state the fact |
| "Kindly..." | Outdated formality | "Please..." |
| "Click here" | Vague; inaccessible | Use descriptive link text |
| "Invalid input" | Technical jargon | "Please enter a valid [field name]" |
| "Error occurred" | Vague | Describe what happened |
| "N/A" | Vague | "Not provided" or omit the field |
References
../common/04-frontend-design-guidelines.md../common/09-non-functional-requirements.md §3(i18n + numerals rule)./C2-error-to-ui-matrix.md(error message copy)./C3-empty-loading-error-state-catalog.md(empty state copy)