package models

type RiderInfo struct {
	Userid            int     `json:"userid"`
	Authname          string  `json:"authname"`
	Configid          int     `json:"configid"`
	Authmode          int     `json:"authmode"`
	Roleid            int     `json:"roleid"`
	Firstname         string  `json:"firstname"`
	Lastname          string  `json:"lastname"`
	Fullname          string  `json:"fullname"`
	Password          string  `json:"password"`
	Email             string  `json:"email"`
	Contactno         string  `json:"contactno"`
	Address           string  `json:"address"`
	Suburb            string  `json:"suburb"`
	City              string  `json:"city"`
	State             string  `json:"state"`
	Postcode          string  `json:"postcode"`
	Userfcmtoken      string  `json:"userfcmtoken"`
	Pin               int     `json:"pin"`
	Partnerid         int     `json:"partnerid"`
	Identificationno  string  `json:"identificationno"`
	Vehiclename       string  `json:"vehiclename"`
	Vehicleno         string  `json:"vehicleno"`
	Licenseno         string  `json:"licenseno"`
	Insuranceno       string  `json:"insoranceno"`
	Insurancedate     string  `json:"insurancedate"`
	Shiftid           int     `json:"shiftid"`
	Starttime         string  `json:"starttime"`
	Endtime           string  `json:"endtime"`
	Shifthours        float32 `json:"shifthours"`
	Basefare          float32 `json:"basefare"`
	Additionalcharges float32 `json:"additionalcharges"`
	Orders            int     `json:"orders"`
	Fuelcharge        float32 `json:"fuelcharge"`
	Logdate           string  `json:"logdate"`
	Applocationid     int     `json:"applocationid"`
	Applocation       string  `json:"applocation"`
	Logseconds        int     `json:"logseconds"`
	Riderid           int     `json:"riderid"`
	Status            string  `json:"status"`
	Tenantid          int     `json:"tenantid"`
}

type Partnerinfo struct {
	Partnerid        int    `json:"partnerid" gorm:"Primary_Key"`
	Partnertypeid    int    `json:"partnertypeid"`
	Applocationid    int    `json:"applocationid"`
	Partnername      string `json:"partnername"`
	Registrationno   string `json:"registrationno"`
	Primarycontact   string `json:"primartcontact"`
	Primaryemail     string `json:"primaryemail"`
	Contactno        string `json:"contactno"`
	Bizcategoryid    int    `json:"bizcategoryid"`
	Bizsubcategoryid int    `json:"bizsubcategoryid"`
	Adderss          string `json:"address"`
	Suburb           string `json:"suburb"`
	State            string `json:"state"`
	City             string `json:"city"`
	Postcode         string `json:"postcode"`
	Partnerinfo      string `json:"partnerinfo"`
	Partnerimage     string `json:"partnerimage"`
}

type Ridershifts struct {
	Shiftid           int     `json:"shiftid" gorm:"Primary_Key"`
	Shiftdate         string  `json:"shiftdate"`
	Starttime         string  `json:"starttime"`
	Endtime           string  `json:"endtime"`
	Shifthours        float32 `json:"shifthours"`
	Basefare          float32 `json:"basefare"`
	Additionalkm      float32 `json:"additionalkm"`
	Additionalcharges float32 `json:"additionalcharges"`
	Orders            int     `json:"orders"`
	Fuelcharge        float32 `json:"fuelcharge"`
	Shiftname         string  `json:"shiftname" gorm:"<-:false"`
}

type Locationconfigs struct {
	Applocationid int    `json:"applocationid"`
	Configid      int    `json:"configid"`
	Locationname  string `json:"locationname"`
	Latitude      string `json:"latitude"`
	Longitude     string `json:"longitude"`
	Status        string `json:"status"`
}

type FleetCounts struct {
	Totalriders  int `json:"totalriders"`
	Activeriders int `json:"activeriders"`
	Ridersworked int `json:"ridersworked"`
	Totallogins  int `json:"totallogins"`
}

type FleetRiderSummary struct {
	Userid          int     `json:"userid"`
	Fullname        string  `json:"fullname"`
	Contactno       string  `json:"contactno"`
	Partnerid       int     `json:"partnerid"`
	Status          string  `json:"status"`
	Vehicleno       string  `json:"vehicleno"`
	Vehiclename     string  `json:"vehiclename"`
	Dayslogged      int     `json:"dayslogged"`
	Totalworkhours  float32 `json:"totalworkhours"`
	Totalshorthours float32 `json:"totalshorthours"`
	Totalbreakhours float32 `json:"totalbreakhours"`
}

type FleetSummary struct {
	Counts FleetCounts         `json:"counts"`
	Riders []FleetRiderSummary `json:"riders"`
}

type RiderlogDetails struct {
	Logid      int     `json:"logid"`
	Logdate    string  `json:"logdate"`
	Userid     int     `json:"userid"`
	Username   string  `json:"username"`
	Partnerid  int     `json:"partnerid"`
	Shiftid    int     `json:"shiftid"`
	Shifthours float32 `json:"shifthours"`
	Login      string  `json:"login"`
	Logout     string  `json:"logout"`
	Latitude   string  `json:"latitude"`
	Longitude  string  `json:"longitude"`
	Workhours  float32 `json:"workhours"`
	Shorthours float32 `json:"shorthours"`
	Breakhours float32 `json:"breakhours"`
	Logstatus  int     `json:"logstatus"`
}
