ORCD Rental Portal¶
The ORCD Rental Portal provides a web-based interface for managing GPU node rentals, account maintenance fees, and project billing. This guide covers all aspects of using the portal, from basic account setup to advanced management features.
Portal Access: https://test.rentals.mit-orcd.org
Overview¶
The Rental Portal is built around projects. Each user can belong to multiple projects, and each project can have multiple members with different roles. To rent GPU nodes, your project must have a verified cost allocation that specifies how charges will be billed.
Key concepts:
- Projects organize users and billing for rentals
- Roles determine what actions you can take within a project
- Cost Allocations define how rental charges are billed
- Reservations are requests to rent GPU nodes for specific time periods
Getting Started¶
Accessing the Portal¶
Log into the ORCD Rental Portal using your MIT Kerberos credentials at https://test.rentals.mit-orcd.org. After logging in, you'll see the main navigation with links to:
- Home - Dashboard with summary cards for your rentals, projects, account, and billing
- Nodes - View available GPU and CPU node information
- Rent H200x8 - Access the rental calendar and make reservations
- Rates - View current rental rates and pricing
- Projects - View and manage your projects
- User Profile - View your account information and maintenance fee status
Dashboard Overview¶
After logging in, you'll see your personalized dashboard with four summary cards:
| Card | What It Shows |
|---|---|
| My Rentals | Upcoming, pending, and past reservation counts; your next 3 reservations |
| My Projects | Projects you own vs. projects where you're a member; quick links to recent projects |
| My Account | Your maintenance fee status (required for rental services) and billing project |
| My Billing | Cost allocation status counts (verified, pending, rejected, not configured); lists both verified projects and those needing attention |
Each card includes a help icon (?) that provides additional context when clicked.
Inactive Subscription Alert
If your maintenance fee status is Inactive, the My Rentals card will display an alert explaining that you cannot access rental services or make new reservations until you subscribe. Financial Admins who only manage billing do not need a subscription.
Your Projects¶
When your account is created, you automatically receive two projects:
username_personal- Your personal project for individual useusername_group- A group project you can use to collaborate with others
You can also be added as a member to other users' projects with various roles. New projects you create are automatically activated and ready to use.
Project List¶
Navigate to Projects to see all your projects. The list shows:
| Column | Description |
|---|---|
| Title | Project name (click to view details) |
| Project Owner | The owner of the project |
| Accounts | Number of members in the project |
| Billing | Cost allocation status: ✓ (verified) or ⚠ (needs attention) |
| Status | Project status (Active, Archived, etc.) |
Billing Status
A green checkmark (✓) indicates the project has a verified cost allocation and can make reservations. A warning icon (⚠) means the project needs a cost allocation configured before it can be used for rentals.
Project Roles¶
Each project member has one or more roles that determine their permissions. Users can hold multiple roles simultaneously, and permissions are cumulative.
| Role | Description |
|---|---|
| Owner | Full control over the project. Can manage all members, cost allocations, and settings. Automatically included in reservations. |
| Financial Admin | Manages billing, cost allocations, and members. Not included in reservations or maintenance fee billing. |
| Technical Admin | Can add members and other technical admins. Included in reservations and can use the project for maintenance fees. |
| Member | Can create reservations. Included in reservations and can use the project for maintenance fees. |
Multi-Role Support
A user can have multiple roles on the same project. For example, someone with both Financial Admin and Technical Admin roles can edit cost allocations and be included in reservations.
Role Permissions Summary¶
Cost Allocation Management:
- Owner: Yes
- Financial Admin: Yes
- Technical Admin: No
- Member: No
Manage Financial Admins:
- Owner: Yes
- Financial Admin: Yes
- Technical Admin: No
- Member: No
Manage Technical Admins and Members:
- Owner: Yes
- Financial Admin: Yes
- Technical Admin: Yes
- Member: No
Create Reservations:
- Owner: Yes
- Financial Admin: Yes
- Technical Admin: Yes
- Member: Yes
Included in Reservations:
- Owner: Yes
- Financial Admin: No
- Technical Admin: Yes
- Member: Yes
Use Project for Maintenance Fee:
- Owner: Yes
- Financial Admin: No
- Technical Admin: Yes
- Member: Yes
Account Maintenance Fee¶
The account maintenance fee is a recurring monthly charge that enables access to rental services. Researchers participating in a paid maintenance fee tier (Basic or Advanced) can rent GPU nodes and other dedicated resources. Base ORCD services are available to all researchers, even those not paying a maintenance fee.
You can set your maintenance fee status from your User Profile.
Maintenance Fee Levels¶
| Status | Description |
|---|---|
| Inactive | No maintenance fee. Base ORCD services available; rental services not enabled. |
| Basic | Standard monthly fee. Enables rental services for GPU nodes and dedicated resources. |
| Advanced | Higher monthly fee. Enables rental services with additional resources and priority support. |
Setting Your Maintenance Fee Status¶
- Click on your username in the top navigation bar
- Select User Profile
- Find the Account Maintenance Fee Status row
- Click the edit icon (pencil) next to your current status
- Select your desired status level (Inactive, Basic, or Advanced)
- If selecting Basic or Advanced, choose a Billing Project from the dropdown
- Click Save
Billing Project Requirements
To use a project for maintenance fee billing:
- You must have an eligible role on the project: Owner, Technical Admin, or Member (Financial Admins cannot use a project for their own maintenance fee billing)
- The project must have a verified cost allocation
Only projects meeting both requirements appear in the billing project dropdown. If no eligible projects are available, a warning message will be displayed.
What Happens When Roles Change¶
If your role on your billing project changes to one that is not eligible (e.g., you become only a Financial Admin, or are removed from the project entirely), your maintenance fee status will automatically reset to Inactive. You will need to select a new billing project or update your role to restore your maintenance fee status.
Example Scenario: Setting Up Maintenance Fee
Dr. Smith wants to rent GPU nodes for her research. She logs into the portal, navigates to her User Profile, and clicks the edit icon next to "Account Maintenance Fee Status." She selects "Basic" from the dropdown, then chooses her smith_personal project as the billing project. After clicking Save, her status updates to "Basic (charged to: smith_personal)". Her department's cost object associated with that project will be charged the monthly maintenance fee, and she can now make GPU node reservations.
GPU Node Rentals¶
The Rental Portal allows you to reserve dedicated H200x8 GPU nodes for your research projects. Reservations require a project with a verified cost allocation and an active maintenance fee subscription.
Prerequisites¶
Before making a reservation, ensure:
- You have an active maintenance fee subscription (Basic or Advanced)
- You are a member of a project with a verified cost allocation
- You have an appropriate role (Owner, Financial Admin, Technical Admin, or Member)
Check Your Project Status
Visit your project's detail page to verify the cost allocation status. Look for the green "Verified" badge in the Cost Allocation section.
Subscription Required
Users with an Inactive maintenance fee status cannot make reservation requests. The reservation form will display an error if you attempt to submit without an active subscription. Update your maintenance fee status in your User Profile to enable reservations.
Viewing the Rental Calendar¶
Navigate to Rent H200x8 in the main menu to access the rental calendar. The calendar displays availability for all rentable H200x8 nodes.
Calendar Color Legend:
| Color | Meaning |
|---|---|
| Gray | Not available for booking (too soon or outside booking window) |
| Green | Available for reservation |
| Red | Already rented |
| Split (diagonal) | Partially rented (AM or PM only) |
| "P" badge | Pending reservation request |
| User icon | Your rental |
Calendar Navigation:
- The calendar shows availability starting from today
- Use the Previous/Next buttons to navigate between months
- You can view up to 3 months ahead
Making a Reservation Request¶
- From the rental calendar, click Request Reservation
- Fill in the reservation details:
- GPU Node: Select the specific H200x8 node you want to reserve
- Project: Choose the project this reservation is for (must have verified cost allocation)
- Start Date: Select when your reservation should begin
- Duration: Choose the number of 12-hour blocks
- Notes (optional): Add any relevant information about your reservation
- Click Submit Request
Reservation Timing Rules¶
| Rule | Details |
|---|---|
| Start Time | All reservations start at 4:00 PM on the start date |
| Duration | Measured in 12-hour blocks (minimum: 1 block = 12 hours) |
| End Time | Reservations must end no later than 9:00 AM on the final day |
| Advance Booking | Reservations must be made at least 7 days in advance |
| Maximum Lookahead | Calendar shows availability up to 3 months ahead |
Tracking Your Reservations¶
Your reservations appear on the calendar with a user icon overlay. Pending reservations show a "P" badge until approved by a Rental Manager.
My Reservations Page¶
For a comprehensive view of all your reservations across all projects, visit the My Reservations page at /nodes/my/reservations/. This page shows reservations from every project where you have a role.
Summary Cards:
The page displays summary cards showing counts for each category:
- Upcoming: Confirmed reservations that haven't started yet
- Pending: Reservation requests awaiting approval
- Past: Completed reservations
- Declined/Cancelled: Requests that were declined or cancelled
Reservation Details:
Each reservation shows:
- Reservation ID (click to view full details)
- The project name and your role(s) on that project
- Node, dates, and duration
- Current status (Confirmed, Pending, Declined, Cancelled)
Use the tabs to filter between categories.
Maintenance Fee Reminder
If you have upcoming or pending reservations but no active maintenance fee subscription, a reminder banner will appear encouraging you to subscribe to enable rental services.
Reservation Detail Page¶
Click on any reservation ID to view its full details at /nodes/reservation/<id>/. The detail page shows:
- Status and ID: Current approval status and reservation identifier
- Node: The reserved GPU node
- Project: Link to the associated project
- Schedule: Start/end dates, duration, and billable hours
- Notes: Any notes you provided when requesting
- Manager Notes: Notes from the Rental Manager (if provided when approving/declining)
After Submission¶
After submitting a reservation request:
- Your request enters Pending status
- A Rental Manager reviews the request
- You will be notified when your request is Confirmed or Declined
- If declined, the Rental Manager may include notes explaining why
Example Scenario: Making a Reservation
Dr. Johnson's lab needs exclusive access to a GPU node for a 3-day training run. She navigates to the Rent H200x8 page and checks the calendar. She sees node orcd2304 is available next week (shown in green). She clicks "Request Reservation", selects the node, chooses her johnson_lab project, picks Monday as the start date, and selects 6 blocks (72 hours) for the duration. She adds a note: "Large language model fine-tuning run." After submitting, the reservation shows as "P" (pending) on the calendar. Two days later, she receives notification that the Rental Manager has confirmed her request.
Current Rates¶
The Rates page shows current pricing for all rental services. Navigate to Rates in the main menu to view pricing information.
Rate Categories¶
Rates are organized into three categories:
| Category | Billing Unit | Description |
|---|---|---|
| Node Rentals | Hourly | GPU and CPU node rental rates (e.g., H200x8, L40Sx4) |
| Account Maintenance Fee | Monthly | Subscription tiers for rental service access |
| Quality of Service | Monthly | Priority and resource allocation tiers |
Viewing Rates¶
The Current Rates page displays:
- Rate cards grouped by category
- Current rate for each item
- Specifications for nodes (GPU type, memory, etc.)
- Upcoming rate changes indicated by badges when scheduled
Filtering Rates¶
Use the filter options to narrow down the display:
- Filter by category (Node, Maintenance, QoS)
- Filter by specifications (GPU type, memory size, etc.)
Click on any rate card to view detailed information including the full rate history.
Setting Up Project Cost Allocations¶
Before your project can be used for GPU node rentals, you must configure a cost allocation that specifies how charges will be billed. Only Owners and Financial Admins can manage cost allocations.
Why Cost Allocations Are Required¶
Cost allocations link your project to one or more cost objects (billing accounts). When you rent GPU nodes, the rental charges are distributed across these cost objects according to the percentages you specify. Projects without a verified cost allocation cannot make reservations.
Navigating to Cost Allocation¶
- Go to Projects in the main navigation
- Click on your project name to view project details
- Click Manage Cost Allocation in the Cost Allocation section
Adding Cost Objects¶
On the Cost Allocation page:
- Enter a Cost Object identifier in the text field
- Format: Letters, numbers, and hyphens only (e.g.,
GRANT-2024-12345,DOE-AI-789) - Enter the Percentage of charges to allocate to this cost object
- Click Add Cost Object to add additional cost objects if needed
- Optionally add Allocation Notes to describe the billing arrangement
Percentage Total
All percentages must sum to exactly 100%. The form displays a running total and indicates whether your allocation is valid.
Submitting for Approval¶
- Review your cost objects and percentages
- Click Save Cost Allocation
- Your allocation status changes to Pending Approval
A Billing Manager will review your submission and either approve or reject it.
Understanding Approval Status¶
| Status | Badge Color | Meaning |
|---|---|---|
| Pending | Yellow | Awaiting review by a Billing Manager |
| Verified | Green | Cost allocation is active; project can make reservations |
| Rejected | Red | Cost allocation was rejected; see notes for reason |
If Your Allocation Is Rejected¶
- Check the project detail page for the rejection reason in the Cost Allocation section
- Navigate to Manage Cost Allocation
- Correct the issues (e.g., update invalid cost object, fix percentages)
- Save to resubmit for approval
Resubmission
Any changes to a verified cost allocation will reset the status to Pending and require re-verification.
Managing Project Members¶
From your project's detail page, you can manage team members:
- Click Manage Members to view all project members and their roles
- Click Add Member to invite new users to the project (with username autocomplete search)
- Use the edit button next to a member to update their roles
- Use the remove button to remove a member from the project
Adding Members:
When adding a member, start typing their username, name, or email. The system will autocomplete matching users. Select the user and choose one or more roles to assign.
Member List Details:
The members list shows:
- Username and full name
- Role badges (Owner, Financial Admin, Technical Admin, Member)
- Account Maintenance status (so project owners can see their team's status)
Removing Members:
When removing a member, a confirmation dialog appears where you can optionally add notes explaining the reason for removal. These notes are recorded for audit purposes.
Owner Protection
The project owner cannot be removed from the project. To change ownership, contact ORCD support.
Project Reservations¶
From a project's detail page, click View Reservations to see all reservations associated with that project. The page shows:
- Future Reservations: Upcoming confirmed and pending reservations, sorted by start date
- Past Reservations: Completed reservations, sorted with most recent first
Each entry shows the reservation ID (click for details), node, dates, duration, status, and who requested it.
Example Scenario: Setting Up Cost Allocation
Dr. Martinez wants her lab to start renting GPU nodes for machine learning research. She navigates to her martinez_lab project and clicks "Manage Cost Allocation." She enters her grant's cost object DOE-AI-2024-789 and sets it to 100%. She adds a note: "DOE AI Research Grant - expires Dec 2025." After clicking Save, the status shows "Pending Approval" with a yellow badge. Three days later, a Billing Manager reviews and approves the allocation. The badge turns green, and Dr. Martinez's team can now start making GPU node reservations.
Rental Manager Guide¶
This section is for staff members with the Rental Manager role who are responsible for reviewing and processing GPU node reservation requests.
Accessing the Rental Manager Dashboard¶
- Log into the Rental Portal
- Click Manage Rentals in the navigation bar (visible only to Rental Managers)
- You'll see the Rental Manager Dashboard with pending and recent reservations
Reviewing Pending Requests¶
The dashboard displays all pending reservation requests in a sortable, filterable table showing:
- ID: Reservation identifier (click to view details)
- Node: The requested GPU node
- Project: The project making the request
- Requester: The user who submitted the request
- Start/End: Reservation dates and times
- Duration: Total billable hours
- Notes: Any notes from the requester
- Request Date: When the request was submitted
Confirming Reservations¶
To confirm a reservation:
- Review the request details
- Click the green Confirm Rental button
- The reservation is immediately confirmed and the calendar updates
Declining Reservations¶
To decline a reservation:
- Click the red Decline button
- In the modal that appears, optionally enter notes explaining the reason
- Click Decline Reservation
- The requester will see your notes when viewing the declined request
Provide Clear Feedback
When declining a request, include helpful notes so the requester understands why and can resubmit if appropriate. For example: "Declined due to scheduled maintenance on this date. Please select an alternate date."
Adding Management Metadata¶
You can add internal notes to any reservation for tracking purposes:
- Click the gear icon next to a reservation
- View any existing metadata entries (timestamped)
- Add new entries in the text area
- Click Save New Entries
Metadata Visibility
Management metadata is only visible to Rental Managers, not to the requester.
Viewing Recent Reservations¶
The dashboard also shows reservations processed in the last 30 days in a sortable, filterable table. This includes:
- Status (Confirmed, Declined)
- Processed By: Which Rental Manager confirmed or declined the request
You can add metadata to these reservations as well.
Example Scenario: Processing Requests
Sarah, a Rental Manager, logs in and sees 3 pending reservation requests on her dashboard. She reviews each one:
1. A routine 24-hour request from the Chen Lab - she clicks Confirm Rental.
2. A week-long request from the Johnson Lab - she verifies the dates don't conflict with maintenance, then clicks Confirm Rental.
3. A request for next Tuesday, which is a scheduled maintenance day - she clicks Decline and adds the note: "Declined: Tuesday March 18 is a scheduled maintenance day. Please select an alternate start date." She then clicks the gear icon and adds internal metadata: "User notified via email about maintenance schedule."
Later, she checks the "Recently Processed" table and can see which manager processed each request in the "Processed By" column.
Billing Manager Guide¶
This section is for staff members with the Billing Manager role who are responsible for reviewing cost allocations and preparing invoice reports.
The Billing Manager interface has two tabs:
- Pending Cost Allocations - Review and approve/reject cost allocation submissions
- Invoice Reporting - Generate, review, and export monthly billing reports
Pending Cost Allocations¶
Accessing Pending Cost Allocations¶
- Log into the Rental Portal
- Click Manage Billing in the navigation bar (visible only to Billing Managers)
- The Pending Cost Allocations tab shows all pending submissions
Reviewing Submissions¶
The pending allocations page displays:
- Project: The project name (click to view project details)
- Owner: The project owner's username and name
- Cost Objects: The submitted cost objects and their percentages
- Submitted: When the allocation was submitted or last modified
Click Review to open the detailed review page for a submission.
Verifying Cost Objects¶
Before approving, verify that:
- The cost object identifiers are valid in the financial system
- The percentages sum to 100%
- The cost objects are appropriate for the project and not expired
Approving Allocations¶
To approve a cost allocation:
- Review the cost objects and percentages
- Optionally add review notes
- Click Approve
- The project can now be used for GPU node reservations
Rejecting Allocations¶
To reject a cost allocation:
- Enter notes explaining why the allocation was rejected
- Click Reject
- The project owner/financial admin will see your notes and can correct and resubmit
Rejection Notes Are Important
Always include clear notes when rejecting an allocation so the submitter knows what to fix. For example: "Cost object ABC-123 has expired as of January 2025. Please use a current account."
Impact on Reservations¶
- Projects with Pending cost allocations cannot create new reservations
- Projects with Rejected cost allocations cannot create new reservations
- Only projects with Verified cost allocations can make reservations
Example Scenario: Reviewing Cost Allocations
Mike, a Billing Manager, logs into the portal and navigates to Manage Billing. He sees 5 pending cost allocation requests. He clicks Review on each one:
1-4. Four allocations have valid, active cost objects - he approves each one.
5. One allocation lists cost object ABC-123 which Mike knows expired last month. He enters the note: "Cost object ABC-123 has expired. Please use a current account number." and clicks Reject.
The project owner receives notification and updates their cost allocation with a valid cost object, resubmitting for approval.
Invoice Reporting¶
The Invoice Reporting feature allows Billing Managers to generate, review, and export monthly billing reports for GPU node rentals.
Accessing Invoice Reporting¶
- Navigate to Manage Billing in the navigation bar
- Click the Invoice Reporting tab
Viewing Available Months¶
The Invoice Reporting page lists all months with completed reservations. For each month, you can see:
- Month/Year: The billing period
- Status: Draft (editable) or Finalized (locked)
- Overrides: Number of manual adjustments applied
- Actions: Click View Report to see the detailed invoice
Understanding Invoice Status¶
| Status | Icon | Meaning |
|---|---|---|
| Draft | Yellow badge | Invoice can be edited; overrides can be added or removed |
| Finalized | Green badge with lock | Invoice is locked; no further edits allowed |
Invoice Report Details¶
Each monthly invoice report shows reservations grouped by project:
- Project summary: Project name, owner, and total hours for the month
- Per-reservation details:
- Reservation ID and node
- Date range
- Hours within the billing month
- Cost object breakdown (hours distributed by percentage)
- Override status (if any)
Cost Allocation Snapshots
When a cost allocation is approved, the system creates a snapshot of the cost objects and percentages. This ensures billing accuracy even if the cost allocation is later modified. Invoice reports use the snapshot that was active during each reservation period.
Filtering Invoice Entries¶
For invoices with many projects, you can filter the displayed entries:
- Owner Filter: Use the dropdown to show only projects owned by a specific user
- Title Filter: Enter a text pattern to show only projects whose titles contain that text
Both filters can be used together. The filters apply only to the current view and do not affect the exported data.
Creating Overrides¶
Sometimes you need to adjust billing for specific reservations. Click the Edit button next to any reservation to create an override.
Override Types:
| Type | Description |
|---|---|
| Exclude from Invoice | Remove the reservation from billing entirely |
| Override Hours | Adjust the billable hours for this reservation |
| Override Cost Split | Redistribute hours across cost objects differently than the default percentages |
Notes Are Required
All overrides require a note explaining the reason. This creates an audit trail for billing adjustments.
To delete an override, click the X button next to the override badge on the invoice report.
Finalizing Invoices¶
Once you have reviewed all reservations and made any necessary adjustments:
- Click Finalize Invoice
- Confirm the action
- The invoice is locked from further edits
The finalized invoice shows who finalized it and when, providing a complete audit trail.
Reopening Finalized Invoices¶
If corrections are needed after finalization:
- Click Reopen for Editing
- Confirm the action
- The invoice returns to Draft status
Exporting JSON Reports¶
To export an invoice for external systems or record-keeping:
- Click Export JSON on the invoice report page
- The browser downloads a JSON file containing:
- All reservations with start/end datetimes
- Cost object breakdowns
- Override details and notes
- Audit metadata (finalization status, reviewer info)
Example Scenario: Preparing Monthly Invoice
Lisa, a Billing Manager, needs to prepare the December invoice. She navigates to the Invoice Reporting tab and clicks "View Report" for December 2025. She reviews the report showing 15 reservations across 8 projects.
One reservation was for testing and shouldn't be billed - she clicks the edit button, selects "Exclude from Invoice", adds the note "Test reservation - do not bill per PI request", and saves.
Another reservation needs adjusted hours due to a system outage - she creates an "Override Hours" entry, reduces the hours from 72 to 60, and notes "12 hours credited due to network outage on Dec 15."
After reviewing all entries, she clicks "Finalize Invoice" to lock it from further changes. She then clicks "Export JSON" to download the report for the accounting system.
Rate Manager Guide¶
This section is for staff members with the Rate Manager role who are responsible for managing rental rates and pricing.
Accessing the Rate Manager Dashboard¶
- Log into the Rental Portal
- Click Admin Functions in the navigation bar
- Click Manage Rates (visible only to Rate Managers)
Understanding SKUs¶
The Rate Manager organizes billable items into SKUs (Stock Keeping Units), grouped by type:
| SKU Type | Billing Unit | Examples |
|---|---|---|
| Node | Hourly | H200x8, L40Sx4, CPU_384G, CPU_1500G |
| Maintenance | Monthly | Basic subscription, Advanced subscription |
| QoS | Monthly | Standard QoS tiers, Custom QoS setups |
Viewing SKU Details¶
From the Rate Manager dashboard, click on any SKU to view:
- Current effective rate
- Rate history (all previous rates with effective dates)
- When each rate became effective
Setting Rates¶
To add a new rate for an existing SKU:
- Navigate to the SKU detail page
- Click Add Rate
- Enter the rate amount and effective date
- Click Save
Rate History
Rates are never deleted—new rates supersede old ones based on effective date. This maintains a complete audit trail for billing accuracy.
Creating Custom SKUs¶
For Quality of Service (QoS) configurations, you can create custom SKUs:
- From the Rate Manager dashboard, click Create Custom SKU
- Enter a name and description
- Set the initial rate and effective date
- Click Create
QoS SKUs Only
Custom SKU creation is only available for QoS-type items. Node and Maintenance SKUs are predefined.
Managing SKU Visibility¶
Rate Managers can control which SKUs appear on the public Current Rates page:
- From the Rate Manager dashboard, locate the SKU
- Use the Visible toggle switch to show or hide the SKU
- Changes take effect immediately
Public vs. Internal SKUs
Use visibility toggles to hide internal or deprecated SKUs from the public rates page while keeping them available for billing purposes.
Activity Log¶
The Activity Log provides an audit trail of significant actions in the Rental Portal. This feature is available to Rental Managers, Billing Managers, Rate Managers, and system administrators.
Accessing the Activity Log¶
- Log into the Rental Portal with a manager account
- Navigate to Admin Functions in the navigation bar
- Click Activity Log
Activity Categories¶
The activity log tracks events across multiple categories:
| Category | Events Tracked |
|---|---|
| Authentication | User logins, logouts, and failed login attempts |
| Reservation | Reservation creation, approval, decline, and cancellation |
| Member | Role additions, role removals, and member removals from projects |
| Cost Allocation | Cost allocation submissions and approval status changes |
| Invoice | Invoice finalization, reopening, and override changes |
| Maintenance | Maintenance fee status changes |
| Rate | Rate changes and SKU modifications |
| API | API access events |
Filtering the Log¶
Use the filter options to narrow down the activity log:
- Category: Filter by event type (e.g., only show reservation events)
- User: Filter by the user who performed the action
- Date range: Filter by when events occurred
Understanding Log Entries¶
Each log entry shows:
- Timestamp: When the action occurred
- User: Who performed the action
- Category: Type of event
- Description: What happened
- Details: Additional context (e.g., project name, reservation ID)
Manager Access
The Activity Log is only visible to Rental Managers and Billing Managers. Regular users do not have access to this feature.
REST API¶
The Rental Portal provides a REST API for programmatic access to rental and invoice data.
Authentication¶
API access requires token authentication. Include your token in the Authorization header of all requests:
For Users: Getting Your Token¶
- Log into the Rental Portal
- Navigate to User Profile
- Your API token is displayed in the profile section
- Click Regenerate Token if you need a new token (this invalidates the old one)
For Administrators: Creating Tokens via Command Line¶
Administrators can create or regenerate tokens for any user using the Django management command:
- Use
-rto regenerate an existing token (replaces the old token) - Without
-r, creates a new token only if the user doesn't already have one - The command outputs the token key
Token Security
Treat API tokens like passwords. Do not share them or commit them to version control. If a token is compromised, regenerate it immediately.
Available Endpoints¶
| Endpoint | Method | Permission Required | Description |
|---|---|---|---|
/nodes/api/rentals/ |
GET | can_manage_rentals |
List and filter reservations |
/nodes/api/users/search/?q= |
GET | Authenticated | Search users by username, name, or email |
/nodes/api/invoice/ |
GET | can_manage_billing |
List months with invoice data |
/nodes/api/invoice/YYYY/MM/ |
GET | can_manage_billing |
Get full invoice report for a specific month |
/nodes/api/activity-log/ |
GET | can_manage_rentals or can_manage_billing |
Query the activity log |
CLI Examples¶
List available invoice months:
curl -H "Authorization: Token your-token-here" \
https://test.rentals.mit-orcd.org/nodes/api/invoice/
Download invoice for a specific month:
curl -H "Authorization: Token your-token-here" \
https://test.rentals.mit-orcd.org/nodes/api/invoice/2025/12/ \
-o december-2025-invoice.json
Search for users:
curl -H "Authorization: Token your-token-here" \
"https://test.rentals.mit-orcd.org/nodes/api/users/search/?q=smith"
Example Scenario: Automated Invoice Retrieval
A department administrator wants to automate monthly invoice retrieval for their accounting system. They get their API token from the User Profile page, then create a script that runs on the first of each month:
#!/bin/bash
TOKEN="abc123..."
YEAR=$(date -d "last month" +%Y)
MONTH=$(date -d "last month" +%m)
curl -H "Authorization: Token $TOKEN" \
"https://test.rentals.mit-orcd.org/nodes/api/invoice/${YEAR}/${MONTH}/" \
-o "invoice-${YEAR}-${MONTH}.json"
The JSON file is then processed by their accounting software to generate internal billing records.
Quick Reference¶
Reservation Time Rules¶
- Start Time: 4:00 PM on start date
- Duration: 12-hour blocks (12, 24, 36, ... hours)
- End Time Cap: 9:00 AM maximum on final day
- Advance Booking: Minimum 7 days ahead
- Calendar Visibility: Up to 3 months ahead
Key Portal URLs¶
| Page | Path | Access |
|---|---|---|
| Home Dashboard | / |
All users |
| Rental Calendar | /nodes/renting/ |
All users |
| Request Reservation | /nodes/renting/request/ |
All users |
| My Reservations | /nodes/my/reservations/ |
All users |
| Reservation Detail | /nodes/reservation/<id>/ |
Project members |
| Current Rates | /nodes/rates/current/ |
All users |
| Rate Detail | /nodes/rates/current/<id>/ |
All users |
| User Profile | /user/user-profile/ |
All users |
| Project List | /project/ |
All users |
| Create Project | /project/create/ |
All users (with PI status) |
| Project Reservations | /nodes/project/<id>/reservations/ |
Project members |
| Project Archive | /project/<id>/archive/ |
Project Owner |
| Rental Manager Dashboard | /nodes/renting/manage/ |
Rental Manager |
| Activity Log | /nodes/activity-log/ |
Rental/Billing/Rate Manager |
| Rate Manager Dashboard | /nodes/rates/ |
Rate Manager |
| SKU Detail | /nodes/rates/sku/<id>/ |
Rate Manager |
| Billing Manager - Pending Allocations | /nodes/billing/pending/ |
Billing Manager |
| Billing Manager - Invoice Reporting | /nodes/billing/invoice/ |
Billing Manager |
| Invoice Report (specific month) | /nodes/billing/invoice/YYYY/MM/ (supports ?owner= and ?title= filters) |
Billing Manager |
| Invoice Edit Override | /nodes/billing/invoice/YYYY/MM/edit/ |
Billing Manager |
| Invoice Export JSON | /nodes/billing/invoice/YYYY/MM/export/ |
Billing Manager |
API Endpoints¶
| Endpoint | Path | Access |
|---|---|---|
| Reservations API | /nodes/api/rentals/ |
Rental Manager |
| User Search API | /nodes/api/users/search/ |
All users |
| Invoice List API | /nodes/api/invoice/ |
Billing Manager |
| Invoice Report API | /nodes/api/invoice/YYYY/MM/ |
Billing Manager |
| Activity Log API | /nodes/api/activity-log/ |
Rental/Billing Manager |
Role Quick Reference¶
Who can edit cost allocations? Owner, Financial Admin
Who can manage project members? Owner, Financial Admin, Technical Admin
Who is included in reservations? Owner, Technical Admin, Member (NOT Financial Admin)
Who can use a project for maintenance fee billing? Owner, Technical Admin, Member (NOT Financial Admin)
Getting Help¶
For questions or issues with the Rental Portal, contact us:
- Email: orcd-help@mit.edu
- Documentation: https://orcd-docs.mit.edu