package contract import ( "time" "github.com/google/uuid" ) type CreateProductOutletPriceRequest struct { ProductID uuid.UUID `json:"product_id" validate:"required"` OutletID uuid.UUID `json:"outlet_id" validate:"required"` Price float64 `json:"price" validate:"required,min=0"` } type UpdateProductOutletPriceRequest struct { Price float64 `json:"price" validate:"required,min=0"` } type ProductOutletPriceResponse struct { ID uuid.UUID `json:"id"` ProductID uuid.UUID `json:"product_id"` OutletID uuid.UUID `json:"outlet_id"` Price float64 `json:"price"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type ListProductOutletPricesResponse struct { Prices []ProductOutletPriceResponse `json:"prices"` TotalCount int `json:"total_count"` } type BulkCreateProductOutletPriceRequest struct { ProductID uuid.UUID `json:"product_id" validate:"required"` Prices []CreateProductOutletPricePerOutletRequest `json:"prices" validate:"required,dive"` } type CreateProductOutletPricePerOutletRequest struct { OutletID uuid.UUID `json:"outlet_id" validate:"required"` Price float64 `json:"price" validate:"required,min=0"` }