{"$schema":"https://cookwala.ai/v1/schemas/recipe.schema.json","cookwala":"0.2.0","id":"w-ma-018","revision":1,"updated":"2026-10-06","legacy":{"dataUrl":"https://fifi.cooking/data/recipes/w-ma-018.json","pageUrl":"https://fifi.cooking/recipe/w-ma-018/"},"verification":{"level":"V0","generatedBy":"tools/export_fifi.py (deterministic, RFC-0009)","notes":"Described, not machine-verified: original ingredients and steps from fifi.cooking; quantities parsed from the text where possible; no end conditions, hazards or critical control points have been verified. Every step is an unclassified legacy step that a device never executes."},"dish":{"names":{"ar":"بسطيلة","de":"Marokkanische Pastilla","el":"Μαροκινή Παστίλα","en":"Moroccan Pastilla","es":"Pastilla marroquí","fa":"پاستیلا مراکشی","fr":"Pastilla marocaine","he":"פסטיליה מרוקאית","hi":"मोरोक्कन पास्टिला","id":"Pastilla Maroko","it":"Pastilla marocchina","ja":"モロッコ風パステーリャ","ko":"모로코식 파스티야","ku":"Pastîlaya Fasî","nl":"Marokkaanse Pastilla","pl":"Marokańska pastilla","ps":"مراکشي پاسټيلا","pt":"Pastilla Marroquina","ru":"Марокканская пастилла","sv":"Marockansk pastilla","sw":"Pastilla ya Kimoroko","te":"మొరాకోన్ పస్టిల్లా","tr":"Fas Usulü Pastilla","ur":"مراکشی پسطیلہ","zh":"摩洛哥巴斯蒂亚甜咸馅饼"},"localName":"بسطيلة","cuisine":["MA"],"course":"other","tags":["Main Dishes","Baking","world"],"images":[{"url":"https://fifi.cooking/recipe-images/w-ma-018.jpg","role":"banner"},{"url":"https://fifi.cooking/recipe-images/thumbs/w-ma-018.jpg","role":"thumb"}],"difficulty":"medium"},"yield":{"servings":6.0},"ingredients":[{"ref":"olive_oil","ingredientId":"cw.ing.olive_oil","legacyId":"w-ma-018-i1","qty":{"value":1.0,"unit":"tbsp"},"display":{"ar":"1 ملعقة كبيرة","en":"1 tbsp"}},{"ref":"boneless_chicken_thighs","ingredientId":"cw.ing.boneless_chicken_thighs","legacyId":"w-ma-018-i2","qty":{"value":5.0,"unit":"pcs"},"display":{"ar":"4-6 قطع","en":"4-6 pieces"}},{"ref":"butter","ingredientId":"cw.ing.butter","legacyId":"w-ma-018-i3","qty":{"value":1.0,"unit":"tbsp"},"display":{"ar":"1 ملعقة كبيرة","en":"1 tbsp"}},{"ref":"onions","ingredientId":"cw.ing.onions","legacyId":"w-ma-018-i4","qty":{"value":2.0,"unit":"pcs"},"display":{"ar":"2 حبة (مقطعة ناعماً)","en":"2 (finely chopped)"}},{"ref":"garlic_cloves","ingredientId":"cw.ing.garlic_cloves","legacyId":"w-ma-018-i5","qty":{"value":2.0,"unit":"pcs"},"display":{"ar":"2 فص (مفروم ناعمًا)","en":"2 (finely chopped)"}},{"ref":"ground_ginger","ingredientId":"cw.ing.ground_ginger","legacyId":"w-ma-018-i6","qty":{"value":1.0,"unit":"tsp"},"display":{"ar":"1 ملعقة صغيرة","en":"1 tsp"}},{"ref":"cinnamon","ingredientId":"cw.ing.cinnamon","legacyId":"w-ma-018-i7","qty":{"value":0.5,"unit":"tsp"},"display":{"ar":"1/2 ملعقة صغيرة","en":"1/2 tsp"}},{"ref":"turmeric","ingredientId":"cw.ing.turmeric","legacyId":"w-ma-018-i8","qty":{"value":0.5,"unit":"tsp"},"display":{"ar":"1/2 ملعقة صغيرة","en":"1/2 tsp"}},{"ref":"saffron","ingredientId":"cw.ing.saffron","legacyId":"w-ma-018-i9","qty":{"value":1,"unit":"pinch"},"display":{"ar":"رشة","en":"pinch"}},{"ref":"chicken_stock","ingredientId":"cw.ing.chicken_stock","legacyId":"w-ma-018-i10","qty":{"value":2.0,"unit":"cup"},"display":{"ar":"2 كوب","en":"2 cups"}},{"ref":"eggs","ingredientId":"cw.ing.eggs","legacyId":"w-ma-018-i11","qty":{"value":4.0,"unit":"pcs"},"display":{"ar":"4 حبة (مخفوقة)","en":"4 (beaten)"}},{"ref":"ground_almonds","ingredientId":"cw.ing.ground_almonds","legacyId":"w-ma-018-i12","qty":{"value":0.5,"unit":"cup"},"display":{"ar":"1/2 كوب","en":"1/2 cup"}},{"ref":"dried_dates","ingredientId":"cw.ing.dried_dates","legacyId":"w-ma-018-i13","qty":{"value":0.25,"unit":"cup"},"display":{"ar":"1/4 كوب (مقطعة ناعماً)","en":"1/4 cup (finely chopped)"}},{"ref":"orange_blossom_water","ingredientId":"cw.ing.orange_blossom_water","legacyId":"w-ma-018-i14","qty":{"value":1.0,"unit":"tbsp"},"display":{"ar":"1 ملعقة كبيرة","en":"1 tbsp"}},{"ref":"orange_zest","ingredientId":"cw.ing.orange_zest","legacyId":"w-ma-018-i15","qty":{"value":1.0,"unit":"tsp"},"display":{"ar":"1 ملعقة صغيرة","en":"1 tsp"}},{"ref":"finely_chopped_parsley","ingredientId":"cw.ing.finely_chopped_parsley","legacyId":"w-ma-018-i16","qty":{"value":4.0,"unit":"tbsp"},"display":{"ar":"4 ملاعق كبيرة","en":"4 tbsp"}},{"ref":"salt_and_freshly_ground_black_pepper","ingredientId":"cw.ing.salt_and_freshly_ground_black_pepper","legacyId":"w-ma-018-i17","qty":{"value":0,"unit":"g"},"display":{"ar":"حسب الرغبة","en":"to taste"},"toTaste":true},{"ref":"filo_pastry","ingredientId":"cw.ing.filo_pastry","legacyId":"w-ma-018-i18","qty":{"value":6.0,"unit":"pcs"},"display":{"ar":"6 أوراق","en":"6 sheets"}},{"ref":"melted_butter","ingredientId":"cw.ing.melted_butter","legacyId":"w-ma-018-i19","qty":{"value":0.5,"unit":"cup"},"display":{"ar":"1/2 كوب","en":"1/2 cup"}},{"ref":"powdered_sugar","ingredientId":"cw.ing.powdered_sugar","legacyId":"w-ma-018-i20","qty":{"value":1.0,"unit":"tbsp"},"display":{"ar":"1 ملعقة كبيرة","en":"1 tbsp"}},{"ref":"cinnamon_2","ingredientId":"cw.ing.cinnamon","legacyId":"w-ma-018-i21","qty":{"value":1.0,"unit":"tsp"},"display":{"ar":"1 ملعقة صغيرة","en":"1 tsp"}}],"equipment":[{"ref":"bowl","class":"cw.eq.tool.bowl.mixing"},{"ref":"knife","class":"cw.eq.tool.knife.chef"}],"process":{"nodes":[{"id":"n1","op":"cw.op.legacy_step","params":{"sourceStep":1,"phase":"cook","opHint":"cw.op.fry"},"attention":"continuous"},{"id":"n2","op":"cw.op.legacy_step","params":{"sourceStep":2,"phase":"cook","opHint":"cw.op.fry"},"attention":"continuous"},{"id":"n3","op":"cw.op.legacy_step","params":{"sourceStep":3,"phase":"cook","opHint":"cw.op.fry"},"attention":"continuous"},{"id":"n4","op":"cw.op.legacy_step","params":{"sourceStep":4,"phase":"cook","opHint":"cw.op.fry"},"attention":"continuous"},{"id":"n5","op":"cw.op.legacy_step","params":{"sourceStep":5,"phase":"cook","opHint":"cw.op.fry"},"attention":"continuous"},{"id":"n6","op":"cw.op.legacy_step","params":{"sourceStep":6,"phase":"cook","opHint":"cw.op.transfer"},"attention":"continuous"},{"id":"n7","op":"cw.op.legacy_step","params":{"sourceStep":7,"phase":"cook","opHint":"cw.op.simmer"},"attention":"continuous"},{"id":"n8","op":"cw.op.legacy_step","params":{"sourceStep":8,"phase":"cook","opHint":"cw.op.cut"},"attention":"continuous"},{"id":"n9","op":"cw.op.legacy_step","params":{"sourceStep":9,"phase":"cook","opHint":"cw.op.layer"},"attention":"continuous"},{"id":"n10","op":"cw.op.legacy_step","params":{"sourceStep":10,"phase":"cook","opHint":"cw.op.simmer"},"attention":"continuous"},{"id":"n11","op":"cw.op.legacy_step","params":{"sourceStep":11,"phase":"cook","opHint":"cw.op.mix"},"attention":"continuous"},{"id":"n12","op":"cw.op.legacy_step","params":{"sourceStep":12,"phase":"cook","opHint":"cw.op.cool"},"attention":"continuous"},{"id":"n13","op":"cw.op.legacy_step","params":{"sourceStep":13,"phase":"cook","opHint":"cw.op.bake"},"attention":"continuous"},{"id":"n14","op":"cw.op.legacy_step","params":{"sourceStep":14,"phase":"cook"},"attention":"continuous"},{"id":"n15","op":"cw.op.legacy_step","params":{"sourceStep":15,"phase":"cook","opHint":"cw.op.melt"},"attention":"continuous"},{"id":"n16","op":"cw.op.legacy_step","params":{"sourceStep":16,"phase":"cook","opHint":"cw.op.transfer"},"attention":"continuous"},{"id":"n17","op":"cw.op.legacy_step","params":{"sourceStep":17,"phase":"cook","opHint":"cw.op.transfer"},"attention":"continuous"},{"id":"n18","op":"cw.op.legacy_step","params":{"sourceStep":18,"phase":"cook","opHint":"cw.op.stuff"},"attention":"continuous"},{"id":"n19","op":"cw.op.legacy_step","params":{"sourceStep":19,"phase":"cook","opHint":"cw.op.cut"},"attention":"continuous"},{"id":"n20","op":"cw.op.legacy_step","params":{"sourceStep":20,"phase":"cook"},"attention":"continuous"},{"id":"n21","op":"cw.op.legacy_step","params":{"sourceStep":21,"phase":"cook","opHint":"cw.op.bake"},"attention":"continuous"},{"id":"n22","op":"cw.op.legacy_step","params":{"sourceStep":22,"phase":"cook","opHint":"cw.op.fry"},"attention":"continuous"},{"id":"n23","op":"cw.op.legacy_step","params":{"sourceStep":23,"phase":"cook","opHint":"cw.op.serve"},"attention":"continuous"}],"edges":"implicit-from-inputs","totalTime":"PT1H15M","activeTime":"PT45M"},"safety":{"hazards":[],"allergens":{"eu14":["cereals_gluten","eggs","milk","nuts"],"us9":["eggs","milk","tree_nuts","wheat"],"mayContain":[]},"supervision":{"default":"presence_required","reasons":{"all":"V0 document: a person cooks from the original steps; no step is machine-verified (RFC-0009)."}},"abort":{"steps":["heat_off","alert_user"]}},"text":{"ar":{"title":"بسطيلة"},"en":{"title":"Moroccan Pastilla"}},"textSidecars":{"languages":["de","el","es","fa","fr","he","hi","id","it","ja","ko","ku","nl","pl","ps","pt","ru","sv","sw","te","tr","ur","zh"],"url":"/v1/recipes/{id}/text/{lang}.json"},"source":{"name":"internationalcuisine.com","url":"https://www.internationalcuisine.com/moroccan-pastilla/","collection":"world","citation":"Rewritten from the public recipe site named in each recipe's source and credited there; halal-gated by fifi.cooking; structured facts only until the source rights are confirmed"},"license":"LicenseRef-source-credited","layers":{"r1":true,"r2":false,"r3":false},"nutrition":{"perServing":{"kcal":520,"protein":28,"fat":32,"carbs":45,"fiber":4,"sugar":18},"basis":"fifi.cooking estimate per serving (modelled from typical composition tables; not measured)"},"cost":{"buckets":{"dairyEggs":3.2,"produce":2.8,"grains":1.5,"fats":2.1,"spices":1.7,"specialty":2.4},"total":13.7},"x-cookwala-text":"facts","hash":"sha256:5815e3922e01d500f12b752c672b4662652f8b8ad84242c3b9f000d27e132b94"}
