{
  "id": "cafe",
  "title": "Ordering at a café",
  "group": "daily",
  "partner": {
    "name": "Sam",
    "role": "barista"
  },
  "topic": [
    "coffee",
    "tea",
    "drink*",
    "cup",
    "milk",
    "sugar",
    "cake",
    "muffin*",
    "croissant*",
    "sandwich*",
    "cookie*",
    "eat",
    "food",
    "order*",
    "menu",
    "price",
    "pay",
    "card",
    "cash",
    "size",
    "large",
    "small",
    "medium",
    "please",
    "thank*",
    "hot",
    "cold",
    "iced",
    "how much",
    "receipt",
    "oat",
    "barista"
  ],
  "levels": {
    "A2": {
      "goal": "Order a drink and something to eat, and pay.",
      "phrases": [
        {
          "text": "Can I get a…, please?",
          "re": "\\bcan i (get|have)\\b"
        },
        {
          "text": "A large one, please.",
          "re": "\\b(large|small|medium) (one|please)\\b"
        },
        {
          "text": "For here, please.",
          "re": "\\bfor here\\b"
        },
        {
          "text": "By card, please.",
          "re": "\\bby card\\b"
        },
        {
          "text": "That's all, thanks.",
          "re": "\\bthat'?s (all|it)\\b"
        }
      ],
      "words": [
        {
          "w": "to take away",
          "m": "to take your order with you"
        },
        {
          "w": "for here",
          "m": "you eat or drink in the café"
        },
        {
          "w": "card or cash?",
          "m": "how would you like to pay?"
        }
      ],
      "steps": [
        {
          "id": "drink",
          "task": "Order a drink",
          "say": "Hi there! What can I get for you?",
          "hint": "We have coffee, tea and juice. What would you like?",
          "model": "Can I get a coffee, please?",
          "options": [
            {
              "id": "drink",
              "any": [
                "coffee*",
                "tea",
                "latte*",
                "cappuccino*",
                "espresso*",
                "americano*",
                "flat white",
                "mocha*",
                "macchiato*",
                "hot chocolate",
                "chocolate",
                "juice",
                "water",
                "smoothie*",
                "lemonade",
                "cola",
                "coke",
                "milkshake*",
                "chai",
                "matcha",
                "cold brew",
                "frappe*",
                "frappuccino*",
                "iced"
              ],
              "reply": "@sure"
            }
          ],
          "tests": {
            "on": [
              "Can I get a latte please",
              "a cup of tea",
              "one coffee",
              "I want orange juice"
            ],
            "partly": [
              "hello",
              "yes please",
              "what do you have on the menu"
            ],
            "off": [
              "I like playing football on Sundays"
            ],
            "unclear": [
              "hmm"
            ]
          }
        },
        {
          "id": "size",
          "task": "Choose a size",
          "say": "What size would you like? Small, medium or large?",
          "hint": "Do you want a small one or a large one?",
          "model": "A large one, please.",
          "options": [
            {
              "id": "small",
              "any": [
                "small",
                "little"
              ],
              "reply": "Small, okay."
            },
            {
              "id": "medium",
              "any": [
                "medium",
                "regular",
                "normal"
              ],
              "reply": "Medium, okay."
            },
            {
              "id": "large",
              "any": [
                "large",
                "big"
              ],
              "reply": "Large, okay."
            }
          ],
          "tests": {
            "on": [
              "large please",
              "a small one",
              "medium"
            ],
            "partly": [
              "coffee please",
              "I don't want milk"
            ],
            "off": [
              "my name is Deniz and I live in Ankara"
            ]
          }
        },
        {
          "id": "food",
          "task": "Say if you want something to eat",
          "say": "Anything to eat with that?",
          "hint": "We have muffins, cookies and sandwiches. Would you like one?",
          "model": "Yes, a muffin, please.",
          "options": [
            {
              "id": "food",
              "any": [
                "muffin*",
                "cookie*",
                "sandwich*",
                "croissant*",
                "cake*",
                "brownie*",
                "bagel*",
                "toast",
                "cheesecake",
                "pastry",
                "pastries",
                "banana bread",
                "scone*",
                "donut*",
                "doughnut*",
                "biscuit*",
                "salad",
                "something sweet",
                "yes"
              ],
              "reply": "Good choice."
            },
            {
              "id": "none",
              "any": [
                "no",
                "nothing",
                "that's all",
                "that's it",
                "i'm fine",
                "i'm good",
                "just the",
                "not hungry",
                "only the",
                "no thanks"
              ],
              "reply": "@no-problem"
            },
            {
              "id": "yes",
              "any": [
                "yes",
                "yeah",
                "please",
                "sure",
                "okay"
              ],
              "reply": "@sure"
            }
          ],
          "tests": {
            "on": [
              "yes a chocolate muffin please",
              "no thanks that's all",
              "just the coffee"
            ],
            "partly": [
              "what do you have",
              "how much is the coffee"
            ],
            "off": [
              "the weather is very nice today in the park"
            ]
          }
        },
        {
          "id": "place",
          "task": "Say for here or to take away",
          "say": "Is that for here or to take away?",
          "hint": "Will you have it here, or take it with you?",
          "model": "For here, please.",
          "options": [
            {
              "id": "here",
              "any": [
                "here",
                "sit",
                "stay",
                "eat in",
                "drink in",
                "inside",
                "table"
              ],
              "reply": "Great, take a seat."
            },
            {
              "id": "away",
              "any": [
                "take away",
                "takeaway",
                "to go",
                "take it",
                "with me",
                "takeout",
                "take out",
                "away",
                "outside"
              ],
              "reply": "Okay, I'll put a lid on it."
            }
          ],
          "tests": {
            "on": [
              "for here please",
              "take away",
              "to go please"
            ],
            "partly": [
              "coffee",
              "yes please"
            ],
            "off": [
              "I am a student at the university"
            ]
          }
        },
        {
          "id": "pay",
          "task": "Pay",
          "say": "That's six fifty. Card or cash?",
          "hint": "How would you like to pay? Card or cash?",
          "model": "By card, please.",
          "options": [
            {
              "id": "card",
              "any": [
                "card",
                "credit",
                "debit",
                "tap",
                "contactless",
                "phone",
                "apple pay",
                "google pay"
              ],
              "reply": "Just tap it there. Thanks!"
            },
            {
              "id": "cash",
              "any": [
                "cash",
                "money",
                "here you are",
                "here you go",
                "coins",
                "change"
              ],
              "reply": "Thanks. Here's your change."
            }
          ],
          "tests": {
            "on": [
              "by card please",
              "cash",
              "here you are"
            ],
            "partly": [
              "how much is it",
              "thank you"
            ],
            "off": [
              "I have two brothers and a sister"
            ]
          }
        }
      ],
      "close": "Your order will be ready in a minute. Enjoy!",
      "watch": [
        {
          "re": "\\bi want\\b",
          "better": "Can I get",
          "note": "“Can I get…, please?” sounds friendlier than “I want”.",
          "tests": {
            "yes": [
              "I want a coffee"
            ],
            "no": [
              "I wanted to ask"
            ]
          }
        },
        {
          "re": "\\b(coffee|tea|latte|cappuccino|juice) (big|large|small|medium)\\b",
          "better": "{size:$2} $1",
          "note": "The size goes before the drink: a large coffee.",
          "tests": {
            "yes": [
              "one coffee big"
            ],
            "no": [
              "a large coffee"
            ]
          }
        },
        {
          "re": "\\bbig (coffee|tea|latte|cappuccino|juice|one)\\b",
          "better": "large $1",
          "note": "In a café the sizes are small, medium and large.",
          "tests": {
            "yes": [
              "a big coffee please"
            ],
            "no": [
              "a large coffee"
            ]
          }
        }
      ]
    },
    "B1": {
      "goal": "Order for yourself, ask what's good and deal with a small problem.",
      "phrases": [
        {
          "text": "Could I have…?",
          "re": "\\bcould i (have|get)\\b"
        },
        {
          "text": "What do you recommend?",
          "re": "\\brecommend\\b"
        },
        {
          "text": "No worries, I'll take the… instead.",
          "re": "\\b(no worries|instead)\\b"
        },
        {
          "text": "To eat in, please.",
          "re": "\\b(eat in|for here|have it here)\\b"
        },
        {
          "text": "Can I pay by card?",
          "re": "\\bpay by (card|cash)\\b"
        }
      ],
      "words": [
        {
          "w": "we're out of…",
          "m": "there is none left"
        },
        {
          "w": "warmed up",
          "m": "heated a little"
        },
        {
          "w": "eat in or take away",
          "m": "here in the café, or with you"
        }
      ],
      "steps": [
        {
          "id": "order",
          "task": "Order a drink",
          "say": "Hi, what can I get started for you?",
          "hint": "What would you like to drink? Coffee, tea, something cold?",
          "model": "Could I have a flat white, please?",
          "options": [
            {
              "id": "drink",
              "any": [
                "coffee*",
                "tea",
                "latte*",
                "cappuccino*",
                "espresso*",
                "americano*",
                "flat white",
                "mocha*",
                "macchiato*",
                "hot chocolate",
                "chocolate",
                "juice",
                "water",
                "smoothie*",
                "lemonade",
                "cola",
                "coke",
                "milkshake*",
                "chai",
                "matcha",
                "cold brew",
                "frappe*",
                "iced"
              ],
              "reply": "@sure"
            }
          ],
          "tests": {
            "on": [
              "could I have a flat white please",
              "I'll have an iced latte"
            ],
            "partly": [
              "what do you recommend",
              "hi good morning"
            ],
            "off": [
              "I am from Turkey and I work as an engineer"
            ]
          }
        },
        {
          "id": "milk",
          "task": "Choose your milk",
          "say": "Any milk with that? Oat milk is fifty cents extra.",
          "hint": "Would you like regular milk, oat milk, or no milk?",
          "model": "Oat milk, please. That's fine.",
          "options": [
            {
              "id": "oat",
              "any": [
                "oat*"
              ],
              "reply": "Oat milk, no problem."
            },
            {
              "id": "plant",
              "any": [
                "soy",
                "almond",
                "coconut"
              ],
              "reply": "@sure"
            },
            {
              "id": "regular",
              "any": [
                "regular",
                "normal",
                "whole",
                "cow*",
                "skimmed",
                "semi*",
                "full fat",
                "dairy",
                "yes"
              ],
              "reply": "Regular milk, sure."
            },
            {
              "id": "none",
              "any": [
                "no milk",
                "without milk",
                "black",
                "no",
                "nothing",
                "no thanks"
              ],
              "reply": "Okay, no milk."
            }
          ],
          "tests": {
            "on": [
              "oat milk please that's fine",
              "no milk thanks",
              "regular is fine",
              "black please"
            ],
            "partly": [
              "how much is it",
              "a large one"
            ],
            "off": [
              "I'm going to Paris next week with my family"
            ]
          }
        },
        {
          "id": "food",
          "task": "Deal with the muffin problem",
          "say": "And we're out of blueberry muffins today, sorry. Would you like something else?",
          "hint": "We still have banana bread and croissants. Or I can recommend something?",
          "model": "No worries, I'll take a croissant instead.",
          "options": [
            {
              "id": "recommend",
              "any": [
                "recommend*",
                "suggest*",
                "what's good",
                "what is good",
                "what do you have",
                "what else",
                "best",
                "popular",
                "surprise me"
              ],
              "reply": "The banana bread is really good today. Do you want it warmed up?",
              "next": "warm"
            },
            {
              "id": "food",
              "any": [
                "croissant*",
                "banana bread",
                "cookie*",
                "cake*",
                "sandwich*",
                "brownie*",
                "scone*",
                "bagel*",
                "toast",
                "muffin*",
                "pastry",
                "something else",
                "instead"
              ],
              "reply": "Good choice."
            },
            {
              "id": "none",
              "any": [
                "no",
                "nothing",
                "that's all",
                "that's it",
                "i'm fine",
                "i'm good",
                "just the",
                "not hungry",
                "only the",
                "never mind"
              ],
              "reply": "@no-problem"
            }
          ],
          "tests": {
            "on": [
              "no worries I'll take a croissant instead => food",
              "what do you recommend => recommend",
              "never mind just the coffee => none",
              "No, I'll have a cookie instead => food"
            ],
            "partly": [
              "oh really",
              "yes please"
            ],
            "off": [
              "my brother lives in Berlin"
            ]
          },
          "partly": [
            "really",
            "oh no",
            "shame",
            "pity",
            "okay",
            "oh"
          ]
        },
        {
          "id": "warm",
          "jump": true,
          "task": "Answer about warming it up",
          "hint": "Would you like the banana bread warm, or as it is?",
          "model": "Yes, please. Could you warm it up?",
          "options": [
            {
              "id": "yes",
              "any": [
                "yes",
                "warm*",
                "please",
                "sure",
                "sounds good",
                "great",
                "lovely",
                "okay",
                "why not"
              ],
              "reply": "Lovely, I'll warm it up."
            },
            {
              "id": "no",
              "any": [
                "no",
                "cold",
                "as it is",
                "not warm",
                "fine like that"
              ],
              "reply": "@no-problem"
            }
          ],
          "tests": {
            "on": [
              "yes please could you warm it up",
              "no thanks as it is"
            ],
            "partly": [
              "a croissant"
            ],
            "off": [
              "I watched a film last night"
            ]
          }
        },
        {
          "id": "place",
          "task": "Say eat in or take away",
          "say": "Is that to eat in or take away?",
          "hint": "Are you staying here, or taking it with you?",
          "model": "To eat in, please.",
          "options": [
            {
              "id": "here",
              "any": [
                "eat in",
                "here",
                "stay*",
                "sit",
                "inside",
                "table",
                "drink in"
              ],
              "reply": "Great, I'll bring it over."
            },
            {
              "id": "away",
              "any": [
                "take away",
                "takeaway",
                "to go",
                "take it",
                "with me",
                "takeout",
                "away",
                "outside"
              ],
              "reply": "Okay, I'll put it in a bag."
            }
          ],
          "tests": {
            "on": [
              "to eat in please",
              "take away please",
              "I'm taking it with me"
            ],
            "partly": [
              "oat milk",
              "thanks"
            ],
            "off": [
              "my favourite colour is blue"
            ]
          }
        },
        {
          "id": "pay",
          "task": "Pay",
          "say": "That's seven twenty. Just tap your card when you're ready.",
          "hint": "You can pay by card here, or with cash if you prefer.",
          "model": "Here you go. Thanks!",
          "options": [
            {
              "id": "card",
              "any": [
                "card",
                "tap*",
                "here you go",
                "here you are",
                "there you go",
                "done",
                "okay",
                "sure",
                "thank*",
                "phone",
                "contactless"
              ],
              "reply": "Lovely, all done."
            },
            {
              "id": "cash",
              "any": [
                "cash",
                "coins",
                "money"
              ],
              "reply": "Cash is fine. Here's your change."
            }
          ],
          "tests": {
            "on": [
              "here you go thanks",
              "can I pay by cash",
              "okay"
            ],
            "partly": [
              "how much is it again"
            ],
            "off": [
              "I really like dogs and cats"
            ]
          }
        }
      ],
      "close": "Your order will be at the end of the counter. Enjoy!",
      "watch": [
        {
          "re": "\\bi will (take|have)\\b",
          "better": "I'll have",
          "note": "Use “I’ll have” when you order.",
          "tests": {
            "yes": [
              "I will take a croissant"
            ],
            "no": [
              "I'll have a croissant"
            ]
          }
        },
        {
          "re": "\\bgive me\\b",
          "better": "Could I have",
          "note": "A question sounds more polite: “Could I have…?”",
          "tests": {
            "yes": [
              "give me a latte"
            ],
            "no": [
              "could I have a latte"
            ]
          }
        },
        {
          "re": "\\bwithout sugar\\b",
          "better": "no sugar",
          "note": "In orders, “no sugar” is shorter and more natural.",
          "tests": {
            "yes": [
              "with milk without sugar"
            ],
            "no": [
              "no sugar please"
            ]
          }
        },
        {
          "re": "\\b(recommend|suggest) for (eat|drink)\\b",
          "better": "$1 to $2",
          "note": "After “recommend”, say “something to eat”.",
          "tests": {
            "yes": [
              "what do you recommend for eat"
            ],
            "no": [
              "what do you recommend"
            ]
          }
        },
        {
          "re": "\\bi want\\b",
          "better": "Could I have",
          "note": "“Could I have…?” sounds friendlier than “I want”.",
          "tests": {
            "yes": [
              "I want a cappuccino"
            ],
            "no": [
              "I'd like a cappuccino"
            ]
          }
        }
      ]
    },
    "B2": {
      "goal": "Try something new, sort out a wrong order politely and chat a little.",
      "phrases": [
        {
          "text": "I'm after something…",
          "re": "\\b(i'm|i am) after\\b"
        },
        {
          "text": "Could you make it a bit less sweet?",
          "re": "\\bless sweet\\b"
        },
        {
          "text": "I think there's been a mix-up.",
          "re": "\\bmix ?-?up\\b"
        },
        {
          "text": "Actually, I ordered…",
          "re": "\\bactually\\b"
        },
        {
          "text": "No rush.",
          "re": "\\bno (rush|hurry|worries)\\b"
        }
      ],
      "words": [
        {
          "w": "a mix-up",
          "m": "a small mistake, when things get confused"
        },
        {
          "w": "seasonal",
          "m": "only on the menu at this time of year"
        },
        {
          "w": "an extra shot",
          "m": "more coffee in the cup, so it's stronger"
        }
      ],
      "steps": [
        {
          "id": "usual",
          "task": "Order something",
          "say": "Morning! The usual, or are you trying something new today?",
          "hint": "Would you like your usual drink, or something different today?",
          "model": "I'm after something new, actually. What would you suggest?",
          "options": [
            {
              "id": "new",
              "any": [
                "new",
                "something different",
                "different",
                "try something",
                "recommend*",
                "suggest*",
                "seasonal",
                "special",
                "surprise me",
                "what's good"
              ],
              "reply": "Our seasonal one is a maple latte. It's quite sweet, though.",
              "next": "sweet"
            },
            {
              "id": "usual",
              "any": [
                "usual",
                "the same",
                "same as",
                "as always",
                "my regular",
                "coffee*",
                "latte*",
                "cappuccino*",
                "flat white",
                "espresso*",
                "americano*",
                "tea",
                "mocha*",
                "chai",
                "matcha"
              ],
              "reply": "Coming right up."
            }
          ],
          "tests": {
            "on": [
              "something new actually what would you suggest",
              "just the usual please",
              "a flat white please"
            ],
            "partly": [
              "good morning how are you"
            ],
            "off": [
              "I need to finish my report for work"
            ]
          }
        },
        {
          "id": "sweet",
          "jump": true,
          "task": "Decide on the seasonal latte",
          "hint": "Do you want to try the maple latte, maybe less sweet, or something else?",
          "model": "Sounds good. Could you make it a bit less sweet?",
          "options": [
            {
              "id": "less",
              "any": [
                "less sweet",
                "not too sweet",
                "less syrup",
                "half the syrup",
                "half syrup",
                "no syrup",
                "less sugar",
                "not so sweet"
              ],
              "reply": "Sure, I'll do it with half the syrup."
            },
            {
              "id": "no",
              "any": [
                "something else",
                "instead",
                "not for me",
                "no thanks",
                "too sweet",
                "don't like sweet",
                "coffee*",
                "latte*",
                "cappuccino*",
                "flat white",
                "tea",
                "espresso*",
                "americano*",
                "usual"
              ],
              "reply": "@fair-enough"
            },
            {
              "id": "yes",
              "any": [
                "yes",
                "sure",
                "sounds good",
                "sounds great",
                "let's try",
                "i'll try",
                "i'll have it",
                "go for it",
                "why not",
                "okay",
                "perfect",
                "lovely"
              ],
              "reply": "Great choice."
            }
          ],
          "tests": {
            "on": [
              "sounds good could you make it a bit less sweet",
              "why not I'll try it",
              "no thanks just a flat white"
            ],
            "partly": [
              "how much is it"
            ],
            "off": [
              "my sister is a doctor in London"
            ]
          }
        },
        {
          "id": "mixup",
          "task": "Fix the wrong order",
          "say": "Here you go, one oat cappuccino.",
          "hint": "Hang on, is that actually what you ordered?",
          "model": "Sorry, I think there's been a mix-up. I ordered a flat white.",
          "options": [
            {
              "id": "fix",
              "any": [
                "mix up",
                "mixup",
                "mix-up",
                "wrong",
                "mistake",
                "not mine",
                "not what i ordered",
                "i ordered",
                "didn't order",
                "did not order",
                "actually",
                "not right",
                "isn't mine",
                "is not mine",
                "i asked for"
              ],
              "reply": "Oh, sorry about that! I'll make it again. No charge."
            }
          ],
          "partly": [
            "thank*",
            "thanks",
            "great",
            "cheers",
            "lovely",
            "perfect"
          ],
          "tests": {
            "on": [
              "sorry I think there's been a mix-up I ordered a flat white",
              "actually this isn't mine"
            ],
            "partly": [
              "thank you",
              "great thanks"
            ],
            "off": [
              "I went to the cinema yesterday"
            ]
          }
        },
        {
          "id": "chat",
          "task": "Chat with the barista",
          "say": "Busy day ahead?",
          "hint": "Have you got a lot on today, or is it a quiet one?",
          "model": "Pretty busy, actually. I've got meetings all afternoon.",
          "options": [
            {
              "id": "busy",
              "any": [
                "busy",
                "meeting*",
                "work*",
                "lots",
                "a lot",
                "crazy",
                "long day",
                "packed",
                "deadline*",
                "exam*",
                "class*",
                "yes",
                "yeah"
              ],
              "reply": "Ah, good luck with it."
            },
            {
              "id": "quiet",
              "any": [
                "quiet",
                "relax*",
                "day off",
                "free",
                "easy",
                "not really",
                "not much",
                "weekend",
                "holiday",
                "no",
                "chill*",
                "nothing"
              ],
              "reply": "Lucky you. Enjoy it!"
            }
          ],
          "tests": {
            "on": [
              "pretty busy actually I've got meetings all afternoon",
              "not really it's my day off"
            ],
            "partly": [
              "the coffee is great"
            ],
            "off": [
              "can you tell me the way to the station"
            ]
          }
        },
        {
          "id": "pay",
          "task": "Pay and finish",
          "say": "That's four eighty. Do you want a receipt?",
          "hint": "Shall I print you a receipt, or are you fine without one?",
          "model": "No, I'm fine, thanks. No rush.",
          "options": [
            {
              "id": "yes",
              "any": [
                "yes",
                "receipt",
                "please",
                "sure",
                "yeah"
              ],
              "none": [
                "no",
                "don't need"
              ],
              "reply": "Here you go."
            },
            {
              "id": "no",
              "any": [
                "no",
                "don't need",
                "i'm fine",
                "i'm good",
                "not needed",
                "no thanks",
                "that's okay",
                "that's fine"
              ],
              "reply": "@no-problem"
            }
          ],
          "tests": {
            "on": [
              "no I'm fine thanks",
              "yes please",
              "I don't need one"
            ],
            "partly": [
              "by card"
            ],
            "off": [
              "my cat is called Pamuk"
            ]
          }
        }
      ],
      "close": "There you go, made properly this time. Have a good one!",
      "watch": [
        {
          "re": "\\byou (made|did|have made) (a |the )?mistake\\b",
          "better": "I think there's been a mix-up",
          "note": "Softer: it doesn’t blame the person.",
          "tests": {
            "yes": [
              "you made a mistake with my order"
            ],
            "no": [
              "I think there's been a mix-up"
            ]
          }
        },
        {
          "re": "\\bless sweetly\\b",
          "better": "less sweet",
          "note": "“Sweet” describes the drink, so it stays an adjective.",
          "tests": {
            "yes": [
              "can you make it less sweetly"
            ],
            "no": [
              "less sweet please"
            ]
          }
        },
        {
          "re": "\\b(i am|i'm) waiting (since|for)\\b",
          "better": "I've been waiting for",
          "note": "For time up to now: “I’ve been waiting for…”",
          "tests": {
            "yes": [
              "I am waiting since ten minutes"
            ],
            "no": [
              "I've been waiting for ten minutes"
            ]
          }
        },
        {
          "re": "\\bthis is not (my order|mine|what i ordered)\\b",
          "better": "I don't think this is $1",
          "note": "“I don’t think…” sounds softer than “This is not…”.",
          "tests": {
            "yes": [
              "this is not my order"
            ],
            "no": [
              "I think there's been a mix-up"
            ]
          }
        }
      ]
    }
  }
}