﻿{"id":2448,"date":"2025-09-16T06:50:13","date_gmt":"2025-09-16T06:50:13","guid":{"rendered":"https:\/\/marketing.parcelinternational.com\/?page_id=2448"},"modified":"2025-09-16T06:50:13","modified_gmt":"2025-09-16T06:50:13","slug":"diensten","status":"publish","type":"page","link":"https:\/\/marketing.parcelinternational.com\/nl\/diensten\/","title":{"rendered":"Diensten"},"content":{"rendered":"\r\n<script>\r\nwp.domReady(() => {\r\n    const loadTrustpilot = () => {\r\n        if (window.Trustpilot) {\r\n            window.Trustpilot.loadFromElement(document.querySelector('.trustpilot-widget'));\r\n        }\r\n    };\r\n    loadTrustpilot();\r\n    wp.data.subscribe(() => {\r\n        loadTrustpilot();\r\n    });\r\n});\r\n<\/script>\r\n<section class=\"hero py-5 pb-2 position-relative\" style=\"background-image: url('');\" data-effect=\"none\">\r\n        <div class=\"fireworks-overlay\"><\/div>\r\n        <div class=\"hero-content flex-grow-1\">\r\n\t\t\t\r\n        <\/div>\r\n        <div class=\"trustpilot-wrapper mt-5\" style=\"position:relative; z-index:1;\">\r\n            <script type=\"text\/javascript\" src=\"\/\/widget.trustpilot.com\/bootstrap\/v5\/tp.widget.bootstrap.min.js\" async><\/script>\r\n            <div class=\"trustpilot-widget w-100 px-3\" data-locale=\"en-US\" data-template-id=\"5406e65db0d04a09e042d5fc\" data-businessunit-id=\"5e1362561dbbcf000152c818\" data-style-height=\"28px\" data-theme=\"dark\" data-style-width=\"100%\" data-font-family=\"Roboto\">\r\n                <a href=\"https:\/\/www.trustpilot.com\/review\/parcelinternational.com\" target=\"_blank\" rel=\"noopener\">Trustpilot<\/a>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n<style>\r\n\r\n\r\n.calculator-box input.form-control:focus {\r\n  box-shadow: none !important;\r\n  \/*border-color: #ccc;*\/\r\n}\r\n\r\n.country-picker .dropdown-toggle:focus {\r\n  box-shadow: none !important;\r\n  border-color: #ced4da; \/* of je eigen gewenste kleur *\/\r\n  outline: none;\r\n}\r\n\r\n.btn-option {\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: center;\r\n  justify-content: center;\r\n  padding: 0.75rem 1rem;\r\n  border: 1px solid #ccc;\r\n  border-radius: 0.5rem;\r\n  cursor: pointer;\r\n  font-size: 0.9rem;\r\n  transition: all 0.2s ease;\r\n  text-align: center;\r\n  flex: 1 1 0;\r\n}\r\n.btn-option i {\r\n  font-size: 1.2rem;\r\n  margin-bottom: 0.25rem;\r\n}\r\n.btn-option.active {\r\n  border-color: #0d6efd;\r\n  background-color: #e8f1ff;\r\n  color: #0d6efd;\r\n  box-shadow: 0 0 0 1px #0d6efd;\r\n}\r\n\r\n\r\n\r\n#origin_country {\r\n    width: 100%;\r\n    padding-left: 55px !important;\r\n}\r\n.country-select{\r\n\twidth:100%;\r\n\tposition:relative !important;\r\n}\r\n\r\n.country-list{\r\n\twidth:100%;\r\n\tposition:relative !important;\r\n}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n  .zipcode-input {\r\n    display: none;\r\n    position: relative;\r\n    animation: fadeIn 0.3s ease forwards;\r\n  }\r\n\r\n  .zipcode-input.show {\r\n    display: block;\r\n  }\r\n\r\n  .zipcode-input .close-btn {\r\n    position: absolute;\r\n    top: 50%;\r\n    right: 12px;\r\n    transform: translateY(-50%);\r\n    border: none;\r\n    background: transparent;\r\n    font-size: 1rem;\r\n    color: #999;\r\n    cursor: pointer;\r\n    padding: 0;\r\n  }\r\n\r\n  @keyframes fadeIn {\r\n    from { opacity: 0; transform: translateY(-4px); }\r\n    to   { opacity: 1; transform: translateY(0); }\r\n  }\r\n  \r\n  .dimensions-wrapper {\r\n  max-height: 0;\r\n  overflow: hidden;\r\n  transition: all 0.3s ease;\r\n  opacity: 0;\r\n}\r\n.dimensions-wrapper.show {\r\n  max-height: 100px; \/* of meer als nodig *\/\r\n  opacity: 1;\r\n}\r\n  \r\n\/* 1. Verberg standaard de .calcresult *\/\r\n.calcresult {\r\n  \/*display: none;*\/\r\n  transition: transform 0.4s ease, opacity 0.4s ease;\r\n  padding-right: 2rem !important;\r\n  padding-left: 2rem !important;\r\n}\r\n\r\n\/* 2. Toon op middelgrote schermen (bijv. tablets) inline naast calctools *\/\r\n@media (min-width: 650px) and (max-width: 940.98px) {\r\n  .calculator-box {\r\n    display: flex;\r\n    gap: 2rem;\r\n  }\r\n  .calcresult {\r\n    display: block !important;\r\n    transform: none !important;\r\n    opacity: 1 !important;\r\n    width: 100%;\r\n\tborder-left: 1px solid #c0bdbd;\r\n    padding-right: 0rem !important;\r\n  }\r\n}\r\n\r\n\/* 3. Slide-in gedrag voor groot \u00e9n klein formaat *\/\r\n@media (max-width: 649.98px), (min-width: 941px) {\r\n    .calculator-box {\r\n  }\r\n\r\n  .calculator-box .calcresult {\r\n\tpadding-top:2rem;\r\n    position: absolute;\r\n    top: 0;\r\n    right: 0;\r\n    bottom: 0;\r\n    width: 100%;\r\n    max-width: 100%;\r\n    z-index: 20;\r\n    \/*transform: translateX(100%);*\/\r\n    opacity: 0;\r\n    transition: transform 0.4s ease, opacity 0.4s ease;\r\n    pointer-events: none; \/* voorkomt klik terwijl buiten beeld *\/\r\n  }\r\n\r\n  .calculator-box .calcresult.slide-in {\r\n    transform: translateX(0);\r\n    opacity: 1;\r\n    pointer-events: auto;\r\n  }\r\n  \r\n  \r\n\r\n}\r\n\r\n\r\n.rate-card-rowed {\r\n  background: white;\r\n  border-radius: 0.5rem;\r\n  border: 1px solid #ddd;\r\n  padding: 0.5rem 0.75rem;\r\n  margin-bottom: 1rem;\r\n  font-size: 0.9rem;\r\n  display: flex;\r\n  flex-direction: column;\r\n  box-shadow: 0 2px 6px rgba(0,0,0,0.05);\r\n}\r\n.rate-card-rowed .label {\r\n  font-weight: 700;\r\n  text-transform: uppercase;\r\n  font-size: 0.75rem;\r\n  color: var(--pi-primary);\r\n  margin-bottom: 0.5rem;\r\n  \r\n}\r\n.rate-content {\r\n  display: grid;\r\n  grid-template-columns: auto 1fr auto;\r\n  align-items: center;\r\n  column-gap: 1rem;\r\n  min-height: 50px;\r\n}\r\n\r\n.rate-carrier {\r\n  background: #f1f1f1;\r\n  font-weight: bold;\r\n  font-size: 0.85rem;\r\n  padding: 0.75rem;\r\n  min-width: 60px;\r\n  text-align: center;\r\n  border-radius: 0.25rem;\r\n}\r\n\r\n.rate-details {\r\n  text-align: center;\r\n  font-size: 0.8rem;\r\n  line-height: 1.3;\r\n  color: #666;\r\n}\r\n\r\n.rate-price {\r\n  font-size: 1.4rem;\r\n  font-weight: bold;\r\n  color: var(--pi-accent);\r\n  text-align: right;\r\n}\r\n.rate-meta {\r\n  font-size: 0.65rem;\r\n  color: #666;\r\n  line-height: 1.3;\r\n  font-weight: 100;\r\n  \/*margin-top: 0.25rem;*\/\r\n}\r\n\r\n.rate-card-rowed:hover{\r\n\tbackground: var(--pi-primary);\r\n\tcursor: pointer;\r\n}\r\n\r\n.rate-card-rowed:hover .rate-price, .rate-card-rowed:hover .label, .rate-card-rowed:hover .rate-details, .rate-card-rowed:hover .rate-meta{\r\n\tcolor:#FFF;\r\n}\r\n\r\n.resultTitleBox{\r\n\tpadding: 0.4em;\r\n\tpadding-bottom:0px;\r\n\tcursor: pointer; \r\n}\r\n\r\n.resultTitleBox:hover{\r\n\tborder-radius: 0.5em;\r\n    \/*background-color: #fff;\r\n    border: 1px solid #ddd;*\/\r\n\tbackground-color: #dddddd80;\r\n}\r\n\r\n<\/style>\r\n\r\n\r\n  <script>\r\n  \r\nfunction hasClass(element, clsName) {\r\n\treturn (' ' + element.className + ' ').indexOf(' ' + clsName + ' ') > -1;\r\n}\r\n\r\nfunction resizeEvt(){\r\n\tconst screenWidth = window.innerWidth;\r\n\tconst toolBox = document.querySelector('.calctools');\r\n\tconst resultBox = document.querySelector('.calcresult');\r\n\r\n\tif(calcState == \"showRates\"){\r\n\t\tif (screenWidth < 640 || screenWidth >= 941) {\r\n\r\n\r\n\t\t\t\t\/\/on small screens we hide the tool because there is not enough space to show both\r\n\t\t\t\t\/\/on large screens we hide the tool, because the calculator switches to smaller widh\r\n\t\t\t\ttoolBox.style.setProperty('display', 'none', 'important');\r\n\t\t\t\t\r\n\t\t\t\tresultBox.classList.add('slide-in');\r\n\t\t\t\t\/\/ init messages\r\n\t\t\t\t\/\/showNextMessage();\r\n\t\t}else{\r\n\t\t\ttoolBox.style.setProperty('display', 'block', 'important');\r\n\t\t\tresultBox.classList.remove('slide-in');\r\n\t\t}\r\n\t}\r\n}\r\n\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n\t\r\n\tconst dropdownEl = document.getElementById('languageDropdownMobile');\r\n\tconst dropdownEl2 = document.getElementById('languageDropdown');\r\n    if (dropdownEl) {\r\n      const dd = bootstrap.Dropdown.getOrCreateInstance(dropdownEl);\r\n      dropdownEl.addEventListener('click', function (e) {\r\n        e.preventDefault();\r\n        dd.toggle();\r\n      });\r\n    }\r\n\tif (dropdownEl2) {\r\n      const dd = bootstrap.Dropdown.getOrCreateInstance(dropdownEl2);\r\n      dropdownEl2.addEventListener('click', function (e) {\r\n        e.preventDefault();\r\n        dd.toggle();\r\n      });\r\n    }\r\n\t  \r\n\t  \r\n\t\r\n\t\r\n    const sliderContainer = document.querySelector('.slider-container');\r\n    const sliderContent = sliderContainer.querySelector('.slider-content');\r\n    const slides = document.querySelectorAll('.hiddenSlide');\r\n\t\r\n    const prevBtn = sliderContainer.querySelector('.slider-prev');\r\n    const nextBtn = sliderContainer.querySelector('.slider-next');\r\n\tconst dots = sliderContainer.querySelectorAll('.dot');\r\n\r\n\r\n    let currentIndex = 0;\r\n    let activeSlideId = 0;\r\n    \/\/let inactiveSlideId = 1;\r\n    const totalSlides = slides.length;\r\n\r\n    let currentDirection = 'next';\r\n\r\n    function updateSlider(direction = currentDirection, overrideNext = false) {\r\n        currentDirection = direction;\r\n        var activeSlide = document.querySelector(`.slide[data-slideview=\"${activeSlideId}\"]`);  \r\n        var otherSlide = document.querySelector(`.slide[data-slideview=\"${activeSlideId === 0 ? 1 : 0}\"]`);\r\n        console.log(activeSlide);\r\n        console.log(otherSlide); \r\n\t\t\/\/alert(totalSlides);\r\n        \/\/const prevIndex = (currentIndex - 1 + totalSlides) % totalSlides;\r\n        var nextIndex = 0;\r\n\t\t\r\n\t\tif(direction == \"next\"){\r\n\t\t\tnextIndex = (currentIndex + 1 + totalSlides) % totalSlides;\r\n\t\t}else{\r\n\t\t\tnextIndex = (currentIndex - 1 + totalSlides) % totalSlides;\r\n\t\t}\r\n\t\t\r\n\t\tif(overrideNext !== false){\r\n\t\t\tnextIndex = overrideNext;\r\n\t\t\t\r\n\t\t\tif(overrideNext > currentIndex){\r\n\t\t\t\tdirection = \"next\";\r\n\t\t\t}else{\r\n\t\t\t\tdirection = \"prev\";\r\n\t\t\t}\r\n\t\t}\r\n\r\n        newContent = slides[nextIndex];\r\n\r\n        if(direction == \"next\"){           \r\n            \/\/set it to the start position  \r\n            otherSlide.style.transition = 'none';\r\n            otherSlide.style.transform = 'translateX(' + ((activeSlide.dataset.slideview) * 100) + '%)';\r\n            otherSlide.style.opacity = '0'; \/\/and hide\r\n            otherSlide.offsetHeight;  \/\/immediately update the screen!\r\n            \r\n            otherSlide.innerHTML = newContent.innerHTML;\r\n\r\n\t\t\totherSlide.style.transition = 'transform 0.5s ease, opacity 0.5s ease'; \/\/set the animation for the coming movement\r\n            activeSlide.style.transition = 'transform 0.5s ease, opacity 0.5s ease';\r\n            \/\/alert(otherSlide.dataset.slideview);\r\n            activeSlide.style.transform = 'translateX(-' + ((parseInt(activeSlide.dataset.slideview,10)+1) * 100) + '%)';\r\n            \/\/alert(activeSlide.style.transform);\r\n            activeSlide.style.opacity = '0';\r\n\r\n            otherSlide.style.transform = 'translateX(-' + ((parseInt(otherSlide.dataset.slideview,10)) * 100) + '%)';\r\n            \/\/alert(otherSlide.style.transform);\r\n            otherSlide.style.opacity = '1';            \r\n\r\n        }else{ \/\/going rightside\r\n\r\n            \/\/set it to the start position  \r\n            otherSlide.style.transition = 'none';\r\n            otherSlide.style.transform = 'translateX(-' + ((parseInt(otherSlide.dataset.slideview,10)+1)*100) + '%)';\r\n            otherSlide.style.opacity = '0'; \/\/and hide\r\n            otherSlide.offsetHeight;  \/\/immediately update the screen!\r\n\r\n            \/\/set the new content\r\n            otherSlide.innerHTML = newContent.innerHTML;\r\n\r\n\t\t\totherSlide.style.transition = 'transform 0.5s ease, opacity 0.5s ease'; \/\/set the animation for the coming movement\r\n            activeSlide.style.transition = 'transform 0.5s ease, opacity 0.5s ease'; \/\/set the animation for the coming movement\r\n            \/\/!!!!WE USE ACTIVESLIDE - OTHERSLIDE HERE ON PURPOSE!!!!\r\n            activeSlide.style.transform = 'translateX(' + (parseInt(otherSlide.dataset.slideview,10) * 100) + '%)';\r\n            activeSlide.style.opacity = '0';\r\n\r\n            otherSlide.style.transform = 'translateX(-' + (parseInt(otherSlide.dataset.slideview,10) * 100) + '%)';\r\n            otherSlide.style.opacity = '1'; \r\n        }\r\n\r\n\t\tcurrentIndex = nextIndex;\r\n        if(activeSlideId === 0){\r\n            activeSlideId = 1;\r\n        }else{\r\n            activeSlideId = 0;\r\n        }\r\n\r\n\t\tdots.forEach((dot, index) => {\r\n\t\t\tdot.classList.remove(\"active\");\r\n\t\t\tif(currentIndex === index){\r\n\t\t\t\tdot.classList.add(\"active\");\r\n\t\t\t}\r\n\t\t});\r\n    }\r\n\tdots.forEach((dot, index) => {\r\n\t\tdot.addEventListener('click', () => {\r\n\t\t\t\/\/currentIndex = (currentIndex - 1 + totalSlides) % totalSlides;\r\n\t\t\tif(!hasClass(dot, \"active\")){\r\n\t\t\t\tupdateSlider('next', index);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n    if (prevBtn) {\r\n\t\tprevBtn.addEventListener('click', () => {\r\n\t\t\t\/\/currentIndex = (currentIndex - 1 + totalSlides) % totalSlides;\r\n\t\t\tupdateSlider('prev');\r\n\t\t});\r\n\t}\r\n   if (nextBtn) {\r\n\t\tnextBtn.addEventListener('click', () => {\r\n\t\t\t\/\/currentIndex = (currentIndex + 1) % totalSlides;\r\n\t\t\tupdateSlider('next');\r\n\t\t});\r\n   }\r\n\r\n    window.addEventListener('resize', () => resizeEvt());\r\n\r\n    \/\/updateSlider();\r\n\t\r\n\tconst originCountry = $('#originCountry').bootstrap5CountryPicker({\r\n\t  enableCodeSearch: true,\r\n\t  enableNameSearch: true,\r\n\t  dataUrl: 'https:\/\/marketing.parcelinternational.com\/nl\/wp-content\/themes\/parcelinternational\/assets\/',\r\n      debug: true,\r\n      language: 'NL',\r\n\t  favorites: ['NL'],\r\n      startText: 'Vanuit waar wilt u versturen?',\r\n      selectedTextTemplate: 'Vanaf: {name} {flag}'\r\n\t});\r\n\r\n\tconst destinationCountry = $('#destinationCountry').bootstrap5CountryPicker({\r\n\t  enableCodeSearch: true,\r\n\t  enableNameSearch: true,\r\n\t  dataUrl: 'https:\/\/marketing.parcelinternational.com\/nl\/wp-content\/themes\/parcelinternational\/assets\/',\r\n      debug: true,\r\n      language: 'NL',\r\n\t  favorites: ['NL'],\r\n      startText: 'Waarheen gaat uw zending?',\r\n      selectedTextTemplate: 'Naar: {name} {flag}'\r\n\t});\r\n\r\n    var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"tooltip\"]'))\r\n    tooltipTriggerList.forEach(function (tooltipTriggerEl) {\r\n      new bootstrap.Tooltip(tooltipTriggerEl)\r\n    })\r\n});\r\n\r\njQuery(function () {\r\n\t\/\/alert(jQuery('.hero').data('effect'));\r\n\tconst effectList = jQuery('.hero').data('effect').split(' '); \/\/ ['snow', 'fireworks']\r\n\tif(effectList.includes('snow')){\r\n\t\tjQuery(\".fireworks-overlay\").snowfall({\r\n\t\t\tflakeCount: 40,\r\n\t\t\tmaxSpeed: 3,\r\n\t\t\tmaxSize: 8\r\n\t\t});\r\n\t}\r\n\t\r\n\tif(effectList.includes('hearts')){\r\n\t\tstartHearts(\".fireworks-overlay\");\r\n\t}\r\n\t\r\n\tif(effectList.includes('fireworks')){\r\n\t\tstartSimpleFireworks();\r\n\t}\r\n\t\/\/\r\n\t\/\/startSimpleFireworks();\r\n});\r\n<\/script>\r\n\r\n\r\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-2448","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/marketing.parcelinternational.com\/nl\/wp-json\/wp\/v2\/pages\/2448","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marketing.parcelinternational.com\/nl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/marketing.parcelinternational.com\/nl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/marketing.parcelinternational.com\/nl\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/marketing.parcelinternational.com\/nl\/wp-json\/wp\/v2\/comments?post=2448"}],"version-history":[{"count":1,"href":"https:\/\/marketing.parcelinternational.com\/nl\/wp-json\/wp\/v2\/pages\/2448\/revisions"}],"predecessor-version":[{"id":2449,"href":"https:\/\/marketing.parcelinternational.com\/nl\/wp-json\/wp\/v2\/pages\/2448\/revisions\/2449"}],"wp:attachment":[{"href":"https:\/\/marketing.parcelinternational.com\/nl\/wp-json\/wp\/v2\/media?parent=2448"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}