Skip to content
All documentation

Documentation - Concepts

Members and companies

How LiteHQ structures operators, tenant companies, and members: the role model, inviting and managing people, and designating a billing contact.

8 min read

LiteHQ is multi-tenant by design. You, the operator (a "host"), sit at the top. Under you live tenant companies, and each company has its own members. Booking and billing happen at the company level, while you manage the platform layer across all of them. Getting this hierarchy and the role model straight up front saves a lot of "who can do what" confusion later.

This guide walks through the operator to company to member structure, explains every role and what it can actually do, and covers the day-to-day jobs: inviting people, changing roles, and naming a billing contact. Everything here describes how the product behaves today, not a wishlist.

The hierarchy: operator, company, member

There are three layers you work with. The operator (host) is your organisation. A company is a tenant under your operator: a business that books space through you. A member is a person who belongs to a company.

Behind the scenes, your operator is a host record, and your tenant companies each point back to it. Your operator also has its own company record, which is distinguished by having a URL slug (for example, your member portal address). Tenant companies do not have their own slug; they carry your host id instead. This is why a tenant company can never exist without an operator above it: the data model enforces it.

Booking and billing are scoped to the company. A member books and gets billed in the context of their company, and you oversee all of your companies from the operator dashboard.

  • Operator (host): your organisation. Runs one or more locations and owns the Stripe Connect account.
  • Company (tenant): a business that books through you. Has members, bookings, and invoices of its own.
  • Member: a person linked to a company, with a role that sets what they can do.

Your operator's own company record has a slug (it powers your portal URL). Tenant companies do not have a slug; they are tied to your operator by a host id. That is the technical line between 'you' and 'a tenant under you.'

The role model

Roles live in two places depending on whether the person works for you (operator side) or for a tenant (company side). It helps to keep these separate in your head.

On the operator side, staff are recorded as host members with one of three roles: owner, admin, or member. On the company side, people are recorded as company members with a role of admin or member, plus an optional billing-contact flag.

There is also a platform_admin role, but that is reserved for LiteHQ staff for cross-tenant support. It is not something operators assign or use; creating a workspace never grants it. Operator and tenant authority flow entirely through host-member and company-member roles, never through that platform role.

  • Host owner: your top-level operator role. Full operator access; typically the founding account.
  • Host admin: operator staff who manage the platform alongside the owner.
  • Host member: operator staff with a more limited footprint than admin.
  • Company admin: full control of a tenant company's members and settings.
  • Company member: a regular person in a company who books and uses the portal.
  • Billing contact: a flag on a company member (not a separate role) that grants billing-detail access. More on this below.

platform_admin is LiteHQ staff only. It is never auto-assigned when you create a workspace or invite a teammate, and operators do not hand it out. If you are looking for 'give this person full control of our space,' that is the host admin or company admin role, not platform_admin.

What a billing contact can (and cannot) do

Billing contact is not a role on its own. It is a flag you can set on any company member. The reason it exists is to let a bookkeeper or accountant manage invoicing details without handing them control over how the company operates.

A billing contact can edit billing-surface fields: tax id, billing address, billing or invoice email, and bank details. They explicitly cannot edit settings-surface fields like branding, the public booking page, member-portal toggles, or integrations. Those settings are admin-only.

Put plainly: marking someone as a billing contact says 'this person handles our invoices,' not 'this person runs our account.' If you need someone to do both, make them a company admin (you can also leave the billing-contact flag on, but admin already covers billing).

  • Billing contact can edit: tax id, billing address, invoice/billing email, bank account details.
  • Billing contact cannot edit: branding, public page, member-portal settings, integrations (those are admin-only).
  • It is a checkbox on a member, not a separate seat. A person can be a member and a billing contact at the same time.

Inviting a member

From the members area you add a member by entering their email and name, choosing a role (admin or member), selecting the company they belong to, and optionally ticking 'billing contact.' That single action does several things at once.

LiteHQ creates (or links to an existing) account for that email, links them to the chosen company with the role you picked, and sends a branded invitation email. The invite carries a single-use link that stays valid for 7 days, so a teammate who opens it the next day can still join. They land on a page to set a password (new accounts) or simply sign in (existing accounts).

A freshly invited member shows as 'invited' until they sign in for the first time, at which point their status moves to 'active.' If someone misses the 7-day window or never sees the email, use the re-invite action to send a fresh link rather than reusing the old one.

  • Fields you provide: email, full name, role (admin or member), company, and an optional billing-contact tick.
  • The invite link is single-use and valid for 7 days; expired links cannot be reused.
  • Status is 'invited' until first sign-in, then 'active.'
  • Re-invite resends a new link; it does not revive a stale one.

The invitation email is branded with your operator's name and logo where configured, and is sent from your verified sender domain when you have one set up. Until a domain is verified, it falls back to a default sender.

Who can manage members

Managing members (adding, editing roles, reassigning, or removing) is gated by authority over the target company. You cannot manage members of a company you have no authority over, even by guessing its id; the server checks this on every action.

The people allowed to manage a company's members are: a host owner or host admin of the operator that company belongs to, a company admin of that company, a billing contact of that company, and LiteHQ platform staff for support. A plain company member cannot manage other members.

There are a couple of guardrails worth knowing. You cannot delete your own account from the members tool (use another admin account), and the system blocks removing or moving the last remaining admin of your operator's own company so you are never locked out.

  • Allowed to manage members: host owner/admin of the company's operator, the company's own admin, the company's billing contact, and LiteHQ staff.
  • Plain members cannot manage other members.
  • You cannot delete your own account here; the last admin of the operator company is protected from removal.

Changing roles and moving members

Editing a member lets you change their name and contact details, switch their role between admin and member, toggle the billing-contact flag, and reassign them to a different company. Reassigning to a different company requires that you also have authority over that target company, not just their current one.

When you remove a member, you choose what happens to their records. You can transfer their bookings, invoices, contracts, and history to another person, or let the system fall back to the company's billing contact (or an admin) to inherit those records. Active subscriptions can be cancelled as part of the removal.

Because role changes and reassignment touch billing and access, treat them as deliberate actions. Switching someone to admin gives them control over their company's settings; toggling billing contact changes who can edit invoicing details.

  • Editable per member: name, contact details, role (admin/member), billing-contact flag, company assignment.
  • Reassigning to a new company requires authority over that company too.
  • On removal you can transfer records to a chosen person, or let them fall back to the billing contact or an admin; active subscriptions can be cancelled in the same step.

Frequently asked

What is the difference between a host member and a company member?

A host member is operator staff: someone who works for you and helps run the platform across all your tenant companies, with a role of owner, admin, or member. A company member belongs to one tenant company and books and uses the portal in that company's context, with a role of admin or member. Keeping the two straight is the key to the whole permission model.

Does making someone a billing contact give them full admin rights?

No. A billing contact can edit billing-surface details (tax id, billing address, invoice or billing email, bank details) but cannot change settings like branding, the public booking page, member-portal options, or integrations. Those are admin-only. The flag exists precisely so a bookkeeper can handle invoicing without running the account.

How long does an invitation stay valid?

An invite link is single-use and valid for 7 days. If it expires or gets lost, use the re-invite action to send a fresh link. Old, expired links are never reactivated.

Why can't I see or manage members of another company?

Member management is scoped to companies you have authority over: a host owner/admin sees and manages companies under their operator, a company admin or billing contact manages their own company, and LiteHQ staff can assist for support. Plain members and people with no authority over a company cannot manage its members, and the server enforces this on every action.

What is platform_admin and should I use it?

platform_admin is reserved for LiteHQ staff to provide cross-tenant support. Operators never assign it, and creating a workspace does not grant it. For full control of your operator use the host owner or host admin role; for full control of a tenant company use the company admin role.

Related