{"id":2377,"date":"2026-05-11T02:59:41","date_gmt":"2026-05-11T02:59:41","guid":{"rendered":"https:\/\/didiplayarea.com\/?page_id=2377"},"modified":"2026-05-11T03:24:50","modified_gmt":"2026-05-11T03:24:50","slug":"compliance-stack-mapper","status":"publish","type":"page","link":"https:\/\/didiplayarea.com\/es\/industries\/compliance-stack-mapper\/","title":{"rendered":"Mapeador de pila de cumplimiento"},"content":{"rendered":"\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-8671e28\" data-block-id=\"8671e28\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-8671e28-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-b4e1395\" data-v=\"4\" data-block-id=\"b4e1395\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-b4e1395-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-b4e1395-inner-blocks\"><\/div><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-059a4ea\" data-block-id=\"059a4ea\"><style>.stk-059a4ea-column{--stk-columns-spacing:var(--stk--preset--spacing--40, 1rem) !important;}<\/style><div class=\"stk-row stk-inner-blocks has-text-align-center stk-block-content stk-content-align stk-059a4ea-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-9b606c3\" data-v=\"4\" data-block-id=\"9b606c3\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-9b606c3-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-9b606c3-inner-blocks\"><div class=\"ct-breadcrumbs\" data-source=\"rankmath\" ><nav aria-label=\"breadcrumbs\" class=\"rank-math-breadcrumb\"><p><span class=\"last\">Home<\/span><\/p><\/nav><\/div><\/div><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-19c0aee\" data-block-id=\"19c0aee\"><style>.stk-19c0aee {margin-bottom:0px !important;}<\/style><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-19c0aee-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-7f32357\" data-v=\"4\" data-block-id=\"7f32357\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-7f32357-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-7f32357-inner-blocks\">\n<style>\n.didi-tool{font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,sans-serif;max-width:960px;margin:24px auto;padding:24px;background:#fff;border:2px solid #00D8FF;border-radius:14px;box-shadow:0 8px 24px rgba(0,216,255,.12)}\n.didi-tool h1{color:#0E2233;font-size:24px;margin:0 0 6px;line-height:1.3}\n.didi-tool .didi-tool-sub{color:#6b7280;font-size:14.5px;margin:0 0 22px}\n.didi-tool .didi-form-row{margin-bottom:18px}\n.didi-tool .didi-form-row label{display:block;font-weight:600;color:#0E2233;margin-bottom:6px;font-size:14.5px}\n.didi-tool .didi-form-row select{width:100%;padding:11px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:15px;background:#fff;box-sizing:border-box}\n.didi-tool .didi-form-row select:focus{outline:none;border-color:#00D8FF}\n.didi-tool .didi-checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}\n@media(max-width:540px){.didi-tool .didi-checkbox-grid{grid-template-columns:1fr}}\n.didi-tool .didi-checkbox-grid label{background:#f5f9fb;padding:9px 14px;border-radius:6px;font-weight:500;font-size:14px;cursor:pointer;display:flex;align-items:center;border:2px solid transparent}\n.didi-tool .didi-checkbox-grid label:hover{border-color:#00D8FF}\n.didi-tool .didi-checkbox-grid input{margin-right:10px}\n.didi-tool button.didi-submit{background:#FFD848;color:#0E2233;border:none;padding:13px 28px;font-size:16px;font-weight:700;border-radius:8px;cursor:pointer;display:block;margin:16px auto 0;width:100%;max-width:280px;transition:box-shadow .15s}\n.didi-tool button.didi-submit:hover{box-shadow:0 4px 14px rgba(255,216,72,.4)}\n.didi-tool .didi-result{margin-top:22px;padding:0;border-radius:10px;background:#fff;display:none;border:2px solid #00D8FF;overflow:hidden}\n.didi-tool .didi-result.active{display:block}\n.didi-tool .didi-result h3{background:linear-gradient(135deg,#00D8FF,#0086a8);color:#fff;padding:16px 22px;margin:0;font-size:17px}\n.didi-tool .didi-result .didi-binder{padding:18px 22px}\n.didi-tool .didi-result .didi-stack-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f0f0f0}\n.didi-tool .didi-result .didi-stack-row:last-child{border-bottom:none}\n.didi-tool .didi-result .didi-stack-name{font-weight:700;color:#0E2233;font-size:15px}\n.didi-tool .didi-result .didi-stack-status{padding:4px 12px;border-radius:14px;font-size:12.5px;font-weight:600;white-space:nowrap;margin-left:12px}\n.didi-tool .didi-result .didi-req{background:#FFD848;color:#0E2233}\n.didi-tool .didi-result .didi-rec{background:#00D8FF;color:#0E2233}\n.didi-tool .didi-result .didi-opt{background:#e5e7eb;color:#6b7280}\n.didi-tool .didi-result .didi-stack-note{font-size:13px;color:#6b7280;margin-top:2px}\n.didi-tool .didi-result .didi-cta-bar{padding:14px 22px;background:#f5f9fb;border-top:1px solid #e5e7eb}\n.didi-tool .didi-result .didi-cta-bar a{display:inline-block;background:#FFD848;color:#0E2233;padding:10px 16px;border-radius:6px;text-decoration:none;font-weight:700;font-size:13.5px;margin-right:8px}\n<\/style>\n\n<section class=\"didi-tool\" id=\"didi-compliance\">\n<h1>Compliance Stack Mapper \u2014 Required Standards by Venue and Destination<\/h1>\n<p class=\"didi-tool-sub\">Tells you exactly which certifications your insurer, customs broker, and municipal RFQ will require \u2014 based on venue type, destination, and module mix.<\/p>\n\n<div id=\"didi-comp-form-wrapper\">\n\n<div class=\"didi-form-row\">\n<label for=\"comp-venue\">Venue type<\/label>\n<select id=\"comp-venue\">\n<option value=\"\">\u2014 Select venue type \u2014<\/option>\n<option value=\"mall\">Shopping Mall<\/option>\n<option value=\"fec\">Family Entertainment Center<\/option>\n<option value=\"kg\">Kindergarten \/ Daycare<\/option>\n<option value=\"hotel\">Hotel \/ Restaurant<\/option>\n<\/select>\n<\/div>\n\n<div class=\"didi-form-row\">\n<label for=\"comp-region\">Destination market<\/label>\n<select id=\"comp-region\">\n<option value=\"\">\u2014 Select destination \u2014<\/option>\n<option value=\"us\">USA \/ Canada<\/option>\n<option value=\"eu\">EU member state (non-DACH)<\/option>\n<option value=\"dach\">DACH (Germany \/ Austria \/ Switzerland)<\/option>\n<option value=\"apac\">Asia-Pacific<\/option>\n<option value=\"mena\">Middle East \/ North Africa<\/option>\n<option value=\"latam\">Latin America<\/option>\n<\/select>\n<\/div>\n\n<div class=\"didi-form-row\">\n<label>Module mix (check all that apply)<\/label>\n<div class=\"didi-checkbox-grid\">\n<label><input type=\"checkbox\" name=\"didi-mod\" value=\"structural\"> Structural play (jungle gym, slides)<\/label>\n<label><input type=\"checkbox\" name=\"didi-mod\" value=\"soft\"> Soft contained play \/ ball pit<\/label>\n<label><input type=\"checkbox\" name=\"didi-mod\" value=\"trampoline\"> Trampoline modules<\/label>\n<label><input type=\"checkbox\" name=\"didi-mod\" value=\"fabric\"> Fabric \/ vinyl decor<\/label>\n<\/div>\n<\/div>\n\n<button type=\"button\" class=\"didi-submit\" onclick=\"didiCompCompute()\">Map My Compliance Stack<\/button>\n<\/div>\n\n<!-- \u9759\u6001 HTML \u7ed3\u6784\uff0c\u521d\u59cb\u5316\u5373\u5b58\u5728\uff0c\u5b89\u5168\u9694\u79bb\u52a8\u6001\u5185\u5bb9\u4e0e\u9759\u6001\u5f39\u7a97\u94fe\u63a5 -->\n<div class=\"didi-result\" id=\"didi-comp-result\">\n  <h3 id=\"didi-comp-res-title\"><\/h3>\n  \n  <!-- \u4ec5\u8fd9\u4e2a\u5185\u90e8\u5bb9\u5668\u4f1a\u88ab innerHTML \u91cd\u5199 -->\n  <div class=\"didi-binder\" id=\"didi-comp-res-list\"><\/div>\n  \n  <div class=\"didi-cta-bar\">\n    <!-- \u5173\u952e\uff1a\u5f39\u7a97\u89e6\u53d1\u5143\u7d20\u5199\u6b7b\u5728\u72ec\u7acb\u5bb9\u5668\u4e2d\uff0c\u6c38\u4e0d\u88ab\u9500\u6bc1 -->\n    <a href=\"#ct-popup-800\">Request Full Compliance Binder PDFs<\/a>\n  <\/div>\n<\/div>\n<\/section>\n\n<script>\nvar didiCompLabels = {\n  mall: \"Shopping Mall\",\n  fec: \"Family Entertainment Center\",\n  kg: \"Kindergarten \/ Daycare\",\n  hotel: \"Hotel \/ Restaurant\"\n};\n\nfunction didiCompEvaluateStack(venue, region, mods) {\n  var stack = [];\n\n  \/\/ ASTM F1487\n  if (mods.structural) {\n    stack.push({\n      name: 'ASTM F1487-26',\n      status: 'Required',\n      note: 'Structural play standard for ages 2\u201312. US\/Canada baseline.'\n    });\n  }\n\n  \/\/ ASTM F1918\n  if (mods.soft) {\n    stack.push({\n      name: 'ASTM F1918',\n      status: 'Required',\n      note: 'Soft contained play (foam, ball pit, vinyl-covered modules).'\n    });\n  }\n\n  \/\/ ASTM F2970\n  if (mods.trampoline) {\n    stack.push({\n      name: 'ASTM F2970',\n      status: 'Required',\n      note: 'Trampoline-court specific standard. Mandatory for FEC trampoline zones.'\n    });\n  }\n\n  \/\/ EN 1176-1\n  if (region === 'eu' || region === 'dach') {\n    stack.push({\n      name: 'EN 1176-1',\n      status: 'Required',\n      note: 'European playground equipment standard. Mandatory for EU shipments.'\n    });\n  } else {\n    stack.push({\n      name: 'EN 1176-1',\n      status: 'Recommended',\n      note: 'Adds credibility for premium segments and global resale.'\n    });\n  }\n\n  \/\/ GS-EN1176 (DACH)\n  if (region === 'dach') {\n    stack.push({\n      name: 'GS-EN1176 (T\u00dcV mark)',\n      status: 'Required',\n      note: 'German T\u00dcV mark required for DACH municipal acceptance.'\n    });\n  }\n\n  \/\/ IPEMA\n  if (region === 'us') {\n    if (venue === 'mall' || venue === 'kg') {\n      stack.push({\n        name: 'IPEMA Certification',\n        status: 'Required',\n        note: 'US municipal RFQs and most school district procurements require it.'\n      });\n    } else {\n      stack.push({\n        name: 'IPEMA Certification',\n        status: 'Recommended',\n        note: 'Strengthens position even for private commercial venues.'\n      });\n    }\n  }\n\n  \/\/ CPSIA\n  var hasCPSIA = false;\n  if (region === 'us') {\n    if (venue === 'kg') {\n      stack.push({\n        name: 'CPSIA (16 CFR 1303 + 1307)',\n        status: 'Required',\n        note: 'Lead and phthalate compliance \u2014 required for US daycare\/kindergarten.'\n      });\n      hasCPSIA = true;\n    }\n  }\n  \n  if (!hasCPSIA) {\n    if (mods.soft) {\n      stack.push({\n        name: 'CPSIA',\n        status: 'Recommended',\n        note: 'Component-level lead and phthalate testing for any soft play module.'\n      });\n    }\n  }\n\n  \/\/ NFPA 701\n  var needsNFPA = false;\n  if (venue === 'hotel') {\n    needsNFPA = true;\n  }\n  if (venue === 'fec') {\n    if (mods.fabric) {\n      needsNFPA = true;\n    }\n  }\n\n  if (needsNFPA) {\n    stack.push({\n      name: 'NFPA 701',\n      status: 'Required',\n      note: 'Flame-propagation testing for fabric\/vinyl in hospitality and inflatable environments.'\n    });\n  } else if (mods.fabric) {\n    stack.push({\n      name: 'NFPA 701',\n      status: 'Recommended',\n      note: 'Hospitality risk-management standard. Worth requesting from supplier.'\n    });\n  }\n\n  \/\/ Title I (US kindergarten)\n  if (region === 'us') {\n    if (venue === 'kg') {\n      stack.push({\n        name: 'Title I Funding Documentation',\n        status: 'Recommended',\n        note: 'ARP-ESSER deadline closed Sept 30, 2024. Title I supplemental and state grants are now the primary US K-daycare funding pathways.'\n      });\n    }\n  }\n\n  return stack;\n}\n\nfunction didiCompStatusClass(s) {\n  if (s === 'Required') {\n    return 'didi-req';\n  }\n  if (s === 'Recommended') {\n    return 'didi-rec';\n  }\n  return 'didi-opt';\n}\n\nfunction didiCompCompute() {\n  var v = document.getElementById('comp-venue').value;\n  var r = document.getElementById('comp-region').value;\n  \n  if (!v || !r) {\n    alert('Select both venue and destination market.');\n    return;\n  }\n\n  var mods = {};\n  var checkboxes = document.getElementsByName('didi-mod');\n  var checkedCount = 0;\n  \n  for (var i = 0; i < checkboxes.length; i++) {\n    if (checkboxes[i].checked) {\n      mods[checkboxes[i].value] = true;\n      checkedCount++;\n    }\n  }\n\n  if (checkedCount === 0) {\n    alert('Pick at least one module type.');\n    return;\n  }\n\n  var stack = didiCompEvaluateStack(v, r, mods);\n\n  \/\/ 1. \u66f4\u65b0\u6807\u9898\n  document.getElementById('didi-comp-res-title').innerText = 'Your Compliance Binder \u2014 ' + didiCompLabels[v] + ' \u00b7 ' + r.toUpperCase();\n\n  \/\/ 2. \u4ec5\u66f4\u65b0\u5185\u90e8\u5217\u8868\u7684\u5185\u5bb9\uff0c\u7edd\u4e0d\u8986\u76d6\u4e0b\u65b9\u7684\u5f39\u7a97\u6309\u94ae\u5bb9\u5668\n  var listHtml = '';\n  for (var j = 0; j < stack.length; j++) {\n    var s = stack[j];\n    listHtml += '<div class=\"didi-stack-row\">';\n    listHtml += '<div><div class=\"didi-stack-name\">' + s.name + '<\/div><div class=\"didi-stack-note\">' + s.note + '<\/div><\/div>';\n    listHtml += '<div class=\"didi-stack-status ' + didiCompStatusClass(s.status) + '\">' + s.status + '<\/div>';\n    listHtml += '<\/div>';\n  }\n  document.getElementById('didi-comp-res-list').innerHTML = listHtml;\n\n  \/\/ 3. \u663e\u793a\u7ed3\u679c\u533a\u57df\n  var out = document.getElementById('didi-comp-result');\n  out.classList.add('active');\n  out.scrollIntoView({ behavior: 'smooth', block: 'start' });\n}\n<\/script>\n<\/div><\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Compliance Stack Mapper \u2014 Required Standards by Venue and Destination Tells you exactly which certifications your insurer, customs broker, and municipal RFQ will require \u2014 based on venue type, destination, and module mix. Venue type \u2014 Select venue type \u2014Shopping MallFamily Entertainment CenterKindergarten \/ DaycareHotel \/ Restaurant Destination market \u2014 Select destination \u2014USA \/ CanadaEU [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":819,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","footnotes":""},"class_list":["post-2377","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/didiplayarea.com\/es\/wp-json\/wp\/v2\/pages\/2377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/didiplayarea.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/didiplayarea.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/didiplayarea.com\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/didiplayarea.com\/es\/wp-json\/wp\/v2\/comments?post=2377"}],"version-history":[{"count":0,"href":"https:\/\/didiplayarea.com\/es\/wp-json\/wp\/v2\/pages\/2377\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/didiplayarea.com\/es\/wp-json\/wp\/v2\/pages\/819"}],"wp:attachment":[{"href":"https:\/\/didiplayarea.com\/es\/wp-json\/wp\/v2\/media?parent=2377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}