Skip to content

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.

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.

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.
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.

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.

Use the public docs as your product reference — they describe the mechanics operators and guests actually see:

Then read the internal pages for the staff-only layer:

Fill this in with your real provisioning process and owners.

  • @thesidedoor.co Google Workspace account.
  • Cloudflare Access membership (gates this docs section and internal tooling).
  • Super Admin portal account (/app/admin) at the right role — admin or super_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.