{"id":1161,"date":"2026-05-08T06:13:48","date_gmt":"2026-05-08T06:13:48","guid":{"rendered":"https:\/\/masstechx.com\/?page_id=1161"},"modified":"2026-05-08T09:09:25","modified_gmt":"2026-05-08T09:09:25","slug":"project-timeline-estimator","status":"publish","type":"page","link":"https:\/\/masstechx.com\/fr\/water-filling-machine\/small-scale\/project-timeline-estimator\/","title":{"rendered":"Estimateur de calendrier du projet"},"content":{"rendered":"\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-3e352f3\" data-block-id=\"3e352f3\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-3e352f3-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-4741301\" data-v=\"4\" data-block-id=\"4741301\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-4741301-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-4741301-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-8bf1a30\" data-block-id=\"8bf1a30\"><style>.stk-8bf1a30-column{--stk-columns-spacing:var(--stk--preset--spacing--40, 1rem) !important;}<\/style><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-8bf1a30-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-4a527cf\" data-v=\"4\" data-block-id=\"4a527cf\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-4a527cf-container stk--no-background stk--no-padding\"><div class=\"has-text-align-center stk-block-content stk-inner-blocks stk-4a527cf-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-fed364b\" data-block-id=\"fed364b\"><style>.stk-fed364b {margin-bottom:0px !important;}<\/style><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-fed364b-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-ac82ed8\" data-v=\"4\" data-block-id=\"ac82ed8\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-ac82ed8-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-ac82ed8-inner-blocks\">\n<section id=\"ms-timeline-est-025\" style=\"width: 100%; position: relative; background-color: #ffffff; border-top: 1px solid #e2e8f0; border-bottom: 1px solid #e2e8f0; overflow: hidden;\">\n  \n  <style>\n    \/* * * \u9876\u7ea7\u4f5c\u7528\u57df\u9694\u79bb\uff1a#ms-timeline-est-025\n     * \u7981\u7528\u5916\u90e8\u5b57\u4f53\uff0c\u5168\u76d8\u7ee7\u627f Blocksy \u5168\u5c40\u8bbe\u5b9a\n     * B2B \u5de5\u4e1a\u9ad8\u5b9a\uff1a0px\u5706\u89d2\uff0c1px\u4e92\u9501\u7f51\u683c\uff0c\u7518\u7279\u56fe\u5f0f\u9884\u6e32\u67d3\u8fdb\u5ea6\u6761\n     * \u3010\u4fee\u590d\u3011\u5f7b\u5e95\u89e3\u653e\u4e0b\u62c9\u6846\u5bbd\u5ea6\uff0c\u4fdd\u969c\u6838\u5fc3\u6570\u636e 100% \u5b8c\u6574\u53ef\u89c6\n    *\/\n\n    #ms-timeline-est-025 * {\n      box-sizing: border-box !important;\n    }\n\n    #ms-timeline-est-025 .ms-container {\n      max-width: 1600px !important;\n      margin: 0 auto !important;\n      padding: 60px 4% !important; \/* \u9075\u5faa 30-60px padding \u89c4\u8303 *\/\n      display: flex !important;\n      flex-direction: column !important;\n      gap: 40px !important;\n    }\n\n    \/* =========================================\n       1. \u5934\u90e8\u6982\u89c8\u533a (\u5de6\u5bf9\u9f50\uff0c\u4e3b\u8272\u8c03\u9547\u573a)\n       ========================================= *\/\n    #ms-timeline-est-025 .ms-header-block {\n      display: flex !important;\n      flex-direction: column !important;\n      align-items: flex-start !important;\n      position: relative !important;\n      padding-left: 20px !important;\n      border-left: 6px solid #0078C0 !important;\n    }\n\n    \/* \u4e25\u683c\u539f\u751f H2 *\/\n    #ms-timeline-est-025 .ms-heading-2 {\n      font-size: 32px !important; \n      font-weight: 800 !important;\n      color: #1a1a1a !important;\n      line-height: 1.3 !important;\n      margin: 0 0 15px 0 !important;\n      letter-spacing: -0.5px !important;\n    }\n\n    #ms-timeline-est-025 .ms-intro-text {\n      font-size: 16px !important;\n      line-height: 1.75 !important;\n      color: #4a5568 !important;\n      margin: 0 !important;\n      max-width: 1300px !important;\n    }\n\n    \/* =========================================\n       2. \u53cc\u8f68\u4efb\u52a1\u63a7\u5236\u53f0 (1px \u5207\u5272\u7ebf\u54ac\u5408)\n       ========================================= *\/\n    #ms-timeline-est-025 .ms-calc-grid {\n      display: grid !important;\n      grid-template-columns: 1fr 1.3fr !important; \/* \u53f3\u4fa7\u65f6\u95f4\u7ebf\u6570\u636e\u66f4\u591a\uff0c\u7ed9\u4e88\u66f4\u5927\u7a7a\u95f4 *\/\n      background-color: #cbd5e1 !important; \/* \u6ea2\u51fa\u6210\u4e3a 1px \u5207\u5272\u7ebf *\/\n      border: 1px solid #cbd5e1 !important;\n      gap: 1px !important;\n      align-items: stretch !important;\n    }\n\n    \/* =========================================\n       3. \u5de6\u4fa7\uff1a\u8f93\u5165\u63a7\u5236\u4e0e\u72b6\u6001\u8bca\u65ad\u8231\n       ========================================= *\/\n    #ms-timeline-est-025 .ms-input-console {\n      background-color: #ffffff !important;\n      display: flex !important;\n      flex-direction: column !important;\n      position: relative !important;\n    }\n\n    \/* \u9876\u90e8\u5f3a\u8c03\u7ebf *\/\n    #ms-timeline-est-025 .ms-input-console::before {\n      content: \"\"; position: absolute; top: 0; left: 0; right: 0; height: 4px; background-color: #7860A8 !important;\n    }\n\n    #ms-timeline-est-025 .ms-form-wrapper {\n      padding: 45px 40px 30px 40px !important;\n    }\n\n    \/* \u3010\u4fee\u590d\u6838\u5fc3\u3011\u5e9f\u9664\u5c40\u4fc3\u7684\u53cc\u5217\u7ea6\u675f\uff0c\u6539\u4e3a\u5355\u5217 100% \u6ee1\u5bbd\u94fa\u8bbe *\/\n    #ms-timeline-est-025 .ms-input-row {\n      display: flex !important;\n      flex-direction: column !important;\n      width: 100% !important;\n      margin-bottom: 25px !important;\n    }\n\n    #ms-timeline-est-025 .ms-form-group {\n      display: flex !important;\n      flex-direction: column !important;\n      width: 100% !important;\n    }\n\n    #ms-timeline-est-025 .ms-label {\n      font-size: 13.5px !important;\n      font-weight: 700 !important;\n      color: #1a1a1a !important;\n      margin-bottom: 8px !important;\n      text-transform: uppercase !important;\n      letter-spacing: 0.5px !important;\n    }\n\n    \/* \u5de5\u4e1a\u98ce Select\uff1a\u96f6\u5706\u89d2\uff0c\u589e\u52a0\u53f3\u4fa7\u9632\u649e Padding *\/\n    #ms-timeline-est-025 .ms-select {\n      width: 100% !important;\n      padding: 14px 45px 14px 16px !important; \/* \u53f3\u4fa7 45px \u4fdd\u969c\u6587\u672c\u7edd\u5bf9\u4e0d\u4f1a\u88ab\u7bad\u5934\u906e\u6321 *\/\n      background-color: #f8fafc !important;\n      border: 1px solid #cbd5e1 !important;\n      border-radius: 0 !important;\n      font-size: 15px !important;\n      font-weight: 600 !important;\n      color: #0078C0 !important;\n      outline: none !important;\n      cursor: pointer !important;\n      appearance: none !important;\n      white-space: nowrap !important; \/* \u5f3a\u5236\u4e0d\u6362\u884c *\/\n      text-overflow: ellipsis !important; \/* \u8d85\u7ea7\u6781\u7aef\u60c5\u51b5\u4e0b\u4f18\u96c5\u964d\u7ea7 *\/\n      overflow: hidden !important;\n      \/* \u81ea\u5b9a\u4e49\u4e0b\u62c9\u7bad\u5934 *\/\n      background-image: url(\"data:image\/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%230078C0%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E\") !important;\n      background-repeat: no-repeat !important;\n      background-position: right 16px top 50% !important;\n      background-size: 12px auto !important;\n      transition: all 0.3s ease !important;\n    }\n\n    #ms-timeline-est-025 .ms-select:focus {\n      border-color: #0078C0 !important;\n      background-color: #ffffff !important;\n      box-shadow: inset 4px 0 0 #0078C0 !important;\n    }\n\n    \/* \u5b9e\u4f53\u57fa\u51c6\u72b6\u6001\u9762\u677f\uff0c\u5b8c\u7f8e\u586b\u8865\u7559\u767d *\/\n    #ms-timeline-est-025 .ms-status-panel {\n      background-color: #f1f5f9 !important;\n      border-top: 1px solid #e2e8f0 !important;\n      padding: 30px 40px !important;\n      margin-top: auto !important; \/* \u6838\u5fc3\uff1a\u6491\u6ee1\u5de6\u4fa7\u5269\u4f59\u7a7a\u95f4 *\/\n      flex-grow: 1 !important;\n      display: flex !important;\n      flex-direction: column !important;\n      justify-content: center !important;\n    }\n\n    #ms-timeline-est-025 .ms-benchmark-box {\n      padding: 18px 20px !important;\n      background-color: #ffffff !important;\n      border: 1px solid #cbd5e1 !important;\n      border-left-width: 4px !important;\n      border-left-color: #0078C0 !important;\n      font-size: 14.5px !important;\n      font-weight: 700 !important;\n      color: #1a1a1a !important;\n      transition: all 0.3s ease !important;\n    }\n\n    #ms-timeline-est-025 .ms-benchmark-box.status-fast { border-left-color: #10b981 !important; }\n    #ms-timeline-est-025 .ms-benchmark-box.status-par { border-left-color: #f59e0b !important; }\n    #ms-timeline-est-025 .ms-benchmark-box.status-slow { border-left-color: #ef4444 !important; }\n\n    #ms-timeline-est-025 .ms-disclaimer {\n      font-size: 13px !important;\n      line-height: 1.6 !important;\n      color: #64748b !important;\n      font-style: italic !important;\n      margin: 20px 0 0 0 !important;\n    }\n\n    \/* =========================================\n       4. \u53f3\u4fa7\uff1a\u5168\u9884\u6e32\u67d3\u7518\u7279\u56fe\u65f6\u95f4\u7ebf\u9762\u677f\n       ========================================= *\/\n    #ms-timeline-est-025 .ms-results-panel {\n      background-color: #f8fafc !important; \n      padding: 45px 40px !important;\n      display: flex !important;\n      flex-direction: column !important;\n      position: relative !important;\n    }\n\n    #ms-timeline-est-025 .ms-results-panel::before {\n      content: \"\"; position: absolute; top: 0; left: 0; right: 0; height: 4px; background-color: #0078C0 !important;\n    }\n\n    \/* \u9876\u90e8\u6570\u636e\u603b\u89c8\u533a *\/\n    #ms-timeline-est-025 .ms-summary-header {\n      display: flex !important;\n      justify-content: space-between !important;\n      align-items: center !important;\n      background: linear-gradient(135deg, #0078C0 0%, #7860A8 100%) !important;\n      color: #ffffff !important;\n      padding: 25px 30px !important;\n      margin-bottom: 30px !important;\n      box-shadow: 0 10px 25px rgba(0, 120, 192, 0.15) !important;\n    }\n\n    #ms-timeline-est-025 .ms-heading-3 {\n      font-size: 16px !important;\n      font-weight: 600 !important;\n      text-transform: uppercase !important;\n      letter-spacing: 1px !important;\n      margin: 0 !important;\n      color: rgba(255, 255, 255, 0.9) !important;\n    }\n\n    #ms-timeline-est-025 .ms-total-val {\n      font-size: 36px !important;\n      font-weight: 800 !important;\n      margin: 0 !important;\n      line-height: 1 !important;\n      font-family: monospace !important;\n    }\n\n    #ms-timeline-est-025 .ms-total-val span {\n      font-size: 16px !important;\n      font-weight: 600 !important;\n      opacity: 0.8 !important;\n      font-family: -apple-system, Segoe UI, Roboto, sans-serif !important;\n    }\n\n    \/* 9\u6bb5\u9884\u6e32\u67d3\u65f6\u95f4\u7ebf\u884c\u5217 (\u7518\u7279\u56fe\u98ce\u683c) *\/\n    #ms-timeline-est-025 .ms-timeline-track {\n      display: flex !important;\n      flex-direction: column !important;\n      gap: 12px !important;\n      margin-bottom: 35px !important;\n    }\n\n    #ms-timeline-est-025 .ms-phase-row {\n      display: grid !important;\n      grid-template-columns: 210px 1fr 70px !important;\n      align-items: center !important;\n      gap: 15px !important;\n      padding-bottom: 12px !important;\n      border-bottom: 1px solid #e2e8f0 !important;\n    }\n\n    #ms-timeline-est-025 .ms-phase-row:last-child {\n      border-bottom: none !important;\n      padding-bottom: 0 !important;\n    }\n\n    #ms-timeline-est-025 .ms-phase-name {\n      font-size: 14.5px !important;\n      font-weight: 700 !important;\n      color: #1a1a1a !important;\n    }\n\n    #ms-timeline-est-025 .ms-bar-bg {\n      width: 100% !important;\n      height: 16px !important;\n      background-color: #e2e8f0 !important;\n      position: relative !important;\n      overflow: hidden !important;\n    }\n\n    #ms-timeline-est-025 .ms-bar-fill {\n      position: absolute !important;\n      top: 0; left: 0; bottom: 0;\n      width: 0%; \/* JS \u52a8\u6001\u66f4\u65b0 *\/\n      background: linear-gradient(90deg, #0078C0 0%, #7860A8 100%) !important;\n      transition: width 0.6s cubic-bezier(0.25, 0.8, 0.25, 1) !important;\n    }\n\n    #ms-timeline-est-025 .ms-phase-days {\n      font-size: 14px !important;\n      font-weight: 700 !important;\n      color: #4a5568 !important;\n      text-align: right !important;\n      font-family: monospace !important;\n    }\n\n    \/* \u53f3\u4fa7\u5e95\u90e8\u5f3a\u5236\u5bf9\u9f50 CTA *\/\n    #ms-timeline-est-025 .ms-cta-primary {\n      display: inline-flex !important;\n      align-items: center !important;\n      justify-content: center !important;\n      background-color: #0078C0 !important;\n      color: #ffffff !important;\n      text-decoration: none !important;\n      padding: 18px 30px !important;\n      font-size: 15.5px !important;\n      font-weight: 800 !important;\n      text-transform: uppercase !important;\n      letter-spacing: 0.5px !important;\n      border: 2px solid #0078C0 !important;\n      transition: all 0.3s ease !important;\n      margin-top: auto !important; \/* \u5f3a\u5236\u5438\u5e95 *\/\n    }\n\n    #ms-timeline-est-025 .ms-cta-primary:hover {\n      background-color: #ffffff !important;\n      color: #0078C0 !important;\n    }\n\n    \/* \u54cd\u5e94\u5f0f\u65ad\u70b9 *\/\n    @media (max-width:1000px) {\n      #ms-timeline-est-025 .ms-calc-grid { grid-template-columns: 1fr !important; }\n      #ms-timeline-est-025 .ms-form-wrapper, #ms-timeline-est-025 .ms-status-panel, #ms-timeline-est-025 .ms-results-panel { padding: 40px !important; }\n      #ms-timeline-est-025 .ms-status-panel { margin-top: 0 !important; } \n    }\n    @media (max-width:690px) {\n      #ms-timeline-est-025 .ms-container { padding: 40px 20px !important; gap: 30px !important; }\n      #ms-timeline-est-025 .ms-heading-2 { font-size: 26px !important; }\n      #ms-timeline-est-025 .ms-form-wrapper, #ms-timeline-est-025 .ms-status-panel, #ms-timeline-est-025 .ms-results-panel { padding: 30px 20px !important; }\n      #ms-timeline-est-025 .ms-summary-header { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; }\n      #ms-timeline-est-025 .ms-phase-row { grid-template-columns: 100px 1fr 60px !important; }\n      #ms-timeline-est-025 .ms-phase-name { font-size: 13px !important; }\n      #ms-timeline-est-025 .ms-cta-primary { width: 100% !important; text-align: center !important; }\n    }\n  <\/style>\n\n  <div class=\"ms-container\">\n    \n    <div class=\"ms-header-block\">\n      <h2 class=\"ms-heading-2\">Water Bottling Project Timeline Estimator<\/h2>\n      <p class=\"ms-intro-text\">\n        Estimate end-to-end project duration from contract signature to first commercial bottle. Output covers 8 phases \u2014 design, contract, production, FAT, shipping, installation, SAT, training, and ramp-up.\n      <\/p>\n    <\/div>\n\n    <div class=\"ms-calc-grid\">\n      \n      <div class=\"ms-input-console\">\n        \n        <div class=\"ms-form-wrapper\">\n          <form id=\"ms-timeline-form-025\">\n            \n            <div class=\"ms-input-row\">\n              <div class=\"ms-form-group\">\n                <label class=\"ms-label\" for=\"ms-tier-25\">Mass Technology Tier<\/label>\n                <select class=\"ms-select\" id=\"ms-tier-25\">\n                  <option value=\"t1\">T1 Starter (600\u20131,500 BPH PET \/ 50\u2013600 BPH HOD)<\/option>\n                  <option value=\"t2\" selected>T2 Growth (2,000\u201312,000 BPH PET \/ 600\u20132,000 BPH HOD)<\/option>\n                  <option value=\"t3\">T3 Scale (15,000\u201336,000 BPH PET, custom HOD)<\/option>\n                <\/select>\n              <\/div>\n            <\/div>\n\n            <div class=\"ms-input-row\">\n              <div class=\"ms-form-group\">\n                <label class=\"ms-label\" for=\"ms-facility-25\">Facility Readiness<\/label>\n                <select class=\"ms-select\" id=\"ms-facility-25\">\n                  <option value=\"ready\">Ready (plumbing, drainage, electrical complete)<\/option>\n                  <option value=\"partial\" selected>Partial (some upgrades needed)<\/option>\n                  <option value=\"raw\">Raw (greenfield or major retrofit)<\/option>\n                <\/select>\n              <\/div>\n            <\/div>\n\n            <div class=\"ms-input-row\">\n              <div class=\"ms-form-group\">\n                <label class=\"ms-label\" for=\"ms-dest-25\">Destination Region<\/label>\n                <select class=\"ms-select\" id=\"ms-dest-25\">\n                  <option value=\"asia\">Southeast Asia \/ Middle East<\/option>\n                  <option value=\"africa\">Africa<\/option>\n                  <option value=\"americas\">Americas<\/option>\n                  <option value=\"europe\">Europe<\/option>\n                <\/select>\n              <\/div>\n            <\/div>\n\n            <div class=\"ms-input-row\" style=\"margin-bottom: 0;\">\n              <div class=\"ms-form-group\">\n                <label class=\"ms-label\" for=\"ms-staff-25\">Local Staff Experience<\/label>\n                <select class=\"ms-select\" id=\"ms-staff-25\">\n                  <option value=\"trained\">Previous bottling experience<\/option>\n                  <option value=\"green\" selected>First-time bottling operation<\/option>\n                <\/select>\n              <\/div>\n            <\/div>\n            \n          <\/form>\n        <\/div>\n\n        <div class=\"ms-status-panel\">\n          <div class=\"ms-benchmark-box\" id=\"ms-bench-msg-25\">\n            Evaluating timeline&#8230;\n          <\/div>\n          <p class=\"ms-disclaimer\">\n            Estimates based on Mass Technology 2024\u20132025 project deliveries to MENA, Southeast Asia, and Latin America. Actual duration depends on customs clearance, source water testing, local permit approval, and weather windows for shipping.\n          <\/p>\n        <\/div>\n\n      <\/div>\n\n      <div class=\"ms-results-panel\">\n        \n        <div class=\"ms-summary-header\">\n          <h3 class=\"ms-heading-3\">Total Time to First Bottle<\/h3>\n          <p class=\"ms-total-val\" id=\"ms-total-days-25\">0 <span>days<\/span><\/p>\n        <\/div>\n\n        <div class=\"ms-timeline-track\">\n          \n          <div class=\"ms-phase-row\">\n            <span class=\"ms-phase-name\">Layout Design<\/span>\n            <div class=\"ms-bar-bg\"><div class=\"ms-bar-fill\" id=\"ms-bar-design-25\"><\/div><\/div>\n            <span class=\"ms-phase-days\" id=\"ms-val-design-25\">0 days<\/span>\n          <\/div>\n\n          <div class=\"ms-phase-row\">\n            <span class=\"ms-phase-name\">Contract &#038; Down Payment<\/span>\n            <div class=\"ms-bar-bg\"><div class=\"ms-bar-fill\" id=\"ms-bar-contract-25\"><\/div><\/div>\n            <span class=\"ms-phase-days\" id=\"ms-val-contract-25\">0 days<\/span>\n          <\/div>\n\n          <div class=\"ms-phase-row\">\n            <span class=\"ms-phase-name\">Manufacturing<\/span>\n            <div class=\"ms-bar-bg\"><div class=\"ms-bar-fill\" id=\"ms-bar-prod-25\"><\/div><\/div>\n            <span class=\"ms-phase-days\" id=\"ms-val-prod-25\">0 days<\/span>\n          <\/div>\n\n          <div class=\"ms-phase-row\">\n            <span class=\"ms-phase-name\">Factory Acceptance (FAT)<\/span>\n            <div class=\"ms-bar-bg\"><div class=\"ms-bar-fill\" id=\"ms-bar-fat-25\"><\/div><\/div>\n            <span class=\"ms-phase-days\" id=\"ms-val-fat-25\">0 days<\/span>\n          <\/div>\n\n          <div class=\"ms-phase-row\">\n            <span class=\"ms-phase-name\">International Shipping<\/span>\n            <div class=\"ms-bar-bg\"><div class=\"ms-bar-fill\" id=\"ms-bar-ship-25\"><\/div><\/div>\n            <span class=\"ms-phase-days\" id=\"ms-val-ship-25\">0 days<\/span>\n          <\/div>\n\n          <div class=\"ms-phase-row\">\n            <span class=\"ms-phase-name\">Onsite Installation<\/span>\n            <div class=\"ms-bar-bg\"><div class=\"ms-bar-fill\" id=\"ms-bar-install-25\"><\/div><\/div>\n            <span class=\"ms-phase-days\" id=\"ms-val-install-25\">0 days<\/span>\n          <\/div>\n\n          <div class=\"ms-phase-row\">\n            <span class=\"ms-phase-name\">Site Acceptance (SAT)<\/span>\n            <div class=\"ms-bar-bg\"><div class=\"ms-bar-fill\" id=\"ms-bar-sat-25\"><\/div><\/div>\n            <span class=\"ms-phase-days\" id=\"ms-val-sat-25\">0 days<\/span>\n          <\/div>\n\n          <div class=\"ms-phase-row\">\n            <span class=\"ms-phase-name\">Operator Training<\/span>\n            <div class=\"ms-bar-bg\"><div class=\"ms-bar-fill\" id=\"ms-bar-train-25\"><\/div><\/div>\n            <span class=\"ms-phase-days\" id=\"ms-val-train-25\">0 days<\/span>\n          <\/div>\n\n          <div class=\"ms-phase-row\">\n            <span class=\"ms-phase-name\">Production Ramp-Up<\/span>\n            <div class=\"ms-bar-bg\"><div class=\"ms-bar-fill\" id=\"ms-bar-ramp-25\"><\/div><\/div>\n            <span class=\"ms-phase-days\" id=\"ms-val-ramp-25\">0 days<\/span>\n          <\/div>\n\n        <\/div>\n\n        <a class=\"ms-cta-primary\" href=\"#ct-popup-813\">\n          Confirm Timeline with a Detailed Quote \u2192\n        <\/a>\n\n      <\/div>\n\n    <\/div>\n\n  <\/div>\n\n  <script>\n    (function() {\n      function initTimelineCalcV2() {\n        var form = document.getElementById('ms-timeline-form-025');\n        if (!form) return;\n        var selects = form.querySelectorAll('select');\n\n        var tierBase = {\n          t1: { design: 7, contract: 7, production: 38, fat: 7, ship: 0, install: 30, sat: 7, training: 5, rampup: 14 },\n          t2: { design: 10, contract: 10, production: 75, fat: 10, ship: 0, install: 60, sat: 10, training: 7, rampup: 21 },\n          t3: { design: 20, contract: 14, production: 120, fat: 14, ship: 0, install: 75, sat: 14, training: 14, rampup: 30 }\n        };\n        var shipDays = { asia: 18, africa: 30, americas: 35, europe: 25 };\n        var facilityMult = { ready: 0.7, partial: 1.0, raw: 1.4 };\n        var staffMult = { trained: 0.85, green: 1.0 };\n\n        function updateTimelineV2() {\n          var tier = document.getElementById('ms-tier-25').value;\n          var facility = document.getElementById('ms-facility-25').value;\n          var dest = document.getElementById('ms-dest-25').value;\n          var staff = document.getElementById('ms-staff-25').value;\n\n          var base = tierBase[tier];\n          var ship = shipDays[dest];\n          var fm = facilityMult[facility];\n          var sm = staffMult[staff];\n\n          var vals = {\n            design: base.design,\n            contract: base.contract,\n            prod: base.production,\n            fat: base.fat,\n            ship: ship,\n            install: Math.round(base.install * fm),\n            sat: base.sat,\n            train: Math.round(base.training * sm),\n            ramp: Math.round(base.rampup * sm)\n          };\n\n          var total = vals.design + vals.contract + vals.prod + vals.fat + vals.ship + vals.install + vals.sat + vals.train + vals.ramp;\n          var months = (total \/ 30).toFixed(1);\n          \n          var maxVal = Math.max(vals.design, vals.contract, vals.prod, vals.fat, vals.ship, vals.install, vals.sat, vals.train, vals.ramp);\n          var safeMax = maxVal > 0 ? maxVal : 1;\n\n          document.getElementById('ms-total-days-25').innerHTML = total + ' <span>days (~' + months + ' months)<\/span>';\n\n          var keys = ['design', 'contract', 'prod', 'fat', 'ship', 'install', 'sat', 'train', 'ramp'];\n          keys.forEach(function(k) {\n            document.getElementById('ms-val-' + k + '-25').textContent = vals[k] + ' days';\n            document.getElementById('ms-bar-' + k + '-25').style.width = (vals[k] \/ safeMax * 100) + '%';\n          });\n\n          var benchMsg = document.getElementById('ms-bench-msg-25');\n          benchMsg.classList.remove('status-fast', 'status-par', 'status-slow');\n          if (total < 150) {\n            benchMsg.innerHTML = '\u2713 Faster than industry average (industry typical: 6&ndash;9 months for small-mid PET)';\n            benchMsg.classList.add('status-fast');\n          } else if (total < 210) {\n            benchMsg.innerHTML = '~ On par with industry benchmark for this tier';\n            benchMsg.classList.add('status-par');\n          } else {\n            benchMsg.innerHTML = '\u26a0 Above industry average &mdash; facility readiness or staff training drives extension';\n            benchMsg.classList.add('status-slow');\n          }\n        }\n\n        selects.forEach(function(select) {\n          select.addEventListener('change', updateTimelineV2);\n        });\n\n        updateTimelineV2();\n      }\n\n      if (document.readyState === 'complete' || document.readyState === 'interactive') {\n        initTimelineCalcV2();\n      } else {\n        document.addEventListener('DOMContentLoaded', initTimelineCalcV2);\n      }\n    })();\n  <\/script>\n<\/section>\n<\/div><\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Water Bottling Project Timeline Estimator Estimate end-to-end project duration from contract signature to first commercial bottle. Output covers 8 phases \u2014 design, contract, production, FAT, shipping, installation, SAT, training, and ramp-up. Mass Technology Tier T1 Starter (600\u20131,500 BPH PET \/ 50\u2013600 BPH HOD)T2 Growth (2,000\u201312,000 BPH PET \/ 600\u20132,000 BPH HOD)T3 Scale (15,000\u201336,000 BPH PET, [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"parent":1108,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","footnotes":""},"class_list":["post-1161","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/pages\/1161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/comments?post=1161"}],"version-history":[{"count":0,"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/pages\/1161\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/pages\/1108"}],"wp:attachment":[{"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/media?parent=1161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}