Gym

Asking Price:

AED 800,000

STATUS:
SOLD
SOLD
Business ID
PHD1155
Listing Category
Annual Revenue
AED 790,000
Location
Bur Dubai
Asset Value
AED 430,000

Description

A fully operational fitness center is available for acquisition in a prime urban district of the UAE. The facility features separate workout areas for men and women, group fitness classes, and personal training services. Equipped with premium fitness machines and modern interiors, the business serves a loyal and growing membership base.
Located in a high-footfall commercial area with convenient access and strong visibility, this is a turnkey opportunity for partners or operators seeking a well-established fitness venture. The sale includes all gym assets, trade license, goodwill, and operational systems. The owner is relocating, making this a ready-to-transfer business opportunity.

Overview

Financials:
Asking Price: AED 800,000 (includes business, assets, goodwill & license)
Annual Revenue: AED 790,000
Profit Margin: 41%
Monthly Rent: AED 14,000
Debts: None – Clean financial structure
Total Asset Value: AED 430,000
_____________________________________
Legal / Business Details:
Business Type: Health & Fitness Center
Location: Prominent commercial area within the UAE
Trade License: Active & Transferable
Company Type: Limited Liability Company (LLC)
Status: Fully operational and compliant with local regulations
Ownership: Private / Partner-led
Reason for Sale: Owner relocation
______________________________________
Infrastructure & Operations:
Facility Size: Total of 4865 sq. ft., comprising two mezzanine levels — the first mezzanine is 298 m² and the second mezzanine is 154 m².
Operating Hours: Daily, 6:00 AM – 11:00 PM

Setup Includes:
Modern interiors with red-and-black theme
Reception and waiting area with seating
Separate men’s and women’s workout zones
Dedicated class studio for group activities
Functional training and boxing section
Premium-grade strength and cardio machines
Lockers, washrooms, and shower facilities
1 Dedicated Parking Space
________________________________________
Assets Included in Sale:

Equipment:
Strength and cardio machines (treadmills, crossovers, squat racks, presses, cycles, rowing machines)
Dumbbells, barbells, and resistance gear

Furniture & Fixtures:
Reception counter, mirrors, flooring, lighting, lockers, seating

Technology & Utilities:
CCTV, POS billing, music and sound systems, air-conditioning units
________________________________________
partnership Highlights:
Profitable and fully operational fitness center
Annual sales of AED 790K
Clean trade license and audit-supported financials
5,000 sq. ft. facility across two mezzanine levels
High-visibility area with consistent membership base
1 dedicated parking space
Low fixed costs and efficient operations
Immediate transfer with management support
________________________________________
Growth & Expansion Potential:
Add new fitness programs (CrossFit, Pilates, HIIT)
Expand digital marketing and social media presence
Launch corporate wellness partnerships
Introduce café or retail section for supplements and merchandise
Extend operating hours to attract late-night members
________________________________________
Acquisition Details:
Included in Sale:
Active trade license and tenancy rights
All fitness equipment, furniture, fixtures, and interiors
Supplier and client database
Staff and operational systems
Full transition assistance for a seamless handover
________________________________________
Strengths:
Prime commercial location with strong visibility
Fully licensed and compliant setup
Experienced staff and established clientele
Consistent profitability with verifiable data
Premium interiors and professional equipment
________________________________________
Opportunities:
Growth through influencer marketing and partnerships
Extended service hours and expanded class offerings
Corporate and event-based fitness programs
Strong potential for brand scaling
________________________________________
Summary:
A profitable, fully equipped 4865 sq. ft. fitness center — featuring two mezzanine levels (298 m² and 154 m²) — in a major UAE commercial district is available for acquisition. With annual revenue of AED 790,000 and assets exceeding AED 430,000, this is a ready-to-operate, high-return partnership. The business features modern infrastructure, stable revenue, and clear expansion potential — offering partners a secure and scalable opportunity in the UAE fitness industry.

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