Shisha Cafe

Asking Price:

AED 675,000

STATUS:
AVAILABLE
Business ID
PHD1171
Listing Category
Annual Revenue
720,000 AED
Location
Abu Hail

Description

This fully licensed Shisha Café in Dubai presents an exceptional opportunity for partners seeking a ready-to-operate business in a high-footfall, premium location.

Spanning 2,970 sq. ft., the café serves juices and light snacks and includes a dedicated mezzanine area for families, providing comfort and privacy.

All permits are active and the business has no fines or liabilities, offering a clean and compliant foundation.

Currently operating at around 40% of its full potential, the café is primed for growth. With additional cash flow commercial partnership, it can significantly boost revenue and operational capacity.

Overview

Key Details
Location: Dubai
Business Type: Shisha Café serving juices and snacks
Area: 2,970 sq. ft.
Seating Capacity: 100 people
Trade License: Shisha & Smoking Permits Active
Visa Quotas: 3 (1 active, to be cancelled)
Mezzanine: Dedicated family area
Concept: No objection to changing or rebranding

Financial Snapshot
Monthly Revenue: AED 60,000
Annual Rent: AED 275,000
COGS: 11.7% of revenue
Total Fixed Monthly Expenses: AED 45,000
Documentation: Provided upon deal finalization

Growth Potential
Obtain cooking permit to expand into full food service
Redesign layout to increase seating capacity
Add delivery and takeaway options
Run targeted social media and influencer campaigns
Host themed events (e.g., Ladies’ Nights, seasonal promotions)
Enhance service quality to build loyalty and repeat customers
With fresh capital infusion and marketing initiatives, the café can easily scale beyond its current 40% operation and achieve its full earning potential.

partnership Highlights
Prime, high-traffic location
Fully licensed and compliant (no violations)
Strong revenue base with low overhead ratio
Family/VIP mezzanine area adds exclusivity
Flexible concept – easy to rebrand or expand
High ROI potential with more working capital

Summary
This Shisha Cafe for sale in Dubai, priced at AED 675,000, is a turnkey business already generating steady monthly revenues of around AED 60,000 — approximately 40% of its full potential.

With its strategic location, active shisha and smoking permits, and family-friendly setup, the café is ideal for partners or entrepreneurs ready to inject additional cash flow and take advantage of Dubai’s thriving café culture.

A clean record, flexible concept, and high growth ceiling make this business a compelling partnership opportunity with strong future returns.

Consultation Form

در یک سالن آرایش فعال در دبی

با بیش از ۱۰۰۰ مشتری

و ۱۴ سال سابقه

ارزش هر صندلی فقط ۴ میلیارد تومان

۵۰٪ از مشتری‌ها به‌صورت ثابت به شما تعلق می‌گیرد

مناسب برای:

  • آرایشگران حرفه‌ای مقیم ایران که دنبال درآمد دلاری هستند
  • علاقه‌مندان به مهاجرت کاری مطمئن و تضمین‌شده به امارات

پیش‌بینی درآمد:

۱۰,۰۰۰ تا ۲۵,۰۰۰ درهم در ماه

همین حالا برای رزرو مشاوره اقدام کنید. فقط ۵ صندلی در دسترس است.

We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies. Cookie Policy

' + fmt(val) + '
'; }// ==================== BUSINESS OUTPUT ==================== function businessOutput(d, region, mgmtMode) { var p = d.profit, cum = 0; for (var t = 1; t 0 ? d.profit / d.price * 100 : 0;// ---- 01 VALUATION ---- var val = valuation(d.profit, d.sector, d.region, risk, d.growth, mgmt); var mult = multiple(d.sector, d.region, risk, d.growth, d.profit, mgmt); $("vVal").textContent = fmt(val); $("vRange").textContent = "Range: " + fmt(val * 0.80) + " – " + fmt(val * 1.22); $("vMult").textContent = mult.toFixed(2) + "×"; $("vMultDetail").textContent = REGION_NAME[d.region] + " base " + REGION[d.region].toFixed(2) + " × " + IND_NAME[d.sector] + " " + IND[d.sector].toFixed(2) + " × growth " + growthF(d.growth).toFixed(2) + " × risk " + RISKM[risk].toFixed(2) + " × size " + sizeF(d.profit).toFixed(2) + " × mgmt " + mgmtF(mgmt).toFixed(2); $("vYield").textContent = yld.toFixed(1) + "%"; $("vPb").textContent = d.profit > 0 ? (d.price / d.profit).toFixed(1) + " yrs" : "—"; $("vMargin").textContent = d.price > 0 ? (d.profit / d.price * 100).toFixed(1) + "%" : "—";var gap = val - d.price; var gapPct = d.price > 0 ? (gap / d.price * 100) : 0; $("vGap").textContent = (gap >= 0 ? "+" : "") + fmtPct(gapPct / 100, 1); $("vGap").className = gap >= 0 ? "v green" : "v red";var rating = "PASS"; var ratingClass = "badge-red"; if (gapPct >= 15) { rating = "STRONG BUY"; ratingClass = "badge-green"; } else if (gapPct >= 5) { rating = "BUY"; ratingClass = "badge-green"; } else if (gapPct >= -5) { rating = "NEGOTIATE"; ratingClass = "badge-gold"; } else if (gapPct >= -15) { rating = "OVERPRICED"; ratingClass = "badge-red"; } $("vRating").innerHTML = '' + rating + '';// Valuation breakdown bars var vb = $("valBreakdown"); vb.innerHTML = ""; var baseVal = d.profit * REGION[d.region]; var afterIndustry = baseVal * IND[d.sector]; var afterGrowth = afterIndustry * growthF(d.growth); var afterRisk = afterGrowth * RISKM[risk]; var afterSize = afterRisk * sizeF(d.profit); var finalVal = afterSize * mgmtF(mgmt); var steps = [ { n: "Base (" + REGION_NAME[d.region] + ")", v: baseVal, c: "#3a6b86" }, { n: "+ Industry (" + IND_NAME[d.sector] + ")", v: afterIndustry, c: "#2f7d8c" }, { n: "+ Growth (" + d.growth + "%)", v: afterGrowth, c: "#7d5bd6" }, { n: "+ Risk (" + risk + ")", v: afterRisk, c: "#c98a1a" }, { n: "+ Size factor", v: afterSize, c: "#c08a2d" }, { n: "+ Management (" + (mgmt === "managed" ? "managed" : "owner") + ")", v: finalVal, c: "#1f7a5c" } ]; var vmx = Math.max.apply(null, steps.map(function(s){ return s.v; })); steps.forEach(function(s, i) { bar(vb, s.n, "AED " + fmt(s.v), s.v, vmx, s.c, i === steps.length - 1); });// ---- 02 DEAL FINDER ---- var dealData = generateDeals(d); var dt = $("dealRows"); dt.innerHTML = ""; dealData.forEach(function(deal) { var roi = deal.price > 0 ? (deal.profit / deal.price * 100).toFixed(1) : "0"; var statusClass = deal.status === "Active" ? "pos" : (deal.status === "Urgent" ? "neg" : ""); dt.innerHTML += '' + deal.platform + '' + deal.title + '' + fmt(deal.price) + '' + fmt(deal.profit) + '' + deal.industry + '' + deal.emirate + '' + roi + '%' + deal.status + ''; });// ---- 03 INVESTMENT COMPARISON ---- var biz = businessOutput(d, d.region, mgmt); var gold = totalCost * Math.pow(1.085, d.years); var oil = totalCost * Math.pow(1.10, d.years); var stock = totalCost * Math.pow(1.095, d.years); var dep = totalCost * Math.pow(1.048, d.years); var re = totalCost * Math.pow(1.072, d.years); var car = totalCost * Math.pow(0.90, d.years);var io = [ { n: "This Business", s: "profit + exit", v: biz.total, c: "#c08a2d", r: (risk === "low" ? 18 : (risk === "med" ? 28 : 42)), liquid: "Low" }, { n: "Global Equities", s: "~10%", v: stock, c: "#1f7a5c", r: 16, liquid: "High" }, { n: "Dubai Real Estate", s: "~7.5%", v: re, c: "#2f7d8c", r: 12, liquid: "Medium" }, { n: "Gold", s: "~8.5%", v: gold, c: "#caa53c", r: 18, liquid: "High" }, { n: "Oil", s: "~10% (volatile)", v: oil, c: "#8a5f1a", r: 32, liquid: "High" }, { n: "Deposit/Sukuk", s: "~4.8%", v: dep, c: "#6c7a85", r: 1, liquid: "High" }, { n: "Luxury Car", s: "~−10%", v: car, c: "#b4452f", r: 5, liquid: "Low" } ]; var imx = Math.max.apply(null, io.map(function(o){ return o.v; }), 1); var iwin = io.reduce(function(a, b){ return b.v > a.v ? b : a; }); var ib = $("iBars"); ib.innerHTML = ""; io.forEach(function(o){ bar(ib, o.n, o.s, o.v, imx, o.c, o === iwin); });var rar = (yld + d.growth) / (risk === "low" ? 22 : (risk === "med" ? 32 : 48)); var stockRar = 10 / 16; var t = $("iTag"), x = $("iTxt"); if (d.growth = stockRar * 1.15) { t.className = "badge badge-green"; t.textContent = "✅ WORTH IT (Accepting Risk)"; x.innerHTML = "Risk-adjusted return (" + rar.toFixed(2) + ") beats equities (" + stockRar.toFixed(2) + ") and payback is ~" + (d.profit > 0 ? (d.price / d.profit).toFixed(1) : "—") + " yrs. Higher return comes with higher risk and lower liquidity."; } else if (rar >= stockRar * 0.9) { t.className = "badge badge-gold"; t.textContent = "⚖️ CONDITIONAL"; x.textContent = "Risk-adjusted return is close to the market. Worth it only if you buy below value or can lift growth/margin significantly."; } else { t.className = "badge badge-red"; t.textContent = "❌ NOT WORTH IT"; x.textContent = "Risk-adjusted return is below market. Either negotiate price down by " + Math.abs(gapPct).toFixed(0) + "% or find a better deal."; }renderScatter(io, totalCost);// Comparison table var ct = $("compareRows"); ct.innerHTML = ""; io.forEach(function(o) { var annRet = Math.pow(o.v / totalCost, 1/d.years) - 1; var riskAdj = annRet / (o.r / 10); var taxImpact = o.n === "This Business" ? "9% (0% up to 375K)" : (o.n === "Global Equities" ? "15% CGT" : (o.n === "Dubai Real Estate" ? "5% VAT + 4% transfer" : "0-5%")); var verdict = o === iwin ? "🏆 BEST" : (annRet > 0.08 ? "✅ Good" : (annRet > 0.04 ? "⚖️ Fair" : "❌ Poor")); var vClass = o === iwin ? "best" : (annRet' + o.n + '' + fmt(o.v) + '' + fmtPct(annRet, 1) + '' + o.r + '%' + o.liquid + '' + riskAdj.toFixed(2) + '' + taxImpact + '' + verdict + ''; });// ---- 04 CAPITAL INCREASE ---- var capPct = +$("capPct").value || 0; var capAmt = +$("capAmt").value || 0; var inj = capAmt > 0 ? capAmt : d.price * capPct / 100; var hurdle = 0.10; var reqYield = yld / 100; var target15 = 0.15, target20 = 0.20;$("capKpis").innerHTML = '
Current business yield
' + yld.toFixed(1) + '%
' + '
Market hurdle rate
' + (hurdle * 100).toFixed(0) + '%
' + '
Extra profit needed (current yield)
' + fmt(inj * Math.max(reqYield, hurdle)) + '
';var crt = $("capRows"); crt.innerHTML = ""; [10, 25, 50, 100, 200].forEach(function(pc) { var x = d.price * pc / 100; var newCap = d.price + x; var profitCurrent = x * reqYield; var profitMarket = x * hurdle; var profit15 = x * target15; var profit20 = x * target20; var breakeven = reqYield > 0 ? (x / (d.profit + profitCurrent) * 12).toFixed(1) : "—"; crt.innerHTML += '+' + pc + '%' + fmt(newCap) + '' + fmt(profitCurrent) + '' + fmt(profitMarket) + '' + fmt(profit15) + '' + fmt(profit20) + '' + breakeven + ' mo'; });$("capVerdict").className = "verdict" + (reqYield >= hurdle ? "" : " warn"); $("capVerdict").innerHTML = reqYield >= hurdle ? "✅ Capital injection makes sense. Your current commercial allocation where applicable(" + yld.toFixed(1) + "%) beats the market hurdle (10%). For this injection of " + fmt(inj) + ", you must generate at least " + fmt(inj * reqYield) + " in extra annual profit. If the new capital earns 15%, that's " + fmt(inj * 0.15) + "/yr. If it earns 20%, that's " + fmt(inj * 0.20) + "/yr — a 2× return on the injection itself." : "⚠️ Capital injection is risky. Your current commercial allocation where applicable(" + yld.toFixed(1) + "%) is below the market hurdle (10%). Every extra dirham must return at least 10% — otherwise that money is better in equities or real estate. Focus on improving current operations before expanding.";// Capital scenarios var cs = $("capScenarios"); cs.innerHTML = ""; var scenarios = [ { pct: 25, label: "Conservative (+25%)", desc: "Small expansion, same team" }, { pct: 50, label: "Moderate (+50%)", desc: "New location or product line" }, { pct: 100, label: "Aggressive (+100%)", desc: "Full expansion, new market" } ]; scenarios.forEach(function(sc) { var amt = d.price * sc.pct / 100; var need = amt * Math.max(reqYield, hurdle); var need15 = amt * 0.15; cs.innerHTML += '
' + sc.label + '
' + fmt(amt) + '
Injection amount
Min profit needed: ' + fmt(need) + '/yr
At 15% target: ' + fmt(need15) + '/yr
' + sc.desc + '
'; });// ---- 05 GLOBAL TAX ---- var uaeTaxable = Math.max(0, d.profit - 375000); var uaeTax = uaeTaxable * 0.09; var uaeNet = d.profit - uaeTax; var usaNet = d.profit * 0.79; var ukNet = d.profit * 0.75; var gerNet = d.profit * 0.70; var indNet = d.profit * 0.65; var worldNet = d.profit * 0.76;var TAX = [ ["UAE 🇦🇪 (9%)", uaeNet, "#1f7a5c"], ["USA 🇺🇸 (21%)", usaNet, "#3a6b86"], ["UK 🇬🇧 (25%)", ukNet, "#7d5bd6"], ["Germany 🇩🇪 (30%)", gerNet, "#c98a1a"], ["India 🇮🇳 (~35%)", indNet, "#b4452f"], ["World Avg (~24%)", worldNet, "#9aa6ad"] ]; var tmx = Math.max.apply(null, TAX.map(function(o){ return o[1]; }), 1); var wt = $("wtBars"); wt.innerHTML = ""; TAX.forEach(function(o, i) { bar(wt, o[0], "net profit", o[1], tmx, o[2], i === 0); });var advVsAvg = Math.round((uaeNet / worldNet - 1) * 100); var advVsUsa = Math.round((uaeNet / usaNet - 1) * 100); $("wtNote").innerHTML = "Net profit in UAE: " + fmt(uaeNet) + " — roughly " + advVsAvg + "% more than world average (~24%) and " + advVsUsa + "% more than USA (21%). This tax edge feeds directly into valuation. Over " + d.years + " years, tax savings alone add " + fmt((uaeNet - worldNet) * d.years) + " to your wealth. (VAT 5% separate; free zones can be 0%.)";$("taxUaeNet").textContent = fmt(uaeNet); $("taxWorldNet").textContent = fmt(worldNet); $("taxAdvantage").textContent = fmt(uaeNet - worldNet) + "/yr"; $("taxMultiplier").textContent = mult.toFixed(1); $("taxYears").textContent = d.years; $("taxTotal").textContent = fmt((uaeNet - worldNet) * d.years * mult);// ---- 06 REAL ESTATE vs BUSINESS ---- var rePrice = +$("rePrice").value || d.price; var reYield = +$("reYield").value || 7; var reGrowth = +$("reGrowth").value || 5; var reService = +$("reService").value || 15; var reVacancy = +$("reVacancy").value || 5; var reMortgage = +$("reMortgage").value || 0;var grossRent = rePrice * (reYield / 100); var netRent = grossRent * (1 - reService / 100) * (1 - reVacancy / 100); var reAppreciation = rePrice * Math.pow(1 + reGrowth / 100, d.years); var reTotal = netRent * d.years + reAppreciation; var reNetYield = rePrice > 0 ? (netRent / rePrice * 100) : 0;$("reBizOutput").textContent = fmt(biz.total); $("reBizYield").textContent = yld.toFixed(1) + "%"; $("reBizRisk").textContent = risk === "low" ? "Low-Medium" : (risk === "med" ? "Medium" : "High"); $("reBizTax").textContent = "9% (0% to 375K)"; $("reBizLiquid").textContent = "Low (6-12 mo)";$("rePropOutput").textContent = fmt(reTotal); $("rePropYield").textContent = reNetYield.toFixed(1) + "%"; $("rePropRisk").textContent = "Low-Medium"; $("rePropTax").textContent = "4% transfer + 5% VAT"; $("rePropLiquid").textContent = "Medium (2-6 mo)";var reGap = biz.total - reTotal; var reGapPct = reTotal > 0 ? (reGap / reTotal * 100) : 0; $("reVerdict").className = "verdict" + (reGap > 0 ? "" : " warn"); $("reVerdict").innerHTML = reGap > 0 ? "✅ Business wins by " + fmt(reGap) + " (" + reGapPct.toFixed(0) + "%) over " + d.years + " years. Real estate offers stability and tangible asset, but the business generates " + fmt(biz.cumProfit) + " in cumulative profit plus " + fmt(biz.exitValue) + " exit value. If you prefer passive, stable income with lower risk → real estate. If you want maximum wealth creation and can handle operational risk → business." : "⚠️ Real estate wins by " + fmt(Math.abs(reGap)) + " over " + d.years + " years. Your business deal may be overpriced or underperforming. Consider: (1) negotiating price down, (2) improving profit margins, or (3) diversifying into real estate.";// ---- 07 VEHICLE REALITY ---- var carPrice = +$("carPrice").value || 500000; var carDeprec = +$("carDeprec").value || 12; var carCost = +$("carCost").value || 25000; var carValue = carPrice * Math.pow(1 - carDeprec / 100, d.years); var carTotalCost = carCost * d.years; var carNet = carValue - carTotalCost; var carLoss = carPrice - carNet;var carBars = $("carBars"); carBars.innerHTML = ""; var carMax = Math.max(carPrice, Math.abs(carNet), biz.total, gold); bar(carBars, "Initial vehicle cost", "AED " + fmt(carPrice), carPrice, carMax, "#6c7a85", false); bar(carBars, "Vehicle value after " + d.years + " yrs", "depreciated", carValue, carMax, "#9aa6ad", false); bar(carBars, "Maintenance + insurance", "total cost", carTotalCost, carMax, "#b4452f", false); bar(carBars, "Net vehicle position", "value - costs", carNet, carMax, "#8a2e1d", false); bar(carBars, "Same money in business", "profit + exit", biz.total, carMax, "#c08a2d", true); bar(carBars, "Same money in gold", "~8%/yr", gold, carMax, "#caa53c", false);$("carVerdict").className = "verdict" + (carNet Vehicle depreciation reality: A " + fmt(carPrice) + " vehicle loses " + fmt(carLoss) + " over " + d.years + " years (" + fmtPct(carLoss / carPrice / d.years, 1) + " annually). The same " + fmt(carPrice) + " in this business would return " + fmt(biz.total) + " — a " + (biz.total / Math.abs(carNet)).toFixed(1) + "× difference. Vehicles are consumption, not Partnership. If you need a vehicle for the business, lease or buy used to minimize capital drag.";// ---- 08 ROADMAP ---- $("roadGrowth").textContent = d.growth; var rm = $("roadmapGrid"); rm.innerHTML = ""; var targets = [2, 3, 4, 5, 6]; var currentMult = biz.total / totalCost; targets.forEach(function(tgt) { var isCurrent = currentMult >= tgt && currentMult 0 ? (Math.log(tgt) / Math.log(1 + d.growth / 100)).toFixed(1) : "∞"; var extraCap = d.price * (tgt - 1); var items = [ tgt === 2 ? "Hire 1-2 key staff" : (tgt === 3 ? "Open 2nd location" : (tgt === 4 ? "Franchise model" : (tgt === 5 ? "Regional expansion" : "IPO / Strategic sale"))), tgt === 2 ? "Systemize operations" : (tgt === 3 ? "New revenue line" : (tgt === 4 ? "M&A target" : (tgt === 5 ? "Digital platform" : "International markets"))), tgt === 2 ? "Manager in place" : (tgt === 3 ? "Capital: " + fmt(extraCap) : (tgt === 4 ? "Team: 15-20 people" : (tgt === 5 ? "Brand licensing" : "Exit at " + (tgt * mult).toFixed(1) + "×"))) ]; rm.innerHTML += '
' + tgt + '×
' + (isCurrent ? "CURRENT" : "~" + yearsNeeded + " yrs") + '
    ' + items.map(function(i){ return '
  • ' + i + '
  • '; }).join('') + '
'; });// ---- 09 MANAGEMENT ---- var ooProfit = d.profit; var ooVal = valuation(ooProfit, d.sector, d.region, "high", d.growth, "owner"); var mgProfit = Math.max(0, d.profit - d.mgr); var mgVal = valuation(mgProfit, d.sector, d.region, "low", d.growth, "managed");$("oo_income").textContent = fmt(ooProfit); $("oo_exit").textContent = fmt(ooVal); $("oo_mult").textContent = multiple(d.sector, d.region, "high", d.growth, ooProfit, "owner").toFixed(2) + "×"; $("mg_income").textContent = fmt(mgProfit); $("mg_exit").textContent = fmt(mgVal); $("mg_mult").textContent = multiple(d.sector, d.region, "low", d.growth, mgProfit, "managed").toFixed(2) + "×";var exitGap = ooVal > 0 ? Math.round((mgVal - ooVal) / ooVal * 100) : 0; var incGap = fmt(ooProfit - mgProfit); $("mgmtVerdict").className = "verdict" + (mgVal >= ooVal ? "" : " warn"); $("mgmtVerdict").innerHTML = mgVal >= ooVal ? "✅ Managed wins. You pocket " + incGap + " less per year, but you go passive and the exit value is " + exitGap + "% higher. If your goal is freedom, lifestyle, and a richer exit → hire a manager. The business becomes a true asset, not a job." : "⚠️ Owner-run wins on cash. Without a manager you pocket " + incGap + " more per year, but you work 40-60 hrs/week. The business depends on you, so it sells for less. If you want maximum cash now and enjoy operations → run it yourself. Plan to systemize within 2 years.";// ---- 10 CONSULTATION ---- $("recPhone").textContent = d.price = 1000000 && d.price 5000000 ? "Recommended for you ✓" : "";// ---- 11 REPORT ---- $("repDate").textContent = new Date().toLocaleDateString("en-GB", { day: '2-digit', month: 'short', year: 'numeric' }); var recCons = d.price > 5000000 ? "an in-person meeting" : (d.price >= 1000000 ? "an online deep-dive" : "a phone consultation");var repHTML = "Business Opportunity Summary

" + "Deal Parameters: " + IND_NAME[d.sector] + " in " + REGION_NAME[d.region] + " · Price " + fmt(d.price) + " · Profit " + fmt(d.profit) + "/yr · Growth " + d.growth + "% · " + d.years + "-year horizon

" + "Valuation: " + fmt(val) + " (" + mult.toFixed(2) + "× multiple) · Range " + fmt(val * 0.80) + " – " + fmt(val * 1.22) + "
" + "Deal Rating: " + rating + " · " + (gap >= 0 ? "Underpriced by " + fmtPct(gapPct / 100, 1) : "Overpriced by " + fmtPct(Math.abs(gapPct) / 100, 1)) + "
" + "Earnings Yield: " + yld.toFixed(1) + "% · Payback: " + (d.profit > 0 ? (d.price / d.profit).toFixed(1) : "—") + " yrs

" + "" + d.years + "-Year Output Comparison:
" + "• Business (" + REGION_NAME[d.region] + "): " + fmt(biz.total) + " (cumulative profit " + fmt(biz.cumProfit) + " + exit " + fmt(biz.exitValue) + ")
" + "• Global Equities: " + fmt(stock) + " · Gold: " + fmt(gold) + "
" + "• Dubai Real Estate: " + fmt(re) + " · Deposits: " + fmt(dep) + "

" + "Management Strategy:
" + "• Owner-run: Income " + fmt(ooProfit) + "/yr · Exit " + fmt(ooVal) + " · " + multiple(d.sector, d.region, "high", d.growth, ooProfit, "owner").toFixed(2) + "×
" + "• Managed: Income " + fmt(mgProfit) + "/yr · Exit " + fmt(mgVal) + " · " + multiple(d.sector, d.region, "low", d.growth, mgProfit, "managed").toFixed(2) + "×
" + "• Exit value difference: " + Math.abs(exitGap) + "% " + (mgVal >= ooVal ? "higher with manager" : "higher owner-run") + "

" + "Tax Advantage (UAE): Net profit " + fmt(uaeNet) + " vs world average " + fmt(worldNet) + " · " + advVsAvg + "% more after-tax wealth

" + "Capital Increase: At current yield, every 100% capital increase needs " + fmt(d.price * reqYield) + " extra profit/yr to maintain returns

" + "Recommended Next Step: " + recCons + "

" + "
" + "This report is generated by the Persian Horizon Business Intelligence Suite. Indicative only — not financial advice or a guaranteed return. Consult a licensed advisor before any decision." + "
";$("repBody").innerHTML = repHTML; window.__rep = repHTML.replace(/]+>/g, ' ').replace(/\s+/g, ' ').trim(); }// ==================== EVENT LISTENERS ==================== $("riskSeg").addEventListener("click", function(e) { var b = e.target.closest("button"); if (!b) return; risk = b.dataset.r; [].forEach.call(this.querySelectorAll("button"), function(x) { x.setAttribute("aria-pressed", x === b ? "true" : "false"); }); calc(); });$("mgmtSeg").addEventListener("click", function(e) { var b = e.target.closest("button"); if (!b) return; mgmt = b.dataset.m; [].forEach.call(this.querySelectorAll("button"), function(x) { x.setAttribute("aria-pressed", x === b ? "true" : "false"); }); calc(); });$("consCards").addEventListener("click", function(e) { var c = e.target.closest(".cc"); if (!c) return; cons = c.dataset.c; [].forEach.call(this.querySelectorAll(".cc"), function(x) { x.setAttribute("aria-pressed", x === c ? "true" : "false"); }); });var inputIds = ["price", "profit", "growth", "years", "transfer", "sector", "emirate", "mgrCost", "capPct", "capAmt", "rePrice", "reYield", "reGrowth", "reService", "reVacancy", "reMortgage", "carPrice", "carDeprec", "carCost"]; inputIds.forEach(function(id) { var el = $(id); if (el) { el.addEventListener("input", calc); el.addEventListener("change", calc); } });$("cBook").addEventListener("click", function() { var n = $("cName").value.trim(), p = $("cPhone").value.trim(), e = $("cEmail").value.trim(); if (!n || p.replace(/\D/g, "").length " + map[cons] + " consultation booked!
We'll contact you on WhatsApp within 24 hours. (Lead → CRM)"; });$("cSave").addEventListener("click", function() { $("cMsg").style.color = "var(--blue)"; $("cMsg").textContent = "💾 Analysis saved to your account. Access anytime."; });$("cShare").addEventListener("click", function() { if (navigator.share) { navigator.share({ title: "UAE Business Review", text: window.__rep || "", url: window.location.href }); } else { $("cMsg").style.color = "var(--blue)"; $("cMsg").textContent = "🔗 Report link copied to clipboard."; } });$("repCopy").addEventListener("click", function() { if (navigator.clipboard) navigator.clipboard.writeText(window.__rep || ""); $("repCopy").textContent = "Copied ✓"; setTimeout(function(){ $("repCopy").textContent = "📋 Copy Report Text"; }, 2000); });$("repEmail").addEventListener("click", function() { var subject = "UAE Business Review - Persian Horizon"; var body = window.__rep || ""; window.location.href = "mailto:?subject=" + encodeURIComponent(subject) + "&body=" + encodeURIComponent(body); });// Smooth scroll for nav links document.querySelectorAll('a[href^="#"]').forEach(function(a) { a.addEventListener('click', function(e) { e.preventDefault(); var target = document.querySelector(this.getAttribute('href')); if (target) target.scrollIntoView({ behavior: 'smooth', block: 'start' }); }); });// Initial calculation calc();// ---- IFRAME INTEGRATION ---- if (window.self !== window.top) { document.body.classList.add('ph-in-iframe'); }setInterval(function() { if (window.parent !== window) { window.parent.postMessage({ type: 'phCalcHeight', height: document.documentElement.scrollHeight }, '*'); } }, 500);})(); WhatsApp