View & manage bookings, seat tables, take walk-ins, notify waitlist. Read-only on settings.
Frozen / Revoked
No login. Revoked accounts can be deleted. Frozen accounts can be reinstated.
Access log
Last 100 login and account management events.
Click Refresh to load.
— parties waiting
No one on the waitlist
Track features, bugs, and ideas across the venue tooling. Click any card to cycle status.
Manage your venue, team, and reservation rules
Appearance
Choose a design, palette and theme. Saved per device.
Design
Palettes apply to the Classic design.
Palette
Theme
Venue details
Core venue identity, booking cadence, and the operational defaults that shape both guest and staff experiences.
Sets the name, mark, Japanese name and photo on guest pages, emails and calendar links. Switching also fills in the venue name below; save to apply.
Require Admin Mutation API
If enabled, booking/staff mutations are blocked when Admin API is offline (no direct DB fallback).
Push notifications
Browser notifications
Off
Enable to receive instant alerts on this device when bookings arrive
Per-device setting. Enable on each device you want alerts on. Staff can enable independently on their own devices.
Install app
Add Tenkomori to home screen
Checking install availability on this device...
Email - Resend
Emails are sent via the venue-email Cloudflare Worker. Your Resend API key is stored as a Cloudflare Worker secret, never in the browser. No extra config needed here.
Auto-send triggers
Email guest when booking confirmed
Email venue when online booking submitted
Email guest when booking rejected/cancelled
Email guest when assigned section differs from preference
Security & Observability
Secure the public booking flow, control fallback behavior, and connect diagnostics only where they add operational value.
Public booking requests can be routed via this worker for rate limiting and captcha verification.
Require secure booking API
If enabled, booking form blocks direct DB fallback when secure API is unavailable.
Guest form fields
Requirements for new public bookings. Names, booking date, time and guest count are always required. Keep email or mobile Required so guests can be contacted. Staff-entered bookings use their separate authenticated workflow.
Service rhythm
How fast bookings flow in, when they're locked out, and how the dashboard reads the night.
Deposit tools
Allow staff to request and manage deposits from booking details.
Rolling blockout
Block online bookings within X minutes of the requested time
Service seatings
Drives the Service progress card on the dashboard. A seating goes Live at its start, and Approaching when the lead-time window opens before it.
Closures & blockouts
Days, weeks, and time windows that override the booking rhythm — one-off shutdowns, weekly off days, public holidays, and short blackouts.
Weekly recurring closures
Days of the week you are always closed.
Recurring annual closures
Public holidays and annual closures — set once, blocked every year automatically.
Date blockouts
Block all bookings on specific dates (public holidays, private events).
Time blockouts
Block a time window on a specific date (e.g. fully booked 17:00–18:30). Both the start and end times are inclusive — a 5:30–7:00 PM blockout blocks the 7:00 PM slot too.
Customer booking page
Keep public booking guidance concise, reassuring, and easy to acknowledge on mobile.
Used by the live customer booking page header so public service hours can be hot-updated without editing code.
Tonight's special
Drives the JP-stamped photo caption on the public booking page (本日 · TONIGHT). Maintain a list of menu items, then quick-swap which one shows tonight from the dropdown.
One per line. The active pick below populates from this list.
Calendar sync
Subscribe to a live calendar feed so bookings appear automatically in Google Calendar or Apple Calendar. Updates arrive every 15 minutes. The URL contains a private revocable token; share it only with trusted calendar accounts.
Setup: Set SUPABASE_SERVICE_KEY and a random CALENDAR_FEED_TOKEN of at least 32 characters as Worker secrets. Paste the HTTPS Worker URL with ?token=YOUR_TOKEN below and save. Do not put the token in public settings or share the URL publicly.
Google Calendar API push
Direct push to Google Calendar gives instant sync with no cache delay. Run once after setup, then all changes push automatically.
Data
Back up, import, and reset operational data carefully. These tools are powerful and should stay legible, not alarming.
Export
Import
Use Import bookings to add bookings from a formatted JSON file (new + merge, no duplicates).
Use Restore full backup to replace all data from a previous export.
Service hours
Per-day lunch and dinner windows. Toggle a daypart off to mark it closed.
Holidays & exceptions
One-off closures and reduced services that override the weekly pattern.
Current plan
Self-hosted · Free
Cloudflare Pages + Supabase. No SaaS subscription — you only pay for the underlying services.
Recent invoices
Aggregated monthly summaries from your provider dashboards.
Quick walk-in
Record a walk-in for cover tracking. No booking confirmation sent.
2
Add to waitlist
Notify customer
Sends an email when an email address exists. Phone-only entries open this device's SMS composer; there is no automated SMS gateway yet.
Request deposit
Mark deposit received
Import bookings
Select a bookings-import.json file. Duplicates are skipped automatically.
↑
Click to select file or drag & drop
bookings-import.json
Preview — bookings to import:
Booking
Guest profile
Loading…
Decline booking
—
Heads up: this booking has no email address (or guest email is disabled). The status change will still be saved, but no email will be sent.
Leave blank to send the standard rejection/cancellation email. Newlines and special characters are escaped automatically.