Public API
Core concepts
Money, localization, and pricing rules that apply to every endpoint.
Money
All amounts are integers in MAD centimes. 8900 = 89.00 MAD. Never use floating-point for money.
Localized text
Names and descriptions are objects: { fr, en?, ar }. English is optional; clients should fall back to fr when en is missing.
json
{
"fr": "Classic Smash Burger",
"en": "Classic Smash Burger",
"ar": "كلاسيك سماش برغر"
}Server-side pricing
Do not send prices on order create. Any price field in the request is ignored. Unit price = product base + sum(option.priceCentimes × quantity).
A modified client cannot buy a 145 MAD steak for 1 centime — totals always come from the live menu.