{"id":31991,"date":"2026-05-25T13:21:54","date_gmt":"2026-05-25T13:21:54","guid":{"rendered":"https:\/\/zamko.eu\/?page_id=31991"},"modified":"2026-05-25T13:42:17","modified_gmt":"2026-05-25T13:42:17","slug":"returnable-packaging-pool-size-calculator","status":"publish","type":"page","link":"https:\/\/zamko.eu\/nl\/returnable-packaging-pool-size-calculator\/","title":{"rendered":"Returnable Packaging Pool Size Calculator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"31991\" class=\"elementor elementor-31991\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-500a489 e-con-full e-flex e-con e-parent\" data-id=\"500a489\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-62423f0 elementor-widget elementor-widget-heading\" data-id=\"62423f0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\"><span class=\"ez-toc-section\" id=\"Returnable_Packaging_Pool_Size_Calculator-2\"><\/span>Returnable Packaging Pool Size Calculator\n<span class=\"ez-toc-section-end\"><\/span><\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-367a6e3 elementor-widget elementor-widget-html\" data-id=\"367a6e3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<head>\r\n  <title>Returnable Packaging Pool Size Calculator | ZAMKO<\/title>\r\n  <meta name=\"description\" content=\"Estimate how many sleeve packs, mesh pallet cages or returnable pallet boxes are required to maintain a closed logistics loop.\"\/>\r\n  <meta name=\"robots\" content=\"index, follow\"\/>\r\n  <link rel=\"canonical\" href=\"https:\/\/zamko.eu\/returnable-packaging-pool-size-calculator\/\"\/>\r\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600;700;800&family=DM+Mono:wght@400;500;700&display=swap\" rel=\"stylesheet\"\/>\r\n  <style>\r\n    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}\r\n    :root{\r\n      --blue:#123a8f;--blue2:#1e4fb8;--blue-lt:#E6F1FB;--blue-bdr:#B5D4F4;--blue-dk:#0C447C;\r\n      --orange:#EF9F27;--orange-dk:#854F0B;--orange-lt:#FAEEDA;\r\n      --green:#3B6D11;--green-lt:#EAF3DE;--green-bdr:#C0DD97;\r\n      --red:#C0392B;--red-lt:#FDECEA;--red-bdr:#F5B7B1;\r\n      --text:#1a1a1a;--muted:#5a6070;--muted2:#8a93a0;--bg:#f4f5f8;--white:#fff;--bdr:rgba(0,0,0,.1);\r\n      --r-md:8px;--r-lg:12px;--r-xl:16px;--shadow:0 1px 3px rgba(0,0,0,.06);--field-h:36px;\r\n    }\r\n    body{font-family:'DM Sans',system-ui,sans-serif;color:var(--text);background:#f7f8fb;line-height:1.45;font-size:14px;-webkit-font-smoothing:antialiased}\r\n    .page-header{max-width:1200px;margin:0 auto;padding:18px 20px 8px;display:flex;align-items:flex-start;gap:16px}\r\n    .page-header h1{font-size:24px;font-weight:800;color:var(--blue);letter-spacing:-.035em;line-height:1.12}\r\n    .page-header p{font-size:13px;color:var(--muted);margin-top:6px;max-width:850px}\r\n    .scope-pill{margin-left:auto;background:var(--blue-lt);border:1px solid var(--blue-bdr);border-radius:99px;color:var(--blue-dk);font-size:11px;font-weight:700;padding:7px 10px;white-space:nowrap}\r\n    .steps{max-width:1200px;margin:0 auto;padding:8px 20px 4px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}\r\n    .step{background:#fdfefe;border:.5px solid var(--blue-bdr);border-radius:var(--r-lg);padding:10px 12px;display:flex;gap:9px;align-items:flex-start;box-shadow:var(--shadow)}\r\n    .step:nth-child(1){background:#F3F8FD}.step:nth-child(2){background:#F8FBF2}.step:nth-child(3){background:#FFF8EE;border-color:#F8D79E}\r\n    .step-n{width:24px;height:24px;border-radius:7px;background:#fff;color:var(--blue);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;box-shadow:inset 0 0 0 1px rgba(18,58,143,.18);flex-shrink:0}\r\n    .step-title{font-size:12px;font-weight:800;color:var(--blue);line-height:1.2}.step-text{font-size:11px;color:var(--muted);margin-top:2px;line-height:1.35}\r\n    .layout{max-width:1200px;margin:0 auto;padding:12px 20px 18px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,1fr);gap:14px;align-items:start}\r\n    .stack{display:flex;flex-direction:column;gap:10px}.card{background:var(--white);border:.5px solid var(--bdr);border-radius:var(--r-lg);padding:14px 16px;box-shadow:var(--shadow)}\r\n    .sec-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.sec-n{width:24px;height:24px;border-radius:7px;background:var(--blue);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;flex-shrink:0}\r\n    .sec-title{font-size:14px;font-weight:800;color:var(--blue);letter-spacing:-.01em}.sec-badge{margin-left:auto;font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px;background:var(--blue-lt);color:var(--blue-dk);border:.5px solid var(--blue-bdr)}\r\n    .field-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;display:block}\r\n    input[type=number],select{height:var(--field-h);border:.5px solid rgba(0,0,0,.15);border-radius:var(--r-md);background:#fff;font-size:13px;font-family:inherit;color:var(--text);padding:0 10px;width:100%;transition:border-color .15s,box-shadow .15s}\r\n    input:focus,select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(18,58,143,.1)}\r\n    select{appearance:none;background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'\/%3E%3C\/svg%3E\");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}\r\n    .helper{font-size:11px;color:var(--muted2);margin-top:3px;line-height:1.4}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}\r\n    .inline-note{background:var(--blue-lt);border:.5px solid var(--blue-bdr);border-radius:var(--r-md);padding:10px 12px;margin-top:10px}.inline-note .lbl{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}.inline-note .val{font-size:13px;font-weight:800;color:var(--blue);font-family:'DM Mono',monospace}\r\n    .reveal-btn{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--blue);background:none;border:none;cursor:pointer;font-family:inherit}.reveal-box{display:none;background:var(--blue-lt);border-radius:var(--r-md);padding:9px 11px;font-size:11px;color:var(--blue-dk);line-height:1.6;margin-top:8px}.reveal-box.open{display:block}\r\n    .kpi-card{background:#fff;border:.5px solid var(--bdr);border-radius:var(--r-lg);padding:13px 14px;box-shadow:var(--shadow);position:relative;overflow:visible}.kpi-card.blue{border-left:3px solid var(--blue2)}.kpi-card.green{border-left:3px solid var(--green)}.kpi-card.orange{border-left:3px solid var(--orange)}.kpi-card.red{border-left:3px solid var(--red)}\r\n    .kpi-label{font-size:12px;font-weight:800;color:var(--text);margin-bottom:5px}.kpi-value{font-size:28px;font-weight:800;letter-spacing:-.04em;font-family:'DM Mono',monospace;margin-bottom:3px}.kpi-value.blue{color:var(--blue2)}.kpi-value.green{color:var(--green)}.kpi-value.orange{color:var(--orange-dk)}.kpi-value.red{color:var(--red)}.kpi-meta{font-size:10px;color:var(--muted2);font-family:'DM Mono',monospace;line-height:1.4}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}\r\n    .big-result{background:linear-gradient(180deg,#fff 0%,#f3f8ff 100%);color:var(--text);border:.5px solid var(--blue-bdr);border-left:4px solid var(--blue);border-radius:var(--r-xl);padding:12px 13px;box-shadow:var(--shadow)}\r\n    .result-top{display:grid;grid-template-columns:minmax(172px,1fr) 162px;gap:10px;align-items:start}\r\n    .big-result .eyebrow{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--blue-dk);margin-bottom:2px;white-space:nowrap}.result-number-line{display:flex;align-items:baseline;gap:6px}.big-result .value{font-size:45px;font-weight:800;font-family:'DM Mono',monospace;letter-spacing:-.07em;line-height:.95;color:var(--blue)}.unit-label{font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.06em}.big-result .sub{font-size:10.5px;color:var(--muted);margin-top:5px;line-height:1.3}.strategy-note{grid-column:1\/-1;margin-top:4px;padding:5px 8px;background:var(--orange-lt);border:.5px solid #FAC775;border-radius:7px;font-size:10.5px;font-weight:700;color:var(--orange-dk);line-height:1.25;white-space:nowrap;text-align:center}\r\n    .table-card{background:#fff;border:.5px solid var(--bdr);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}table{width:100%;border-collapse:collapse;font-size:12px}th{background:var(--blue-lt);color:var(--blue);font-size:10px;text-transform:uppercase;letter-spacing:.06em;text-align:left;padding:8px 10px}td{padding:8px 10px;border-top:.5px solid var(--bdr)}tr:nth-child(even) td{background:#f7f8fb}td:last-child,th:last-child{text-align:right;font-weight:800;font-family:'DM Mono',monospace;color:var(--blue)}\r\n    .cycle-visual{background:var(--white);border:.5px solid var(--bdr);border-radius:var(--r-lg);padding:12px 14px;box-shadow:var(--shadow)}.bar-row{display:grid;grid-template-columns:90px 1fr 46px;gap:8px;align-items:center;margin:7px 0}.bar-label{font-size:11px;color:var(--muted);font-weight:700}.bar-bg{height:12px;background:#edf0f5;border-radius:99px;overflow:hidden}.bar{height:100%;background:var(--blue2);border-radius:99px;min-width:2px}.bar.green{background:var(--green)}.bar.orange{background:var(--orange)}.bar.red{background:var(--red)}.bar.ltl{background:#7aa7e8}.ltl-driver-row{display:none}.ltl-driver-row.show{display:grid}.driver-note{display:none;margin-top:8px;background:var(--blue-lt);border:.5px solid var(--blue-bdr);border-radius:8px;padding:7px 9px;font-size:10.5px;color:var(--blue-dk);line-height:1.4}.driver-note.show{display:block}.bar-val{font-size:11px;font-family:'DM Mono',monospace;text-align:right;color:var(--muted)}\r\n    .formula{background:var(--blue-lt);border:.5px solid var(--blue-bdr);border-radius:var(--r-lg);padding:12px 14px;font-size:11px;color:var(--blue-dk);line-height:1.7}.formula strong{color:var(--blue);font-size:12px}.formula code{font-family:'DM Mono',monospace;background:#fff;padding:1px 4px;border-radius:4px}.warning{display:none;background:var(--orange-lt);border:.5px solid #FAC775;border-radius:var(--r-md);padding:9px 11px;font-size:11px;color:var(--orange-dk);line-height:1.45}.warning.show{display:block}.footer-note{max-width:1200px;margin:0 auto;padding:0 20px 18px;color:var(--muted2);font-size:11px;line-height:1.45}\r\n\r\n    .product-guide-link{margin-left:auto;font-size:10.5px;font-weight:800;padding:4px 8px;border-radius:20px;background:var(--blue-lt);color:var(--blue);border:.5px solid var(--blue-bdr);text-decoration:none;white-space:nowrap}\r\n    .product-guide-link:empty{display:none}\r\n    .tiny-product-link{display:inline-block;margin-top:4px;margin-left:10px;font-size:10.5px;color:var(--blue);text-decoration:underline;font-weight:700;text-underline-offset:2px}\r\n    .buffer-options{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}\r\n    .buffer-option{position:relative}\r\n    .buffer-option input{position:absolute;opacity:0;pointer-events:none}\r\n    .buffer-option span{height:36px;border:.5px solid rgba(0,0,0,.15);border-radius:var(--r-md);background:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--muted);cursor:pointer}\r\n    .buffer-option input:checked+span{background:var(--blue-lt);border-color:var(--blue);color:var(--blue)}\r\n    .pool-sum{margin-top:0;background:#fff;border:.5px solid var(--blue-bdr);border-radius:10px;overflow:hidden;width:162px;justify-self:end}\r\n    .pool-sum table{font-size:9.5px;color:var(--text);table-layout:fixed;width:100%}\r\n    .pool-sum th{background:#eef6ff;color:var(--blue);padding:4px 5px;text-align:left;white-space:nowrap}\r\n    .pool-sum th:first-child,.pool-sum td:first-child{width:72%;padding-right:1px}.pool-sum th:last-child,.pool-sum td:last-child{width:28%;text-align:right;padding-left:1px}\r\n    .pool-sum td{padding:3.5px 5px;border-top:.5px solid rgba(18,58,143,.12);color:var(--text);white-space:nowrap}\r\n    .pool-sum tr:nth-child(even) td{background:#f8fbff}\r\n    .pool-sum td:last-child{font-family:'DM Mono',monospace;font-weight:800;color:var(--blue)}\r\n    .ltl-box{background:#f3f8ff;border:.5px solid var(--blue-bdr);border-left:3px solid var(--blue2);border-radius:var(--r-lg);padding:12px 14px;color:var(--text);box-shadow:var(--shadow)}\r\n    .ltl-head{display:flex;align-items:center;justify-content:space-between;gap:8px}\r\n    .ltl-box h4{font-size:13px;font-weight:800;margin:0;color:var(--blue);line-height:1.25}.ltl-box p{font-size:11px;color:var(--muted);line-height:1.45;margin-top:7px}.i-dot{width:19px;height:19px;border-radius:50%;background:var(--blue);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;font-style:italic;cursor:pointer;flex-shrink:0}.ltl-toggle-btn{width:100%;margin-top:10px;display:flex;align-items:center;justify-content:center;background:var(--blue);border:.5px solid var(--blue);border-radius:var(--r-md);padding:8px;color:#fff;font-size:12px;font-weight:800;cursor:pointer;font-family:inherit}.ltl-toggle-btn:hover{background:var(--blue2)}.ltl-config{display:none;margin-top:10px}.ltl-config.show{display:block}.ltl-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ltl-config label{font-size:9.5px;font-weight:800;color:var(--muted);display:block;margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.ltl-config input,.ltl-config select{height:var(--field-h);border:.5px solid rgba(18,58,143,.25);border-radius:var(--r-md);background:#fff;color:var(--blue-dk);font-family:'DM Mono',monospace;font-weight:700;text-align:center;width:100%;padding:0 7px;font-size:11px}.ltl-config select option{background:#fff;color:var(--text)}.ltl-static-field{height:var(--field-h);border:.5px solid rgba(18,58,143,.25);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;font-weight:800;background:#fff;color:var(--blue-dk);font-size:11px;text-align:center;padding:0 5px}.helper-white{font-size:10px;color:var(--muted2)!important;margin-top:4px;line-height:1.35}.ltl-results tr.selected td{background:var(--orange-lt)!important;font-weight:800}.ltl-results .muted-cell{color:var(--muted)!important;font-weight:600!important}.ltl-results{margin-top:9px;background:#fff;border:.5px solid var(--blue-bdr);border-radius:8px;overflow:hidden}.ltl-results table{font-size:10px}.ltl-results th{background:#eaf3ff;color:var(--blue);padding:5px}.ltl-results td{border-top:.5px solid rgba(18,58,143,.12);padding:5px;color:var(--text)}.ltl-results td:last-child{color:var(--blue)}.ltl-small-link{display:inline-block;color:var(--blue);text-decoration:underline;text-underline-offset:2px;font-weight:800;margin-top:7px;font-size:10.5px}\r\n\r\n    .right-step-head{background:#FFF8EE;border:.5px solid #F8D79E;border-radius:var(--r-lg);padding:10px 12px;display:flex;gap:9px;align-items:flex-start;box-shadow:var(--shadow)}\r\n    .right-step-head .step-n{background:#fff;color:var(--orange-dk);box-shadow:inset 0 0 0 1px rgba(239,159,39,.35)}\r\n    .right-step-head .step-title{color:var(--orange-dk)}\r\n    .faq-card{background:#fff;border:.5px solid var(--bdr);border-radius:var(--r-lg);padding:13px 15px;box-shadow:var(--shadow)}\r\n    .faq-card h3{font-size:14px;font-weight:800;color:var(--blue);margin-bottom:8px;letter-spacing:-.01em}\r\n    .faq-item{border-top:.5px solid var(--bdr);padding:8px 0}\r\n    .faq-item:first-of-type{border-top:none;padding-top:0}\r\n    .faq-q{font-size:12px;font-weight:800;color:var(--text);margin-bottom:3px;display:grid;grid-template-columns:18px 1fr;gap:5px}\r\n    .faq-a{font-size:11px;color:var(--muted);line-height:1.45;display:grid;grid-template-columns:18px 1fr;gap:5px}\r\n    .qa-label{font-family:'DM Mono',monospace;font-weight:800;color:var(--blue);font-size:10px;line-height:1.35}\r\n    .faq-card a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}\r\n    .product-cta-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}\r\n    .product-cta{display:block;background:var(--red);color:#fff!important;border:1.5px solid #fff;border-radius:var(--r-md);padding:8px 9px;text-align:center;text-decoration:none;font-size:11px;font-weight:800;box-shadow:0 1px 2px rgba(0,0,0,.12)}\r\n    .product-cta:hover{background:#a93226}\r\n\r\n    .result-sec-head{margin:0 0 10px 0;padding-bottom:8px;border-bottom:.5px solid rgba(18,58,143,.12)}\r\n    .result-sec-head .sec-n{background:var(--blue);color:#fff;box-shadow:none}\r\n    .result-sec-head .sec-title{font-size:14px;font-weight:800;color:var(--blue);letter-spacing:-.01em}\r\n    .pool-sum .active-tip{font-size:8.8px;color:var(--muted);line-height:1.25;padding:4px 5px;background:#f8fbff;border-top:.5px solid rgba(18,58,143,.10)}\r\n    .knowledge-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}\r\n    .formula-card-left{background:#fff;border:.5px solid var(--blue-bdr);border-radius:var(--r-lg);padding:12px 13px;box-shadow:var(--shadow)}\r\n    .formula-card-left h3,.faq-card h3{font-size:13px;font-weight:800;color:var(--blue);margin-bottom:7px;letter-spacing:-.01em;line-height:1.2}\r\n    .formula-intro{font-size:10.5px;color:var(--muted);line-height:1.4;margin-bottom:8px}\r\n    .formula-list{display:flex;flex-direction:column;gap:5px;margin-bottom:8px}\r\n    .formula-line{background:#f8fbff;border:.5px solid rgba(18,58,143,.14);border-radius:7px;padding:6px 7px}\r\n    .formula-line code{display:block;font-family:'DM Mono',monospace;font-size:10px;font-weight:700;color:var(--blue-dk);line-height:1.35;white-space:normal}\r\n    .formula-line .why{font-size:9.5px;color:var(--muted);line-height:1.25;margin-top:2px}\r\n    .formula-visual{display:grid;grid-template-columns:1fr 20px 1fr 20px 1fr;gap:5px;align-items:center;margin-bottom:8px}\r\n    .formula-box{background:var(--blue-lt);border:.5px solid var(--blue-bdr);border-radius:7px;padding:6px 6px;min-height:48px}\r\n    .formula-box .f-label{font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:3px}\r\n    .formula-box .f-value{font-size:10px;font-family:'DM Mono',monospace;font-weight:800;color:var(--blue);line-height:1.25}\r\n    .formula-plus{text-align:center;font-size:15px;font-weight:800;color:var(--blue)}\r\n    .ftl-ltl-note{background:var(--orange-lt);border:.5px solid #FAC775;border-radius:7px;padding:7px 8px;margin:7px 0 8px;font-size:10px;color:var(--orange-dk);line-height:1.35}\r\n    .formula-detail-toggle{width:100%;margin-top:3px;background:#f8fbff;border:.5px solid var(--blue-bdr);border-radius:7px;color:var(--blue);font-size:10.5px;font-weight:800;padding:6px 8px;cursor:pointer;font-family:inherit;text-align:left;display:flex;justify-content:space-between;align-items:center}\r\n    .formula-detail{display:none;margin-top:7px;background:#f8fbff;border:.5px solid rgba(18,58,143,.12);border-radius:7px;padding:8px 9px;font-size:10px;color:var(--blue-dk);line-height:1.45}\r\n    .formula-detail.open{display:block}\r\n    .def-row{display:grid;grid-template-columns:92px 1fr;gap:6px;border-top:.5px solid rgba(18,58,143,.10);padding-top:5px;margin-top:5px}.def-row:first-child{border-top:none;padding-top:0;margin-top:0}.def-term{font-weight:800;color:var(--blue);font-size:9.5px}.def-desc{font-size:9.8px;color:var(--muted);line-height:1.35}\r\n    .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}\r\n    .knowledge-grid .faq-card{padding:12px 13px}\r\n    .knowledge-grid .faq-grid{grid-template-columns:1fr;gap:0}\r\n    .knowledge-grid .faq-item{padding:6px 0}\r\n    .knowledge-grid .faq-q{font-size:10.4px;line-height:1.25}.knowledge-grid .faq-a{font-size:10px;line-height:1.35}\r\n    .faq-card h3 .faq-sub{display:block;font-size:10px;font-weight:600;color:var(--muted);margin-top:2px;letter-spacing:0}\r\n    @media(max-width:1100px){.knowledge-grid{grid-template-columns:1fr}}\r\n\r\n    .report-card{background:#fff;border:.5px solid var(--blue-bdr);border-radius:var(--r-lg);padding:12px 14px;box-shadow:var(--shadow)}\r\n    .report-title{font-size:13px;font-weight:800;color:var(--blue);margin-bottom:4px}\r\n    .report-sub{font-size:10.5px;color:var(--muted);line-height:1.35;margin-bottom:9px}\r\n    .report-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}\r\n    .report-btn{border:none;border-radius:var(--r-md);padding:9px 10px;font-size:12px;font-weight:800;font-family:inherit;cursor:pointer;text-align:center;text-decoration:none}\r\n    .report-btn.primary{background:var(--blue);color:#fff}.report-btn.secondary{background:var(--blue-lt);color:var(--blue);border:.5px solid var(--blue-bdr)}\r\n\r\n    @media(max-width:920px){.layout{grid-template-columns:1fr}.scope-pill{display:none}.grid-3{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr}}\r\n\r\n    .ltl-results tr.tier-0 td:first-child,.ltl-col-0{color:#0C447C!important;font-weight:900!important}.ltl-results tr.tier-1 td:first-child,.ltl-col-1{color:#3B6D11!important;font-weight:900!important}.ltl-results tr.tier-2 td:first-child,.ltl-col-2{color:#854F0B!important;font-weight:900!important}\r\n    .ltl-mini{display:none;margin-top:7px;border-top:.5px solid rgba(0,0,0,.08);padding-top:6px}.ltl-mini.show{display:block}.ltl-mini-title{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--muted2);margin-bottom:4px}.ltl-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.ltl-mini-cell{background:#f7f8fb;border:.5px solid rgba(0,0,0,.08);border-radius:6px;padding:4px 3px;text-align:center}.ltl-mini-cell .k{font-size:8.5px;font-weight:900;line-height:1.1}.ltl-mini-cell .v{font-size:10.5px;font-family:'DM Mono',monospace;font-weight:900;line-height:1.2;margin-top:1px}.ltl-mini-cell.c0{background:#edf5ff;border-color:#b5d4f4}.ltl-mini-cell.c1{background:#eef7e8;border-color:#c0dd97}.ltl-mini-cell.c2{background:#fff4e3;border-color:#fac775} .main-pool-mini{margin-top:8px;max-width:260px}.main-pool-mini .ltl-mini-title{font-size:8.8px}.main-pool-mini .ltl-mini-cell{padding:4px 3px}.main-pool-mini .ltl-mini-cell .v{font-size:11px}\r\n\r\n    \/* Compact KPI info icons: when LTL comparison is open, explanatory meta text becomes an inline icon beside the large value. *\/\r\n    .kpi-info-compact{display:none;position:absolute;right:12px;top:43px;margin:0;padding:0;align-items:center;justify-content:center;z-index:50;line-height:1}\r\n    .kpi-info-compact .info-label{display:none!important}\r\n    .kpi-info-compact .ii{width:18px;height:18px;border-radius:50%;background:var(--blue);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;font-style:italic;cursor:help;flex-shrink:0;box-shadow:0 1px 2px rgba(0,0,0,.16)}\r\n    .kpi-info-compact::after{content:attr(data-tip);position:absolute;right:-4px;top:24px;width:250px;max-width:70vw;background:#0C447C;color:#fff;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:600;line-height:1.35;text-align:left;box-shadow:0 8px 18px rgba(0,0,0,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-2px);transition:none;z-index:1000}\r\n    .kpi-info-compact::before{content:'';position:absolute;right:5px;top:19px;border:6px solid transparent;border-bottom-color:#0C447C;opacity:0;visibility:hidden;transition:none;z-index:1001}\r\n    .kpi-info-compact:hover::after,.kpi-info-compact:hover::before,.kpi-info-compact:focus-within::after,.kpi-info-compact:focus-within::before{opacity:1;visibility:visible;transform:translateY(0)}\r\n    .kpi-card.ltl-compact .kpi-meta.compactable{display:none}\r\n    .kpi-card.ltl-compact .kpi-info-compact{display:flex}\r\n    .result-grid{overflow:visible}\r\n    .result-grid .kpi-card:hover,.result-grid .kpi-card:focus-within{z-index:300}\r\n    .stack,.layout{overflow:visible}\r\n    .kpi-info-compact{overflow:visible}\r\n\r\n    .ftl-badge{display:none;margin-left:6px;padding:1px 6px;border-radius:99px;background:var(--blue-lt);border:.5px solid var(--blue-bdr);color:var(--blue-dk);font-size:8.5px;font-weight:900;letter-spacing:.06em;vertical-align:middle}\r\n    .kpi-card.ltl-compact .ftl-badge{display:inline-flex;align-items:center}\r\n    .i-dot{position:relative}\r\n    .i-dot[data-tip]::after{content:attr(data-tip);position:absolute;right:-4px;top:25px;width:150px;background:#0C447C;color:#fff;border-radius:7px;padding:7px 9px;font-size:10.5px;font-style:normal;font-weight:700;line-height:1.25;text-align:center;box-shadow:0 8px 18px rgba(0,0,0,.18);opacity:0;visibility:hidden;pointer-events:none;z-index:1000}\r\n    .i-dot[data-tip]::before{content:'';position:absolute;right:4px;top:19px;border:6px solid transparent;border-bottom-color:#0C447C;opacity:0;visibility:hidden;z-index:1001}\r\n    .i-dot[data-tip]:hover::after,.i-dot[data-tip]:hover::before{opacity:1;visibility:visible}\r\n\r\n    @media(max-width:640px){.grid-2,.grid-3,.result-grid,.result-top,.ltl-grid{grid-template-columns:1fr}.pool-sum{width:100%;justify-self:stretch}.page-header h1{font-size:20px}.big-result .value{font-size:38px}.page-header{display:block}.bar-row{grid-template-columns:75px 1fr 42px}}\r\n\r\n    \/* Clean PDF \/ print report: only show compact result summary, not the full web page. *\/\r\n    #printReport{display:none}\r\n    @media print{\r\n      body{background:#fff!important;color:#111!important;font-size:11px!important}\r\n      body > *:not(#printReport){display:none!important}\r\n      #printReport{display:block!important;padding:18mm 14mm!important;font-family:'DM Sans',Arial,sans-serif;color:#111}\r\n      #printReport h1{font-size:20px;color:#123a8f;margin:0 0 4px 0;letter-spacing:-.02em}\r\n      #printReport h2{font-size:13px;color:#123a8f;margin:16px 0 7px;border-bottom:1px solid #B5D4F4;padding-bottom:4px}\r\n      #printReport .pdf-muted{color:#5a6070;font-size:10px;line-height:1.35}\r\n      #printReport .pdf-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}\r\n      #printReport .pdf-card{border:1px solid #d8e6f8;border-radius:8px;padding:8px;background:#f8fbff;break-inside:avoid}\r\n      #printReport .pdf-label{font-size:8.5px;text-transform:uppercase;letter-spacing:.06em;color:#5a6070;font-weight:800;margin-bottom:3px}\r\n      #printReport .pdf-value{font-family:'DM Mono',monospace;font-size:15px;font-weight:800;color:#123a8f;line-height:1.15}\r\n      #printReport table{width:100%;border-collapse:collapse;font-size:10px;margin-top:5px;break-inside:avoid}\r\n      #printReport th{background:#E6F1FB;color:#123a8f;text-align:left;padding:5px 6px;font-size:8.5px;text-transform:uppercase;letter-spacing:.05em}\r\n      #printReport td{border-top:1px solid #e5eaf2;padding:5px 6px}\r\n      #printReport td:last-child,#printReport th:last-child{text-align:right;font-family:'DM Mono',monospace;font-weight:800;color:#123a8f}\r\n      #printReport .pdf-note{margin-top:10px;font-size:9.5px;color:#5a6070;line-height:1.35;border-top:1px solid #e5eaf2;padding-top:8px}\r\n      #printReport .pdf-footer{margin-top:12px;font-size:9px;color:#8a93a0}\r\n      @page{size:A4;margin:10mm}\r\n    }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n  <div class=\"page-header\">\r\n    <div>\r\n      <h2><span class=\"ez-toc-section\" id=\"Returnable_Packaging_Pool_Size_Calculator-3\"><\/span>Returnable Packaging Pool Size Calculator<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n      <p>Estimate how many sleeve packs, mesh pallet cages or returnable pallet boxes are required to maintain a closed logistics loop.<\/p>\r\n    <\/div>\r\n    <div class=\"scope-pill\">FTL-based \u00b7 one packaging type \u00b7 closed loop<\/div>\r\n  <\/div>\r\n\r\n  <div class=\"steps\">\r\n    <div class=\"step\"><div class=\"step-n\">1<\/div><div><div class=\"step-title\">Select packaging<\/div><div class=\"step-text\">Choose sleeve packs, mesh cages or foldable pallet boxes.<\/div><\/div><\/div>\r\n    <div class=\"step\"><div class=\"step-n\">2<\/div><div><div class=\"step-title\">Enter the loop basics<\/div><div class=\"step-text\">Add trucks per month, distance and customer dwell time.<\/div><\/div><\/div>\r\n    <div class=\"step\"><div class=\"step-n\">3<\/div><div><div class=\"step-title\">Compare pool & investment<\/div><div class=\"step-text\">See the required quantity, investment and impact of return strategy.<\/div><\/div><\/div>\r\n  <\/div>\r\n\r\n  <div class=\"layout\">\r\n    \r\n    <div class=\"stack\">\r\n      <div class=\"card\">\r\n        <div class=\"sec-head\"><div class=\"sec-n\">1<\/div><span class=\"sec-title\">Packaging system<\/span><a id=\"guideBadge\" class=\"product-guide-link\" href=\"https:\/\/zamko.eu\/sleeve-pack-systems\/\" target=\"_blank\" rel=\"noopener\">Sleeve Packs: Procurement Guide<\/a><\/div>\r\n        <div class=\"grid-2\">\r\n          <div><label class=\"field-label\" for=\"productType\">Product type<\/label><select id=\"productType\"><option value=\"sleeve\">Sleeve pack<\/option><option value=\"plastic\">Plastic foldable pallet box<\/option><option value=\"meshEU\">Mesh pallet cage \u00b7 EU style<\/option><option value=\"meshUS\">Mesh pallet cage \u00b7 US (Budget) style<\/option><\/select><a id=\"productSmallLink\" class=\"tiny-product-link\" href=\"https:\/\/zamko.eu\/product-category\/plastic\/sleeve-pack\/\" target=\"_blank\" rel=\"noopener\">View sleeve pack overview<\/a><\/div>\r\n          <div><label class=\"field-label\" for=\"footprint\">Footprint<\/label><select id=\"footprint\"><option value=\"1208\">1208 \u00b7 1200\u00d7800 mm<\/option><option value=\"1210\">1210 \u00b7 1200\u00d71000 mm<\/option><\/select><p class=\"helper\">Used for loaded truck capacity and empty return capacity.<\/p><\/div>\r\n          <div><label class=\"field-label\" for=\"unitPrice\">Indicative unit price (\u20ac)<\/label><input id=\"unitPrice\" type=\"number\" min=\"1\" step=\"1\" value=\"90\"\/><p class=\"helper\">Editable. Use project quote pricing when available.<\/p><\/div>\r\n          <div><label class=\"field-label\" for=\"reservePct\">Defect \/ repair reserve (%)<\/label><input id=\"reservePct\" type=\"number\" min=\"0\" step=\"0.5\" value=\"5\"\/><p class=\"helper\">Default 5%. Adjust to your own repair and non-return data.<\/p><\/div>\r\n        <\/div>\r\n        <div class=\"inline-note\"><div class=\"lbl\">Truck capacity assumptions<\/div><div class=\"val\" id=\"capacityText\">64 loaded \/ outbound FTL \u00b7 400 empty \/ return FTL<\/div><\/div>\r\n      <\/div>\r\n\r\n      <div class=\"card\">\r\n        <div class=\"sec-head\"><div class=\"sec-n\">2<\/div><span class=\"sec-title\">Return loop basics<\/span><button class=\"reveal-btn\" onclick=\"toggleReveal('loopHelp')\">\ud83e\uddee explain<\/button><\/div>\r\n        <div class=\"grid-3\">\r\n          <div><label class=\"field-label\" for=\"trucksMonth\">Outbound full trucks \/ month<\/label><input id=\"trucksMonth\" type=\"number\" min=\"1\" step=\"1\" value=\"8\"\/><p class=\"helper\">Only full outbound truckloads. Use the nearest realistic average.<\/p><\/div>\r\n          <div><label class=\"field-label\" for=\"outboundCap\">Units \/ outbound FTL (pcs)<\/label><input id=\"outboundCap\" type=\"number\" min=\"1\" step=\"1\" value=\"64\"\/><p class=\"helper\">Auto-filled from footprint. Editable.<\/p><\/div>\r\n          <div><label class=\"field-label\" for=\"distance\">One-way distance (km)<\/label><input id=\"distance\" type=\"number\" min=\"100\" step=\"100\" value=\"800\"\/><p class=\"helper\">Used to estimate driving days. One day per max. 500km.<\/p><\/div>\r\n          <div><label class=\"field-label\" for=\"driveDays\">Driving time one-way (days)<\/label><input id=\"driveDays\" type=\"number\" min=\"1\" step=\"1\" value=\"2\"\/><p class=\"helper\">Auto-updated from distance, but editable.<\/p><\/div>\r\n          <div><label class=\"field-label\" for=\"dwellDays\">Customer dwell time (days)<\/label><input id=\"dwellDays\" type=\"number\" min=\"0\" step=\"1\" value=\"7\"\/><p class=\"helper\">Days packaging stays at the customer before ready for return.<\/p><\/div>\r\n          <div><label class=\"field-label\">Operational buffer (%)<\/label><div class=\"buffer-options\"><label class=\"buffer-option\"><input type=\"radio\" name=\"bufferPreset\" value=\"15\"><span>15%<\/span><\/label><label class=\"buffer-option\"><input type=\"radio\" name=\"bufferPreset\" value=\"25\" checked><span>25%<\/span><\/label><label class=\"buffer-option\"><input type=\"radio\" name=\"bufferPreset\" value=\"35\"><span>35%<\/span><\/label><label class=\"buffer-option\"><input type=\"radio\" name=\"bufferPreset\" value=\"custom\"><span>Custom<\/span><\/label><\/div><input id=\"bufferPct\" type=\"number\" min=\"0\" step=\"1\" value=\"25\" style=\"margin-top:6px;display:none\"\/><p class=\"helper\">Choose 15%, 25% or 35%. Use Custom to enter your own buffer.<\/p><\/div>\r\n        <\/div>\r\n        <div class=\"inline-note\"><div class=\"lbl\">Packaging demand<\/div><div class=\"val\" id=\"demandText\">512 units\/month \u00b7 6,144 cycles\/year<\/div><\/div>\r\n        <div id=\"loopHelp\" class=\"reveal-box\">Pool size is driven by how many units leave per day and how long they are unavailable before reuse. Longer dwell time, slower returns or waiting for a full return truck all increase the required packaging pool and investment.<\/div>\r\n\r\n        <input id=\"returnCap\" type=\"hidden\" value=\"400\"\/>\r\n      <\/div>\r\n\r\n    <div class=\"knowledge-grid\">\r\n      <div class=\"formula-card-left\">\r\n        <h3><span class=\"ez-toc-section\" id=\"Key_formulas_behind_the_calculation\"><\/span>Key formulas behind the calculation<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n        <p class=\"formula-intro\">The practical logic is: shipment flow creates daily use; return cycle time keeps units unavailable; buffer and reserve convert the operational minimum into a safer buying quantity.<\/p>\r\n        <div class=\"formula-list\">\r\n          <div class=\"formula-line\"><code>Daily packaging use = annual movements \u00f7 365<\/code><div class=\"why\">Converts monthly truck flow into average daily demand.<\/div><\/div>\r\n          <div class=\"formula-line\"><code>Active circulation = daily use \u00d7 return cycle time<\/code><div class=\"why\">Shows the minimum quantity physically tied up in the loop.<\/div><\/div>\r\n          <div class=\"formula-line\"><code>Pool size = active circulation + buffer + reserve<\/code><div class=\"why\">Adds practical safety stock for delays, peaks and defects.<\/div><\/div>\r\n          <div class=\"formula-line\"><code>Investment = pool size \u00d7 unit price<\/code><div class=\"why\">Turns the required quantity into approximate CAPEX.<\/div><\/div>\r\n          <div class=\"formula-line\"><code>FTL wait = return truck capacity \u00f7 monthly flow \u00d7 30<\/code><div class=\"why\">Shows how long empties wait before a full return truck can leave.<\/div><\/div>\r\n        <\/div>\r\n        <div class=\"formula-visual\">\r\n          <div class=\"formula-box\"><div class=\"f-label\">Daily use<\/div><div class=\"f-value\" id=\"leftDailyUse\">-<\/div><\/div>\r\n          <div class=\"formula-plus\">\u00d7<\/div>\r\n          <div class=\"formula-box\"><div class=\"f-label\">Cycle time<\/div><div class=\"f-value\" id=\"leftCycleTime\">-<\/div><\/div>\r\n          <div class=\"formula-plus\">+<\/div>\r\n          <div class=\"formula-box\"><div class=\"f-label\">Buffer \/ reserve<\/div><div class=\"f-value\" id=\"leftBufferReserve\">-<\/div><\/div>\r\n        <\/div>\r\n        <div class=\"ftl-ltl-note\"><strong>Why FTL vs LTL matters:<\/strong><br><code style=\"font-family:'DM Mono',monospace\">Return wait = return load quantity \u00f7 monthly flow \u00d7 30<\/code><br>FTL wait is part of return cycle time. Waiting for a full return truck lowers freight cost per unit, but increases the pool and investment. Smaller LTL returns reduce pool size, usually with higher transport cost.<\/div>\r\n        <button class=\"formula-detail-toggle\" type=\"button\" onclick=\"toggleFormulaDetail()\"><span>Definitions used in this calculator<\/span><span id=\"formulaDetailArrow\">\u25be<\/span><\/button>\r\n        <div class=\"formula-detail\" id=\"formulaDetail\">\r\n          <div class=\"def-row\"><div class=\"def-term\">Daily use<\/div><div class=\"def-desc\">Average number of packaging units leaving your site per day.<\/div><\/div>\r\n          <div class=\"def-row\"><div class=\"def-term\">Cycle time<\/div><div class=\"def-desc\">Days one unit is unavailable: outbound transport, dwell, return wait and return transport.<\/div><\/div>\r\n          <div class=\"def-row\"><div class=\"def-term\">FTL wait<\/div><div class=\"def-desc\">Waiting time until enough empty units are available to send back a full return truck.<\/div><\/div>\r\n          <div class=\"def-row\"><div class=\"def-term\">Active circulation<\/div><div class=\"def-desc\">Operational minimum: units physically in the loop before safety stock.<\/div><\/div>\r\n          <div class=\"def-row\"><div class=\"def-term\">Buffer<\/div><div class=\"def-desc\">Extra stock for seasonal peaks, return delays and imperfect process discipline.<\/div><\/div>\r\n          <div class=\"def-row\"><div class=\"def-term\">Reserve<\/div><div class=\"def-desc\">Units unavailable due to defects, repair, loss or temporary non-return.<\/div><\/div>\r\n          <div class=\"def-row\"><div class=\"def-term\">FTL return<\/div><div class=\"def-desc\">Waiting until a full truck of empty\/folded packaging is ready to return.<\/div><\/div>\r\n          <div class=\"def-row\"><div class=\"def-term\">LTL return<\/div><div class=\"def-desc\">Returning a smaller batch earlier. This lowers pool size but can increase return freight cost.<\/div><\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"faq-card\">\r\n        <h3>FAQ: returnable packaging pool size <span class=\"faq-sub\">Short answers for procurement and logistics teams.<\/span><\/h3>\r\n        <div class=\"faq-grid\">\r\n          <div class=\"faq-item\"><div class=\"faq-q\"><span class=\"qa-label\">Q<\/span><span>What is a returnable packaging pool?<\/span><\/div><div class=\"faq-a\"><span class=\"qa-label\">A<\/span><span>The total number of reusable packaging units needed to keep a closed logistics loop running without shortages.<\/span><\/div><\/div>\r\n          <div class=\"faq-item\"><div class=\"faq-q\"><span class=\"qa-label\">Q<\/span><span>How is pool size calculated?<\/span><\/div><div class=\"faq-a\"><span class=\"qa-label\">A<\/span><span>By multiplying daily packaging use by cycle time, then adding buffer and reserve stock.<\/span><\/div><\/div>\r\n          <div class=\"faq-item\"><div class=\"faq-q\"><span class=\"qa-label\">Q<\/span><span>Why does FTL return increase pool size?<\/span><\/div><div class=\"faq-a\"><span class=\"qa-label\">A<\/span><span>Because empty packaging waits until a full return truck is collected. That waiting time keeps units unavailable.<\/span><\/div><\/div>\r\n          <div class=\"faq-item\"><div class=\"faq-q\"><span class=\"qa-label\">Q<\/span><span>When should LTL returns be considered?<\/span><\/div><div class=\"faq-a\"><span class=\"qa-label\">A<\/span><span>When lower upfront investment is more important than the lowest return freight cost per unit.<\/span><\/div><\/div>\r\n          <div class=\"faq-item\"><div class=\"faq-q\"><span class=\"qa-label\">Q<\/span><span>What buffer should I choose?<\/span><\/div><div class=\"faq-a\"><span class=\"qa-label\">A<\/span><span>15% for stable loops, 25% as default, 35% for seasonal or production-critical flows.<\/span><\/div><\/div>\r\n          <div class=\"faq-item\"><div class=\"faq-q\"><span class=\"qa-label\">Q<\/span><span>What is customer dwell time?<\/span><\/div><div class=\"faq-a\"><span class=\"qa-label\">A<\/span><span>The time packaging stays unavailable at the customer before it can be collected or returned.<\/span><\/div><\/div>\r\n          <div class=\"faq-item\"><div class=\"faq-q\"><span class=\"qa-label\">Q<\/span><span>Why show active circulation?<\/span><\/div><div class=\"faq-a\"><span class=\"qa-label\">A<\/span><span>It separates the operational minimum from safety stock, making investment drivers clearer.<\/span><\/div><\/div>\r\n          <div class=\"faq-item\"><div class=\"faq-q\"><span class=\"qa-label\">Q<\/span><span>Does a smaller pool always save money?<\/span><\/div><div class=\"faq-a\"><span class=\"qa-label\">A<\/span><span>No. LTL can reduce investment, but more partial returns usually increase return transport cost.<\/span><\/div><\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <\/div>\r\n\r\n    \r\n    <div class=\"stack\">\r\n      <div class=\"big-result\"><div class=\"sec-head result-sec-head\"><div class=\"sec-n\">3<\/div><span class=\"sec-title\">Compare pool & investment<\/span><\/div><div class=\"result-top\"><div><div class=\"eyebrow\">Recommended Pool Size<\/div><div class=\"result-number-line\"><div class=\"value\" id=\"totalPool\">-<\/div><span class=\"unit-label\">UNITS<\/span><\/div><div class=\"sub\" id=\"totalPoolSub\">Total returnable packaging units required for this loop.<\/div><div class=\"ltl-mini main-pool-mini\" id=\"ltlMiniPool\"><div class=\"ltl-mini-title\">LTL pool size comparison<\/div><div class=\"ltl-mini-grid\" id=\"ltlMiniPoolGrid\"><\/div><\/div><\/div><div class=\"pool-sum\"><table><thead><tr><th>Pool component<\/th><th>Qty<\/th><\/tr><\/thead><tbody><tr><td>Active circulation<\/td><td id=\"miniActive\">-<\/td><\/tr><tr><td>Operational buffer<\/td><td id=\"miniBuffer\">-<\/td><\/tr><tr><td>Defect \/ repair<\/td><td id=\"miniReserve\">-<\/td><\/tr><tr><td><strong>Total pool<\/strong><\/td><td id=\"miniTotal\">-<\/td><\/tr><\/tbody><\/table><div class=\"active-tip\">Active circulation = units physically in the loop before buffer and reserve.<\/div><\/div><div class=\"strategy-note\" id=\"strategyNote\">Based on waiting for a full return truck before shipping back.<\/div><\/div><\/div>\r\n      <div class=\"ltl-box\"><div class=\"ltl-head\"><h4><span class=\"ez-toc-section\" id=\"Add_partial-load_LTL_comparison\"><\/span>Add partial-load (LTL) comparison<span class=\"ez-toc-section-end\"><\/span><\/h4><span class=\"i-dot\" onclick=\"toggleLtlInfo()\" title=\"Click for more info\" data-tip=\"Click for more info\">i<\/span><\/div><div id=\"ltlInfoText\" style=\"display:none\"><p>Compare full-truck return with earlier partial-load returns. Smaller return loads usually reduce the required pool and upfront investment, but increase the number of return trips and therefore annual return transport cost. Use the ROI calculator to compare the financial trade-off.<\/p><a class=\"ltl-small-link\" href=\"https:\/\/zamko.eu\/sleeve-pack-roi-calculator\/\" target=\"_blank\" rel=\"noopener\">Open ROI calculator \u2192<\/a><\/div><button class=\"ltl-toggle-btn\" id=\"ltlToggleBtn\" onclick=\"toggleLtl()\">+ Show LTL pool comparison<\/button><div class=\"ltl-config\" id=\"ltlPanel\"><div class=\"ltl-grid\"><div><label for=\"ltlTier\">Return load size<\/label><select id=\"ltlTier\"><\/select><p class=\"helper-white\" id=\"ltlTierHelper\" >Full pallet stacks only.<\/p><\/div><div><label>FTL baseline<\/label><div class=\"ltl-static-field\" id=\"ltlFtlBaseline\">-<\/div><p class=\"helper-white\" >Wait until full return truck.<\/p><\/div><\/div><div class=\"ltl-results\"><table><thead><tr><th>Return load<\/th><th>Qty\/load<\/th><th>Pool<\/th><th>Investment<\/th><\/tr><\/thead><tbody id=\"ltlScenarioRows\"><\/tbody><\/table><\/div><\/div><\/div>\r\n      <div class=\"result-grid\"><div class=\"kpi-card red\"><p class=\"kpi-label\">Estimated investment<\/p><p class=\"kpi-value red\" id=\"investment\">\u20ac -<\/p><p class=\"kpi-meta\">pool size \u00d7 unit price<\/p><\/div><div class=\"kpi-card blue\" id=\"cardCycle\"><p class=\"kpi-label\">Total cycle time <span class=\"ftl-badge\">FTL<\/span><\/p><p class=\"kpi-value blue\" id=\"cycleDays\">- d<\/p><p class=\"kpi-meta compactable\" id=\"cycleMeta\">days before packaging returns for reuse<\/p><div class=\"kpi-info-compact\" tabindex=\"0\" data-tip=\"Transport + customer dwell time + return accumulation + return transport.\"><span class=\"ii\">i<\/span><span class=\"info-label\">cycle logic<\/span><\/div><div class=\"ltl-mini\" id=\"ltlMiniCycle\"><div class=\"ltl-mini-title\">LTL comparison<\/div><div class=\"ltl-mini-grid\" id=\"ltlMiniCycleGrid\"><\/div><\/div><\/div><div class=\"kpi-card green\" id=\"cardActive\"><p class=\"kpi-label\">Active circulation <span class=\"ftl-badge\">FTL<\/span><\/p><p class=\"kpi-value green\" id=\"activePool\">-<\/p><p class=\"kpi-meta compactable\">daily use \u00d7 cycle time<\/p><div class=\"kpi-info-compact\" tabindex=\"0\" data-tip=\"Packaging physically active in the loop before buffer and defect \/ repair reserve are added.\"><span class=\"ii\">i<\/span><span class=\"info-label\">what this means<\/span><\/div><div class=\"ltl-mini\" id=\"ltlMiniActive\"><div class=\"ltl-mini-title\">LTL comparison<\/div><div class=\"ltl-mini-grid\" id=\"ltlMiniActiveGrid\"><\/div><\/div><\/div><div class=\"kpi-card orange\" id=\"cardWait\"><p class=\"kpi-label\">Return accumulation <span class=\"ftl-badge\">FTL<\/span><\/p><p class=\"kpi-value orange\" id=\"returnWait\">- d<\/p><p class=\"kpi-meta compactable\" id=\"returnWaitMeta\">extra wait before return dispatch<\/p><div class=\"kpi-info-compact\" tabindex=\"0\" data-tip=\"Waiting time until enough empty packaging has accumulated for the chosen return load.\"><span class=\"ii\">i<\/span><span class=\"info-label\">return wait<\/span><\/div><div class=\"ltl-mini\" id=\"ltlMiniWait\"><div class=\"ltl-mini-title\">LTL comparison<\/div><div class=\"ltl-mini-grid\" id=\"ltlMiniWaitGrid\"><\/div><\/div><\/div><\/div>\r\n      <div class=\"warning\" id=\"warningBox\"><\/div>\r\n      <div class=\"cycle-visual\"><div class=\"sec-head\" style=\"margin-bottom:8px\"><span class=\"sec-title\">What drives the pool size?<\/span><span class=\"sec-badge\" id=\"driverBadge\">cycle time<\/span><\/div><div class=\"bar-row\"><div class=\"bar-label\">Outbound<\/div><div class=\"bar-bg\"><div class=\"bar\" id=\"barOutbound\"><\/div><\/div><div class=\"bar-val\" id=\"vOutbound\">-<\/div><\/div><div class=\"bar-row\"><div class=\"bar-label\">Dwell<\/div><div class=\"bar-bg\"><div class=\"bar green\" id=\"barDwell\"><\/div><\/div><div class=\"bar-val\" id=\"vDwell\">-<\/div><\/div><div class=\"bar-row\"><div class=\"bar-label\">FTL wait<\/div><div class=\"bar-bg\"><div class=\"bar orange\" id=\"barWait\"><\/div><\/div><div class=\"bar-val\" id=\"vWait\">-<\/div><\/div><div class=\"bar-row ltl-driver-row\" id=\"ltlDriverRow\"><div class=\"bar-label\">LTL wait<\/div><div class=\"bar-bg\"><div class=\"bar ltl\" id=\"barWaitLtl\"><\/div><\/div><div class=\"bar-val\" id=\"vWaitLtl\">-<\/div><\/div><div class=\"bar-row\"><div class=\"bar-label\">Inbound<\/div><div class=\"bar-bg\"><div class=\"bar\" id=\"barInbound\"><\/div><\/div><div class=\"bar-val\" id=\"vInbound\">-<\/div><\/div><div class=\"driver-note\" id=\"ltlDriverNote\">LTL reduces the return waiting part of the cycle, which lowers the required pool size and investment. The trade-off is normally higher return transport cost.<\/div><\/div>\r\n      <div class=\"report-card no-print\">\r\n        <div class=\"report-title\">Export your estimate<\/div>\r\n        <div class=\"report-sub\">Download a clean PDF summary with the current inputs, FTL result and \u2014 when opened \u2014 the LTL comparison results. No email or form needed.<\/div>\r\n        <div class=\"report-actions\" style=\"grid-template-columns:1fr;\">\r\n          <button class=\"report-btn primary\" type=\"button\" onclick=\"downloadPdfReport()\">Download PDF report \u2192<\/button>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"card\" style=\"background:#0C447C;color:#fff\"><div style=\"font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#85B7EB;margin-bottom:6px\">Next step<\/div><div style=\"font-size:15px;font-weight:800;margin-bottom:4px\">Validate this pool size with ZAMKO<\/div><p style=\"font-size:11px;color:#b6cff1;line-height:1.5;margin-bottom:12px\">Share the result with shipment frequency, route and selected packaging type. We can check whether the assumed capacity, buffer and return strategy are realistic for your project.<\/p><a href=\"https:\/\/zamko.eu\/contact-us\/\" target=\"_blank\" rel=\"noopener\" style=\"display:block;background:#E6F1FB;color:#123a8f;text-align:center;text-decoration:none;border-radius:8px;padding:11px 14px;font-size:13px;font-weight:800\">Request a packaging pool check \u2192<\/a><div class=\"product-cta-row\"><a class=\"product-cta\" href=\"https:\/\/zamko.eu\/product-category\/plastic\/sleeve-pack\/\" target=\"_blank\" rel=\"noopener\">Sleeve Packs \u2192<\/a><a class=\"product-cta\" href=\"https:\/\/zamko.eu\/product-category\/steel\/mesh-wire-cage\/\" target=\"_blank\" rel=\"noopener\">Mesh Wire Cages \u2192<\/a><\/div><\/div>\r\n    <\/div>\r\n  <\/div>\r\n  <div class=\"footer-note\">Scope: this calculator assumes one packaging type, one footprint, full outbound trucks and a dedicated returnable packaging loop. Mixed dimensions, variable heights, partial loads and truck-space optimization should be modelled separately. Estimated investment only includes packaging pool purchase value; it excludes cleaning, repair operations, tracking, handling costs, residual value and financing.<\/div>\r\n  <div id=\"printReport\" aria-hidden=\"true\"><\/div>\r\n\r\n<\/body>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-05916d5 e-flex e-con-boxed e-con e-parent\" data-id=\"05916d5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-66749c6 elementor-widget elementor-widget-shortcode\" data-id=\"66749c6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t<script>\nconst productData={\n  sleeve:{label:'Sleeve Pack',prices:{1208:90,1210:100},returnCap:{1208:400,1210:360},guide:'https:\/\/zamko.eu\/sleeve-pack-systems\/',guideText:'Sleeve Packs: Procurement Guide', productText:'View sleeve pack overview',product:'https:\/\/zamko.eu\/product-category\/plastic\/sleeve-pack\/'},\n  plastic:{label:'Plastic Foldable Pallet Box',prices:{1208:180,1210:220},returnCap:{1208:256,1210:208},guide:'https:\/\/zamko.eu\/product-category\/plastic\/foldable\/',guideText:'', productText:'View plastic foldable pallet boxes',product:'https:\/\/zamko.eu\/product-category\/plastic\/foldable\/'},\n  meshEU:{label:'Mesh Pallet Cage \u00b7 EU style',prices:{1208:160,1210:180},returnCap:{1208:220,1210:162},guide:'https:\/\/zamko.eu\/mesh-wire-pallet-cages',guideText:'Mesh Wire Pallet Cages: Procurement Guide', productText:'View mesh wire pallet cages',product:'https:\/\/zamko.eu\/product-category\/steel\/mesh-wire-cage\/'},\n  meshUS:{label:'Mesh Pallet Cage \u00b7 US (Budget) style',prices:{1208:120,1210:140},returnCap:{1208:456,1210:423},guide:'https:\/\/zamko.eu\/mesh-wire-pallet-cages',guideText:'Mesh Wire Pallet Cages: Procurement Guide', productText:'View mesh wire pallet cages',product:'https:\/\/zamko.eu\/product-category\/steel\/mesh-wire-cage\/'}\n};\nconst outboundCap={1208:64,1210:52};\nconst ltlTierData={\n  sleeve:{\n    1208:[{stacks:8,units:100,label:'8 stacks (~25% load, 100 units)'},{stacks:11,units:138,label:'11 stacks (~34% load, 138 units)'},{stacks:16,units:200,label:'16 stacks (~50% load, 200 units)'}],\n    1210:[{stacks:8,units:99,label:'8 stacks (~28% load, 99 units)'},{stacks:11,units:136,label:'11 stacks (~38% load, 136 units)'},{stacks:16,units:197,label:'16 stacks (~55% load, 197 units)'}]\n  },\n  meshEU:{1208:null,1210:null},\n  meshUS:{1208:null,1210:null},\n  plastic:{1208:null,1210:null}\n};\nltlTierData.meshEU[1208]=ltlTierData.meshEU[1210]=[8,11,16].map(s=>({stacks:s,units:s*7,label:s+' stacks ('+(s*7)+' units)'}));\nltlTierData.meshUS[1208]=ltlTierData.meshUS[1210]=[8,11,16].map(s=>({stacks:s,units:s*12,label:s+' stacks ('+(s*12)+' units)'}));\nltlTierData.plastic[1208]=ltlTierData.plastic[1210]=[8,11,16].map(s=>({stacks:s,units:s*8,label:s+' stacks ('+(s*8)+' units)'}));\nlet manualPrice=false, manualReturn=false, manualOutbound=false, manualDrive=false;\nfunction el(id){return document.getElementById(id)}\nfunction fmt(n){return Math.round(n).toLocaleString('en-GB')}\nfunction euro(n){return '\u20ac '+Math.round(n).toLocaleString('en-GB')}\nfunction toggleReveal(id){el(id).classList.toggle('open')}\nfunction toggleLtlInfo(){const x=el('ltlInfoText');x.style.display=x.style.display==='none'||!x.style.display?'block':'none'}\n\nfunction escapeHtml(v){return String(v).replace(\/[&<>\"']\/g,function(c){return {'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'}[c]})}\nfunction buildPdfReport(){\n  const pText=el('productType').options[el('productType').selectedIndex].text;\n  const f=el('footprint').value;\n  const ltlOpen=el('ltlPanel')&&el('ltlPanel').classList.contains('show');\n  const r=compute('full');\n  const selectedProduct=escapeHtml(pText+' - '+f);\n  let ltlTable='';\n  if(ltlOpen){\n    const tiers=getLtlTiers();\n    let rows='';\n    tiers.forEach(t=>{\n      const wait=r.monthlyUnits>0?(t.units\/r.monthlyUnits)*30:0;\n      const x=compute('partial',wait);\n      rows+='<tr><td>'+escapeHtml(t.stacks+' stacks')+'<\/td><td>'+fmt(t.units)+'<\/td><td>'+fmt(x.wait)+' d<\/td><td>'+fmt(x.cycle)+' d<\/td><td>'+fmt(x.active)+'<\/td><td>'+fmt(x.total)+'<\/td><td>'+euro(x.investment)+'<\/td><\/tr>';\n    });\n    ltlTable='<h2>LTL comparison results<\/h2><table><thead><tr><th>Load<\/th><th>Qty\/load<\/th><th>Return wait<\/th><th>Cycle<\/th><th>Active<\/th><th>Pool<\/th><th>Investment<\/th><\/tr><\/thead><tbody>'+rows+'<\/tbody><\/table><div class=\"pdf-muted\" style=\"margin-top:5px\">LTL can reduce pool size and upfront investment. Return transport cost is not compared here; use the ROI calculator for the financial trade-off.<\/div>';\n  }\n  el('printReport').innerHTML=`\n    <h1>Returnable Packaging Pool Size Estimate<\/h1>\n    <div class=\"pdf-muted\">Generated from the ZAMKO pool size calculator. This print\/PDF summary intentionally excludes website FAQ, explanatory sections and export controls.<\/div>\n    <div class=\"pdf-grid\">\n      <div class=\"pdf-card\"><div class=\"pdf-label\">Packaging<\/div><div class=\"pdf-value\">${selectedProduct}<\/div><\/div>\n      <div class=\"pdf-card\"><div class=\"pdf-label\">Outbound flow<\/div><div class=\"pdf-value\">${escapeHtml(el('demandText').textContent)}<\/div><\/div>\n      <div class=\"pdf-card\"><div class=\"pdf-label\">Recommended pool<\/div><div class=\"pdf-value\">${escapeHtml(el('totalPool').textContent)} units<\/div><\/div>\n      <div class=\"pdf-card\"><div class=\"pdf-label\">Estimated investment<\/div><div class=\"pdf-value\">${escapeHtml(el('investment').textContent)}<\/div><\/div>\n      <div class=\"pdf-card\"><div class=\"pdf-label\">Total cycle time<\/div><div class=\"pdf-value\">${escapeHtml(el('cycleDays').textContent)}<\/div><\/div>\n      <div class=\"pdf-card\"><div class=\"pdf-label\">Return accumulation<\/div><div class=\"pdf-value\">${escapeHtml(el('returnWait').textContent)}<\/div><\/div>\n      <div class=\"pdf-card\"><div class=\"pdf-label\">Active circulation<\/div><div class=\"pdf-value\">${escapeHtml(el('activePool').textContent)}<\/div><\/div>\n      <div class=\"pdf-card\"><div class=\"pdf-label\">Capacity assumptions<\/div><div class=\"pdf-value\" style=\"font-size:11px\">${escapeHtml(el('capacityText').textContent)}<\/div><\/div>\n    <\/div>\n    <h2>FTL pool build-up<\/h2>\n    <table><thead><tr><th>Pool component<\/th><th>Quantity<\/th><\/tr><\/thead><tbody>\n      <tr><td>Active circulation<\/td><td>${escapeHtml(el('miniActive').textContent)}<\/td><\/tr>\n      <tr><td>Operational buffer<\/td><td>${escapeHtml(el('miniBuffer').textContent)}<\/td><\/tr>\n      <tr><td>Defect \/ repair reserve<\/td><td>${escapeHtml(el('miniReserve').textContent)}<\/td><\/tr>\n      <tr><td><strong>Total recommended pool<\/strong><\/td><td>${escapeHtml(el('miniTotal').textContent)}<\/td><\/tr>\n    <\/tbody><\/table>\n    ${ltlTable}\n    <div class=\"pdf-note\">Scope: estimate only. Validate capacities, buffer, return strategy and handling assumptions before investment. Estimated investment only includes packaging pool purchase value; it excludes cleaning, repair operations, tracking, handling costs, residual value and financing.<\/div>\n    <div class=\"pdf-footer\">\u00a9 ZAMKO B.V.<\/div>\n  `;\n}\nfunction downloadPdfReport(){\n  buildPdfReport();\n  window.print();\n}\n\nfunction toggleFormulaDetail(){const d=el('formulaDetail'),a=el('formulaDetailArrow');if(!d||!a)return;d.classList.toggle('open');a.textContent=d.classList.contains('open')?'\u25b4':'\u25be'}\nfunction toggleLtl(){const p=el('ltlPanel'),b=el('ltlToggleBtn');p.classList.toggle('show');b.textContent=p.classList.contains('show')?'\u2212 Hide LTL pool comparison':'+ Show LTL pool comparison';populateLtlTiers();calc()}\nfunction getLtlTiers(){const p=el('productType').value,f=el('footprint').value;return ltlTierData[p][f]||[]}\nfunction populateLtlTiers(){const sel=el('ltlTier');if(!sel)return;const current=sel.value;const tiers=getLtlTiers();sel.innerHTML=tiers.map(t=>'<option value=\"'+t.units+'\">'+t.label+'<\/option>').join('');const idx=tiers.findIndex(t=>String(t.units)===current);sel.selectedIndex=idx>=0?idx:0;const chosen=tiers[sel.selectedIndex]||tiers[0];el('ltlTierHelper').textContent=chosen?('Selected: '+chosen.units+' units returned per partial load.'):''}\nfunction setDefaults(){const p=el('productType').value,f=el('footprint').value,d=productData[p];if(!manualPrice)el('unitPrice').value=d.prices[f];if(!manualReturn)el('returnCap').value=d.returnCap[f];if(!manualOutbound)el('outboundCap').value=outboundCap[f];el('productSmallLink').href=d.product;el('productSmallLink').textContent=d.productText||'View matching products';const gb=el('guideBadge');if(d.guideText){gb.href=d.guide;gb.textContent=d.guideText}else{gb.textContent='';gb.removeAttribute('href')}populateLtlTiers()}\nfunction updateDistanceDefaults(){const dist=Number(el('distance').value)||0;if(!manualDrive)el('driveDays').value=Math.max(1,Math.ceil(dist\/500))}\nfunction returnWaitDays(strategy,monthlyUnits,returnCap){if(strategy==='partial')return 0;if(monthlyUnits<=0)return 0;return (returnCap\/monthlyUnits)*30}\nfunction compute(strategy,waitOverride){const trucks=Number(el('trucksMonth').value)||0,outCap=Number(el('outboundCap').value)||0,monthlyUnits=trucks*outCap,annualUnits=monthlyUnits*12,dailyUse=annualUnits\/365,drive=Number(el('driveDays').value)||0,dwell=Number(el('dwellDays').value)||0,retCap=Number(el('returnCap').value)||0,wait=(typeof waitOverride==='number'?waitOverride:returnWaitDays(strategy,monthlyUnits,retCap));const cycle=drive+dwell+wait+drive,active=dailyUse*cycle,buffer=active*((Number(el('bufferPct').value)||0)\/100),reserve=(active+buffer)*((Number(el('reservePct').value)||0)\/100),total=Math.ceil(active+buffer+reserve),investment=total*(Number(el('unitPrice').value)||0);return{trucks,outCap,monthlyUnits,annualUnits,dailyUse,drive,dwell,retCap,wait,cycle,active,buffer,reserve,total,investment}}\nfunction calc(){setDefaults();const p=el('productType').value,f=el('footprint').value,strategy='full',r=compute(strategy);el('capacityText').textContent=fmt(Number(el('outboundCap').value)||0)+' loaded \/ outbound FTL \u00b7 '+fmt(Number(el('returnCap').value)||0)+' empty \/ return FTL';el('demandText').textContent=fmt(r.monthlyUnits)+' units\/month \u00b7 '+fmt(r.annualUnits)+' cycles\/year';el('totalPool').textContent=fmt(r.total);el('totalPoolSub').innerHTML=productData[p].label+' - '+f+'<br>'+fmt(r.trucks)+' outbound FTL per month.';el('investment').textContent=euro(r.investment);el('cycleDays').textContent=fmt(r.cycle)+' d';el('cycleMeta').textContent='incl. '+fmt(r.wait)+' days return accumulation';el('activePool').textContent=fmt(r.active);el('returnWait').textContent=fmt(r.wait)+' d';el('returnWaitMeta').textContent='waiting until full return truck is accumulated';el('strategyNote').textContent='Based on waiting for a full return truck before shipping back.';el('miniActive').textContent=fmt(r.active);el('miniBuffer').textContent=fmt(r.buffer);el('miniReserve').textContent=fmt(r.reserve);el('miniTotal').textContent=fmt(r.total);const tiersForDriver=getLtlTiers();const selectedUnitsForDriver=Number(el('ltlTier')?el('ltlTier').value:0)||((tiersForDriver[0]&&tiersForDriver[0].units)||0);const ltlPanelOpen=el('ltlPanel')&&el('ltlPanel').classList.contains('show');const ltlWaitForDriver=(selectedUnitsForDriver&&r.monthlyUnits>0)?(selectedUnitsForDriver\/r.monthlyUnits)*30:0;const maxComp=Math.max(r.drive,r.dwell,r.wait,ltlPanelOpen?ltlWaitForDriver:0,r.drive,1);function setBar(id,val){if(el(id))el(id).style.width=Math.max(2,(val\/maxComp)*100)+'%'}setBar('barOutbound',r.drive);setBar('barDwell',r.dwell);setBar('barWait',r.wait);setBar('barInbound',r.drive);setBar('barWaitLtl',ltlWaitForDriver);el('vOutbound').textContent=fmt(r.drive)+'d';el('vDwell').textContent=fmt(r.dwell)+'d';el('vWait').textContent=fmt(r.wait)+'d';el('vInbound').textContent=fmt(r.drive)+'d';if(el('vWaitLtl'))el('vWaitLtl').textContent=fmt(ltlWaitForDriver)+'d';if(el('ltlDriverRow'))el('ltlDriverRow').classList.toggle('show',!!ltlPanelOpen);if(el('ltlDriverNote'))el('ltlDriverNote').classList.toggle('show',!!ltlPanelOpen);const drivers=[['return waiting',r.wait],['dwell time',r.dwell],['transport time',r.drive*2]].sort((a,b)=>b[1]-a[1]);el('driverBadge').textContent=ltlPanelOpen?'FTL vs LTL wait':'main driver: '+drivers[0][0];if(el('leftDailyUse'))el('leftDailyUse').textContent=fmt(r.dailyUse)+' units\/day';if(el('leftCycleTime'))el('leftCycleTime').textContent=fmt(r.cycle)+' days';if(el('leftBufferReserve'))el('leftBufferReserve').textContent='+'+fmt(r.buffer+r.reserve)+' units';const ftl=compute('full');if(el('ltlFtlBaseline'))el('ltlFtlBaseline').textContent=fmt(ftl.retCap)+' units \/ full return truck';const tiers=getLtlTiers();const selectedUnits=Number(el('ltlTier')?el('ltlTier').value:0)||0;let ltlRows='';let ltlMiniPool='',ltlMiniCycle='',ltlMiniActive='',ltlMiniWait='';tiers.forEach((t,i)=>{const wait=r.monthlyUnits>0?(t.units\/r.monthlyUnits)*30:0;const x=compute('partial',wait);const selected=t.units===selectedUnits?' selected':'';const tierClass='tier-'+i;ltlRows+='<tr class=\"'+tierClass+selected+'\"><td>'+t.stacks+' stacks<\/td><td>'+fmt(t.units)+'<\/td><td>'+fmt(x.total)+'<\/td><td>'+euro(x.investment)+'<\/td><\/tr>';const c='c'+i;const label='<span class=\"ltl-col-'+i+'\">LTL '+t.stacks+'<\/span>';ltlMiniPool+='<div class=\"ltl-mini-cell '+c+'\"><div class=\"k\">'+label+'<\/div><div class=\"v\">'+fmt(x.total)+'<\/div><\/div>';ltlMiniCycle+='<div class=\"ltl-mini-cell '+c+'\"><div class=\"k\">'+label+'<\/div><div class=\"v\">'+fmt(x.cycle)+'d<\/div><\/div>';ltlMiniActive+='<div class=\"ltl-mini-cell '+c+'\"><div class=\"k\">'+label+'<\/div><div class=\"v\">'+fmt(x.active)+'<\/div><\/div>';ltlMiniWait+='<div class=\"ltl-mini-cell '+c+'\"><div class=\"k\">'+label+'<\/div><div class=\"v\">'+fmt(x.wait)+'d<\/div><\/div>'});if(el('ltlScenarioRows'))el('ltlScenarioRows').innerHTML=ltlRows;if(el('ltlMiniPoolGrid'))el('ltlMiniPoolGrid').innerHTML=ltlMiniPool;if(el('ltlMiniCycleGrid'))el('ltlMiniCycleGrid').innerHTML=ltlMiniCycle;if(el('ltlMiniActiveGrid'))el('ltlMiniActiveGrid').innerHTML=ltlMiniActive;if(el('ltlMiniWaitGrid'))el('ltlMiniWaitGrid').innerHTML=ltlMiniWait;['ltlMiniPool','ltlMiniCycle','ltlMiniActive','ltlMiniWait'].forEach(id=>{if(el(id))el(id).classList.toggle('show',!!ltlPanelOpen)});['cardCycle','cardActive','cardWait'].forEach(id=>{if(el(id))el(id).classList.toggle('ltl-compact',!!ltlPanelOpen)});let warnings=[];if(strategy==='full'&&r.wait>45)warnings.push('Return accumulation is high. Waiting for a full return truck adds '+fmt(r.wait)+' days, which materially increases the required pool and investment.');if(r.dwell>21)warnings.push('Customer dwell time is high. Reducing dwell time is likely the fastest way to lower the pool size.');if(p==='meshEU'||p==='meshUS')warnings.push('Mesh cage return capacities are indicative and should be verified before publication.');if(warnings.length){el('warningBox').innerHTML=warnings.join('<br>');el('warningBox').classList.add('show')}else{el('warningBox').classList.remove('show')}}\n['productType','footprint'].forEach(id=>el(id).addEventListener('change',()=>{manualPrice=false;manualReturn=false;manualOutbound=false;setDefaults();calc()}));el('unitPrice').addEventListener('input',()=>{manualPrice=true;calc()});el('returnCap').addEventListener('input',()=>{manualReturn=true;calc()});el('outboundCap').addEventListener('input',()=>{manualOutbound=true;calc()});el('driveDays').addEventListener('input',()=>{manualDrive=true;calc()});el('distance').addEventListener('input',()=>{updateDistanceDefaults();calc()});document.querySelectorAll('input,select').forEach(x=>x.addEventListener('input',calc));document.querySelectorAll('input[name=bufferPreset]').forEach(x=>x.addEventListener('change',()=>{if(x.value==='custom'){el('bufferPct').style.display='block';el('bufferPct').focus()}else{el('bufferPct').style.display='none';el('bufferPct').value=x.value}calc()}));el('bufferPct').addEventListener('input',()=>{document.querySelector('input[name=bufferPreset][value=custom]').checked=true;el('bufferPct').style.display='block';calc()});['ltlTier'].forEach(id=>{const n=el(id);if(n)n.addEventListener('change',calc)});setDefaults();updateDistanceDefaults();calc();\n<\/script>\n\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title ez-toc-toggle\" style=\"cursor:pointer\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle tabel met inhoud\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #001a63;color:#001a63\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #001a63;color:#001a63\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/zamko.eu\/nl\/returnable-packaging-pool-size-calculator\/#Returnable_Packaging_Pool_Size_Calculator\" >Returnable Packaging Pool Size Calculator<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/zamko.eu\/nl\/returnable-packaging-pool-size-calculator\/#Returnable_Packaging_Pool_Size_Calculator-2\" >Returnable Packaging Pool Size Calculator<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/zamko.eu\/nl\/returnable-packaging-pool-size-calculator\/#Returnable_Packaging_Pool_Size_Calculator-3\" >Returnable Packaging Pool Size Calculator<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/zamko.eu\/nl\/returnable-packaging-pool-size-calculator\/#Key_formulas_behind_the_calculation\" >Key formulas behind the calculation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/zamko.eu\/nl\/returnable-packaging-pool-size-calculator\/#FAQ_returnable_packaging_pool_size_Short_answers_for_procurement_and_logistics_teams\" >FAQ: returnable packaging pool size Short answers for procurement and logistics teams.<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/zamko.eu\/nl\/returnable-packaging-pool-size-calculator\/#Add_partial-load_LTL_comparison\" >Add partial-load (LTL) comparison<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Returnable Packaging Pool Size Calculator Returnable Packaging Pool Size Calculator | ZAMKO Returnable Packaging Pool Size Calculator Estimate how many sleeve packs, mesh pallet cages or returnable pallet boxes are required to maintain a closed logistics loop. FTL-based \u00b7 one packaging type \u00b7 closed loop 1Select packagingChoose sleeve packs, mesh cages or foldable pallet boxes. [&hellip;]<\/p>\n","protected":false},"author":35,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-31991","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/zamko.eu\/nl\/wp-json\/wp\/v2\/pages\/31991","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zamko.eu\/nl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/zamko.eu\/nl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/zamko.eu\/nl\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/zamko.eu\/nl\/wp-json\/wp\/v2\/comments?post=31991"}],"version-history":[{"count":0,"href":"https:\/\/zamko.eu\/nl\/wp-json\/wp\/v2\/pages\/31991\/revisions"}],"wp:attachment":[{"href":"https:\/\/zamko.eu\/nl\/wp-json\/wp\/v2\/media?parent=31991"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}