Title: Resourcemanager
Author: Alex H.
Published: <strong>Háset 20, 2022</strong>
Last modified: Aqırap 26, 2026

---

Search plugins

![](https://ps.w.org/resourcemanager/assets/icon-256x256.png?rev=3750228)

# Resourcemanager

 By [Alex H.](https://profiles.wordpress.org/mystryx/)

[Download](https://downloads.wordpress.org/plugin/resourcemanager.4.0.0.zip)

 * [Details](https://kaa.wordpress.org/plugins/resourcemanager/#description)
 * [Reviews](https://kaa.wordpress.org/plugins/resourcemanager/#reviews)
 *  [Installation](https://kaa.wordpress.org/plugins/resourcemanager/#installation)
 * [Development](https://kaa.wordpress.org/plugins/resourcemanager/#developers)

 [Support](https://wordpress.org/support/plugin/resourcemanager/)

## Description

**Resourcemanager** is a powerful, flexible, and 100% privacy-friendly booking and
scheduling system for WordPress. Whether you need to manage meeting rooms, hot desks,
company vehicle fleets, rental equipment, audio/video gear, or team schedules, Resourcemanager
provides a clean, responsive, and interactive calendar interface that your team 
and clients will love.

Built from the ground up for performance and data privacy, Resourcemanager runs 
entirely on your local WordPress installation with **zero external tracking, zero
third-party dependencies, and lightning-fast REST API communication**.

[Official Website](https://seo-hacker.de) | [Support the Project via PayPal](https://www.paypal.com/paypalme/edvhacker/6)

### Why Choose Resourcemanager?

 * **100% Privacy & GDPR / DSGVO Compliant**: No tracking pixels, no external CDNs,
   and zero third-party telemetry. All booking records, user info, and custom field
   data remain strictly inside your own WordPress database.
 * **High-Performance REST API Architecture**: Powered entirely by the native WordPress
   REST API (`resourcemanager/v1`) and `wp.apiFetch`. Experience instant calendar
   updates, fast modal dialogues, and zero sluggish page reloads.
 * **Intuitive Month & Week Views**: Crystal-clear overview of all resources side-
   by-side with color-coded status badges (confirmed, pending, canceled).
 * **Collision & Double-Booking Prevention**: Built-in interval-conflict detection
   ensures that unique resources are never accidentally double-booked.
 * **Countable & Multi-Capacity Resources**: Define maximum quantities for inventory
   pools (e.g., 5 projectors, 10 rental laptops, 20 seminar desks) with automated
   remaining-capacity calculations.
 * **Recurring Bookings Engine**: Effortlessly schedule repeating appointments (
   daily, weekly, monthly, or yearly) with automated conflict validation across 
   the entire series.
 * **Dual-Mode Custom Fields (Visual & JSON)**: Tailor your booking forms to your
   exact needs. Add text inputs, number fields (with min/max/step limits), and required
   constraints using an intuitive visual editor or direct JSON schema.
 * **Role-Based Permission Control**: Easily grant view or management permissions
   to specific WordPress user roles (Administrators, Editors, Authors, or custom
   intranet roles).
 * **Automated Email Notifications**: Keep everyone informed with automatic email
   alerts sent to resource owners and bookers upon submission, confirmation, or 
   cancellation.
 * **Remote ICS Holiday Synchronization**: Automatically import public or corporate
   holiday feeds via scheduled background tasks (WP-Cron) without ever exposing 
   visitor IP addresses.
 * **Modernized Admin Interface**: Streamline your daily management with instant
   Quick-Add toolbars, live real-time search filtering, 1-click shortcode copy badges,
   and spacious rich-text (TinyMCE) modal description editing.
 * **Native 12-Language Support**: Fully translated into English, German, Spanish,
   French, Italian, Brazilian Portuguese, Dutch, Russian, Polish, Japanese, Turkish,
   Swedish, and Simplified Chinese using WordPress 6.5+ high-speed translation arrays.

### Common Use Cases

 * **Meeting Rooms & Offices**: Conference rooms, meeting suites, video-conference
   cabins, desk sharing, and coworking spaces.
 * **Vehicle Fleet Management**: Company pool cars, delivery vans, electric vehicles,
   trailers, and bikes.
 * **Equipment & Device Rentals**: Cameras, lighting kits, lab apparatus, measuring
   tools, musical instruments, and beamers.
 * **Schools, Universities & Research**: Computer laboratories, sports gyms, rehearsal
   halls, and workshop machinery.
 * **Team & Facility Scheduling**: Consultation hours, shared workstations, therapy
   rooms, and shift rotas.

### Key Features at a Glance

 * **Compact Month View**: Day-cell matrix showing resource availability, booking
   occupancy, and holiday highlights.
 * **Hour-by-Hour Week View**: Detailed weekly timetable with customizable day boundaries(`
   day_start` and `day_end`).
 * **Instant Booking Modal**: Smooth, responsive booking dialog with recurrence 
   options and bespoke custom fields.
 * **Visual Custom Fields Builder**: Add custom fields without writing a single 
   line of code.
 * **Real-Time Search & Quick-Add**: Quickly find and manage hundreds of items with
   instant keyboard filtering.
 * **1-Click Shortcode Badges**: Copy embedding shortcodes directly to your clipboard
   with visual confirmation.
 * **Modal Rich-Text Editor**: Provide detailed resource guidelines, rules of use,
   and specifications using the familiar WordPress editor.
 * **Theme-Safe Styling**: Strictly scoped CSS styles protect your website against
   styling conflicts with third-party themes.

### Shortcodes & Configuration

Embed your resource calendar on any page using the simple shortcode:

    ```
    [resourcemanager cal_id="1"]
    ```

#### Supported Attributes:

 * `cal_id` _(integer, default: 0)_: The ID of the calendar view you want to display.
 * `initial_view` _(string, default: “monthly”)_: The view displayed on initial 
   load. Accepted values: `"monthly"` or `"weekly"`.
 * `day_start` _(string, default: “07:00:00”)_: Earliest time shown in the weekly
   view timetable (`HH:MM:SS`).
 * `day_end` _(string, default: “18:00:00”)_: Latest time shown in the weekly view
   timetable (`HH:MM:SS`).
 * `line_sectors` _(string, default: “0:10:90:100”)_: Percentage distribution markers
   for visual column rendering.

#### Custom Example:

    ```
    [resourcemanager cal_id="2" initial_view="weekly" day_start="08:00:00" day_end="20:00:00"]
    ```

## Screenshots

[⌊Monthly Calendar View: Compact, interactive month grid showing bookings, occupancy
status, and holiday highlights.⌉⌊Monthly Calendar View: Compact, interactive month
grid showing bookings, occupancy status, and holiday highlights.⌉[

Monthly Calendar View: Compact, interactive month grid showing bookings, occupancy
status, and holiday highlights.

[⌊Weekly Timetable View: Detailed weekly agenda showing exact hours and time slots.⌉⌊
Weekly Timetable View: Detailed weekly agenda showing exact hours and time slots
.⌉[

Weekly Timetable View: Detailed weekly agenda showing exact hours and time slots.

[⌊Reservation Dialog: Intuitive booking popup with date pickers, recurrence settings,
and custom field inputs.⌉⌊Reservation Dialog: Intuitive booking popup with date 
pickers, recurrence settings, and custom field inputs.⌉[

Reservation Dialog: Intuitive booking popup with date pickers, recurrence settings,
and custom field inputs.

[⌊Modern Admin Dashboard: Streamlined resource and calendar management with real-
time live search and Quick-Add toolbars.⌉⌊Modern Admin Dashboard: Streamlined resource
and calendar management with real-time live search and Quick-Add toolbars.⌉[

Modern Admin Dashboard: Streamlined resource and calendar management with real-time
live search and Quick-Add toolbars.

## Installation

 1. Upload the `resourcemanager` directory to your `/wp-content/plugins/` directory,
    or install it directly via the WordPress Plugins dashboard.
 2. Activate the plugin through the **Plugins** menu in WordPress.
 3. In your WordPress admin menu, navigate to **Resourcemanager**:
 4.  * Go to **Resources** to add your bookable assets (rooms, vehicles, equipment,
       etc.).
     * Go to **Calendars** to create a calendar view and assign the desired resources.
 5. Copy the shortcode badge from the Calendars overview (e.g. `[resourcemanager cal_id
    ="1"]`).
 6. Paste the shortcode into any WordPress page, post, or widget block!

## FAQ

### Is Resourcemanager compliant with the EU General Data Protection Regulation (GDPR / DSGVO)?

Yes, absolutely! Resourcemanager is 100% self-hosted and privacy-respecting. All
bookings, user details, and resource parameters are stored exclusively in your own
local WordPress database. The plugin does not load external scripts or tracking 
beacons. External holiday ICS feeds are fetched server-to-server via background 
WP-Cron jobs so user and visitor IP addresses are never shared with third parties.

### Can multiple users book the same resource simultaneously?

For unique resources (such as a specific conference room or vehicle), our conflict
engine strictly prevents double bookings. For inventory items with multiple identical
units (e.g., 10 laptops or 25 seminar seats), simply configure the capacity to the
total count. The plugin tracks concurrent bookings and permits reservations until
all available units are booked.

### How do custom booking fields work?

Under the **Resources** management table, click the **Custom Fields** button for
any resource. You can visually add text inputs, number fields (with optional min,
max, and step validation), or toggle into the JSON schema view. These fields appear
automatically in the front-end reservation modal and are saved with the booking.

### Can I restrict who can view or book resources?

Yes. You can configure viewer roles and administrator roles independently for each
calendar and each resource. You can choose to make a calendar public, restrict it
to logged-in users, or limit access to specific WordPress roles (e.g., Administrator,
Editor, Subscriber).

### Can I import national or regional public holidays?

Yes. Under **Resourcemanager -> Settings**, enter the URL of any standard iCalendar(.
ics) feed. Resourcemanager caches the holiday events in the background and visually
highlights them in your calendars.

### What languages are available?

Resourcemanager includes 100% complete translations for 12 languages:
 * English*
German (Deutsch – `de_DE`) * Spanish (Espanol – `es_ES`) * French (Francais – `fr_FR`)*
Italian (Italiano – `it_IT`) * Brazilian Portuguese (Portugues do Brasil – `pt_BR`)*
Dutch (Nederlands – `nl_NL`) * Russian (Russian – `ru_RU`) * Polish (Polski – `pl_PL`)*
Japanese (Japanese – `ja`) * Turkish (Turkce – `tr_TR`) * Swedish (Svenska – `sv_SE`)*
Simplified Chinese (Chinese Simplified – `zh_CN`)

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Resourcemanager” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Alex H. ](https://profiles.wordpress.org/mystryx/)

[Translate “Resourcemanager” into your language.](https://translate.wordpress.org/projects/wp-plugins/resourcemanager)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/resourcemanager/), 
check out the [SVN repository](https://plugins.svn.wordpress.org/resourcemanager/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/resourcemanager/)
by [RSS](https://plugins.trac.wordpress.org/log/resourcemanager/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 4.0.0

 * Performance: Major architectural overhaul of calendar queries replacing global
   table scans and group-by subqueries with SQL Window Functions (ROW_NUMBER() OVER)
   on MySQL 8.0+ / MariaDB 10.2+.
 * Performance: Decoupled unconfirmed pending booking requests (ASKFOR) from calendar
   date queries, allowing strictly date-bounded queries and maximum index efficiency.
 * Performance: Added composite database indexes (idx_res_dates, idx_dates_type,
   idx_type_lastChanged) for instantaneous calendar data retrieval across large 
   databases (Schema v4.3.0).
 * Performance: Introduced lazy loading for users and groups via dedicated /resourcemanager/
   v1/users REST endpoint and include_users=0 during calendar navigation.
 * Performance: High-performance 1-hour WordPress transients cache for resource 
   definitions, views, and user lists with automated flushing on edits.
 * Feature: Automated booking history retention cleanup with configurable retention
   period in backend settings (default: 6 months) and daily WP-Cron scheduling.
 * Enhancement: Added AbortController request cancellation to frontend calendar 
   navigation to abort obsolete in-flight requests during rapid date browsing.
 * Compatibility: Updated test matrix and verified compatibility for PHP 8.2 through
   PHP 8.5.

#### 3.0.14

 * Feature: Added dedicated one-click noreply symbol button (`.rm-btn-noreply-toggle`)
   in the Resources administration table to automatically insert `noreply@<domain
   >` and suppress email notifications for that resource without manual typing.
 * Enhancement: Prominent red badge styling (`.rm-mail-pill.rm-mail-suppressed`)
   for all suppressed noreply email addresses with clear tooltip explanations on
   hover explaining that notifications are disabled.
 * Enhancement: Added explanatory hover tooltip icon to the “owner mail” table column
   header.
 * Fix: Enhanced en-dash (`–`) and em-dash (`—`) text handling during inline cell
   editing in the admin table.

#### 3.0.13

 * Fix: Ensure iCalendar (.ics) appointments are exclusively attached to notification
   emails addressed to the applicant (Antragsteller / booking user), preventing 
   calendar attachments from being sent to resource owners or administrators on 
   deletion notices (`owner_deleted`) and internal administrative alerts.
 * Feature: Added `resourcemanager_send_ics_attachment` filter hook allowing developers
   to customize or conditionally toggle calendar attachments on outgoing emails.

#### 3.0.12

 * Fix: Automatically detect configured sender address and sender name from FluentSMTP(`
   fluentmail-settings`), WP Mail SMTP (`wp_mail_smtp`), and Post SMTP (`postman_options`),
   ensuring the iCalendar `ORGANIZER` matches the authenticated SMTP sender address(`
   From:`) to prevent Outlook and Microsoft 365 from displaying “im Auftrag von”(“
   on behalf of”).
 * Feature: Added `resourcemanager_ics_organizer` filter hook to allow custom organizer
   address and name overrides.

#### 3.0.11

 * Feature: Outgoing iCalendar (.ics) appointments now declare `TRANSP:TRANSPARENT`,`
   X-MICROSOFT-CDO-BUSYSTATUS:FREE`, and `X-MICROSOFT-CDO-INTENDEDSTATUS:FREE` so
   resource reservations show as “Frei” (Free / non-blocking) in Outlook, Google
   Calendar, Apple Calendar, and Exchange instead of blocking user availability 
   as “Gebucht” (Busy).
 * Feature: Calendar appointment titles (iCalendar `SUMMARY`) now explicitly state
   the booked resource (e.g. “Gebucht: Konferenzraum Süd” / “Cancelled: Konferenzraum
   Süd”) with full translation support and new `resourcemanager_booking_ics_summary`
   filter hook.
 * i18n: Added and synchronized translations for `Booked: %s` and `Cancelled: %s`
   across German (de_DE) and all 12 supported languages.

#### 3.0.10

 * Fix: Automatically initialize `ParseHolidays` singleton (`Config::$instances['
   parse_holidays']`) and fallback in REST API (`resourcemanager/v1/time`) and AJAX
   handlers so holiday data is always delivered to calendar views.
 * Fix: Auto-refresh cached ICS feeds when configured URLs signature changes or 
   when cached content is empty.
 * UI Fix: Applied weekend background styling (`--freeTimeFreeDay`) and added holiday
   title tooltips on calendar date headers across monthly and weekly views when 
   viewing public holidays (e.g. Hessen Feiertage).

#### 3.0.9

 * Fix: Resolved issue where Holiday ICS URLs were not persisting or rendering in
   backend settings after converting to multi-feed list.
 * Fix: Automatically initialize `ICS_Cache_Manager` singleton on plugin bootstrap
   to ensure configured URLs, cache info, and holiday parsing are always active.
 * Fix: Fall back directly to stored `get_option` values when rendering settings
   input rows, preventing configured URLs from ever disappearing from the form.
 * Fix: Hooked both `add_option` and `update_option` for `holiday-ics` so cache 
   updates and feed downloads trigger reliably on initial save.
 * Fix: Hardened URL sanitization to preserve valid local file paths and internationalized
   URLs.

#### 3.0.8

 * Feature: Added customizable morning day start (day_start, default 07:00:00) and
   evening day end (day_end, default 18:00:00) settings in the WordPress admin backend,
   synchronizing frontend calendar view timetables and automatic all-day ICS export
   boundaries.
 * UI Fix: Corrected vertical baseline alignment of Dashicons and text inside all
   backend buttons (inline-flex vertical centering, no text wrapping, perfectly 
   centered remove icons).
 * i18n: Updated and synchronized complete German translation catalog (de_DE) and
   all 12 language catalogs covering holiday feeds, day boundaries, settings, and
   notifications.

#### 3.0.7

 * Feature: Bookings covering standard day boundaries (default 07:00:00 to 18:00:
   00, or 00:00:00 to 23:59:59) are automatically exported and sent as RFC 5545 
   all-day calendar events (VALUE=DATE, X-MICROSOFT-CDO-ALLDAYEVENT:TRUE, exclusive
   DTEND), allowing clean all-day banner display across Outlook, Apple Calendar,
   and Google Calendar.
 * Fix: Aligned iCalendar ORGANIZER with WordPress / WP Mail SMTP authenticated 
   sender address (wp_mail_from / wp_mail_from_name), restoring Outlook’s interactive
   Accept / Tentative / Decline RSVP buttons while preventing SMTP anti-spoofing
   rejections.

#### 3.0.6

 * Fix: Preserved WordPress / WP Mail SMTP authenticated `From:` sender address 
   on notification emails, resolving “SMTP Error: data not accepted” caused by SMTP
   anti-spoofing / SPF / DMARC server rejections.
 * Fix: Prevented booking user from being displayed as the email sender; booking
   user is now assigned to the `Reply-To:` header instead.
 * Fix: Removed duplicate `Content-class` MIME header injection in PHPMailer hook.

#### 3.0.5

 * Feature: Support multiple holiday ICS feeds/calendars in backend settings with
   dynamic row management (add/remove feeds, bulk paste/import, per-feed validation
   and status badges).
 * Feature: Added manual cache refresh action with real-time feedback in WordPress
   backend.
 * Performance: Multi-calendar caching and aggregation engine merges VEVENT entries
   across all configured feeds into a unified RFC 5545 calendar.
 * Fix: Holiday parser now supports RFC 5545 line unfolding, non-inclusive multi-
   day event expansion across all dates, and cross-feed event deduplication.

#### 3.0.4

 * Fix: Prevented organizer collision in Microsoft Outlook meeting invitations by
   dynamically assigning the booking user or system as ORGANIZER when sending notifications
   to resource owners/admins, ensuring the recipient is always an ATTENDEE and Outlook
   displays interactive Accept / Tentative / Decline RSVP buttons.
 * Fix: Injected Microsoft Exchange / Outlook `Content-class: urn:content-classes:
   calendarmessage` and `X-MS-Has-Attach: yes` headers on all calendar notification
   emails.
 * Fix: Explicitly aligned email `From:` header with the .ics `ORGANIZER` property
   to prevent sender mismatch flags in Outlook and Exchange.
 * Fix: Added `CUTYPE=INDIVIDUAL` to all `ATTENDEE` lines in generated iCalendar
   data per RFC 5545 specifications.
 * Fix: Normalized attachment paths, set attachment disposition to `inline`, and
   enforced `invite.ics` filename with explicit `text/calendar; charset=UTF-8; method
   =REQUEST` MIME typing in PHPMailer.

#### 3.0.3

 * Feature: Explicit resource owner email addresses now exclusively receive owner
   notifications (role members excluded when specific email is set).
 * Feature: Added notification suppression for resource owners by entering “noreply”(
   or “none”, “disabled”) in the owner email field.
 * UI: Added visual status badge and helper tooltips for suppressed owner notifications
   in resource admin table.

#### 3.0.2

 * Fix: Configured `PARTSTAT=NEEDS-ACTION` and `RSVP=TRUE` on iCalendar `METHOD:
   REQUEST` booking notifications per RFC 5545 / RFC 5546, enabling interactive “
   Accept / Tentative / Decline” action buttons in Microsoft Outlook.
 * Fix: Ensured all notification email recipients are dynamically registered in 
   the `.ics` `ATTENDEE` property list to guarantee Outlook mailbox address matching.
 * Fix: Declared explicit `method=REQUEST` (and `method=CANCEL`) MIME type parameters
   on outgoing calendar attachments in PHPMailer.
 * Feature: Added previous (`‹`), next (`›`), and today (`Heute`) navigation buttons
   to frontend calendar (month/week) and statistics views with full internationalization
   across all 12 languages.
 * Tweak: Hardened date navigation controls and resolved attribute quoting in shortcode
   views.

#### 3.0.1

 * Feature: Added migration backup status panel to Backend Settings (`Resourcemanager-
   > Settings`) with one-click buttons to verify and permanently delete the RRULE
   migration backup table (`_bookings_bak_rrule`) or restore bookings from the backup
   copy.
 * Database: Full MySQL 8.0+ Strict Mode (`NO_ZERO_DATE`, `STRICT_TRANS_TABLES`)
   compliance by replacing legacy `0000-00-00 00:00:00` datetime defaults with `
   1970-01-01 00:00:00`.
 * Fix: Resolved booking history lookup in `DB::read_booking_from_db3()` so soft-
   deleted bookings immediately return empty when `$include_deleted = false` instead
   of falling back to historical `INSERT` rows.

#### 3.0.0

 * Feature: Added RFC 5545 iCalendar (.ics) attachments and native multipart/alternative
   calendar parts to booking notification emails (compatible with Outlook, Gmail,
   Apple Calendar).
 * Feature: Native interactive calendar invitations with METHOD:REQUEST (confirmed
   bookings) and METHOD:CANCEL (cancellations/rejections).
 * Feature: Upgraded recurring booking pattern storage to native RFC 5545 RRULE 
   format.
 * Database: Safe, automatic, and idempotent database migration routine with automatic
   backup table creation (_bookings_bak_rrule) and round-trip validation.
 * Fix: Hardened recurring bookings SQL queries, series splitting duration preservation,
   same-second primary key collision protection, and cross-month recurring booking
   dialog lookups.

#### 2.2.5

 * Fix: Resolved date interval calculation when navigating across calendar years,
   preventing disappearance of future reservations (e.g. 2027 bookings).
 * Fix: Ensured notification emails for “Ressource angefragt” are reliably delivered
   to resource owners and added user profile email preference toggle.
 * Performance: Added cache-invalidation headers and timestamp parameters to REST
   API requests to guarantee real-time booking synchronization.
 * Assets: Updated official WordPress.org plugin directory assets and screenshots.

#### 2.2.4

 * Fix: Removed UTF-8 Byte Order Mark (BOM) from translation (.l10n.php and .po)
   files preventing PHP “headers already sent” warnings.

#### 2.2.3

 * Feature: Configurable user selection mode in booking dialog: All users, users
   of own roles (default), or own user only.
 * Security: Safe uninstall routine in uninstall.php – prevents unintended deletion
   of booking tables, resources, and calendars unless explicitly confirmed in settings.
 * Feature: Interactive deactivation dialog in wp-admin/plugins.php prompting users
   whether to preserve or delete database data upon uninstallation.
 * Fix: Fixed Select2 dropdown 0px width collapse inside modal booking dialogs.
 * Fix: Guaranteed default pre-selection of current user in booking dialog.
 * Fix: Prevented duplicate event listener attachments and Select2 re-initialization
   corruption on calendar view switches.

#### 2.2.2

 * Fix: Prevented deletion confirmation dialog from opening automatically on admin
   calendar and resource screens.
 * Fix: Added ID validation across client, REST endpoints, and database queries 
   to safeguard against accidental deletions.
 * Fix: Registered missing script dependencies and corrected CSS z-index/offsets
   for reliable toast notifications.
 * Security: Enforced strict field whitelisting on resource attribute updates and
   improved HTML/email sanitization.

#### 2.2.1

 * Verified full compatibility up to WordPress 7.1.
 * Comprehensive marketing overhaul, refined feature documentation, and updated 
   shortcode reference.
 * Updated asset versions and translation catalogs for version 2.2.1.

#### 2.2.0

 * Complete redesign and modernization of backend admin UI (Resources, Calendars,
   About dashboard).
 * Introduced Quick-Add action toolbars with live real-time filtering for resources
   and calendars.
 * Upgraded extended description editor to a spacious, non-intrusive WordPress modal
   popup with full TinyMCE support.
 * Enhanced custom fields management with dual-mode visual and JSON editors.
 * Added 1-click shortcode copy badges with instant clipboard feedback.
 * Comprehensive legal, privacy, and GDPR/DSGVO compliance documentation in modernized
   About dashboard.
 * Synchronized 100% translation coverage across all 12 supported languages.
 * Updated official author website to seo-hacker.de and contact email to alex@seo-
   hacker.de.

#### 2.0.0

 * Major architecture update: completely transitioned from legacy admin-ajax.php
   to WordPress REST API (`resourcemanager/v1`).
 * Frontend and backend client scripts modernized to use native WordPress `wp.apiFetch`.
 * Eliminated N+1 database queries on calendar views via single prepared resource
   batch-fetching.
 * Optimized user query memory usage and enforced privacy restrictions on user listings.
 * Fully retired legacy AJAX endpoints in favor of robust, secure REST routes.
 * Updated asset versions and translation catalogs for version 2.0.0.

#### 1.3

 * Modernized localization to native WordPress 6.5+ PHP arrays (.l10n.php) supporting
   12 languages.
 * Registered custom post type `resman_view` and added standard `uninstall.php` 
   cleanup routine.
 * Security enhancements: nonces, permission checks, strict SQL preparation, and
   Settings API sanitization callbacks.
 * Critical bugfixes: date calculations, countable resource collision overlap checks,
   admin resource creation.
 * REST API support (`resourcemanager/v1`) alongside AJAX endpoints.
 * Asynchronous cached ICS holiday fetching via WP-Cron.
 * Strictly scoped CSS styles to prevent theme/plugin styling bleed.
 * Codebase-wide PHPDoc/JSDoc documentation and modernization.

#### 1.2.1

 * Performance updates and bugfixes.
 * Updated week view layout and hour calculations.
 * Introduced shortcode attributes: initial_view, day_start, day_end, line_sectors.

#### 1.2

 * Introduced weekday view.
 * Updated database to use auto-increment IDs instead of resource/time as primary
   key.
 * General bugfixes and UI adjustments.

#### 1.1

 * Initial public release.

## Meta

 *  Version **4.0.0**
 *  Last updated **4 kúnler ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/resourcemanager/)
 * Tags
 * [appointment scheduling](https://kaa.wordpress.org/plugins/tags/appointment-scheduling/)
   [booking calendar](https://kaa.wordpress.org/plugins/tags/booking-calendar/)[room booking](https://kaa.wordpress.org/plugins/tags/room-booking/)
 *  [Advanced View](https://kaa.wordpress.org/plugins/resourcemanager/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/resourcemanager/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/resourcemanager/reviews/)

## Contributors

 *   [ Alex H. ](https://profiles.wordpress.org/mystryx/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/resourcemanager/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://www.paypal.com/paypalme/edvhacker/6)