Ticket Comments User Journey
Scope
What this slice builds and leaves out.
In scope
last_read_at per person and ticket, not per comment.F-04Out of scope
Flow map: from question to record
Lead case: a property manager asks the accountant which budget line a roof-repair invoice goes against. Bottom lane: the mention is missed. Click a box to jump to its stage.
User needs
What the journey has to serve.
Asker
- N1 · F-01
Write to a colleague without assigning them the ticket
- N2 · F-02
Address the question to one person
- N3 · no feature yet
Know my question reached the right person
Mentioned person
- N4 · F-03
Find out I've been asked, even on a ticket that isn't mine
Author
- N5 · F-06
Format my comment so it's easy to read
- N6 · §10
Add internal comments tenants and owners can't see
- N7 · F-05
Edit comment if I made a mistake
Everyone on the ticket
- N8 · F-04
See what's new since I last looked
- N9 · F-01
Understand weeks later why something was decided
Need arises
Ask where the ticket lives, often on a ticket with no comments yet.
Journey detailsActor, actions, touchpoints, thinking, feeling, pain, opportunity
- Actor
- Property manager
- Actions
- Opens the roof-repair invoice ticket. Sees the budget line is unconfirmed. Looks for a place to ask, finds an empty Comments block.
- Touchpoints
- Ticket detail › right panel › Comments
- Thinking
- “Who do I ask, and where? Who will see this?”
- Feeling
- Today: stuck (−1) → With the PRD: clear where to ask (+1)
- Pain today
- Only a status field. No place to ask, so the question goes by email.
- Opportunity
- Empty state: what comments are for, who sees them, how to mention someone.
From the PRD
Ask
Ask the one person who can answer, without giving the ticket away.
Journey detailsActor, actions, touchpoints, thinking, feeling, pain, opportunity
- Actor
- Property manager
- Actions
- Clicks into the composer. Writes the question. Types “@”, picks the accountant. Posts, or gets interrupted and clicks away.
- Touchpoints
- Composer, mention autocomplete, Post button
- Thinking
- “Will they see this?”
- Feeling
- Today: forced (−1) → With the PRD: in control (+1)
- Pain today
- Reassigning takes the ticket off my list and doesn't say what I need, so I email instead.
- Opportunity
- Confirm the mention after posting. Say comments are internal only. Never lose a draft.
From the PRD
Open questions · not answered by the PRD
- D1
What does each autocomplete row show (name, role, avatar)? Who comes first: assignee, people already on the ticket?
- D2
Can I mention someone whose account was deactivated?
- D3
Which formatting and inline commands ship first?
- D4
What happens to my text if posting fails or I leave the ticket: warn, keep, or discard?
- D5
Tenants and owners can't communicate in the app yet. Does it make sense to build internal-only comments now?
Flow: write a comment with a mention
Wait
Keep working, trusting the question reached the right person.
Journey detailsActor, actions, touchpoints, thinking, feeling, pain, opportunity
- Actor
- Property manager
- Actions
- Leaves the ticket. Works on other tickets.
- Touchpoints
- Ticket list
- Thinking
- “Has the accountant seen it?”
- Feeling
- Today: in the dark (−1) → With the PRD: calmer, still unsure (0)
- Pain today
- Question sits in someone's inbox. No way to tell if it was read.
- Opportunity
- Feedback at the moment of posting.
From the PRD
Notice
Find out I've been asked something on a ticket that isn't mine.
Journey detailsActor, actions, touchpoints, thinking, feeling, pain, opportunity
- Actor
- Accountant
- Actions
- Works through their ticket list. Opens the “Mentions me” filter. Sees the ticket.
- Touchpoints
- Ticket list, “Mentions me” filter
- Thinking
- “I didn't know anyone needed me here.”
- Feeling
- Today: unaware (−2) → With the PRD: informed, if they look (0)
- Pain today
- Ticket isn't assigned to the accountant, so nothing surfaces the question.
- Opportunity
- A signal that doesn't depend on opening the filter.
From the PRD
Open question · not answered by the PRD
- D6
Who can't see a ticket? If everyone in the company can, this rule only matters once access is limited by property or team.
Risk · If the mention is missed
Accountant never opens “Mentions me”: question goes unseen, property manager falls back to email (R-05).
Flow: notice and reply
Respond
Understand the question fast and answer on the ticket.
Journey detailsActor, actions, touchpoints, thinking, feeling, pain, opportunity
- Actor
- Accountant
- Actions
- Opens the ticket. Finds new comments. Reads the question. Replies with “@property manager”. Posts.
- Touchpoints
- Ticket detail, comment stream, composer
- Thinking
- “What exactly is being asked?”
- Feeling
- Today: scattered (−1) → With the PRD: focused (+1)
- Pain today
- Question arrives by email, away from the ticket's context.
- Opportunity
- New comments and my own mention stand out.
From the PRD
Open question · not answered by the PRD
- D7
Composer is on top, stream is “chronological”. Newest comment at top or bottom?
The two conflict, and the answer drives the panel layout.
Design note
- Unread. Mark what's new in the stream (“New since your last visit”) and/or on the ticket list. Without a list mark, a ticket with new comments looks unchanged.
Get the answer
Notice replies or new comments on my ticket, and act on them.
Journey detailsActor, actions, touchpoints, thinking, feeling, pain, opportunity
- Actor
- Property manager
- Actions
- Sees the ticket under “Mentions me”, or opens it from their list. Reads the reply. Books the invoice. Days later, returns to new comments that don't mention them.
- Touchpoints
- Ticket list, “Mentions me” filter, ticket detail
- Thinking
- “Good, it's settled and written down.” Later: “What's changed since I last looked?”
- Feeling
- Today: answered, but buried in email (0) → With the PRD: relieved (+1)
- Pain today
- Answer sits in a private inbox. Ticket still shows only its status.
- Opportunity
- New-comments mark on the ticket list, “New since your last visit” line in the stream.
From the PRD
last_read_at per person and ticketF-04Open question · not answered by the PRD
- D8
When does a comment count as read: on opening the ticket, or when it scrolls into view?
Flow: come back and see what's new
Correct
Fix a mistake without looking like I'm hiding something.
Journey detailsActor, actions, touchpoints, thinking, feeling, pain, opportunity
- Actor
- Author (accountant or property manager)
- Actions
- Spots a typo in their comment. Comment › ⋯ › Edit. Fixes it. Save. Or deletes a mistaken comment.
- Touchpoints
- Comment menu, inline editor
- Thinking
- “I don't want to look careless.”
- Feeling
- Today: stuck with it (−1) → With the PRD: honest (+1)
- Pain today
- A sent email can't be changed. A correction is a second email.
- Opportunity
- Low-friction edit, honest “edited” marker.
From the PRD
Open questions · not answered by the PRD
- D9
Is a deleted comment removed, or replaced by “Comment deleted”?
- D10
Do we store comment history (who, when, created, edited, deleted) in the ticket's “Activity log” panel?
Flow: edit my own comment
Flow: delete my own comment
Look back
Understand weeks later why the invoice was booked this way.
Journey detailsActor, actions, touchpoints, thinking, feeling, pain, opportunity
- Actor
- A colleague, weeks later
- Actions
- Gets asked why the invoice was booked this way. Opens the ticket. Reads the stream.
- Touchpoints
- Ticket detail, comment stream
- Thinking
- “Ah, that's why it was booked this way.”
- Feeling
- Today: dead end (−2) → With the PRD: traceable (+2)
- Pain today
- Answer is in a mail thread only two people can reach.
- Opportunity
- A stream easy to scan, even when long.
From the PRD
Open question · not answered by the PRD
- D11
Long conversation: load everything, “Show older”, or load while scrolling?