Apology eCards

Say “I’m sorry” with free Apology ecards from Punchbowl. Our free online Apology cards have the same look of traditional paper cards but don’t require a trip to the post office or store. Browse our selection of Apology ecards, choose a design, and personalize your message. Best of all, when you send free ecards with Punchbowl, you can email or text ecards right from your phone! Send your sincere apologies with a thoughtful ecard today.

') $('.design-studio-favorite-modal').removeClass('hidden') } }); // Make a request to toggle the favorite status of the package function toggleFavorite(el) { hasToggleFavoritesRequest = true; var data = { user_favorite_package: { package_id: $(el).data('package-id'), package_type: 'ecard' } } var favoriteButton = $(el); if (favoriteButton.hasClass('icon-heart')) { $.ajax({ type: 'DELETE', url: '/user/favorites', headers: { 'X-CSRF-Token': csrfToken }, data: data, success: function(_data) { PBS.user.removeFavoriteEcard(data['user_favorite_package']['package_id']) favoriteButton.addClass('icon-heart-empty'); favoriteButton.removeClass('icon-heart'); hasToggleFavoritesRequest = false; }, error: function(_data) { alert("Sorry, your card couldn't be removed from your favorites. Please try again."); hasToggleFavoritesRequest = false; } }); } else { $.ajax({ type: 'POST', url: '/user/favorites', headers: { 'X-CSRF-Token': csrfToken }, data: data, success: function(_data) { window.dataLayer.push({ event: 'ecard_design_favorited', package_id: data.user_favorite_package.package_id }); PBS.user.addFavoriteEcard(data['user_favorite_package']['package_id']) favoriteButton.addClass('icon-heart'); favoriteButton.removeClass('icon-heart-empty'); hasToggleFavoritesRequest = false; }, error: function(_data) { alert("Sorry, your card couldn't be favorited. Please try again."); hasToggleFavoritesRequest = false; } }); } } $('.design-studio-favorite-modal .close-modal').click(function() { $('.design-studio-favorite-modal').addClass('hidden') $('.favorite-modal-overlay').remove() }) function setHeartsFromLocalStorage() { setHeartsFromIds(PBS.user.favoritesData().ecard_favorite_ids) } function setHeartsFromIds(ecard_favorite_ids) { _.forEach(ecard_favorite_ids, function(package_id) { $('.is-favorite[data-package-id="' + package_id + '"]').addClass('icon-heart').removeClass('icon-heart-empty'); }) } // Only set hearts if the user is logged in if (PBS.current_user.registered) { setHeartsFromLocalStorage(); // set hearts from local storage prior to making ajax request to prevent late-loading of hearts that haven't changed $.ajax({ url: '/user/favorites', method: 'GET', dataType: 'json', success: function(data) { try { localStorage.setItem('userFavorites', JSON.stringify(data)); setHeartsFromLocalStorage(); } catch (err) { // if local storage could not be set due to size constraints, don't let it break the rest of the js on the page console.log(err); setHeartsFromIds(data.ecard_favorite_ids) } } }) } else { localStorage.removeItem('userFavorites') } // Track category load window.dataLayer.push({ event: 'viewed_card_gallery_category', category_name: 'Apology' }) PBS.Analytics.CardTracking.impression("4e4928c93ea34b0ce7000017", {"4efb83c58b28d9714d000133":"1","4efb89aa0aab4d7fba000f39":"2","4efb87ca1a349e0b4c001471":"3","4efb86248b28d941b1000344":"4","4efb88eb74f63970ef000f5f":"5","5cafcbe024e4b35ec1002836":"6","64dd1b03d976ba5a81a1b202":"7"}); });