package dto_astrologer

import "time"

// StatusFlagsResponse is the astrologer's live availability, returned by every
// dashboard status endpoint.
//
// Those endpoints used to answer with a message and a null data, so a client
// that had just switched one flag had no way to see the resulting state — and
// no way to notice that switching chat on left current_status OFFLINE. The full
// set now travels back with each update.
type StatusFlagsResponse struct {
	IsOnline     bool `json:"is_online"`
	IsChatOnline bool `json:"is_chat_online"`
	IsCallOnline bool `json:"is_call_online"`
	IsBusy       bool `json:"is_busy"`
	QuickDND     bool `json:"quick_dnd"`

	CurrentStatus string     `json:"current_status"`
	LastActiveAt  *time.Time `json:"last_active_at,omitempty"`
}
