value consumed (balance decreases) // refund -> value restored on cancellation (balance increases) // adjustment -> manual staff correction (+/-) const TYPE_REDEEM = 'redeem'; const TYPE_REFUND = 'refund'; const TYPE_ADJUSTMENT = 'adjustment'; protected $casts = [ 'id' => 'int', 'restaurant_id' => 'int', 'voucher_id' => 'int', 'booking_id' => 'int', 'user_id' => 'int', 'amount' => 'int', 'settings' => 'array', ]; public function voucher() { return $this->belongsTo(Voucher::class); } public function restaurant() { return $this->belongsTo(Restaurant::class); } }