public function getTotalWithCoupons()
    {
        $total = $this->getTotal();
        $totalWithCoupons = $total;

        $this->coupons->each(function (Coupon $coupon) use ($total, &$totalWithCoupons) {
            /**
             * @var Coupon $coupon
             */
            $totalWithCoupons -= $coupon->apply($total);
        });

        return $totalWithCoupons;
    }