New-starter onboarding
Welcome. This page gets you oriented: what SideDoor is, how it’s structured, the vocabulary you’ll hear on day one, and where to go to learn each area in depth.
The product in brief
Section titled “The product in brief”SideDoor is a venue platform. Venues use it to take table bookings, run guest lists, manage a live reservations floor plan, sell gift vouchers, and put embeddable widgets on their own websites. Guests get one account that works across every venue, and can hold a membership tier and a wallet of keys (the platform’s spendable currency).
Everything runs on a single Cloudflare Worker. Money is handled in pence everywhere, and Stripe Connect routes payments to each operator while SideDoor takes a platform fee.
The three portals
Section titled “The three portals”There is one codebase with three role-gated front ends, all under /app:
| Portal | Path | Who uses it |
|---|---|---|
| Guest | /app/guest |
People going out — booking, guest lists, vouchers, keys, membership. |
| Client (operator) | /app/client |
Venue owners and their staff — the day-to-day operations portal. |
| Super Admin | /app/admin |
SideDoor staff — platform administration, approvals, support tooling. |
The five roles
Section titled “The five roles”| Role | Portal | What they are |
|---|---|---|
super_admin |
/app/admin |
Full platform administration, including impersonation and refunds. |
admin |
/app/admin |
Platform admin; a narrower cut of super-admin (some actions are super-admin only). |
client |
/app/client |
A venue operator or a member of their staff. Access is scoped per venue by permissions. |
organiser |
/app/client |
A promoter — runs events, shares the operator portal surface. |
guest |
/app/guest |
An end customer. Can be passwordless (created implicitly by a booking or voucher) until they set a password. |
Within the operator portal, client staff are governed by a role/permission matrix (read/write per area, optionally scoped to a whitelist of venues). The only pre-seeded role is Owner (all permissions, undeletable); everything else is custom per operator.
Key concepts to learn first
Section titled “Key concepts to learn first”You’ll hear these constantly. Full definitions are in the Glossary.
- Keys — the guest wallet currency. Spent on queue-skip, paid guest-list entry and extras. Non-refundable; free keys are spent first.
- Card hold vs deposit vs capture — most deposits are a Stripe manual-capture hold (an authorisation; no funds move until staff capture it). Capture takes the money; release cancels the hold. The capture-immediately path exists but is dormant by default.
- Access profiles — reusable templates (list / table / event / ticket) that define how a slot can be booked — capacity, party size, deposits, policies, visibility.
- Admission rules — conditional logic shared by events and guest lists: if a guest has a tag / minimum bookings / minimum connections, then apply a discount, auto-approve, or grant extra plus-ones.
- Sister venues — venues grouped so they share vouchers and can suggest each other’s availability. The relationship is two-way.
Where to learn each area
Section titled “Where to learn each area”Use the public docs as your product reference — they describe the mechanics operators and guests actually see:
- Guest experience — bookings, vouchers, keys, membership.
- Operator experience — the client portal end to end.
- Reservations — the live table plan and deposit lifecycle.
- Widgets — the embeddable booking/events/voucher widgets.
Then read the internal pages for the staff-only layer:
- Architecture — how it’s built.
- Super Admin guide — the admin portal you’ll use for support.
- Support playbooks — how to resolve the common tickets.
- Security notes — known caveats (do not share externally).
Accounts and access you’ll be granted
Section titled “Accounts and access you’ll be granted”Fill this in with your real provisioning process and owners.
-
@thesidedoor.coGoogle Workspace account. - Cloudflare Access membership (gates this docs section and internal tooling).
- Super Admin portal account (
/app/admin) at the right role —adminorsuper_admin. - Cloudflare dashboard access (Workers, D1, KV, R2, Analytics) — engineers only.
- Stripe dashboard access (sandbox and/or live) — as needed for payments support.
- Mailgun (EU) access — for email-delivery support.
- Access to the app repository (
dev.thesidedoor.co) — engineering. - Support inbox / escalation channel — who owns escalations?
To complete: the owner for each of the above, and your support tooling and escalation paths.