Mobile app

Inbox on mobile

The mobile Inbox is the phone version of the desktop V28 Inbox — guest threads with AI draft approval.

List view

The Inbox tab opens to a list of threads sorted by most-recent activity. Each row shows:

  • Guest avatar + name
  • Property slug (e.g. Castle&River Vydrica)
  • Snippet of the most-recent message (translated if the original is not in your communication language)
  • Time delta (e.g. "2h", "yesterday")
  • Tag chips: unanswered, early·requested, late·requested, cleaning, 2N

The list is searchable via the search field at the top (gh#319) — searches across guest names + message content.

Detail view (the thread)

Tap a row to open the thread. The detail view shows:

  • Header — guest name, property, dates, language picker.
  • Reservation summary card — check-in / check-out times, # nights, total amount, status.
  • Thread — messages in chronological order. Each guest message carries a date prefix (e.g. "Mon · 14:32") so you can tell a 20-day-old message from yesterday's at a glance (gh#390).
  • AI draft area — the AI-suggested reply, with two buttons:
  • IMPROVE — keep the same language, refine the wording.
  • REFINE — rewrite in your communication language.

Both buttons resolve outbound language via the same rule (gh#434): the AI Suggest sees the same pickOutboundLanguage decision as the underlying send path.

  • Composer — type to override the AI draft, or attach a file (📎, gh#289 — file-attach button parity with legacy).

When you tap SEND, the system saves the AI's original draft into aiOriginalBody so the learning loop captures what you refined (gh#417 — this field is no longer dropped on send).

Language picker

The language picker in the thread header lets you override per-thread detection:

  • Defaults to the auto-detected language (per Language detection rules).
  • "Original" always appears as an option (gh#157) — pick it to write back in the guest's input language regardless of your communication language.
  • Switching the picker persists the change (gh#461 — earlier behavior was transient AI-assist-only) and re-translates the existing thread on save.

Checked-out badge

A thread for a reservation that has already checked OUT shows a CHECKED OUT badge — but only after the actual checkout time has passed (gh#433 — earlier behavior showed CHECKED OUT on the morning of checkout day before the guest had actually left).


Implements: gh#107 (Mobile Inbox — threads + AI draft approval). Updates referenced: gh#157, gh#289, gh#319, gh#390, gh#417, gh#433, gh#434, gh#461.

Source: the FlatsBratislava operator manual.