ResytechResytech Docs
Chat & Messaging

Manage Unread Messages

How to track unread message counts, identify threads that need attention, and mark conversations as read.

Resytech tracks read status separately for operators and customers. This guide covers how unread tracking works and how to use it to stay on top of customer inquiries.

When to use this

  • You want to quickly see which conversations have new customer messages.
  • Multiple team members share the inbox and you need to know what still needs a response.
  • You want to clear unread indicators after reviewing a thread.

How unread tracking works

Operator side (dashboard)

Each chat thread has an operatorReadAt timestamp that records when a team member last viewed the thread. Any customer message (senderType: 0) sent after that timestamp is counted as unread.

  • When you open a thread, it is automatically marked as read -- the operatorReadAt timestamp updates to the current time.
  • When you send a reply, the thread is also marked as read.
  • The unread count on each thread in the list shows how many customer messages arrived since the last read.

Customer side (booking portal)

Each thread also has a customerReadAt timestamp. Any operator message (senderType: 1) sent after that timestamp is counted as unread for the customer.

  • When the customer opens the chat on the booking portal, the thread is marked as read on their side.
  • When the customer sends a message, the thread is marked as read on their side.

Global unread count

The dashboard provides a global unread count that represents the number of threads (not messages) with at least one unread customer message across the current location. This count can be used to display a badge or notification indicator in the navigation.

Steps

Identifying threads with unread messages

  1. Navigate to Customer Portal from the sidebar menu.
  2. Look at the thread list on the left. Threads with unread customer messages show:
    • A teal badge next to the customer's name with the unread count (displays "9+" if more than 9).
    • The last message preview in a slightly bolder font weight.
  3. The thread list is sorted by most recent message, so threads with new messages typically appear near the top.

Marking a thread as read

Opening a thread automatically marks it as read. There is no manual "mark as read" button -- simply:

  1. Click the thread in the conversation list.
  2. The messages load and the thread's unread count resets to zero.
  3. The unread badge disappears from the thread list.

This also happens during polling: if new customer messages arrive in the thread you're currently viewing, they are automatically marked as read.

Sending a reply marks the thread as read

When you send a message to a thread, the operatorReadAt timestamp is updated to the current time. This means:

  • Any customer messages that arrived before your reply are now considered read.
  • The unread count for that thread drops to zero.

Understanding the unread count calculation

The system calculates unread counts as follows:

ScenarioUnread count
Thread has never been read by an operatorAll customer messages in the thread
Thread was read, then customer sent new messagesOnly customer messages sent after operatorReadAt
Operator just repliedZero (reply updates operatorReadAt)
Thread has only operator messagesZero (no customer messages to count)

Tips

  • Check the Customer Portal page regularly. The polling interval is 7.5 seconds, so new messages appear quickly, but only while the page is open.
  • Unread counts are per-location. If you manage multiple locations, switch to each location to see its unread threads. The global unread count reflects only the currently selected location.
  • Any team member can mark a thread as read. Read status is shared across your team -- when one person opens a thread, it shows as read for everyone. Coordinate with your team if multiple people monitor the inbox.

On this page