The Problem
The client operated a successful car rental business at one of Africa's busiest airports, but their booking process was entirely phone-based. Customers — Moroccan Arabic speakers, French tourists, and English-speaking business travelers — had no way to check availability or reserve a vehicle online. This meant missed bookings, no-shows, and a complete inability to scale during high-season demand.
Previous attempts at a website had failed because the developers treated Arabic RTL as an afterthought — a CSS class toggled at the end of an LTR project. The result was an unusable interface for Arabic speakers, which represented over 60% of their customer base.
What We Built
A full-stack Laravel application with three language contexts running in parallel from day one — not translated versions of an LTR layout, but a single codebase that renders correctly in each language's reading direction and typographic conventions.
The booking flow was designed to remove every possible point of friction. Customers can complete a reservation in under three minutes without creating an account. Availability is pulled from a real-time calendar that the client manages through an admin dashboard — no technical knowledge required.
Core Features
FullCalendar integration with live availability updates. Customers see exactly which vehicles are free for their dates — no back-and-forth calls.
Multi-step checkout without forced account creation. Guest booking with email confirmation and optional WhatsApp notification.
Bookings are held pending admin confirmation. The client reviews, approves, or suggests alternatives — all from a mobile-responsive dashboard.
Not a CSS mirror. Arabic layout, typography, number formatting, and date conventions designed from the ground up for Arabic-first users.
Customers receive booking confirmations via WhatsApp — the dominant communication channel in Morocco — in their chosen language.
Edge caching rules configured to deliver sub-second loads from anywhere in the world. Image optimization and Early Hints enabled.
Technical Decisions
We chose Laravel for its mature localization system, which handles not just translation strings but pluralization rules, date formatting, and currency display across three languages without hacks. The database schema was designed with tenancy in mind — a decision that allowed the client to later add a second location without any structural changes.
For SEO, each language version has its own canonical URL, hreflang tags, and fully localized meta content. The Arabic version ranks independently for Moroccan Arabic-language search terms. The French version ranks for Moroccan French travel searches. The English version captures international business travelers searching in English.
The Result
Within 60 days of launch, online bookings had increased by 240%. The client's phone volume dropped significantly — but revenue went up, because the online system converts at a higher rate and captures customers who would previously have booked with a competitor rather than wait for a callback.
The 0.9-second load time — measured from Morocco — is a direct result of the Cloudflare configuration and image optimization decisions made during development, not something optimized after the fact.