public function missed(Booking $booking) { if ($booking && $booking->went != true) { $booking->went = false; $booking->save(); $this->karmaService->miss(User::find($booking->user_id)); } }
public function cancelReservation(User $user, Trip $trip) { $now = new Carbon(); $departure = new Carbon($trip->leaves_at); $reservation = Booking::where('user_id', $user->id)->where('trip_id', $trip->id)->first(); $reservationTime = new Carbon($reservation->created_at); $percent = $now->diffInMinutes($reservationTime) / $departure->diffInMinutes($reservationTime); $karma = round(1 + pow(pow(47, 1 / 3) * $percent, 3)); $user->karma = $user->karma - $karma; $user->save(); }