{"id":3344,"date":"2025-03-12T06:42:06","date_gmt":"2025-03-12T06:42:06","guid":{"rendered":"https:\/\/wp.xpressbuddy.com\/innomax\/?page_id=3344"},"modified":"2026-09-23T07:02:09","modified_gmt":"2026-09-23T07:02:09","slug":"pricing","status":"publish","type":"page","link":"https:\/\/tiles360dev.3droomview.com\/tiles360\/pricing\/","title":{"rendered":"Pricing"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3344\" class=\"elementor elementor-3344\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7ea8527 e-con-full e-flex e-con e-parent\" data-id=\"7ea8527\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ae21c50 elementor-widget elementor-widget-int-page-title-v2\" data-id=\"ae21c50\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"int-page-title-v2.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        <section class=\"page-title pt-200 pos-rel bg_img\"                  style=\"background-image: url('https:\/\/wp.xpressbuddy.com\/innomax\/wp-content\/uploads\/2025\/01\/page_bg01.jpg') \">\r\n            <div class=\"container\">\r\n                <div class=\"page-title-wrap pg-title-wrap\">\r\n                    <div class=\"row mt-none-30 align-items-start\">\r\n                        <div class=\"col-lg-8 mt-30\">\r\n                            <div class=\"page-title-box\">\r\n                                                                    <span class=\"sub-title\"><img decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-content\/uploads\/2025\/01\/dollar-icon.svg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" \/>Our Plans &amp; Pricing<\/span>\r\n                                                                                                    <h2 class=\"title\">Flexible Plans for Smarter Tile Selling<\/h2>\r\n                                                            <\/div>\r\n                        <\/div>\r\n                                            <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/section>\r\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d89d619 e-flex e-con-boxed e-con e-parent\" data-id=\"d89d619\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b7b6b8e e-con-full e-flex e-con e-child\" data-id=\"b7b6b8e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1fdbe93 elementor-widget elementor-widget-int-funfact-v5\" data-id=\"1fdbe93\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"int-funfact-v5.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        <div class=\"pg-fanfact-wrap ul_li_between mt-none-30\">\r\n                            <div class=\"ap-fanfact-item pg-fanfact-item mt-30\">\r\n                                            <h2 class=\"xb-item--number\">5+<\/h2>\r\n                                                                <h5 class=\"xb-item--text\">VISUALIZATION SOLUTIONS<\/h5>\r\n                                                                <p class=\"xb-item--content\">AI, 360\u00b0, 2D, 4D, and mobile visualization experiences built for different customer journeys.<\/p>\r\n                                    <\/div>\r\n                            <div class=\"ap-fanfact-item pg-fanfact-item mt-30\">\r\n                                            <h2 class=\"xb-item--number\">1<\/h2>\r\n                                                                <h5 class=\"xb-item--text\">CONNECTED CRM PLATFORM<\/h5>\r\n                                                                <p class=\"xb-item--content\">Manage customers, leads, projects, quotations, follow-ups, and sales activity from one place.<\/p>\r\n                                    <\/div>\r\n                            <div class=\"ap-fanfact-item pg-fanfact-item mt-30\">\r\n                                            <h2 class=\"xb-item--number\">360\u00b0<\/h2>\r\n                                                                <h5 class=\"xb-item--text\">COMPLETE SALES EXPERIENCE<\/h5>\r\n                                                                <p class=\"xb-item--content\">Connect product discovery, visualization, customer management, and sales into one digital ecosystem.<\/p>\r\n                                    <\/div>\r\n                    <\/div>\r\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f6bcebd e-flex e-con-boxed e-con e-parent\" data-id=\"f6bcebd\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-c1f72e0 e-con-full e-flex e-con e-child\" data-id=\"c1f72e0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0cdee96 elementor-widget elementor-widget-int-pricing-tab\" data-id=\"0cdee96\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"int-pricing-tab.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n        <div class=\"xb-pricing-nav-wrap text-center\">\r\n            <ul class=\"nav nav-pills xb-pricing-nav ul_li_center mb-80\" id=\"pills-tab\" role=\"tablist\">\r\n                \r\n      <li class=\"nav-item\" role=\"presentation\">\r\n        <button class=\"nav-link active\" id=\"d-1-tab\" data-bs-toggle=\"tab\" data-bs-target=\"#d-1\" type=\"button\" role=\"tab\" aria-controls=\"d-1\" aria-selected=\"true\">CRM<\/button>\r\n      <\/li>    \r\n    \r\n      <li class=\"nav-item\" role=\"presentation\">\r\n        <button class=\"nav-link \" id=\"d-2-tab\" data-bs-toggle=\"tab\" data-bs-target=\"#d-2\" type=\"button\" role=\"tab\" aria-controls=\"d-2\" aria-selected=\"false\">visualizer<\/button>\r\n      <\/li>    \r\n                <\/ul>\r\n        <\/div>\r\n\r\n        <div class=\"tab-content\" id=\"pills-tabContent\">\r\n            \r\n      <div class=\"tab-pane show active\" id=\"d-1\" role=\"tabpanel\" aria-labelledby=\"d-1-tab\">\r\n        \t\t<div data-elementor-type=\"page\" data-elementor-id=\"3383\" class=\"elementor elementor-3383\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d954898 e-flex e-con-boxed e-con e-parent\" data-id=\"d954898\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-477ae65 e-con-full e-flex e-con e-child\" data-id=\"477ae65\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-0cb386a e-con-full e-flex e-con e-child\" data-id=\"0cb386a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4bf096b elementor-widget elementor-widget-html\" data-id=\"4bf096b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"crm-pricing-root\" style=\"max-width:1100px;margin:0 auto;\">\r\n  <div style=\"text-align:center;padding:60px 0;color:#888;\">Loading plans\u2026<\/div>\r\n<\/div>\r\n\r\n<style>\r\n  .cp-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(auto-fit, minmax(300px, 420px));\r\n    justify-content: center;\r\n    gap: 24px;\r\n    align-items: stretch;\r\n  }\r\n  .cp-card {\r\n    position: relative;\r\n    background: #fff;\r\n    border: 1px solid #eee;\r\n    border-radius: 20px;\r\n    padding: 32px 28px;\r\n    box-shadow: 0 2px 10px rgba(0,0,0,0.04);\r\n    box-sizing: border-box;\r\n    min-width: 0;\r\n    display: flex;\r\n    flex-direction: column;\r\n    height: 100%;\r\n    transition: transform 0.25s ease, box-shadow 0.25s ease;\r\n  }\r\n  .cp-card:hover {\r\n    transform: translateY(-6px);\r\n    box-shadow: 0 16px 32px rgba(20,30,60,0.12);\r\n  }\r\n  .cp-btn { margin-top: auto; }\r\n  .cp-card.cp-popular {\r\n    border: 2px solid #3351a3;\r\n  }\r\n  @media (min-width: 701px) {\r\n    .cp-card.cp-popular { margin-top: -20px; }\r\n  }\r\n  .cp-ribbon {\r\n    position: absolute;\r\n    top: -14px;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    background: #3351a3;\r\n    color: #fff;\r\n    font-size: 13px;\r\n    font-weight: 700;\r\n    padding: 6px 20px;\r\n    border-radius: 999px;\r\n    white-space: nowrap;\r\n  }\r\n  .cp-icon {\r\n    width: 56px;\r\n    height: 56px;\r\n    border-radius: 50%;\r\n    background: #eef2ff;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    margin-bottom: 16px;\r\n  }\r\n  .cp-icon svg { width: 28px; height: 28px; color: #3351a3; }\r\n  .cp-name { font-size: 22px; font-weight: 700; margin: 0 0 6px; color: #111; }\r\n  .cp-desc { font-size: 14px; color: #777; margin: 0 0 20px; }\r\n  .cp-badge {\r\n    display: inline-block; background: #ffe3e3; color: #e0392f;\r\n    font-size: 12px; font-weight: 700; padding: 5px 12px; border-radius: 999px;\r\n    margin-bottom: 10px;\r\n  }\r\n  .cp-old-price { color: #999; text-decoration: line-through; font-size: 16px; margin-right: 8px; }\r\n  .cp-price-row { display: flex; align-items: baseline; gap: 6px; margin-bottom: 8px; }\r\n  .cp-price { font-size: 38px; font-weight: 800; color: #111; }\r\n  .cp-suffix { color: #888; font-size: 14px; }\r\n  .cp-hr { border: none; border-top: 1px solid #eee; margin: 20px 0; }\r\n  .cp-features-label { font-size: 15px; font-weight: 700; margin-bottom: 14px; color: #111; }\r\n  .cp-feature-list { list-style: none; margin: 0 0 8px; padding: 0; }\r\n  .cp-feature-list li {\r\n    display: flex; align-items: flex-start; gap: 12px;\r\n    padding: 8px 0; font-size: 14px; color: #333;\r\n  }\r\n  .cp-feature-list li.cp-extra { display: none; }\r\n  .cp-feature-list.cp-expanded li.cp-extra { display: flex; }\r\n  .cp-feature-list svg { flex-shrink: 0; width: 20px; height: 20px; color: #3351a3; margin-top: 2px; }\r\n  .cp-show-more {\r\n    background: none; border: none; color: #3351a3; font-weight: 600;\r\n    cursor: pointer; padding: 0 0 20px; display: block; font-size: 14px;\r\n  }\r\n  .cp-btn {\r\n    display: block; width: 100%; text-align: center;\r\n    padding: 14px; border-radius: 10px; border: none;\r\n    background: #111; color: #fff; font-weight: 700; cursor: pointer; font-size: 15px;\r\n  }\r\n  .cp-card.cp-popular .cp-btn { background: #3351a3; }\r\n\r\n  #crm-pricing-root { padding: 0 16px; }\r\n\r\n  @media (max-width: 700px) {\r\n    .cp-grid { grid-template-columns: 1fr; max-width: 420px; margin: 0 auto; gap: 20px; }\r\n    .cp-card { padding: 26px 20px; }\r\n    .cp-price { font-size: 32px; }\r\n    .cp-name { font-size: 20px; }\r\n    .cp-ribbon { font-size: 12px; padding: 5px 16px; top: -12px; }\r\n    #crm-pricing-root { padding: 0 12px; }\r\n  }\r\n\r\n  @media (min-width: 701px) and (max-width: 980px) {\r\n    .cp-grid { grid-template-columns: repeat(2, 1fr); }\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n(function () {\r\n  const PLANS_API_URL =\r\n    \"https:\/\/tiles360.ai\/api\/getPriceList?type=crm\";\r\n\r\n  const CURRENCY_ENDPOINT =\r\n    (window.tiles360AjaxUrl || \"\/wp-admin\/admin-ajax.php\") +\r\n    \"?action=tiles360_get_currency\";\r\n\r\n  const DISCOUNT_PERCENT = 50;\r\n  const PENDING_CHECKOUT_KEY = \"tiles360_pending_checkout\";\r\n\r\n  const root = document.getElementById(\"crm-pricing-root\");\r\n\r\n  if (!root) {\r\n    return;\r\n  }\r\n\r\n  const checkIcon = `\r\n    <svg viewBox=\"0 0 24 24\" fill=\"none\">\r\n      <path\r\n        d=\"M20 6L9 17l-5-5\"\r\n        stroke=\"currentColor\"\r\n        stroke-width=\"2\"\r\n        stroke-linecap=\"round\"\r\n        stroke-linejoin=\"round\"\r\n      \/>\r\n    <\/svg>\r\n  `;\r\n\r\n  const planIcon = `\r\n    <svg viewBox=\"0 0 24 24\" fill=\"none\">\r\n      <path\r\n        d=\"M4 21V9l8-6 8 6v12\"\r\n        stroke=\"currentColor\"\r\n        stroke-width=\"2\"\r\n        stroke-linecap=\"round\"\r\n        stroke-linejoin=\"round\"\r\n      \/>\r\n      <path\r\n        d=\"M9 21v-6h6v6\"\r\n        stroke=\"currentColor\"\r\n        stroke-width=\"2\"\r\n        stroke-linecap=\"round\"\r\n        stroke-linejoin=\"round\"\r\n      \/>\r\n    <\/svg>\r\n  `;\r\n\r\n  Promise.all([\r\n    detectCurrency(),\r\n    fetchPlans()\r\n  ])\r\n    .then(([currency, plans]) => {\r\n      const currencyPlans = plans.filter(\r\n        (plan) => plan.currency === currency\r\n      );\r\n\r\n      const fallbackPlans = plans.filter(\r\n        (plan) => plan.currency === \"$\"\r\n      );\r\n\r\n      const finalPlans = currencyPlans.length\r\n        ? currencyPlans\r\n        : fallbackPlans;\r\n\r\n      finalPlans.sort(\r\n        (firstPlan, secondPlan) =>\r\n          firstPlan.name.length - secondPlan.name.length\r\n      );\r\n\r\n      render(finalPlans, currency);\r\n    })\r\n    .catch((error) => {\r\n      console.error(\"Pricing load failed:\", error);\r\n\r\n      root.innerHTML = `\r\n        <div\r\n          style=\"\r\n            text-align:center;\r\n            padding:60px 0;\r\n            color:#c00;\r\n          \"\r\n        >\r\n          Unable to load pricing. Please refresh.\r\n        <\/div>\r\n      `;\r\n    });\r\n\r\n  function detectCurrency() {\r\n    return fetch(CURRENCY_ENDPOINT)\r\n      .then((response) => {\r\n        if (!response.ok) {\r\n          throw new Error(\"Currency request failed.\");\r\n        }\r\n\r\n        return response.json();\r\n      })\r\n      .then((response) => {\r\n        return response.success &&\r\n          response.data &&\r\n          response.data.currency\r\n            ? response.data.currency\r\n            : \"$\";\r\n      })\r\n      .catch(() => \"$\");\r\n  }\r\n\r\n  function fetchPlans() {\r\n    return fetch(PLANS_API_URL)\r\n      .then((response) => {\r\n        if (!response.ok) {\r\n          throw new Error(\"Plan request failed.\");\r\n        }\r\n\r\n        return response.json();\r\n      })\r\n      .then((response) => {\r\n        if (!response.status) {\r\n          throw new Error(\r\n            response.message || \"Unable to load plans.\"\r\n          );\r\n        }\r\n\r\n        return Array.isArray(response.data)\r\n          ? response.data\r\n          : [];\r\n      });\r\n  }\r\n\r\n  function render(plans, currency) {\r\n    if (!plans.length) {\r\n      root.innerHTML = `\r\n        <div\r\n          style=\"\r\n            text-align:center;\r\n            padding:60px 0;\r\n            color:#888;\r\n          \"\r\n        >\r\n          No pricing plans are available.\r\n        <\/div>\r\n      `;\r\n\r\n      return;\r\n    }\r\n\r\n    root.innerHTML = `\r\n      <div class=\"cp-grid\">\r\n        ${plans\r\n          .map((plan) => createPlanCard(plan, currency))\r\n          .join(\"\")}\r\n      <\/div>\r\n    `;\r\n\r\n    root.querySelectorAll(\".cp-card\").forEach((cardElement) => {\r\n      const planId = cardElement.dataset.planId;\r\n\r\n      const showMoreButton =\r\n        cardElement.querySelector(\".cp-show-more\");\r\n\r\n      if (showMoreButton) {\r\n        showMoreButton.addEventListener(\"click\", () => {\r\n          const featureList =\r\n            cardElement.querySelector(\".cp-feature-list\");\r\n\r\n          if (!featureList) {\r\n            return;\r\n          }\r\n\r\n          featureList.classList.toggle(\"cp-expanded\");\r\n\r\n          showMoreButton.textContent =\r\n            featureList.classList.contains(\"cp-expanded\")\r\n              ? \"Show Less\"\r\n              : \"Show More\";\r\n        });\r\n      }\r\n\r\n      const chooseButton =\r\n        cardElement.querySelector(\".cp-btn\");\r\n\r\n      if (chooseButton) {\r\n        chooseButton.addEventListener(\"click\", () => {\r\n          goToCheckout(planId, \"monthly\");\r\n        });\r\n      }\r\n    });\r\n  }\r\n\r\n  function createPlanCard(plan, currency) {\r\n    const isPopular = Boolean(plan.is_popular);\r\n\r\n    const features = Array.isArray(plan.features)\r\n      ? plan.features\r\n      : [];\r\n\r\n    const visibleFeatures = features.slice(0, 5);\r\n    const extraFeatures = features.slice(5);\r\n\r\n    return `\r\n      <div\r\n        class=\"cp-card ${isPopular ? \"cp-popular\" : \"\"}\"\r\n        data-plan-id=\"${esc(plan.id)}\"\r\n      >\r\n        ${\r\n          isPopular\r\n            ? `<div class=\"cp-ribbon\">Most Popular<\/div>`\r\n            : \"\"\r\n        }\r\n\r\n        <div class=\"cp-icon\">\r\n          ${planIcon}\r\n        <\/div>\r\n\r\n        <h3 class=\"cp-name\">\r\n          ${esc(plan.name)}\r\n        <\/h3>\r\n\r\n        <p class=\"cp-desc\">\r\n          ${esc(plan.description)}\r\n        <\/p>\r\n\r\n        <span class=\"cp-badge\">\r\n          ${DISCOUNT_PERCENT}% OFF\r\n        <\/span>\r\n\r\n        <br>\r\n\r\n        <div class=\"cp-price-row\">\r\n          <span class=\"cp-old-price\">\r\n            ${formatOriginalPrice(\r\n              plan,\r\n              \"monthly\",\r\n              currency\r\n            )}\r\n          <\/span>\r\n\r\n          <span class=\"cp-price\">\r\n            ${formatPrice(\r\n              plan,\r\n              \"monthly\",\r\n              currency\r\n            )}\r\n          <\/span>\r\n        <\/div>\r\n\r\n        <span class=\"cp-suffix\">\r\n          Per Month\r\n        <\/span>\r\n\r\n        <hr class=\"cp-hr\">\r\n\r\n        <div class=\"cp-features-label\">\r\n          Features\r\n        <\/div>\r\n\r\n        <ul class=\"cp-feature-list\">\r\n          ${visibleFeatures\r\n            .map((feature) => {\r\n              return `\r\n                <li>\r\n                  ${checkIcon}\r\n                  <span>\r\n                    ${featureLabel(feature)}\r\n                  <\/span>\r\n                <\/li>\r\n              `;\r\n            })\r\n            .join(\"\")}\r\n\r\n          ${extraFeatures\r\n            .map((feature) => {\r\n              return `\r\n                <li class=\"cp-extra\">\r\n                  ${checkIcon}\r\n                  <span>\r\n                    ${featureLabel(feature)}\r\n                  <\/span>\r\n                <\/li>\r\n              `;\r\n            })\r\n            .join(\"\")}\r\n        <\/ul>\r\n\r\n        ${\r\n          extraFeatures.length\r\n            ? `\r\n              <button\r\n                type=\"button\"\r\n                class=\"cp-show-more\"\r\n              >\r\n                Show More\r\n              <\/button>\r\n            `\r\n            : \"\"\r\n        }\r\n\r\n        <button\r\n          type=\"button\"\r\n          class=\"cp-btn\"\r\n          data-plan-id=\"${esc(plan.id)}\"\r\n        >\r\n          Choose ${esc(plan.name)}\r\n        <\/button>\r\n      <\/div>\r\n    `;\r\n  }\r\n\r\n  function formatOriginalPrice(\r\n    plan,\r\n    cycle,\r\n    currency\r\n  ) {\r\n    const currentPrice = Number(\r\n      cycle === \"monthly\"\r\n        ? plan.monthly_price\r\n        : plan.yearly_price\r\n    );\r\n\r\n    if (!Number.isFinite(currentPrice)) {\r\n      return `${currency}0`;\r\n    }\r\n\r\n    const originalPrice =\r\n      currentPrice \/\r\n      (1 - DISCOUNT_PERCENT \/ 100);\r\n\r\n    return (\r\n      currency +\r\n      Math.round(originalPrice).toLocaleString()\r\n    );\r\n  }\r\n\r\n  function formatPrice(plan, cycle, currency) {\r\n    const amount = Number(\r\n      cycle === \"monthly\"\r\n        ? plan.monthly_price\r\n        : plan.yearly_price\r\n    );\r\n\r\n    if (!Number.isFinite(amount)) {\r\n      return `${currency}0`;\r\n    }\r\n\r\n    return currency + amount.toLocaleString();\r\n  }\r\n\r\n  function featureLabel(feature) {\r\n    if (!feature) {\r\n      return \"\";\r\n    }\r\n\r\n    const featureName = esc(feature.feature);\r\n    const featureValue = feature.value;\r\n\r\n    if (\r\n      featureValue &&\r\n      featureValue !== \"Yes\"\r\n    ) {\r\n      return (\r\n        featureName +\r\n        \" \u2013 \" +\r\n        esc(featureValue)\r\n      );\r\n    }\r\n\r\n    return featureName;\r\n  }\r\n\r\n  function isLoggedIn() {\r\n    return (\r\n      localStorage.getItem(\r\n        \"t360_api_logged_in\"\r\n      ) === \"1\" &&\r\n      Boolean(\r\n        localStorage.getItem(\r\n          \"t360_api_token\"\r\n        )\r\n      )\r\n    );\r\n  }\r\n\r\n  function siteUrl(path) {\r\n    const baseUrl =\r\n      window.tiles360SiteUrl || \"\";\r\n\r\n    return (\r\n      baseUrl.replace(\/\\\/$\/, \"\") +\r\n      \"\/\" +\r\n      path.replace(\/^\\\/\/, \"\")\r\n    );\r\n  }\r\n\r\n  function savePendingCheckout(\r\n    planId,\r\n    cycle\r\n  ) {\r\n    const checkoutData = {\r\n      planId: String(planId),\r\n      cycle: cycle || \"monthly\",\r\n      createdAt: Date.now()\r\n    };\r\n\r\n    try {\r\n      sessionStorage.setItem(\r\n        PENDING_CHECKOUT_KEY,\r\n        JSON.stringify(checkoutData)\r\n      );\r\n\r\n      return true;\r\n    } catch (error) {\r\n      console.error(\r\n        \"Unable to save checkout selection:\",\r\n        error\r\n      );\r\n\r\n      return false;\r\n    }\r\n  }\r\n\r\n  function goToCheckout(\r\n    planId,\r\n    cycle = \"monthly\"\r\n  ) {\r\n    if (!planId) {\r\n      console.error(\"Plan ID is missing.\");\r\n      return;\r\n    }\r\n\r\n    const saved = savePendingCheckout(\r\n      planId,\r\n      cycle\r\n    );\r\n\r\n    if (!saved) {\r\n      alert(\r\n        \"Unable to save the selected plan. Please enable browser storage and try again.\"\r\n      );\r\n\r\n      return;\r\n    }\r\n\r\n    if (isLoggedIn()) {\r\n      window.location.href =\r\n        siteUrl(\"\/checkout\");\r\n\r\n      return;\r\n    }\r\n\r\n    window.location.href =\r\n      siteUrl(\"\/login\");\r\n  }\r\n\r\n  function esc(value) {\r\n    const element =\r\n      document.createElement(\"div\");\r\n\r\n    element.textContent =\r\n      value == null ? \"\" : String(value);\r\n\r\n    return element.innerHTML;\r\n  }\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7ac1098 elementor-widget elementor-widget-html\" data-id=\"7ac1098\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script>\n    \/**\n * Dynamic Checkout \u2014 tiles360\n * Reads plan_id + cycle from URL, fetches live plan data, shows summary,\n * then hands off to Razorpay via WP AJAX endpoints (order created server-side).\n *\/\n(function () {\n  const PLANS_API_URL = \"https:\/\/tiles360.ai\/api\/getPriceList?type=crm\";\n  const root = document.getElementById(\"checkout-root\");\n  if (!root) return;\n\n  const params = new URLSearchParams(window.location.search);\n  let planId = params.get(\"plan_id\");\n  let cycle = params.get(\"cycle\") === \"yearly\" ? \"yearly\" : \"monthly\";\n\n  \/\/ Fallback: if we landed here post-login without plan_id in the URL\n  \/\/ (i.e. \/login didn't preserve our ?redirect= param), recover it from\n  \/\/ what we stashed in localStorage before sending the user to log in.\n  if (!planId) {\n    const pending = localStorage.getItem(\"tiles360_pending_checkout\");\n    if (pending) {\n      try {\n        const parsed = JSON.parse(pending);\n        planId = parsed.planId;\n        cycle = parsed.cycle || \"monthly\";\n      } catch (e) {\n        \/\/ ignore malformed value\n      }\n    }\n  }\n  localStorage.removeItem(\"tiles360_pending_checkout\"); \/\/ one-time use\n\n  if (!planId) {\n    root.innerHTML = `<p class=\"checkout-error\">No plan selected. <a href=\"${(window.tiles360SiteUrl || \"\")}\/pricing\">Go back to pricing<\/a>.<\/p>`;\n    return;\n  }\n\n  root.innerHTML = `<div class=\"checkout-loading\">Loading your order\u2026<\/div>`;\n\n  fetch(PLANS_API_URL)\n    .then((r) => r.json())\n    .then((json) => {\n      if (!json.status) throw new Error(json.message);\n      const plan = json.data.find((p) => String(p.id) === planId);\n      if (!plan) throw new Error(\"Plan not found\");\n      renderSummary(plan, cycle);\n    })\n    .catch((err) => {\n      console.error(err);\n      root.innerHTML = `<p class=\"checkout-error\">Could not load plan details. <a href=\"${(window.tiles360SiteUrl || \"\")}\/pricing\">Go back to pricing<\/a>.<\/p>`;\n    });\n\n  function renderSummary(plan, cycle) {\n    const price = cycle === \"monthly\" ? plan.monthly_price : plan.yearly_price;\n\n    root.innerHTML = `\n      <div class=\"checkout-summary\">\n        <h2>Order Summary<\/h2>\n        <div class=\"summary-row\">\n          <span>${escapeHtml(plan.name)}<\/span>\n          <span>${plan.currency}${Number(price).toLocaleString()}<\/span>\n        <\/div>\n        <div class=\"summary-row muted\">\n          <span>Billing cycle<\/span>\n          <span>${cycle === \"monthly\" ? \"Monthly\" : \"Yearly\"}<\/span>\n        <\/div>\n        <hr \/>\n        <div class=\"summary-row total\">\n          <span>Total<\/span>\n          <span>${plan.currency}${Number(price).toLocaleString()}<\/span>\n        <\/div>\n\n        <form id=\"checkout-form\">\n          <input type=\"text\" name=\"customer_name\" placeholder=\"Full name\" required \/>\n          <input type=\"email\" name=\"customer_email\" placeholder=\"Email\" required \/>\n          <input type=\"tel\" name=\"customer_phone\" placeholder=\"Phone\" required \/>\n          <button type=\"submit\" id=\"pay-btn\">Pay ${plan.currency}${Number(price).toLocaleString()}<\/button>\n        <\/form>\n      <\/div>\n    `;\n\n    document.getElementById(\"checkout-form\").addEventListener(\"submit\", (e) => {\n      e.preventDefault();\n      startRazorpayPayment(plan, cycle, new FormData(e.target));\n    });\n  }\n\n  function startRazorpayPayment(plan, cycle, formData) {\n    const payBtn = document.getElementById(\"pay-btn\");\n    payBtn.disabled = true;\n    payBtn.textContent = \"Processing\u2026\";\n\n    \/\/ Step 1: ask our own server to create a Razorpay order (needs secret key server-side)\n    fetch(tiles360Checkout.ajaxUrl, {\n      method: \"POST\",\n      headers: { \"Content-Type\": \"application\/x-www-form-urlencoded\" },\n      body: new URLSearchParams({\n        action: \"tiles360_create_order\",\n        nonce: tiles360Checkout.nonce,\n        plan_id: plan.id,\n        cycle: cycle,\n      }),\n    })\n      .then((r) => r.json())\n      .then((res) => {\n        if (!res.success) throw new Error(res.data?.message || \"Order creation failed\");\n\n        const order = res.data; \/\/ { order_id, amount, currency, key_id }\n\n        \/\/ Step 2: open Razorpay checkout widget\n        const rzp = new Razorpay({\n          key: order.key_id,\n          amount: order.amount, \/\/ in smallest currency unit, set server-side\n          currency: order.currency,\n          order_id: order.order_id,\n          name: \"tiles360\",\n          description: `${plan.name} \u2014 ${cycle}`,\n          prefill: {\n            name: formData.get(\"customer_name\"),\n            email: formData.get(\"customer_email\"),\n            contact: formData.get(\"customer_phone\"),\n          },\n          handler: function (response) {\n            \/\/ Step 3: verify payment server-side before granting access\n            fetch(tiles360Checkout.ajaxUrl, {\n              method: \"POST\",\n              headers: { \"Content-Type\": \"application\/x-www-form-urlencoded\" },\n              body: new URLSearchParams({\n                action: \"tiles360_verify_payment\",\n                nonce: tiles360Checkout.nonce,\n                razorpay_payment_id: response.razorpay_payment_id,\n                razorpay_order_id: response.razorpay_order_id,\n                razorpay_signature: response.razorpay_signature,\n                plan_id: plan.id,\n              }),\n            })\n              .then((r) => r.json())\n              .then((verifyRes) => {\n                if (verifyRes.success) {\n                  window.location.href = (window.tiles360SiteUrl || \"\") + \"\/checkout\/success\";\n                } else {\n                  alert(\"Payment verification failed. Please contact support.\");\n                }\n              });\n          },\n          modal: {\n            ondismiss: function () {\n              payBtn.disabled = false;\n              payBtn.textContent = \"Retry Payment\";\n            },\n          },\n        });\n        rzp.open();\n      })\n      .catch((err) => {\n        console.error(err);\n        alert(\"Something went wrong starting payment. Please try again.\");\n        payBtn.disabled = false;\n        payBtn.textContent = \"Retry\";\n      });\n  }\n\n  function escapeHtml(str) {\n    const div = document.createElement(\"div\");\n    div.textContent = str ?? \"\";\n    return div.innerHTML;\n  }\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\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\r\n      <\/div>\r\n      \r\n      <div class=\"tab-pane \" id=\"d-2\" role=\"tabpanel\" aria-labelledby=\"d-2-tab\">\r\n        \t\t<div data-elementor-type=\"page\" data-elementor-id=\"3375\" class=\"elementor elementor-3375\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f2fd2fa e-flex e-con-boxed e-con e-parent\" data-id=\"f2fd2fa\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-32a60f8 e-con-full e-flex e-con e-child\" data-id=\"32a60f8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-e7b2e52 e-con-full e-flex e-con e-child\" data-id=\"e7b2e52\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c1f0c7f elementor-widget elementor-widget-html\" data-id=\"c1f0c7f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"visualizer-pricing-root\" style=\"max-width:1300px;margin:0 auto;\"><\/div>\r\n\r\n<style>\r\n  #visualizer-pricing-root .vp-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));\r\n    gap: 24px;\r\n    align-items: stretch;\r\n  }\r\n  #visualizer-pricing-root .vp-card {\r\n    position: relative;\r\n    background: #fff;\r\n    border: 1px solid #eee;\r\n    border-radius: 20px;\r\n    padding: 32px 28px;\r\n    box-shadow: 0 2px 10px rgba(0,0,0,0.04);\r\n    box-sizing: border-box;\r\n    min-width: 0;\r\n    display: flex;\r\n    flex-direction: column;\r\n    height: 100%;\r\n    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;\r\n  }\r\n  #visualizer-pricing-root .vp-card:hover {\r\n    transform: translateY(-6px);\r\n    box-shadow: 0 16px 32px rgba(20,30,60,0.12);\r\n    border-color: #d8e0ff;\r\n  }\r\n  #visualizer-pricing-root .vp-icon {\r\n    width: 56px;\r\n    height: 56px;\r\n    border-radius: 14px;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    margin-bottom: 20px;\r\n  }\r\n  #visualizer-pricing-root .vp-icon svg { width: 26px; height: 26px; color: #fff; }\r\n  #visualizer-pricing-root .vp-name {\r\n    font-size: 18px; font-weight: 800; letter-spacing: 0.3px;\r\n    margin: 0 0 10px; color: #111; text-transform: uppercase;\r\n  }\r\n  #visualizer-pricing-root .vp-desc { font-size: 14px; color: #777; margin: 0 0 20px; line-height: 1.5; flex-grow: 0; }\r\n  #visualizer-pricing-root .vp-hr { border: none; border-top: 1px solid #eee; margin: auto 0 20px; }\r\n  #visualizer-pricing-root .vp-feature-list { list-style: none; margin: 0; padding: 0; }\r\n  #visualizer-pricing-root .vp-feature-list li {\r\n    display: flex; align-items: flex-start; gap: 10px;\r\n    padding: 7px 0; font-size: 14px; color: #333; font-weight: 600;\r\n  }\r\n  #visualizer-pricing-root .vp-feature-list svg {\r\n    flex-shrink: 0; width: 18px; height: 18px; margin-top: 2px;\r\n  }\r\n\r\n  @media (max-width: 700px) {\r\n    #visualizer-pricing-root .vp-grid { grid-template-columns: 1fr; max-width: 420px; margin: 0 auto; gap: 20px; }\r\n    #visualizer-pricing-root .vp-card { padding: 26px 20px; }\r\n  }\r\n  @media (min-width: 701px) and (max-width: 980px) {\r\n    #visualizer-pricing-root .vp-grid { grid-template-columns: repeat(2, 1fr); }\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n(function () {\r\n  const root = document.getElementById(\"visualizer-pricing-root\");\r\n  if (!root) return;\r\n\r\n  const checkIcon = (color) => `<svg viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M20 6L9 17l-5-5\" stroke=\"${color}\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>`;\r\n\r\n  \/\/ Static data \u2014 edit this array to change Visualizer plans. No API involved.\r\n  const VISUALIZER_PLANS = [\r\n    {\r\n      name: \"2D Visualizer\",\r\n      description: \"Best for quick room previews, before\/after tile comparison, and everyday customer selection.\",\r\n      color: \"#2f6bff\",\r\n      icon: `<svg viewBox=\"0 0 24 24\" fill=\"none\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"4\" stroke=\"white\" stroke-width=\"2\"\/><path d=\"M3 15l5-5 4 4 5-6 4 5\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>`,\r\n      features: [\r\n        \"100+ Predefined Rooms\",\r\n        \"Unlimited Product Design SKU\",\r\n        \"Save & Share Room Previews\",\r\n        \"Save Product PDFs\",\r\n        \"Change Grout Color & Width\",\r\n      ],\r\n    },\r\n    {\r\n      name: \"360\u00b0 Visualizer\",\r\n      description: \"Ideal for immersive full-room exploration and interactive showroom presentations.\",\r\n      color: \"#ff4d7d\",\r\n      icon: `<svg viewBox=\"0 0 24 24\" fill=\"none\"><circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"white\" stroke-width=\"2\"\/><path d=\"M8 12a4 4 0 118 0\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\"\/><\/svg>`,\r\n      features: [\r\n        \"100+ Predefined Rooms\",\r\n        \"Unlimited Product Design SKU\",\r\n        \"Save & Share 360 Room URL\",\r\n        \"Save Product PDFs\",\r\n        \"E-catalog PDFs\",\r\n      ],\r\n    },\r\n    {\r\n      name: \"4D Visualizer\",\r\n      description: \"Perfect for live room scanning and real-time applied tile visualization.\",\r\n      color: \"#26b36a\",\r\n      icon: `<svg viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M12 2l8 4.5v9L12 20l-8-4.5v-9L12 2z\" stroke=\"white\" stroke-width=\"2\" stroke-linejoin=\"round\"\/><path d=\"M9 12l2 2 4-4\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>`,\r\n      features: [\r\n        \"Save 4D Room Preview Video\",\r\n        \"Predefined Rooms\",\r\n        \"Unlimited Product Design SKU\",\r\n        \"Save & Share Room URL\",\r\n        \"Change Grout Color & Width\",\r\n      ],\r\n    },\r\n    {\r\n      name: \"AI Visualizer\",\r\n      description: \"Ideal for AI-assisted tile suggestions, instant room concepts, and faster customer decision-making.\",\r\n      color: \"#2f6bff\",\r\n      icon: `<svg viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M12 3v4M12 17v4M3 12h4M17 12h4M6 6l2.5 2.5M15.5 15.5L18 18M18 6l-2.5 2.5M8.5 15.5L6 18\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\"\/><circle cx=\"12\" cy=\"12\" r=\"3\" stroke=\"white\" stroke-width=\"2\"\/><\/svg>`,\r\n      features: [\r\n        \"Upload Your Rooms\",\r\n        \"Unlimited Product Design SKU\",\r\n        \"Save & Share 360 Room URL\",\r\n        \"Save Product PDFs\",\r\n        \"Change Grout Color & Width\",\r\n      ],\r\n    },\r\n  ];\r\n\r\n  root.innerHTML = `<div class=\"vp-grid\">${VISUALIZER_PLANS.map(card).join(\"\")}<\/div>`;\r\n\r\n  function card(plan) {\r\n    return `\r\n      <div class=\"vp-card\">\r\n        <div class=\"vp-icon\" style=\"background:${plan.color};\">${plan.icon}<\/div>\r\n        <h3 class=\"vp-name\">${esc(plan.name)}<\/h3>\r\n        <p class=\"vp-desc\">${esc(plan.description)}<\/p>\r\n        <hr class=\"vp-hr\" \/>\r\n        <ul class=\"vp-feature-list\">\r\n          ${plan.features.map((f) => `<li>${checkIcon(plan.color)}<span>${esc(f)}<\/span><\/li>`).join(\"\")}\r\n        <\/ul>\r\n      <\/div>\r\n    `;\r\n  }\r\n\r\n  function esc(str) {\r\n    const div = document.createElement(\"div\");\r\n    div.textContent = str ?? \"\";\r\n    return div.innerHTML;\r\n  }\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\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\r\n      <\/div>\r\n              <\/div>\r\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-687b251 elementor-widget elementor-widget-int-button\" data-id=\"687b251\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"int-button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t                <div class=\"xb-btn-wrap\">\r\n            <a href=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/contact\/\"                class=\"thm-btn thm-btn--aso\">Contact Us<\/a>\r\n        <\/div>\r\n    \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a7d6e2a e-flex e-con-boxed e-con e-parent\" data-id=\"a7d6e2a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-35714fb e-con-full e-flex e-con e-child\" data-id=\"35714fb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-37e99ba elementor-widget elementor-widget-int-team-info\" data-id=\"37e99ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"int-team-info.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        <div class=\"team-wrap ul_li_between\">\r\n            <ul class=\"xb-item--skill list-unstyled\">\r\n                                    <li>Choose the CRM features you need.<\/li>\r\n                                    <li>Add the right visualizer solutions.<\/li>\r\n                                    <li>Select users, integrations, and add-ons.<\/li>\r\n                                    <li>Build a plan around your business goals.<\/li>\r\n                            <\/ul>\r\n                            <div class=\"team-btn xb-btn-wrap\">\r\n                    <a href=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/contact\/\"                        class=\"thm-btn thm-btn--aso\">Request Custom Plan<\/a>\r\n                <\/div>\r\n                        <div class=\"xb-item--holders\">\r\n                                    <h3 class=\"xb-item--title\">Build a Tiles360 Plan That Fits Your Business<\/h3>\r\n                                                    <p class=\"xb-item--content\">Need a custom mix of CRM, visualizers, users, integrations, or other Tiles360 features? Tell us what you need and we\u2019ll help create a subscription designed around your business.<\/p>\r\n                            <\/div>\r\n        <\/div>\r\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4d30340 e-con-full e-flex e-con e-parent\" data-id=\"4d30340\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-23e4354 elementor-widget elementor-widget-int-brand\" data-id=\"23e4354\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"int-brand.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        <section class=\"brand\">\r\n            <div class=\"container\">\r\n                <div class=\"o-hidden\">\r\n                    <div class=\"brand-sub_title\">\r\n                        <span>Built for the <b>Modern<\/b> Tile &amp; <b>Ceramic<\/b> Industry<\/span>\r\n                    <\/div>\r\n                    <div class=\"brand-wrap brand-marquee\">\r\n                                                    <div class=\"brand-logo\"><img decoding=\"async\" width=\"174\" height=\"84\" src=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-content\/uploads\/2026\/08\/KEO-CSh2maNG.webp\" class=\"attachment-medium size-medium\" alt=\"\" \/><\/div>\r\n                                                    <div class=\"brand-logo\"><img decoding=\"async\" width=\"174\" height=\"84\" src=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-content\/uploads\/2026\/08\/SUNWORLD-3rAYXNFx.webp\" class=\"attachment-medium size-medium\" alt=\"\" \/><\/div>\r\n                                                    <div class=\"brand-logo\"><img loading=\"lazy\" decoding=\"async\" width=\"174\" height=\"84\" src=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-content\/uploads\/2026\/08\/VELZONE-CiWWmP5V.webp\" class=\"attachment-medium size-medium\" alt=\"\" \/><\/div>\r\n                                                    <div class=\"brand-logo\"><img loading=\"lazy\" decoding=\"async\" width=\"174\" height=\"84\" src=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-content\/uploads\/2026\/08\/ALASKA-DDKTVV5Q.webp\" class=\"attachment-medium size-medium\" alt=\"\" \/><\/div>\r\n                                                    <div class=\"brand-logo\"><img loading=\"lazy\" decoding=\"async\" width=\"174\" height=\"84\" src=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-content\/uploads\/2026\/08\/GRIFINE-DC2Smskl.webp\" class=\"attachment-medium size-medium\" alt=\"\" \/><\/div>\r\n                                                    <div class=\"brand-logo\"><img loading=\"lazy\" decoding=\"async\" width=\"174\" height=\"84\" src=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-content\/uploads\/2026\/08\/ICOLUX-BoXxe3oI.webp\" class=\"attachment-medium size-medium\" alt=\"\" \/><\/div>\r\n                                                    <div class=\"brand-logo\"><img loading=\"lazy\" decoding=\"async\" width=\"174\" height=\"84\" src=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-content\/uploads\/2026\/08\/MOZILLA-DDIGba4l.webp\" class=\"attachment-medium size-medium\" alt=\"\" \/><\/div>\r\n                                                    <div class=\"brand-logo\"><img loading=\"lazy\" decoding=\"async\" width=\"174\" height=\"84\" src=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-content\/uploads\/2026\/08\/NESSA-D_OxCTzR.webp\" class=\"attachment-medium size-medium\" alt=\"\" \/><\/div>\r\n                                                    <div class=\"brand-logo\"><img loading=\"lazy\" decoding=\"async\" width=\"174\" height=\"84\" src=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-content\/uploads\/2026\/08\/ORINDA-buPVKfWj.webp\" class=\"attachment-medium size-medium\" alt=\"\" \/><\/div>\r\n                                                    <div class=\"brand-logo\"><img loading=\"lazy\" decoding=\"async\" width=\"174\" height=\"84\" src=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-content\/uploads\/2026\/08\/SEZ-DMgHkv56.webp\" class=\"attachment-medium size-medium\" alt=\"\" \/><\/div>\r\n                                                    <div class=\"brand-logo\"><img loading=\"lazy\" decoding=\"async\" width=\"174\" height=\"84\" src=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-content\/uploads\/2026\/08\/TC-VX6m2JZ.webp\" class=\"attachment-medium size-medium\" alt=\"\" \/><\/div>\r\n                                                    <div class=\"brand-logo\"><img loading=\"lazy\" decoding=\"async\" width=\"174\" height=\"84\" src=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-content\/uploads\/2026\/08\/AGL-CVaopo9q.webp\" class=\"attachment-medium size-medium\" alt=\"\" \/><\/div>\r\n                                                    <div class=\"brand-logo\"><img loading=\"lazy\" decoding=\"async\" width=\"174\" height=\"84\" src=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-content\/uploads\/2026\/08\/BONZER-C1ieFfu8.webp\" class=\"attachment-medium size-medium\" alt=\"\" \/><\/div>\r\n                                                    <div class=\"brand-logo\"><img loading=\"lazy\" decoding=\"async\" width=\"174\" height=\"84\" src=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-content\/uploads\/2026\/08\/HARMONY-BLDbBgL_.webp\" class=\"attachment-medium size-medium\" alt=\"\" \/><\/div>\r\n                                                    <div class=\"brand-logo\"><img loading=\"lazy\" decoding=\"async\" width=\"174\" height=\"84\" src=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-content\/uploads\/2026\/08\/SOMANY-5HwtJ67T.webp\" class=\"attachment-medium size-medium\" alt=\"\" \/><\/div>\r\n                                                    <div class=\"brand-logo\"><img loading=\"lazy\" decoding=\"async\" width=\"174\" height=\"84\" src=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-content\/uploads\/2026\/08\/SUNHEART-Cgc9nkrf.webp\" class=\"attachment-medium size-medium\" alt=\"\" \/><\/div>\r\n                                            <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/section>\r\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-045219b e-flex e-con-boxed e-con e-parent\" data-id=\"045219b\" 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-464be56 elementor-widget elementor-widget-int-sec-title\" data-id=\"464be56\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"int-sec-title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n                <div class=\"sec-title--two text-center mb-60\">\r\n                            <span class=\"sub-title wow fadeInDown\" data-wow-duration=\"600ms\">\r\n                    <img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"143\" src=\"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-content\/uploads\/2025\/01\/cap.svg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" \/>FAQ\u2019S                <\/span>\r\n                        <div class=\"clearfix\"><\/div>\r\n                            <h2 class=\"title wow fadeInDown\" data-wow-delay=\"150ms\"\r\n                    data-wow-duration=\"600ms\">Have a Question? Look Here<\/h2>\r\n                    <\/div>\r\n    \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-da23491 elementor-widget elementor-widget-int-faq\" data-id=\"da23491\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"int-faq.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        <div class=\"xb-faq\">\r\n            <ul class=\"accordion_box clearfix list-unstyled\">\r\n                                    <li class=\"accordion block active-block\">\r\n                        <div class=\"acc-btn active\">\r\n                                                            <span class=\"number\">01<\/span> _\r\n                                                        What is included in a Tiles360 plan?                            <span class=\"arrow\"><\/span>\r\n                        <\/div>\r\n                        <div class=\"acc_body current\">\r\n                            <div class=\"content\">\r\n                                <p>Tiles360 plans can include CRM tools, visualizer solutions, customer management, project tracking, quotations, team access, and other digital sales features depending on the selected plan.<\/p>                            <\/div>\r\n                        <\/div>\r\n                    <\/li>\r\n                                    <li class=\"accordion block \">\r\n                        <div class=\"acc-btn \">\r\n                                                            <span class=\"number\">02<\/span> _\r\n                                                        Can I choose between CRM and Visualizer plans?                            <span class=\"arrow\"><\/span>\r\n                        <\/div>\r\n                        <div class=\"acc_body \">\r\n                            <div class=\"content\">\r\n                                <p>Yes. You can choose a CRM-focused plan, a Visualizer plan, or a combination depending on the tools your business needs.<\/p>                            <\/div>\r\n                        <\/div>\r\n                    <\/li>\r\n                                    <li class=\"accordion block \">\r\n                        <div class=\"acc-btn \">\r\n                                                            <span class=\"number\">03<\/span> _\r\n                                                        Can I add more users to my plan?                            <span class=\"arrow\"><\/span>\r\n                        <\/div>\r\n                        <div class=\"acc_body \">\r\n                            <div class=\"content\">\r\n                                <p>Yes. Additional users can be added based on your team requirements, and pricing may vary depending on the selected plan and number of users.<\/p>                            <\/div>\r\n                        <\/div>\r\n                    <\/li>\r\n                                    <li class=\"accordion block \">\r\n                        <div class=\"acc-btn \">\r\n                                                            <span class=\"number\">04<\/span> _\r\n                                                        Can I customize my Tiles360 subscription?                            <span class=\"arrow\"><\/span>\r\n                        <\/div>\r\n                        <div class=\"acc_body \">\r\n                            <div class=\"content\">\r\n                                <p>Yes. If the standard plans do not match your requirements, you can request a custom plan with the CRM features, visualizers, users, integrations, and add-ons you need.<\/p>                            <\/div>\r\n                        <\/div>\r\n                    <\/li>\r\n                                    <li class=\"accordion block \">\r\n                        <div class=\"acc-btn \">\r\n                                                            <span class=\"number\">05<\/span> _\r\n                                                        Can I upgrade my plan later?                            <span class=\"arrow\"><\/span>\r\n                        <\/div>\r\n                        <div class=\"acc_body \">\r\n                            <div class=\"content\">\r\n                                <p>Yes. You can move to a plan with additional features or services as your business grows and your requirements change.<\/p>                            <\/div>\r\n                        <\/div>\r\n                    <\/li>\r\n                            <\/ul>\r\n        <\/div>\r\n        \t\t\t\t<\/div>\n\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","protected":false},"excerpt":{"rendered":"<p>Our Plans &amp; Pricing Flexible Plans for Smarter Tile Selling 5+ VISUALIZATION SOLUTIONS AI, 360\u00b0, 2D, 4D, and mobile visualization experiences built for different customer journeys. 1 CONNECTED CRM PLATFORM Manage customers, leads, projects, quotations, follow-ups, and sales activity from one place. 360\u00b0 COMPLETE SALES EXPERIENCE Connect product discovery, visualization, customer management, and sales into [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"innomax-template.php","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-3344","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-json\/wp\/v2\/pages\/3344","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-json\/wp\/v2\/comments?post=3344"}],"version-history":[{"count":44,"href":"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-json\/wp\/v2\/pages\/3344\/revisions"}],"predecessor-version":[{"id":5767,"href":"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-json\/wp\/v2\/pages\/3344\/revisions\/5767"}],"wp:attachment":[{"href":"https:\/\/tiles360dev.3droomview.com\/tiles360\/wp-json\/wp\/v2\/media?parent=3344"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}