package models import "time" type TenantResult struct { Status bool `json:"status"` Code int `json:"code"` Message string `json:"message"` Details Tenants `json:"Details"` } type Tenants struct { Tenantid int `json:"tenantid" gorm:"Primary_Key"` Tenantname string `json:"tenantname"` Configid int `json:"configid"` Partnerid int `json:"partnerid"` Moduleid int `json:"moduleid"` Tenanttype string `json:"tenanttype"` Registrationno string `json:"registrationno"` Tenanttoken string `json:"tenanttoken"` Companyname string `json:"companyname"` Devicetype string `json:"devicetype"` Deviceid string `json:"deviceid"` Firstname string `json:"firstname"` Primaryemail string `json:"primaryemail"` Primarycontact string `json:"primarycontact"` Categoryid int `json:"categoryid"` Subcategoryid int `json:"subcategoryid"` Address string `json:"address"` Suburb string `json:"suburb"` City string `json:"city"` State string `json:"state"` Postcode string `json:"postcode"` Latitude string `json:"latitude"` Longitude string `json:"longitude"` Tenantimage string `json:"tenantimage"` Tenantinfo string `json:"tenantinfo"` Paymode1 int `json:"paymode1"` Paymode2 int `json:"paymode2"` Promotion int `json:"promotion"` Minorder int `json:"minorder"` Applocationid int `json:"applocationid"` Approved *int `json:"approved" gorm:"default:0"` Status string `json:"status" gorm:"default:Active"` Partneruserid int `json:"partneruserid"` Tenantlocations Tenantlocations `json:"tenantlocations" gorm:"ForeignKey:tenantid"` Tenantsubscriptions Tenantsubscriptions `json:"tenantsubscriptions" gorm:"ForeignKey:tenantid"` } type TenantUser struct { Tenantid int `json:"tenantid" gorm:"Primary_Key"` Tenantname string `json:"tenantname"` Tenanttype string `json:"tenanttype"` Registrationno string `json:"registrationno"` Tenanttoken string `json:"tenanttoken"` Companyname string `json:"companyname"` Primaryperson string `json:"primaryperson"` Primaryemail string `json:"primaryemail"` Primarycontact string `json:"primarycontact"` Bizcategoryid int `json:"Bizcategoryid"` Bizsubcategoryid int `json:"Bizsubcategoryid"` Address string `json:"address"` Suburb string `json:"suburb"` City string `json:"city"` State string `json:"state"` Postcode string `json:"postcode"` Latitude string `json:"latitude"` Longitude string `json:"longitude"` Tenantimage string `json:"tenantimage"` Tenantinfo string `json:"tenantinfo"` Paymode1 int `json:"paymode1"` Paymode2 int `json:"paymode2"` Promotion int `json:"promotion"` Partnerid int `json:"partnerid"` Minorder int `json:"minorder"` Applocationid int `json:"applocationid"` Approved int `json:"approved"` Moduleid int `json:"moduleid"` Tenantlocations Tenantlocations `json:"tenantlocations" gorm:"ForeignKey:tenantid"` Tenantsubscriptions Tenantsubscriptions `json:"tenantsubscriptions" gorm:"ForeignKey:tenantid"` } type Tenantinfo struct { Tenantid int `json:"tenantid" gorm:"Primary_Key"` Locationid int `json:"locationid"` Tenantname string `json:"tenantname"` Tenanttype string `json:"tenanttype"` Registrationno string `json:"registrationno"` Tenanttoken string `json:"tenanttoken"` Companyname string `json:"companyname"` Primaryemail string `json:"primaryemail"` Primarycontact string `json:"primarycontact"` Categoryid int `json:"categoryid"` Subcategoryid int `json:"subcategoryid"` Address string `json:"address"` Suburb string `json:"suburb"` City string `json:"city"` State string `json:"state"` Postcode string `json:"postcode"` Latitude string `json:"latitude"` Longitude string `json:"longitude"` Tenantimage string `json:"tenantimage"` Tenantinfo string `json:"tenantinfo"` Paymenttype int `json:"paymenttype"` Paymode1 int `json:"paymode1"` Paymode2 int `json:"paymode2"` Promotion int `json:"promotion"` Partnerid int `json:"partnerid"` Minorder int `json:"minorder"` Applocationid int `json:"applolcationid"` Applocation string `json:"applocation"` Approved int `json:"approved"` Moduleid int `json:"moduleid"` Categoryname string `json:"categoryname"` Subcategoryname string `json:"subcategoryname"` Firstname string `json:"firstname"` Lastname string `json:"lastname"` Accountname string `json:"Accountname"` Status string `json:"status"` Allocationid int `json:"allocationid"` Allocationtype string `json:"allocationtype"` Allocationmode int `json:"allocationmode"` Slab string `json:"slab"` Pricingdate string `json:"pricingdate"` Baseprice float32 `json:"baseprice"` Minkm int `json:"minkm"` Priceperkm float32 `json:"priceperkm"` Maxkm int `json:"maxkm"` Orders int `json:"orders"` Othercharges float32 `json:"othercharges"` Surgecharges float32 `json:"surgecharges"` } type Tenantsubscriptions struct { Subscriptionid int `json:"subscriptionid" gorm:"Primary_Key"` Tenantid int `json:"tenantid"` Transactiondate string `json:"transactiondate"` Moduleid int `json:"moduleid"` Applocationid int `json:"applocationid"` Promoid int `json:"promoid"` Categoryid int `json:"categoryid"` Subcategoryid int `json:"subcategoryid"` Promoprice float32 `json:"float32"` Subscriptionprice float32 `json:"subscriptionprice"` Quantity int `json:"quantity"` Taxpercent int `json:"taxpercent"` Taxamount float32 `json:"taxamount"` Totalamount float32 `json:"totalamount"` Validitydate string `json:"validitydate"` } type Tenantlocationinfo struct { Locationid int `json:"locationid" gorm:"Primary_Key"` Tenantid int `json:"tenantid"` Moduleid int `json:"moduleid"` Locationname string `json:"locationname"` Locationemail string `json:"locationemail" gorm:"column:email"` Locationcontact string `json:"locationcontact" gorm:"column:contactno"` Locationlatitude string `json:"locationlatitude" gorm:"column:latitude"` Locationlong string `json:"locationlong" gorm:"column:longitude"` Locationaddress string `json:"locationaddress" gorm:"column:address"` Locationsuburb string `json:"locationsuburb" gorm:"column:suburb"` Locationstate string `json:"locationstate" gorm:"column:state"` Locationcity string `json:"locationcity" gorm:"column:city"` Locationpostcode string `json:"locationpostcode" gorm:"column:postcode"` Opentime string `json:"opentime"` Closetime string `json:"closetime"` Partnerid int `json:"partnerid"` Deliveryradius int `json:"deliveryradius"` Deliverymins int `json:"deliverymins"` Cancelsecs int `json:"cancelsecs"` Applocationid int `json:"applocationid"` Slot1 string `json:"slot1"` Slot2 string `json:"slot2"` Slot3 string `json:"slot3"` Status string `json:"status"` Roleid int `json:"roleid"` } func (Tenantlocationinfo) TableName() string { return "tenantlocations" } type Tenantslot struct { // Slotid int `json:"slotid" gorm:"Primary_Key"` Slot1 string `json:"slot1"` Slot2 string `json:"slot2"` Slot3 string `json:"slot3"` } type TenantLocationSummary struct { Locationid int `json:"locationid"` Locationname string `json:"locationname"` Locationsuburb string `json:"locationsuburb"` Total int `json:"total"` Created int `json:"created"` Pending int `json:"pending"` Delivered int `json:"delivered"` Cancelled int `json:"cancelled"` } type Tenantlocations struct { Locationid int `json:"locationid" gorm:"Primary_Key"` Tenantid int `json:"tenantid"` Applocationid int `json:"applocationid"` Moduleid int `json:"moduleid"` Locationname string `json:"locationname"` Email string `json:"email"` Contactno string `json:"contactno"` Latitude string `json:"latitude"` Longitude string `json:"longitude"` Address string `json:"address"` Suburb string `json:"suburb"` City string `json:"city"` State string `json:"state"` Postcode string `json:"postcode"` Opentime string `json:"opentime"` Closetime string `json:"closetime"` Partnerid int `json:"partnerid"` Deliveryradius int `json:"deliveryradius"` Deliverymins int `json:"deliverymins"` Cancelsecs int `json:"cancelsecs"` Slot1 string `json:"slot1"` Slot2 string `json:"slot2"` Slot3 string `json:"slot3"` Slot4 string `json:"slot4"` Slot5 string `json:"slot5"` Status string `json:"status" gorm:"default:Active"` } type Tenantlocation struct { Locationid int `json:"locationid" gorm:"Primary_Key"` Tenantid int `json:"tenantid"` Applocationid int `json:"applocationid"` Moduleid int `json:"moduleid"` Locationname string `json:"locationname"` Email string `json:"email"` Contactno string `json:"contactno"` Latitude string `json:"latitude"` Longitude string `json:"longitude"` Address string `json:"address"` Suburb string `json:"suburb"` City string `json:"city"` State string `json:"state"` Postcode string `json:"postcode"` Opentime string `json:"opentime"` Closetime string `json:"closetime"` Partnerid int `json:"partnerid"` Deliveryradius int `json:"deliveryradius"` Deliverymins int `json:"deliverymins"` Cancelsecs int `json:"cancelsecs"` Status string `json:"status" gorm:"default:Active"` } type Tenantpricing struct { Tenantpricingid int `json:"tenantpricingid" gorm:"Primary_Key"` Pricingid int `json:"pricingid"` Tenantid int `json:"tenantid"` Applocationid int `json:"applocationid"` Pricingtypeid int `json:"pricingtypeid"` Slab string `json:"slab"` Configid int `json:"configid"` Pricingdate string `json:"pricingdate"` Baseprice float32 `json:"baseprice"` Priceperkm float32 `json:"priceperkm"` Minkm int `json:"minkm"` Maxkm int `json:"maxkm"` Orders int `json:"orders"` Othercharges float32 `json:"othercharges"` Surgecharges float32 `json:"surgecharges"` } type TenantCustomer struct { TenantCustomerID int `json:"tenantcustomerid" gorm:"primaryKey;column:tenantcustomerid"` ModuleID int `json:"moduleid" gorm:"column:moduleid"` TenantID int `json:"tenantid" gorm:"column:tenantid"` LocationID int `json:"locationid" gorm:"column:locationid"` CustomerID int `json:"customerid" gorm:"column:customerid"` CustomerLocationID int `json:"customerlocationid" gorm:"column:customerlocationid"` Status int `json:"status" gorm:"column:status"` Created time.Time `json:"created" gorm:"column:created;autoCreateTime"` Updated time.Time `json:"updated" gorm:"column:updated;autoUpdateTime"` } // If needed, define the table name explicitly func (TenantCustomer) TableName() string { return "tenantcustomers" } type CreateTenantCustomerRequest struct { ModuleID int `json:"moduleid"` TenantID int `json:"tenantid"` LocationID int `json:"locationid"` CustomerID int `json:"customerid"` CustomerLocationID int `json:"customerlocationid"` Status int `json:"status"` } // type CustomerInfo struct { // Customerid int `json:"customerid"` // Customername string `json:"customername"` // Contactno string `json:"contactno"` // } // type TenantInfo struct { // Tenantid int `json:"tenantid"` // Tenantname string `json:"tenantname"` // } type CustomerTenantResponse struct { Customer Customers `json:"customer"` // Tenants []TenantInfo `json:"tenants"` Tenantlocations []LocationDetails `json:"locations"` } type Tenantuser struct { Userid int `json:"userid" gorm:"Primary_Key"` Authname string `json:"authname"` Firstname string `json:"firstname"` Lastname string `json:"lastname"` Password string `json:"password"` Email string `json:"email"` Dialcode string `json:"dialcode"` Contactno string `json:"contactno"` Configid int `json:"configid"` Authmode int `json:"authmode"` Roleid int `json:"roleid"` Pin int `json:"pin"` Deviceid string `json:"deviceid"` Devicetype string `json:"devicetype"` Userfcmtoken string `json:"userfcmtoken"` Address string `json:"address"` Suburb string `json:"suburb"` City string `json:"city"` State string `json:"state"` Postcode string `json:"postcode"` Partnerid int `json:"partnerid"` Tenantid int `json:"tenantid"` Locationid int `json:"locationid"` Applocationid int `json:"applocationid"` Status string `json:"status"` } type LocationSummary struct { ActiveCount int `json:"active"` InactiveCount int `json:"inactive"` TotalCount int `json:"total"` } type TenantUserSummary struct { ActiveCount int `json:"active"` InactiveCount int `json:"inactive"` TotalCount int `json:"total"` } type TenantRequest struct { Requestid int `json:"requestid"` Requestdate time.Time `json:"requestdate"` Requesttype int `json:"requesttype"` Subject string `json:"subject"` Apptypeid int `json:"apptypeid"` Userid int `json:"userid"` Tenantid int `json:"tenantid"` Referenceid int `json:"referenceid"` Referencetype string `json:"referencetype"` Remarks string `json:"remarks"` Resolution string `json:"resolution"` Orderheaderid int `json:"orderheaderid"` Eventname string `json:"eventname"` Status int `json:"status"` Created time.Time `json:"created"` Updated time.Time `json:"updated"` } type LocationDetails struct { Locationid int `json:"locationid"` Locationname string `json:"locationname"` Tenantid int `json:"tenantid"` Tenantname string `json:"tenantname"` Address string `json:"address"` Email string `json:"email"` Contactno string `json:"contactno"` Applocationid int `json:"applocationid"` Suburb string `json:"suburb"` City string `json:"city"` Latitude string `json:"latitude"` Longitude string `json:"longitude"` Postcode string `json:"postcode"` } type Tenantpromotions struct { Promotionid int `json:"promotionid" gorm:"primaryKey"` Promotiontypeid int `json:"promotiontypeid"` Tenantid int `json:"tenantid"` Locationid []string `json:"locationid" gorm:"-"` LocationidStr string `json:"-" gorm:"column:locationid"` Applocationid int `json:"applocationid"` Moduleid int `json:"moduleid"` Categoryid int `json:"categoryid"` Promoname string `json:"promoname"` Promocode string `json:"promocode"` Description string `json:"description"` Product string `json:"product"` Productimage string `json:"productimage"` Promoamount float32 `json:"promoamount"` Promovalue float32 `json:"promovalue"` Purchasevalue float32 `json:"purchasevalue"` Startdate string `json:"startdate"` Enddate string `json:"enddate"` }