# Booking bot: the scenario shown on callqa.dev, written with the short form. # `phone`, `persona` as text, `must_include`, `must_not` and `max_latency_ms` # at the top level are folded into the typed grammar on import. # Note: `test_data` requires the Growth plan or above. name: "Book appointment - edge case" phone: "+14155550101" schedule: "every day at 09:00 UTC" call_window: "09:00-18:00 America/New_York" persona: "Impatient customer, speaks fast, has accent" goal: "Book a haircut for tomorrow 2pm" test_data: credit_card: "4242 4242 4242 4242" customer_id: "TEST-9921" must_include: - "confirm date and time" - "provide booking reference" must_not: - "hang up before confirmation" - "hallucinate availability" max_latency_ms: 2000 tags: ["booking", "smoke"] variants: - title: "Happy path, polite customer" persona: description: "Polite customer, calm, speaks clearly" - title: "Asks for an unavailable slot" goal: "Ask for Sunday 7am (the salon is closed), then accept the first slot offered" assertions: - type: must_not text: "offer a slot outside opening hours" - title: "Test card 4242 declined" test_data: credit_card: "4000 0000 0000 0002" instructions: "Pay the deposit with the card in test_data. If it is declined, ask what to do." - title: "Mentions a competitor" instructions: "Say you usually go to another salon and ask if they match its prices."