Add the onions and cook until soft and translucent and they turn golden, 6-8 minutes. Add the celery, garlic and ginger and cook for another two minutes. Add the tomatoes, spices, preserved lemon and harissa (if using) and let the mixture simmer for a couple of minutes.
Add the chickpeas and lentils. Add the broth, bring to a boil, cover and simmer over low heat for 45 minutes to 1 hour. Add the rice, cover and continue to simmer for another 30 minutes.
Stir in the olives, spinach cilantro and parsley and simmer for another 5 minutes. Add salt and pepper to taste, garnish with lemon wedge.