52 lines
2.0 KiB
Go
52 lines
2.0 KiB
Go
package models
|
|
|
|
import (
|
|
"time"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// CompetitorBranch is a field-surveyed branch of a competing courier company.
|
|
type CompetitorBranch struct {
|
|
ID uint64 `gorm:"primaryKey;autoIncrement" json:"id"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
|
|
CreatedBy uint64 `json:"created_by"`
|
|
UpdatedBy uint64 `json:"updated_by"`
|
|
|
|
Company string `gorm:"size:255;not null;index" json:"company"`
|
|
Area string `gorm:"size:255" json:"area"`
|
|
Phone string `gorm:"size:30" json:"phone"`
|
|
PlusCode string `gorm:"size:100" json:"plus_code"`
|
|
Address string `gorm:"type:text" json:"address"`
|
|
Pincodes string `gorm:"type:text" json:"pincodes"` // Comma-separated list of pincodes served
|
|
|
|
RatePerKg string `gorm:"size:255" json:"rate_per_kg"`
|
|
OffersPickup string `gorm:"size:255" json:"offers_pickup"`
|
|
OffersDrop string `gorm:"size:255" json:"offers_drop"`
|
|
TimeInDays string `gorm:"size:255" json:"time_in_days"`
|
|
PackingCharge string `gorm:"size:255" json:"packing_charge"`
|
|
Frequency string `gorm:"size:255" json:"frequency"`
|
|
}
|
|
|
|
func (CompetitorBranch) TableName() string { return "competitor_branches" }
|
|
|
|
// CarrierPricing holds per-company, per-weight-slab, per-zone rate ranges.
|
|
type CarrierPricing struct {
|
|
ID uint64 `gorm:"primaryKey;autoIncrement" json:"id"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
CreatedBy uint64 `json:"created_by"`
|
|
UpdatedBy uint64 `json:"updated_by"`
|
|
|
|
Company string `gorm:"size:255;not null;index" json:"company"`
|
|
WeightSlab string `gorm:"size:60" json:"weight_slab"`
|
|
ServiceType string `gorm:"size:120" json:"service_type"`
|
|
Zone string `gorm:"size:120" json:"zone"`
|
|
Rate string `gorm:"size:60" json:"rate"`
|
|
DeliveryTime string `gorm:"size:60" json:"delivery_time"`
|
|
}
|
|
|
|
func (CarrierPricing) TableName() string { return "carrier_pricing" }
|