package dto_astrologer

// ----------------------------------------
// Weekly Availability
// ----------------------------------------

type AvailabilitySchedule struct {
	Day          string `json:"day" binding:"required"`
	FromTime     string `json:"from_time" binding:"required"`
	ToTime       string `json:"to_time" binding:"required"`
	SlotDuration int    `json:"slot_duration"`
	IsBreak      bool   `json:"is_break"`
}

// ----------------------------------------
// Social Links
// ----------------------------------------

type SocialLinksRequest struct {
	Facebook  string `json:"facebook"`
	Instagram string `json:"instagram"`
	Youtube   string `json:"youtube"`
	Telegram  string `json:"telegram"`
	Linkedin  string `json:"linkedin"`
	Website   string `json:"website"`
}

// ----------------------------------------
// Save Availability Request
// ----------------------------------------

type SaveAvailabilityRequest struct {
	DeviceType          string                 `json:"device_type" binding:"required"`
	DailyWorkingHours   int                    `json:"daily_working_hours" binding:"required"`
	IsWorkingOnPlatform bool                   `json:"is_working_on_platform"`
	PlatformName        string                 `json:"platform_name"`
	ChatRate            int                    `json:"chat_rate"`
	CallRate            int                    `json:"call_rate"`
	VideoCallRate       int                    `json:"video_call_rate"`
	FreeChat            bool                   `json:"free_chat"`
	FreeCall            bool                   `json:"free_call"`
	InterviewFrom       string                 `json:"interview_from"`
	InterviewTo         string                 `json:"interview_to"`
	Timezone            string                 `json:"timezone"`
	Schedule            []AvailabilitySchedule `json:"schedule" binding:"required"`
	SocialLinks         SocialLinksRequest     `json:"social_links"`
}

type SaveAvailabilityResponse struct {
	CurrentStep          int    `json:"current_step"`
	CompletionPercentage int    `json:"completion_percentage"`
	NextStep             int    `json:"next_step"`
	NextScreen           string `json:"next_screen"`
}
