Overview
Discover what makes GRR powerful
GRR is a self‑hosted resource management and reservation platform, originally derived from the MRBS project. It is written in PHP 7‑8 and relies on a MySQL/MariaDB backend, making it straightforward to integrate into existing LAMP stacks. The application exposes a rich set of web‑based interfaces for creating, editing and querying reservations, while also providing a programmatic API layer that developers can hook into for custom workflows or integrations.
Reservation Engine
Role‑based Access Control
Multi‑tenant Architecture
Extensible UI
Overview
GRR is a self‑hosted resource management and reservation platform, originally derived from the MRBS project. It is written in PHP 7‑8 and relies on a MySQL/MariaDB backend, making it straightforward to integrate into existing LAMP stacks. The application exposes a rich set of web‑based interfaces for creating, editing and querying reservations, while also providing a programmatic API layer that developers can hook into for custom workflows or integrations.
Key Features
- Reservation Engine – Handles time‑slot allocation, conflict detection, and recurring bookings.
- Role‑based Access Control – Fine‑grained permissions for users, groups and administrators.
- Multi‑tenant Architecture – Supports several independent “sites” (resource pools) within a single installation.
- Extensible UI – Customization files are stored in the
personnalisationdirectory, allowing CSS/JS overrides and template edits without touching core code. - API & Webhooks – REST‑like endpoints (JSON) for CRUD operations on resources, bookings and users; optional webhooks can be configured to trigger external services on events such as booking creation or cancellation.
Technical Stack
| Layer | Technology |
|---|---|
| Application | PHP ≥ 7.2 (≤ 8.3) with extensions: fileinfo, gd, mbstring, mysqli, mysqlnd, xml, intl |
| Database | MySQL ≥ 5.4 (≤ 8.4) or MariaDB; schema is flat and version‑controlled via migration scripts in sql/ |
| Web Server | Apache/Nginx with PHP‑FPM; supports .htaccess rewrites for clean URLs |
| Localization | Multilingual support via PHP gettext; language packs are modular |
| Licensing | GNU GPL v3 – fully open source with community contributions encouraged |
Core Capabilities
- Data Model – Resources, bookings, users, groups, sites, and permissions are stored in normalized tables; relationships are managed via foreign keys.
- API Endpoints –
/api/v1/resources,/api/v1/bookings,/api/v1/usersexpose CRUD operations; authentication is handled via session cookies or API tokens. - Event Hooks – PHP callbacks (
hooks.php) can be registered to run custom code on booking events. - Export/Import – CSV and iCalendar (ICS) support for interoperability with external calendars.
Deployment & Infrastructure
GRR is designed for simple self‑hosting: a single PHP directory plus a MySQL database. It runs natively on any LAMP/LEMP stack and is compatible with Docker; a ready‑made docker-compose.yml is available in the repository for rapid prototyping. For scalability, multiple web nodes can share a common database and file system (or use NFS/Gluster for the personnalisation folder). Horizontal scaling is limited by MySQL read/write contention; for high‑traffic deployments, a master‑slave replication setup is recommended.
Integration & Extensibility
- Plugin System – Developers can drop PHP classes into
plugins/to extend functionality; the core loads them at runtime. - Webhooks – Configure URLs in the admin panel to receive JSON payloads on booking events.
- Custom Scripts – The
personnalisationdirectory allows overriding templates, adding JavaScript, or injecting custom PHP logic without modifying core files. - External Auth – Supports LDAP/Active Directory integration via PHP modules, enabling single‑sign‑on across enterprise environments.
Developer Experience
- Documentation – Comprehensive online docs (
https://devome.com/GRR/DOC/) cover installation, API usage, and customization. - Community – Active forum and Discord channel provide quick support; the codebase follows PSR‑4 autoloading conventions for easy IDE integration.
- Configuration – A single
config.phpfile holds database credentials, site settings, and feature flags; environment variables can override defaults for CI/CD pipelines.
Use Cases
| Scenario | How GRR Helps |
|---|---|
| Corporate Resource Booking | Employees reserve conference rooms, equipment, or shared vehicles with real‑time conflict detection. |
| Educational Institutions | Classrooms and labs are managed via a multi‑tenant interface; teachers can schedule recurring sessions. |
| Co‑working Spaces | Members book desks or meeting rooms; automated billing can be tied to the API. |
| Event Management | External partners submit reservations through webhooks, integrating with ticketing platforms. |
Advantages
- Open Source & GPL – No licensing costs, full source visibility for audit and modification.
- Lightweight PHP Footprint – Low system requirements; runs on shared hosting or VPS.
- Modular Architecture – Easy to replace the database layer or add new plugins without touching core logic.
- Robust API – Enables seamless integration with modern front‑ends (React, Vue) or other back‑end services.
- Community & Support – Active contributors and a dedicated forum mean bugs are addressed quickly.
In summary, GRR offers developers a proven, PHP‑based reservation engine that is both highly configurable and extensible. Its straightforward deployment model, coupled with a clear API surface, makes it an attractive choice for organizations looking to embed resource scheduling into existing web ecosystems.
Open SourceReady to get started?
Join the community and start self-hosting GRR today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Operational
Real‑time event monitoring and alerting for startups

Hubzilla
Decentralized social platform for privacy‑first collaboration
Easy!Appointments
Self‑hosted appointment scheduling for any business
FreshRSS
Self-hosted RSS & Atom aggregator
Zero-K
Free, physics‑based RTS with vast units and maps
Part-DB
Open‑source electronic parts inventory for web browsers