public static function end()
    {
        // If the session is ended while in cart or pending state, remove the reservation.
        // The session is only ended in these states when iffy business is going on.
        if (in_array(self::get()->Status, array('CART', 'PENDING'))) {
            self::get()->delete();
        }

        Session::set(self::KEY, null);
        Session::clear(self::KEY);
    }