package model import ( "time" "gorm.io/datatypes" ) type OrderCheckout struct { ID uint64 `gorm:"primaryKey" json:"id"` OrderID uint64 `gorm:"not null;index" json:"order_id"` InitiatedBy uint64 `gorm:"not null" json:"initiated_by"` Status string `gorm:"size:32;not null;default:'submitted'" json:"status"` RentAmount float64 `gorm:"type:decimal(12,2);not null;default:0" json:"rent_amount"` DepositAmount float64 `gorm:"type:decimal(12,2);not null;default:0" json:"deposit_amount"` ConsumableAmount float64 `gorm:"type:decimal(12,2);not null;default:0" json:"consumable_amount"` CoinConsumedM float64 `gorm:"type:decimal(12,2);not null;default:0" json:"coin_consumed_m"` OtherAmount float64 `gorm:"type:decimal(12,2);not null;default:0" json:"other_amount"` DepositDeductAmount float64 `gorm:"type:decimal(12,2);not null;default:0" json:"deposit_deduct_amount"` RenterRefundAmount float64 `gorm:"type:decimal(12,2);not null;default:0" json:"renter_refund_amount"` OwnerIncomeAmount float64 `gorm:"type:decimal(12,2);not null;default:0" json:"owner_income_amount"` Content string `json:"content"` EvidenceURLS datatypes.JSON `json:"evidence_urls"` OwnerAdjustmentReason string `json:"owner_adjustment_reason"` OwnerAdjustedAt *time.Time `json:"owner_adjusted_at"` RenterConfirmedAt *time.Time `json:"renter_confirmed_at"` RenterRejectedAt *time.Time `json:"renter_rejected_at"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } func (OrderCheckout) TableName() string { return "order_checkouts" }