package models

import "time"

// Zone values:     Local | Regional | National
// Category values: General | Documents | Electronics | Clothing | Fragile | Medical | Automotive | Food
// ServiceType:     Normal | Express

type DoormilePricing struct {
	Doormile_pricing_id int        `json:"doormile_pricing_id" gorm:"primaryKey;column:doormile_pricing_id"`
	Zone                string     `json:"zone" gorm:"column:zone;not null"`
	Category            string     `json:"category" gorm:"column:category;not null"`
	Servicetype         string     `json:"servicetype" gorm:"column:servicetype;not null"`
	Minweight           float64    `json:"min_weight" gorm:"column:min_weight;not null"`
	Maxweight           float64    `json:"max_weight" gorm:"column:max_weight;not null"`
	Minprice            float64    `json:"min_price" gorm:"column:min_price;not null"`
	Maxprice            float64    `json:"max_price" gorm:"column:max_price;not null"`
	Currency            string     `json:"currency" gorm:"column:currency;default:INR"`
	Providercompany     string     `json:"provider_company" gorm:"column:provider_company;default:Doormile"`
	Reliabilityscore    float64    `json:"reliability_score" gorm:"column:reliability_score;default:5.0"`
	Status              string     `json:"status" gorm:"column:status;default:Active"`
	Createdat           time.Time  `json:"createdat" gorm:"column:createdat;default:CURRENT_TIMESTAMP"`
	Updatedat           time.Time  `json:"updatedat" gorm:"column:updatedat;default:CURRENT_TIMESTAMP"`
	Deletedat           *time.Time `json:"deletedat,omitempty" gorm:"column:deletedat"`
}

func (DoormilePricing) TableName() string {
	return "doormile_pricing"
}
