{
  "schemaVersion": 1,
  "kitId": "business-restaurant-bistro",
  "restaurant": "Alder Table Bistro",
  "menuTitle": "Dinner menu",
  "asOf": "2026-09-08",
  "currency": "CAD",
  "locale": "en-CA",
  "period": {
    "start": "2026-08-20",
    "end": "2026-09-02"
  },
  "sources": {
    "plateCosts": "/files/data/restaurant-costing-v1/restaurant-bistro/plate-costs.csv",
    "allergenMatrix": "/files/data/restaurant-costing-v1/restaurant-bistro/allergen-matrix.csv",
    "operatingModel": "/files/data/business-kits-v1/restaurant-bistro/operating-model.json"
  },
  "allergenKey": [
    {
      "number": 1,
      "id": "cereals_gluten",
      "name": "Cereals containing gluten"
    },
    {
      "number": 2,
      "id": "crustaceans",
      "name": "Crustaceans"
    },
    {
      "number": 3,
      "id": "eggs",
      "name": "Eggs"
    },
    {
      "number": 4,
      "id": "fish",
      "name": "Fish"
    },
    {
      "number": 5,
      "id": "peanuts",
      "name": "Peanuts"
    },
    {
      "number": 6,
      "id": "soybeans",
      "name": "Soybeans"
    },
    {
      "number": 7,
      "id": "milk",
      "name": "Milk"
    },
    {
      "number": 8,
      "id": "nuts",
      "name": "Tree nuts"
    },
    {
      "number": 9,
      "id": "celery",
      "name": "Celery"
    },
    {
      "number": 10,
      "id": "mustard",
      "name": "Mustard"
    },
    {
      "number": 11,
      "id": "sesame",
      "name": "Sesame"
    },
    {
      "number": 12,
      "id": "sulphites",
      "name": "Sulphur dioxide and sulphites"
    },
    {
      "number": 13,
      "id": "lupin",
      "name": "Lupin"
    },
    {
      "number": 14,
      "id": "molluscs",
      "name": "Molluscs"
    }
  ],
  "taxCodes": [
    {
      "code": "GST5",
      "percent": 5.0
    },
    {
      "code": "EXEMPT",
      "percent": 0.0
    }
  ],
  "sections": [
    {
      "name": "Starters",
      "items": [
        {
          "menuItemId": "MENU-02",
          "name": "Tomato soup",
          "priceCad": 11.5,
          "plateCostCad": 1.26,
          "grossMarginCad": 10.24,
          "foodCostPercent": 10.96,
          "recipeLines": 3,
          "posItemCode": "MENU-02",
          "taxCode": "GST5",
          "modifierGroup": "MG-MENU-02",
          "allergens": [
            "milk"
          ],
          "allergenNumbers": [
            7
          ],
          "allergenSources": "milk: Cream",
          "modifiers": [
            {
              "modifierId": "MOD-03",
              "name": "Extra portion",
              "priceCad": 2.5
            },
            {
              "modifierId": "MOD-04",
              "name": "Takeaway packaging",
              "priceCad": 0.5
            }
          ]
        },
        {
          "menuItemId": "MENU-03",
          "name": "Garden salad",
          "priceCad": 13.0,
          "plateCostCad": 1.09,
          "grossMarginCad": 11.91,
          "foodCostPercent": 8.38,
          "recipeLines": 3,
          "posItemCode": "MENU-03",
          "taxCode": "GST5",
          "modifierGroup": "MG-MENU-03",
          "allergens": [],
          "allergenNumbers": [],
          "allergenSources": "none declared from the costed recipe lines",
          "modifiers": [
            {
              "modifierId": "MOD-05",
              "name": "Extra portion",
              "priceCad": 2.5
            },
            {
              "modifierId": "MOD-06",
              "name": "Takeaway packaging",
              "priceCad": 0.5
            }
          ]
        }
      ]
    },
    {
      "name": "Mains",
      "items": [
        {
          "menuItemId": "MENU-01",
          "name": "Roast chicken plate",
          "priceCad": 24.0,
          "plateCostCad": 3.07,
          "grossMarginCad": 20.93,
          "foodCostPercent": 12.79,
          "recipeLines": 3,
          "posItemCode": "MENU-01",
          "taxCode": "GST5",
          "modifierGroup": "MG-MENU-01",
          "allergens": [],
          "allergenNumbers": [],
          "allergenSources": "none declared from the costed recipe lines",
          "modifiers": [
            {
              "modifierId": "MOD-01",
              "name": "Extra portion",
              "priceCad": 2.5
            },
            {
              "modifierId": "MOD-02",
              "name": "Takeaway packaging",
              "priceCad": 0.5
            }
          ]
        }
      ]
    },
    {
      "name": "Sides",
      "items": [
        {
          "menuItemId": "MENU-04",
          "name": "Potato gratin",
          "priceCad": 12.5,
          "plateCostCad": 1.01,
          "grossMarginCad": 11.49,
          "foodCostPercent": 8.08,
          "recipeLines": 3,
          "posItemCode": "MENU-04",
          "taxCode": "GST5",
          "modifierGroup": "MG-MENU-04",
          "allergens": [
            "milk"
          ],
          "allergenNumbers": [
            7
          ],
          "allergenSources": "milk: Cream",
          "modifiers": [
            {
              "modifierId": "MOD-07",
              "name": "Extra portion",
              "priceCad": 2.5
            },
            {
              "modifierId": "MOD-08",
              "name": "Takeaway packaging",
              "priceCad": 0.5
            }
          ]
        }
      ]
    }
  ],
  "drinks": {
    "pricingRule": "A drink sold both ways is poured 5 times from one bottle; the glass price is the bottle price divided by 5 and rounded up to the next 0.25.",
    "costed": false,
    "byTheGlass": [
      {
        "drinkId": "DRK-01",
        "posItemCode": "DRK-01G",
        "name": "Maison blanc, Okanagan",
        "serveMl": 150,
        "priceCad": 7.75,
        "derivedFromBottle": true
      },
      {
        "drinkId": "DRK-02",
        "posItemCode": "DRK-02G",
        "name": "Maison rouge, Okanagan",
        "serveMl": 150,
        "priceCad": 8.0,
        "derivedFromBottle": true
      },
      {
        "drinkId": "DRK-03",
        "posItemCode": "DRK-03G",
        "name": "Brut sparkling",
        "serveMl": 150,
        "priceCad": 10.5,
        "derivedFromBottle": true
      },
      {
        "drinkId": "DRK-04",
        "posItemCode": "DRK-04G",
        "name": "Draught lager",
        "serveMl": 473,
        "priceCad": 8.5,
        "derivedFromBottle": false
      }
    ],
    "byTheBottle": [
      {
        "drinkId": "DRK-01",
        "posItemCode": "DRK-01B",
        "name": "Maison blanc, Okanagan",
        "bottleMl": 750,
        "priceCad": 38.0
      },
      {
        "drinkId": "DRK-02",
        "posItemCode": "DRK-02B",
        "name": "Maison rouge, Okanagan",
        "bottleMl": 750,
        "priceCad": 40.0
      },
      {
        "drinkId": "DRK-03",
        "posItemCode": "DRK-03B",
        "name": "Brut sparkling",
        "bottleMl": 750,
        "priceCad": 52.0
      },
      {
        "drinkId": "DRK-05",
        "posItemCode": "DRK-05B",
        "name": "Réserve rouge",
        "bottleMl": 750,
        "priceCad": 64.0
      }
    ]
  },
  "setMenu": {
    "name": "Set lunch",
    "priceCad": 31.0,
    "aLaCarteTotalCad": 35.5,
    "savingCad": 4.5,
    "menuItemIds": [
      "MENU-02",
      "MENU-01"
    ]
  },
  "kidsMenu": {
    "name": "Children's plates",
    "rule": "60 percent of the menu price, rounded to the nearest 0.05",
    "items": [
      {
        "menuItemId": "MENU-01",
        "name": "Roast chicken plate",
        "priceCad": 14.4
      },
      {
        "menuItemId": "MENU-02",
        "name": "Tomato soup",
        "priceCad": 6.9
      },
      {
        "menuItemId": "MENU-03",
        "name": "Garden salad",
        "priceCad": 7.8
      },
      {
        "menuItemId": "MENU-04",
        "name": "Potato gratin",
        "priceCad": 7.5
      }
    ]
  },
  "specials": {
    "serviceDate": "2026-08-28",
    "rule": "85 percent of the menu price, rounded to the nearest 0.05",
    "items": [
      {
        "menuItemId": "MENU-02",
        "name": "Tomato soup",
        "menuPriceCad": 11.5,
        "priceCad": 9.8,
        "savingCad": 1.7
      },
      {
        "menuItemId": "MENU-03",
        "name": "Garden salad",
        "menuPriceCad": 13.0,
        "priceCad": 11.05,
        "savingCad": 1.95
      }
    ]
  },
  "notes": [
    "Dish names, prices and allergen declarations are read from the costing folder listed under sources, so this document cannot disagree with the plate costs that shipped before it.",
    "Drinks are outside the shared ingredient costing study and carry list prices only. No plate cost is published for them and none is implied.",
    "Tax codes are fixture codes, not tax advice. GST5 carries 5.00 percent and matches the rate the costing folder's Z read uses; EXEMPT carries 0.00 percent and is applied only to the stored value line so an importer has two codes to map."
  ]
}
