A cleaning company in the UAE that needed to be bookable and payable online, in three languages, one of which reads right to left. These are the decisions that shaped it.
Arabic is a direction, not a translation
The document direction is set from the language on the server, before the first paint, so an Arabic visitor never sees a left-to-right layout flip into place. Spacing, icons and carousels are built to mirror rather than to be patched per-language.
Treating right-to-left as a late CSS fix is the usual way this goes wrong: the text translates, the layout does not, and the site reads as foreign to exactly the audience it was translated for.
Pay now or pay later — same booking
Checkout runs through Stripe Checkout, and the order is only trusted once the Stripe webhook confirms it — not when the browser comes back from the payment page. A user who closes the tab after paying still gets a completed order.
Booking without paying online stays available too, because a first-time customer in this market often wants to speak to someone before handing over a card.
Every enquiry lands in the CRM
Request forms create a lead in Bitrix24 with the service, contact details and source attached. The site is not the system of record for sales — the CRM is — so the handover happens at the moment of the enquiry rather than through someone re-typing an email.
Proof, and the team's own content
Before-and-after galleries and a blog run from an admin area the company edits itself, with media on Cloudinary. In cleaning, the before-and-after pair is the whole sales argument, so getting new ones online must not require a developer.
The result
A multilingual booking site for the UAE market — right-to-left Arabic done properly, online payment confirmed by webhook, every enquiry in the CRM, and galleries the team keeps current on its own.