Bakery

Asking Price:

AED 1,100,000

STATUS:
SOLD
SOLD
Business ID
PH1106
Listing Category
Monthly Revenue
AED 155,000
Annual Revenue
AED 1,860,000
Operating Cost
AED 90,000
Asset Value
AED 800,000
Number of Employees
8 total (5 on license, 3 via NOC)

Description

A well-established bakery and pastry production business with two years of successful operation. The business combines a modern facility, a loyal customer base, and active online delivery through Talabat and noon FOOD. With assets valued at AED 800,000, a trained team, and consistent performance, it presents a turnkey commercial partnership opportunity in the UAE’s growing food sector, with clear potential for expansion into Dubai.

Overview

Financial Summary (Seller-Provided)
Asking Price: AED 1,100,000
Monthly Revenue: AED 155,000
Monthly Running Cost: AED 90,000
Total Physical Asset Value: AED 800,000
Supporting Documents Will provided Upon Deal

Business Overview
Category: Bakery & Pastry Production
Status: Running | Established: 2 years
Business Type: Sole Proprietorship LLC
Employees: 8 total (5 on license, 3 via NOC)
Yearly Rent: AED 75,000
Operating Hours: 5:00 AM – 12:00 PM
Reason for Sale: Opening a new business in Dubai

Promotional Highlights
Fully operational, licensed, and profitable setup.
Wide menu selection: artisan breads, pastries, desserts, pizzas, sandwiches, and beverages.
Active on major delivery platforms with strong customer engagement.
Excellent reputation with repeat clientele and positive reviews.
Scalable business model suitable for geographic or product expansion.

Assets & Operations
Commercial bakery equipment and full fit-out worth AED 800,000.
Licensed for sweets, sandwiches, and baked goods.
Experienced team ensuring seamless operations and transition.
Compliant with all health and safety standards.

Summary & Financial Overview
This business offers a ready-to-operate, fully equipped bakery with a proven record of stability and strong customer demand. With monthly revenue of AED 155,000 and operating costs of AED 90,000, it maintains efficient operations supported by a well-trained staff and modern production infrastructure. The bakery’s physical assets valued at AED 800,000, along with a competitive annual rent of AED 75,000, make it an attractive and sustainable venture. Priced at AED 1,100,000, this opportunity provides immediate operational value and long-term growth potential — ideal for partners or entrepreneurs seeking a foothold in the UAE’s premium bakery and cafe market.

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