{
  "target": {
    "kcal": 2000,
    "p": 175,
    "f": 60,
    "c": 190
  },
  "waterGlasses": 14,
  "stores": [
    {
      "slug": "fresh",
      "name": "Spinneys / Le Charcutier Aoun",
      "sortOrder": 0
    },
    {
      "slug": "tawfeer",
      "name": "Tawfeer",
      "sortOrder": 1
    },
    {
      "slug": "supp",
      "name": "Protein District",
      "sortOrder": 2
    },
    {
      "slug": "pantry",
      "name": "Pantry — lasts weeks",
      "sortOrder": 3
    }
  ],
  "ingredients": [
    {
      "slug": "chicken",
      "name": "Chicken breast, skinless",
      "unit": "g",
      "packSize": 1000,
      "packLabel": "1 kg",
      "price": 10,
      "store": "fresh",
      "category": "protein",
      "hiddenInRecipe": false,
      "sortOrder": 0
    },
    {
      "slug": "beef",
      "name": "Lean ground beef (hebra)",
      "unit": "g",
      "packSize": 500,
      "packLabel": "500 g",
      "price": 7,
      "store": "fresh",
      "category": "protein",
      "hiddenInRecipe": false,
      "sortOrder": 1
    },
    {
      "slug": "fish",
      "name": "White fish fillet",
      "unit": "g",
      "packSize": 500,
      "packLabel": "500 g",
      "price": 7,
      "store": "fresh",
      "category": "protein",
      "hiddenInRecipe": false,
      "sortOrder": 2
    },
    {
      "slug": "tuna",
      "name": "Tuna in water",
      "unit": "tin",
      "packSize": 1,
      "packLabel": "tin",
      "price": 2,
      "store": "tawfeer",
      "category": "protein",
      "hiddenInRecipe": false,
      "sortOrder": 3
    },
    {
      "slug": "eggs",
      "name": "Eggs",
      "unit": "egg",
      "packSize": 30,
      "packLabel": "tray of 30",
      "price": 8.5,
      "store": "tawfeer",
      "category": "protein",
      "hiddenInRecipe": false,
      "sortOrder": 4
    },
    {
      "slug": "gyog",
      "name": "Greek yogurt 2%",
      "unit": "g",
      "packSize": 1000,
      "packLabel": "1 kg",
      "price": 4,
      "store": "tawfeer",
      "category": "protein",
      "hiddenInRecipe": false,
      "sortOrder": 5
    },
    {
      "slug": "labneh",
      "name": "Labneh, low-fat",
      "unit": "g",
      "packSize": 500,
      "packLabel": "500 g",
      "price": 3,
      "store": "tawfeer",
      "category": "protein",
      "hiddenInRecipe": false,
      "sortOrder": 6
    },
    {
      "slug": "laban",
      "name": "Laban",
      "unit": "g",
      "packSize": 500,
      "packLabel": "500 g",
      "price": 1.5,
      "store": "tawfeer",
      "category": "protein",
      "hiddenInRecipe": false,
      "sortOrder": 7
    },
    {
      "slug": "whey",
      "name": "Whey protein",
      "unit": "scoop",
      "packSize": 33,
      "packLabel": "1 kg tub",
      "price": 40,
      "store": "supp",
      "category": "protein",
      "hiddenInRecipe": false,
      "sortOrder": 8
    },
    {
      "slug": "rice",
      "name": "Rice, dry",
      "unit": "g",
      "packSize": 1000,
      "packLabel": "1 kg",
      "price": 3.5,
      "store": "tawfeer",
      "category": "carb",
      "hiddenInRecipe": false,
      "sortOrder": 9
    },
    {
      "slug": "bulgur",
      "name": "Bulgur, dry",
      "unit": "g",
      "packSize": 500,
      "packLabel": "500 g",
      "price": 2,
      "store": "tawfeer",
      "category": "carb",
      "hiddenInRecipe": false,
      "sortOrder": 10
    },
    {
      "slug": "potato",
      "name": "Potatoes",
      "unit": "g",
      "packSize": 1000,
      "packLabel": "1 kg",
      "price": 1,
      "store": "tawfeer",
      "category": "carb",
      "hiddenInRecipe": false,
      "sortOrder": 11
    },
    {
      "slug": "oats",
      "name": "Rolled oats",
      "unit": "g",
      "packSize": 500,
      "packLabel": "500 g",
      "price": 3,
      "store": "tawfeer",
      "category": "carb",
      "hiddenInRecipe": false,
      "sortOrder": 12
    },
    {
      "slug": "chickpeas",
      "name": "Chickpeas, tinned",
      "unit": "tin",
      "packSize": 1,
      "packLabel": "tin",
      "price": 1.25,
      "store": "tawfeer",
      "category": "carb",
      "hiddenInRecipe": false,
      "sortOrder": 13
    },
    {
      "slug": "lentils",
      "name": "Red lentils, dry",
      "unit": "g",
      "packSize": 500,
      "packLabel": "500 g",
      "price": 2,
      "store": "tawfeer",
      "category": "carb",
      "hiddenInRecipe": false,
      "sortOrder": 14
    },
    {
      "slug": "pita",
      "name": "Small Arabic pita",
      "unit": "loaf",
      "packSize": 10,
      "packLabel": "pack of 10",
      "price": 1.2,
      "store": "tawfeer",
      "category": "carb",
      "hiddenInRecipe": false,
      "sortOrder": 15
    },
    {
      "slug": "banana",
      "name": "Bananas",
      "unit": "pc",
      "packSize": 6,
      "packLabel": "6",
      "price": 1.5,
      "store": "tawfeer",
      "category": "carb",
      "hiddenInRecipe": false,
      "sortOrder": 16
    },
    {
      "slug": "apple",
      "name": "Apples",
      "unit": "pc",
      "packSize": 6,
      "packLabel": "6",
      "price": 4,
      "store": "tawfeer",
      "category": "carb",
      "hiddenInRecipe": false,
      "sortOrder": 17
    },
    {
      "slug": "cucumber",
      "name": "Cucumber",
      "unit": "g",
      "packSize": 1000,
      "packLabel": "1 kg",
      "price": 1.5,
      "store": "tawfeer",
      "category": "veg",
      "hiddenInRecipe": false,
      "sortOrder": 18
    },
    {
      "slug": "tomato",
      "name": "Tomato",
      "unit": "g",
      "packSize": 1000,
      "packLabel": "1 kg",
      "price": 2,
      "store": "tawfeer",
      "category": "veg",
      "hiddenInRecipe": false,
      "sortOrder": 19
    },
    {
      "slug": "lettuce",
      "name": "Lettuce",
      "unit": "head",
      "packSize": 1,
      "packLabel": "head",
      "price": 1,
      "store": "tawfeer",
      "category": "veg",
      "hiddenInRecipe": false,
      "sortOrder": 20
    },
    {
      "slug": "parsley",
      "name": "Parsley",
      "unit": "bunch",
      "packSize": 1,
      "packLabel": "bunch",
      "price": 0.5,
      "store": "tawfeer",
      "category": "veg",
      "hiddenInRecipe": false,
      "sortOrder": 21
    },
    {
      "slug": "mint",
      "name": "Mint",
      "unit": "bunch",
      "packSize": 1,
      "packLabel": "bunch",
      "price": 0.5,
      "store": "tawfeer",
      "category": "veg",
      "hiddenInRecipe": false,
      "sortOrder": 22
    },
    {
      "slug": "coriander",
      "name": "Coriander",
      "unit": "bunch",
      "packSize": 1,
      "packLabel": "bunch",
      "price": 0.5,
      "store": "tawfeer",
      "category": "veg",
      "hiddenInRecipe": false,
      "sortOrder": 23
    },
    {
      "slug": "onion",
      "name": "Onions",
      "unit": "pc",
      "packSize": 5,
      "packLabel": "5",
      "price": 1,
      "store": "tawfeer",
      "category": "veg",
      "hiddenInRecipe": false,
      "sortOrder": 24
    },
    {
      "slug": "lemon",
      "name": "Lemons",
      "unit": "pc",
      "packSize": 6,
      "packLabel": "6",
      "price": 1.5,
      "store": "tawfeer",
      "category": "veg",
      "hiddenInRecipe": false,
      "sortOrder": 25
    },
    {
      "slug": "garlic",
      "name": "Garlic",
      "unit": "head",
      "packSize": 2,
      "packLabel": "2 heads",
      "price": 1,
      "store": "tawfeer",
      "category": "veg",
      "hiddenInRecipe": false,
      "sortOrder": 26
    },
    {
      "slug": "pickles",
      "name": "Pickles",
      "unit": "jar",
      "packSize": 1,
      "packLabel": "jar",
      "price": 2,
      "store": "tawfeer",
      "category": "veg",
      "hiddenInRecipe": false,
      "sortOrder": 27
    },
    {
      "slug": "oliveoil",
      "name": "Olive oil",
      "unit": "ml",
      "packSize": 500,
      "packLabel": "500 ml",
      "price": 6,
      "store": "pantry",
      "category": "pantry",
      "hiddenInRecipe": false,
      "sortOrder": 28
    },
    {
      "slug": "tahini",
      "name": "Tahini",
      "unit": "g",
      "packSize": 300,
      "packLabel": "300 g",
      "price": 3,
      "store": "pantry",
      "category": "pantry",
      "hiddenInRecipe": false,
      "sortOrder": 29
    },
    {
      "slug": "almonds",
      "name": "Almonds",
      "unit": "g",
      "packSize": 100,
      "packLabel": "100 g",
      "price": 2.5,
      "store": "pantry",
      "category": "pantry",
      "hiddenInRecipe": false,
      "sortOrder": 30
    },
    {
      "slug": "tomatopaste",
      "name": "Tomato paste",
      "unit": "g",
      "packSize": 70,
      "packLabel": "tube",
      "price": 1,
      "store": "pantry",
      "category": "pantry",
      "hiddenInRecipe": false,
      "sortOrder": 31
    },
    {
      "slug": "spices",
      "name": "Seven spice, paprika, cumin, sumac, za'atar, chili",
      "unit": "set",
      "packSize": 1,
      "packLabel": "set",
      "price": 8,
      "store": "pantry",
      "category": "pantry",
      "hiddenInRecipe": true,
      "sortOrder": 32
    }
  ],
  "recipes": [
    {
      "slug": "b1",
      "name": "Egg & labneh plate",
      "slot": "breakfast",
      "prepNote": "7 min",
      "kcal": 501,
      "p": 43,
      "f": 21,
      "c": 34,
      "ingredients": [
        {
          "slug": "eggs",
          "qty": 6
        },
        {
          "slug": "labneh",
          "qty": 80
        },
        {
          "slug": "pita",
          "qty": 1
        },
        {
          "slug": "cucumber",
          "qty": 100
        },
        {
          "slug": "tomato",
          "qty": 100
        },
        {
          "slug": "mint",
          "qty": 0.1
        },
        {
          "slug": "spices",
          "qty": 0.02
        }
      ],
      "steps": [
        "Whisk 3 whole eggs with 3 whites. Non-stick pan, no oil — wipe with an oiled paper towel if it sticks.",
        "Scramble on medium-low. Salt and pepper.",
        "Plate 80 g labneh, sprinkle za'atar. No oil drizzle.",
        "Chop cucumber and tomato with lemon and mint. One pita."
      ]
    },
    {
      "slug": "b2",
      "name": "Protein overnight oats",
      "slot": "breakfast",
      "prepNote": "3 min, night before",
      "kcal": 470,
      "p": 51,
      "f": 9,
      "c": 51,
      "ingredients": [
        {
          "slug": "oats",
          "qty": 40
        },
        {
          "slug": "gyog",
          "qty": 200
        },
        {
          "slug": "whey",
          "qty": 1
        },
        {
          "slug": "banana",
          "qty": 0.5
        }
      ],
      "steps": [
        "In a jar: 40 g oats, 200 g Greek yogurt, 1 scoop whey, half a sliced banana, cinnamon, 50 ml water.",
        "Stir. Fridge overnight.",
        "Eat cold or microwave 60 seconds. Make three jars on Sunday — they hold four days."
      ]
    },
    {
      "slug": "l1",
      "name": "Taouk rice bowl",
      "slot": "lunch",
      "prepNote": "batch of 3",
      "kcal": 752,
      "p": 65,
      "f": 19,
      "c": 73,
      "ingredients": [
        {
          "slug": "chicken",
          "qty": 215
        },
        {
          "slug": "rice",
          "qty": 65
        },
        {
          "slug": "laban",
          "qty": 100
        },
        {
          "slug": "lettuce",
          "qty": 0.3
        },
        {
          "slug": "cucumber",
          "qty": 70
        },
        {
          "slug": "tomato",
          "qty": 70
        },
        {
          "slug": "lemon",
          "qty": 0.5
        },
        {
          "slug": "oliveoil",
          "qty": 5
        },
        {
          "slug": "gyog",
          "qty": 15
        },
        {
          "slug": "garlic",
          "qty": 0.2
        },
        {
          "slug": "tomatopaste",
          "qty": 5
        },
        {
          "slug": "spices",
          "qty": 0.03
        }
      ],
      "steps": [
        "Marinade for 1 kg chicken: 5 tbsp lemon juice, 4 tbsp low-fat yogurt, 1 tbsp tomato paste, 5 crushed garlic cloves, 2 tsp paprika, 2 tsp seven spice, 1 tsp cumin, 1 tbsp olive oil, salt, pepper.",
        "Cube the chicken, coat, fridge 4–24 h.",
        "Grill pan on high, 4 min a side, no added oil. Rest 3 min, then cube.",
        "Per bowl: 170 g chicken, 200 g cooked rice, fattoush without fried bread, 1 tsp olive oil, 100 g laban.",
        "Never buy pre-marinated taouk — the commercial marinade is mayonnaise and oil."
      ]
    },
    {
      "slug": "l2",
      "name": "Lean kafta & bulgur",
      "slot": "lunch",
      "prepNote": "batch of 2",
      "kcal": 708,
      "p": 64,
      "f": 20,
      "c": 72,
      "ingredients": [
        {
          "slug": "beef",
          "qty": 190
        },
        {
          "slug": "bulgur",
          "qty": 70
        },
        {
          "slug": "gyog",
          "qty": 100
        },
        {
          "slug": "pita",
          "qty": 1
        },
        {
          "slug": "cucumber",
          "qty": 100
        },
        {
          "slug": "tomato",
          "qty": 100
        },
        {
          "slug": "onion",
          "qty": 0.3
        },
        {
          "slug": "parsley",
          "qty": 0.3
        },
        {
          "slug": "mint",
          "qty": 0.1
        },
        {
          "slug": "garlic",
          "qty": 0.1
        },
        {
          "slug": "spices",
          "qty": 0.03
        }
      ],
      "steps": [
        "At the butcher: ask for hebra ground fresh — اطحنلي هالهبرة، بدون شحمة. Standard kafta mince is 25–30% fat.",
        "Mix 400 g beef with half a grated onion, a cup of chopped parsley, 1 tsp seven spice, ½ tsp cinnamon, ½ tsp cumin, salt, pepper.",
        "Form flat patties. Grill pan or oven at 220°C for 12 min.",
        "Per plate: 150 g kafta, 200 g cooked bulgur, cucumber-tomato salad, 100 g yogurt with garlic and mint, 1 pita."
      ]
    },
    {
      "slug": "l3",
      "name": "Shawarma potato bowl",
      "slot": "lunch",
      "prepNote": "batch of 2",
      "kcal": 677,
      "p": 68,
      "f": 15,
      "c": 63,
      "ingredients": [
        {
          "slug": "chicken",
          "qty": 215
        },
        {
          "slug": "potato",
          "qty": 250
        },
        {
          "slug": "gyog",
          "qty": 80
        },
        {
          "slug": "tahini",
          "qty": 5
        },
        {
          "slug": "lettuce",
          "qty": 0.3
        },
        {
          "slug": "tomato",
          "qty": 70
        },
        {
          "slug": "pickles",
          "qty": 0.1
        },
        {
          "slug": "lemon",
          "qty": 0.5
        },
        {
          "slug": "garlic",
          "qty": 0.2
        },
        {
          "slug": "spices",
          "qty": 0.03
        }
      ],
      "steps": [
        "Shawarma marinade: taouk base but swap paprika and seven spice for 1 tsp cinnamon, 1 tsp allspice, ½ tsp nutmeg, ½ tsp cardamom, 2 tbsp white vinegar.",
        "Grill, then slice thin after cooking.",
        "Sauce: 80 g yogurt, 1 tsp tahini, lemon, crushed garlic.",
        "Per bowl: 170 g chicken, 250 g boiled potato tossed in sumac, sauce, salad, pickles."
      ]
    },
    {
      "slug": "s1",
      "name": "Yogurt, apple, almonds",
      "slot": "snack",
      "prepNote": "1 min",
      "kcal": 329,
      "p": 24,
      "f": 10,
      "c": 33,
      "ingredients": [
        {
          "slug": "gyog",
          "qty": 200
        },
        {
          "slug": "apple",
          "qty": 1
        },
        {
          "slug": "almonds",
          "qty": 15
        }
      ],
      "steps": [
        "200 g Greek yogurt, one apple, 15 g almonds — about 12. Count them."
      ]
    },
    {
      "slug": "s2",
      "name": "Whey & banana",
      "slot": "snack",
      "prepNote": "1 min",
      "kcal": 225,
      "p": 25,
      "f": 2,
      "c": 30,
      "ingredients": [
        {
          "slug": "whey",
          "qty": 1
        },
        {
          "slug": "banana",
          "qty": 1
        }
      ],
      "steps": [
        "One scoop of whey in water. One banana. Good before or after training."
      ]
    },
    {
      "slug": "s3",
      "name": "Boiled eggs & apple",
      "slot": "snack",
      "prepNote": "0 min",
      "kcal": 311,
      "p": 19,
      "f": 15,
      "c": 26,
      "ingredients": [
        {
          "slug": "eggs",
          "qty": 3
        },
        {
          "slug": "apple",
          "qty": 1
        }
      ],
      "steps": [
        "Three hard-boiled eggs from the Sunday batch. One apple."
      ]
    },
    {
      "slug": "d1",
      "name": "Tuna & chickpea salad",
      "slot": "dinner",
      "prepNote": "5 min, no cooking",
      "kcal": 578,
      "p": 59,
      "f": 12,
      "c": 61,
      "ingredients": [
        {
          "slug": "tuna",
          "qty": 1.25
        },
        {
          "slug": "chickpeas",
          "qty": 0.8
        },
        {
          "slug": "tomato",
          "qty": 80
        },
        {
          "slug": "onion",
          "qty": 0.3
        },
        {
          "slug": "parsley",
          "qty": 0.3
        },
        {
          "slug": "lemon",
          "qty": 0.5
        },
        {
          "slug": "oliveoil",
          "qty": 5
        },
        {
          "slug": "spices",
          "qty": 0.02
        }
      ],
      "steps": [
        "150 g drained tuna, 200 g rinsed chickpeas, chopped tomato, red onion, parsley.",
        "2 tbsp lemon juice, 1 tsp olive oil measured, cumin, sumac, chili.",
        "Mix. Better after 20 minutes."
      ]
    },
    {
      "slug": "d2",
      "name": "Samke harra, light",
      "slot": "dinner",
      "prepNote": "20 min",
      "kcal": 510,
      "p": 58,
      "f": 13,
      "c": 42,
      "ingredients": [
        {
          "slug": "fish",
          "qty": 200
        },
        {
          "slug": "gyog",
          "qty": 100
        },
        {
          "slug": "tahini",
          "qty": 5
        },
        {
          "slug": "potato",
          "qty": 150
        },
        {
          "slug": "lettuce",
          "qty": 0.3
        },
        {
          "slug": "lemon",
          "qty": 0.5
        },
        {
          "slug": "garlic",
          "qty": 0.2
        },
        {
          "slug": "coriander",
          "qty": 0.2
        },
        {
          "slug": "oliveoil",
          "qty": 5
        },
        {
          "slug": "spices",
          "qty": 0.02
        }
      ],
      "steps": [
        "Oven 200°C. 200 g fish on foil with salt and lemon, 15 min.",
        "Sauce: 100 g yogurt, 1 tsp tahini, lemon, 2 crushed garlic cloves, 1 tsp chili flakes, chopped coriander.",
        "Spoon the sauce over after cooking. 150 g boiled potato, green salad with lemon, 1 tsp olive oil.",
        "Buy fish fresh on the day — don't batch it."
      ]
    },
    {
      "slug": "d3",
      "name": "Adas soup & grilled chicken",
      "slot": "dinner",
      "prepNote": "batch of 2",
      "kcal": 539,
      "p": 58,
      "f": 10,
      "c": 53,
      "ingredients": [
        {
          "slug": "lentils",
          "qty": 60
        },
        {
          "slug": "chicken",
          "qty": 165
        },
        {
          "slug": "pita",
          "qty": 1
        },
        {
          "slug": "onion",
          "qty": 0.5
        },
        {
          "slug": "garlic",
          "qty": 0.1
        },
        {
          "slug": "lemon",
          "qty": 0.3
        },
        {
          "slug": "oliveoil",
          "qty": 5
        },
        {
          "slug": "spices",
          "qty": 0.02
        }
      ],
      "steps": [
        "Soup for 2: 120 g red lentils, 1 chopped onion, 2 garlic cloves, 1 tsp cumin, ½ tsp turmeric, 700 ml water. Simmer 20 min, blend.",
        "Lemon on top, 1 tsp olive oil stirred in at the end.",
        "130 g grilled chicken from the Sunday taouk batch. One pita."
      ]
    }
  ],
  "week": [
    {
      "dayIndex": 0,
      "day": "Monday",
      "slots": {
        "breakfast": "b1",
        "lunch": "l1",
        "snack": "s1",
        "dinner": "d1"
      }
    },
    {
      "dayIndex": 1,
      "day": "Tuesday",
      "slots": {
        "breakfast": "b2",
        "lunch": "l2",
        "snack": "s2",
        "dinner": "d2"
      }
    },
    {
      "dayIndex": 2,
      "day": "Wednesday",
      "slots": {
        "breakfast": "b1",
        "lunch": "l3",
        "snack": "s1",
        "dinner": "d3"
      }
    },
    {
      "dayIndex": 3,
      "day": "Thursday",
      "slots": {
        "breakfast": "b2",
        "lunch": "l1",
        "snack": "s2",
        "dinner": "d1"
      }
    },
    {
      "dayIndex": 4,
      "day": "Friday",
      "slots": {
        "breakfast": "b1",
        "lunch": "l2",
        "snack": "s3",
        "dinner": "d2"
      }
    },
    {
      "dayIndex": 5,
      "day": "Saturday",
      "slots": {
        "breakfast": "b2",
        "lunch": "l3",
        "snack": "s1",
        "dinner": "d3"
      }
    },
    {
      "dayIndex": 6,
      "day": "Sunday",
      "slots": {
        "breakfast": "b1",
        "lunch": "l1",
        "snack": "s2",
        "dinner": "d2"
      }
    }
  ],
  "prep": [
    {
      "sortOrder": 0,
      "text": "Marinate 1.3 kg chicken — 650 g taouk, 650 g shawarma"
    },
    {
      "sortOrder": 1,
      "text": "Rice on (200 g dry). Bulgur on (140 g). Lentils on (120 g)"
    },
    {
      "sortOrder": 2,
      "text": "Boil 1 kg potatoes whole. Boil 6 eggs"
    },
    {
      "sortOrder": 3,
      "text": "Mix and form 4 kafta patties (400 g beef)"
    },
    {
      "sortOrder": 4,
      "text": "Grill the taouk chicken. Rest, cube, box: 3 lunch + 2 dinner"
    },
    {
      "sortOrder": 5,
      "text": "Grill the shawarma chicken. Slice thin, 2 boxes"
    },
    {
      "sortOrder": 6,
      "text": "Grill the kafta, 2 boxes"
    },
    {
      "sortOrder": 7,
      "text": "Separate 12 egg whites into a jar"
    },
    {
      "sortOrder": 8,
      "text": "Assemble 3 overnight-oat jars"
    },
    {
      "sortOrder": 9,
      "text": "Chop salad vegetables into airtight boxes"
    },
    {
      "sortOrder": 10,
      "text": "Make the two yogurt sauces: garlic-mint, tahini-chili"
    },
    {
      "sortOrder": 11,
      "text": "Freeze Thursday-onward lunches"
    }
  ]
}