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.
Public Booking Links
The preferred public flow uses an organisation slug such as /book/acme-spa.
Customers:
- choose a service
- choose a specific resource or any available resource
- choose a time slot
- enter contact details
- 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
- An admin creates or switches to the correct organisation.
- The admin configures members, branding, Stripe, and resource-type pricing.
- Editors create the concrete resources and keep staff calendars linked.
- Customers book through a public link or staff book internally.
- PrimeCal blocks conflicting reservations, records the quoted amount, and sends paid bookings through Stripe when required.
- Staff handle the reservation from the calendar and reservation detail panel.
Screenshot References
Capture and store these images before publishing a release walkthrough:
| Step | File | Caption |
|---|---|---|
| Active organisation | docs/assets/user-guide/enterprise-reservation-system/overview-active-organisation-switcher.png | Switch the active organisation before you create or review reservation data. |
| Service selection | docs/assets/user-guide/enterprise-reservation-system/overview-public-booking-service-selection.png | Customers 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.