> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vorel.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Restaurants

> Vorel's restaurant vertical pack, for restaurants handling reservations, party-size + dietary capture, occasion bookings, and section-aware seating.

The restaurant pack tunes Vorel's voice + chat agent for sit-down restaurants. It seeds an agent persona, the slots the agent collects on every reservation, the catalog attributes for slot/section combinations, the handoff triggers, and a few prompt-level overrides, all without code.

## Persona defaults

| Field                | Value                                                                                                          |
| -------------------- | -------------------------------------------------------------------------------------------------------------- |
| Agent name (English) | **Nadia**                                                                                                      |
| Agent name (Arabic)  | **نادية**                                                                                                      |
| Business framing     | "restaurant" / "مطعم"                                                                                          |
| Target customer      | "diners"                                                                                                       |
| Appointment noun     | "reservation" / "حجز"                                                                                          |
| Tone                 | warm and gracious, hospitality-first; concise on details (party size, time, dietary) without rushing the guest |

### Signature phrases (used at most once per call)

`delighted to help` · `let me get that sorted for you` · `بكل سرور` · `خلّيني أرتّب لك الحجز`

### Forbidden phrases (the agent will never say)

`guaranteed seating` · `best table in the house` · `we never run out` · `you'll love everything` · `مضمون لك أحسن طاولة`

These defend against over-promising in a setting where seating, menu items, and special requests are all subject to operational constraints.

## What the agent qualifies

The agent applies these qualification rules for this vertical:

> Capture party size, target date / time, and service period (lunch vs dinner) before searching availability. ALWAYS ask about dietary restrictions and any allergies in the party; the kitchen needs lead time and an undisclosed allergy is a safety incident. For occasions (birthday, anniversary), capture the celebrant's name + whether they want a cake or surprise note; route to the FOH manager via handoff if the request needs prep. Large parties (8+) and private-room bookings: confirm minimum spend, set menu requirement, and deposit policy at booking time, NOT at the table. For walk-in or same-day asks past peak window, offer the next-available slot or the bar; never suggest holding a table without a confirmed booking.

## Lead attributes captured

| Slot                   | Type      | Notes                                                                                                |
| ---------------------- | --------- | ---------------------------------------------------------------------------------------------------- |
| `party_size`           | number    | Number of guests                                                                                     |
| `occasion`             | string    | regular · birthday · anniversary · business · celebration · first\_visit                             |
| `dietary_requirements` | string\[] | vegetarian · vegan · halal · kosher · gluten\_free · nut\_allergy · shellfish\_allergy · dairy\_free |
| `seating_preference`   | string    | indoor · outdoor · private\_room · bar · window · no\_preference                                     |
| `high_chairs_needed`   | number    | High chairs / kids needing seats                                                                     |
| `regular_status`       | string    | new · returning · regular · vip                                                                      |

## Offering catalog attributes

Bookable slot-section combinations stored as Vorel `offerings`:

| Attribute          | Type    | Examples                                                           |
| ------------------ | ------- | ------------------------------------------------------------------ |
| `service_period`   | string  | breakfast · brunch · lunch · dinner · late\_night · afternoon\_tea |
| `duration_minutes` | number  | Slot duration                                                      |
| `max_party_size`   | number  | Hard cap for the slot                                              |
| `section`          | string  | indoor · outdoor · terrace · private\_room · bar · chefs\_table    |
| `min_spend_aed`    | number  | Minimum spend per guest (e.g. for terrace / private room)          |
| `set_menu_only`    | boolean | Slot requires the set menu                                         |
| `kid_friendly`     | boolean | Section accommodates kids / high chairs                            |

## Handoff triggers (defaults)

* **On complaint**: service grievances route to FOH manager.
* **On negotiation**: pricing / minimum-spend negotiations escalate.
* **On explicit request**: "let me speak to the manager".
* **On stuck**: if the agent can't make progress in two turns, hand off.

`on_compliance` is OFF. Restaurants rarely have compliance escalations on the inbound channel.

## Worth knowing

* **Allergies are a safety boundary.** The qualification prompt explicitly tells the agent that an undisclosed allergy is a safety incident, so it captures dietary requirements + allergies on every booking, not just for the celebrant. Add tenant-specific dietary categories (e.g. religious + cultural restrictions) via the dashboard.
* **Occasion + cake / surprise note.** When the caller mentions birthday / anniversary, the agent captures the celebrant's name and asks whether they want a cake or surprise note. If prep is needed, the agent routes to a human (FOH manager) so the kitchen has lead time.
* **Large parties + private rooms, terms confirmed at booking.** The agent confirms minimum spend, set-menu requirement, and deposit policy at booking time, not at the table. This protects against the "we showed up and only then learned about the AED 500/head minimum" pattern.
* **No held-table-without-booking.** The agent is explicitly told never to suggest holding a table without a confirmed booking, even for walk-in / same-day asks past peak window. Instead it offers the next-available slot or the bar.
* **Post-confirmation copy.** The pack's `booking_post_confirm_hint` instructs the confirmation to include the restaurant address with parking / valet notes, reservation name + party size, held seating section, slot duration, and any minimum-spend or set-menu terms. For dietary requests, it confirms the kitchen has been notified. For occasions, it confirms whether a cake / note has been arranged.

## Per-tenant tuning

* **Append signature / forbidden phrases**: your brand voice phrases on top of the pack defaults.
* **Replace prompt overrides per-key**: e.g. fine-dining-specific qualification rules vs. casual-dining vs. delivery-first hybrids.
* **Full prompt edits**: for deeper rewrites, `tenant_prompt_overrides` replaces individual sub-agent prompts.

## Related docs

* [Voice features](/product/voice): what the voice agent does end-to-end
* [Quickstart](/getting-started/quickstart): onboarding flow

{/* verified-against: apps/web/src/lib/agents/qualification.ts + handoff.ts (qualification + handoff sub-agents read pack data) */}
