Sari la conținut

1. Introduction and goals

Purpose

MRBS coordinates bookings for meeting rooms and other shared resources. It replaces informal calendars or paper books with a multi-user web application that prevents conflicting reservations and applies configurable policies.

Primary functional goals

  • Present availability by day, week, month, and year.
  • Create, change, delete, search, report, import, and export bookings.
  • Support repeated, private, provisional, and registrable bookings.
  • Organize resources into areas and rooms.
  • Authenticate users against local or external identity stores.
  • Delegate administration by system, area, and room.
  • Operate with MySQL/MariaDB or PostgreSQL.
  • Support localized user interfaces and room timezones.

Stakeholders

Stakeholder Concern
Visitor See permitted availability without unnecessary friction
Authenticated user Make and manage valid bookings
Booking administrator Review and manage bookings for assigned resources
System administrator Configure rooms, users, policy, integrations, and upgrades
Operator Run, secure, monitor, back up, and recover the installation
Identity administrator Maintain accounts, roles, groups, and single sign-on
Developer or contributor Change behavior without breaking supported deployments
Translator Keep terminology and interface text accurate in each locale

Quality goals

Priority Quality goal Meaning for MRBS
1 Integrity Conflicting or policy-invalid bookings must not be accepted
2 Security Identity, authorization, redirects, imports, and secrets must be handled safely
3 Deployability A conventional PHP and SQL environment must be sufficient
4 Configurability One code base must serve varied rooms, policies, and identity systems
5 Maintainability Database and integration variants should remain isolated behind stable abstractions
6 Usability Common booking and administration tasks should be understandable in a browser

Scope

The system includes the browser-facing application, PHP application code, database schema and upgrade logic, built-in session and authentication adapters, email generation, calendar import/export, themes, and translations.

External databases, identity providers, mail servers, CMS installations, web servers, and browser software are outside the system but connected through documented interfaces.