19 lines
1.1 KiB
Go
19 lines
1.1 KiB
Go
package models
|
|
|
|
import "time"
|
|
|
|
// RiderSubstitution represents the rider_substitutions table
|
|
type RiderSubstitution struct {
|
|
ID int `json:"id" gorm:"primaryKey;autoIncrement"`
|
|
TenantID int `json:"tenant_id" gorm:"not null;uniqueIndex:uq_date_absent"`
|
|
SubDate string `json:"sub_date" gorm:"type:date;not null;uniqueIndex:uq_date_absent;index:idx_date;index:idx_tenant_date"`
|
|
AbsentRiderID int `json:"absent_rider_id" gorm:"not null;uniqueIndex:uq_date_absent"`
|
|
AbsentRiderName string `json:"absent_rider_name" gorm:"size:100;not null"`
|
|
SubRiderID int `json:"sub_rider_id" gorm:"not null"`
|
|
SubRiderName string `json:"sub_rider_name" gorm:"size:100;not null"`
|
|
Reason string `json:"reason" gorm:"size:255"`
|
|
Status string `json:"status" gorm:"type:enum('scheduled','active','completed','cancelled');default:'scheduled';not null;index:idx_status"`
|
|
CreatedAt time.Time `json:"created_at" gorm:"autoCreateTime"`
|
|
UpdatedAt time.Time `json:"updated_at" gorm:"autoUpdateTime"`
|
|
}
|