Skip to content

Messaging

This guide covers the per-order messaging feature that enables real-time chat between courier staff and customers. Each order has its own conversation thread accessible from the order detail screen.

Prerequisites

  • You are logged in as a courier team member with deliveries read permission for the relevant country
  • The order you want to communicate about exists and is assigned to your courier organization

Steps

Step 1: Open the order detail

Navigate to the order you want to discuss. You can reach it from the courier home screen, order search, or past deliveries.

Step 2: Open the chat

Tap the chat icon in the order detail app bar. If there are unread messages, a badge shows the unread count on the icon.

Info

The chat opens in a dedicated screen titled "Chat · #[ORDER_ID]". A pinned link at the top allows you to navigate back to the order detail if you accessed chat from the conversation list instead.

Step 3: Read the conversation

The chat displays all messages in reverse chronological order (newest at top). Each message bubble shows:

  • Sender name and role badge (Customer, Courier, or Admin)
  • Sender avatar (if available)
  • Message body with timestamp
  • Visibility indicator — operators see whether each message is visible to the customer or internal-only

System notifications (e.g., status changes) appear as centered cards distinct from user messages.

Step 4: Send a message

Type your message in the input field at the bottom and tap the send button.

Warning

As a courier staff member, messages default to internal only (not visible to the customer). Toggle the visibility switch above the input field to "Visible to customer" when you want the customer to see your message. A confirmation dialog appears before sending customer-visible messages.

Step 5: Use additional message features

The input area provides extra actions:

Action Description
Send image Tap the image icon to attach a photo from camera or gallery. Images are uploaded to secure storage.
Emoji Tap the emoji icon to open a quick-pick emoji grid.
Reference item Tap the # icon to insert a reference to a specific order item in your message (useful for discussing individual items).

Step 6: Filter messages (operators only)

Tap the visibility toggle icon in the app bar to switch between viewing all messages or internal-only messages. When the filter is active, a banner confirms "Showing internal messages only (hidden from customer)".

Result

After sending a message:

  • The message appears immediately in the conversation thread
  • All other participants in the order (customer, courier, admins) receive a push notification with a preview of the message
  • If the message is marked "internal only", the customer does not receive a notification or see the message
  • The conversation list shows the updated last message and timestamp
  • Unread badges update on the order detail chat icon for other participants

Tip

The conversation list (accessible from the bottom navigation "Messages" tab) shows all your active conversations sorted by most recent activity. Each tile displays the order reference, last message preview, time, and an unread badge if applicable.

Troubleshooting

Issue Cause Solution
Chat icon not visible on order detail You do not have deliveries read permission for the order's country Contact your courier owner to grant deliveries read access for the relevant country.
"Could not load chat" error Network issue or conversation failed to initialize Check your internet connection and try again. If the issue persists, contact support.
Messages not appearing in real-time Realtime subscription failed to connect Pull down to refresh the conversation, or close and reopen the chat screen.
Customer says they cannot see my message Message was sent with visibility set to "Internal only" Resend the message with the visibility toggle switched to "Visible to customer".
Image fails to send File too large or network timeout Try a lower-quality image or check your connection. The app compresses images to 70% quality and max 1200px width automatically.
No notification received by customer Message marked as internal-only, or customer notification settings are off Verify the visibility toggle was enabled. The customer may also need to check their notification preferences.