DEV Community

Mythex
Mythex

Posted on Fully Autonomous

The florist CRM problem: why flower shops in the Gulf forget the customers who come back every year

It's the evening of 20 March in a flower shop in Dubai. Tomorrow is Mother's Day across most of the Arab world, and the orders are everywhere. Some came in as WhatsApp voice notes, some as Instagram DMs with a screenshot of last year's bouquet. A few regulars called, and whoever answered wrote them in the notebook by the till. A corporate client emailed a spreadsheet of forty addresses.

Tomorrow morning, three drivers need to know what goes where, in what order, and who pays cash at the door. Two orders promise the same 10am slot in Al Barsha and Mirdif, which no single driver can make. And nobody will notice until next March that the woman who ordered peonies for her mother this year, and last year, and the year before, never got a message this time.

That's the florist CRM problem: not storing contacts, but remembering occasions, recipients and promises across channels built to forget.

Where the orders actually live

Most florists in the Gulf don't have an order system. They have a phone with WhatsApp Business, Instagram and a call log. WhatsApp is the main channel because customers expect it: they send a photo, ask the price, change the card message twice and confirm with a thumbs-up.

On a normal Tuesday the owner can scroll back through chats. In the last week of Ramadan, on Eid, on Valentine's Day or on 21 March, scrolling becomes the bottleneck. The order is in the chat, the payment status is in someone's head, and the address is a pin only one person opened.

A spreadsheet gives you one list for the day. But it doesn't know that the same customer ordered in March last year, that "Mama" and "Umm Khalid" are the same recipient, or that the 10am slot is already full.

The order is not the customer

Here's the thing generic CRMs get wrong for flower shops: the person paying is usually not the person receiving.

A son in Riyadh orders for his mother in Jeddah. A company in Abu Dhabi sends forty arrangements to clients. A husband orders every year on his anniversary. If your system only stores "customer, phone, last order", you lose the valuable part: who the flowers were for and why.

So a florist CRM needs three separate things that a sales CRM collapses into one:

  • The buyer. Name, phone (usually WhatsApp), preferred language, and whether they're a person or a company account.
  • The recipient. Name, phone, address or location pin, area, delivery notes ("call the guard at the gate", "deliver after Asr"). One buyer may have several recipients.
  • The occasion. Birthday, anniversary, Mother's Day, Eid, a new baby, condolences, a corporate event. Some occasions repeat every year on the same Gregorian date. Ramadan and Eid follow the Hijri calendar and move about eleven days earlier each year, so your reminders have to move with them.

Once those three are separate, useful questions get easy: whose anniversary order from last year is ten days away? Which corporate clients sent Eid gifts last time?

What a florist CRM has to track

Beyond buyers, recipients and occasions, a Gulf flower shop needs a few things most off-the-shelf tools miss:

  • Delivery slots with limits. Same-day delivery means slots, and each slot can only take so many orders per area or driver. The system should warn you before you promise one too many.
  • Payment status, including cash on delivery. Card link, bank transfer, in shop or cash on delivery. Drivers need to see how much to collect; the owner needs to see which cash came back.
  • VAT on every order. 5% in the UAE, 15% in Saudi Arabia, shown separately on the receipt.
  • The card message, exactly as written. Often in Arabic, sometimes in English, occasionally both. It has to be printed the way the customer wrote it, right-to-left where needed.
  • Arrangement and photo. What was ordered, the price, and a photo of the finished piece before it leaves. That photo settles any argument about the colour of the roses.

Building it in Mythex, prompt by prompt

Mythex is an AI app builder: you describe the app in English or Arabic, and it writes the code, runs it with a live preview, attaches a Postgres database and file storage, and publishes it to a public address or your own domain. I work on Mythex, so weigh this section accordingly. The prompts also work as a spec for a developer.

Prompt 1: the data model.

Build an order and customer system for a flower shop in Dubai. Buyers have a name, WhatsApp number, preferred language (Arabic or English) and type (person or company). Each buyer can have several recipients with name, phone, address, area, map link and delivery notes. Orders link a buyer to one recipient and have: occasion (birthday, anniversary, Mother's Day, Eid, Ramadan, Valentine's, new baby, condolences, wedding, corporate, other), arrangement, price, VAT at 5% shown separately, card message, delivery date, delivery slot (9–12, 12–3, 3–6, 6–9), payment method (card link, bank transfer, in shop, cash on delivery), payment status and order status (new, confirmed, in progress, ready, out for delivery, delivered, problem). Staff upload a photo of the finished arrangement to each order.

Prompt 2: slots that can't be overbooked.

Each delivery slot can take at most 6 orders per area per day. When staff pick a slot that's full for that area, show a warning and suggest the next free slot. Add a "today" board that groups orders by slot, then by area, with the driver assigned to each.

Prompt 3: the repeat-occasion list.

Add a "coming up" page. For every order in the last two years with an occasion of birthday or anniversary, show the buyer when the same date is 7 to 14 days away this year. For Mother's Day, list everyone who ordered for 21 March last year, starting from 1 March. For Ramadan and Eid, list last year's buyers, and let me set this year's start date for each. Each row has a WhatsApp button that opens a chat with the buyer and a pre-written message in their preferred language.

That button is an ordinary click-to-chat link: it opens the chat with the text filled in, and a person presses send. It isn't automated messaging (see the limits below).

Prompt 4: Arabic, written in Arabic.

Mythex builds fully in Arabic, so you can describe this part in the language your customers use:

أضف واجهة كاملة باللغة العربية من اليمين إلى اليسار مع زر للتبديل إلى الإنجليزية. اطبع بطاقة الإهداء باللغة التي كتبها العميل كما هي، واعرض الأسعار بالدرهم مع ضريبة القيمة المضافة منفصلة في الإيصال.

(Add a full right-to-left Arabic interface with a switch to English. Print the gift card in the language the customer wrote it, exactly as written, and show prices in dirhams with VAT separate on the receipt.)

If you're in Riyadh or Jeddah, swap dirhams for riyals and 5% for 15% in the first prompt.

Prompt 5: the driver's view.

Add a driver page that shows only the orders assigned to the signed-in driver for today, in slot order, with the recipient's phone, map link, delivery notes and the amount to collect if it's cash on delivery. The driver can mark an order delivered and upload a photo at the door, or mark it as a problem with a reason.

After the first build, most of the work is one-sentence corrections: "corporate orders need a PO number", "condolence orders never get a reminder the next year", "no evening slot on Fridays". You see each change in the live preview first.

What the shop ends up with

  • A Postgres database holding buyers, recipients, occasions and orders, so last year's Mother's Day is a list, not a scroll through chats.
  • File storage for arrangement and delivery photos.
  • Staff sign-in, so customer phones and addresses aren't open to anyone with the link.
  • A full Arabic interface alongside English.
  • Your own domain, such as orders.yourshop.ae, from the Pro plan up.
  • The code, which you can export or hand to a developer later.

Where it stops

  • No WhatsApp Business API out of the box. Click-to-chat works without setup. Automatic confirmations or reminders need the WhatsApp Business Platform through Meta or an approved provider, with your own account, approved templates and per-message costs. You can ask Mythex to add the integration, but the account is yours.
  • Payments need your own provider. Card links come from a provider you sign up with (Stripe, Tap, Checkout.com, PayTabs or another that serves your country). The app records what's paid; it doesn't move money.
  • Tax invoices have rules. If you're VAT-registered in Saudi Arabia, your tax invoices fall under ZATCA's e-invoicing requirements, and the UAE is phasing in its own e-invoicing system. Keep issuing official invoices from your compliant POS or accounting software.
  • Importing the past is manual. Old chats don't import themselves. Start with this season.
  • You own maintenance. Someone in the shop asks for each change. It's a sentence, not a project, but it's yours.

Owner, florists, drivers: setting it up for a team

A flower shop has three kinds of users, and they shouldn't see the same things.

  • The owner sees everything: revenue by occasion, cash per driver, the repeat-occasion list.
  • Florists see the production queue, card messages and the photo upload, but not revenue.
  • Drivers see only their own deliveries for today.

Those roles live inside the app. Ask for them early and test each with a separate account before the busy season.

Who builds the app is separate. Mythex's Business plan gives the shop a shared team workspace with unlimited members and Admin, Editor and Viewer roles. Apps can be members-only, so only people signed in to your workspace can open them, and staff can sign in through your verified company domain. Publish approvals and an audit log, for larger groups, come with Enterprise.

The florist CRM page has a starting prompt you can copy, and current plans are on the pricing page: there's a Free plan to build the first version, Pro is $25/month, Business starts at $50/month and Enterprise at $680/month.

Start before the next peak

Set this up in a quiet month, not the week before Mother's Day. Build the order screen first, run it next to WhatsApp for two weeks, and add the repeat-occasion list once there's data. By 21 March, last year's buyers are a list on a screen, not a memory.

If your shop has a rule that doesn't fit these prompts, describe it in the comments and I'll suggest how to phrase it.

Top comments (0)