package models

type Deliveries struct {
	Deliveryid         int     `json:"deliveryid" gorm:"Primary_Key"`
	Orderheaderid      int     `json:"orderheaderid"`
	Applocationid      int     `json:"applocationid"`
	Configid           int     `json:"configid"`
	Partnerid          int     `json:"partnerid"`
	Tenantid           int     `json:"tenantid"`
	Moduleid           int     `json:"moduleid"`
	Locationid         int     `json:"locationid"`
	Categoryid         int     `json:"categoryid"`
	Userid             int     `json:"userid"`
	Subcategoryid      int     `json:"subcategoryid"`
	Orderid            string  `json:"orderid"`
	Deliverydate       string  `json:"deliverydate"`
	Orderstatus        string  `json:"orderstatus"`
	Assigntime         string  `json:"assigntime"`
	Starttime          string  `json:"starttime"`
	Arrivaltime        string  `json:"arrivaltime"`
	Pickuptime         string  `json:"pickuptime"`
	Deliverytime       string  `json:"deliverytime"`
	Canceltime         string  `json:"canceltime"`
	Itemcount          int     `json:"itemcount"`
	Orderamount        float32 `json:"orderamount"`
	Customerid         int     `json:"customerid"`
	Pickupcustomer     string  `json:"pickupcustomer"`
	Pickupcontactno    string  `json:"pickupcontactno"`
	Pickuplocationid   int     `json:"pickuplocationid"`
	Pickupaddress      string  `json:"Pickupaddress"`
	Pickuplocation     string  `json:"pickuplocation"`
	Pickuplat          string  `json:"pickuplat"`
	Pickuplon          string  `json:"pickuplon"`
	Deliverycustomerid int     `json:"deliverycustomerid"`
	Deliverylocationid int     `json:"deliverylocationid"`
	Deliverycustomer   string  `json:"deliverycustomer"`
	Deliverycontactno  string  `json:"deliverycontactno"`
	Deliveryaddress    string  `json:"deliveryaddress"`
	Deliverylocation   string  `json:"deliverylocation"`
	Droplat            string  `json:"droplat"`
	Droplon            string  `json:"droplon"`
	Deliverylat        string  `json:"deliverylat"`
	Deliverylong       string  `json:"deliverylong"`
	Deliverycharges    float32 `json:"deliverycharges"`
	Deliveryamt        float32 `json:"deliveryamt"`
	Deliverytype       string  `json:"deliverytype"`
	Notes              string  `json:"notes"`
	Ordernotes         string  `json:"ordernotes"`
	Riderslat          string  `json:"riderslat"`
	Riderslon          string  `json:"riderslon"`
	Firstmilekm        float32 `json:"firstmilekm"`
	Firstmilecharges   float32 `json:"firstmilecharges"`
	Lastmilecharges    float32 `json:"lastmilecharges"`
	Ridercharges       float32 `json:"ridercharges"`
	Kms                string  `json:"kms"`
	Actualkms          string  `json:"actualkms"`
	Smsdelivery        int     `json:"smsdelivery"`
	Paymenttype        int     `json:"paymenttype"`
}

type Deliveryqueues struct {
	Queueid       int    `json:"queueid" gorm:"Primary_Key"`
	Tenantid      int    `json:"tenantid"`
	Locationid    int    `json:"locationid"`
	Orderheaderid int    `json:"orderheaderid"`
	Deliveryid    int    `json:"deliveryid"`
	Userid        int    `json:"userid"`
	Partnerid     int    `json:"partnerid"`
	Orderid       string `json:"orderid"`
	Latitude      string `json:"latitude"`
	Longitude     string `json:"longitude"`
	Accept        int    `json:"accept"`
	Decline       int    `json:"decline"`
	Queuestatus   int    `json:"queuestatus"`
}

type Updateorderstatus struct {
	Orderheaderid int    `json:"Orderheaderid"`
	Orderstatus   string `json:"Orderstatus"`
	Pending       string `json:"pending"`
	Processing    string `json:"processing"`
	Cancelled     string `json:"cancelled"`
	Delivered     string `json:"delivered"`
}

type UpdateDeliveryStatus struct {
	Deliveryid         int     `json:"deliveryid"`
	Deliverytype       string  `json:"deliverytype"`
	Pickuplocationid   int     `json:"pickuplocationid"`
	Deliverylocationid int     `json:"deliverylocationid"`
	Orderheaderid      int     `json:"orderheaderid"`
	Userid             int     `json:"userid"`
	Orderstatus        string  `json:"orderstatus"`
	Assigntime         string  `json:"assigntime"`
	Starttime          string  `json:"starttime"`
	Arrivaltime        string  `json:"arrivaltime"`
	Pickuptime         string  `json:"pickuptime"`
	Deliverytime       string  `json:"deliverytime"`
	Canceltime         string  `json:"canceltime"`
	Pickuplat          string  `json:"pickuplat"`
	Pickuplon          string  `json:"picklon"`
	Riderslat          string  `json:"riderslat"`
	Riderslon          string  `json:"riderslon"`
	Deliverylat        string  `json:"deliverylat"`
	Deliverylong       string  `json:"deliverylong"`
	Address            string  `json:"address" gorm:"<-:false"`
	Suburb             string  `json:"suburb" gorm:"<-:false"`
	City               string  `json:"city" gorm:"<-:false"`
	State              string  `json:"state" gorm:"<-:false"`
	Postcode           string  `json:"postcode" gorm:"<-:false"`
	Deliveryamt        float32 `json:"deliveryamt"`
	Kms                string  `json:"kms"`
	Actualkms          string  `json:"actualkms"`
	Riderkms           string  `json:"riderkms"`
	Kmcal              string  `json:"kmcal"`
	Notes              string  `json:"notes"`
	Feedback           string  `json:"feedback"`
	Smsdelivery        int     `json:"smsdelivery"`
}

type DeliverySummary struct {
	Total     int `json:"total"`
	Created   int `json:"created"`
	Pending   int `json:"pending"`
	Accepted  int `json:"accepted"`
	Arrived   int `json:"arrived"`
	Picked    int `json:"picked"`
	Active    int `json:"active"`
	Delivered int `json:"delivered"`
	Cancelled int `json:"cancelled"`
}

type ReportSummary struct {
	Tenantid            int     `json:"tenantid"`
	Tenantname          string  `json:"tenantname"`
	Totalorders         int     `json:"totalorders"`
	Orderscreated       int     `json:"orderscreated"`
	Orderspending       int     `json:"Orderspending"`
	Orderscompleted     int     `json:"orderscompleted"`
	Orderscancelled     int     `json:"orderscancelled"`
	Deliveriespending   int     `json:"deliveriespending"`
	Deliveriescompleted int     `json:"deliveriescompleted"`
	Deliveriescancelled int     `json:"deliveriescancelled"`
	Paylater            float32 `json:"paylater"`
	Payondelivery       float32 `json:"payondelivery"`
	Kms                 float32 `json:"kms"`
	Actualkms           float32 `json:"actualkms"`
	Charges             float32 `json:"charges"`
}

type Ridersummary struct {
	Userid        int     `json:"userid"`
	Firstname     string  `json:"firstname"`
	Lastname      string  `json:"lastname"`
	Deliveries    int     `json:"deliveries"`
	Assigned      int     `json:"Assigened"`
	Accepted      int     `json:"Accepted"`
	Picked        int     `json:"Picked"`
	Delivered     int     `json:"delivered"`
	Kms           float32 `json:"kms"`
	Actualkms     float32 `json:"actualkms"`
	Payondelivery float32 `json:"payondelivery"`
	Paylater      float32 `json:"Paylater"`
	Deliveryamt   float32 `json:"Deliveryamt"`
	Status        string  `json:"status"`
}

type Deliveryinfo struct {
	Deliveryid            int     `json:"deliveryid"`
	Orderheaderid         int     `json:"orderheaderid"`
	Applocationid         int     `json:"applocationid"`
	Applocation           string  `json:"applocation"`
	Configid              int     `json:"configid"`
	Partnerid             int     `json:"partnerid"`
	Tenantid              int     `json:"tenantid"`
	Moduleid              int     `json:"moduleid"`
	Locationid            int     `json:"locationid"`
	Categoryid            int     `json:"categoryid"`
	Userid                int     `json:"userid"`
	Subcategoryid         int     `json:"subcategoryid"`
	Orderid               string  `json:"orderid"`
	Deliverydate          string  `json:"deliverydate"`
	Orderstatus           string  `json:"orderstatus"`
	Assigntime            string  `json:"assigntime"`
	Starttime             string  `json:"starttime"`
	Arrivaltime           string  `json:"arrivaltime"`
	Pickuptime            string  `json:"pickuptime"`
	Deliverytime          string  `json:"deliverytime"`
	Canceltime            string  `json:"canceltime"`
	Itemcount             int     `json:"itemcount"`
	Orderamount           float32 `json:"orderamount"`
	Customerid            int     `json:"customerid"`
	Pickupcustomer        string  `json:"pickupcustomer"`
	Pickupcontactno       string  `json:"pickupcontactno"`
	Pickuplocationid      int     `json:"pickuplocationid"`
	Pickupaddress         string  `json:"Pickupaddress"`
	Pickuplocation        string  `json:"pickuplocation"`
	Pickuplat             string  `json:"pickuplat"`
	Pickuplon             string  `json:"pickuplon"`
	Deliverycustomerid    int     `json:"deliverycustomerid"`
	Deliverylocationid    int     `json:"deliverylocationid"`
	Deliverycustomer      string  `json:"deliverycustomer"`
	Deliverycontactno     string  `json:"deliverycontactno"`
	Deliveryaddress       string  `json:"deliveryaddress"`
	Deliverylocation      string  `json:"deliverylocation"`
	Droplat               string  `json:"droplat"`
	Droplon               string  `json:"droplon"`
	Deliverylat           string  `json:"deliverylat"`
	Deliverylong          string  `json:"deliverylong"`
	Deliverycharges       float32 `json:"deliverycharges"`
	Deliveryamt           float32 `json:"deliveryamt"`
	Deliverytype          string  `json:"deliverytype"`
	Notes                 string  `json:"notes"`
	Ordernotes            string  `json:"ordernotes"`
	Riderslat             string  `json:"riderslat"`
	Riderslon             string  `json:"riderslon"`
	Firstmilekm           float32 `json:"firstmilekm"`
	Firstmilecharges      float32 `json:"firstmilecharges"`
	Lastmilecharges       float32 `json:"lastmilecharges"`
	Ridercharges          float32 `json:"ridercharges"`
	Kms                   string  `json:"kms"`
	Actualkms             string  `json:"actualkms"`
	Riderkms              string  `json:"riderkms"`
	Paymenttype           int     `json:"paymenttype"`
	Tenantname            string  `json:"tenantname"`
	Tenantcontactno       string  `json:"tenantcontactno"`
	Tenanttoken           string  `json:"tenanttoken"`
	Tenantsuburb          string  `json:"tenantsuburb"`
	Tenantcity            string  `json:"tenantcity"`
	Locationname          string  `json:"locationname"`
	Locationcontactno     string  `json:"locationcontactno"`
	Locationsuburb        string  `json:"locationsuburb"`
	Ridername             string  `json:"ridername"`
	Userfcmtoken          string  `json:"userfcmtoken"`
	Queueid               int     `json:"queueid"`
	Smsdelivery           int     `json:"smsdelivery"`
	Customertoken         string  `json:"customertoken"`
	Ridercontact          string  `json:"ridercontact"`
	Expecteddeliverytime  string  `json:"expecteddeliverytime"`
	Profit                int     `json:"profit"`
	Transitminutes        int     `json:"transitminutes"`
	Calculationdistancekm int     `json:"calculationdistancekm"`
}
