{
  "schemaVersion": "2.0",
  "metadata": {
    "title": "Osteria del Ponte — evening menu",
    "author": "Madoo examples",
    "subject": "Restaurant menu",
    "keywords": ""
  },
  "pages": [
    {
      "id": "f1100000-0000-4000-8000-000000000017",
      "name": "Menu",
      "width": 595,
      "height": 842,
      "pageFormat": "A4",
      "backgroundColor": "#f7f2ea",
      "elements": [
        {
          "$type": "rectangle",
          "id": "f1100000-0000-4000-8000-000000000018",
          "name": "Frame",
          "left": 18,
          "top": 18,
          "width": 559,
          "height": 806,
          "fill": null,
          "stroke": "#d9cfbf",
          "strokeWidth": 0.75
        },
        {
          "$type": "text",
          "id": "f1100000-0000-4000-8000-000000000019",
          "name": "Kicker",
          "left": 48,
          "top": 44,
          "width": 499,
          "height": 12,
          "text": "ITALIAN KITCHEN · LONDON BRIDGE",
          "fontFamily": "Montserrat",
          "fontSize": 7.5,
          "fill": "#b5532f",
          "lineHeight": 1.25,
          "fontWeight": "bold",
          "charSpacing": 300,
          "textAlign": "center"
        },
        {
          "$type": "text",
          "id": "f1100000-0000-4000-8000-000000000020",
          "name": "Name",
          "left": 48,
          "top": 60,
          "width": 499,
          "height": 42,
          "text": "Osteria del Ponte",
          "fontFamily": "Playfair Display",
          "fontSize": 34,
          "fill": "#2b2a26",
          "lineHeight": 1.25,
          "fontWeight": "bold",
          "textAlign": "center"
        },
        {
          "$type": "text",
          "id": "f1100000-0000-4000-8000-000000000022",
          "name": "Service",
          "left": 48,
          "top": 106,
          "width": 499,
          "height": 14,
          "text": "Dinner · Friday 2 October",
          "fontFamily": "Inter",
          "fontSize": 10,
          "fill": "#6b665c",
          "lineHeight": 1.25,
          "textAlign": "center",
          "charSpacing": 60,
          "placeholder": {
            "id": "f1100000-0000-4000-8000-000000000021",
            "name": "Service and date",
            "code": "service_line",
            "placeholderType": "text",
            "required": true,
            "description": "Service and date, e.g. \"Dinner · Friday 2 October\"."
          }
        },
        {
          "$type": "line",
          "id": "f1100000-0000-4000-8000-000000000023",
          "name": "Top rule",
          "left": 218,
          "top": 130,
          "width": 159,
          "height": 0,
          "x1": 0,
          "y1": 0,
          "x2": 159,
          "y2": 0,
          "stroke": "#b5532f",
          "strokeWidth": 0.75
        },
        {
          "$type": "layout_region",
          "id": "f1100000-0000-4000-8000-000000000024",
          "name": "Body",
          "left": 48,
          "top": 142,
          "width": 499,
          "height": 622,
          "layout": {
            "mode": "vertical",
            "sizing": "hug",
            "childSizing": "content",
            "rowGap": 16,
            "crossAxisAlignment": "center"
          },
          "children": [
            {
              "$type": "text",
              "id": "f1100000-0000-4000-8000-000000000026",
              "name": "Chef note",
              "left": 40,
              "top": 0,
              "width": 419,
              "height": 36,
              "text": "The chef writes a few words about tonight.",
              "fontFamily": "Playfair Display",
              "fontSize": 12,
              "fill": "#2b2a26",
              "lineHeight": 1.4,
              "fontStyle": "italic",
              "textAlign": "center",
              "placeholder": {
                "id": "f1100000-0000-4000-8000-000000000025",
                "name": "Chef's note",
                "code": "chef_note",
                "placeholderType": "text",
                "required": true,
                "description": "Two sentences by the chef about tonight, at most 220 characters."
              },
              "grow": {
                "maxLines": 3,
                "beyond": "shrink",
                "height": "content"
              }
            },
            {
              "$type": "repeat_region",
              "id": "f1100000-0000-4000-8000-000000000027",
              "name": "Sections",
              "left": 0,
              "top": 60,
              "width": 499,
              "height": 566,
              "sourceCode": "sections",
              "maxItems": 5,
              "overflowPolicy": "fail",
              "layout": {
                "mode": "vertical",
                "rowGap": 13
              },
              "placeholder": {
                "id": "f1100000-0000-4000-8000-000000000028",
                "name": "Menu sections",
                "code": "sections",
                "placeholderType": "json",
                "required": true,
                "description": "The sections of the menu in order: { title, dishes: [{ name, description, price, vegetarian, gluten_free, new }] }."
              },
              "children": [
                {
                  "$type": "layout_region",
                  "id": "f1100000-0000-4000-8000-000000000013",
                  "name": "Section",
                  "left": 0,
                  "top": 0,
                  "width": 499,
                  "height": 60,
                  "layout": {
                    "mode": "vertical",
                    "sizing": "hug",
                    "childSizing": "content",
                    "rowGap": 5
                  },
                  "children": [
                    {
                      "$type": "text",
                      "id": "f1100000-0000-4000-8000-000000000015",
                      "name": "Section title",
                      "left": 0,
                      "top": 0,
                      "width": 499,
                      "height": 20,
                      "text": "Section",
                      "fontFamily": "Playfair Display",
                      "fontSize": 15,
                      "fill": "#b5532f",
                      "lineHeight": 1.25,
                      "fontStyle": "italic",
                      "textAlign": "center",
                      "placeholder": {
                        "id": "f1100000-0000-4000-8000-000000000014",
                        "name": "Section",
                        "code": "section_title",
                        "placeholderType": "text",
                        "required": true,
                        "bindingPath": "item.title"
                      }
                    },
                    {
                      "$type": "repeat_region",
                      "id": "f1100000-0000-4000-8000-000000000016",
                      "name": "Dishes",
                      "left": 0,
                      "top": 24,
                      "width": 499,
                      "height": 200,
                      "sourceCode": "item.dishes",
                      "maxItems": 8,
                      "overflowPolicy": "fail",
                      "layout": {
                        "mode": "vertical",
                        "rowGap": 5
                      },
                      "itemFields": [
                        {
                          "code": "vegetarian",
                          "name": "Vegetarian",
                          "type": "boolean",
                          "description": "True for a vegetarian dish."
                        },
                        {
                          "code": "gluten_free",
                          "name": "Gluten free",
                          "type": "boolean",
                          "description": "True when the dish is gluten free."
                        },
                        {
                          "code": "new",
                          "name": "New tonight",
                          "type": "boolean",
                          "description": "True for a dish on the menu for the first time."
                        }
                      ],
                      "children": [
                        {
                          "$type": "layout_region",
                          "id": "f1100000-0000-4000-8000-000000000001",
                          "name": "Dish",
                          "left": 0,
                          "top": 0,
                          "width": 499,
                          "height": 30,
                          "layout": {
                            "mode": "vertical",
                            "sizing": "hug",
                            "childSizing": "content",
                            "rowGap": 2
                          },
                          "children": [
                            {
                              "$type": "layout_region",
                              "id": "f1100000-0000-4000-8000-000000000002",
                              "name": "Dish head",
                              "left": 0,
                              "top": 0,
                              "width": 499,
                              "height": 18,
                              "layout": {
                                "mode": "horizontal",
                                "sizing": "hug",
                                "childSizing": "content",
                                "columnGap": 12,
                                "crossAxisAlignment": "start"
                              },
                              "children": [
                                {
                                  "$type": "text",
                                  "id": "f1100000-0000-4000-8000-000000000004",
                                  "name": "Dish name",
                                  "left": 0,
                                  "top": 0,
                                  "width": 427,
                                  "height": 18,
                                  "text": "Dish",
                                  "fontFamily": "Playfair Display",
                                  "fontSize": 11.5,
                                  "fill": "#2b2a26",
                                  "lineHeight": 1.15,
                                  "fontWeight": "bold",
                                  "placeholder": {
                                    "id": "f1100000-0000-4000-8000-000000000003",
                                    "name": "Dish",
                                    "code": "dish_name",
                                    "placeholderType": "text",
                                    "required": false,
                                    "bindingPath": "item.name"
                                  },
                                  "grow": {
                                    "maxLines": 2,
                                    "beyond": "shrink",
                                    "height": "content"
                                  }
                                },
                                {
                                  "$type": "text",
                                  "id": "f1100000-0000-4000-8000-000000000006",
                                  "name": "Dish price",
                                  "left": 0,
                                  "top": 1,
                                  "width": 60,
                                  "height": 16,
                                  "text": "0",
                                  "fontFamily": "Inter",
                                  "fontSize": 11,
                                  "fill": "#2b2a26",
                                  "lineHeight": 1.25,
                                  "fontWeight": "bold",
                                  "textAlign": "right",
                                  "placeholder": {
                                    "id": "f1100000-0000-4000-8000-000000000005",
                                    "name": "Price",
                                    "code": "dish_price",
                                    "placeholderType": "number",
                                    "required": false,
                                    "bindingPath": "item.price",
                                    "format": {
                                      "locale": "en-GB",
                                      "numberStyle": "currency",
                                      "currency": "GBP",
                                      "currencyDisplay": "symbol",
                                      "minimumFractionDigits": 0,
                                      "maximumFractionDigits": 2
                                    }
                                  }
                                }
                              ]
                            },
                            {
                              "$type": "text",
                              "id": "f1100000-0000-4000-8000-000000000008",
                              "name": "Dish description",
                              "left": 0,
                              "top": 20,
                              "width": 427,
                              "height": 13,
                              "text": "Description",
                              "fontFamily": "Inter",
                              "fontSize": 8.5,
                              "fill": "#6b665c",
                              "lineHeight": 1.35,
                              "placeholder": {
                                "id": "f1100000-0000-4000-8000-000000000007",
                                "name": "Description",
                                "code": "dish_description",
                                "placeholderType": "text",
                                "required": false,
                                "bindingPath": "item.description"
                              },
                              "grow": {
                                "maxLines": 2,
                                "beyond": "ellipsis",
                                "height": "content"
                              }
                            },
                            {
                              "$type": "layout_region",
                              "id": "f1100000-0000-4000-8000-000000000009",
                              "name": "Dish tags",
                              "left": 0,
                              "top": 36,
                              "width": 427,
                              "height": 11,
                              "layout": {
                                "mode": "horizontal",
                                "sizing": "hug",
                                "childSizing": "content",
                                "columnGap": 8
                              },
                              "condition": {
                                "operator": "any",
                                "conditions": [
                                  {
                                    "operator": "equals",
                                    "placeholderCode": "item.vegetarian",
                                    "literal": "true"
                                  },
                                  {
                                    "operator": "equals",
                                    "placeholderCode": "item.gluten_free",
                                    "literal": "true"
                                  },
                                  {
                                    "operator": "equals",
                                    "placeholderCode": "item.new",
                                    "literal": "true"
                                  }
                                ]
                              },
                              "children": [
                                {
                                  "$type": "text",
                                  "id": "f1100000-0000-4000-8000-000000000010",
                                  "name": "Tag VEGETARIAN",
                                  "left": 0,
                                  "top": 0,
                                  "width": 60,
                                  "height": 11,
                                  "text": "VEGETARIAN",
                                  "fontFamily": "Montserrat",
                                  "fontSize": 6.5,
                                  "fill": "#5e6b3a",
                                  "lineHeight": 1.25,
                                  "fontWeight": "bold",
                                  "charSpacing": 120,
                                  "condition": {
                                    "operator": "equals",
                                    "placeholderCode": "item.vegetarian",
                                    "literal": "true"
                                  }
                                },
                                {
                                  "$type": "text",
                                  "id": "f1100000-0000-4000-8000-000000000011",
                                  "name": "Tag GLUTEN FREE",
                                  "left": 0,
                                  "top": 0,
                                  "width": 65.2,
                                  "height": 11,
                                  "text": "GLUTEN FREE",
                                  "fontFamily": "Montserrat",
                                  "fontSize": 6.5,
                                  "fill": "#5e6b3a",
                                  "lineHeight": 1.25,
                                  "fontWeight": "bold",
                                  "charSpacing": 120,
                                  "condition": {
                                    "operator": "equals",
                                    "placeholderCode": "item.gluten_free",
                                    "literal": "true"
                                  }
                                },
                                {
                                  "$type": "text",
                                  "id": "f1100000-0000-4000-8000-000000000012",
                                  "name": "Tag NEW TONIGHT",
                                  "left": 0,
                                  "top": 0,
                                  "width": 65.2,
                                  "height": 11,
                                  "text": "NEW TONIGHT",
                                  "fontFamily": "Montserrat",
                                  "fontSize": 6.5,
                                  "fill": "#b5532f",
                                  "lineHeight": 1.25,
                                  "fontWeight": "bold",
                                  "charSpacing": 120,
                                  "condition": {
                                    "operator": "equals",
                                    "placeholderCode": "item.new",
                                    "literal": "true"
                                  }
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "$type": "line",
          "id": "f1100000-0000-4000-8000-000000000029",
          "name": "Bottom rule",
          "left": 48,
          "top": 770,
          "width": 499,
          "height": 0,
          "x1": 0,
          "y1": 0,
          "x2": 499,
          "y2": 0,
          "stroke": "#d9cfbf",
          "strokeWidth": 0.75
        },
        {
          "$type": "text",
          "id": "f1100000-0000-4000-8000-000000000030",
          "name": "Allergens",
          "left": 48,
          "top": 778,
          "width": 499,
          "height": 22,
          "text": "Please tell us about any allergy or intolerance before ordering: every dish can be checked against the 14 allergens. A discretionary 12.5% service charge is added to the bill.",
          "fontFamily": "Inter",
          "fontSize": 7.5,
          "fill": "#6b665c",
          "lineHeight": 1.4,
          "textAlign": "center"
        },
        {
          "$type": "text",
          "id": "f1100000-0000-4000-8000-000000000031",
          "name": "Address",
          "left": 48,
          "top": 804,
          "width": 499,
          "height": 10,
          "text": "12 Borough High Street, London SE1 · osteriadelponte.example · 020 7946 0123",
          "fontFamily": "Montserrat",
          "fontSize": 6.5,
          "fill": "#6b665c",
          "lineHeight": 1.25,
          "textAlign": "center",
          "charSpacing": 100
        }
      ]
    }
  ],
  "sampleSets": [
    {
      "id": "f1100000-0000-4000-8000-000000000901",
      "name": "Friday dinner",
      "values": {
        "service_line": "Dinner · Friday 2 October",
        "chef_note": "The first pumpkins of the season arrived from Kent this morning, and the lamb has braised all afternoon. Start light, finish slowly.",
        "sections": [
          {
            "title": "To start",
            "dishes": [
              {
                "name": "Burrata, heirloom tomatoes, basil oil",
                "description": "Puglian burrata, tomatoes from the Kent farm, cold-pressed basil oil.",
                "price": 12,
                "vegetarian": true,
                "gluten_free": true
              },
              {
                "name": "Beef carpaccio, rocket, aged parmesan",
                "description": "Hand-cut, lemon and Ligurian olive oil.",
                "price": 14,
                "gluten_free": true
              },
              {
                "name": "Fried courgette flowers",
                "description": "Stuffed with ricotta and mint, light batter.",
                "price": 11,
                "vegetarian": true,
                "new": true
              }
            ]
          },
          {
            "title": "Pasta",
            "dishes": [
              {
                "name": "Tagliatelle with slow-cooked beef ragù",
                "description": "Egg pasta rolled this morning, six-hour ragù.",
                "price": 18
              },
              {
                "name": "Linguine with clams, garlic and parsley",
                "description": "Palourde clams, white wine, a touch of chilli.",
                "price": 21
              },
              {
                "name": "Pumpkin ravioli, brown butter, sage",
                "description": "Amaretti crumb, parmesan.",
                "price": 17,
                "vegetarian": true
              }
            ]
          },
          {
            "title": "Mains",
            "dishes": [
              {
                "name": "Grilled sea bass, fennel and orange",
                "description": "Line-caught, charcoal grill, fennel salad.",
                "price": 26,
                "gluten_free": true
              },
              {
                "name": "Braised lamb shoulder, polenta",
                "description": "Rosemary, garlic, soft polenta from Bergamo.",
                "price": 27,
                "gluten_free": true,
                "new": true
              }
            ]
          },
          {
            "title": "To finish",
            "dishes": [
              {
                "name": "Tiramisù",
                "description": "Savoiardi, mascarpone, espresso.",
                "price": 8,
                "vegetarian": true
              },
              {
                "name": "Lemon sorbet with limoncello",
                "description": "Amalfi lemons.",
                "price": 7,
                "vegetarian": true,
                "gluten_free": true
              }
            ]
          }
        ]
      }
    },
    {
      "id": "f1100000-0000-4000-8000-000000000902",
      "name": "Short lunch menu",
      "values": {
        "service_line": "Lunch · Saturday 3 October",
        "chef_note": "A short menu for a quick lunch.",
        "sections": [
          {
            "title": "Pasta",
            "dishes": [
              {
                "name": "Tagliatelle with slow-cooked beef ragù",
                "description": "Egg pasta rolled this morning, six-hour ragù.",
                "price": 18
              },
              {
                "name": "Linguine with clams, garlic and parsley",
                "description": "Palourde clams, white wine, a touch of chilli.",
                "price": 21
              },
              {
                "name": "Pumpkin ravioli, brown butter, sage",
                "description": "Amaretti crumb, parmesan.",
                "price": 17,
                "vegetarian": true
              }
            ]
          },
          {
            "title": "To finish",
            "dishes": [
              {
                "name": "Tiramisù",
                "description": "Savoiardi, mascarpone, espresso.",
                "price": 8,
                "vegetarian": true
              }
            ]
          }
        ]
      }
    }
  ]
}
