Realm9 Logo
Search documentation...

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

  1. Navigate to Bookings in the sidebar and click New Booking, or open an environment and click Book
  2. Fill in the booking details
  3. 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

StatusMeaning
PendingSubmitted and awaiting approval
QueuedApproved or pending, but waiting for a free slot (conflict exists)
ApprovedApproved and scheduled; will activate automatically at start time
ActiveCurrently in progress
CompletedEnded normally or completed early
CancelledCancelled by the requester or an admin
RejectedDeclined during the approval process
ExpiredStart 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).

  • 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:

  1. Open the booking and click Extend
  2. 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:

  1. Open the booking and click Complete
  2. Provide a reason if prompted (required when an admin completes another user's booking)
  3. 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:

EventWho is Notified
Booking submitted (requires approval)Admins and environment owners
Booking approvedRequester
Booking rejectedRequester (with reason)
Access credentials setRequester
Booking extendedWorkflow approvers
Booking completed earlyRequester and workflow approvers
Queue position promotedRequester

Role-Based Access

ActionViewerUserProvisionerAdmin / 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

Next Steps