package models

import "time"

type AstrologerDailyStatistics struct {
	ID               uint       `gorm:"primaryKey;column:id"`
	UserID           uint       `gorm:"column:user_id"`
	AstrologerID     uint       `gorm:"column:astrologer_id"`
	StatisticDate    time.Time  `gorm:"column:statistic_date"`
	OnlineMinutes    int        `gorm:"column:online_minutes"`
	TotalCalls       int        `gorm:"column:total_calls"`
	CompletedCalls   int        `gorm:"column:completed_calls"`
	MissedCalls      int        `gorm:"column:missed_calls"`
	CancelledCalls   int        `gorm:"column:cancelled_calls"`
	TotalChats       int        `gorm:"column:total_chats"`
	CompletedChats   int        `gorm:"column:completed_chats"`
	MissedChats      int        `gorm:"column:missed_chats"`
	CancelledChats   int        `gorm:"column:cancelled_chats"`
	TotalCallMinutes int        `gorm:"column:total_call_minutes"`
	TotalChatMinutes int        `gorm:"column:total_chat_minutes"`
	CallEarning      float64    `gorm:"column:call_earning"`
	ChatEarning      float64    `gorm:"column:chat_earning"`
	ReportEarning    float64    `gorm:"column:report_earning"`
	GiftEarning      float64    `gorm:"column:gift_earning"`
	TotalEarning     float64    `gorm:"column:total_earning"`
	AverageRating    float64    `gorm:"column:average_rating"`
	TotalReviews     int        `gorm:"column:total_reviews"`
	AcceptanceRate   float64    `gorm:"column:acceptance_rate"`
	ResponseRate     float64    `gorm:"column:response_rate"`
	IsActive         bool       `gorm:"column:is_active"`
	IsDelete         bool       `gorm:"column:is_delete"`
	CreatedBy        *uint      `gorm:"column:created_by"`
	ModifiedBy       *uint      `gorm:"column:modified_by"`
	CreatedAt        *time.Time `gorm:"column:created_at"`
	UpdatedAt        *time.Time `gorm:"column:updated_at"`
}

func (AstrologerDailyStatistics) TableName() string {
	return "astrologer_daily_statistics"
}
