Nobles Catering
A premium catering booking platform for Kuwait with a six-step wizard and full admin backend.

Where they were stuck.
Catering orders aren't products — they're assembled operations. A single booking touches dish selection, guest count, package tier, delivery time, zone-specific fees, payment method, and coordination with the kitchen. The previous system was email + spreadsheets, which meant duplicated data, missed requests, and a sales team spending more time on admin than selling. The real challenge: make the customer side feel frictionless while giving operations the structured data they actually need.
How we approached it.
We designed a progressive 6-step wizard that reveals complexity only when needed: service type → package → customization → date/time → location → confirmation. Each step validates before advancing, so bad data never reaches the backend. The Leaflet + OpenStreetMap picker pins delivery locations precisely. The admin side is split into two roles — admins see everything, sales roles see only orders and customers with no access to payment configuration. A 5-minute cron reconciles Ecom.io payment callbacks automatically, so nobody has to manually mark orders as paid. Invoices generate in both Arabic and English with correct RTL layout, ready to print or email.
Foundations of the brand.
A focused palette and a typographic pair that the storefront, the product page, and the admin dashboard all draw from — so the system reads as one voice across every screen.
Warm serif for editorial warmth, pragmatic sans for the booking flow.
See it running.
An embedded preview of the live site — interact with it directly, or open the full experience in a new tab.
Visit noblescatering.comLive preview. If the embed is blocked, use the visit button above.
The system, by feature.
6-Step Booking Wizard
Service type → package → customization → date/time → location → confirmation. Each step is validated before advancing.
Map-based Location
Leaflet + OpenStreetMap integration lets customers pin their exact delivery location with address auto-complete.
Role-Based Admin
Admins manage everything; sales roles only see orders and customers — no access to payment config or settings.
Payment Integration
Ecom.io E-Links for KNET and Visa/Mastercard, with automated reconciliation via a 5-minute cron job.
Printable Invoices
Bilingual invoices generated per order with proper formatting for both digital and print.
Bilingual + RTL
Full Arabic/English support with proper RTL layout for menus, forms, and admin interfaces.
Screen by screen.

How it's built.
A modern, type-safe stack chosen for performance and long-term maintainability.
What it adds up to.
What changed.
Booking time dropped from ~30 minutes (phone + manual order entry) to under 4 minutes. The sales team now handles roughly 3× the inquiries per person per day, and zero booking errors have been reported since launch. The Arabic version is the primary traffic channel — which validated building RTL as foundation, not polish.