Skip to main content
Was this helpful?

Enterprise Reservation System Overview

PrimeCal's enterprise reservation system builds on the same calendars, resources, and reservation modules that power the rest of the product. The difference is scope and control: every reservation now belongs to one organisation, follows organisation roles, respects staff availability, and can collect payment through the organisation's own Stripe account when required.

Time to complete: 10-15 minutes
Difficulty: Intermediate

Core Concepts

Organisations and Plan Limits

  • A Store account can own 1 active organisation.
  • An Enterprise account can own up to 5 active organisations.
  • One user can belong to multiple organisations, each with a different role.
  • PrimeCal always resolves the active organisation from your authenticated session before it reads or writes organisation data.

Roles

  • Admin: manages billing, Stripe Connect, branding, members, pricing, and exports payment-related data.
  • Editor: manages resource types, resources, and operational reservations.
  • Member: can view reservations and create reservations inside the active organisation.
  • Viewer: read-only access.

Resource Types and Resources

A resource type is the service or inventory category you sell, such as Dining table, Massage room, or Tennis court.

A resource is the concrete thing that can be assigned to a reservation, such as Table 1, Room B, or Court 4.

PrimeCal supports one reservation for:

  • one organisation
  • one resource type
  • one or more resources of that same type

Availability and Own Calendars

Availability is calculated from:

  • existing reservations
  • booking rules on the resource type
  • managed staff calendars when a resource is assigned to a person

This means a resource can appear unavailable even when it has no reservation, if its owner has a conflicting personal or work event in a linked calendar.

The preferred public flow uses an organisation slug such as /book/acme-spa. Customers:

  1. choose a service
  2. choose a specific resource or any available resource
  3. choose a time slot
  4. enter contact details
  5. pay when required or confirm immediately when payment is not required

Legacy resource-token links still work, but the organisation route is the cleaner customer journey for multi-service organisations.

Stripe Connect

PrimeCal acts as the platform. Each organisation connects its own Stripe account, and PrimeCal creates Checkout sessions on that connected account when a resource type requires payment.

PrimeCal never stores raw card data. It stores reservation quotes, Stripe object identifiers, and payment state only.

How The Full Flow Fits Together

  1. An admin creates or switches to the correct organisation.
  2. The admin configures members, branding, Stripe, and resource-type pricing.
  3. Editors create the concrete resources and keep staff calendars linked.
  4. Customers book through a public link or staff book internally.
  5. PrimeCal blocks conflicting reservations, records the quoted amount, and sends paid bookings through Stripe when required.
  6. Staff handle the reservation from the calendar and reservation detail panel.

Screenshot References

Capture and store these images before publishing a release walkthrough:

StepFileCaption
Active organisationdocs/assets/user-guide/enterprise-reservation-system/overview-active-organisation-switcher.pngSwitch the active organisation before you create or review reservation data.
Service selectiondocs/assets/user-guide/enterprise-reservation-system/overview-public-booking-service-selection.pngCustomers start by choosing the service and, optionally, a specific resource.

Use the full runbook in docs/DEVELOPER-GUIDE/mcp-server/enterprise-reservation-screenshot-runbook.md.

Security and Compliance Notes

  • Tenant isolation is enforced from the authenticated organisation context, not from arbitrary client input.
  • Payment configuration and Stripe onboarding are admin-only tasks.
  • PrimeCal stores the minimum data needed to operate bookings, payment status, and audits.
  • When personal data must be removed, reservation records can be anonymised while keeping operational and financial references required for audits.

Troubleshooting

I cannot see a resource type or reservation I expect

Confirm that you are in the correct active organisation first. In PrimeCal, organisation context is part of the security boundary, so switching to a different organisation changes what the system is allowed to return.

A resource looks free but the slot is unavailable

Check for a linked staff calendar conflict. PrimeCal blocks slots when the managed person is already unavailable, even if the resource itself has no direct reservation yet.