Dienstplan
Self-hosted shift rosters for volunteer teams — members sign themselves up, no SaaS, no monthly fee.
Use with caution
Dienstplan works, but test it on a staging site before relying on it in 2026. It runs on 20+ sites and was last updated 1 month ago, and scores 58/100 on our health check.
- Small user base (20+ active installs)
- Very few reviews so far
- Needs PHP 8.1 or newer
How does it stack up?
Side-by-side on installs, updates, ratings & supportDaily downloads
Download spikes usually follow a new release — each site that auto-updates counts as a download.
Rankings
Where Dienstplan stands todayWordPress.org search rankings
Live position in the plugin search, top 100| Keyword | Position |
|---|---|
| calendar | >100 |
| roster | #18 |
| scheduling | >100 |
| shifts | >100 |
| volunteers | #50 |
Version adoption
Share of active sites per release.
About Dienstplan
From the official readme · v3.7.0Description
Dienstplan turns your WordPress site into a shift and duty roster that runs without a full-time coordinator.
It is built for teams that rely on volunteers — fire departments, emergency medical services, first-responder and crisis-response groups, sports clubs and associations. Members open a calendar page and sign up for open shifts themselves. Coordinators see at a glance which shifts are still open, who already volunteered, and who has not yet contributed this period. Every change is recorded, so “who removed me from Saturday?” always has an answer.
Everything runs on your own WordPress install. Member data, schedules and assignments stay in your database — no SaaS account, no recurring fee for the free version. Optional outbound connections (public-holiday lookup via openholidaysapi.org, product notices from wp-dienstplan.de) are documented under External services; the holiday lookup is disabled by default.
What you can do
- Define shift types (early/late/night, driver/paramedic — whatever your team uses) and build week or month rosters
- Drop the roster onto any page with the
[dienstplan]shortcode - Show public aggregate statistics (completed shifts, hours, active helpers) with
[dienstplan_statistik]— no login required, names never exposed - Let members sign up for shifts and remove themselves again — coordinators see every change live, no email ping-pong
- Plan events like training nights, fundraisers or on-call duties with categories (per-event signup lists come with Basis)
- Show each member their own upcoming shifts in a dashboard widget
- Let members download their shifts as an ICS calendar file
Why WordPress
Most volunteer organisations already run a WordPress site for news and member communication. Adding the roster there means members use the account they already have, your data stays in your own database, and there is no external SaaS to vet for data protection.
Free, Basis and Pro
The version on WordPress.org is Free and stays free forever: one shift schedule, unlimited members, shift types and events — no artificial caps.
Two optional add-ons extend the same plugin in place, with your data carrying over automatically:
- Basis — multiple rosters, recurring events, per-event signups and tasks, shift trading, group and weekday restrictions, automated email notifications, and a community feedback channel. For established teams that need self-service workflows.
- Pro — everything in Basis plus attendance statistics, a tamper-evident audit log and waiting-list promotion on full events. For organisations with reporting or audit obligations.
Pricing and the full comparison are at wp-dienstplan.de.
Languages
Ships with English, German, Spanish, French and Italian. Source strings are English; further languages can be added via standard .po/.mo files in languages/.
External services
Product notices (wp-dienstplan.de)
In the WordPress admin, on Dienstplan’s own screens only, the plugin may request https://www.wp-dienstplan.de/plugin/notices.json to show time-limited product information (for example a promotion). The request is a plain HTTP GET with no query parameters and no cookies from your site; no personal data, member data, license keys or site-identifying payload is transmitted. The response is cached locally (WordPress transient) for up to 12 hours. Notices are dismissible per administrator and never appear on other admin pages. This call is part of the free plugin distributed via WordPress.org.
Public holidays (openholidaysapi.org)
This plugin connects to the public OpenHolidays API (https://openholidaysapi.org) to retrieve official public-holiday dates for the country and (optional) region configured under Dienstplan → Settings → Holidays. The dates are stored in your own WordPress options and shown as background highlights on the calendar so members can see at a glance which days are public holidays. The feature is fully optional — clearing the holiday country in settings disables every outbound call to that API.
It sends a request to https://openholidaysapi.org in three situations:
GET /Countries— once, when the admin opens the holiday-settings page and the country list has not been cached yet. No payload, only an HTTP request.GET /Subdivisions?countryIsoCode=XX— once per country, when the admin selects a country in the settings UI to populate the region dropdown. The configured country code is transmitted as a query parameter.GET /PublicHolidays?countryIsoCode=XX&languageIsoCode=YY&validFrom=YYYY-01-01&validTo=YYYY-12-31[&subdivisionCode=ZZZZ]— once per year via WordPress cron, plus on demand when the admin triggers a manual refresh from the settings page. The configured country code, region code (if any), language code and requested year are sent as query parameters.
In every case, only configuration values entered by the administrator are transmitted (country / region / language / year). No member names, email addresses, shift data or audit-log entries are sent.
This service is provided by STÜBER SYSTEMS GmbH as an Open Data project: terms of use, privacy policy. Project documentation and the data-source overview are available at https://www.openholidaysapi.org.
Privacy
Dienstplan is built so that all member-related data — names, email addresses (from the WordPress user account), shift assignments, signup history, audit-log entries — stays exclusively in your own WordPress database. The free plugin’s only outbound HTTP requests are the calls documented in External services above (product notices from wp-dienstplan.de and, if enabled, OpenHolidays). Neither call transmits member or personal data.
If you use the optional Basis or Pro add-on
The commercial add-on contacts a separate license server at lizenz.wp-dienstplan.de for license activation and a daily license-status check. The data transmitted is limited to the license key, your site URL, and a status flag — no member data, no shift data and no email addresses are sent. License-server activity is logged with industry-standard webserver logs (IP, timestamp, user agent) for fraud prevention; the privacy policy at wp-dienstplan.de documents this in detail. The license server is not active in the free plugin distributed via WordPress.org.
Cookies and trackers
Dienstplan sets no cookies of its own and uses no third-party trackers. The plugin relies on WordPress’s standard authentication cookies for member login and on localStorage for remembering the last selected roster on multi-roster pages.
Installation
From WordPress.org (recommended)
- Go to Plugins → Add New and search for “Dienstplan”.
- Click Install Now, then Activate.
- Open the new Dienstplan entry in the admin sidebar to start configuring.
From a ZIP file
- Download the latest ZIP from this plugin page or your account at wp-dienstplan.de.
- Go to Plugins → Add New → Upload Plugin, upload the ZIP, then Activate.
First steps
- Open Dienstplan → Overview for a guided setup of shift types and event categories.
- Place the
[dienstplan]shortcode on the page where members should see the calendar. - Optionally configure public holidays under Dienstplan → Settings → Holidays.
Frequently asked questions
What does my hosting need?
Standard shared hosting. Required: WordPress 6.3+ and PHP 8.1+. No special server modules and no cron daemon (WordPress’s built-in cron is used). Optional outbound calls are documented under External services.
Where is member data stored?
Exclusively in your own WordPress database, on your own server. The plugin sends no member data to us or any third party. Optional product-notice and public-holiday requests are documented under External services and do not include personal data.
Can I show the roster on a public page?
Yes. Use the [dienstplan] shortcode on any page or post. Optional parameters scope the calendar, e.g. [dienstplan year="2026" shift_type_id="5"] — see the in-admin help for the full reference.
How does shift signup work?
Members log into your site, open the calendar page and click an open shift to sign up. They can remove themselves again, and the change is recorded. Coordinators see the live state on the same page and in the admin overview.
Multiple shift types or rosters?
Free includes one schedule with unlimited shift types and events. Basis and Pro add multiple rosters, group restrictions, recurring events, per-event signups, statistics and an audit log.
Will my data survive a switch between Free, Basis and Pro?
Yes. The add-on uses the same database tables — activating it only unlocks features, it migrates nothing. Deactivating hides premium screens; your data stays in place.
How do I suggest features or report bugs?
The Improve plugin screen in the admin (Basis and Pro) lets you submit ideas, report bugs, vote and see what’s in progress. Without a license, use the WordPress.org support forum for this plugin.
Where can I get support?
For the free version, use the WordPress.org support forum linked from this page. Basis and Pro customers can also email info@wp-dienstplan.de with their license key.
Changelog
Fixes calendar dates showing one day early outside Europe and evening shift sign-ups being rejected. Recommended for every install, required for North American time zones. Update Premium to 1.7.0 at the same time if you use it.
3.7.0 — 2026-09-02
- Fixed: calendar dates were rendered one day early in time zones with a negative UTC offset (all of North and South America) — week view, month view, dashboard widget, “My duties”, and event lists
- Fixed: “today” was derived in UTC, so from the early evening onwards members in western time zones could no longer sign up for the current day
- Fixed: clicking a day number in the month view could open the wrong week
- Week view accepts
dp_date=YYYY-MM-DDas the week anchor; existingdp_wbookmarks keep working - New
Dienstplan\Dateshelper — all date handling now runs in the site time zone
3.6.0 — 2026-07-26
- New public shortcode
[dienstplan_statistik]— aggregate tiles (completed shifts, hours, active helpers; optional fill rate) without login and without names - Backend setting for which statistics tiles are visible by default (
kennzahlenattribute can override per placement) - Transient cache with invalidation when shifts or shift types change
3.5.2 — 2026-07-25
- Remote-controlled, dismissible product notices on Dienstplan admin screens (localized feed from wp-dienstplan.de)
- Documented the notices endpoint under External services / Privacy
3.5.1 — 2026-06-25
Documentation-only update: condensed wp.org readme, plugin header description aligned with the new short tagline, German GlotPress reference docs refreshed. No code changes.
3.5.0 — 2026-06-15
Focus on the shift planner and calendar readability. No breaking changes.
- Shift planner redesigned as a master-detail view: plans in a resizable sidebar on the left, shifts on the right
- Shifts can be reordered by drag & drop; consistent active/inactive toggling across all admin tables
- Shift colours now shown directly in the month view
- Clearer plan comparison with separate ICS tiers and a new “Multiple rosters” row
- Renamed UI term “shift type” to “shift”
- Updated translations (DE/DE-formal/ES/FR/IT)
3.4.0–3.4.2 — June 2026
- wp.org compliance: free is a fully functional single-schedule roster with no trialware patterns; multi-plan, weekday restrictions, event sign-ups/recurrences and audit log moved to the Premium add-on
- Restored the “My shifts” dashboard widget
- Hardened sanitization for shift-type/event saves and holiday settings
- Clarified that openholidaysapi.org is the only optional external service (disabled by default)
Screenshots
For developers
Is this your plugin? Show off the numbers.
Add a live badge to your site, docs or GitHub README. It updates on its own — no account needed.
Best Dienstplan alternatives
All calendar plugins →FAQ
Dienstplan: quick answers
Straight answers, pulled from live WordPress.org data.
Live data from WordPress.org · checked Oct 6, 2026
Is Dienstplan free?
Yes. Dienstplan is free to download and use from the official WordPress.org plugin directory.
Is Dienstplan safe to use in 2026?
Dienstplan works, but test it on a staging site before relying on it in 2026. It runs on 20+ sites and was last updated 1 month ago, and scores 58/100 on our health check.
How many websites use Dienstplan?
Dienstplan is active on 20+ WordPress websites and has been downloaded 612 times since it launched in June 2026. It was downloaded 122 times in the last 30 days.
Does Dienstplan work with WordPress 7.1?
Dienstplan is officially tested up to WordPress 7.0.7, while the latest release is 7.1.3. It may still work, but try it on a staging site first.
What PHP version does Dienstplan need?
Dienstplan requires PHP 8.1 or higher. Most hosts run PHP 8.x today, so it works on any modern WordPress hosting.
When was Dienstplan last updated?
The latest version, 3.7.0, was released on September 2, 2026 (1 month ago).
Who makes Dienstplan?
Dienstplan is developed and maintained by Nusselt Management GmbH / Alexander Nusselt.
What are the best alternatives to Dienstplan?
The most popular alternatives to Dienstplan are The Events Calendar (600K+ installs), Events Manager (60K+ installs) and Timetable and Event Schedul… (30K+ installs).
Powered by PageForge
Want thousands of pages that rank like these? Build them in an afternoon.
This directory runs on the same engine as PageForge. Turn any spreadsheet, CSV or API into thousands of fast, SEO-ready WordPress pages — with schema, internal links and AI-written copy baked in.
- CSV, Google Sheets & API data sources
- AI content, schema & internal links per page
- Works with Elementor, Gutenberg, Yoast & Rank Math
- Free on WordPress.org — no credit card