Admin Dashboard

Manage restaurants, monitor conversations, and track system performance

Your Restaurants โ€” of โ€”

Switch between restaurants, or open any card for the full dashboard.

Plan usage โ€”
Welcome back
Here's how Aedan is doing today.
Aedan is live & answering
โ€”
Today's activity
โ€”
Plan usage this month
โ€”
Staff time saved today
โ€”
Locations on your plan
Tip
Loading a quick tipโ€ฆ
-
Total Restaurants
-
Conversations Today
-
Active Users
-
Reservations Today
-
Orders Today
-
AI Actions Today
-
Monthly Revenue
-
Conversations this month
-
Employees used
-
Emails sent this month

Developer Integration

Embed Aedan Rose on any site. Your personalized AI agent, trained on your uploaded documents, ready for your customers.

Your API Credentials

pub_โ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ข
Public Key (for widget embedding)
priv_โ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ข
Private Key (for server-side API)
Key Management
Regenerate if compromised
Free plan: 25 conversations/month
Usage this month: - / 25
Security Best Practices
  • Public Key: Safe to use in frontend JavaScript and HTML embeds
  • Private Key: Keep secret! Only use in server-side code, never expose in frontend
  • Domain Security: Configure allowed domains in Settings for additional protection
Your AI is trained and ready!
Training completed with your uploaded documents

Option A โ€” Script Embed (Recommended)

<head> Place in site head
Welcome! I'm Aedan Rose, your AI assistant.
I'm trained on your restaurant's specific information.
(Click "Test Live AI" to try your trained AI)
Installation Steps
  1. Copy the script below - It's personalized for your restaurant
  2. Paste before </head> - In your website's header section
  3. Customize the color - Change data-primary-color to match your brand
  4. Test it works - Visit your site and chat with your trained AI
  5. Monitor conversations - Check Admin โ†’ Conversations for customer chats
HTMLYour Personalized Widget Code

                

Option B โ€” iFrame Embed (Simplest)

<body> Place where chat should render
Your personalized AI assistant embedded as an iFrame.
Connects directly to your trained restaurant AI.
(Click "Test Live AI" to try your trained AI)
iFrame Installation Steps
  1. Copy the iFrame code below - Pre-configured for your restaurant
  2. Paste in your website HTML - Wherever you want the chat panel
  3. Adjust dimensions - Modify width and height as needed
  4. Style the container - Add CSS to position and style the frame
  5. Test functionality - Ensure customers can chat with your AI
HTMLYour Personalized iFrame Code

                
Tip: Customize the width and height attributes in the code above to fit your iframe window perfectly.

Where your widget is live

The domains where we've actually detected your chat widget loading. Updates automatically each time your widget loads on a page.

Loadingโ€ฆ

Approved domains (where your widget is allowed to run)

Leave empty to allow your widget everywhere. Add domains to lock your widget to only your sites โ€” requests from any other domain are blocked. Matches the exact host or any subdomain (e.g. myrestaurant.com also covers www.myrestaurant.com).

Installation Verification & Testing

Step-by-step verification process:
  1. Deploy your code - Add the widget script to your website
  2. Visit your website - Look for the chat bubble (usually bottom-right)
  3. Click the chat bubble - Aedan Rose should greet you with your restaurant's welcome message
  4. Test with real questions - Ask about your menu, hours, or location
  5. Verify AI responses - Aedan Rose should use information from your uploaded PDFs
  6. Check conversation logs - Go to Admin โ†’ Conversations to see the chat session
  7. Monitor usage - Track conversation count against your monthly limit

Troubleshooting Guide

Resolve common widget integration issues. For platform-wide incidents, check live system status below.

Step-by-step diagnosis:

  1. Open your live site in an incognito window. This rules out browser extensions and cached assets. If it works here but not in your normal browser, an ad blocker or extension is the cause.
  2. Open DevTools (F12) โ†’ Network tab โ†’ reload. Look for widget.js. Expected status: 200. If you see 404, the script src is wrong. If blocked, an ad blocker or CSP is interfering. If (failed), your site can't reach our CDN.
  3. Verify the embed code is in <head>. Many CMS editors strip <script> from the body or post content. The widget must load before render.
  4. Confirm your Restaurant ID. The data-restaurant-id attribute must exactly match:  (case-sensitive, no leading/trailing spaces).
  5. Mixed-content check. If your site is HTTPS, every URL in the embed must be HTTPS. Browsers silently block HTTP scripts on HTTPS pages.
  6. Console errors. DevTools โ†’ Console. Errors mentioning aedanrose, CORS, or Refused to load point to the next sections below.

Still stuck? See the Widget Installation guide for a clean reinstall.

Widget appears, but messages hang, error out, or return blanks.

  1. Check live system status first. Open the System Status page โ€” if there's an active incident, no action is needed on your side.
  2. Verify API reachability. Visit in a new tab. You should see a small JSON health response. A timeout or 5xx means our edge is unreachable from your network โ€” check status page or your firewall.
  3. Confirm AI training completed. Open the Settings tab and look for status completed on your training jobs. queued or processing means your AI isn't ready yet. failed usually means your uploaded PDFs were unreadable (see the next section).
  4. Plan / usage limits. Check your current usage against your plan in the Billing tab. If you've exceeded your monthly conversation limit, the AI stops responding to new sessions until the limit resets or you upgrade.
  5. Re-copy your embed code. If your widget worked previously and just stopped, re-copy the embed snippet from this Dev tab. The snippet is regenerated per restaurant and stays in sync with your live config.
  6. Network throttling. Some corporate networks block WebSocket connections. Test on cellular or another network. If it works there, your network admin needs to allow wss://aedanrose.ai.

If your browser console shows blocked by CORS policy or Refused to load, work through these in order.

  1. Allowed embed domains. Open the Website Traffic tab and scroll to Allowed embed domains. Add the bare domain only โ€” no https:// and no path (for example yourdomain.com). Leave the list empty to allow your assistant on any website.
  2. Subdomains. You don't need to add each subdomain separately โ€” adding yourdomain.com automatically allows www.yourdomain.com, order.yourdomain.com, and any other subdomain. Add a second domain only if you embed on a genuinely different domain.
  3. Local development. Add http://localhost:3000, http://localhost:8080, or whichever port your dev server uses. file:// origins are not supported โ€” serve via a local HTTP server.
  4. Reverse proxies / CDNs (Cloudflare, Fastly, Vercel). Ensure the Authorization, Origin, and X-Restaurant-Id headers are forwarded to origin. In Cloudflare, this means disabling "Strip private headers" and adding the Authorization header to the allowed list.
  5. Content Security Policy (CSP). If you have a CSP meta tag or header, you must allow our origins. Minimum directives:
    script-src 'self' https://aedanrose.ai;
    connect-src 'self' https://aedanrose.ai wss://aedanrose.ai;
    frame-src 'self' https://aedanrose.ai;
    img-src 'self' https://aedanrose.ai data:;
  6. Iframe sandboxing. If embedding via iframe, the parent's sandbox attribute must include allow-scripts allow-same-origin allow-popups.

When the AI sounds vague ("I don't have that information") or invents details, it's almost always a training-data quality issue.

  1. Confirm your menu/policies are uploaded. Open Settings โ†’ Training and check that your latest PDFs, menus, hours, and policies are listed with status completed. Anything failed never made it into the knowledge base.
  2. Check PDF quality. Scanned or image-based PDFs are unreadable to AI. Open each PDF and try to select text with your cursor โ€” if you can't highlight a word, it's an image. Re-export from Word/Google Docs as a real text PDF, or run OCR first (Adobe Acrobat โ†’ "Recognize Text").
  3. Test with specific questions. Use the live widget preview in the Dev tab and ask very specific questions about content you uploaded ("What are your hours on Sunday?", "Do you serve gluten-free pasta?"). If specific answers fail, the document didn't index correctly.
  4. Update outdated content. If your menu changed, you must re-upload. The AI does not auto-detect updates on your live site. Delete the old PDF in Settings โ†’ Training first, then upload the new one.
  5. Restaurant Profile completeness. Even with great PDFs, the AI uses the structured fields in Settings โ†’ Profile (cuisine, price range, ambiance, dietary options). Empty fields โ†’ vague responses.
  6. Force a retrain. If everything looks right but answers are still off, click Settings โ†’ Training โ†’ Rebuild Knowledge Base. This re-indexes everything and usually completes in 1โ€“3 minutes.

Widget looks wrong, gets covered, or doesn't open on phones.

  1. Test on real devices. Browser dev tools' device mode is an approximation. Try at least one iOS Safari and one Android Chrome.
  2. Viewport meta tag. Your site needs <meta name="viewport" content="width=device-width, initial-scale=1"> in <head>. Without it, mobile browsers render the widget at desktop size.
  3. Z-index conflicts. If a fixed navbar, cookie banner, or another vendor's widget covers our launcher, target our container in your CSS: #gaazzeebo-widget { z-index: 2147483646 !important; }. The widget mounts inside that root container.
  4. Touch events. If buttons don't respond to taps, check for parent elements using pointer-events: none or touch-action: none. The widget's container must allow touch.
  5. Performance on 3G/4G. The widget defers itself until after page load, but if your site has heavy synchronous scripts the launcher can take a few seconds to appear. Test with Chrome DevTools โ†’ Network โ†’ "Slow 3G" preset.
  6. Safe-area insets (notched devices). Widget respects env(safe-area-inset-bottom) automatically. If it overlaps the home indicator on iPhones, ensure your <meta name="viewport"> includes viewport-fit=cover.

You changed brand colors or position in Settings, but the live widget still shows old values.

  1. Hard reload the page on the site where the widget is embedded: Ctrl+Shift+R (Windows/Linux) or Cmd+Shift+R (Mac). The widget script is cached aggressively.
  2. CDN cache. If you use Cloudflare or another CDN, purge the cache or wait up to 5 minutes. Brand config is fetched from our edge on first load.
  3. Verify the change actually saved. Re-open Settings โ†’ Branding. If the color picker still shows the old value, the save failed โ€” usually a network glitch. Save again.
  4. Inline overrides. If your embed code has data-primary-color or data-position attributes, those override the dashboard settings. Remove them or update them to match.
  5. Customization docs. See the Customization Options guide for every available embed-attribute override.

CMS platforms strip or sanitize <script> tags differently. Pick your platform:

  • WordPress: Don't paste into the post editor โ€” use a "Custom HTML" header plugin (e.g., "Insert Headers and Footers") or your theme's header.php. Block editors silently strip <script>.
  • Shopify: Edit theme.liquid and paste just before </head>. The default editor doesn't allow scripts via the page builder.
  • Wix: Use Settings โ†’ Custom Code โ†’ Add Custom Code, set "Place Code in" to Head, and apply to "All Pages". The HTML embed widget in the page editor runs in an iframe and won't work.
  • Squarespace: Settings โ†’ Advanced โ†’ Code Injection โ†’ Header. Requires Business plan or higher โ€” Personal plans don't allow custom code.
  • Custom HTML / Static sites: Paste before </head>. For SPAs (React, Vue, Next.js), place in your root index.html head, not inside a component โ€” components mount after the widget initializes.

Our widget is engineered for minimal page-load impact, but here's how to verify and tune it.

  • Deferred loading. The embed snippet sets s.defer = true on the script element, so the widget never blocks your page render. If you've manually rewritten the snippet without defer, restore it.
  • Lighthouse audit. Run Lighthouse on your live site. The widget loads asynchronously and should not significantly impact LCP or TBT. If your scores dropped after install, hard-reload to bypass any stale cached version.
  • Preconnect hint. Add <link rel="preconnect" href="https://aedanrose.ai"> to your <head> above the widget snippet to start the TLS handshake earlier โ€” typically saves 100โ€“200ms on slower connections.
  • Conditional loading. To skip the widget on non-customer pages (admin areas, checkout flows), wrap the embed snippet in a server-side or template conditional so it only ships HTML to customer-facing pages.
  • One instance per page. Only include the embed snippet once per page. Multiple copies will spawn multiple launchers and inflate bundle parse time.

If you operate in a jurisdiction with consent requirements, here's how to integrate cleanly.

  • Consent-gating. Don't load the embed script until the user has accepted cookies. Most consent platforms (OneTrust, CookieYes, Iubenda) support category-based gating โ€” categorize our widget as "Functional" or "Customer Support".
  • Session storage. The widget stores conversation state in localStorage scoped to your domain only โ€” no cross-site tracking and no marketing pixels.
  • End-user data deletion. Customers requesting deletion of their conversation history can submit a request via the public deletion form at /delete-account.html. Requests are honored within 30 days.
  • Restaurant account deletion. See the Account Management guide for the full account-closure flow.
  • DPA / SCCs / compliance questions. Enterprise customers can request a signed Data Processing Addendum and Standard Contractual Clauses โ€” email help@aedanrose.ai.

If none of the above resolved your issue, send our support team the following so we can diagnose without back-and-forth:

  • Your Restaurant ID:
  • The website URL where the widget should appear
  • Browser, OS, and device (e.g., "Chrome 134 on macOS 15, MacBook Pro M2")
  • Screenshots or screen recording of the issue
  • Browser console output (F12 โ†’ Console โ†’ right-click โ†’ Save asโ€ฆ)
  • Network tab HAR export if the issue is a failed request (F12 โ†’ Network โ†’ right-click โ†’ Save all as HAR)

The Generate Support Report button below auto-compiles your Restaurant ID, plan, environment, and recent errors into a shareable payload.

๐Ÿช Restaurant Management

Manage your restaurants and track plan usage

๐Ÿ“Š Usage
0 / 1
Free Plan
Free 1 restaurant
Starter 1 restaurant
Professional 2 restaurants
Growth 5 restaurants
Business 10 restaurants
Enterprise 25 restaurants
Need more restaurants?
Add one at your current plan for $98/mo (yearly = 2 months free) โ€” no plan upgrade needed. Add as many as you like.

Loading restaurants...

Active Conversations

Monitor real-time customer interactions happening now

- Active Now
- Avg Response
- Avg Duration
Live now. Conversations a customer is in right now (active within the last 30 minutes). Use search and the restaurant filter to find one fast, then click a card to open the full transcript. Watch for Escalated or Waiting chips that may need a human.
0
Active Now
Real-time
-
Avg Response Time
AI performance
-
Avg Session Duration
Current sessions
-
Avg Messages
Per conversation

Recent Conversations

Browse conversation history and trends

- Total
- Avg Duration
- Conversion
Recent history. Every conversation in the selected time window, newest first. Combine the search box, time range, and restaurant filter to drill in. The Conversion stat shows how many turned into a reservation โ€” open a card to see the full thread.
0
Total Conversations
+0% from yesterday
-
Avg Duration
Per conversation
0%
Conversion Rate
To reservations
-
Peak Hour
Most active time

Conversations with Reservations

Track conversations that resulted in bookings

- Total
- Conversion
- Avg Party
Booked conversations. Chats that converted into a reservation. Each card shows the guest, party size, and booking date when available. Filter by booking status (confirmed / pending / cancelled) or time range to see what needs attention.
0%
Conversion Rate
Conversations to bookings
$0
Estimated Value
From reservations
-
Avg Party Size
Guests per booking
0%
Cancellation Rate
Cancelled bookings

Completed Conversations

Review finished customer interactions and outcomes

- Total
- Success Rate
- Avg Duration
Archive. Finished conversations, fully auditable. Filter by outcome (made a reservation, info only) and time range, search by guest or restaurant, then open any card to review the complete transcript and how the AI resolved it.
0
Total Completed
+0% from yesterday
-
Avg Duration
Resolution time
0%
Success Rate
Positive outcomes
-
Top Outcome
Most common result

Analytics & Insights

Comprehensive performance metrics and business intelligence

Select an Analytics Category

Choose a category from the Analytics dropdown to view detailed insights and metrics

๐ŸŒ Website TrafficThe real people visiting the web pages where your AI assistant is installed. Use it to see who's finding you and where they come from โ€” then send more of your effort to whatever is working.

See where your real visitors come from and what they do โ€” in plain English.

We only count visits to the pages where your AI assistant is installed, and only after a visitor is okay with cookies โ€” so this is a clean, privacy-friendly picture of your real customers. We never store anyone's exact identity or IP address.

This page shows the real people visiting the web pages where your AI assistant lives โ€” where they came from, what they look at, and whether they end up booking or ordering. Use it to spend your time on whatever is actually working. Here's the simple loop:

1Share a tagged link
Post your menu or booking link on Instagram, Facebook, in emails โ€” but add a small tag so we know which post sent each visitor. Build one below in 10 seconds.
2See what worked
Check Where your visitors come from and Campaigns & links below to see which channel and which post actually brought people in.
3Do more of it
Lean into the channel sending the most visitors, and the From visit to booking funnel tells you where you're losing people so you can fix the weakest step.
Make a trackable link (UTM tagger) A "UTM" is just a few words added to the end of your link (after a ?). It's invisible to your customer but tells us which post or channel they came from โ€” so the "Campaigns & links" panel below can show you what's working.

Pick where you're going to share, and we'll add the right tag to your link. Copy it, then paste it in your Instagram bio, a Facebook post, an email โ€” anywhere. When people click it, they'll show up tagged in the panels below.

Add your link above to build a tagged version.
Tip: Make pretty link turns the long tagged URL into a short, shareable aedanrose.ai/go/โ€ฆ link that redirects to your page. Use the same campaign name across a promo so all its links group together.

Online PresenceA health-check of how easy you are to find online โ€” your website, Google profile, Yelp listing, and whether AI assistants recommend you. The higher each score, the more new customers can discover you.

How easy you are to find online โ€” your website, Google profile, directory listings, and whether AI assistants recommend you. Every number is real and stamped with the date we last checked.

Re-checks your website, Google, and listings right now and updates every number on this page. Your plan includes a set number of refreshes each month โ€” most owners only need one every week or two.
Your Online Presence Score
One easy 0โ€“100 number blending your website, Google, listings, and AI visibility. 80+ is great; under 60 means new customers may struggle to find you โ€” check the "biggest wins" cards below for the fastest fixes.
We blend your website, Google, directory and AI-assistant signals into one easy number. Hit Refresh to calculate it.
Your biggest wins right now

Confirm your sources By default we find you by name + address, which can match the wrong listing. Enter your real website and link your Google Business Profile so every number on this page is provably yours โ€” then hit Refresh.

Enter your real website and link your Google profile so we measure your listing โ€” not a name match. After saving, tap Refresh above.

Easiest way: start typing your name + city, then tap your listing โ€” we lock it in for you. No Place ID or links needed.
Advanced: paste a Maps link or Place ID instead
We accept a ChIJโ€ฆ Place ID or a Maps URL that contains one. (The "Share" button gives a short link we can't read โ€” use Find my listing above instead, it's much easier.)

๐Ÿ’ณ Billing & Subscriptions

Loading...
Current Plan
Loading...
Subscription Status
Loading...
Next Billing
Loading...
Revenue

Resource Usage & Limits

Conversations
This Month 0 / 25
0% used
Base Plan 25
Add-Ons +0
Total Limit 25
Employees
Active Now 0 / 3
0% capacity
Base Plan 3
Add-Ons +0
Total Limit 3
Monthly Emails
This Month 0 / 100
0% used
Base Plan 100
Add-Ons +0
Total Limit 100

Account Overview

Loading account information...

๐Ÿค– Aedan Rose's AI Insights

Track your plan's performance and get smart recommendations

ROI Analysis

Calculating...

Usage Health

Analyzing...

Recommendations

Generating...

Growth Insights

Analyzing trends...

Cost Savings

Calculating savings...
Last updated: Just now โ€ข Auto-refreshes every 5 minutes

๐Ÿ’ก Scale Exactly What You Need

Avoid overpaying for features you don't use.
Add conversations, employee seats, or email capacity individuallyโ€”keeping your costs lean while your business grows.

Save up to 60% vs. upgrading plans

Available Plan Upgrades

Employee Scheduling & Shift Management

Employee Management

System Settings

Control Your AI Restaurant Assistant

These settings determine how your AI assistant interacts with customers. The right configuration ensures your customers get instant, accurate responses while you maintain full control over operations.

AI Model Intelligence

Different AI models have different capabilities - like hiring staff with varying experience levels. Choose the intelligence that matches your customer needs.

Why AI Model Selection Matters for Your Restaurant

Customer Experience
Smarter models understand complex orders, dietary restrictions, and customer preferences better - leading to higher satisfaction and larger orders.
Speed vs. Quality
Lighter models respond instantly (great for simple orders), while advanced models think deeper (perfect for complex catering requests or dietary needs).
Revenue Impact
Advanced models can upsell intelligently ("Would you like to add guacamole?"), explain menu items better, and handle more customers simultaneously.
RECOMMENDED

Why "Auto Mode" is Best for Restaurants

Auto Mode intelligently switches between models based on the customer's request - giving you the best of both worlds:
Quick Orders โ†’ Fast Model
"1 pepperoni pizza" gets instant response from lightweight model
Complex Requests โ†’ Smart Model
"Gluten-free options for 20 people" uses advanced reasoning
Pro Tip: Auto mode maximizes customer satisfaction while keeping costs low. It's like having a seasoned manager who assigns tasks to the right team member every time.
Available models are determined by your subscription plan. Higher plans unlock smarter AI that can handle more complex customer requests and increase order values.

Your Plan's AI Capabilities

Loading your available models...

Conversation Rate Limiting

Protect your restaurant from abuse and manage costs by setting hourly conversation limits. Think of this as your "rush hour capacity control."

Recommended: Set to 1000 for most restaurants. This prevents spam/abuse while allowing legitimate customers unlimited access.

Current usage: Loading... conversations this hour.

System Maintenance Mode

Temporarily disable your AI assistant when updating menus, making system changes, or during emergencies. Changes save automatically.

When to use: Menu updates, pricing changes, system testing, or if you need to pause AI temporarily. Customers will see a friendly "We'll be right back!" message.

Team Chat & Messaging

Team Chat

0 online โ€ข
Pull to refresh

Loading messages...

Team Members

User Management

Manage team members and email notification settings

Total Users
Email Enabled
Active Users
Emails Today
U
Loading...
Loading...
โœ“ Verified Loading...
PROFILE ACTIONS
ACCOUNT MANAGEMENT
Restaurant
Loading...
Last Login
Loading...
Account Status
Active

๐Ÿ” Session Status

--:--:--
Time Remaining
--:--
Started
--:--
Expires
Just now
Last Activity
Warnings at 30, 15, 5, and 1 minute(s)

Pending Invitations

Pending
Expired
This Week
Total
Loading invitations...
Page 1 of 1

Team Members

Loading users...
Page 1 of 1
Floor Plan
โ€” ยท โ€” just now
Edit mode Drag tables and VIP sections to reposition ยท click any element to edit ยท changes save automatically
Add prop:
Legend
Table state
Open Reserved soon Seated Blocked Conflict (double-booked)
Areas
Indoor / Dining Outdoor / Patio Bar / Lounge Private Dining Kitchen
Badges
AI-booked reservation VIP / Premium pricing Double-booked Staff-only (not online) Accessible
-
Today's Reservations
-
Confirmed
-
Covers
-
Cancelled
0 reservations
Showing 1-8 of 0 reservations
Time Customer Confirmation # Party Size Restaurant Table Special Requests Status AI Agent Action
No Reservations Found
We haven't received any reservations yet. New reservations will appear here in real-time as they're made through Aedan Rose.
-
Today's Orders
-
New Orders
-
Preparing
-
Completed
0 orders
Showing 1-8 of 0 orders
Order # Customer Phone Email Address Type Items Special Requests Total Restaurant Order Time Status Estimated Ready
๐Ÿฝ๏ธ No orders for today Food orders placed through Aedan Rose will appear here

Loyalty & Rewards

Reward regulars with points and turn first-time guests into regulars. Set it up once, then hit Save.

How your rewards program works

It's three simple steps. You set the rules once below, then guests do the rest automatically โ€” no day-to-day work for you.

1
Guests earn points by spending. Every order earns points at the rate you set (e.g. 1 point per $1). New members can also get a one-time welcome bonus.
2
They climb membership levels. As their lifetime points grow, regulars rise through the levels you name (like Silver โ†’ Gold) and unlock perks such as VIP section access.
3
They redeem points for rewards. Guests trade points for the rewards you offer โ€” a free item, a % off, or a $ amount off โ€” applied automatically at checkout.
Turn the rewards program onThe master switch for your loyalty program. On = guests earn points and can redeem rewards. Off = everything pauses, but balances are kept safe for when you turn it back on.
When off, guests stop earning and can't redeem.
points per $
A $40 order earns 40 points.
No welcome bonus โ€” guests start at 0 points.
Share loyalty across my locationsWhen ON, a guest's points are pooled across the locations you select here โ€” they earn at any of them and see one combined balance. When OFF (the default), each location keeps its own separate points. You can only group locations you own.
Off โ€” each location keeps its own separate points.

Membership levelsNamed tiers (like Silver, Gold) guests climb as they earn more lifetime points. They give regulars something to aim for. A guest moves up once they pass a level's point threshold โ€” and never drops back down for spending points.

Give your best guests a name and a goal. A guest reaches a level once their lifetime earned points pass its threshold (spending points never bumps them down). Mark a level VIP section access to let those guests book VIP sections โ€” and optionally waive or reduce their deposit. The 3% platform fee is always charged on whatever they pay; a perk only lowers the deposit, never the fee.

Auto-VIP is off โ€” VIP access comes only from levels you mark above.

Rewards guests can redeemThe things guests can trade their points for โ€” a free coffee, 10% off, a dessert. Each needs a name and a point cost. Price them so they feel reachable after a few visits.

Set what guests can trade points for. Pick a reward type โ€” a free item, a percentage off, or a dollar amount off. A % or $ reward is applied automatically at checkout; a free item is handed over in person. Price each so it feels reachable after a few visits.

MembersEveryone enrolled in your rewards program, with their current points and level. "Points balance" is what they can spend now; "lifetime earned" is the total they've ever earned (what sets their level). Use Adjust to add or remove points by hand.

Total members
โ€”
Active (30 days)
โ€”
Points outstanding
โ€”
Avg. balance
โ€”
Member Level Points balance Lifetime earned Adjust
Loading membersโ€ฆ

Loyalty intelligence

Know exactly who your best guests are, who's slipping away, and what to do about it โ€” all from your real order + loyalty data.

Loadingโ€ฆ

CustomersYour guest list and what it's telling you โ€” who's a regular, who's drifting away, and who to reach out to. Built from your real orders and bookings, in plain English with a suggested next step on every number.

The people who eat with you โ€” what to notice, and what to do next.

Plain-English takeaways from your real customer activity. Each one tells you what it means and what to do.Automatic observations about your guests โ€” like "20 regulars haven't been back in a month." Each card explains what it means and a suggested action. Start at the top: those are the ones worth acting on first.

-
Total Bookings
-
Pending Payment
-
Confirmed
$0
Total Revenue
Confirmation # Section Customer Date / Time Duration Party Total Status Actions

No VIP bookings yet. Bookings will appear here when customers reserve sections.

-
Today's Pending
-
Today's Completed
-
Overdue
-
Completion Rate
Task Category Due Assigned To Priority Status Actions

No tasks scheduled for today

Create task templates to automatically generate recurring tasks for your team.

Saved

To-do items

Actionable items (โ€œscheduleโ€ฆโ€, โ€œ86โ€ฆโ€, โ€œtextโ€ฆโ€) can be handled by Aedan โ€” reminders are just for you.

No items yet โ€” add your first to-do above.

What the colors mean
Open to-do Done (you) ๐Ÿค– Done by Aedan Schedule / shift Menu / 86 Fix / repair
-
Today's Actions
-
Successful
-
Failed
-
Success Rate
0 actions
Showing 1-8 of 0 actions
Time Customer Action Type Details Restaurant Result Impact
๐Ÿค– No AI actions recorded today Aedan Rose's automated actions will be tracked here

Selective Data Deletion

Choose data types to delete:

Retention Period:

Redis cache will be automatically cleared after deletion

Scheduled Automatic Cleanup

Status: Disabled - Keep All Data Indefinitely

Schedule Frequency:

Retention Policy (when enabled):

Cleans: Firestore + PostgreSQL + Redis Cache

-
Total Reservations
-
Total Orders
-
AI Actions
-
Conversations
Your guests' voice โ€” ratings, NPS, and reviews that need attention. Aim for an average rating above 4 and a positive NPS. Tackle "Needs Attention" first to protect your reputation, and look for repeated themes you can fix. Use the period filter to track improvement over time. Hover any โ“˜ for what each number means.
-
Average Rating
-
NPS Score
-
Total Feedback
-
Positive (4-5โ˜…)
-
Neutral (3โ˜…)
-
Needs Attention

Time Clock

On the clock now

Loading...

Punch history

to
Employee Clock in Clock out Hours Location Flags Tips that day
Loading punches...

Inventory

-
Low stock
-
Out / 86'd
-
Not selling
-
Selling fast
-
Well stocked
-
Inventory value
Item On hand Par Low at Status Actions
Loading inventory...

Money

Payroll

Taxes are calculated by the payroll provider. Amounts shown in preview are estimates until approved.

Pay schedule

Run payroll

Past payrolls

Pay period Payday Status Gross Net
Loading...