851 B
851 B
Refinement phase 3 additions (REQ-028)
TicketSummaryDtogainslastMessageAt(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'slast_read_at, stamped when the participant fetches the user-facing thread.GET /ticketsgains abookingIdquery filter (jump to a booking's coordination ticket).POST /tickets/{id}/messagesaccepts an optionalclientMessageId— a retried send with the same key is deduplicated (returns the original) and the key is echoed onPostMessageResult.- 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.