'decimal:3', 'qty_remaining' => 'decimal:3', 'buy_price' => 'decimal:2', 'received_at' => 'datetime', ]; public function part(): BelongsTo { return $this->belongsTo(Part::class); } public function warehouse(): BelongsTo { return $this->belongsTo(Warehouse::class); } public function supplier(): BelongsTo { return $this->belongsTo(Supplier::class); } public function reservations(): HasMany { return $this->hasMany(PartReservation::class, 'batch_id'); } public function isDepleted(): bool { return (float) $this->qty_remaining <= 0; } }