Bookings
Realm9's booking system lets teams reserve IT environments with configurable approval workflows, automatic conflict queuing, Terraform provisioning triggers, and encrypted access credentials.
Creating a Booking
- Navigate to Bookings in the sidebar and click New Booking, or open an environment and click Book
- Fill in the booking details
- Submit — if the environment requires approval, approvers are notified automatically
Booking Form Fields
Required:
- Environment — select the environment to book (only bookable, available environments are shown)
- Title — a short name for this booking
- Start Time — must be in the future
- End Time — must be after start time and within the environment's maximum booking duration
Optional:
- Description — additional context for approvers or team members
- Purpose — select the intended use: Development, Testing, User Acceptance Testing, Performance Testing, Training, Demo, Maintenance, Emergency, or Other
- Priority — Low, Medium, High, Critical, or Emergency (auto-set to Emergency if Purpose is Emergency)
- Emergency Booking — check this to mark the booking as urgent; this allows booking during maintenance windows and places it at the front of any queue
- Emergency Justification — required when Emergency is checked; explains the urgency
- Supporting Documents — attach relevant files (PDF, Word, Excel, JPG, PNG, GIF, TXT; up to 10 MB each, drag-and-drop supported)
Conflict Handling
Before submitting, the form checks for scheduling conflicts:
- If the environment is free: booking is created normally
- If there is a conflict with an existing APPROVED or ACTIVE booking: your booking is placed in a queue with a position number and an estimated start time
- Emergency bookings jump to the front of the queue, pushing other queued bookings back
- Bookings in the queue are automatically promoted when a conflicting booking ends or is cancelled
Booking Statuses
| Status | Meaning |
|---|---|
| Pending | Submitted and awaiting approval |
| Queued | Approved or pending, but waiting for a free slot (conflict exists) |
| Approved | Approved and scheduled; will activate automatically at start time |
| Active | Currently in progress |
| Completed | Ended normally or completed early |
| Cancelled | Cancelled by the requester or an admin |
| Rejected | Declined during the approval process |
| Expired | Start time passed before the booking was activated |
Automatic Transitions
- Pending → Active: when the booking time arrives and no approval is needed, or immediately after approval if start time has passed
- Approved → Active: automatically when start time is reached
- Active → Completed: automatically at end time, or manually via early completion
- Queued → Approved/Pending: automatically when the conflicting booking ends
Bookings List
Navigate to Bookings in the sidebar to see your bookings (or all bookings if you are an admin or provisioner).
Filters and Search
- Status — filter by: All, Pending, Approved, Active, Completed, Cancelled, Expired, Queued, Rejected
- Search — searches across booking title, description, environment name, and user name or email
View Modes
- List — card view showing full booking details, status, priority, and quick actions
- Calendar — visual monthly calendar showing bookings colour-coded by status
What Each Booking Card Shows
- Status badge and priority badge (if not Low)
- Emergency badge (if applicable)
- Queue position (if Queued)
- Approval workflow level (if Pending and using a multi-level workflow)
- Provisioning status (visible to Provisioners and Admins)
- Environment name and type
- Requester, start and end times, duration
- Estimated cost (if environment has an hourly rate)
- Created date
Booking Detail
Open any booking to see its full detail page. The page has three tabs: Overview, Comments, and History.
Overview Tab
The Overview tab contains all booking information organised as cards:
Booking Info card — purpose, priority, description, environment, requester, start and end times, duration, estimated cost, and supporting documents with download buttons.
Workflow card — visible when the booking has an approval workflow assigned. Shows the current approval level, approvers, approval history across all levels, and Approve / Reject action buttons for authorised users. See Approvals for how workflows are configured.
Access Info panel — visible once a Provisioner or Admin sets access credentials. All authorised users (including Admins and Provisioners) must click Reveal to decrypt and display the credentials. A confirmation dialog appears before revealing. The content auto-hides after 5 minutes.
- Access is available to the booking owner from 15 minutes before the start time until the booking ends
- Admins and Provisioners can reveal access info at any time
- Credentials can only be set on bookings in Approved, Active, or Queued status — not Pending
- Only Admins can delete existing access credentials (Provisioners cannot)
- When access info is set, the booking owner receives an email notification
Provisioning card — visible when the environment has Terraform booking projects configured. Shows attached workspaces, provisioning status, and recent run history. Provisioners can attach or detach workspaces, which triggers a Terraform plan automatically.
Cost card — shows estimated cost (calculated at creation) and, once completed, actual cost based on real duration.
Comments Tab
View and add comments on the booking. All users who can access the booking can comment and view all comments.
History Tab
A chronological timeline of all actions taken on the booking — created, approved, extended, completed, cancelled, and more — with who performed each action and when.
Editing a Booking
Bookings with status Pending, Approved, or Queued can be edited by the booking owner or an Admin. Editable fields include:
- Title and description
- Start and end times (subject to conflict checking)
- Purpose and priority
- Emergency flag and justification
- Supporting documents (add new or remove existing)
The environment cannot be changed after creation.
Extending a Booking
Active bookings can be extended:
- Open the booking and click Extend
- Confirm — the booking is extended by 2 hours
Extension is subject to the environment's maximum booking duration limit and conflict checking. Workflow approvers are notified by email when a booking is extended.
Completing a Booking Early
If you finish with an environment before your booking ends:
- Open the booking and click Complete
- Provide a reason if prompted (required when an admin completes another user's booking)
- Confirm
The booking is marked Completed, the environment is released, and any queued bookings are automatically promoted. Cost savings based on the difference between estimated and actual duration are calculated and recorded in the audit log.
Cancelling a Booking
Bookings with status Pending, Approved, or Queued can be cancelled:
- Booking owners can cancel their own bookings
- Admins can cancel any booking
On cancellation, the next queued booking is automatically promoted and the requester is notified.
Approval Workflow
When an environment requires approval (configured in Booking Control on the environment, or via an approval workflow), submitted bookings start in Pending status.
As a requester:
- You receive an email when your booking is approved or rejected
- Rejected bookings include the reason provided by the approver
- You can cancel a Pending booking at any time
As an approver (Admin or Provisioner):
- Pending bookings appear in the Bookings list and on the Approvals page
- You can approve or reject from the booking detail, the list view, or the Approvals page
- Rejecting requires a reason (sent to the requester by email)
- If a multi-level approval workflow is active, each level must be completed in order
See Approvals for full workflow configuration documentation.
Shared Environments
Environments configured as shared allow multiple concurrent bookings up to the max concurrent teams limit. When booking a shared environment:
- The conflict check accounts for concurrency — a conflict only occurs when all slots are occupied
- The booking form shows available concurrent slots
- Queue behaviour applies the same way when all slots are full
Terraform Provisioning
If an environment has booking-level Terraform projects configured, a Provisioning tab appears on the booking. A Provisioner or Admin must attach a Terraform workspace to the booking before it can be approved. On approval, the workspace is automatically planned and applied.
Provisioning statuses on a booking:
- Unprovisioned — no workspace attached
- Provisioning — Terraform apply in progress
- Provisioned — infrastructure ready
- Provision Failed — Terraform apply failed; review run logs
- Destroying — Terraform destroy in progress after booking ends
- Destroyed — infrastructure torn down
Notifications
Realm9 sends the following notifications for bookings:
| Event | Who is Notified |
|---|---|
| Booking submitted (requires approval) | Admins and environment owners |
| Booking approved | Requester |
| Booking rejected | Requester (with reason) |
| Access credentials set | Requester |
| Booking extended | Workflow approvers |
| Booking completed early | Requester and workflow approvers |
| Queue position promoted | Requester |
Role-Based Access
| Action | Viewer | User | Provisioner | Admin / Super Admin |
|---|---|---|---|---|
| View own bookings | — | ✓ | ✓ | ✓ |
| View all bookings | — | — | ✓ | ✓ |
| Create bookings | — | ✓ | ✓ | ✓ |
| Edit own booking | — | ✓ | ✓ | ✓ |
| Edit any booking | — | — | — | ✓ |
| Approve / Reject | — | — | ✓ | ✓ |
| Set access credentials | — | — | ✓ | ✓ |
| Attach Terraform workspaces | — | — | ✓ | ✓ |
| Complete own booking early | — | ✓ | ✓ | ✓ |
| Complete any booking early | — | — | ✓ | ✓ |
| Cancel own booking | — | ✓ | ✓ | ✓ |
| Cancel any booking | — | — | — | ✓ |
