/* JAM — Services, Venues, About, Testimonials, Contact */ function ServicesPage({ setRoute }) { const D = window.JAM; return (
Services

One in-house team.
Every moving part.

Planning, design, florals, entertainment, photography, logistics and warehouse — all on one payroll, in one office, briefed once. Every wedding is bespoke; we price each project after the consultation.

{D.services.map((s, i) => (

0{i+1} · {String(D.services.length).padStart(2,'0')}

{s.group}

{s.tagline}

{s.blurb}

{s.items.map((it, j) => (
{String(j+1).padStart(2,'0')} {it}
))}
))}
Pricing

Every Jam wedding is bespoke. No tiers, no packages, no surprises.

We quote after the first conversation, against a real brief — date, venue, guest count, functions, mood. The number lands once, and it doesn't move.

setRoute("contact")}>Start the conversation
); } function VenuesPage({ setRoute }) { const D = window.JAM; return (
Venues

Dubai, in full. Plus wherever you'd rather be.

We've worked these rooms enough times to know where the bridal suite gets the afternoon light, which loading bay you want at 4pm, and which kitchen handles a biryani for six hundred. Below: nine venues we know intimately. Beyond Dubai: the Maldives, Seychelles, the Riviera, Marrakech, Mallorca, and anywhere with a runway.

{D.venues.map(v => (
{v.name}
{v.area}
{v.name}
{v.capacity}
))}
Destination

Anywhere with a runway.

We fly the whole team. Planning, design, florals, entertainment, photography and logistics — all out of Dubai, all under one company, all on the same WhatsApp thread. We build the temporary structures, ship the production and clear the customs.

{["Maldives","Seychelles","Riviera","Mallorca","Marrakech","Bodrum","Goa","Cape Town"].map(p => (
{p}
))}
); } function AboutPage({ setRoute }) { const D = window.JAM; return (
About · Since 2006

German precision. Dubai heart.

Jam is a wedding planning, production and design company founded in Dubai in 2006. Stefanie Heller, our founder, is German by training and Dubai by choice — and has spent more than seventeen years on the planning side of weddings in the UAE.

The brief from day one has been simple: every wedding should feel like the couple who threw it. We translate the tradition; we don't import it.

Jam team at work
{/* Founder block */}
Stefanie Heller
Founder

Stefanie Heller

CEO & Creative Director · German Creative Direction

Founded Jam in 2006. Over seventeen years on the planning side of weddings in the UAE, with more than twenty years in the wider Dubai events industry. Trained in Germany, shaped by Dubai — fluent in the gap between Khaleeji formality, South Asian scale, Chinese ceremony and European restraint.

Creative direction on every wedding remains with her. So does the final walk-through the morning before doors.

"Achieving my clients' goals is my aim, exceeding their expectations my mission."

{/* Team */}
The team · 11 in-house

Planning, design, florals, entertainment, photography, logistics.

Hand-picked, on one payroll, briefed once. No agency-of-record handoffs.

{D.team.map(m => (
{m.image ? {m.name} : {m.initials}}
{m.role}
{m.name}
))}

"We work hand-in-hand with you and your fiancé, bridesmaids, family, and everyone involved — to create a tailored wedding day that truly reflects the two of you as a couple."

Jam · The Brief

); } function TestimonialsPage({ setRoute }) { const D = window.JAM; return (
Stories · From the couples

What the couples
actually said.

Below: unedited testimonials from real Jam couples — published with their consent, attributed to year and route, names redacted on request. No paid reviews. No aggregate score we couldn't verify.

{D.testimonials.map((t, i) => (

"{t.quote}"

{t.attrib}

))}

A note on ratings

We don't display a star aggregate. We will once our Google Business profile rating is verified live and attributable — until then, every voice on this page is one we can name.

setRoute("contact")}>Begin yours
); } function ContactPage({ setRoute }) { const b = window.JAM.brand; const D = window.JAM; const [form, setForm] = useState({ name: "", email: "", phone: "", date: "", guests: "", venue: "", program: "", tradition: "", budget: "", message: "" }); const [submitted, setSubmitted] = useState(false); const update = (k, v) => setForm(f => ({ ...f, [k]: v })); const submit = (e) => { e.preventDefault(); setSubmitted(true); }; if (submitted) { const waText = encodeURIComponent( `Hi JAM — ${form.name || "we"} would like to book a free consultation. ` + `Date: ${form.date || "TBC"}. Guests: ${form.guests || "TBC"}. ` + `Venue: ${form.venue || "TBC"}. Tradition: ${form.tradition || "TBC"}. ` + `Budget band: ${form.budget || "TBC"}.` ); const waLink = `https://wa.me/971505249597?text=${waText}`; return (

Thank you, {form.name ? form.name.split(" ")[0] : "friend"}.
We'll be in touch within 24 hours.

Your enquiry is with the planning team. We typically reply within a working day — in English, Arabic, German, Russian or Mandarin.

Continue on WhatsApp ↗
); } const budgets = ["Under 250k AED", "250–500k AED", "500k–1M AED", "1M–2M AED", "2M+ AED", "Prefer not to say"]; const guestBands = ["Under 100", "100–250", "250–500", "500–800", "800+"]; return (
Contact · Book a free consultation

Tell us about your wedding.

The more you can share now, the more useful the first conversation will be — date, guests, venue (if you have one), the traditions you want to honour, a budget band. Reply within one working day, in your language.

update("name", e.target.value)} />
update("email", e.target.value)} />
update("phone", e.target.value)} />
update("date", e.target.value)} />
{D.traditions.map(t => ( ))}
{guestBands.map(g => ( ))}
update("venue", e.target.value)} />
update("program", e.target.value)} />
{budgets.map(b => ( ))}

By submitting you agree to our handling your enquiry under our privacy policy. We never share leads. Your reply will arrive within one working day.

Or open WhatsApp ↗
); } Object.assign(window, { ServicesPage, VenuesPage, AboutPage, TestimonialsPage, ContactPage });