{"id":70945,"date":"2025-04-15T15:46:30","date_gmt":"2025-04-15T13:46:30","guid":{"rendered":"https:\/\/staging3.dev.gibbs.no\/?page_id=70945"},"modified":"2025-04-15T15:46:34","modified_gmt":"2025-04-15T13:46:34","slug":"kunde-kansellering","status":"publish","type":"page","link":"https:\/\/staging3.dev.gibbs.no\/en\/kunde-kansellering\/","title":{"rendered":"Kunde kansellering"},"content":{"rendered":"<div class=\"refund_container\">\n    <h2>Kanseller ordre #0<\/h2>\n    \n    <div class=\"refund-form-container\">\n                    <div class=\"refund-status notification-box\">\n                <div class=\"notification-icon\">\n                    <i class=\"fas fa-exclamation-circle\"><\/i>\n                <\/div>\n                <div class=\"notification-content\">\n                    <h3>Kansellering ikke mulig<\/h3>\n                    <p>Bookingen er for n\u00e6r start eller har allerede passert for \u00e5 kunne kanselleres.<\/p>\n                  \n                <\/div>\n            <\/div>\n            <\/div>\n<\/div>\n\n<style>\n.refund_container {\n    max-width: 840px;\n    margin: 0 auto;\n    padding: 20px;\n    font-family: Arial, sans-serif;\n}\n\n.refund_container h2 {\n    margin-bottom: 20px;\n    color: #333;\n    font-size: 24px;\n}\n\n.refund-form-container {\n    background-color: #fff;\n    border-radius: 8px;\n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n    border: 0.1px solid #e5e4e4;\n    padding: 20px;\n}\n\n\/* Notification styling *\/\n.notification-box {\n    display: flex;\n    background-color: #f8f8f8;\n    border-left: 4px solid #e74c3c;\n    border-radius: 4px;\n    padding: 20px;\n    margin: 20px 0;\n    align-items: flex-start;\n    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);\n}\n\n.notification-box.success {\n    border-left-color: #2ecc71;\n    background-color: #f8fff8;\n}\n\n.notification-box.success .notification-icon {\n    color: #2ecc71;\n}\n\n.notification-box.success h3 {\n    color: #2ecc71;\n}\n\n.notification-icon {\n    flex: 0 0 60px;\n    font-size: 32px;\n    color: #e74c3c;\n    text-align: center;\n}\n\n.notification-content {\n    flex: 1;\n}\n\n.notification-content h3 {\n    margin: 0 0 10px 0;\n    color: #e74c3c;\n    font-size: 18px;\n}\n\n.notification-content p {\n    margin: 0 0 10px 0;\n    color: #555;\n    line-height: 1.5;\n}\n\n.contact-info {\n    margin-top: 15px;\n    font-size: 14px;\n    color: #666;\n}\n\n.contact-info strong {\n    color: #333;\n}\n\n.button-container {\n    margin-top: 20px;\n}\n\n.btn-primary {\n    background-color: #3c8c6c;\n    color: #ffffff;\n    padding: 10px 20px;\n    border: none;\n    border-radius: 5px;\n    cursor: pointer;\n    font-size: 14px;\n    font-weight: 600;\n    transition: background-color 0.3s ease;\n}\n\n.btn-primary:hover {\n    background-color: #2a6e50;\n}\n\n.refund-reason {\n    margin-bottom: 20px;\n}\n\n.refund-reason label {\n    display: block;\n    font-size: 14px;\n    font-weight: 600;\n    margin-bottom: 5px;\n}\n\n.refund-reason select {\n    width: 100%;\n    padding: 10px;\n    font-size: 14px;\n    border: 1px solid #ddd;\n    border-radius: 4px;\n    box-sizing: border-box;\n    background-color: #fff;\n    height: 45px;\n    appearance: none;\n    -webkit-appearance: none;\n    -moz-appearance: none;\n    background-image: url(\"data:image\/svg+xml;charset=UTF-8,%3csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c\/polyline%3e%3c\/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right 10px center;\n    background-size: 16px;\n    cursor: pointer;\n}\n\n.refund-reason select:focus {\n    outline: none;\n    border-color: #008474;\n}\n\n#other_reason_container textarea {\n    width: 100%;\n    padding: 10px;\n    font-size: 14px;\n    border: 1px solid #ddd;\n    border-radius: 4px;\n    box-sizing: border-box;\n    resize: vertical;\n}\n\n#other_reason_container textarea:focus {\n    outline: none;\n    border-color: #008474;\n}\n\n.refund-info {\n    background-color: #f9f9f9;\n    padding: 15px;\n    border-radius: 4px;\n    margin-bottom: 20px;\n}\n\n.refund-info p {\n    margin: 0;\n    font-size: 14px;\n    line-height: 1.5;\n}\n\n.refund-actions {\n    text-align: center;\n    margin: 25px 0;\n    padding: 15px 0;\n    border-top: 1px solid #eee;\n    border-bottom: 1px solid #eee;\n}\n\n.confirm-refund-btn, .refund-receipt-btn {\n    padding: 12px 30px;\n    font-size: 16px;\n    color: white;\n    background-color: #008474;\n    border: none;\n    border-radius: 5px;\n    cursor: pointer;\n    transition: background-color 0.3s ease;\n    min-width: 200px;\n    display: inline-block;\n    text-decoration: none;\n}\n\n.confirm-refund-btn:hover, .refund-receipt-btn:hover {\n    background-color: #006b5c;\n}\n\n.refund-policy {\n    text-align: center;\n}\n\n.refund-policy a {\n    color: #008474;\n    text-decoration: none;\n    font-size: 14px;\n}\n\n.refund-policy a:hover {\n    text-decoration: underline;\n}\n\n.refund-status {\n    text-align: center;\n    padding: 20px;\n}\n\n.loader {\n    display: none;\n    width: 40px;\n    height: 40px;\n    border: 4px solid #f3f3f3;\n    border-radius: 50%;\n    border-top: 4px solid #008474;\n    animation: spin 1s linear infinite;\n    margin: 20px auto;\n}\n\n@keyframes spin {\n    0% { transform: rotate(0deg); }\n    100% { transform: rotate(360deg); }\n}\n\n.confirm-refund-btn.loading {\n    opacity: 0.7;\n    cursor: not-allowed;\n}\n<\/style>\n\n<script>\njQuery(document).ready(function($) {\n    \/\/ Show\/hide the \"Other\" reason textarea based on selection\n    $('#cancel_reason').on('change', function() {\n        if ($(this).val() === 'other') {\n            $('#other_reason_container').show();\n        } else {\n            $('#other_reason_container').hide();\n        }\n    });\n\n    $('.confirm-refund-btn').click(function() {\n        var $button = $(this);\n        var reasonOption = $('#cancel_reason').val();\n        \n        if (!reasonOption) {\n            alert('Vennligst velg en \u00e5rsak til kansellering');\n            return;\n        }\n        \n        \/\/ Get the display reason text (either selected option text or custom reason)\n        var reasonText = $('#cancel_reason option:selected').text();\n        var otherReasonText = '';\n        \n        \/\/ If \"Other\" is selected, get the custom reason\n        if (reasonOption === 'other') {\n            otherReasonText = $('#other_reason').val();\n            if (!otherReasonText) {\n                alert('Vennligst spesifiser \u00e5rsaken');\n                return;\n            }\n        }\n\n        \/\/ Disable button and show loader\n        $button.addClass('loading').prop('disabled', true);\n        $button.after('<div class=\"loader\" style=\"display: block;\"><\/div>');\n        $button.hide()\n\n        \/\/ Here you would typically make an AJAX call to process the refund\n        $.ajax({\n            url: 'https:\/\/staging3.dev.gibbs.no\/wp-admin\/admin-ajax.php',\n            type: 'POST',\n            data: {\n                action: 'process_refund',\n                order_id: '0',\n                booking_id: '1338',\n                reason_option: reasonOption,\n                reason_text: reasonOption === 'other' ? otherReasonText : reasonText\n            },\n            success: function(response) {\n                if (response.success) {\n                    jQuery('.refund_container').html(response.data.html);\n                } else {\n                    $button.show()\n                    alert('Feil ved behandling av kansellering:');\n                    \/\/ Re-enable button and hide loader\n                    $button.removeClass('loading').prop('disabled', false);\n                    $('.loader').remove();\n                }\n            },\n            error: function() {\n                $button.show()\n                alert('Feil ved behandling av kansellering. Vennligst pr\u00f8v igjen.');\n                \/\/ Re-enable button and hide loader\n                $button.removeClass('loading').prop('disabled', false);\n                $('.loader').remove();\n            }\n        });\n    });\n});\n<\/script>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","footnotes":""},"class_list":["post-70945","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Kunde kansellering - Gibbs.no - Bookingsystem<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/staging3.dev.gibbs.no\/en\/kunde-kansellering\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kunde kansellering - Gibbs.no - Bookingsystem\" \/>\n<meta property=\"og:url\" content=\"https:\/\/staging3.dev.gibbs.no\/en\/kunde-kansellering\/\" \/>\n<meta property=\"og:site_name\" content=\"Gibbs.no - Bookingsystem\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/GibbsNorge\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-15T13:46:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/staging3.dev.gibbs.no\/wp-content\/uploads\/2023\/10\/Gibbs-Bookingsystem.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/staging3.dev.gibbs.no\/kunde-kansellering\/\",\"url\":\"https:\/\/staging3.dev.gibbs.no\/kunde-kansellering\/\",\"name\":\"Kunde kansellering - Gibbs.no - Bookingsystem\",\"isPartOf\":{\"@id\":\"https:\/\/staging3.dev.gibbs.no\/#website\"},\"datePublished\":\"2025-04-15T13:46:30+00:00\",\"dateModified\":\"2025-04-15T13:46:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/staging3.dev.gibbs.no\/kunde-kansellering\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/staging3.dev.gibbs.no\/kunde-kansellering\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/staging3.dev.gibbs.no\/kunde-kansellering\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/staging3.dev.gibbs.no\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kunde kansellering\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/staging3.dev.gibbs.no\/#website\",\"url\":\"https:\/\/staging3.dev.gibbs.no\/\",\"name\":\"Gibbs.no\",\"description\":\"Bookingsystem - 1.Book 2.Betal 3.\u00c5pne\",\"publisher\":{\"@id\":\"https:\/\/staging3.dev.gibbs.no\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/staging3.dev.gibbs.no\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/staging3.dev.gibbs.no\/#organization\",\"name\":\"Gibbs AS\",\"url\":\"https:\/\/staging3.dev.gibbs.no\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/staging3.dev.gibbs.no\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.gibbs.no\/wp-content\/uploads\/2023\/11\/Gibbs-bookingsystem-logo.png\",\"contentUrl\":\"https:\/\/www.gibbs.no\/wp-content\/uploads\/2023\/11\/Gibbs-bookingsystem-logo.png\",\"width\":696,\"height\":696,\"caption\":\"Gibbs AS\"},\"image\":{\"@id\":\"https:\/\/staging3.dev.gibbs.no\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/GibbsNorge\",\"https:\/\/www.linkedin.com\/company\/gibbsnorge\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Kunde kansellering - Gibbs.no - Bookingsystem","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/staging3.dev.gibbs.no\/en\/kunde-kansellering\/","og_locale":"en_US","og_type":"article","og_title":"Kunde kansellering - Gibbs.no - Bookingsystem","og_url":"https:\/\/staging3.dev.gibbs.no\/en\/kunde-kansellering\/","og_site_name":"Gibbs.no - Bookingsystem","article_publisher":"https:\/\/www.facebook.com\/GibbsNorge","article_modified_time":"2025-04-15T13:46:34+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/staging3.dev.gibbs.no\/wp-content\/uploads\/2023\/10\/Gibbs-Bookingsystem.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/staging3.dev.gibbs.no\/kunde-kansellering\/","url":"https:\/\/staging3.dev.gibbs.no\/kunde-kansellering\/","name":"Kunde kansellering - Gibbs.no - Bookingsystem","isPartOf":{"@id":"https:\/\/staging3.dev.gibbs.no\/#website"},"datePublished":"2025-04-15T13:46:30+00:00","dateModified":"2025-04-15T13:46:34+00:00","breadcrumb":{"@id":"https:\/\/staging3.dev.gibbs.no\/kunde-kansellering\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/staging3.dev.gibbs.no\/kunde-kansellering\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/staging3.dev.gibbs.no\/kunde-kansellering\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/staging3.dev.gibbs.no\/"},{"@type":"ListItem","position":2,"name":"Kunde kansellering"}]},{"@type":"WebSite","@id":"https:\/\/staging3.dev.gibbs.no\/#website","url":"https:\/\/staging3.dev.gibbs.no\/","name":"Gibbs.no","description":"Bookingsystem - 1.Book 2.Betal 3.\u00c5pne","publisher":{"@id":"https:\/\/staging3.dev.gibbs.no\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/staging3.dev.gibbs.no\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/staging3.dev.gibbs.no\/#organization","name":"Gibbs AS","url":"https:\/\/staging3.dev.gibbs.no\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/staging3.dev.gibbs.no\/#\/schema\/logo\/image\/","url":"https:\/\/www.gibbs.no\/wp-content\/uploads\/2023\/11\/Gibbs-bookingsystem-logo.png","contentUrl":"https:\/\/www.gibbs.no\/wp-content\/uploads\/2023\/11\/Gibbs-bookingsystem-logo.png","width":696,"height":696,"caption":"Gibbs AS"},"image":{"@id":"https:\/\/staging3.dev.gibbs.no\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/GibbsNorge","https:\/\/www.linkedin.com\/company\/gibbsnorge"]}]}},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"trp-custom-language-flag":false,"post-thumbnail":false,"listeo-avatar":false,"listeo-blog-post":false,"listeo-blog-related-post":false,"listeo-post-thumb":false,"listeo-gallery":false,"listeo-listing-grid":false,"listeo_core-avatar":false,"listeo_core-preview":false,"woocommerce_thumbnail":false,"woocommerce_single":false,"woocommerce_gallery_thumbnail":false},"uagb_author_info":{"display_name":"K Gibbs","author_link":"https:\/\/staging3.dev.gibbs.no\/en\/author\/kamil-gryga94gmail-com\/"},"uagb_comment_info":0,"uagb_excerpt":null,"_links":{"self":[{"href":"https:\/\/staging3.dev.gibbs.no\/en\/wp-json\/wp\/v2\/pages\/70945","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/staging3.dev.gibbs.no\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/staging3.dev.gibbs.no\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/staging3.dev.gibbs.no\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/staging3.dev.gibbs.no\/en\/wp-json\/wp\/v2\/comments?post=70945"}],"version-history":[{"count":2,"href":"https:\/\/staging3.dev.gibbs.no\/en\/wp-json\/wp\/v2\/pages\/70945\/revisions"}],"predecessor-version":[{"id":70948,"href":"https:\/\/staging3.dev.gibbs.no\/en\/wp-json\/wp\/v2\/pages\/70945\/revisions\/70948"}],"wp:attachment":[{"href":"https:\/\/staging3.dev.gibbs.no\/en\/wp-json\/wp\/v2\/media?parent=70945"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}