# 02 — Knowledge pack schema (restaurant-v1)

**This is a fill-in form.** One copy per client, completed from the signed intake form (`docs/DEPLOYMENT.md` Stage 0).

**The one rule that governs this file:** every fact here must be **confirmed by the owner in writing**. Do not copy prices from their old website, do not infer hours from Google Maps, do not guess the parking situation. QA case 11 makes one invented fact an automatic failure of the whole sheet, and the fact that gets invented is almost always one somebody "obviously knew".

**Anything not in this pack does not exist to the assistant.** That is the design. An empty field is safe (the assistant takes a message); a wrong field is a lie told in the client's name, all day, to every caller.

---

## A. Identity

| Field | Value | Owner-confirmed? |
|---|---|---|
| `BUSINESS_NAME` — exactly as it should be said aloud | | ☐ |
| `ASSISTANT_NAME` (default: Mina) | | ☐ |
| Cuisine / one-line description | | ☐ |
| `MARKET` (US / BD / Gulf) — drives greeting variant and recording policy | | ☐ |
| `TIMEZONE` (IANA, e.g. `Asia/Dhaka`) — pinned in ONE place | | ☐ |

## B. Hours

One row per day. Include the closing day explicitly — "closed Monday" must be a stated fact, not an absence.

| Day | Opens | Last seating | Closes | Notes (lunch break, brunch) |
|---|---|---|---|---|
| Monday | | | | |
| Tuesday | | | | |
| Wednesday | | | | |
| Thursday | | | | |
| Friday | | | | |
| Saturday | | | | |
| Sunday | | | | |

| Field | Value | Confirmed? |
|---|---|---|
| Weekend pattern (BD: Fri · Gulf: Fri–Sat · US: Sat–Sun) | | ☐ |
| Holiday closures in the next 90 days | | ☐ |
| Kitchen closes before the venue? (by how long) | | ☐ |

> **Holiday hours are the #1 source of month-two errors.** `docs/TASKS.md` C-22 budgets 30 minutes for these updates; a client generating more than four a month means the template needs a self-serve form, not more of our hours.

## C. Location & access

| Field | Value | Confirmed? |
|---|---|---|
| Full address as spoken | | ☐ |
| Nearest landmark ("opposite the…") — how locals actually navigate | | ☐ |
| Parking: exists? valet? street? none? | | ☐ |
| Wheelchair access | | ☐ |
| Floor / entrance quirk worth saying | | ☐ |

## D. Reservation policy

| Field | Value | Confirmed? |
|---|---|---|
| Max party size bookable **without** a human | *(recommended: 6)* | ☐ |
| Party size above which it escalates (D8: "large party") | | ☐ |
| Table hold duration (how long a late party keeps the table) | | ☐ |
| Slot length per booking (drives calendar duration) | | ☐ |
| Buffer between sittings | | ☐ |
| Deposit required? For what size/occasion? | | ☐ |
| Cancellation policy, in the words the owner wants said | | ☐ |
| Same-day bookings allowed? Cut-off? | | ☐ |
| How far ahead can callers book? | | ☐ |
| High chairs / children welcome | | ☐ |
| Outdoor / indoor / private-room seating requestable? | | ☐ |

## E. Menu facts the assistant may state

**Not the whole menu.** The assistant offers to send the menu link; it does not read it aloud. List only what callers actually ask on the phone.

| Question callers ask | Approved answer | Confirmed? |
|---|---|---|
| Price range per head | | ☐ |
| Vegetarian options? | | ☐ |
| Vegan options? | | ☐ |
| Halal? | | ☐ |
| Gluten-free / allergy handling — **state the policy, never clear a specific dish** | | ☐ |
| Kids' menu? | | ☐ |
| Alcohol served? | | ☐ |
| Set menu / buffet / à la carte | | ☐ |
| Signature dishes to mention if asked "what's good?" | | ☐ |
| Menu link to send by SMS/WhatsApp | | ☐ |

> **Allergy rule, non-negotiable:** the assistant states the restaurant's general policy and flags the allergy on the booking. It never confirms that a named dish is free of an allergen. That is a kitchen decision with a health consequence, and it belongs in `05-forbidden-topics.md`.

## F. Services & extras

| Field | Value | Confirmed? |
|---|---|---|
| Takeaway? (v1 captures intent only — no POS integration) | | ☐ |
| Delivery? Own or platform (which)? | | ☐ |
| Private events / large bookings — who handles, what to say | | ☐ |
| Catering | | ☐ |
| Live music / events nights | | ☐ |
| Wifi, pets, dress code — if asked | | ☐ |

## G. Escalation targets (`04-escalation.md`)

| Field | Value | Confirmed? |
|---|---|---|
| Staffed-hours transfer number | | ☐ |
| Staffed hours for that number (may differ from opening hours) | | ☐ |
| After-hours alert destination (owner WhatsApp / SMS) | | ☐ |
| Who handles complaints, by name | | ☐ |
| Who handles large parties / events, by name | | ☐ |

## H. Delivery destinations (`docs/API_CONTRACT.md` §3)

| Field | Value | Confirmed? |
|---|---|---|
| Calendar system + account | | ☐ |
| Lead/message webhook or Sheet | | ☐ |
| Staff WhatsApp for takeaway-intent messages | | ☐ |
| Daily summary recipient | | ☐ |
| `client_id` (used in every lead payload) | | ☐ |

## I. Things the owner explicitly does NOT want said

Free text. Ask for it directly in the intake — owners always have one. ("Don't mention we're closing early on Sundays this month." "Never say we're fully booked, say we're heavily booked.")

---

## Completion gate

☐ Every row above either filled or marked **N/A by the owner**
☐ No field filled from a website, a review site, or memory
☐ Written owner confirmation filed with the intake form
☐ Pack scanned for credentials/PII — none present (`docs/SECURITY.md` §3: prompts travel, treat them as public)
