Files
baya-monorepo/dev/contracts/domains/messaging.md
T
2026-07-13 11:26:39 +03:30

851 B


Refinement phase 3 additions (REQ-028)

  • TicketSummaryDto gains lastMessageAt (last non-internal activity) + unreadCount (the caller's unread non-internal messages from others; 0 on the admin queue). Unread is computed against the participant's last_read_at, stamped when the participant fetches the user-facing thread.
  • GET /tickets gains a bookingId query filter (jump to a booking's coordination ticket).
  • POST /tickets/{id}/messages accepts an optional clientMessageId — a retried send with the same key is deduplicated (returns the original) and the key is echoed on PostMessageResult.
  • Message author = role label, not a name (confirmed intentional, privacy): the DTO carries senderId; the client derives the author label from the participant role. No raw identity/name is exposed.