package entity

type TechnicianInfo struct {
	Technician_Id    *int    `json:"technician_id" db:"Emp_Id"`
	Technician_Name  *string `json:"techician_name" db:"Emp_Name"`
	Technician_Mobno *string `json:"techician_mobno" db:"Emp_Mobno"`
	Technician_Image *string `json:"technician_image" db:"Emp_Image"`
	Apartment_Id     *int    `json:"apartment_id" db:"Apartment_Id"`
}
type AllTechnicianList struct {
	TechList         []EmployeeLists `json:"technician_list"`
	Page             int             `json:"Page"`
	Total_Technician int             `json:"Total_Employee"`
}
type TechnicianList struct {
	Technician_Id   *int    `json:"Technician_Id" db:"Emp_Id"`
	Technician_Name *string `json:"Technician_Name" db:"Emp_Name"`
	Emp_Image       *string `json:"Emp_Image" db:"Emp_Image"`
	Order_Count     *int    `json:"Order_Count" db:"Order_Count"`
}

type TechniciansList struct {
	Emp_Id               int                     `json:"technician_id" db:"Emp_Id"`
	Emp_Name             *string                 `json:"technician_name" db:"Emp_Name"`
	Phone_Number         *int64                  `json:"phone_number" db:"Emp_Mobno"`
	Passcode             *int64                  `json:"passcode" db:"Passcode"`
	Emergency_Number     *int64                  `json:"emergency_number" db:"Alternate_Mobno"`
	Email_ID             *string                 `json:"email_id" db:"Emp_Email"`
	Proof                *string                 `json:"proof" db:"Emp_Proof"`
	Proof_ID             *int                    `json:"proof_id" db:"Emp_Proof_Id"`
	Emp_Image            *string                 `json:"emp_image" db:"Emp_Image"`
	Employee_Type        *string                 `json:"employee_type" db:"Emp_Type"`
	Emp_DOJ              *string                 `json:"emp_date_of_joining" db:"Emp_DOJ"`
	Emp_DOR              *string                 `json:"emp_date_of_resignation" db:"Emp_DOR"`
	Vendor_Name          *string                 `json:"vendor_name" db:"Vendor_Name"`
	Addressline1         *string                 `json:"addressline1" db:"Address_Line1"`
	Addressline2         *string                 `json:"addressline2" db:"Address_Line2"`
	Area                 *string                 `json:"area" db:"Area_Name"`
	City                 *string                 `json:"city" db:"City"`
	State                *string                 `json:"state" db:"State"`
	Country              *string                 `json:"country" db:"Country"`
	Pincode              *string                 `json:"pincode"  db:"Pincode"`
	Latitude             *string                 `json:"latitude" db:"Latitude"`
	Longitude            *string                 `json:"longitude" db:"Longitude"`
	Rating               *float32                `json:"rating" db:"Average_Rating"`
	Skilled_Services     []SkilledService        `json:"skilled_services" db:"Employee_Skills"`
	Allocated_Apartments []EmpAllocatedApartment `json:"allocated_apartments"`
}

type GetConfirmationPin struct {
	Pin     int    `json:"pin"`
	Message string `json:"message"`
}

type GetTechniciansList struct {
	TechniciansLists []TechniciansList `json:"technician_list"`
	Page             int               `json:"Page"`
	Total_Technician int               `json:"Total_Technician"`
}

type TechServiceRequest struct {
	ServiceList []ServiceRequest `json:"service_request"`
}

type OrderSummary struct {
	Services_Completed int `json:"srq_completed" `
	Services_Pending   int `json:"srq_pending"`
	Cancelled          int `json:"srq_cancelled"`
}

type GetRole struct {
	Mapped_Role []string `json:"mapped_role" db:"Role_Decription"`
	Passcode    *string  `json:"passcode" db:"Passcode"`
}

type EmployeeLists struct {
	Emp_Id               int                     `json:"emp_id" db:"Emp_Id"`
	Emp_Name             *string                 `json:"emp_name" db:"Emp_Name"`
	Phone_Number         *int64                  `json:"phone_number" db:"Emp_Mobno"`
	Passcode             *int64                  `json:"passcode" db:"Passcode"`
	Emergency_Number     *int64                  `json:"emergency_number" db:"Alternate_Mobno"`
	Email_ID             *string                 `json:"email_id" db:"Emp_Email"`
	Proof                *string                 `json:"proof" db:"Emp_Proof"`
	Proof_ID             *int                    `json:"proof_id" db:"Emp_Proof_Id"`
	Emp_Image            *string                 `json:"emp_image" db:"Emp_Image"`
	Employee_Type        *string                 `json:"employee_type" db:"Emp_Type"`
	Emp_DOJ              *string                 `json:"emp_date_of_joining" db:"Emp_DOJ"`
	Emp_DOR              *string                 `json:"emp_date_of_resignation" db:"Emp_DOR"`
	Addressline1         *string                 `json:"addressline1" db:"Address_Line1"`
	Addressline2         *string                 `json:"addressline2" db:"Address_Line2"`
	Area                 *string                 `json:"area" db:"Area_Name"`
	City                 *string                 `json:"city" db:"City"`
	State                *string                 `json:"state" db:"State"`
	Country              *string                 `json:"country" db:"Country"`
	Pincode              *string                 `json:"pincode"  db:"Pincode"`
	Rating               *float32                `json:"rating" db:"Average_Rating"`
	Skilled_Services     []SkilledService        `json:"skilled_services" db:"Employee_Skills"`
	Allocated_Apartments []EmpAllocatedApartment `json:"allocated_apartments"`
	Role                 []string                `json:"mapped_role" db:"Role_Decription"`
	Order_Count          *int                    `json:"Order_Count" db:"Order_Count"`
}

type GetAllEmployee struct {
	EmployeeList   []EmployeeLists `json:"technician_list"`
	Page           int             `json:"Page"`
	Total_Employee int             `json:"Total_Employee"`
}

type TechOrderSummary struct {
	Services_Completed int `json:"srq_completed" `
	Services_Pending   int `json:"srq_pending"`
	Cancelled          int `json:"srq_cancelled"`
	Total_Srq          int `json:"total_srq"`
}
